流量控制的概念起源于网络通信。我们假设图9-2中Node 4将报文转发到Node 5的速度低于Node 3发送报文的速度。在这种情况下,Node 4将成为整个传送路径上的瓶颈,无论Node 4中的缓存1和2有多大,总会被填满,从而造成节点拥塞。为了避免这类事件发生,网络中的各个组成部件需要对数据传送进行一定的流量控制,合理地接收和发送报文。而流量控制的作用是合理地管理这两类资源,使这些资源能够被有效利用。......
2023-10-20
目前流量控制从理论到实现大多基于多通道技术,本节也仅讨论基于多通道的流量控制(FCVC,Flow-Controlled Virtual Channels)的基本原理。
流量控制的主要作用是在发送端和接收端进行数据传递时,合理地使用物理链路,避免因为接收端缓冲区容量不足而丢弃来自发送端的数据,从而要求发送端重新发送已经发送过的报文,并最终有效地利用网络带宽。
目前几乎所有流量控制算法的核心都是根据接收端缓冲区的容量,向发送端提供反馈。而发送端根据这个反馈,决定向接收端发送多少数据。这些流量控制算法都力求发送的每一个数据报文都能够被接收端正确接收,而不会被接收端因为缓冲不足而丢弃。使用流量控制机制并不能提高网络的峰值带宽,相反还会降低网络的带宽,但是可以有效减少数据报文的重新发送,从而保证网络带宽被充分利用。(www.chuimin.cn)
流量控制的目标是在充分利用网络带宽的前提下,尽量减少数据报文因为接收端缓存容量不足而被丢弃的情况,因为此时数据发送端将会择时重新传送这些丢弃的报文,从而降低了数据通路的利用率。
为了实现流量控制,数据接收端需要及时地向发送端反馈一些信息,发送端依此决定,是否能够向接收端继续发送数据。这些反馈信息也需要占用一定的数据通路带宽。但是采用这种方法可以有效避免数据报文的丢失与重发,从而在整体上提高了数据通路的利用率。流量控制针对端到端的数据传递,目前流行的流量控制方法共有两种,分别为Rate-Based机制和Credit-Based机制。
有关PCI Express体系结构导读的文章
流量控制的概念起源于网络通信。我们假设图9-2中Node 4将报文转发到Node 5的速度低于Node 3发送报文的速度。在这种情况下,Node 4将成为整个传送路径上的瓶颈,无论Node 4中的缓存1和2有多大,总会被填满,从而造成节点拥塞。为了避免这类事件发生,网络中的各个组成部件需要对数据传送进行一定的流量控制,合理地接收和发送报文。而流量控制的作用是合理地管理这两类资源,使这些资源能够被有效利用。......
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
而PCI总线的突发传送仍然存在缺陷。为此PCI-X总线使用基于数据块的突发传送方式,发送端以ADB为单位,将数据发送给接收端,一次突发读写为一个以上的ADB。采用这种方式,接收端可以事先预知是否有足够的接收缓冲,接收来自发送端的数据,从而可以及时断连当前总线周期,以节约PCI-X总线的带宽。因此在PC领域和嵌入式领域很少有基于PCI-X总线的设备,PCI-X设备仅在一些高端服务器上出现。因此本节不对PCI-X总线做进一步描述。......
2023-10-20
MSI Capability结构共有四种组成方式,分别是32和64位的Message结构,32位和64位带中断Masking的结构。MSI Capability寄存器的结构如图10-1所示。图10-1 MSI Capability结构●Capability ID字段记载MSI Capability结构的ID号,其值为0x05。表10-1 MSI Cabalibities结构的Message Control字段[67] 此时PCI设备配置空间Command寄存器的“Interrupt Disable”位为1。当MSI En able位有效时,该字段存放MSI报文使用的数据。该字段需要与Mask Bits字段联合使用。......
2023-10-20
当TLP的TH位为1时,表示在当前TLP中包含Processing Hint字段,PH字段由PCIe V2.1总线规范引入。Processing Hint字段的产生与智能设备的大量涌现密切相关。有些智能设备,如在显卡中使用的GPU和GP-GPU的处理能力甚至超过多数通用处理器。该TLP Prefix也被称为TPH TLP Prefix,其格式如图6-15所示。TPH Requester Capability结构使用ST Mode Sele ct字段定义了ST字段的三种使用模式。......
2023-10-20
Attr字段如图6-3所示。图6-3 Attr字段格式表6-3 TLP支持的序当使用标准的强序模型时,在数据的整个传送路径中,PCIe设备在处理相同类型的TLP时,如PCIe设备发送两个存储器写TLP时,后面的存储器写TLP必须等待前一个存储器写TLP完成后才能被处理,即便当前报文在传送过程中被阻塞,后一个报文也必须等待。Attr字段的第0位是“No Snoop Attribute”位。“No Snoop Attribute”位是PCIe总线针对PCI总线的不足作出的重要改动。......
2023-10-20
使用N123算法时,需要设置N1缓冲处理这些因为网络延时产生的报文。希望读者认真理解N1缓冲在N123算法中的意义。N123+算法基于N123算法,但是发送Credit报文的方式略有不同。N123算法要求Cur-rent节点每转发N2个报文后,才能给Upstream节点发送一个Credit报文;而N123+算法除了要求同样的规则之外,还要求Current节点在一个时间段RTT中至少发送一个Credit报文,即发送上一个Credit报文之后,即便Current节点没有向Downstream转发了N2报文,在一个时间段RTT中也至少要向Upstream节点发送一次Credit报文。......
2023-10-20
相关推荐