基于FPGA的PCIE设计(3)

本文深入解析PCIE协议的基础知识,涵盖PCIE结构、拓扑、数据吞吐量计算及地址空间分配等内容,揭示PCIE与PCI的区别,适合硬件开发者及计算机架构爱好者阅读。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考文献

[1]、移知网(接下来几篇博客是博主学习该课程的笔记加上了自己的一点见解,对于复杂性的知识,一定要养成记笔记的习惯,否则学完之后和没学一个样)

PCIE常用软件

[1]、System Information Viewer
[2]、MindShare Arbor
[3]、Read & Write Utility

项目简述

前面已经有两篇博客介绍了PCIE,相信大家应该都看不懂,前面的博客主要讲解了PCIE在FPGA中的实现,那么我们就接着学习这个协议。在接下来的几篇博客,我将尽可能的讲解一些我学会的PCIE的知识,但是要想真正学会还是得看Base Specification。这里再次说明,如果只是为了使用PCIE那么完全没有必要对PCIE的协议了解太深,因为在FPGA里面有相应的IP。这里说明一下XDMA的缺点,因为XDMA使用起来非常方便,但是本身的缺点是占用的逻辑资源量巨大。

PCIE概述

PCIE协议的全称是PCI Express。
全双工点对对的串行通信协议。

PCIE的术语有Link、Lane。
Link其实就是指传输端和接收端之间的通路
Lane是值一对tx、rx。其中一条Link可以包括多个Lane
在这里插入图片描述
常见的Link包括x1,x2,x4,x8,x16条Lane,常见的速率如下:2.5,5,8,16,32GT/s,分别是PCIE1.0、2.0、3.0、4.0、5.0的速率,PCIE6.0也正在研发过程中。
在这里插入图片描述

PCIE协议主要包括四个部分:

1、Root Complex
是PCIE系统的顶层,主要负责连接CPU和Memory到外面的PCIE设备
2、Switch
提供一个扇出和聚合的能力,允许多个设备经过Switch连接到一个PCIE接口。
3、Bridge
桥提供一个接口到其他总线,如PCI或PCI-X端点,也就是说经过该端口PCIE的拓扑结构上面可以连接PCI设备。
4、Endpoint
PCle拓扑中的设备,它不是Switch或Bridge,而是充当总线上事务的启动器和完成器。
在这里插入图片描述

下面将以主板上面的PCIE拓扑结构来介绍PCIE结构中上面的四个部件。

PCIE结构的Root Complex在主板中的位置:
在这里插入图片描述
PCIE结构中的Switch在主板上的体现为:
在这里插入图片描述
PCIE结构中的Bridge在主板上的体现为:
在这里插入图片描述
主板上面的Endpoint部位如下:
在这里插入图片描述
经过上面的介绍可以发现,主板上绝大多数的硬件都是经过PCIE的拓扑结构连接到CPU上面的,如显卡、硬盘、网卡等等。

这里值得说明,PCIE的兼容性很强,举例说明如下:
1、X8卡槽可以连接X1,X2,X4,X8,X16的PCIE设备。
2、PCIE2.0的设备可以连接PCIE1.0、2.0、3.0、4.0的设备。
只不过上面的速度全部是向下兼容。

注意主板上面还有PCIE的分叉结构,如下:
在这里插入图片描述
该结构可以连接一个连接一个PCIE X16的设备,也可以连接两个PCIE X8的设备,或者连接一个PCIE X8两个PCIE X4的设备。具体的配置如下:
在这里插入图片描述

PCIE设备为了避免布线的交叉,引入了Lane Reversal功能

也就是说Device A的0线接Device B的最高编码的线(这里注意,这里的一条线就是一对Lane),如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值