在计算机部件之间设置改进接口的方法与装置的制作方法

文档序号:6629340阅读:306来源:国知局
专利名称:在计算机部件之间设置改进接口的方法与装置的制作方法
技术领域
本发明涉及计算机系统领域,具体地说,涉及在计算机部件之间设置改进接口的领域。
例如,如

图1中所述,可以把外部部件(例如键盘109、磁盘驱动器110、与/或鼠标器111)经由输入/输出(I/O)桥接器107互相连接在一起。反过来,可以把I/O桥接器107与主桥接器105互连,以在外部设备和CPU/存储器子系统之间提供一个接口。
然而,附加的外部总线(例如,外部部件互连(PCI)总线113)也可与I/O桥接器107和CPU/存储器子系统之间的一个接口相结合。因此,I/O桥接器107和CPU/存储器子系统之间的接口较为复杂,而且还受到与I/O桥接器107和CPU/存储器子系统之间的接口相结合的一条外部总线113(例如PCI)的规范/要求的限制。
因此,存在着对外部部件和处理器/存储器子系统之间的一个改进的接口的需求。
图1说明的是根据现有技术在计算机部件之间实现了一个接口的计算机系统。
图2是在计算机部件之间实现了一个改进的接口的计算机系统的一个实施方案的方框图。
图3是一个时序图,说明了由接口的一个实施方案所实现的一个分解的事务。
图4是在计算机部件之间实现了多个改进的接口的一个层次结构的计算机系统的一个实施方案的方框图。
图5是一个时序图,说明了根据一个实施方案对数据信息包的仲裁与传输。
图6是一个时序图,说明了根据一个实施方案对数据信息包的流控制。
图7是一个流程图,描述了根据一个实施方案响应流控制操作的步骤。
图8说明了根据一个实施方案的物理信号接口。
图9是一个时序图,说明了根据一个实施方案的源同步计时。
图10说明了一个拥有多个处理器的计算机系统,这一计算机系统在计算机部件之间实现了一个根据一个实施方案的改进的接口。
图11是在计算机部件之间实现了一个改进的接口的计算机系统的一个实施方案的方框图,其中把一个中央处理器与一个计算机部件加以集成。
图12是在计算机部件之间实现了一个改进的接口的计算机系统的一个实施方案的方框图,其中把一个中央处理器与一个计算机部件和一个图形单元加以集成。
发明详述以下将描述计算机部件之间的一个改进的接口。此处,可以把这一接口叫做集线器接口。集线器接口是一个用于经由一个窄和宽带接口连接核心逻辑的标准部件的接口。
在以下的描述中,将给出众多的细节。然而,对本领域的技术人员显然会领悟到,可以在不使用这些具体细节的情况下,使本发明付诸实践。在其它的一些实例中,以方框图的形式而不是详细地描述了人们所熟悉的结构和设备,以避免对本发明的不明确的描述。
如图2中所说明的,集线器接口的一个实施方案向各部件提供了一个点到点的接口。然而,在一些可选的实施方案中,集线器接口也可在三个或三个以上的部件之间提供一个接口。
更具体地说,图2说明了用于互连一个芯片组中的两个分离的部件(即集线器代理)的集线器接口204的一个实施方案。集线器代理在两个或两个以上的分离总线与/或其它类型的通信线路之间提供了一个中央连接。
例如,仍如图2中所示,芯片组包括一个存储器控制集线器204(MCH)以及一个输入/输出集线器(ICH)206。如图2中所示,存储器控制集线器204在一个或一个以上的中央处理器(CPU)208和系统存储器210之间提供了一个互连/集线器。
ICH206在系统中的各外部部件(例如键盘218、磁盘驱动器224、扫描仪222与/或鼠标器220)之间提供了一个互连。而且,外部总线及其它们的代理(例如外部部件互连(PCI)总线212和PCI代理214)经由集线器接口202,通过与ICH206的互连而不是直接与存储器控制集线器204互连,与系统存储器210和CPU208间接互连。
通过使用集线器接口互连存储器控制集线器204和ICH206,在I/O部件和CPU/存储器子系统之间提供了改进的存取特性(例如增加的带宽、对协议的独立性、以及较低的延迟等)。另外,通过提供一个针对I/O标准部件的主干,集线器接口还可以改进计算机系统的可放缩性(例如从一个基础桌面平台向高档桌面平台或工作平台的升级)。
在一个可选的实施方案中,把CPU和MCH集成在一个单一的半导体单元230上,如图11中所示,其中,经由集线器接口把单一的半导体单元230耦合于ICH。在另一个可选的实施方案中,把MCH和一个图形单元232(例如控制器/累加器)集成于一个单一的半导体单元230上,如12中所示,其中,经由集线器接口把单一的半导体单元230耦合于ICH。在又一个可选的实施方案中,把MCH、图形单元232、以及CPU集成在一个单一的半导体单元230上,其中,通过集线器接口把单一的半导体单元230耦合于ICH。
为了提供改进的接口,集线器接口包括一个或一个以上的良好特性。在一个实施方案中,使用一个基于对事务进行分解的协议信息包,把事务跨越集线器接口加以传递。例如,把一个请求信息包用于启动一个事务,如果需要的话,也可随后把一个分离的完成信息包用于终止一个事务。
图3说明了一个跨越集线器接口分解事务的一个实例。如图3中所示,最初,经由仲裁302,一个集线器代理获得对集线器接口的拥有权。在这一仲裁之后,存在一个请求阶段304。如果需要的话(例如在针对一个读事务返回数据的情况中),一个完成阶段308将跟随请求阶段。然而,在完成阶段之前,响应集线器代理将会针对集线器接口的拥有权首先进行仲裁306。
在跨越集线器接口传输一个请求信息包和一个相应的完成信息包期间,可根据事先确定的排序规则跨越集线器接口传输分离的、无关联的信息包,如以下更详细地加以讨论的。例如,在从某一外设到存储器的一个读请求的情况中,提供所请求的数据可能会占用多个时钟周期才能使数据准备好以在一个完成信息包中加以返回。在为获得所请求的数据而占用的时间期间,可以把等待于存储器控制集线器204的队列/管道中的分离的无关联的完成与/或请求信息包传输到ICH206。
而且,如图3中所示,把每一个请求或完成作为一个跨越接口的信息包加以传输。对于写类型事务来说,将把数据与请求关联起来。对于读类型事务来说,将把数据与完成关联起来。在某些情况中,对于在把完成信息包断开,有效地把其分解成多个完成信息包的场合来说,将会有一个以上的针对一个请求的完成。
另外,在一个实施方案中,集线器接口还使用了用于路由集线器接口交通并标识事务的属性的事务描述符。例如,可以把描述符用于把一个事务定义为同步的或异步的,因此,接下来可以根据一个预定义的协议对其加以处理。
而且,在一个实施方案中,由于经由一个源同步时钟模式传输数据信息包,所以接口的带宽部分地得以增宽。此外,在一个实施方案中,尽管使用了一个窄连接(例如与通常在现有技术中所使用的相比,使用了较少的引脚/引出端),但集线器接口仍提供了增宽的带宽。
然而,在可选的实施方案中,在不背离本发明的范围的情况下,可以使用以上所讨论过的所有良好特性中的部分特性实现一个集线器接口,而且也可以在不背离本发明的范围的情况下,把集线器接口用于互连一个芯片组中或在一个芯片组之外的桥接器与/或其它部件。事务、协议、以及物理层为了更为清晰地加以描述,将分三个部分描述集线器接口一个事务层、一个协议层、以及一个物理层。然而,层与层之间的不同之处将被视为说明性的而不是限制性的,因此不意味着是一个特殊的、优选的例如,在一个实施方案中,事务描述符根据最初所提供的(在一个请求信息包中)路由信息,支持把完成信息包返回给请求启动代理的路由。事务描述符还有助于减少或可能最小化集线器代理中的信息包译码逻辑。
在可选的实施方案中,事务描述符还提供了根据请求的相应传输属性区分请求的能力。例如,事务描述符中所标识的事务属性可以把操作标识为等时的(即,有规律地移动固定量的数据的操作,例如视频或音频的实时操作)。因此,操作,如由传输属性加以标识的,可根据一个相应的预定的路由协议加以处置,以支持某种具体类型的操作(例如同步的)。
在一个实施方案中,事务描述符包括两个字段一个路由字段以及一个属性字段。在可选的实施方案中,在不背离本发明的范围的情况下,可以使用更多或更少的字段提供一或多个事务描述符功能。
在一个实施方案中,路由字段是一个6位的字段,用于信息包的路由, 如以下表1中所描述的。路由字段以及属性字段的大小在本发明的范围内是可变的。表1事务描述符的路由字段5 4 3 2 1 0
如表1中所示,路由字段的3个位用于Hub ID。Hub ID标识启动了事务的集线器代理。在可选的实施方案中,为了提供一个超过8的集线器接口层次结构,在路由字段中可以使用附加的位。
例如,在一个系统中,可以存在多个集线器接口层次结构,在这一情况中,处于这些层次结构顶部的代理应能够把完成向后路由到这一层次结构的基部。在这一情况下,“层次结构”由多个连接的集线器接口段组成,这些集线器接口段始于一个集线器接口“根”代理(例如一个存储器控制集线器)。例如,图2说明了一个仅拥有一个集线器接口层次结构的系统。但图4说明了基于两个集线器接口层次结构的系统的一个实例。在仅实现一个集线器接口层次结构的实施方案中,可以在Hub ID字段中使用一个为“000”的默认值。
路由字段的其余的3位可用于标识一个集线器接口代理中的内部管道/队列。例如,经由分离的“管道”,ICH可以支持内部的USB(通用串行总线)主控制交通和总线控制ID(BM-ID)交通。因此,Pipe ID可用于与由拥有不同属性的不同“管道”所启动的交通的服务代理(例如MCH)的通信,并可根据一个预先确定的协议对其加以处置。如果一个集线器接口代理未实现分离的内部管道,那么它可以使用Pipe ID字段中的一个为“000”的默认值。
在一个可选的实施方案中,事务描述符还包括一个属性字段。在一个实施方案中,属性字段是一个3位的值,它指出当一个目标集线器接口代理接收了一个事务时应如何处置这一事务。在某些情况中,属性字段有助于一个系统支持要求高的应用工作负载,这依赖于对具有特殊要求或其它不同特性的数据的移动和处理。
例如,属性字段可以支持设备之间的数据的等时移动,这一字段可由少数最近开发的外部总线(例如IEEE1394和USB)加以使用。当数据流经I/O设备和CPU/存储器子系统之间的集线器接口时,需要维持这样的数据移动要求。
在可选的实施方案中,附加的事务属性可以包括区分“窥探的”交通和“非窥探的”交通的能力,在“窥探的”交通中超高速缓冲存储器的连贯性是由硬件(即芯片组)所加强实施的,而“非窥探”交通依赖于软件机制确保系统中数据的连贯性。而且,另一个可能的属性将是一个“显式可预取的”提示,以支持某种形式的读超高速缓存,并允许更有效地使用主存储器带宽。排序规则事务描述符还可用于支持跨越集线器接口所传输的事务之间的排序规则。例如,在一个实施方案中,按严格的顺序(即先来先服务)执行具有相同事务描述符的事务。
可把具有相同路由字段但具有不同属性字段的事务互相相对地重新排序。例如,在一个实施方案中,相对于异步事务,不需要对同步事务进行严格的排序。
另外,在集线器接口的接口的一个实施方案中,允许数据传输沿同一个方向中或沿相反的方向随请求得以进展。允许沿一个方向流动的读完成传送沿同一方向流动的读请求,而且允许写请求传送沿同一方向流动的读请求。
然而,在可选的实施方案中,为跨越集线器接口的接口传输的事务所制定的排序规则,在本发明的范围内是可变的。例如,在一个实施方案中,集线器接口实现了提供于外部部件互连(PCI)(版本2.2)中的排序规则,以确定沿相反方向中跨越集线器接口的交通流。协议层在一个实施方案中,集线器接口使用了一个基于信息包的协议,它具有两种类型的信息包请求和完成。请求信息包用于每一集线器接口事务。完成信息包用于提出了某些要求的场合,例如要求返回所读的数据或认可某些类型的写事务(例如请求了完成的I/O写和存储器写)的完成的场合。通过事务描述符和排序把完成信息包与它们相应的请求信息包关联起来,如先前在关于事务层一节中所讨论过的。
另外,在一个实施方案中,集线器接口的接口使用了一个对称的和分布式的仲裁协议。例如,每一集线器代理驱动一个请求信号,这一请求信号由附接于同一接口的另一个代理加以监视。未使用授权信号,各代理独立地确定接口的拥有权。
而且,在一个实施方案中,未使用显式的成帧信号。在给予某一代理接口拥有权的仲裁事件和该代理的传输的启动之间的存在着一个隐含的关系。在可选的实施方案中,可以在不背离本发明的范围的情况下使用成帧信号。
当一个拥有接口(例如在传输数据的过程中)的集线器接口代理通过解除对一个请求信号的声明而释放其对接口的控制时,一个信息包传输的端点出现。另外,在一个实施方案中,流控制还通过使用一个STOP信号重试或断开信息包加以实现,如以下更详细地加以描述的。信息包定义在集线器接口的一个实施方案中,按一个多速率(例如,1x、4x、8x)的集线器接口时钟(HLCK)传输数据,在一个实施方案中,HLCK是一个由集线器接口所结合的、各集线器代理所共享的公共时钟。跨越集线器接口的数据信号路径(PD)传输数据,这一集线器接口拥有2的某一幂(例如,8、16、24、32)的“接口宽度”。因此,集线器接口可拥有变化的数据传输粒度(即传递宽度),取决于传递速率和数据信号路径的宽度。例如,在4x模式中的8位接口宽度的情况中,传递宽度为每一HLCK32位。因此,通过改变传递速率与/或数据信号路径的接口宽度,可以放缩传递宽度(即每一HLCK所传输的字节的个数)。
另外,在一个实施方案中,信息包可大于传递宽度。因此,可按多个区段(即信息包宽度)传输信息包。在一个实施方案中,把信息包划分成双字大小(32位)的信息包宽度。
在一个32位传递宽度的情况中,开始于最小有效字节(字节0)并终结于最大有效字节(字节3),在接口上提交一个信息包宽度的字节,如以下表2中所示。在一个64位传递宽度(例如,4x模式中的一个16位宽的接口)的情况下,在数据信号的低字节(例如PD
)上传输较低的有效双字(信息包宽度),在数据信号的高字节(例如PD[158])上并行传输较高的有效双字。以下表2中描述了这两个实例。表2针对8位和16位接口宽度的字节传输顺序 集线器接口的接口的协议层还负责成帧数据,因此,由集线器接口所实现的成帧规则定义了如何把一或多个信息包宽度映象于一组传递宽度。为了简化把信息包分析为信息包宽度的分析过程,在集线器接口的一个实施方案中,实现了以下的三个成帧规则信息包的首部区段开始于一个传输宽度的第一个字节;信息包的数据区段(如果存在的话)开始于一个传输宽度的第一个字节;以及一个信息包占据整数个的传递宽度。
信息包未消耗的任何可用的传输宽度可使用双字(DW)传输加以填充,并将为接收集线器代理所忽略。在可选的实施方案中,在本发明的范围中,集线器接口可使用更多、更少、与/或不同的三个成帧规则。
表3和表4设置如下,它们说明了以上针对64位传递宽度的情况所给出的成帧规则的一些实例。表3使用32位寻址并包括3个双字数据的请求 表4使用64位寻址并包括3个双字数据的请求 请求信息包以下将在表5和表6中描述根据一个实施方案的请求信息包的首部格式。在表5和6中所示的实例中,基首部为一个双字,具有32位寻址所需的一个附加的双字,以及64位寻址模式所需的两个附加的双字。首部的字段,如表5和6中所描述的,将在以下的表中加以描述。在集线器接口的可选的实施方案中,包含在请求信息包的首部中的字段在不背离本发明的范围的情况下是可变的。例如,首部可以包括附加的字段、较少的字段、或用于取代以下所描述的字段的不同的字段。而且,在不背离本发明的范围的情况下,字段的编码也是可变的。表5针对32位寻址的请求信息包首部格式 表6针对64位寻址的请求信息包首部格式 Transaction Descriptor(事务描述符)Transaction Descriptor Routing and Attribute(事务描述符路由和属性)字段,如先前所描述的。rq/cp在这一位置,用′0′来识标识请求信息包,以及用′1′来标识完成信息包。cr要求完成(′1′)或不要求完成(′0′)。r/wRead(′0′)或Write(′1′)。这一字段表明,数据是否将包括一个完成(读)或一个请求(写)。Address Format(寻址格式)(af)寻址格式既可为Implied(′0′),也可为32/64位(′1′)的。Lock(锁)(1k)是一个标志,表明请求是一个锁定的序列的一部分。在一个锁定的序列中的请求和完成将使这一位被设置。集线器代理,不包括锁的,忽略这一标志,并将用′0′填充这一字段。Data Length(数据长度)以双字形式给出数据长度,对其编码,以致于所代表的双字的个数为1+这一个数字,因而″000000″代表一个双字。Space(空间)这一字段为请求选择目标空间类型。在一个实施方案中,可能的目标空间包括存储器(″00″)以及IO(“01”)。1st DW BE字节启动,用于启动存储器或IO的任何读或写请求的第一个双字。字节启动为低态有效。如果对一个请求来说仅存在一个双字,则使用这一字节启动字段。在一个实施方案中,在未进行字节启动的情况下发布一个存储器或IO读或写请求将是非法的。Last DW BE字节启动,用于启动任何读或写请求的最后一个双字。字节启动为低态有效。如果对一个请求来说仅存在一个双字,则这一字段必须是不活跃的(“1111”)。字节启动可以是不连续的(例如“0101”)。这一字段永远不能随特殊周期一起使用,因为它覆盖了“Special Cycle Encoding(特殊周期编码)”字段。Addr[312]生成32位地址,如针对同一周期类型在PCI上那样。包括这一双字是为了32位和64位寻址模式(而不是为了隐含的寻址模式)。Extended Address(扩展的寻址)(ea)指明是32位寻址(′0′)还是64位寻址(′1′)。Config Type(配置类型)(ct)仅针对配置周期,这一位用于指明类型0(′0′)或类型1(′1′)配置周期类型。因为将总是使用32位寻址执行配置周期,所以这一位与″Extended Address″位重叠。Addr(地址)[6332]针对64位寻址模式的高地址位。包括这一双字是为了64位寻址模式。完成信息包根据一个实施方案,以下在表7中描述了完成信息包的首部格式。在一个实施方案中,首部为一个双字。首部的字段,如表8中所示,将在以下的表中加以描述。
然而,在集线器接口的可选的实施方案中,在不背离本发明的范围的情况下,包含在针对完成信息包的首部中的字段可以是不同的。例如,首部可以包括附加的字段、较少的字段、或用于取代以下所描述和所说明的字段的不同的字段。而且,在不背离本发明的范围的情况下,字段的编码也可以是不同的。表7完成信息包首部格式所传输的最后一个字节 所传输的第一个字节31 30 29 28 27 26 25 24|23 22 21 20 19 18 17 16|15 14 13 12 11 10 9 8| 7 6 5 4 3 2 1 0
Transaction Descriptor(事务描述符)Transaction Descriptor Routing and Attribute(事务描述符路由和属性)字段,如先前在“事务”一节中所讨论过的。rq/cp在这一位置,用一个′1′来标识完成信息包。r /w读(′0′)或写(′1′)。这一字段表明,数据是否将包括一个完成(读)或一个请求(写)。Lock(锁)(1k)是一个标志,表明完成是一个锁定的序列的一部分。在一个锁定的序列中的请求和完成使对这一位被设置。代理,不包括锁的,忽略这一标志,并将用′0′填充这一字段。Data Length(数据长度)以双字形式给出数据长度,对其编码,以致于所代表的双字的个数为1+这一个数字。因而,″000000″代表一个双字。Completion Status(完成状态)指明使用预先确定的完成状态。Reserved(保留的)把所有保留的位设置成′0′。
在集线器接口的一个实施方案中,存储器读的完成可以提供少于所请求数据的全部数量的数据,只要整个请求最终得以完成即可。同样,对于存储器写的完成,也可以指明少于已经完成的整个请求。可以这样做是为了满足针对某一具体平台的一个特定集线器接口的接口延迟的要求。
另外,对于一个要求完成的请求来说,在一个实施方案中,发出请求者保留关于这一请求的信息,可以把关于这一请求的信息存储在发出请求的集线器代理的一个缓冲器中。例如,这一信息可以包括事务描述符、信息包的大小,锁的状态、路由信息等。而且,当接收完成(一个或多个)时,发出请求者(initiator)把完成(一个或多个)与相应的请求进行匹配。在多个完成的情况中,发出请求者针对原始请求累计所完成的数据的数目,直至原始的请求全部得以完成。接口仲裁和信息包成帧在集线器接口的接口的一个实施方案中,当接口处于闲置状态时,把来自连接于接口的每一集线器代理的一个请求的声明视为一个仲裁事件。发出请求的第一个代理赢得接口的拥有权。当集线器接口处于闲置状态时,如果各代理同时请求拥有权,那么最近最少得到服务的集线器代理赢得拥有权。在一个实施方案中,所有集线器代理追踪最近最少得到服务的状态(例如,通过一个内部寄存器的一个状态标志)。在可选的实施方案中,可以在本发明的范围内使用可选的仲裁规程。
一旦某一集线器代理获得了接口的拥有权,它将继续拥有这一接口直至其完成了它的事务,或直至一个分配的时间带宽到期。例如,在一个实施方案中,在每一集线器代理中提供了一个时间片计数器,用以控制带宽分配,并用以限制一个代理的接口的拥有权限。对于附接于同一接口的各集线器接口代理来说,分配给一个集线器代理的时间(即时间片值)可以不同也可以相同。当获得接口的拥有权时,启动时间片计数器,并对集线器接口基时钟周期进行计数。
在一个实施方案中,每一集线器代理负责管理其自己的时间片分配。因此,在一个实施方案中,可以经由一个集线器接口命令寄存器针对每一集线器代理中的每一接口对时间片值进行编程。
图5说明了针对代理A和代理B之间的集线器接口的接口进行仲裁以及两个信息包的传递的一个实例。这一实例说明了非闲置接口状态时所进行的仲裁,然后接口返回到闲置状态。而且在所说明的这一实例中,接口使用了一个具有8位的数据信号路径(PD)的4x有数据传递模式。在图5中所说明的实例中,代理A是最近最多得到服务(MRS)的代理。因此,代理A声明其外部请求信号(RQA),并在离开时钟前沿1启动信息包传输之前,对在同一前沿上的代理B的请求信号(RQB)的状态(其被说明为不活跃的)进行取样。
在一个实施方案中,在所传输的数据(即来自代理A的数据)内部地可由接收器(即代理B)获得之前,从时钟前沿3开始,存在着两个时钟的延迟。第一个信息包包括两个双字502和504,并要求两个基时钟,以按4x模式传输。第二个信息包为三个双字506、508以及510,因此在4x模式中需要三个基时钟。流控制在一个实施方案中,因缺乏请求队列空间、数据缓冲器空间、或因其它原因,接收代理可能要重试或断开信息包。在一个实施方案中,使用一个STOP信号实现流控制。
图6说明了使用STOP信号的一个实例。如图中所说明的,代理A声明其外部请求信号(RQA),并在离开时钟前沿1启动信息包传输离之前,对在同一前沿(例如时钟前沿1)上的代理B的请求信号(RQB)的状态(其被说明为不活跃的)进行取样。
在一个两个时钟的延迟之后,从时钟前沿3开始,从代理A所传输的数据内部地由代理B处的接收器获得。在一个实施方案中,在接收了从代理A所传输的数据之后,对于代理B来说,是在时钟前沿4处通过声明STOP信号规定流控制的第一个机会,如图6中所说明的。
另外,当PD信号的拥有权从一个集线器代理变至另一个集线器代理时,在预先确定的若干个时钟之后,STOP信号的拥有权也将被交换。而且,在一个实施方案中,将根据基时钟对STOP信号进行取样,这些基时钟相应于一个信息包宽度的最终的传递。例如,在4x模式中(使用一个8位宽的PD信号),每一基时钟对STOP信号取样一次。然而,对于1x模式来说,则在每第4个时钟对STOP信号取样一次(其中把事务的开始作为一个参照点)。
在接收了一个STOP信号之后,接收STOP信号的集线器代理判断它是否可以重试发送附加的信息包。图7描述的是,根据一个实施方案,在接收了一个STOP信号之后,一个集线器代理判断其是否可以重试发送一个信息包所执行的步骤的流程图。
在步骤702,一个当前正在传输信息包的集线器代理接收一个STOP信号。作为响应,在步骤704,接收STOP信号的集线器代理通过对另一个集线器代理请求信号(例如RQB)进行取样,判断是否另一个代理(它激活了STOP信号)正在请求该接口的拥有权。
如果STOP信号的接收方判断出发送STOP信号的代理未正在请求该接口的拥有权,那么在步骤706,在从STOP恢复之后,接口的当前拥有者可着手传输一个信息包。另一方面,如果它判断出激活了STOP信号的代理正在请求拥有权,那么在步骤708,当前拥有者判断其时间片是否已到期。
对于接口的当前拥有者来说,如果时间片已到期,那么在步骤710当前拥有者释放拥有权。如果针对当前拥有者的时间片没有到期,那么当前拥有者可以传输一个具有一个不同于所中断的信息包的属性的信息包。更具体地说,在步骤712,当前拥有者判断它是否拥有一个需要加以传输的并具有一个与任何已经在当前仲裁期间(即当前拥有者的使用权期间)内已重试过的信息包的属性类型不同的属性类型的信息包。
如果当前拥有者确实拥有一个具有一个不同属性的信息包,那么在步骤714,当前拥有者可着手传输这一信息包。否则,当前拥有者释放对这一接口的拥有权。物理接口在一个实施方案中,集线器接口的接口实现了操作在66MHz或100MHz基频率上的一个物理接口。也可以使用其它的频率。另外,在一个实施方案中,物理接口使用了一种源同步(SS)数据传递技术,这一技术可以为4时钟的,以按基集线器接口时钟的4倍传递数据。因此,在一个拥有一个操作在66MHz或100MHz的基频率上的8位的数据接口(例如PD)的实施方案中,可以分别达到266兆字节/每秒(MB/s)或400MB/s的带宽。
而且,在一个实施方案中,集线器接口的接口支持1.8V的电压操作,并基于互补型金属氧化物半导体(CMOS)工艺发射信号。然而,在一个可选的实施方案中,在不背离本发明的范围的情况下,基于可选的信号处理,这一接口可以操作在可选的频率与/或可选大小的数据接口上,以提供不同的带宽,并支持可选的操作电压。外部信号定义图8说明了根据一个实施方案的两个集线器代理之间的集线器接口的物理信号接口。如图8中所描述的,集线器接口物理接口使用了一条双向8位的数据总线(PD[70]),具有用于数据计时的一个不同的源同步选通脉冲信号对(PSTRBN,PSTRBP)。在一个可选的实施方案中,可以加宽接口。例如,如图8中所示,也可以把一条附加的8位数据总线(PD[158])随源同步选通脉冲信号对(PSTRBN,PSTRBP)的一个附加对一起加以使用。而且,在一个可选的实施方案中,可以使用单向的数据信号。
另外,一个单向仲裁信号把每一代理连接于另一代理(RQa,RQb),接收代理使用一个双向的STOP信号控制数据流,如先前加以描述的。附加的接口信号包括系统的复位(Reset)、公共时钟(HLCLK)、以及电压参照(HLVREF)信号。另外,还包括针对每一集线器代理(ZCOMP)的信号,以把每一集线器代理的驱动器输出阻抗匹配于相应的值,以补偿制造和温度方面的偏差。
以下将在表8中进一步描述图8中所说明的接口中所示的物理信号。在集线器接口的可选的实施方案中包含在物理接口中的信号可以不同,而不背离本发明的范围。例如,物理接口可以包括更多、更少或与图8中所示信号不同的信号,将在表8中对此进一步加以描述。表8针对8位代理的集线器接口的接口信号
1ASTS信号=活跃维持的三态2SS=源同步模式信号3CC=公共时钟模式信号4在一个实施方案中,Reset是一个系统宽信号。它是来自系统的某一部件的一个输出和向其它部件(一个或多个)的一个输入。而且,Reset相对HLCLK是异步的。公共时钟传递模式操作在一个实施方案中,许多跨越集线器接口的接口传输的信号根据一个公共时钟模式加以传输。更具体地说,经由公共时钟模式传输的信号的计时参照于一个单一的时钟(例如,集线器接口时钟)。在可选的实施方案中,可以把这些信号与一个系统时钟相关联,外部于集线器接口代理。而且,在一个系统中可存在一个以上的集线器接口段,在这一情况中,可以针对不同的段使用不同的基时钟。例如,一个部件可以既实现一个66MHz的基集线器接口的接口, 也可以实现一个100MHz的基集线器接口的接口。源同步传递模式操作在一个实施方案中,使用一个源同步时钟模式传输信息包/数据,这一模式提供了一种用于倍增数据的数据传递率的方法。例如,在一个使用具有一个8位数据信号路径的4X源同步计时模式的实施方案中,传输一个双字(即4个字节)仅要求一个集线器接口时钟周期(HLCK)。另外,使用1X源同步计时模式在一个8位数据信号路径上传输一个双字将要求一个完整的集线器接口时钟周期才能完成。
更具体地说,在源同步传递的一个实施方案中,根据选通脉冲和数据之间的一个预先确定的计时关系,随一个数据传输一起发送选通脉冲(例如PSTRBN/PSTRBP)。接下来,使用选通脉冲把数据锁于接收集线器代理中。
更具体地讲,在一个实施方案中,接收集线器代理把选通脉冲PSTRBP/PSTRBN的前沿用于标识正在被跨越数据信号路径传递的数据的提交和计时。例如,如图9中的时序图中所说明的,在一个实施方案中,一个第一数据传递对应于PSTRBP的上升沿和PSTRBN的下降沿。一个第二数据传递对应于PSTRBN的上升沿和PSTRBP的下降沿。
另外,在一个实施方案中,如果在图9中进一步加以描述的,选通脉冲PSTRBP/PSTRBN的传输前沿位于数据有效窗口的中心附近。因此,把一个输入数据取样窗口给予接收代理,以适应不同的系统计时偏移。而且,在一个实施方案中,接收集线器代理把选通脉冲前沿之前的一个最小有效数据(tDvb)以及选通脉冲前沿之后的一个最小有效数据(tDva)用于标识和封锁所传输的数据。一旦接收集线器代理封锁了进入的数据,则此后占有这一数据短暂的一段时间,以在集线器代理中把这一数据向前传送之前,把这一数据与集线器接口时钟(HLCK)重新加以同步。
在以上的说明中,已参照本发明的具体的、示范性的实施方案对本发明进行了描述。然而,很显然,在不背离本发明的较宽的构思与范围的情况下,可以对本发明进行各种变更与修改。例如,根据一个实施方案,可以在一个拥有多个处理器的计算机系统中实现集线器接口的接口,如图10中所说明的。因此,把对本发明的说明以及附图视为说明性的而非限制性的。
权利要求
1.一种用于在一个计算机系统中的一个存储器控制集线器(MCH)和一个输入输出控制集线器(ICH)之间直接传递数据的接口,该接口包括一个数据信号路径,用于经由对事务进行分解按信息包传输数据;以及一组命令信号,其中,上述接口在上述MCH和上述ICH之间提供了一个点到点的连接,排除了直接连接于接口的一条外部总线。
2.权利要求1的接口,其中,上述计算机系统中的上述MCH和上述ICH是一个芯片组中的部件。
3.权利要求1的接口,其中,在对上述接口的拥有权的仲裁之后,使用一个请求信息包在上述接口上启动一个第一事务。
4.权利要求3的接口,其中,上述请求信息包包括一个事务描述符。
5.权利要求3的接口,其中,响应上述第一事务的上述请求信息包在上述接口上传输一个完成信息包。
6.权利要求3的接口,其中,上述请求信息包包括事务描述符,上述完成信息包包括一个相应的事务描述符。
7.权利要求5的接口,其中,可在响应上述第一事务的请求信息包传输上述完成信息包之前,跨越上述接口传输一个针对一个第二事务的请求信息包。
8.权利要求3的接口,其中,上述数据信号路径是可放缩的。
9.权利要求8的接口,其中,经由一个源同步时钟模式跨越上述数据信号路径传输信息包。
10.权利要求9的接口,其中,上述接口包括一组双向的数据信号、一个第一和第二源同步选通脉冲信号、一个单向仲裁信号、以及一个双向停止信号。
11.权利要求10的接口,其中,上述接口还包括一个系统复位信号、一个公共时钟信号、以及一个电压参照信号。
12.权利要求11的接口,其中,上述事务描述符标识至少三个集线器之间的多个接口的一个层次结构中的分离的集线器。
13.权利要求5的接口,其中,上述请求信息包包括一个字段,该字段指明是否响应各请求信息包要求一个完成信息包。
14.权利要求3的接口,其中,上述集线器之间的仲裁是对称的和分布的。
15.权利要求3的接口,其中,一个集线器被分配上述接口的拥有权,直到一个预定的时间量。
16.一种用于在一个计算机系统中的一个存储器控制集线器(MCH)和一个输入输出控制集线器(ICH)之间直接传递数据的接口,该接口包括一个第一装置,用于经由对事务进行分解,在上述MCH和上述ICH之间按信息包传输数据;以及一个第二装置,用于传输命令信号,其中上述接口在上述MCH和上述ICH之间提供了一个点到点连接,排除了直接连接于接口的一条外部总线。
17.权利要求16的接口,其中,上述计算机系统中的上述ICH和上述MCH是一个芯片组中的部件。
18.权利要求17的接口,其中,上述接口包括一个用于通过一个请求信息包在上述接口上启动一个第一事务的装置。
19.权利要求18的接口,其中,上述请求信息包包括一个事务描述符。
20.权利要求19的接口,其中,上述接口包括用于响应上述第一事务的上述请求信息包提供一个完成信息包的装置。
21.权利要求18的接口,其中,上述请求信息包包括一个事务描述符, 上述完成信息包包括一个相应的事务描述符。
22.权利要求21的接口,其中, 上述接口包括一个用于在响应上述第一事务的请求信息包传输上述完成信息包之前,跨越上述接口传输针对一个第二事务的请求信息包的装置。
23.权利要求22的接口,其中,上述用于经由对事务进行分解按信息包传输数据的上述第一装置还包括用于放缩数据信号路径的装置。
24.权利要求23的接口,其中,上述接口包括用于经由一个源同步时钟模式跨越上述接口传输信息包的装置。
25.权利要求21的接口,其中,上述事务描述符包括一个用于标识三个或三个以上的集线器之间的多个接口的一个层次结构中的分离的集线器。
26.权利要求20的接口,其中,上述请求信息包包括一个用于指明是否响应相应的请求信息包要求一个完成信息包的装置。
27.权利要求26的接口,其中,接口包括一个用于针对上述接口的拥有权在上述集线器之间进行仲裁的装置。
28.权利要求21的接口,其中,上述接口还包括一个用于把上述接口的拥有权分配给上述集线器之一,直到一个预定的时间量的装置。
29.一个用于在计算机系统中的一个芯片组的存储器控制集线器和输入输出(I/O)集线器之间传输数据的接口,该接口包括一个双向的数据信号路径以及一对源同步选通脉冲信号,上述数据信号路径经由对事务进行分解按信息包传输数据,上述信息包包括一个请求信息包和完成信息包,上述请求信息包包括一个事务描述符;以及一组命令信号,包括单向仲裁信号、一个双向停止信号、一个系统复位信号、一个公共时钟信号、以及一个电压参照信号,其中,上述接口在上述存储器控制集线器和上述I/O集线器之间提供了一个点到点的连接, 排除了直接连接于点到点的连接的一条外部总线。
30.一个计算机系统,该系统包括一个处理器;一个耦合于上述处理器的存储器控制集线器(MCH);一个经由一个接口耦合于上述MCH的输入输出控制集线器(ICH),以在MCH和ICH之间直接传递数据;上述接口拥有一个数据信号路径,用于经由对事务进行分解按信息包传输数据,以及上述接口包括一组命令信号,其中,上述接口在上述MCH和上述ICH之间提供了一个点到点的连接,排除了直接连接于点到点的连接的一条外部总线;以及至少一个耦合于上述ICH的外部部件。
31.权利要求30的计算机系统,其中,上述外部部件是一个外部部件互连(PCI)代理。
32.权利要求31的计算机系统,其中,上述计算机系统中的上述第一和第二集线器是芯片组中的部件。
33.权利要求32的计算机系统,其中,在对上述接口的拥有权进行仲裁之后,使用一个请求信息包在上述接口上启动一个第一事务。
34.权利要求33的计算机系统,其中,上述请求信息包包括一个事务描述符。
35.权利要求33的计算机系统,其中,响应上述第一事务的上述请求信息包在上述接口上传输一个完成信息包。
36.权利要求35的计算机系统,其中,上述请求信息包包括一个事务描述符,上述完成信息包包括一个相应的事务描述符。
37.权利要求36的计算机系统,其中,可在响应上述第一事务的请求信息包传输上述完成信息包之前,跨越上述接口传输一个针对一个第二事务的请求信息包。
38.权利要求36的计算机系统,其中,上述数据信号路径是可放缩的。
39.权利要求38的计算机系统,其中,经由一个源同步时钟模式跨越上述数据信号路径传输信息包。
40.权利要求39的计算机系统,其中,上述接口包括一组双向的数据信号、一个第一和第二源同步选通脉冲信号、一个单向仲裁信号、以及一个双向停止信号。
41.权利要求40的计算机系统,其中,上述接口还包括一个系统复位信号、一个公共时钟信号、以及一个电压参照信号。
42.权利要求41的计算机系统,其中,上述事务描述符标识至少三个集线器之间的多个接口的一个层次结构中的分离的集线器。
43.权利要求42的计算机系统,其中,上述请求信息包包括一个字段,该字段指明是否要求响应相应请求信息包的一个完成信息包。
44.权利要求43的计算机系统,其中,上述集线器之间的仲裁是对称的和分布的。
45.权利要求44的计算机系统,其中,为一个集线器分配上述接口的拥有权,直到一个预定的时间量。
46.权利要求31的计算机系统,其中,该计算机系统包括多个处理器。
47.权利要求31的计算机系统,其中,该计算机系统还包括一个经由一个接口耦合于上述ICH的第三集线器,包括一个双向数据信号路径和一对源同步选通脉冲信号,上述数据信号路径经由对事务进行分解按信息包传输数据,上述信息包包括一个请求信息包和完成信息包,上述请求信息包包括一个事务描述符;以及一组命令信号,包括单向仲裁信号、一个双向停止信号、一个系统复位信号、一个公共时钟信号、以及一个电压参照信号。
48.权利要求31的计算机系统,其中,把该计算机系统的处理器和MCH集成在一个单一的半导体单元中。
49.权利要求31的计算机系统,其中,把该计算机系统的MCH和一个图形单元集成在一个单一的半导体单元中。
50.一个存储器控制集线器(MCH),该集线器包括一个接口,用于在一个计算机系统中把数据直接传输于一个输入输出控制集线器(ICH),该接口拥有一个用于经由对事务进行分解按信息包传输数据的数据信号路径,以及一组命令信号,其中,上述接口在上述MCH和上述ICH之间提供了一个点到点的连接,排除了直接连接于该接口的一条外部总线。
51.权利要求50的存储器控制集线器,其中,上述MCH和上述ICH是一个芯片组中的部件。
52.权利要求50的存储器控制集线器,其中,在对上述接口的拥有权进行仲裁之后,使用一个请求信息包在上述接口上启动一个第一事务。
53.权利要求52的存储器控制集线器,其中,上述请求信息包包括一个事务描述符。
54.权利要求53的存储器控制集线器,其中,响应上述第一事务的上述请求信息包在上述接口上传输一个完成信息包。
55.权利要求52的存储器控制集线器,其中,上述请求信息包包括事务描述符,上述完成信息包包括一个相应的事务描述符。
56.权利要求55的存储器控制集线器,其中,可在响应上述第一事务的请求信息包传输上述完成信息包之前,跨越上述接口传输一个针对一个第二事务的请求信息包。
57.权利要求56的存储器控制集线器,其中,上述数据信号路径是可放缩的。
59.权利要求57的存储器控制集线器,其中,经由一个源同步时钟模式跨越上述数据信号路径传输信息包。
60.权利要求59的存储器控制集线器,其中,上述接口包括一组双向的数据信号、一个第一和第二源同步选通脉冲信号、一个单向仲裁信号、以及一个双向停止信号。
61.权利要求60的存储器控制集线器,其中,上述接口还包括一个系统复位信号、一个公共时钟信号、以及一个电压参照信号。
62.权利要求61的存储器控制集线器,其中,上述事务描述符标识至少三个集线器之间的多个接口的一个层次结构中的分离的集线器。
63.权利要求62的存储器控制集线器,其中,上述请求信息包包括一个字段,该字段指明是否要求响应相应请求信息包的一个完成信息包。
64.权利要求63的存储器控制集线器,其中,上述集线器之间的仲裁是对称的和分布的。
65.权利要求64的存储器控制集线器,其中,为一个集线器分配上述接口的拥有权,直到一个预定的时间量。
66.权利要求50的存储器控制集线器,其中,上述存储器控制集线器和一个处理器集成在一个单一的半导体单元中。
67.权利要求50的存储器控制集线器,其中,上述存储器控制集线器和一个图形单元集成在一个单一的半导体单元中。
全文摘要
一个用于在计算机系统中的一个芯片组的存储器控制集线器和输入输出控制集线器之间传输数据的接口,这一接口的一个实施方案包括一个双向的数据信号路径和一对源同步选通脉冲信号。数据信号路径经由对事务进行分解按信息包传输数据。另外,信息包包括一个请求信息包,如果需要的话,还包括一个完成信息包。而且,在一个实施方案中,请求信息包包括一个事务描述符。
文档编号G06F13/42GK1415094SQ00817827
公开日2003年4月30日 申请日期2000年10月23日 优先权日1999年10月26日
发明者J·阿亚诺维克, D·J·哈里曼 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1