PCIe
Liuqz2009
不念过去不畏将来,全心活在当下!
寒窗二十载,人生再出发!
展开
-
PCIe扫盲(六)
因此,发送端只能先尝试发送,期间可能会被插入多个等待周期(接收设备尚未就绪等原因),甚至是重发(具体可以参考 PCIe 的 Spec ,这里不再详细介绍,下面给出。这样的机制,因此发送端并不知道当前时刻,接收端能否接收对应的。是可选的,只有当被配置为使能的时候才会被初始化。在进行初始化的时候,接收端需要向发送端报告(初始化之后,相邻的两个设备之间会周期性的通过。只在相邻的数据链路层之间传输,但是相关的。初始化开始时,其会被自动的初始化。的周期表格(根据公式计算的结果)。中的系数,但实际上他们的值是一样的。原创 2024-09-18 17:16:45 · 499 阅读 · 0 评论 -
PCIe扫盲(五)
中采用边带信号,这些边带信号的主要功能是中断,错误报告和电源管理等。的限制),但是返回的总的数据量应当与请求的数据量保持一致,否则可能会出现。中没有任何一位是有效的,也是允许的,但是这样的请求对于。时,应注意先发送的时低地址的数据,后发送高地址数据。的大小并不是有效的数据的大小,有效数据的大小是由。可以响应该请求,但是却发生了其他的错误,该错误是。,只是其中的数据都是无效的。,但是并不是所有的空间都被利用上了,例如有的。),但是早期的 PCI 并不支持这一功能,时,都会被认为是非法的,并被认为是。原创 2024-09-18 16:17:03 · 606 阅读 · 0 评论 -
PCI Express 体系结构导读摘录(一)
(1) PCI 总线空间与处理器空间隔离(2) 可扩展性(3) 动态配置机制(4) 总线带宽(5) 共享总线机制(6) 中断机制PCI 总线是一条共享总线, 在一条 PCI 总线上可以挂接多个 PCI 设备。这些 PCI 设备通 过一系列信号与 PCI 总线相连, 这些信号由地址/ 数据信号、 控制信号、 仲裁信号、 中断信 号等多种信号组成。本章主要介绍了 PCI 总线的基本组成部件, PCI 设备如何提交中断请求, 以及 PCI⁃X 总 线对 PCI 总线的功能增强。原创 2024-09-04 14:55:18 · 986 阅读 · 0 评论 -
PCI Express 体系结构导读摘录(二)
PCIe总线由若干层次组成, 包括事务层、 数据链路层和物理层。PCIe总线使用数据报文进行数据传递, 这些数据报文需要通过 PCIe 总线的这些层次。PCIe 总线的这种数据传递方式与互联网使用 TCP / IP 协议进行数据传递有类似之处。与 PCI 总线不同,PCIe总线使用端到端的连接方式, 在一条 PCIe 链路的两端只能各连接一个设备, 这两个设备互为数据发送端和数据接收端。PCIe 总线除了总线链路外, 还具有多个层次, 发送端发送数据时将通过这些层次, 而接收端接收数据时也使用这些层次。原创 2024-09-05 16:11:55 · 1312 阅读 · 0 评论 -
PCI Express 体系结构导读摘录(三)
有时一个 PCIe 设备发出的 TLP, 其目的地址并 不相同, 可能先进入发送队列的 TLP, 在某种情况下无法发送, 但这并不影响后续 TLP 的发 送, 因为这两个 TLP 的目的地址并不相同, 发送条件也并不相同。当使用标准的强序模型时, 在数据的整个传送路径中, PCIe 设备在处理相同类型的 TLP 时, 如 PCIe 设备发送两个存储器写 TLP 时, 后面的存储器写 TLP 必须等待前一个存 储器写 TLP 完成后才能被处理, 即便当前报文在传送过程中被阻塞, 后一个报文也必须 等待。原创 2024-09-06 09:22:06 · 1095 阅读 · 0 评论 -
PCI Express 体系结构导读摘录(四)
如图 4-4 所示, 物理层在数据链路层和PCIe链路之间, 其主要作用有两个, 一是发送数据链路层的TLP和DLLP;二是发送和接收在物理层产生的报文PLP三是从PCIe链路接收数据报文并传送到数据链路层。物理层主要由物理层逻辑模块和物理层电气模块组成, 本节主要介绍物理层的逻辑模 块, 包括 8 / 10b 编码、 链路训练等一些最基础的内容, 并通过介绍差分信号的工作原理, 简 要介绍物理层的电气模块。原创 2024-09-09 15:02:57 · 1051 阅读 · 0 评论 -
PCI Express 体系结构导读摘录(五)
PCIe总线进行链路训练的主要目的是初始化PCIe链路的物理层、 端口配置信息、 相应的链路状态, 并了解链路对端的拓扑结构, 以便PCIe链路两端的设备进行数据通信。一条PCIe总线提供的链路带宽可以是 × 1、 × 2、 × 4、 × 8、 × 12 或者× 16, 但是在这个 PCIe 链路上所挂接的PCIe设备并不会完全使用这些链路。如一个 × 4 的PCIe设备可能会连接到 × 16 的PCIe链路上。此时该PCIe设备在进行链路训练时, 必须通知对端链路该设备实际使用的链路状态。此外PCIe。原创 2024-09-09 18:09:25 · 795 阅读 · 0 评论 -
PCI Express 体系结构导读摘录(六)
此外在 PCIe 总线中, 报文的大小并不固定, 如数据报文的大小可以为 128B、 256B, 只要数据报文的有效负载小于。流量控制的主要作用是在发送端和接收端进行数据传递时, 合理地使用物理链路, 避免因为接收端缓冲区容量不足而丢弃来自发送端的数据, 从而要求发送端重新发送已经发送过的报文, 并最终有效地利用网络带宽。流量控制的目标是在充分利用网络带宽的前提下, 尽量减少数据报文因为接收端缓存容量不足而被丢弃的情况, 因为此时数据发送端将会择时重新传送这些丢弃的报文, 从而降低了数据通路的利用率。原创 2024-09-13 18:12:48 · 1070 阅读 · 0 评论 -
PCIe扫盲(一)
的传输速率指的是实际的有效传输速率,为 RAW Data 速率的 80% ,因为 PCI-E(Gen1&Gen2,Gen3 中使用了新的方式,即 128b/130b)中使用了 8b/10b 编解码技术。此外,我们在示波器等测量设备中常见到的 CPCI 和 PXI 实际上是 PCI 在仪器仪表接口领域的延伸,PXI 和 PCI-X 是两种不同的总线,PCI-X 主要用于服务器系统中,在 PC 中很少使用。总线有一定的了解,所以下面的连载博文将先从 PCI 和 PCI-X 总线介绍开始。总线,即 3GIO。原创 2024-09-14 09:59:03 · 707 阅读 · 0 评论 -
PCIe扫盲(三)
需要特别注意的是,PCIe的Spec中明确规定只有Root有权限发起配置请求(Originate Configuration Requests),也就是说PCIe系统里面的其他设备是不允许去配置其他设备的配置空间的,即peer-to-peer的配置请求是不允许的。当配置请求进行BDF路由的时候,正是依靠这些信息来确定要找的设备的。前面的文章还介绍过,Root和Switch的每一个端口中都包含一个P2P桥,并且知道桥的配置空间头(Configuration Space Header)是Type1型的。原创 2024-09-15 12:57:03 · 768 阅读 · 0 评论 -
PCIe扫盲(四)
(数据链路层包,只在相邻的设备的数据链路层之间进行传递,不会被转发到其他设备中)和。格式,这里暂时不详细介绍了,有兴趣的可以自行阅读 PCIe Spec 的相关内容。(命令集包,只在相邻的设备的物理层之间进行传递,不会被转发到其他的设备中)、路由的基础知识,具体的路由方式将会在接下来的三篇文章中依次进行介绍。(事务层包,可以根据包中的路由信息被转发到其他的设备中)。新增的内容,有兴趣的可以自行阅读 V2.1 的相关内容。是给自己的还是给自己下属的其他设备的。指的是包的最初来源分别是事务层和数据链路层,即。原创 2024-09-18 14:27:58 · 570 阅读 · 0 评论