PCI/PCIe的学习笔记



1.Memory –refetchable and non-refetchtable

(1)读无副作用

(2)多笔写事务可以合并为一笔

 

2.Using Read Commands

不同的读命令对系统性能有不同影响(I/O Read、memory read、configuration read、memory read multiple、memory read line)

 

cacheline size register

 

3.pci brust操作,需要CPU参与,与单独的一次读写操作相比,burst只需提供一个地址,以后的地址依次加1. 地址是跳跃的,无法使用burst操作。

 

4.FRAME#-指示一个PCI总线事务的开始和结束,低有效。

IRAY#-有效表示PCI主设备的数据已准备完毕

TRAY#-有效表示PCI目标设备的数据已准备完毕

 

5.PCI定义三个物理地址空间:memory space 、I/O space、configuration space

pci设备运行之前,都须先配置configuration address space。

 

6.HOST处理器对PCI设备数据访问的两个方式:处理器向PCI设备发起存储器和I/O读写请求;处理器对PCI设备进行配置读写。

 

7.处理器对PCI设备进行存储器写使用post方式,而处理器对PCI设备进行存储器读和I/O读写使用non-post方式。为什么不能使用post方式?

 

8.DMA-PCI设备与存储器直接进行数据交换。两者的地址空间得通过HOST桥进行转换才能访问彼此。MIPS架构使用什么方式进行转换?

 

9.PCI配置读写总线事务,使用ID号寻址:总线号(Bus Number)、设备号(Device Number)、功能号(Function Number)。

 

10.BAR(Base Address Register)- 保存PCI设备使用的地址空间的基地址。

 

11.PCI总线定义两类配置请求

HOST主桥或者PCI桥使用Type 00h配置请求,访问与其直接相连的PCI Agent设备或PCI桥                                

HOST主桥或者PCI桥使用Type 01h配置请求,访问不与其直接连的PCI Agent设备或PCI桥

 

 

12.DFS 深度优先算法

       BUS初始化,使用DFS算法遍历PCI树,初始化PCI桥配置空间中的Primary Bus Number、Secondary Bus Number、Subordinate Bus Number。

 

13.PCI总线的AD[31:11]信号线只可以表示一条PCI总线只能挂载21个设备。

PCI协议推荐使用AD[31:17]与Device Number的对应关系,即AD17对应设备1-AD31对应设备15.

 

14.常用的处理器系统,实现存储器地址与PCI总线地址的映射常用“简单相等”方法。

 

15.PCI配置使用IO译码方式,PCI设备的数据传输使用地址译码寻址方式。

正向译码:总线上每个设备都监视地址总线上的访问地址,判断是否落在自己的地址范围内。

反向译码:指要接受未被其他设备在正向译码中接受的所有访问。   

 

16.PCI cache一致性操作的问题?MESI协议

 

 

17.PCIe链路使用串行方式传输数据。因此PCIe链路接口须串并转换。

 

18.PCIe数据报文使用数据包形式传输,需要经过多个层次,包括事务层、数据链路层、物理层。

事务层定义PCIe总线使用总线事务;封装TLP包

数据链路层,报文被添加Sequence Number前缀和CRC后缀。TLP和DLLP?

物理层,为PCIe设备间通信提供传送介质。

 

19.PCIe总线规定两大类复位方式-传统的复位方式、FLR方式。

传统的复位方式-cold、warn、hot。

 

20.PCIe设备扩展0x40-0xFF配置空间,存放一些与MSI或者MSI-X中断机制和电源管理的相关Capability结构。

还支持0x100-0xFFF配置结构,PCIe独有。

PCIe Capability结构 存放和PCIe总线相关的信息,包括PCIe链路和插槽的信息。

PCIe                                                   4Extended Capability结构,PCIe独有结构,形成单向链路表,第一个基地址为0x100.

 

21.TLP由TLP Prefix、TLP头、Data Payload和TLP Digest组成。TLP头包含当前TLP的总线事务类型、路由信息等一系列信息。Data Payload长度0-1024DW。

通用TLP头由Fmt、Type、TC、Length等字段组成。

Fmt和Type确认当前TLP使用的总线事务。

Length表示Data Payload的长度。

 

22.TLP的路由:基于地址的路由、基于ID的路由、隐式路由。

 

23.原子操作:EP-to-EP、EP-to-RC、RC-to-EP

 

24.PCIe必须支持MSI或者MSI-X中断请求机制,而可以不支持INTx中断消息。MSI机制使用存储器写请求TLP向处理器提交中断请求。

MSI-X机制,中断请求可以使用独立的Message Address和Message Data

。MSI-X table和Pending table存于BAR空间。

 

25.初始化PCIe设备的MSI Capability空间:首先设置Message Address和Message Data字段,然后将MSI Enable字段置位,使能PCIe设备的MSI机制。

 

26.事务层的TLP发送至数据链路层,数据链路层将TLP加上Sequence前缀和LCRC后缀后,首先将这个TLP放入到Replay Buffer中,然后发送至物理层。

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值