【PCIE常晤口试标题-1】

[复制链接]
发表于 2025-12-23 05:57:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
1 PCIE概述

1.1 PCI为何发睁开PCIE?

PCI进步带宽的方法有两种,一是增长位宽, 二是进步速率。可增长位宽进步资本,增大占板面积,进步速率影响信号完备性,而且负载本领受限,比方33MHz的可以驱动10个负载,66MHz最多只能驱动4个负载。信号质量也存在标题;
再详细来说:
1.带宽需求:
PCI基于并行布局,增长位宽一是进步资本,二是带来信号完备性和扩展性的标题;
PCIe采取串行总线架构,每个lane的带宽为2.5Gbps,而且可以多lane并行利用;
2.信号完备性和可靠性
并行总线的信号完备性标题:传统的PCI总线是并行总线,多个信号线同时传输数据,轻易受到噪声干扰和信号反射的影响,导致信号完备性标题。
串行总线的上风:PCIe采取串行总线架构,每个lane独立传输数据,淘汰了信号干扰和反射标题,进步了信号完备性和可靠性。
3.扩展性和机动性
固定拓扑布局:传统的PCI总线采取固定的共享总线拓扑布局,全部装备共享同一总线,轻易产生瓶颈。
点对点毗连:PCIe采取点对点毗连方式,每个装备都有专用的lane,可以独立通讯,克制了共享总线的竞争标题,进步了扩展性和机动性。
4.低延伸和高服从
共享总线的延伸标题:在传统的PCI总线上,多个装备共享同一总线,导致数据传输时须要期待总线空闲,增长了延伸。
专用通道的低延伸:PCIe的每个lane都是专用的,数据传输不须要期待,低沉了延伸,进步了服从。
利用高速差分代替并行总线是局面所趋
1.2 什么是Root Complex(RC)

RC的寄义就是一个实现CPU与PCIE上组件通讯的媒介,CPU要读取某个组件信息,告知RC,别的的均有RC代庖了。可以简单明白RC为PCIE总线的主控制器;
RC支持的重要功能:
1、设置空间管理:RC管理 PCIe 总线上全部装备的设置空间。每个 PCIe 装备都有一些设置寄存器,这些寄存器存储装备的特定信息,如装备ID、厂商ID。
2、地点映射:RC负责分配 PCIe 总线上各个装备的地点。这包罗内存映射和I/O映射,以确保差别装备之间的数据传输可以或许准确举行。
3、克制管理:PCIe装备大概会天生克制信号,RC负责管理这些克制,确保它们准确地转达到相应的处理处罚器核心。
4、通讯与数据传输:RC与其他 PCIe 装备之间通过 PCIe 链路举行通讯。PCIe 链路分为一到多个通道,每个通道包罗一个上行和一个下行通道,用于双向数据传输。
1.3 什么是EP?

Endpoint是PCIe总线上的终端装备,负责提供各种服务和数据传输功能。它要实现对RC的哀求举行相应,并吸收RC的设置。
1.4 什么是Swith

Switch组件,作用好比路由器,是扩展PCIE总线的的,可以或许答应更多的Endpoints装备链接到体系。它的内部可以视为多个假造的PCI到PCI的桥,实现扩展功能。该组件会根据变乱范例将数据送到差别的通道。该组件对数据包没有处理处罚的功能只有转发功能。
Switch具有多个端口,每个端口毗连到PCIe总线的一个通道,大概毗连到另一个Switch的端口。通道是数据传输的通路,每个通道包罗一个上行通道和多个下行通道,用于双向数据传输。上行通道与Root Complex或上层的Switch毗连,以吸收和发送数据。 S下行通道与多个Endpoint装备毗连,为这些装备提供PCIe总线访问。
1.5 PCIE协议怎样构造通讯的?

PCIE概括来说就是两种传输机制、三层逻辑布局、四种变乱范例;
1、协议相干代码采取分层的方式举行构造的,分为变乱层、链路层和物理层,以此实现用户数据的交互;
2、数据范例被分为内存、I/O、设置和消息四类,分别完成差别的功能。
3、数据互换是基于哀求与完成(相应)的机制,也分为Non-Posted和Posted两种模式,Posted意思发送数据不须要吸收端相应,而Non-Posted是要求吸收端对发送数据举行相应。
1.6 扼要先容一下PCIE的分层布局,为什么须要分层?

对于复杂的协议,分层是必须要做的事变,分层有利于对实现功能有着明确、公道的分别,不但增长代码的可读性,更有助于进步其可读性,并利于扩展;

1、变乱层
变乱层是PCIE协议的对外接口层,用户对数据举行组帧和分析是在本层举行,本层产生的数据包称之为变乱层数据包,即(Transaction Layer Packets,TLP)。别的变乱层还具有基于名誉积分的流控功能,支持差别变乱范例的差别情势的数据传输。
2、数据链路层
数据链路层充当变乱层和物理层之间的中心阶段,重要职责包罗链路管理和数据完备性,包罗错误检测和改正。
数据链层在传输链路上吸收变乱层的TLP数据包添加序列号和校验码交给物理层,而且链路层非常尽责,会对变乱层交付的数据包举行缓存,假如检测到传输错误会举行重发,直到吸收准确或确定链路通讯失败。
链路层还具有链路管理功能,并有相应的数据包,称之为“数据链路层数据包(DLLP)”该数据包是实现两个组件间的数据互换,并没有路由功能,换言之,假如一包数据要跨过大山大河到达吸收端,中心颠末无数站点,DLLP数据包只在两站之间举行数据互换,重要实现的功能有流量控制、电源管理、应答机制和假造通道。
3、物理层
物理层分为两个部分,一部分是逻辑子层,一部分是电气子层。逻辑子层模块负责与数据链路层的数据互换,会对吸收链路层变乱举行再次封装,对吸收电气子层变乱举行分析,并会举行8B/10B编码大概128B/130B编码,举行转达之间的转换和极性反转等工作,电气子层则更多的负责时钟数据规复、均衡等电气操纵。物理层数据包称之为PLP,Physical Layer Packet。
1.7 PCIE的变乱范例有哪些?

