PCIE基础知识一

PCIE基础知识一:近期需要调试安路PCIE部分,需要对PCIE进行相关知识学习

PCIE速度

在这里插入图片描述

PCIE与PCI之间的区别

速度上

(1)PCI的工作频率分为33MHz和66MHz,最大吞吐率266MB/s;
(2)PCIE 1.0 x1 的吞吐率就达到250MB/s

传输方式上

(1)PCI是并行数据传输,一次传输4字节/8字节,半双工;
(2)PCIE是串行数据传输,全双工;

硬件上

(1)传输PCI信号的是普通电平;
(2)传输PCIE信号的是差分电平;

链路上

(1)PCI是总线的连接方式;
(2)PCIE是点对点的连接方式;

PCIE点对点拓扑

CPU+RC一般集中在芯片中(FPGA),可以对外提供PCIE接口,该接口可以连接EP设备、PCI桥、Switch设备;
在这里插入图片描述
(1)PCIE RC(Root Complex)
RC为主模式,可以将一个PCIE接口扩展为多个PCIE接口,可以连接内存等;
(2)PCIE EP(Endpoint)
EP为从模式,也就是终端部分,没有转发数据的功能;

PCIE的物理连接方式

在这里插入图片描述

PCIE的物理连接方式

PCI设备拥有256B的配置空间,PCIe还提供另外4KB的扩展,这256B的配置空间中前64B是规范了的,其他的字节是各个厂商自己定义的。

lspci -s 01:00.0 -vxx
在这里插入图片描述
字节序是小端格式:
[ 0 - 1 ] 表示的是厂家 ID,上图的是 0x10de
[ 2 - 3 ] 表示的是设备 ID,上图的是 0x0659
[ 9 - 11 ] 表示的是设备类型代码,上图的是 0x030000
[14]表示的是设备类型,00表示普通端点设备;01表示Bridge设备;02表示CardBus bridges。

PCIE基地址/BAR

BAR0: 0XF6000000
BAR1: 0XC000000C

BAR5:0X0000E001
PCIE共有6个BAR空间,每个BAR记录了该设备映射的一段地址空间,为了区分IO空间和IO内存,分开描述如下:
当BAR的最后一位为0,如下图,表示这是映射的IO内存,1-2位表示内存的类型,00=任意32位地址,01=少于1M,10=任意64位地址,11保留。bit1为1表示区间大小超过1M,为0表示不超过1M。bit3表示是否支持可预取。
如上例子中,BAR0是 映射的IO内存,32位地址,不超过1M,不支持预取。
BAR1(最后几位0110)也是映射的IO内存,64位地址,区间大小超过1M,不支持预取。
在这里插入图片描述
当BAR的最后一位为1,如下图,表示这是映射的IO地址空间。上边例子中的BAR5(最后一位是1)是映射的是IO地址空间,基地址是0x0000e
(1)中断
由配置空间的IRQ Pin决定是否支持中断,1表示支持,0表示不支持,加入支持,IRQ Line是中断号。上边的例子中支持中断号,中断号是0x0b
(2)访问PCI
PCI设备包含3个寻址空间:配置空间、I/O端口和设备内存。
驱动中操作PCI的配置区(上边讨论的64B的空间)
pci_read_config_[byte|word|dword](struct pci_dev *pdev, int offset, int *value);
pci_write_config_[byte|word|dword](struct pci_dev *pdev, int offset, int value);
offset, 想访问的配置空间中字节位置
value, 对read函数来说,用于存放读回来的数据
对write函数来说,是要写进去的值(这个int…)
(3)驱动中操作I/O和内存
I/O区域包含寄存器,内存区域存放数据。
驱动中操作PCI的I/O和内存
unsigned long pci_resource = pci_resource_[start|len|end|flags] (struct pci_dev *pdev, int bar);
start, 区域的基地址
bar, 取值 0 - 5

PCIE的配置空间

PCI的配置空间是256字节,即 0x00~0xFF,而PCIe的配置空间是4k字节,即 0x00~0xFFF。
PCIe一共支持256条bus,32个dev,8个fun。同PCI是一样的。共需要内存大小= 4k * 256 328 = 256K Bytes = 256M,这个256M的内存空间是为PCIe设备准备的空间系统不可用。
PCIe设备发展向前兼容PCI,每个设备的配置空间的前256个Byte是PCI空间,后(4k-256)个Byte的空间是PCIe扩展空间。
Root和Switch的每一个端口中都包含一个P2P桥,桥的配置空间是Type1型。
在这里插入图片描述

  • 3
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值