在PCIe总线中存在两种仲裁机制,分别是基于VC和基于端口的仲裁机制。端口仲裁机制主要针对RC和Switch,当多个Ingress端口需要向同一个Egress端口发送数据报文时需要进行端口仲裁。当RC的端口1和端口3同时访问Endpoint C时,RC的端口2需要进行端口仲裁,决定来自RC哪个端口的数据可以率先通过。PCIe总线规定,系统设计者可以使用以下三种方式进行端口仲裁。......
2023-10-20
PCI设备使用该组信号进行总线仲裁,并获得PCI总线的使用权。只有PCI主设备需要使用该组信号,而PCI从设备可以不使用总线仲裁信号。这组信号由REQ#和GNT#组成。其中PCI主设备的REQ#和GNT#信号与PCI总线的仲裁器直接相连。
PCI主设备的总线仲裁信号与PCI总线仲裁器的连接关系如图1-2所示。值得注意的是,每一个PCI主设备都具有独立的总线仲裁信号,并与PCI总线仲裁器一一相连。而总线仲裁器需要保证在同一个时间段内,只有一个PCI设备可以使用当前总线。
图1-2 PCI设备与总线仲裁器的连接关系(www.chuimin.cn)
在一个处理器系统中,一条PCI总线可以挂接PCI主设备的数目,除了与负载能力相关之外,还与PCI总线仲裁器能够提供的仲裁信号数目直接相关。
在一棵PCI总线树中,每一条PCI总线上都有一个总线仲裁器。一个处理器系统可以使用PCI桥扩展出一条新的PCI总线,这条新的PCI总线也需要一个总线仲裁器,通常在PCI桥中集成了这个总线仲裁器。多数HOST主桥也集成了一个PCI总线仲裁器,但是PCI总线也可以使用独立的PCI总线仲裁器。
PCI主设备使用PCI总线进行数据传递时,需要首先置REQ#信号有效,向PCI总线仲裁器发出总线申请,当PCI总线仲裁器允许PCI主设备获得PCI总线的使用权后,将置GNT#信号为有效,并将其发送给指定的PCI主设备。而PCI主设备在获得总线使用权之后,将可以置FRAME#信号有效,与PCI从设备进行数据通信。
有关PCI Express体系结构导读的文章
在PCIe总线中存在两种仲裁机制,分别是基于VC和基于端口的仲裁机制。端口仲裁机制主要针对RC和Switch,当多个Ingress端口需要向同一个Egress端口发送数据报文时需要进行端口仲裁。当RC的端口1和端口3同时访问Endpoint C时,RC的端口2需要进行端口仲裁,决定来自RC哪个端口的数据可以率先通过。PCIe总线规定,系统设计者可以使用以下三种方式进行端口仲裁。......
2023-10-20
[1]本节出现的Switch指传统的Switch,在MR-IOV规范定义的Switch与此并不相同,详见第13.3.2节。[4]这种方式也可以被认为是SoC平台总线从共享总线结构升级到Switch结构。[10]该表存在于PCI Express Extended Capabilities结构中,详见第4.3.3节。[14]从体系结构的角度上看,MCH和ICH仅仅是一个称呼,实际上并不重要。[36]如图4-1所示,发送端和接收端都有相应的发送逻辑和接收逻辑。[39]在正常情况下,接收逻辑RX的DC共模电压为0,ZRX-DC虽然较小也不会影响其正常工作。......
2023-10-20
PCI总线提供了INTA#、INTB#、INTC#和INTD#四个中断请求信号,PCI设备借助这些中断请求信号,使用电平触发方式向处理器提交中断请求。PCI设备的这些中断请求信号可以通过某种规则进行线与,之后与中断控制器的中断请求信号线相连。而处理器系统需要预先知道这个规则,以便正确处理来自不同PCI设备的中断请求,这个规则也被称为中断路由表,有关中断路由表的详细描述见第1.4.2节。......
2023-10-20
PCIe总线在进行链路训练时,将使用LTSSM状态机。LTSSM状态机由“Detect”、“Pol-ling”、“Configuration”、“Disabled”、“Hot Reset”、“Loopback”、“L0”、“L0s”、“L1”、“L2”和“Recovery”共11个状态组成。LTSSM状态机的转换逻辑如图8-5所示,而各个状态的含义如下所示。图8-5 LTSSM示意图●Detect状态。当PCIe链路被复位或者数据链路层通过填写某些寄存器后,LTSSM将进入该状态。该状态也是LTSSM的初始状态。该状态是LTSSM状态机的重要状态。......
2023-10-20
而接收逻辑RX处于Electrical Idle状态时,其DC共模输入阻抗必须在PCIe总线规范要求的范围内。如果在“Electrical Idle Exit detector”部件没有正常工作之前,发送逻辑TX就退出Electrical Idle状态,对端的接收逻辑RX将不能检查到这个状态变化,从而导致错误。值得注意的是,这种推断出的Idle状态并不等同于Electrical Idle状态。PCIe总线通过上表判断而得出的Idle状态称为Logical Idle状态。Electrical Idle状态是PCIe链路的相对静止状态,使用的功耗较低。......
2023-10-20
从那时起,PCI总线一直在处理器体系结构中占有重要地位。IAL是现代PC体系架构的重要奠基者。除了以上规范之外,PCISIG还推出了一系列和PCI总线直接相关的规范。其中PCI-to-PCI桥规范最为重要,理解PCI-to-PCI桥是理解PCI体系结构的基础;而CompactPCI总线规范多用于具有背板结构的大型系统,并支持热插拔。PCI和PCI-X总线使用单端并行信号进行数据传递,由于单端信号容易被外部系统干扰,其总线频率很难进一步提高。......
2023-10-20
在一段程序中,存在大量的分支预测指令,因而在某种程度上增加了指令Fetch的难度。但是分支预测单元并不会每次都能正确判断分支指令的执行路径,这为指令Fetch制造了不小的麻烦,在这个背景下许多分支预测策略应运而生。在PowerPC处理器中,条件转移指令“bc”表示Taken;而“bc-”表示Not Taken。BTB的功能相当于存放转移指令的Cache,其状态机转换也与Cache类似。转移指令B执行完毕后,将实际执行结果Rc更新到BHR寄存器中,并同时更新PHT中对应的Entry。......
2023-10-20
如图8-6所示,Detect状态由Detect.Quiet、Detect.Active两个子状态组成。在正常情况下,PCIe链路将从Detect状态迁移到Polling状态。而在Detect状态中,PCIe设备的发送逻辑TX将直接进入到“Electrical Idle”状态,并不会使用Idle序列通知对端设备的接收逻辑RX。当PCIe设备处于Detect.Quiet状态超过12ms之后,或者检测到PCIe链路上的任何一个Lane退出“Electrical Idle”状态时,PCIe设备将进入Detect.Active状态。......
2023-10-20
相关推荐