PCIE的变乱范例有:内存变乱、I/O变乱、设置食品和消息变乱;消息是PCIE拓展的;
1.内存变乱
内存变乱并不肯定是读写内存,而是代表一种大数据量的数据互换方式;
2.I/O变乱
会渐渐被弃用并被MMIO更换。MMIO(Memory-Mapped I/O,内存映射I/O)是一种访问装备寄存器和设置空间的机制。在PCIe架构中,MMIO是一种I/O访问方法,它答应软件通过内存地点范围来读取或写入装备寄存器的值而不是通过传统的I/O端口方式。
3.设置
每个 PCIe 装备都有一组设置寄存器,包罗装备的告急信息、功能设置以及与装备通讯所需的控制寄存器等。在PCIE装备应用前必须颠末设置阶段;
4.消息
消息是PCIE新增的一种变乱范例,用来代替PCI的一些边带信号,使得全部的信号转达都通过报文来实现。好比克制、电源管理和错误消息;
1.8 PCIE的变乱范例对应哪些模式?

只有Memory Write 和Message 是Posted即不须要相应的两种模式
1.9 PCIE的路由方案

PCIE之间组件的通讯是两点间的数据互换,而且大概链路很长,因此须要机制包管;
PCIE的路由方案:ID路由、地点路由和含糊路由;
1.ID路由
ID路由即BDF路由方案,即采取Bus Number、Device Number和Function Number来确定目的装备的位置。这是一种兼容PCI的路由方案,重要用于装备的设置、带数据和不带数据的返回数据包。
2.地点路由
地点路由包罗对IO和Memory两种变乱范例的路由,在帧头中包罗了目的装备的地点信息,处理处罚器会为每个装备分配一段地点信息,这也是数据包传输过程中的标志符。
3.含糊路由
含糊路由(Implicit Routing,又译为隐式路由)只能用于Message的路由。用来实现电源管理、错误信号、热插拔、假造通道等功能;
1.10 详细先容一下PCIE的变乱层

RC相比是他要处理处罚诸多变乱,这些变乱以同一的方式对外发出,差别端点(Endpoints)的专用模块就好比详细实行的,吸收差别变乱举行处理处罚反馈。
进一步明白地点空间: “Address Spaces” 指的是差别的寻址空间,代表着差别内存地区大概装备寄存器地区,也代表着差别的变乱范例。PCIE利用差别的地点空间来访问差别范例资源,如下表所示:


  • 内存地点空间
    内存地点空间(Memory Address Space)也就是内存变乱范例,用于访问主机体系中的内存地区。装备可以通过PCIe直接访问主机内存,实现数据的读取和写入。这种地点空间答应装备通过 DMA(直接内存访问)等技能直接在内存中举行数据传输。
    内存地点空间支持读的哀求与完成、写哀求和原子操纵的哀求与完成这三大类变乱范例,支持32bit地点和64bit地点两种地点空间。
2.设置地点空间
设置地点空间(Configuration Address Space)也就是设置变乱,用于访问装备的设置寄存器。每个 PCIe 装备都有一组设置寄存器,包罗装备的告急信息、功能设置以及与装备通讯所需的控制寄存器等。通过设置地点空间,体系可以对装备举行初始化、设置和管理。这也是利用PCIE装备前的须要步调。
这种设置空间的访问方式为体系和装备之间的通讯提供了尺度化的接口,有助于确保装备之间的互操纵性和体系的稳固性。变乱范例包罗两种范例:
1)Configuration Read Transaction(读变乱): 主机体系通过 PCIe 总线向目的装备的设置空间读取信息。这通常涉及读取装备的设置寄存器,以获取装备的状态、特性和其他信息。
2)Configuration Write Transaction(写变乱): 主机体系通过 PCIe 总线向目的装备的设置空间写入信息。这用于设置装备的各种参数,使其顺应体系需求。
3.I/O地点空间
IO地点空间(IO Address Space)用于访问装备的 IO 空间,答应装备利用雷同于传统 IO 端口的方式举行通讯和数据传输。这部分重要是兼容PCI的。支持读的哀求与完成和写的哀求与完成,支持的地点格式是32bit。–现在也会被代替;
4.Message地点空间
Message地点空间用于提供了一种机动的数据传输机制,使得装备之间可以通过异步的方式举行通讯,从而更好地支持一些变乱驱动的场景,比方克制转达、错误关照、电源管理等。这种异步通讯机制有助于进步体系的服从和相应速率。
详细的变乱层TLP包格式概述:变乱层由哀求和完成两种范例构成,是基于包的方式举行端到端的数据互换。

【REF】
1.https://fpgaup.com/fpgauptext.php?cidi=171
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表