随笔分类 - PCIE
摘要:1.PCIe子系统 RK3588 PCIe子系统如下图所示。总共拥有5个PCIe控制器。PCIe30X4(4L)支持RC和EP模式,其他4个仅支持RC模式。 ITS port 1连接PCIe30X4(4L)和PCIe30X2(2L)控制器,PCIe30X4(4L)和PCIe30X2(2L)控制器使用
阅读全文
摘要:✨ 1. 为何要用ACS ? 🌟1.1 P2P传输风险 ATS(Address Translation Services)是一种基于信任的服务协议。如果EP端ATC(Address Translation Cache)声称其发出的访问请求是经过转换后的地址,且该地址刚好落在PCIe交换开关的BAR
阅读全文
摘要:PCIe中的Message主要是为了替代PCI中采用边带信号,这些边带信号的主要功能是中断,错误报告和电源管理等。所有的Message请求采用的都是4DW的TLP Header,但是并不是所有的空间都被利用上了,例如有的Message就没有使用Byte8到Byte15的空间。 Message请求的T
阅读全文
摘要:Completions Completions的TLP Header的格式如下图所示: 这里来解释一下Completion Status Codes 000b (SC) Successful Completion:表示请求(Request)被正确的处理; 001b (UR) Unsupported
阅读全文
摘要:下面用几个具体的例子来讲解TLP Header的格式与作用。因为内容较多,所以分为多篇文章分别进行介绍。第一篇(即本文)介绍IO Request、Memory Request和Configuration Request。第二篇文章(即TLP Header详解三)介绍Completion ,第三篇文章
阅读全文
摘要:事务层包(TLP)的一般格式如下图所示: 前面的文章介绍过,TLP Header为3DW或者4DW,Data Payload为1-1024DW,最后的TLP Digest(ECRC)是可选的,为1DW。 TLP Header在整个TLP的位置如下图所示,需要注意的是,TLP Header的格式和内容
阅读全文
摘要:PCIe(Peripheral Component Interconnect Express)信号完整性测试是确保高速串行链路可靠性的关键环节,主要涵盖以下测试内容: 1. 物理层测试 发送端(Tx)测试: 眼图测试:通过示波器观察信号的眼高(Eye Height)和眼宽(Eye Width),验证
阅读全文
摘要:AER AER(Advanced Error Reporting)是一种用于检测和报告PCIe设备中发生的错误的机制,它允许PCIe设备检测到并报告各种类型的错误。错误类型包含Correctable Errors 和Uncorrectable errors两种,其中Uncorrectable err
阅读全文
摘要:1.概述 配置空间是PCIe设备/桥的标识符,其保存了设备/桥的信息。主机在枚举设备/桥的时候需要先访问配置空间,获取设备厂家、型号、类型、所需资源等信息,然后再分配资源,最后才能访问PCIe设备的存储或IO地址空间。PCIe总线规定了三种类型的配置空间,分别是PCIe Agent设备使用的配置空间
阅读全文
摘要:在 PCI Express (PCIe) 中,Base Address Registers (BARs) 用于定义设备使用的内存或 I/O 地址空间。BAR 可以配置为 预取(Prefetchable) 或 非预取(Non-Prefetchable),这两种类型的主要区别在于对内存访问的优化方式和访
阅读全文
摘要:在 PCI Express (PCIe) 中,Type 0 配置空间头部用于描述单一功能设备(Single-Function Device)。每个 Function 代表一个独立的功能单元,通常对应一个 PCIe 设备中的一个逻辑设备。以下是 Type 0 设备中每个 Function 的详细说明:
阅读全文
摘要:在 PCIe(Peripheral Component Interconnect Express)架构中,Type 0 和 Type 1 是两种不同的配置空间头类型(Configuration Space Header Types),用于描述 PCIe 设备的功能和拓扑结构。它们的主要区别在于设备在
阅读全文
摘要:1.概述 PCIe总线的最大特点是像CPU访问DDR一样,可以直接使用地址访问PCIe设备(桥),但不同的是DDR和CPU同属于存储器域,而CPU和PCIe设备属于两个不同的域,PCIe设备(桥)的地址空间属于PCIe总线域。存储器域访问PCIe总线域或者PCIe总线域访问存储器域,需要经过一系列的
阅读全文
摘要:1.概述 早期的计算机使用PCI(Peripheral Component Interconnect)总线与外围设备相连,PCI总线使用单端并行信号进行数据传输,由于单端信号很容易被外部系统干扰,其总线频率很难进一步提高。目前,为了提高总线频率以获得更高的总线带宽,高速串行总线逐步替代了并行总线,P
阅读全文
摘要:PCIe TLP(事务层数据包)路由主要分为以下几类及其作用: 1. 基于地址的路由 (Address-Based Routing) 作用:用于Memory Read/Write和I/O Read/Write等事务,TLP头中包含目标地址,交换机根据该地址将TLP转发到正确的设备。 2. 基于ID的
阅读全文
摘要:模糊路由(Implicit Routing,又译为隐式路由)只能用于Message的路由。前面的文章中多次提到过,PCIe总线相对于PCI总线的一大改进便是消除了大量的边带信号,这正是通过Message的机制来实现的。 PCIe定义的Message主要有以下几种类型: Power Managemen
阅读全文
摘要:地址路由(Address Routing)的地址包括IO和Memory。对于Memory请求来说,32bit的地址使用3DW的Header,64bit的地址使用4DW的Header。而IO请求则只能使用32bit的地址,即只能使用3DW的Header。 注:再次强调,IO请求是为了兼容早期的PCI设
阅读全文
摘要:ID 路由(ID Routing)有的时候也被称为BDF路由,即采用Bus Number、Device Number和Function Number来确定目标设备的位置。这是一种兼容PCI和PCI-X总线协议的路由方式,主要用于配置请求(Configuration Request)的路由,在PCIe
阅读全文
摘要:首先来分析一个例子,如下图所示: 当包(Packet)到达Switch的输入端口(Ingress Port)时,端口首先会检查包是否有错误,然后根据包的路由(Routing)信息,来做出以下三种处理方式之一: 1、 接受这个包,并自己(Switch)使用它(Internal Use); 2、 将其通
阅读全文
摘要:上一篇文章介绍了Type0型配置空间Header中的BAR的作用和用法,但是PCIe中的桥设备(Switch和Root中的P2P)又是如何判断某一请求(Request)是否属于自己或者自己的分支下的设备的呢?(定义范围) 这实际上是通过Type1型配置空间Header中的Base和Limit寄存器来
阅读全文


浙公网安备 33010602011771号