PCIe学习笔记
文章平均质量分 81
用到PCIe,逼自己写一写,当个学习记录。主要以PCIe5.0 spec为基础,掺杂个人理解,如果有幸被业内人士过目,欢迎指正
IC纯小白
这个作者很懒,什么都没留下…
展开
-
PCIe学习笔记(7)
zero-length”的引入是为了实现“读刷新”操作,该操作的主要目的是为了保证之前的存储器写请求报文,到达最终的目的地,与“zero-length”对应的读完成包文中不含有任何数据负载 ,从而提高了PCIe链路的利用率。这些检查是独立可选的。•所有长度为2dw (1qw)的非QW对齐内存请求和长度为3dw或以上的内存请求必须只启用与请求的第一个DW和最后一个DW之间的数据连续的字节。•对于所有长度为1dw的请求,允许在First DW BE字段中启用非连续字节(已启用的字节由未启用的字节分隔)。原创 2024-07-23 20:17:23 · 982 阅读 · 0 评论 -
PCIe学习记录
首先,GT/s用于指一秒钟内在Lane方向上传输的编码比特数。下图为各版本PCIe数据速率、调制方式、编码方式、有效传输速率的对比。Lane:一条链路必须至少支持一个Lane,每个Lane代表一组差分信号对一对用于发送,一对用于接收。为了扩展带宽,一条链路可以聚合用xN表示的多个lane,其中N可以是任何支持的链路宽度。以2.5 GT/s数据速率运行的x8链路在每个方向上的原始带宽总计为20gb /s。(通常x1x2x4x8x16 Lane。原创 2024-07-15 21:05:32 · 574 阅读 · 0 评论 -
PCIe学习笔记(5)
由于PCIe采用端到端的传输方式,每一个链路仅挂载一个设备,Device数量为1,Device Number恒为0,采用5-bit宽的Device Number没有意义;基于以上原因,PCIe Gen3提供了一种ARI机制,取消了Device Number字段,合并到Function Number字段中,这样Routing ID便变成了8-bit Bus Number + 8-bit Function Number的格式,最多支持的Bus数量不变,支持的Function数量增大到256个。原创 2024-07-19 21:17:37 · 780 阅读 · 0 评论 -
PCIe学习笔记(2)
今天很忙,但既然开始了,或多或少得写点。该图为PCIe层次结构示意图。事务层的主要职责是tlp的组装和拆卸。tlp用于通信事务,例如读写,以及某些类型的事件。事务层还负责管理tlp的基于信用的流量控制。每个需要响应包的请求包都被实现为拆分事务。每个数据包都有一个唯一的标识符,使响应数据包能够定向到正确的发起者。数据包格式根据事务的类型内存、I/O、配置和消息)支持不同形式的寻址(地址路由、IO路由以及隐式路由。原创 2024-07-16 21:59:00 · 906 阅读 · 0 评论 -
PCIe学习笔记(3)
事务由请求和完成组成,它们使用数据包进行通信。下图显示了TLP的高级序列化视图,包括一个或多个可选的TLP前缀、一个TLP报头、一个数据负载(对于某些类型的数据包)和一个可选的TLP摘要。TLP的详细视图如下图所示。TLP前缀、TLP报头和TLP摘要的详细布局在该版本协议是用左边较低的数字字节绘制的,而不是像传统上在其他PCI规范中描述的那样在右边。报头布局针对串行互连的性能进行了优化,这是由首先传输时间最关键的信息的要求驱动的。原创 2024-07-17 21:35:28 · 301 阅读 · 0 评论 -
PCIe学习笔记(6)
◦大端序示例:对于一个64位(8字节)的Swap Request,目标位置为100h,目标内存为大端序格式,头后的第一个字节写入位置107h,第二个字节写入位置106h,以此类推,最后一个字节写入位置100h。◦小端序示例:对于一个64位(8字节)的交换请求,目标位置100h,目标内存为小端序格式,头后的第一个字节写入位置100h,第二个字节写入位置101h,依此类推,最后一个字节写入位置107h。不能超过由接收设备控制寄存器的Max_Payload_Size字段中的值指定的长度。,该字段作为DW的整数。原创 2024-07-22 20:34:36 · 495 阅读 · 0 评论 -
PCIe学习笔记(4)
•TLP提示(TH) - 1b 表示在TLP报头中存在TLP处理提示(TPH)和可选的TPH TLP前缀(如果存在)-位于第1字节的第0位。◦一个TLP的TD位值与观察到的大小不对应(考虑数据负载,如果存在)是一个畸形的TLP。除了允许的Fmt[2:0]和Type[4:0]字段值,所有其他编码是保留的。•Type[4:0] - TLP类型-字节0的比特数[4:0]•Fmt[2:0] - TLP格式-字节0的比特数[7:5]-字节2的[1:0]位与字节3的[7:0]位连接。原创 2024-07-18 20:22:37 · 656 阅读 · 0 评论