计算机系统输入/输出节点的外围接口电路技术方案

技术编号:2861818 阅读:205 留言:0更新日期:2012-04-11 18:40
本发明专利技术揭示了一种用于计算机系统的I/O节点的外围接口电路。计算机系统的输入/输出节点的外围接口电路包含第一缓冲电路、第二缓冲电路及总线接口电路。第一缓冲电路接收数据包命令,并可包含多个第一缓冲器,每个缓冲器对应于多个虚拟信道中的一个分别的虚拟信道。第二缓冲电路被连接以从总线接口电路接收数据包命令,并可包含多个第二缓冲器,其中每个缓冲器对应于多个虚拟信道中的一个分别的虚拟信道。可将总线接口电路配置成将第一缓冲电路中储存的所选择的数据包命令转换为适于在外围总线上传输的命令。(*该技术在2022年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及计算机系统输入/输出,特别是输入/输出节点内的外围事务处理。
技术介绍
在一个典型的计算机系统中,一个或多个处理器可经由一个或多个总线而与各输入/输出(I/O)设备通信。可通过I/O桥接器将这些I/O设备连接到这些处理器,而I/O桥接器管理连接到这些I/O设备的外围设备总线与连接到这些处理器的共享总线间的信息传送。此外,I/O桥接器可管理系统内存与这些I/O设备或系统内存与这些处理器间的信息传送。不幸的是,许多总线系统都有数项缺点。例如,将多个设备连接到总线会使总线上的设备驱动信号呈现很大的电容值。此外,共享总线上的多个连接点在高信号频率下产生信号反射,因而降低了信号的完整性。因此,通常将总线上的信号频率保持在较低的频率,以便将信号完整性维持在可接受的水平。这种较低的信号频率减小了信号带宽,因而限制了与该总线连接的各设备的性能。缺乏对大量设备的扩充性是共享总线系统的另一项缺点。共享总线的可用带宽大致是固定的(如果增加额外的设备还会使总线上的信号频率降低,进而使可用带宽减少)。一旦(直接或间接)连接到总线的设备的带宽需求超过该总线的可用带宽时,那么各设备尝试使用该总线时经常会停顿(stall),并且包含共享总线的计算机系统的整体性能将会降低。I/O设备所使用的共享总线的一个例子是外围设备互连(Peripheral Component Interconnect;简称PCI)总线或扩展PCI(PCI-X)总线。许多I/O桥接设备利用缓冲机制来缓冲储存自PCI总线到最终目标总线的若干待处理的事务。然而,缓冲可能造成PCI总线上的停顿。当一系列的事务缓冲储存在一个队列且等候传输到目标总线时,可能会造成停顿,进而停止了向前的传输。然后容许那些等候的事务完成的一个事务到达了该队列并储存在其它的事务之后。为了脱离停顿,必须以某种方式将队列中的这些事务重新排序,以便优先传输新到达的事务。因此,为了避免诸如前文所述的情形,PCI总线规范规定了一组重新排序规则,用以管理PCI总线事务的处理及排序。为了克服共享总线的某些缺点,有些计算机系统在各设备或各节点之间使用基于数据包的通信。在这种系统中,各节点可通过交换信息数据包而相互通信。一般来说,″节点″是一种可参与连接接口上的事务的设备。例如,连接可以是基于数据包的,并且节点可配置以接收及传输数据包。一般而言,″数据包″是两个节点间的通信,而这两个节点包含传输该数据包的起始或″来源″节点,及接收该数据包的目的地或″目标″节点。当数据包到达目标节点时,目标节点接收数据包所载送的信息,并在内部处理信息。位于来源节点与目标节点间的通信路径上的节点可将数据包自来源节点转送或转交给目标节点。此外,有些系统使用基于数据包的通信及基于总线的通信的组合。例如,一个可连接到PCI总线及诸如AGP等的图形总线的系统。可将PCI总线连接到数据包总线接口,数据包总线接口然后可将PCI总线事务转换为数据包事务,以便在数据包总线上传输事务。同样地,可将图形总线连接到AGP接口,AGP接口可将AGP总线事务转换为数据包事务。每一接口可与主桥接器相通,而主桥接器与其中一个处理器相关联,或在某些情况下与另一外围设备相关联。当PCI设备开始事务时,基于数据包的事务可能受到PCI局部总线规范规定的相同排序规则的限制。上述的情形也可适用于目标为PCI总线的数据包事务。在基于数据包的事务中仍然遵守这些排序规则,这是因为可能在数据包总线接口上发生的事务停顿会在数据包总线接口上造成死结(deadlock)。死结可能对数据包总线结构造成进一步的停顿。此外,AGP事务可遵循一组事务排序规则,以便确保资料正确的传送。根据I/O节点的设定,各事务可沿着朝向主桥接器或离开主桥接器的方向从一个节点传送到另一节点。此外,在本地连接一个特定节点的外围设备总线可将各事务注入到该节点上的数据包通信。不论是在哪一种情形,当各事务注入通信路径或自通信路径接收各事务时,外围设备接口电路可缓冲储存并控制外围事务
技术实现思路
本专利技术揭示了用于计算机系统的I/O节点的外围接口电路的各种实施例。在一个具体的实施例中,计算机系统的输入/输出节点的外围接口电路包含第一缓冲电路、第二缓冲电路及总线接口电路。第一缓冲电路被连接以从诸如接收器等的来源接收数据包命令。第一缓冲电路可包含多个第一缓冲器,每个缓冲器对应于多个虚拟信道中的分别的虚拟信道。第二缓冲电路被连接以从总线接口电路接收这些数据包命令,且可包含多个第二缓冲器,每个缓冲器对应于多个虚拟信道中的分别的虚拟信道,多个第一及第二缓冲器的每一个可用于储存属于各自虚拟信道的所选择的数据包命令。这些多个缓冲器可以用诸如FIFO缓冲器来举例说明。总线接口电路连接到第一缓冲电路,并可将总线接口电路配置成将第一缓冲电路中储存的所选择的数据包命令转换为适于在外围总线上传输的命令。也可将总线接口电路配置成适于在外围总线上传输的命令转换为数据包命令。在一个特定实施例中,外围接口电路可包含连接到第一缓冲电路及第二缓冲电路的控制逻辑单元。可将控制逻辑单元配置成控制这些数据包命令传送进出总线接口电路。此外,外围接口电路可包含同样连接到第一缓冲电路的标识逻辑单元。可将标识逻辑单元配置成接收及产生每个数据包命令的标识值,该标识值可对应于每个数据包命令相对于其它的数据包命令的接收顺序。外围接口电路可进一步包含连接到第一缓冲电路的仲裁逻辑单元,且仲裁逻辑单元配置成根据每个控制命令的标识值来仲裁多个第一缓冲器中储存的数据包命令。在另一个具体的实施例中,计算机系统包含诸如X86型处理器等的一个或多个处理器,这些处理器通过一条点对点数据包总线连接到一个或多个输入/输出节点。该数据包总线可以是诸如超传输(HyperTransportTM)总线。计算机系统还包含一个或多个外围总线,这些外围总线连接而在这些一个或多个输入/输出节点中的分别的输入/输出节点与一个或多个外围设备之间传送地址、数据及控制信号。外围总线可以是诸如PCI总线或PCI-X总线等的总线。每个输入/输出节点包含配置成接收第一通信路径上的第一数据包命令的第一收发器电路以及配置成接收第二通信路径上的第二数据包命令的第二收发器电路。此外,该I/O节点包含诸如上述实施例中所述的外围接口电路的一个或多个外围接口电路。附图说明图1为计算机系统的一个具体的实施例的方框图。图2为输入/输出节点的一个具体的实施例的方框图。图3为外围接口电路的一个具体的实施例的方框图。图4为未公开重新尝试缓冲电路(non-posted retry buffercircuit)的一个具体的实施例的方框图。图5为处理外围接口电路实施例中的分割响应指示的流程图。图6为包含缓冲器可用性FIFO结构的缓冲电路的一个具体的实施例的方框图。图7为控制逻辑及储存单元的一个具体的实施例的示意图。图8为外围接口电路一个具体的实施例的下游响应事务重新排序操作的流程图。图9为外围接口电路一个具体的实施例的分割响应操作的流程图。图10为用来连接到图形总线的外围接口电路一个具体的实施例的方框图。图11为用来处理图形响应的外围接口电路的一个具体的实施例。图12为用来将各图形响应重新排序的设备的一个具体的实施例。图13为用于图形本文档来自技高网
...

【技术保护点】
一种用于计算机系统的输入/输出节点的外围接口电路,该外围接口电路包含:被连接以从来源接收数据包命令的第一缓冲电路(390),其中第一缓冲电路包含多个第一缓冲器,每个缓冲器对应于多个虚拟信道中分别的虚拟信道,用以储存属于该虚拟信道的所 选择的数据包命令;连接到第一缓冲电路的总线接口电路(490),其中总线接口电路配置成将第一缓冲电路中储存的这些所选择的数据包命令转换为适于在外围总线(560)上传输的命令,配置成并可适用于将外围总线上传输的这些命令转换为数据包命令; 被连接以从上述总线接口电路接收数据包命令的第二缓冲电路(530),其中第二缓冲电路包含多个第二缓冲器,每个缓冲器对应于多个虚拟信道中的分别的虚拟信道,用以储存属于该虚拟信道的所选择的数据包命令。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:T阿斯卡尔LD休伊特EG钱伯斯
申请(专利权)人:先进微装置公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1