CN1815463B - 四重抽吸总线体系结构和协议 - Google Patents

四重抽吸总线体系结构和协议 Download PDF

Info

Publication number
CN1815463B
CN1815463B CN200410061754.4A CN200410061754A CN1815463B CN 1815463 B CN1815463 B CN 1815463B CN 200410061754 A CN200410061754 A CN 200410061754A CN 1815463 B CN1815463 B CN 1815463B
Authority
CN
China
Prior art keywords
bus
data
address
strobe pulse
pulse signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN200410061754.4A
Other languages
English (en)
Other versions
CN1815463A (zh
Inventor
G·辛格
R·J·格雷尼尔
S·S·保洛夫斯基
D·L·希尔
D·D·帕克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN1815463A publication Critical patent/CN1815463A/zh
Application granted granted Critical
Publication of CN1815463B publication Critical patent/CN1815463B/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • G06F13/4217Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with synchronous protocol

Abstract

双向多点处理器总线连接到多个总线代理。通过在多重抽吸信令模式下操作总线能够增加总线吞吐量,在这种模式下多个信息单元由驱动代理以是总线时钟频率倍数的速度驱动到总线上。驱动代理还激活选通脉冲以标识用于这些信息单元的采样点。用于请求的信息单元能够被驱动,例如,通过使用双重抽吸信令模式来进行,在该模式下两个信息单元在一个总线时钟周期内被驱动。用于数据线传送的数据单元能够被驱动,例如,通过使用四重抽吸信令模式来进行,在该模式下四个数据单元在一个总线时钟周期内被驱动。多个选通脉冲信号能够以偏移或者交错方案被临时激活以减小选通脉冲信号的频率。采样对称性能够通过仅仅使用一种类型的选通脉冲信号边沿(例如,上升沿或者下降沿)来标识采样点而得到改善。

Description

四重抽吸总线体系结构和协议
技术领域
本发明通常涉及处理器,尤其涉及四重抽吸总线体系结构和协议。
随着当今软件和应用日益增加的复杂性和要求,需要处理器提供增加了的吞吐量和带宽。可能有一个或多个能够对限制计算机性能起作用的资源,诸如输入/输出(I/O)速度或者带宽、存储器容量等。通常限制或者压制计算机性能的资源是处理器总线或者前端总线的速度和带宽,处理器总线或者前端总线是在一个或多个处理器和芯片组之间提供的总线。例如,某些奔腾
Figure GA20170639200410061754401D00011
处理器(诸如由Intel公司生产的Pentium Pro
Figure GA20170639200410061754401D00012
处理器)包含64比特的数据总线,并且能够在每个处理器时钟周期内传输8个字节,并且能够在4个时钟周期内传输32字节的高速缓存行。因此,如果提供100兆赫的处理器时钟(举例来说),则数据传送率将是800兆字节/秒。Pentium Pro处理器体系结构的各种细节能够在1996年1月出版的、ISBN1-55512-259-0、名为“Pentium Pro Family Developer′s Manual,Volume 1:Specifications”的书中找到。虽然800兆字节/秒的数据传送率足以满足许多应用,但是需要提供提高了的数据传送率或者带宽的处理器总线。
发明概述
依据本发明的一个实施例,提供了经由多点总线从驱动代理向一个或多个接收代理传输信息的方法。向驱动代理和接收代理两者提供公共的总线时钟。总线事务从驱动代理发布到一个或多个接收代理,包含:(1)驱动代理以是总线时钟频率倍数的速度驱动用于请求的多个信息单元到地址总线上;以及(2)驱动代理激活第一个选通脉冲信号以标识接收代理应当何时采样在地址总线上被驱动的信息单元。该方法还包含从驱动代理向一个或多个接收代理传送数据,包括:(1)驱动代理以是总线时钟频率不同倍数的速度驱动多个信息单元到数据总线上;以及(2)驱动代理激活第二个选通脉冲以标识一个或多个接收代理应当何时采样被驱动到数据总线上的信息单元。
附图简要说明
通过以下对示范实施例的详细说明以及权利要求,以及阅读时结合的附图,所有这些构成了这个发明公开的一部分,本发明的上述和更好的理解将会是显然的。虽然以上和随后撰写和说明的公开集中于本发明的公开示例实施例,但是显然应该明白,它仅仅是作为说明和例子,而不是局限于此。本发明的精神和范围仅仅由附加权利要求中的项限制。
以下表示附图的简要说明,其中:
图1是框图,示出了依据本发明一个示例实施例的计算机。
图2是框图,示出了依据本发明一个示例实施例的处理器总线。
图3是时序图,示出了依据一个实施例用于两个示例事务的示例总线事务的阶段关系。
图4是示例时序图,示出了依据一个实施例的公共时钟信令模式的示例操作。
图5是时序图,示出了依据一个实施例的示例四重抽吸信令模式的操作。
图6是时序图,示出了依据一个实施例的示例双重抽吸信令模式的操作。
图7是图,示出了在事务阶段之间的最小等待时间或者延迟。
图8是依据一个实施例、用于在代理之间传送信息的装置的框图。
图9是依据另一个实施例、用于在代理之间传送信息的装置的框图。
用于实现本发明的最佳方式
I.介绍
依据一个实施例,处理器总线连接到多个总线代理。因为某些类型的信号使用公共时钟信令模式进行传输,而其他类型的信号使用多重抽吸的信令模式进行传输,所以总线是可伸缩的。
在公共时钟信令模式中,信号(诸如控制信号)能够以实质上与公共总线时钟频率相同的速度被驱动到总线上。在这种模式下,总线时钟的边沿标识用于采样被驱动到总线上的信号的点。
通过以多重抽吸信令模式操作总线能够增加总线吞吐量,在多重抽吸信令模式中,多个信息单元由驱动代理以是总线时钟频率倍数的速度驱动到总线上。驱动代理还临时地激活选通脉冲信号以标识用于在多重抽吸信令模式中被驱动的信息单元的采样点。用于请求的信息单元能够,例如,通过使用双重抽吸信令模式被驱动,在双重抽吸信令模式中两个信息单元在总线时钟周期内被驱动。用于数据线传送的数据单元能够,例如,通过使用四重抽吸信令模式被驱动,在四重抽吸信令模式中四个数据单元在总线时钟周期内被驱动。多个选通脉冲信号能够以偏移或者交错方案被临时激活以减小选通脉冲信号的频率。采样对称能够通过仅仅使用一种类型的选通脉冲信号边沿(例如,上升沿或者下降沿)来标识采样点而得到改善。此外,在事务阶段之间的最小等待时间能够被修改以更接近地匹配在多重抽吸信令模式中操作的总线最大速度。
II.体系结构
图1是框图,示出了依据本发明一个示例实施例的计算机。计算机包括一个或多个处理器,包括处理器110、处理器112和处理器114。每个处理器还包括内部高速缓存(未显示)。
每个处理器还连接到公共处理器总线117(也被称为主机总线或者前端总线)。图2是框图,示出了依据一个示例实施例的处理器总线117。如图2所示,处理器总线117包括控制总线202、地址总线204和数据总线206。依据一个实施例,数据总线206包含许多信号,其包括64条数据线D[63:0]在内。地址总线204也包含许多信号,其包括36条地址线A[35:0]在内。处理器总线117包含总线时钟(BCLK)。总线时钟是共用的,而且经由处理器总线117中的控制总线202提供给所有代理。控制总线202也包含许多信号。地址总线204、控制总线202和数据总线206中每个最好都为多点双向总线。依据一个实施例,术语“多点”意味着这些总线被连接到三个或更多的总线代理,这与仅仅连接在两个总线代理之间的点对点总线相反。
系统接口116(或者芯片组)也被连接到处理器总线117以把其他几个组件连接到处理器总线117。系统接口116包含存储器控制器118,用于把主存储器子系统122连接到处理器总线117。主存储器子系统122通常包含一个或多个存储卡和控制电路。系统接口116还包含输入/输出(I/O)控制器120,以把一个或多个I/O桥接器或者I/O设备连接到处理器总线117。在如图1所示的这个示例计算机中,I/O控制器120把I/O桥接器124连接到处理器总线117。I/O桥接器124用作总线桥接器,以在系统接口116和I/O总线130之间进行连接。一个或多个I/O控制器120和I/O设备能够连接到I/O总线130上,例如I/O控制器132和I/O控制器134。I/O总线130可以是Peripheral Component Interconnect(外围组件互连,PCI)总线或者其他类型的I/O总线。
III.代理
总线代理在处理器总线117上发布事务以传送数据和系统信息。总线代理是连接到处理器总线117的任何设备。可能有几种类别的总线代理:
(1)Central Agent(中央代理):处理复位、硬件配置和初始化、特定事务和集中式的硬件错误检测和处理。一个例子是处理器。
(2)I/O Agent(I/O代理):使用I/O端口地址连接到I/O设备。能够是到用于I/O设备的另一条总线的总线桥接器,诸如PCI桥接器。
(3)Memory Agent(存储器代理):提供对主存储器的访问,诸如存储器控制器118。
特定的总线代理能够在事务中具有以下几个作用中的一个或多个:
(1)Requesting Agent(请求代理):发布事务的总线代理。
(2)Addressed Agent(被寻址代理):由事务寻址的代理。还被称作Target Agent(目标代理)。存储器或者I/O事务被发给识别指定的存储器或者I/O地址的存储器或者I/O代理。延期答复事务被发给发布初始事务的那个代理。
(3)Snooping Agent(探听代理):观察(“探听”)总线事务以保持高速缓存相关的高速缓存总线代理。
(4)Responding Agent(响应代理):提供对事务的响应的代理(通常是被寻址的代理)。依据一个实施例,响应代理使用响应选通脉冲RS[2:0]来驱动响应到控制总线上。
IV.操作、事务和阶段
依据一个实施例,在处理器总线117上的总线动作被分等级地组织成操作、事务和阶段。
操作是即使它在总线117上可能不是基本的但是对软件来说显得是基本的(例如,看起来是不可分的或者看起来是一次发生的)总线过程。操作可以包含单个总线事务,但是有时可以涉及多个总线事务,或者可以涉及具有多个数据传送的单个事务。示例包括读操作、写操作、锁定的读取-修改-写入操作和延期操作。
事务是与单个总线请求有关的总线动作集合。事务从总线判优、以及ADS#信号(指示地址正被驱动)和事务地址的断定开始。事务被驱动,例如来传送数据,来查询改变了的高速缓存状态,或者向系统提供信息。
阶段使用一组特定信号以传递特殊类型的信息。阶段能够包含:判优、请求、探听、响应和数据。不是所有的事务都包含所有的阶段,而且某些阶段能够重叠。判优阶段是总线代理确定谁将是下一个总线拥有者(代理在发布事务之前必须拥有总线)的阶段。请求阶段是把事务发布到总线的阶段。探听阶段是执行高速缓存相关的阶段。响应阶段是被寻址的代理或者目标代理驱动事务响应到总线上的阶段。在数据阶段中,请求或者响应或者探听代理驱动或接受事务数据。
经由处理器总线117传送的四个控制信号包含:总线时钟BCLK[1:0]、初始化信号INIT#和复位信号RESET#。总线时钟BCLK[1:0]是差动总线时钟,并且可以由时钟芯片或者时钟电路产生。两个总线时钟信号BCLK[1:0]逻辑上是相同的,而且在物理上被路由为两个单独的信号以减少时滞。依据一个实施例,所有代理在总线时钟上升沿上驱动它们的公共时钟输出并且锁存它们的公共时钟输入。每个处理器通过用一个或者多个数字去乘和/或除总线时钟频率,从总线时钟BCLK信号中导出它的内部时钟。
依据一个实施例,RESET#输入信号复位所有的总线代理到已知状态,并且使它们的内部高速缓存无效。被修改或者脏的高速缓存行内容丢失。在RESET#被取消断定之后,每个处理器以在配置期间定义的加电复位矢量开始执行。
依据一个实施例,INIT#输入信号复位所有的处理器而不影响它们的内部高速缓存或者它们的浮点寄存器。每个处理器以在配置期间定义的加电复位矢量开始执行。
图3是时序图,示出了依据一个实施例的用于两个示例事务的示例总线事务阶段关系。在上面显示了总线时钟(BCLK[1:0])的周期(1,2,3,4,...17)。具有数字1的矩形指示用于事务1的各个阶段,而具有数字2的矩形指示用于事务2的阶段。能够从图3中看出,以流水线方式提供事务。例如,对事务1来说,判优发生在总线时钟周期1和2中,请求发生在周期3和4中,探听发生在周期6和7中,而且响应和数据传送发生在周期13和14中。因此,能够看出在初始请求阶段之后响应和数据传送可以发生许多个总线时钟周期。此外,在不同事务的阶段之间能有重叠。例如,用于事务2的判优阶段与用于事务1的请求阶段大约同时发生。
V.信令模式
依据一个实施例,处理器总线117是可伸缩的,并且支持两种信令模式。第一种是公共时钟信令模式,在该模式下所有的信号激活和采样或者锁存点相对于公共总线时钟(BCLK#)发生,其中公共总线时钟(BCLK#)是在所有代理之间连续提供的。总线时钟通常由在母板上提供的时钟芯片或者时钟电路产生,并且对在计算机中的所有处理器或者代理是共用的。相对于公共总线时钟的信号计时被称为公共时钟(1X)信令模式。依据一个实施例,经由控制总线提供的许多控制信号使用公共时钟(1X)信令模式进行传送。
第二种信令模式是多重抽吸信令模式,它允许是由公共时钟信令模式支持的传输速度倍数的信息传输速度。因此,依据一个实施例,多重抽吸信令模式能够支持以是公共(即系统)总线时钟频率倍数的速度、在代理之间经由处理器总线117传送信息。例如,多重抽吸信令模式可以提供例如双重抽吸信令模式,或是可以提供四重抽吸信令模式,其中双重抽吸信令模式允许信息(例如,数据、地址或者其他信息)以公共时钟频率速度的两倍(2X)进行传输,而四重抽吸信令模式以总线时钟频率的四倍(4X)提供信息传输。为了便于以这样大于公共总线时钟的速度或者频率传输信息,驱动代理还发布或者提供被称为定时“选通脉冲”的伴生信号,信号由接收器使用作为参考用于捕获或者锁存多重抽吸的信息。
术语“断定”是指信号被驱动到它的有效电平(即,对低电平有效的信号来说,被驱动到零),而且术语“取消断定”是指信号被驱动到它的无效电平。在如下所述的某些时序图中使用了正方形、圆形和三角形符号以指示特定信号何时被驱动或者采样。正方形指示信号在那个时钟周期中被驱动(断定、启动)。圆形指示信号在那个时钟周期中被采样(观察、锁存)。圆形通常被用来在公共时钟(1X)信令模式中基于总线时钟(BCLK)的上升(或者下降)沿显示采样点。三角形指示信号基于被称为“选通脉冲”的伴生信号的上升或者下降沿被采样或者捕获。选通脉冲最好可以是仅仅在信息(例如,数据、地址、其他信息)传输期间内经由通常在多重抽吸模式下的处理器总线被接通或者被激活。
A.公共时钟信令模式
依据公共时钟(1X)信令模式的一个实施例,在处理器总线117上的所有代理被要求驱动它们的有效输出并且采样所需的输入。依据一个实施例,每个输入应该在总线时钟的上升沿上在有效采样间隔期间内被采样,而且一到下一个总线时钟上升沿就把它的效果或者结果向外驱动到总线117上。这个方法实例允许完整的总线时钟周期用于组件间的通信(信号传输和传播),以及在接收器处允许至少一个完整的总线时钟周期来解释这些信号并且计算和输出响应。因此,在代理在一个或多个总线时钟周期中把数据驱动到处理器总线上之后,在另一个代理能够驱动处理器总线117之前有总线时钟周期的暂停(例如,不工作周期或者不活动周期)。
图4是示例时序图,示出了依据一个实施例的公共时钟(1X)信令模式的示例操作。当信号出现在处理器总线117上时显示这些信号。显示了总线时钟(BCLK)的四个周期。还显示了两个额外的示例信号,包括A#和B#,它们可以是任何类型的信号。例如,A#可以是来自于第一代理的第一控制信号,而B#可以是来自于第二代理的第二信号。第一和第二控制信号可以被提供作为例如信号交换或者总线协议的一部分。
如图1所示,信号A#在时钟周期1的上升沿(如在A#中的正方形所示)处被驱动(或者断定),并且在总线时钟周期2开始处的上升沿在接收器处被锁存(如用于A#的圆形所示)。因此,提供了时钟周期1用于信号传播。虽然A#在周期1的开始处被断定,但是它直到周期2的开始才在总线上被观察。然后,存在暂停或者不活动的时钟周期(在用于逻辑延迟和用于接收器解释信号的总线时钟周期2期间)。接收器然后在总线时钟周期3的开始处驱动或者断定B#信号(如用于B#的正方形所示),其在周期4的开始处由其他代理观察和捕获(如用于B#的圆形所示)。
依据一个实施例,处理器包含64字节的高速缓存行(而不是在某些奔腾处理器中使用的32字节高速缓存行)。因此,如果数据使用公共时钟(1X)信令模式和64条数据总线线传输,则64字节(一个高速缓存行)的数据能够在8个总线时钟周期内被驱动或者传输。然而,在许多应用中,有可能期望提供更快的数据传送率或者更大的带宽。
B.多重抽吸信令模式
在许多实例中,处理器总线117的长度、电限制(包含用于穿过总线的信号传播等待时间)可以阻止增加处理器总线频率。因此,依据一个实施例,多重抽吸信令协议通过以总线时钟(BCLK)频率的倍数操作适当的总线信号组(例如,地址总线或者数据总线)来增加数据传送率(经由公共时钟信令模式),而不是增加处理器总线时钟频率。
1.四重抽吸信令模式的示例
在四重抽吸信令模式中,适当的总线信号组以总线时钟(BCLK)频率的四倍(4X)进行操作。换句话说,在四重抽吸信令模式中,在总线时钟周期(在公共时钟或者1X信令模式中驱动信息单元所需的时间)内四个信息单元被驱动到处理器总线117上。
图5是时序图,示出了依据一个实施例的示例四重抽吸信令模式的操作。虽然四重抽吸信令模式能用于任何类型的信号,但是依据一个示例实施例,四重抽吸信令协议用于传输数据。在图5中显示了两个总线时钟周期和第三总线时钟周期的一部分。穿过处理器总线117的最差的飞行时间(或者信号传播时间)造成在第一个信息单元已经被锁存在接收器(接收代理)处之前,第二个信息单元可以被驱动到在驱动器处的处理器总线117上(即,代理驱动信息到处理器总线上)。
依据一个实施例,驱动器(或者驱动代理)在总线时钟(BCLK)周期的上升沿以及25%、50%和75%的点上发送或者驱动新的信息单元。
接收器还发送被称为数据选通脉冲信号的伴生定时信号,伴生定时信号指示何时接收器应当采样或者捕获数据。选通脉冲信号更可取的是只有当使用多重抽吸信令模式发送信息时才被发送或者驱动(激活)。
因为数据和选通脉冲信号由相同的驱动器或者源产生,数据和选通脉冲将具有相同的路径。结果,选通脉冲信号和数据信号应当具有相同的路径,因此具有大致相同的延迟。因此,由发送选通脉冲和数据的驱动器或者源实现的优点是,数据信号和选通脉冲信号将同相地(或者同步地)到达总线117上的每个代理处。因此,驱动器既发送数据又发送定时选通脉冲信号的这种技术能够被称为是源同步传送。在四重抽吸信令模式中,在每个总线时钟周期中应该有四个数据选通脉冲(例如,四个定时选通脉冲边沿),每一个标识信息采样或捕获点),四个数据单元中的每一个数据单元一个数据选通脉冲。不幸的是,在以比较高的频率产生选通脉冲信号中可能出现问题。在高时钟速度下,上升沿速率和下降沿速率之差可以很大。此外,可能难以提供具有50%占空因数的时钟信号或者选通脉冲信号。结果,在某些高时钟频率处,选通脉冲信号的上升沿和下降沿不应用来标识采样点,因为这可能产生不对称或者引入一定程度的定时不准。相反地,仅仅使用选通脉冲两个边沿的一个(即,仅仅使用选通脉冲信号的上升沿或者仅仅使用选通脉冲信号的下降沿来采样或者捕获四重抽吸数据)来获得更对称或者更均匀的选通脉冲定时或者采样间隔可能是有利的。
如果仅仅使用了选通脉冲的一个边沿,则这一般会要求是总线时钟频率倍数的时钟频率。在四重抽吸数据(每个总线时钟周期四个数据单元)的情况下,如果仅仅一个边沿用于定时则选通脉冲信号频率应当是总线时钟频率的四倍(4X)。
不幸的是,如果处理器时钟频率是100兆赫(举例来说),则这会要求是400兆赫的选通脉冲信号频率(在这个示例中)。然而,是总线时钟频率四倍的选通脉冲信号频率可能遇到不同于传输的数据或者信息的延迟,这能够影响在接收器处数据和选通脉冲的对齐。这种在传输的选通脉冲信号和传输的数据之间的未对齐可能导致接收器捕获坏的或者错误的数据。此外,在这样高的频率(例如400兆赫)处,信号衰减能够是高得多。
因此,依据一个实施例,多个数据选通脉冲信号用于在每个总线时钟周期提供四个选通脉冲,而不用使用是总线时钟频率四倍(4X)的选通脉冲频率。依据一个实施例,在总线时钟频率两倍处分别提供两个数据选通脉冲信号(DSTBp#和DSTBn#)。因此,如果总线时钟频率是100兆赫,则当由驱动器(或者驱动代理)激活或者产生时,两个数据选通脉冲信号每个都将具有200兆赫的频率。作为选择,可能使用四个数据选通脉冲信号(当激活时,每个和总线时钟相同的频率),每个选通脉冲信号都在每个总线时钟周期中提供一个选通脉冲或者下降沿。
再次参考图5的时序图,驱动器在总线时钟周期1的上升沿以及25%、50%和75%的点上发送或者驱动新的信息或者数据单元。数据单元被标记为D1、D2、D3和D4,作为在这个示例中的四个数据单元。这个实施例还使用两个数据选通脉冲信号、包括DSTBp#和DSTBn#。依据一个实施例,两个数据选通脉冲信号是彼此异相(或者以交错或者偏移方案)产生的。这允许选通脉冲信号之一来标识用于奇数数据单元(例如,D1、D3、D5、...)的采样点,而另一个选通脉冲信号用于偶数数据单元(例如、D2、D4、D6、...)。
虽然在图5的示例中仅仅显示了两个选通脉冲信号,但是任意数量的选通脉冲信号可用于标识用于源同步传送数据的采样点。如上所述,提供多个选通脉冲信号以便选通脉冲信号两个边沿中的仅仅一个可用于标识采样点(或者选通脉冲)而同时降低选通脉冲信号的频率,能够是尤其有利的。举例来说,如果使用了6X抽吸协议(而不是四重抽吸),能够使用三个选通脉冲信号,其中所有三个选通脉冲信号能够被类似地偏移或者交错,以便选通脉冲1能够用于数据单元D1和D4,选通脉冲2能够用于数据单元D2和D5,而选通脉冲3能够用于数据单元D3和D6等。
依据一个实施例,选通脉冲信号两个边沿中的仅仅一个用于标识或者同步数据采样点。在这个特定实施例中,仅仅两个数据选通脉冲信号的下降沿用来标识用于采样信息或者数据的点。数据选通脉冲(或者数据选通脉冲信号的下降沿)在四个信息或者数据单元每一个的中心。因此,数据选通脉冲信号的四个下降沿(或者选通脉冲)将在总线时钟(BCLK)周期的12.5%、37.5%、62.5%和87.5%的点上发生。因此,两个选通脉冲信号提供等间隔的选通脉冲或者下降沿。
如图5所示,在总线时钟周期1开始处,DRDY#被驱动到总线117上(如用于DRDY#的正方形所示)。DRDY#指示有效数据已经被放置在处理器总线117上并且必须被采样或者捕获。第一个数据单元(D1)在总线时钟周期1的上升沿处(如用于D#(driver)的第一个矩形所示)被驱动器驱动到处理器总线117上。第一个数据选通脉冲信号(DSTBp#)然后由驱动器在第一个总线时钟周期的12.5%的点处激活,如在DSTBp#(driver)中的第一个正方形所示。因此,用于第一个数据单元(D1)的选通脉冲(或者下降沿)置于第一个数据单元的中心。一旦选通脉冲信号已经被激活或者接通了,它一般继续激活直到数据已经被驱动到总线上为止。
此外,第二个数据单元由驱动器在总线时钟周期1的25%的点处驱动,如用于D#(driver)的第二个矩形所示。第二个数据选通脉冲信号(DSTBn#)在总线时钟周期1的37.5%的点处被激活并且提供置于第二个数据单元(D2)中心的下降沿(或者选通脉冲)。
同样地,第三个和第四个数据单元(分别为D 3和D4)在总线时钟周期1的50%的点和75%的点处被驱动。相应的数据选通脉冲(数据选通脉冲信号的下降沿)由驱动器在62.5%的点(由DSTBp#选通脉冲信号)和87.5%的点(由DSTBn#选通脉冲信号)处提供或者驱动。因为以是总线时钟频率两倍(2X)的频率提供数据选通脉冲信号,每个数据选通脉冲信号将每隔1/2个总线时钟周期提供选通脉冲或者下降沿。因此,DSTBp#选通脉冲信号在总线时钟周期的12.5%和62.5%的点处提供下降沿或者选通脉冲,而DSTBp#选通脉冲信号在总线时钟周期的37.5%和87.5%的点处提供下降沿或者选通脉冲。因此,能够看出两个数据选通脉冲信号(DSTBp#和DSTBn#)是彼此交错或者不同相的。这允许交替选通脉冲信号每四分之一个总线时钟周期(在两个数据选通脉冲信号之间)就提供下降沿(或者选通脉冲)。这提供了每一个总线时钟周期四个选通脉冲或者下降沿,用于在每个总线时钟周期标识四个数据单元的采样或者捕获点,同时降低每个选通脉冲的频率。此外,因为同边沿(在这个示例中为下降沿)用作在每个数据选通脉冲信号中的选通脉冲,定时和电路被简化了。
依据一个实施例,为了确保正确操作,从驱动代理到任何接收器的信息传送等待时间应当小于或等于一个总线时钟减去输入锁存器的准备时间。这将避免,如果接收器在下一个阶段期间变为总线所有者,在用于后续数据阶段的数据线上的竞争。
图5还显示了在接收器处的数据捕获。在信号(数据和数据选通脉冲)由驱动器驱动之后,这些信号沿着处理器总线117向下传播并且到达目标或者接收器。第一个数据单元在接收器处接收,如D#(receiver)信号所示。第一个数据单元(D1)在第一个选通脉冲上被采样或者捕获,第一个选通脉冲为DSTBp#(receiver)的第一个下降沿。用于DSTBp#(receiver)的第一个三角形标识用于采样或者捕获第一个数据单元的选通脉冲或者点,而用于DSTBp#(receiver)的第二个三角形标识用于在接收器处采样第三个数据单元的点或者选通脉冲。类似地,用于第二个数据选通脉冲信号(DSTBn#(receiver))的两个三角形标识用于接收器采样或者捕获第二和第四个数据单元(D2、D4)的点。
如图5所示,第一个数据单元D1可以在时钟2开始处的上升沿之后并且一到时钟周期2(下一个时钟周期)的12.5%的点处就被采样或者捕获(选通)到接收器中。(如在这里使用的那样,术语“捕获”、“采样”和“锁存”被泛泛地使用以意指大致相同的事情)。然而,用于所有数据单元的数据直到总线时钟周期3的上升沿才被锁存到接收器里。因此,虽然在接近总线时钟周期2开始处接收和捕获数据单元D1,但是所有数据直到总线时钟周期3开始才对于接收器是可用的。接收代理更可取的是包括足够存储八个数据单元的FIFO(先进先出)缓存。八数据单元的FIFO足够大来存储一次数据传送的四个单元以及用于下一次传送的下四个单元。这允许四个新的数据单元被接收和捕获,同时前四个数据单元正从FIFO弹出或者锁存到接收器中。净效果是公共时钟信令模式带宽的四倍,并且具有增加用于在接收器或者设备内部锁存的第一个信号组的等待时间的效果。
此外,依据一个实施例,多条线用来运载两个数据选通脉冲信号(DSTBp#和DSTBn#)每一个的多个拷贝。依据一个实施例,有四个DSTBn#信号和四个DSTBp#信号,如在以下表格中表示的那样。
数据选通脉冲范围的示例实施例
  数据信号   选通脉冲
  D[15:0]#   DSTBp0#,DSTBn0#
  D[31:16]#   DSTBp1#,DSTBn1#
  D[47:32]#   DSTBp2#,DSTBn2#
  D[63:48]#   DSTBp3#,DSTBn3#
四个DSTBp#信号逻辑上是相同的,四个DSTBn#信号也是如此,但是每一个数据选通脉冲信号物理上用请求信号的子集(即,数据线的子集)路由以减少在数据和数据选通脉冲信号之间的时滞或者未对齐。
图8是依据一个实施例、用于在代理之间传送信息的装置的框图。第一个总线代理802连接到第二个总线代理832。第一个总线代理802包含数据选通脉冲发生器1/接收器1,用于经由第一个双向数据选通脉冲信号线820产生和接收第一个数据选通脉冲信号(例如,DSTBp#);以及数据选通脉冲发生器2/接收器2用于经由第二个双向数据选通脉冲信号线822产生和接收第二个数据选通脉冲信号(例如,DSTBn#)。总线代理802还包含总线收发器806,总线收发器806包含用于传输或者驱动数据信号到数据总线或者数据信号线826上的传输电路以及用于接收经由数据信号线826接收的数据信号的接收电路。第二个总线代理832类似地包含用于分别产生两个数据选通脉冲信号到数据选通脉冲信号线820和822上的数据选通脉冲发生器1和数据选通脉冲发生器2。公共(或者系统)总线时钟发生器810提供公共或者系统总线时钟到总线代理802和832。
2.把地址总线速度和数据总线相匹配
依据一个实施例,高速缓存行尺寸已经增加到64个字节(在某些奔腾处理器中的高速缓存行是32个字节)。因此,使用四重抽吸信令协议和具有64条数据线的数据总线宽度,高速缓存行(或者64个字节)能够在两个总线时钟周期中传送或者传输:
64个字节=(2个周期)×(4抽吸/周期)(每抽吸8个字节)。
然而,在某些奔腾处理器中,请求(包含地址)在三个总线时钟周期中传送。用于某些奔腾处理器请求阶段的三个总线时钟周期包含下列周期:
周期1-子阶段a-地址(经由地址总线提供),以及一种请求(例如,读、写)。
周期2-子阶段b-请求的辅助详细信息,包括字节使能、长度等(经由地址线或者地址总线提供)。
周期3-不工作周期或者转向周期,其允许在总线上的信号变为静止,以允许另一个代理驱动总线。
因此,依据一个实施例,高速缓存行能够在两个总线时钟周期中经由数据总线传送。然而,在某些奔腾处理器中,地址和请求定时要求三个总线时钟周期用于传送请求。因此,在某些奔腾处理器中,地址总线定时或者带宽不匹配在上述实施例(参见图5)中描述的、改进的四重抽吸数据总线的速度。更缺乏和更有价值的资源之一是数据总线宽度和数据总线带宽。因此,依据一个实施例,更可取的是让数据总线带宽压制或者限制处理器总线,而不是地址总线带宽。因此,为了防止地址总线减缓或者压制处理器总线,期望调整在地址总线上的地址和请求定时以至少匹配数据总线的带宽或者速度(在这个示例中,用于在数据总线上传输一个高速缓存行)。
因此,依据一个实施例,经由地址总线提供的请求阶段的定时和速度被调整为匹配数据总线的整体速度。保持不工作周期或者转向周期是符合需要的。因此,依据一个示例实施例,地址总线被双重抽吸以在一个总线时钟周期中提供两个信息单元(请求的子阶段a和子阶段b)。
3.双重抽吸信令模式的示例
通常,依据一个实施例,双重抽吸信令模式以总线时钟(BCLK)频率的两倍(2X)操作适当的总线信令组。图6是时序图,示出了依据一个实施例的示例双重抽吸信令模式的操作。虽然任何信号都可以是双重抽吸的,但是在这个实施例中地址总线是双重抽吸的。
参考图6,ADS#信号在请求阶段开始处变低。在双重抽吸信令模式中,以使用公共时钟信令模式驱动一个单元所花费的时间(即,在一个总线时钟周期期间),把两个信息单元驱动到总线上。由于飞行时间(或者在处理器总线117上的信号传播时间),可以在第一个单元被锁存在一个或者多个接收器处之前在驱动器处驱动第二个信号组或者信息单元。依据一个实施例,驱动器在总线时钟周期的上升沿和50%的点上发送新的信息单元。
如图6所示,在总线时钟周期1开始处的下降沿开始的第一半总线时钟周期1上发送提供事务地址的请求子阶段a(Aa)。在从总线时钟周期1的50%的点开始的第二半总线时钟周期1上发送提供用于事务的某些辅助详细信息的请求子阶段b(Ab)。在图6中两个信息单元显示为用于A#(driver)线的Aa和Ab的两个矩形(Aa指示经由地址线提供的请求子阶段a,而Ab指示经由地址线提供的请求子阶段b)。因此,因为两个信息单元(Aa和Ab)在一个总线时钟周期期间被传送或者发送,所以地址总线是双重抽吸的。
此外,因为用于请求的信息将使用双重抽吸信令模式(每一总线时钟周期两个信息单元)发送,所以信息更可取的是按源同步传送发送。因此,除了两个信息单元之外,驱动器还驱动或者激活地址选通脉冲信号,来每一个总线时钟周期(当激活时)提供两个地址选通脉冲。地址选通脉冲提供或者标识用于采样在地址总线上发送的两个信息单元(Aa和Ab)的点。
依据一个实施例,使用的地址选通脉冲信号(ADSTB#)与总线时钟(BCLK)具有相同的频率。然而,为了在一个总线时钟周期期间提供两个选通脉冲,地址选通脉冲信号的下降沿和上升沿都将被用作选通脉冲或者标识用于经由地址总线提供的两个信息单元的采样点。如图6所示,驱动器在总线时钟周期1的25%的点处激活地址选通脉冲信号(ADSTB#),这是在信息单元1(Aa)的中心。依据一个实施例,用于第一个信息单元的地址选通脉冲(Aa或者请求子阶段a)被提供为ADSTB#信号的下降沿(在总线时钟周期1的25%的点处被驱动),而用于第二个信息单元(Ab或者请求子阶段b)的地址选通脉冲被提供为ADSTB#信号的上升沿(在总线时钟周期1的75%的点处被驱动)。
即使地址选通脉冲具有与总线时钟相同的频率,但是总线时钟不应被用作用于信息单元的选通脉冲信号,因为总线时钟信号不在适当时间提供上升和下降沿。此外,总线时钟信号总是激活的(与选通脉冲信号仅仅在源同步传送期间被激活相反)。地址选通脉冲信号用来提供用于两个信息单元的选通脉冲或者采样点,因为地址选通脉冲信号能够被激活(接通)和取消激活(断开)而不管总线时钟的状态或者阶段。通过让从同源驱动的选通脉冲作为信息,在选通脉冲中的延迟匹配在信息中的延迟,由此允许同时有多于一位在线上。
信息单元(Aa和Ab)以及地址选通脉冲信号沿着处理器总线117传播并且在总线时钟周期2开始处到达接收器。如图6所示,第一个信息单元(Aa)在ADSTB#(receiver)信号的下降沿上被捕获或者采样,而且第二个信息单元在ADSTB#(receiver)信号的上升沿被捕获或者采样,如在ADSTB#(receiver)信号上的两个三角形所示。因此,能够看出,当数据是有效(并且应当被捕获)时,接收器基于来自驱动器的指示确定性地捕获数据或者信息。
依据一个实施例,从驱动代理到任何接收器的数据传送等待时间应当小于或等于一个总线时钟周期减去输入锁存器的准备时间。如果接收器变为下一个阶段的所有者的话,这将会避免在用于第二个或者后续阶段的地址线(或者地址总线)及其他线上的竞争。净效果是公共时钟信令模式带宽的两倍,并且具有增加用于在组件或者接收器内部锁存的第一个信号组的等待时间的效果。
依据一个实施例,接收器包含四单元的FIFO缓存,用于存储在请求阶段期间经由地址总线传输的四个信息单元。这允许来自一个请求的子阶段a以及子阶段b的单元在FIFO中被接收和捕获,同时允许来自前一个请求的子阶段a和子阶段b的单元从FIFO中读出并且被锁存在接收器处。
因此,依据一个实施例,以和总线时钟相同的频率,使用单个地址选通脉冲信号来提供用于经由地址总线传送的两个信息单元的选通脉冲。在用于地址选通脉冲的这些频率(和总线时钟信号频率相同)处,信号衰减不是问题。此外,在选通脉冲占空因数中的任何不对称不会形成问题,因为每一个总线时钟周期仅仅传输两个信息单元。因此,和总线时钟具有相同频率的单个地址选通脉冲能够被用作地址选通脉冲信号,其中地址选通脉冲的下降和上升沿都被用作选通脉冲。
作为选择,能够使用多个(或者两个)地址选通脉冲信号,其中每个地址选通脉冲信号的仅仅一个边沿被用作选通脉冲。举例来说,能够使用在周期1的25%的点处被激活的(具有下降沿)的第一个地址选通脉冲信号以及在周期1的75%的点处被激活的(具有下降沿)的第二个地址选通脉冲信号。因此,两个地址选通脉冲信号的激活点将被偏移或者交错。因为在一个总线时钟周期期间仅仅驱动两个单元,地址选通脉冲信号的频率能够被选定为和总线时钟频率一样,或者为另一个频率。
图9是依据另一个实施例、用于在代理之间传送信息的装置的框图。第一个总线代理802连接到第二个总线代理832。第一个总线代理802包含用于产生地址选通脉冲信号(例如,ADSTB#)到双向地址选通脉冲信号线920上的地址选通脉冲发生器940。总线代理802还包含总线收发器906,总线收发器906包含用于传输或者驱动地址及其他信号到地址总线或地址信号线926上的传输电路以及用于接收经由地址信号线926接收的信号的接收电路。第二个总线代理832类似地包含地址选通脉冲发生器942,用于产生地址选通脉冲信号到双向地址选通脉冲信号线920上。第二个总线代理832还包含总线收发器936,总线收发器936包含接收电路和传输电路,分别用于经由地址信号线926传输信号和接收信号。
如上所述,使用四重抽吸信令模式,一个高速缓存行的数据传送能够在两个总线时钟周期内被传输;而使用双重抽吸信令模式,地址请求能够在两个总线时钟周期内被传输。因此,地址总线和数据总线都具有相同的峰值吞吐量,这提供了平衡的处理器总线。除非另作说明,如果不是全部,大多数剩余信号使用公共时钟(1X)信令模式传输。
VII.重调总线协议到2个时钟周期的新拍率
如上所述,处理器总线通过使用多重抽吸信令协议提供增加了的请求和数据带宽。实现请求带宽(在地址总线上)和数据带宽(在数据总线上)的这种增加不需要增加数据总线宽度(64线),不使用昂贵的计时或者路由拓扑结构,而且同时保持和在某些奔腾处理器中使用的总线协议基本类型相同的总线协议基本类型。
在某些奔腾处理器中,公共时钟信令模式用于使用64条数据线来在每个总线时钟周期传输八个字节的数据,其允许32字节的高速缓存行在四个总线时钟周期中传输。依据本发明的一个实施例,高速缓存行增加到64个字节,而且四重抽吸信令模式(每个总线时钟周期传输32个字节)可用于在两个总线时钟周期中发送64字节的高速缓存行。此外,在某些奔腾处理器中,在三个总线时钟周期中传送请求,包括在总线时钟周期1中的子阶段a、在周期2中的子阶段b、以及用于周期3的转向周期(或者不工作周期)。依据本发明的一个实施例,双重抽吸信令模式在地址总线上使用,以在单个总线时钟周期中传输或者传送请求的两个子阶段a和b。这把请求阶段的长度减少到两个总线时钟周期,这与高速缓存行传送的长度(也是两个总线时钟周期)相匹配。因此,因为请求阶段具有两个总线时钟周期的长度,而且高速缓存行传送需要两个总线时钟周期,处理器总线的拍率或者拍频可以通常被认为是两个总线时钟周期。
依据本发明的一个实施例,总线协议被重调或者修改以把在连续阶段的开始之间的等待时间或者延迟调整到更接近地匹配用于处理器总线的两个总线时钟周期的新拍频。图7是图,示出了在事务阶段(包括判优、请求、探听和响应阶段)之间的最小等待时间或延迟。显示了用于两个事务(事务1和事务2)的判优(Arb)、请求(Req)、探听和响应(Resp)阶段。显示的数字用来指示在阶段之间的等待时间或者延迟。第一个数字指示如在某些奔腾处理器中实现的那样,在阶段的开始之间的总线时钟周期的最小数目,而第二个数字(在括号内)指示在总线协议被调整或者重调以更接近地匹配两个总线时钟周期的新拍频之后,在阶段之间新的最小等待时间。如果仅仅显示了一个数字,则这指示在某些奔腾处理器和本发明的一个实施例之间,在阶段之间的延迟或者等待时间没有变化。
如上所述,在图7中显示的、在阶段之间的最小等待时间一般是两个总线时钟周期。参考图7,用于事务(例如,事务1)的、在判优阶段开始和请求阶段开始之间的最小等待时间在两个总线时钟周期处保持不变。从事务的请求阶段开始到事务的探听阶段开始的最小等待时间已经从四个总线时钟周期减少到三个周期。在探听阶段开始和响应阶段开始之间的最小等待时间在两个总线时钟周期处保持不变。在请求阶段开始和目标代理能够断定TRDY#信号时候之间的最小等待时间已经从三个总线时钟周期减少到两个总线时钟周期。从断定TRDY#信号到响应阶段开始的最小等待时间在两个总线时钟周期处保持不变。
此外,在连续事务的相同或者相应阶段之间的最小等待时间已经被修改为更接近地匹配两个时钟周期的拍频。再次参考图7,在连续的判优阶段之间的最小等待时间(例如在事务1的判优阶段开始和事务2的判优阶段开始之间的最小等待时间)已经从三个总线时钟周期减少到两个周期。在连续请求阶段之间的最小等待时间已经从三个总线时钟周期减少到两个。在连续探听阶段之间的最小等待时间已经从三个总线时钟周期减少到两个。而且,在连续响应阶段之间的最小等待时间已经从三个总线时钟周期减少到两个。
将结合对用于每个阶段的总线协议的某些改变或者修改的简要说明,对每一个阶段进行描述,这些改变或修改对在阶段之间的等待时间下降有贡献(即发生了等待时间下降)。
当请求代理不拥有总线时,事务从判优阶段开始,其中请求代理变为总线所有者。在请求代理变为总线所有者之后,事务进入请求阶段。在请求阶段的第一个子阶段(子阶段a),与事务地址和足够的信息一起驱动ADS#信号(指示有效地址)以开始探听和存储器存取。在请求阶段的第二个子阶段(子阶段b),用于请求的各种辅助信息被驱动到总线117上,包括字节使能(指示哪些数据字节将在数据线上提供)、延期ID、事务长度及其他事务信息。在一个总线时钟周期期间驱动第一个和第二个子阶段。结果,依据一个实施例,请求信息(例如,它的大部分经由地址总线提供)据说具有2x数据传送率。
依据一个实施例,每个事务都具有探听阶段。来自探听阶段的探听结果指示为事务驱动的地址是否引用在任何总线代理的高速缓存中的有效或者被修改(脏)的高速缓存行。探听结果还指示事务是将按次序完成还是可以为可能的无序完成延期。如果代理没有准备好通过使用探听停止扩展探听阶段来探听的话,代理能够延迟事务。
现在将描述每一个阶段,并且突出被实现以减少在阶段之间的等待时间的差别(在合适的地方)。
1)判优阶段:事务直到总线代理拥有处理器总线117才能够被发布。如果想要驱动事务到处理器总线117上的代理还没有拥有总线117,事务仅仅需要具有这个阶段。依据一个实施例,提供了支持两种类型总线代理的总线判优协议,两种类型总线代理为:对称代理以及优先级代理。在总线117上的处理器一般作为对称代理进行判优。优先级代理(例如,系统接口116)通常以I/O子系统(I/O桥接器124或者I/O代理)和存储器子系统(位于主存储器子系统122中的存储器代理)名义进行判优。
可用于为总线所有权判优的示例信号组显示如下(如在这里使用的那样,#符号指示有效低电平信号):
示例判优信号
  引脚/信号名   引脚助记符   信号助记符
  对称代理总线请求   BR[3:0]#   BREQ[3:0]#
  优先级代理总线请求   BPRI#   BPRI#
  堵塞下一个请求   BNR#   BNR#
  锁定   LOCK#   LOCK#
处理器总线117允许多个代理同时为总线117判优。对称代理基于循环轮流优先级方案为总线117进行判优。判优方案确保所有的对称代理公平地进入请求阶段。每个对称代理都具有唯一的、在复位时分配的代理ID(例如,代理0、1、2、3)而且将以循环次序发生判优。在复位之后,代理0具有最高的优先级,随后是代理1、2和3。每个对称代理保持反映最近总线所有者的对称代理ID的公共轮流ID。在每个判优事件上,如果没有其他较高优先级的动作阻止总线使用的话,具有最高优先级的对称代理变为所有者并且可以进入请求阶段。优先级代理比对称所有者具有更高的优先级。
对称代理通过断定它的BREQn#信号来请求总线。基于在BREQ[3:0]上采样的值以及最后的对称总线所有者,所有代理能够同时确定下一个对称总线所有者。优先级代理通过断定BPRI#来要求总线,这临时地覆盖判优方案,因为别的对称代理直到BPRI#被采样为不活动才将发布另一个解锁的总线事务。优先级代理总是下一个总线的所有者。BNR#信号能够由任何总线代理断定以堵塞另外的事务被发布到总线上(通常当系统资源诸如缓存是满的而且不能容纳另一个事务时使用)。LOCK#信号的断定指示总线代理正执行不可被中断的、基本的总线事务序列。
优先级代理能够在它产生它的最后请求的同周期中取消断定BPRI#并且释放总线所有权。在某些奔腾处理器中,在断定BPRI#信号之后,BPRI#信号必须被取消断定最少两个总线时钟周期。这匹配老的3个总线时钟周期速度(在某些奔腾处理器中),所以提供了对称代理和优先级代理对总线的平衡访问。依据一个实施例,协议被改变为要求在BPRI#信号被断定之后BPRI#信号被取消断定仅仅最少一个总线时钟周期。在一个当前实施例中的改变支持两个总线时钟周期拍率,一个总线时钟周期用于断定以及一个周期用于取消断定。
应当注意:BNR#信号可用于延迟另外的请求,例如,当代理不具有足够的资源来支持另一个事务时。依据一个实施例,基于三个状态实现以及确定请求停止协议:
1)空闲:在这个状态中,代理发布请求的能力不由BNR#请求停止协议限制,而是仅仅由其总线的所有权以及由请求速度限制。在某些奔腾处理器中,在ADS#被采样断定之后三个时钟周期,发生在空闲状态中的BNR#采样点。依据一个实施例,BNR#采样点被调整为在ADS#信号被采样断定之后两个时钟周期(而不是三个)发生。当代理在空闲状态中试图停止新的请求产生时,代理在从ADS#开始有效的BNR#采样点之前的时钟周期内驱动BNR#为活动的。在下一个时钟周期内,所有的代理在BNR#采样点上观察活动的BNR#并且转换到停止状态。
2)调节:一旦代理具有总线的所有权并且已经保持了最大的ADS#请求速度,代理可以在这个状态发布一个请求。BNR#采样点是在调节状态的第一个时钟周期中。当在调节状态中时,如果BNR#在BNR#采样点上被采样为活动的,则状态转换到停止状态。如果BNR#在BNR#采样点上被采样为不活动的,则状态转换到空闲状态。
3)停止:在这个状态中,代理可以直到在BNR#采样点采样的BNR#是不活动的才发布请求。BNR#采样点在当进入停止状态时的总线时钟周期以及所有其它后续时钟周期中开始,只要BNR#在它的采样点处被采样为活动的。在复位事件(要么INIT#要么RESET#)之后,请求停止状态总是被初始化为停止。代理能够通过每两个时钟周期断定BNR#(在有效采样点之前)来延伸停止状态。如果BNR#在停止状态的同时没有被采样为活动的,则请求停止状态将转换到调节状态。
因此,要求BPRI#信号被断定之后被取消断定仅仅最少一个总线时钟周期(而不是两个),并且调整在空闲状态中的BNR#采样点在ADS#信号被采样断定之后两个时钟周期(而不是三个)发生,可以把在连续判优阶段开始之间的最小等待时间从三个总线时钟周期减少到两个总线时钟周期。
2)请求阶段:请求阶段是事务实际上被发布或者驱动到总线上的阶段。依据一个实施例,请求阶段的持续时间是一个公共总线时钟周期。请求阶段包括两个子阶段,包括子阶段a(在请求阶段的第一半期间)和子阶段b(在请求阶段的第二子阶段期间)。包括事务地址的请求信息在请求阶段期间传输。请求阶段从断定ADS#信号、地址选通脉冲信号开始。这里是可用于传输请求的示例信号组。
示例请求信号
Figure GA20170639200410061754401D00221
注意:
a.这些信号在请求阶段的第一个子阶段(子阶段a)期间在指示的引脚上驱动。
b.这些信号在请求阶段的第二个子阶段(子阶段b)期间被驱动。
因此,事务地址在Aa[35:3](其中“A”指示地址线或者地址总线204而且“a”指示在子阶段a期间传输的指示信号)上传输,而描述事务的附加信息(例如,字节使能、属性、扩充功能)在Ab[35:3](“b”指示附加信息在子阶段b期间经由地址线传输)上传输。ADS#的断定定义了请求阶段的开始。更可取的是ADSTB[1:0]#应当在ADS#被断定的每个总线时钟周期中被触发一次,而不是在任何其他周期中。REQa[4:0]#和REQb[4:0]#标识事务类型。
依据一个实施例,请求能够被驱动到处理器总线上:
1)在所有权观察之后的时钟周期;以及
2)在为前一个事务断定ADS#之后的两个或更多时钟周期,以及
3)BNR#被观察为不活动的时,以及
4)如果不由这个代理激活的LOCK#,被观察为不活动的。
某些奔腾处理器在断定前一个事务的ADS#之后,在请求能够被驱动到处理器总线上之前,要求三个时钟周期的最小延迟。为了把在连续事务的请求阶段之间的最小等待时间从三个时钟周期减少到两个时钟周期,依据一个实施例,代理可以在断定前一个事务的ADS#信号之后仅仅两个总线时钟周期之后把请求驱动到总线上。如上所述,ADS#信号标识请求阶段的开始,并且指示请求的子阶段a正被驱动到处理器总线上,子阶段a包括地址(经由地址总线提供)和请求(经由REQ#[4:0]线提供)。
3)探听阶段:依据一个实施例,处理器总线支持用于多个高速缓存代理的高速缓存相关。相关(或者数据一致性)确保具有多级高速缓存和存储器和多个高速缓存代理的系统或者计算机给出共享存储器模型,其中更可取的是没有代理曾经读取旧的(或者错误的)数据并且按要求动作能够被串行化。行是在高速缓存代理中的高速缓存单元。依据一个实施例,一个高速缓存行是64个字节,但是能够使用其他尺寸的高速缓存行。
高速缓存协议把行与状态相关联并且定义控制状态转换的规则。每个行在每个高速缓存中都具有状态。依据一个实施例,存在有四个行状态,包括:M(修改),其指示行在这个高速缓存中并且包含行的比在存储器中的值更新的值,而且行在所有其他代理中是无效的;E(排它)指示行是在这个高速缓存中并且包含与在存储器中的值相同的值,并且在所有其他代理中是无效的;S(共享)指示行是在这个高速缓存中,包含和在存储器中的值相同的值,并且可以在其他代理中;而且I(无效)指示行在这个高速缓存中不是可用的并且应当从另一个高速缓存或者代理处取出。
探听阶段是执行高速缓存相关的阶段。以下是能够在探听阶段期间使用的探听信号示例列表:
示例探听信号
  信号功能   引脚名   驱动器
  保持不修改的高速缓存行   HIT#   具有共享行的代理
  命中被修改的高速缓存行   HITM#   具有脏的行的代理
  延期事务完成   DEFER#   响应代理
在探听阶段,所有高速缓存代理驱动它们的探听结果并且参与到高速缓存相关解决中。代理为几乎所有的存储器事务,这就是说不是它拥有的,产生内部探听结果。所有高速缓存代理(探听代理)在这个阶段使用HIT#和HITM#信号驱动它们的探听结果到总线上。在探听阶段期间断定HIT#,以指示包含请求的数据的高速缓存行的拷贝驻留在另一个代理在这个接口上的高速缓存中。在探听阶段期间断定HITM#,以指示包含请求的数据的高速缓存行的修改拷贝驻留在另一个代理在这个接口上的高速缓存中。如果HIT#和HITM#在探听阶段期间由代理同时断定,则已经发生了探听停止并且当前探听阶段应当被延伸。在探听阶段期间断定DEFER#,以指示不保证完成当前事务。
在某些奔腾处理器中,探听结果在ADS#信号被断定之后四个时钟周期并且从前一个事务的探听阶段开始的至少三个时钟周期被驱动。然而,依据一个实施例,这些最小等待时间被修改了以更接近地匹配处理器总线的新拍频。依据一个实施例,探听结果现在可以在ADS#信号被断定之后三个时钟周期(即在请求阶段开始之后三个总线时钟周期)并且在前一个事务的探听阶段之后至少两个时钟周期(即在用于前一个事务的探听结果被驱动到总线上之后至少两个时钟周期)被驱动。因此,用于HIT#/HITM#/DEFER#信号(探听结果)的最大激活速度从每三个总线时钟周期一次变为每两个总线时钟周期一次。注意由于请求阶段被缩短了一个周期,从请求阶段(子阶段B)结尾到探听阶段的等待时间保持同样。
4)响应阶段:在这个阶段,响应代理驱动事务响应到处理器总线上。在请求阶段启动的请求进入由每个总线代理保持的排序队列。响应代理是负责完成在排序队列顶端的事务的代理。响应代理是由事务在请求阶段期间寻址的设备或者代理。以下是能够在响应阶段使用的示例信号组:
示例响应信号
  类型   信号名   号
  响应状态   RS[2:0]#   3
  响应奇偶校验   RSP#   1
  目标准备好   TRDY#   1
事务响应在RS[2:0]#信号上被编码。可能的响应示例包括:标准数据响应(其中响应代理被要求与响应一起传送读取的数据)、重试响应(当在探听阶段期间断定DEFER#时指示事务必须被重试)、延期响应(其中响应代理或者回应代理承诺将来使用延期答复事务完成事务)、没有数据响应(其中没有数据将由被寻址的代理返回)等。TRDY#由响应代理断定以指示它准备好接受写入或者写回数据等。RSP信号提供用于RS信号的奇偶校验。
在某些奔腾处理器中,响应能够在前一个事务的响应阶段之后最少三个总线时钟周期之后被驱动。依据一个实施例,这个在连续事务的响应阶段之间的最小等待时间被调整为更接近地匹配处理器总线的新拍频。依据一个实施例,响应能够在前一个事务的响应之后最少两个总线时钟周期之后被驱动。这个最小等待时间一般受可以延伸这个等待时间的其他限制影响。由于用于请求信号的双重抽吸信令模式,每两个总线时钟周期就能够驱动响应一次(相比之下,某些奔腾处理器每三个总线时钟周期一次)。
请求启动事务是其中请求代理已经写入要传送的数据的事务。被寻址的代理断定TRDY#以指示它从打算执行写操作的请求代理接收数据的能力。在某些奔腾处理器中,TRDY#信号能够在用于同事务的ADS#信号被断定之后最少三个总线时钟周期之后被断定。一般存在其他能够延长这个等待时间的限制。这个等待时间被修改为更接近地匹配处理器总线的新拍频。依据一个实施例,被寻址的代理能够在用于同事务的ADS#信号被断定之后最少两个总线时钟周期之后断定TRDY#信号。注意从请求阶段结尾到TRDY#的等待时间保持不变。
5)数据(传送)阶段:在数据阶段期间,数据经由处理器总线117在不同的总线代理之间传送。基于请求阶段,事务包含“请求启动”(写)数据传送、“响应启动”(读)数据传送或者没有数据传送。对于事务,数据阶段可以与请求阶段重叠。
以下是能够在数据阶段中使用的信号示例列表:
示例数据信号
  类型   信号名   号
  数据就绪   DRDY#   1
  数据总线忙   DBSY#   1
  数据选通脉冲   DSTBp[3:0]#DSTBp[3:0]#   8
  数据   D[63:0]#   64
  数据倒置   DINV[3:0]#   4
  数据奇偶校验   DP[3:0]#   4
DRDY#指示有效数据已经被放置在总线117上并且必须被锁存。数据总线所有者为每个总线时钟周期断定DRDY#,在总线时钟周期中将要传送有效数据。DRDY#能够被取消断定以在数据阶段中插入等待状态。DBSY#可用于在第一个DRDY#断定之前并且在后续的DRDY#断定之间,为多重总线时钟数据传送保持数据总线。DINV[3:0]#用来指示数据位已经由数据源倒置了。
数据总线206(图2)的数据信号D[63:0]#在总线代理之间提供64位数据通路。为了部分传送,包括I/O读取和I/O写事务,字节使能信号(BE[7:0]#)确定数据总线的哪些字节将包含有效数据。DP信号可被用于为数据信号提供奇偶校验。
依据一个实施例,数据可以使用四重抽吸(即,4X)源同步锁存协议来传送,其中数据信号D[63:0]#被用来在单个总线时钟周期内传送四个8字节数据单元。在总线时钟的第一个四分之一中传送第一个8字节(以爆发次序),在总线时钟的第二个四分之一中传送第二个8字节单元,在总线时钟的第三个四分之一中传送第三个8字节单元以及在总线时钟的第四个四分之一中传送第四个8字节单元。如果要被传送的数据是1到8字节长,则数据能够在总线时钟的第一个四分之一中传送,而且如果数据是9-16字节长,则数据能够在总线时钟的头两个四分之一中被传送。
在这里具体说明和/或描述了本发明的几个实施例。然而,应当理解:本发明的修改和变化由上述示教所覆盖并且在附加权利要求的范围之内,而不背离本发明的精神上和想要的范围。

Claims (18)

1. 一种总线代理,包含:
地址总线;
地址选通脉冲信号引脚;
请求代理,能够在用于第一事务的请求阶段开始之后的两个时钟后启动用于第二事务的请求阶段,所述启动是通过在所述地址选通脉冲信号引脚上发生用于第一事务的第一事务地址选通脉冲信号的断定之后的两个总线周期后以一种源同步方式为第二事务在所述地址总线上断定地址和一种请求以及所述请求的辅助详细信息以及在所述地址选通脉冲信号引脚上断定第二事务地址选通脉冲信号来实现的,其中用于第一事务的请求阶段和用于第二事务的请求阶段是双重抽吸的请求阶段;
地址和请求传输电路,用于以一种源同步方式以总线时钟频率倍数的频率传输多个请求信号和多个地址信号,所述倍数为2。
2. 如权利要求1所述的总线代理,其中:所述总线代理用于根据四重抽吸信令模式传输数据到数据总线上。
3. 如权利要求2所述的总线代理,其中:所述总线代理用于根据双重抽吸信令模式传输信号到地址总线上。
4. 如权利要求1所述的总线代理,进一步包含:
数据总线;
一个公共时钟引脚,以接收以总线时钟频率操作的总线时钟信号;
第一数据选通脉冲发生器,用以经由第一双向数据选通脉冲信号线产生第一数据选通脉冲信号;
第二数据选通脉冲发生器,用以经由第二双向数据选通脉冲信号线产生第二数据选通脉冲信号,其中所述第一数据选通脉冲信号和所述第二数据选通脉冲信号具有是所述总线时钟频率两倍的数据选通脉冲频率;
数据传输电路,用以传输在所述数据总线上中心与所述第一数据选通脉冲信号的第一边沿同步的数据单元,并且传输也在所述数据总线上中心与所述第二数据选通脉冲信号的第一边沿同步的数据单元,其中所述第一数据选通脉冲信号的第一边沿和所述第二数据选通脉冲信号的第一边沿仅是下降沿或者仅是上升沿。
5. 如权利要求4所述的总线代理,进一步包含:
地址选通脉冲发生器,用以产生第一地址选通脉冲信号,其中第一地址选通脉冲信号具有与所述总线时钟频率相同的地址选通脉冲频率;
地址传输电路,用以传输在所述地址总线上中心与所述第一地址选通脉冲信号的第一边沿同步的地址单元,并且传输也在所述地址总线上中心与所述第一地址选通脉冲信号的第二边沿同步的地址单元,所述第一地址选通脉冲信号的第一边沿和第二边沿分别是下降沿和上升沿,或者,所述第一地址选通脉冲信号的第一边沿和第二边沿分别是上升沿和下降沿。
6. 如权利要求5所述的总线代理,其中:所述第一地址选通脉冲信号包含两个地址选通脉冲,其中每个地址选通脉冲的仅仅一种边沿被用作地址选通脉冲。
7. 如权利要求6所述的总线代理,其中:每个地址选通脉冲的仅仅一种边沿是下降沿。
8. 如权利要求2所述的总线代理,其中:所述总线代理用于根据四重抽吸信令模式以源同步传送方式传输数据到数据总线上。
9. 一种执行总线事务的方法,包含:
启动用于第一事务的请求阶段;
在完成所述第一事务之前以一种流水线的方式启动用于第二事务的请求阶段,其中用于所述第二事务的请求阶段是在用于第一事务的请求阶段开始之后的两个总线周期后启动的,所述启动是通过在用于第一事务的第一事务地址选通脉冲信号的断定之后的两个总线周期后以一种源同步方式为第二事务在地址总线上断定地址和一种请求以及所述请求的辅助详细信息以及在地址选通脉冲信号引脚上断定第二事务地址选通脉冲信号来实现的,其中用于第一事务的请求阶段和用于第二事务的请求阶段是双重抽吸的请求阶段。
10. 如权利要求9所述的方法,进一步包含:
在数据阶段中,经由第一双向数据选通脉冲信号线提供第一数据选通脉冲信号以及经由第二双向数据选通脉冲信号线提供第二数据选通脉冲信号,其中所述第一数据选通脉冲信号和所述第二数据选通脉冲信号具有是所述总线时钟频率两倍的数据选通脉冲频率;
提供在数据总线上中心与所述第一数据选通脉冲信号的第一边沿同步的数据单元以及提供也在所述数据总线上中心与所述第二数据选通脉冲信号的第一边沿同步的数据单元,所述第一数据选通脉冲信号的第一边沿和所述第二数据选通脉冲信号的第一边沿仅是下降沿或者仅是上升沿。
11. 如权利要求10所述的方法,进一步包含:
提供一个地址选通脉冲信号以在每个总线时钟周期提供两个地址选通脉冲;
提供在所述地址总线上中心与所述一个地址选通脉冲信号的第一边沿同步的地址单元以及提供也在所述地址总线上中心与所述一个地址选通脉冲信号的第二边沿同步的地址单元,所述一个地址选通脉冲信号的第一边沿和第二边沿分别是下降沿和上升沿,或者,所述一个地址选通脉冲信号的第一边沿和第二边沿分别是上升沿和下降沿。
12. 如权利要求11所述的方法,其中:所述的提供在数据总线上中心与所述第一数据选通脉冲信号的第一边沿同步的数据单元以及所述的提供也在所述数据总线上中心与所述第二数据选通脉冲信号的第一边沿同步的数据单元包含:
提供中心与所述第一数据选通脉冲信号的第一下降沿同步的第一数据单元;
提供中心与所述第二数据选通脉冲信号的第一下降沿同步的第二数据单元;
提供中心与所述第一数据选通脉冲信号的第二下降沿同步的第三数据单元;
提供中心与所述第二数据选通脉冲信号的第二下降沿同步的第四数据单元。
13. 如权利要求12所述的方法,其中:所述的提供在所述地址总线上中心与所述一个地址选通脉冲信号的第一边沿同步的地址单元以及所述的提供也在所述地址总线上中心与所述一个地址选通脉冲信号的第二边沿同步的地址单元包含:
提供中心与所述一个地址选通脉冲信号的下降沿同步的用于请求的第一地址单元;
提供中心与所述一个地址选通脉冲信号的上升沿同步的用于请求的第二地址单元。
14. 一种总线系统,包含:
一个或多个总线代理,包含:
地址总线;
地址选通脉冲信号引脚;
请求代理,能够在用于第一事务的请求阶段开始之后的两个时钟后启动用于第二事务的请求阶段,所述启动是通过在所述地址选通脉冲信号引脚上发生用于第一事务的第一事务地址选通脉冲信号的断定之后的两个总线周期后以一种源同步方式为第二事务在所述地址总线上断定地址和一种请求以及所述请求的辅助详细信息以及在所述地址选通脉冲信号引脚上断定第二事务地址选通脉冲信号来实现的,其中用于第一事务的请求阶段和用于第二事务的请求阶段是双重抽吸的请求阶段;
地址和请求传输电路,用于以一种源同步方式以总线时钟频率倍数的频率传输多个请求信号和多个地址信号,所述倍数为2。
15. 如权利要求14所述的系统,其中:所述系统进一步包括数据总线,所述一个或多个总线代理根据四重抽吸信令模式以源同步传送方式传输数据到所述数据总线上。
16. 如权利要求15所述的系统,其中:所述一个或多个总线代理根据双重抽吸信令模式传输信号到所述地址总线上。
17. 如权利要求16所述的系统,其中:所述一个或多个总线代理以源同步传送方式传输信号到所述地址总线上。
18. 如权利要求17所述的系统,其中:所述系统进一步包含控制总线,经由所述控制总线提供的多个控制信号使用公共时钟信令模式进行传输。
CN200410061754.4A 1999-12-29 2000-12-29 四重抽吸总线体系结构和协议 Expired - Fee Related CN1815463B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/474,058 1999-12-29
US09/474058 1999-12-29
US09/474,058 US6609171B1 (en) 1999-12-29 1999-12-29 Quad pumped bus architecture and protocol

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CNB008179840A Division CN1230762C (zh) 1999-12-29 2000-12-29 用于在多点双向总线上传输信息方法和装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN2006100996516A Division CN1900924B (zh) 1999-12-29 2000-12-29 四重抽吸总线体系结构和协议

Publications (2)

Publication Number Publication Date
CN1815463A CN1815463A (zh) 2006-08-09
CN1815463B true CN1815463B (zh) 2014-03-05

Family

ID=23882019

Family Applications (4)

Application Number Title Priority Date Filing Date
CN200410061754.4A Expired - Fee Related CN1815463B (zh) 1999-12-29 2000-12-29 四重抽吸总线体系结构和协议
CNB008179840A Expired - Fee Related CN1230762C (zh) 1999-12-29 2000-12-29 用于在多点双向总线上传输信息方法和装置
CN2006100996516A Expired - Fee Related CN1900924B (zh) 1999-12-29 2000-12-29 四重抽吸总线体系结构和协议
CNB200410061753XA Expired - Fee Related CN100375075C (zh) 1999-12-29 2000-12-29 四重抽吸总线体系结构和协议

Family Applications After (3)

Application Number Title Priority Date Filing Date
CNB008179840A Expired - Fee Related CN1230762C (zh) 1999-12-29 2000-12-29 用于在多点双向总线上传输信息方法和装置
CN2006100996516A Expired - Fee Related CN1900924B (zh) 1999-12-29 2000-12-29 四重抽吸总线体系结构和协议
CNB200410061753XA Expired - Fee Related CN100375075C (zh) 1999-12-29 2000-12-29 四重抽吸总线体系结构和协议

Country Status (16)

Country Link
US (6) US6609171B1 (zh)
EP (2) EP1242898B1 (zh)
JP (1) JP4194274B2 (zh)
KR (1) KR100565101B1 (zh)
CN (4) CN1815463B (zh)
AT (1) ATE377797T1 (zh)
AU (1) AU2463101A (zh)
BR (1) BRPI0016834B1 (zh)
DE (2) DE60037036T2 (zh)
GB (1) GB2374264B (zh)
HK (1) HK1046964B (zh)
RU (1) RU2271566C2 (zh)
SG (2) SG123609A1 (zh)
TW (1) TW559704B (zh)
WO (1) WO2001048621A1 (zh)
ZA (1) ZA200203946B (zh)

Families Citing this family (98)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6609171B1 (en) * 1999-12-29 2003-08-19 Intel Corporation Quad pumped bus architecture and protocol
US6965648B1 (en) * 2000-05-04 2005-11-15 Sun Microsystems, Inc. Source synchronous link integrity validation
US6745268B1 (en) * 2000-08-11 2004-06-01 Micron Technology, Lnc. Capacitive multidrop bus compensation
US6816932B2 (en) * 2000-10-06 2004-11-09 Broadcom Corporation Bus precharge during a phase of a clock signal to eliminate idle clock cycle
US6678767B1 (en) * 2000-10-06 2004-01-13 Broadcom Corp Bus sampling on one edge of a clock signal and driving on another edge
US6993612B2 (en) * 2000-12-07 2006-01-31 Micron Technology, Inc. Arbitration method for a source strobed bus
US6901475B2 (en) * 2000-12-07 2005-05-31 Micron Technology, Inc. Link bus for a hub based computer architecture
US7676588B2 (en) * 2001-10-05 2010-03-09 International Business Machines Corporation Programmable network protocol handler architecture
DE50113128D1 (de) 2001-12-03 2007-11-22 Infineon Technologies Ag Datenübertragungseinrichtung
US7000065B2 (en) * 2002-01-02 2006-02-14 Intel Corporation Method and apparatus for reducing power consumption in a memory bus interface by selectively disabling and enabling sense amplifiers
US6983348B2 (en) * 2002-01-24 2006-01-03 Intel Corporation Methods and apparatus for cache intervention
US7085889B2 (en) * 2002-03-22 2006-08-01 Intel Corporation Use of a context identifier in a cache memory
EP1512079B1 (en) * 2002-05-24 2019-02-27 Intel Corporation Pseudo multiport data memory has stall facility
AU2003240948A1 (en) * 2002-05-28 2003-12-12 Cadence Design Systems, Inc. Assertion-based transaction recording
TWI282513B (en) * 2002-06-12 2007-06-11 Mediatek Inc A pre-fetch device of instruction for an embedded system
TW579467B (en) * 2002-07-24 2004-03-11 Via Tech Inc Method for blocking request to bus
US7200730B2 (en) * 2002-09-16 2007-04-03 Texas Instruments Incorporated Method of operating a memory at high speed using a cycle ready status output signal
US7234034B2 (en) * 2002-09-16 2007-06-19 Texas Instruments Incorporated Self-clocking memory device
US6956789B2 (en) * 2002-09-16 2005-10-18 Texas Instruments Incorporated Cycle ready circuit for self-clocking memory device
US8185602B2 (en) 2002-11-05 2012-05-22 Newisys, Inc. Transaction processing using multiple protocol engines in systems having multiple multi-processor clusters
US7051229B2 (en) * 2002-12-03 2006-05-23 Alcatel Canada Inc. Logical bus overlay for increasing the existing system bus data rate
US20040128416A1 (en) 2002-12-11 2004-07-01 Tsvika Kurts Apparatus and method for address bus power control
US7152167B2 (en) * 2002-12-11 2006-12-19 Intel Corporation Apparatus and method for data bus power control
US7216240B2 (en) * 2002-12-11 2007-05-08 Intel Corporation Apparatus and method for address bus power control
US20040117708A1 (en) * 2002-12-16 2004-06-17 Ellis David G. Pre-announce signaling for interconnect built-in self test
US6922769B2 (en) * 2002-12-23 2005-07-26 Intel Corporation Apparatus and method for reduction of power consumption in OS that use flat segmentation memory model
US20040153611A1 (en) * 2003-02-04 2004-08-05 Sujat Jamil Methods and apparatus for detecting an address conflict
US7054988B2 (en) * 2003-04-17 2006-05-30 Lsi Logic Corporation Bus interface for processor
US7478025B1 (en) * 2003-04-18 2009-01-13 Unisys Corporation System and method to support dynamic partitioning of units to a shared resource
US20040230188A1 (en) * 2003-05-12 2004-11-18 Iulian Cioanta Treatment catheters with thermally insulated regions
US7287126B2 (en) * 2003-07-30 2007-10-23 Intel Corporation Methods and apparatus for maintaining cache coherency
US7665069B2 (en) * 2003-10-31 2010-02-16 Sonics, Inc. Method and apparatus for establishing a quality of service model
US9087036B1 (en) 2004-08-12 2015-07-21 Sonics, Inc. Methods and apparatuses for time annotated transaction level modeling
US8504992B2 (en) * 2003-10-31 2013-08-06 Sonics, Inc. Method and apparatus for establishing a quality of service model
US7113000B2 (en) * 2003-12-10 2006-09-26 Hewlett-Packard Development Company, L.P. Bus agent having multiple reference levels
US7178048B2 (en) * 2003-12-23 2007-02-13 Hewlett-Packard Development Company, L.P. System and method for signal synchronization based on plural clock signals
US7057414B2 (en) * 2004-01-07 2006-06-06 International Business Machines Corporation Avoiding oscillation in self-synchronous bi-directional communication system
US20050262376A1 (en) * 2004-05-21 2005-11-24 Mcbain Richard A Method and apparatus for bussed communications
US20060036826A1 (en) * 2004-07-30 2006-02-16 International Business Machines Corporation System, method and storage medium for providing a bus speed multiplier
US7389375B2 (en) * 2004-07-30 2008-06-17 International Business Machines Corporation System, method and storage medium for a multi-mode memory buffer device
US7224595B2 (en) 2004-07-30 2007-05-29 International Business Machines Corporation 276-Pin buffered memory module with enhanced fault tolerance
US7296129B2 (en) * 2004-07-30 2007-11-13 International Business Machines Corporation System, method and storage medium for providing a serialized memory interface with a bus repeater
US7539800B2 (en) * 2004-07-30 2009-05-26 International Business Machines Corporation System, method and storage medium for providing segment level sparing
US20060075164A1 (en) * 2004-09-22 2006-04-06 Ooi Eng H Method and apparatus for using advanced host controller interface to transfer data
US7299313B2 (en) * 2004-10-29 2007-11-20 International Business Machines Corporation System, method and storage medium for a memory subsystem command interface
US7512762B2 (en) 2004-10-29 2009-03-31 International Business Machines Corporation System, method and storage medium for a memory subsystem with positional read data latency
US7356737B2 (en) * 2004-10-29 2008-04-08 International Business Machines Corporation System, method and storage medium for testing a memory module
US7305574B2 (en) * 2004-10-29 2007-12-04 International Business Machines Corporation System, method and storage medium for bus calibration in a memory subsystem
US7277988B2 (en) * 2004-10-29 2007-10-02 International Business Machines Corporation System, method and storage medium for providing data caching and data compression in a memory subsystem
US7395476B2 (en) * 2004-10-29 2008-07-01 International Business Machines Corporation System, method and storage medium for providing a high speed test interface to a memory subsystem
US7331010B2 (en) * 2004-10-29 2008-02-12 International Business Machines Corporation System, method and storage medium for providing fault detection and correction in a memory subsystem
US7441060B2 (en) * 2004-10-29 2008-10-21 International Business Machines Corporation System, method and storage medium for providing a service interface to a memory system
TWI268427B (en) * 2004-11-02 2006-12-11 Via Tech Inc Coordinating method of bus data transmission specification
TWI256558B (en) * 2004-11-02 2006-06-11 Via Tech Inc Method for coordinating bus data transmission specification and CPU and bridge chip used in the same
TWI304935B (en) * 2004-11-02 2009-01-01 Via Tech Inc Method for determining data transmission specification and combination of bridge chipset and memory used in the same
US20060171233A1 (en) * 2005-01-18 2006-08-03 Khaled Fekih-Romdhane Near pad ordering logic
US20060161743A1 (en) * 2005-01-18 2006-07-20 Khaled Fekih-Romdhane Intelligent memory array switching logic
KR100606244B1 (ko) * 2005-02-11 2006-07-28 삼성전자주식회사 데이터 스트로브 신호에 동기 되어 전송되는 데이터의 캡쳐 방법 및 이를 위한 데이터 캡쳐 회로
US7340568B2 (en) * 2005-02-11 2008-03-04 International Business Machines Corporation Reducing number of rejected snoop requests by extending time to respond to snoop request
US7529955B2 (en) * 2005-06-30 2009-05-05 Intel Corporation Dynamic bus parking
US7543094B2 (en) * 2005-07-05 2009-06-02 Via Technologies, Inc. Target readiness protocol for contiguous write
CN100461142C (zh) * 2005-07-05 2009-02-11 威盛电子股份有限公司 微处理器、处理器总线系统、及执行稀疏写入处理的方法
US7457901B2 (en) * 2005-07-05 2008-11-25 Via Technologies, Inc. Microprocessor apparatus and method for enabling variable width data transfers
US7441064B2 (en) * 2005-07-11 2008-10-21 Via Technologies, Inc. Flexible width data protocol
US7502880B2 (en) * 2005-07-11 2009-03-10 Via Technologies, Inc. Apparatus and method for quad-pumped address bus
US7590787B2 (en) * 2005-07-19 2009-09-15 Via Technologies, Inc. Apparatus and method for ordering transaction beats in a data transfer
CN100435123C (zh) * 2005-07-19 2008-11-19 威盛电子股份有限公司 用于稀疏线写操作的装置和方法
US7444472B2 (en) * 2005-07-19 2008-10-28 Via Technologies, Inc. Apparatus and method for writing a sparsely populated cache line to memory
US7444448B2 (en) * 2005-08-03 2008-10-28 Via Technologies, Inc. Data bus mechanism for dynamic source synchronized sampling adjust
US7634609B2 (en) * 2005-09-29 2009-12-15 Via Technologies, Inc. Data transmission coordinating method
US20070073977A1 (en) * 2005-09-29 2007-03-29 Safranek Robert J Early global observation point for a uniprocessor system
US7757031B2 (en) * 2005-10-24 2010-07-13 Via Technologies, Inc. Data transmission coordinating method and system
US7478259B2 (en) 2005-10-31 2009-01-13 International Business Machines Corporation System, method and storage medium for deriving clocks in a memory system
US7685392B2 (en) 2005-11-28 2010-03-23 International Business Machines Corporation Providing indeterminate read data latency in a memory system
US7636813B2 (en) * 2006-05-22 2009-12-22 International Business Machines Corporation Systems and methods for providing remote pre-fetch buffers
US7594055B2 (en) * 2006-05-24 2009-09-22 International Business Machines Corporation Systems and methods for providing distributed technology independent memory controllers
US7584336B2 (en) * 2006-06-08 2009-09-01 International Business Machines Corporation Systems and methods for providing data modification operations in memory subsystems
US7669086B2 (en) 2006-08-02 2010-02-23 International Business Machines Corporation Systems and methods for providing collision detection in a memory system
US7581073B2 (en) * 2006-08-09 2009-08-25 International Business Machines Corporation Systems and methods for providing distributed autonomous power management in a memory system
US20080062892A1 (en) * 2006-09-07 2008-03-13 Honeywell International Inc. High speed bus protocol with programmable scheduler
US7870459B2 (en) * 2006-10-23 2011-01-11 International Business Machines Corporation High density high reliability memory module with power gating and a fault tolerant address and command bus
US7477522B2 (en) * 2006-10-23 2009-01-13 International Business Machines Corporation High density high reliability memory module with a fault tolerant address and command bus
US8868397B2 (en) * 2006-11-20 2014-10-21 Sonics, Inc. Transaction co-validation across abstraction layers
KR100903381B1 (ko) * 2006-11-24 2009-06-23 주식회사 하이닉스반도체 반도체 메모리 장치 및 그의 구동 방법
KR20080047027A (ko) * 2006-11-24 2008-05-28 주식회사 하이닉스반도체 반도체 메모리 장치 및 그 구동 방법
KR100915811B1 (ko) * 2006-12-07 2009-09-07 주식회사 하이닉스반도체 반도체 메모리 장치의 데이터 입출력 제어 신호 생성 회로
US7721140B2 (en) 2007-01-02 2010-05-18 International Business Machines Corporation Systems and methods for improving serviceability of a memory system
US7603526B2 (en) * 2007-01-29 2009-10-13 International Business Machines Corporation Systems and methods for providing dynamic memory pre-fetch
US20090132747A1 (en) * 2007-11-19 2009-05-21 International Business Machines Corporation Structure for universal peripheral processor system for soc environments on an integrated circuit
US8139697B2 (en) * 2008-01-29 2012-03-20 United Microelectronics Corp. Sampling method and data recovery circuit using the same
US8020167B2 (en) * 2008-05-05 2011-09-13 Dell Products L.P. System and method for automatic throttling of resources in an information handling system chassis
KR101642833B1 (ko) * 2010-02-05 2016-07-26 삼성전자주식회사 클럭 임베디드 인터페이스 방법, 그 방법을 이용하는 송수신기 및 디스플레이 장치
WO2012127599A1 (ja) * 2011-03-22 2012-09-27 富士通株式会社 入出力制御装置,情報処理システム,及びログ採取プログラム
US8312176B1 (en) * 2011-06-30 2012-11-13 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8683096B2 (en) * 2012-06-27 2014-03-25 Intel Corporation Configuration of data strobes
US9525621B2 (en) * 2012-08-29 2016-12-20 Marvell World Trade Ltd. Semaphore soft and hard hybrid architecture
US9755818B2 (en) * 2013-10-03 2017-09-05 Qualcomm Incorporated Method to enhance MIPI D-PHY link rate with minimal PHY changes and no protocol changes
CN105390982B (zh) * 2015-11-24 2018-07-17 国家电网公司 基于仿生视觉分析的输电设备总线型评价系统

Family Cites Families (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4763243A (en) * 1984-06-21 1988-08-09 Honeywell Bull Inc. Resilient bus system
US4858173A (en) * 1986-01-29 1989-08-15 Digital Equipment Corporation Apparatus and method for responding to an aborted signal exchange between subsystems in a data processing system
JPS62280948A (ja) * 1986-05-29 1987-12-05 Fanuc Ltd バス調停方式
US5341487A (en) * 1991-12-20 1994-08-23 International Business Machines Corp. Personal computer having memory system with write-through cache and pipelined snoop cycles
US5280587A (en) * 1992-03-31 1994-01-18 Vlsi Technology, Inc. Computer system in which a bus controller varies data transfer rate over a bus based on a value of a subset of address bits and on a stored value
US5469547A (en) * 1992-07-17 1995-11-21 Digital Equipment Corporation Asynchronous bus interface for generating individual handshake signal for each data transfer based on associated propagation delay within a transaction
JP3369227B2 (ja) * 1992-11-09 2003-01-20 株式会社東芝 プロセッサ
TW255022B (zh) 1993-06-30 1995-08-21 Intel Corp
US5568620A (en) 1993-06-30 1996-10-22 Intel Corporation Method and apparatus for performing bus transactions in a computer system
US5615343A (en) 1993-06-30 1997-03-25 Intel Corporation Method and apparatus for performing deferred transactions
US5550988A (en) * 1994-03-01 1996-08-27 Intel Corporation Apparatus and method for performing error correction in a multi-processor system
US5548733A (en) 1994-03-01 1996-08-20 Intel Corporation Method and apparatus for dynamically controlling the current maximum depth of a pipe lined computer bus system
US5784579A (en) * 1994-03-01 1998-07-21 Intel Corporation Method and apparatus for dynamically controlling bus access from a bus agent based on bus pipeline depth
KR100360064B1 (ko) 1994-03-01 2003-03-10 인텔 코오퍼레이션 고도로파이프라인된버스구조
TW400483B (en) 1994-03-01 2000-08-01 Intel Corp High performance symmetric arbitration protocol with support for I/O requirements
GB2324230B (en) 1994-03-01 1998-12-16 Intel Corp High performance symmetric arbitration protocol with support for I/O requirements
US5572703A (en) * 1994-03-01 1996-11-05 Intel Corporation Method and apparatus for snoop stretching using signals that convey snoop results
US5535340A (en) * 1994-05-20 1996-07-09 Intel Corporation Method and apparatus for maintaining transaction ordering and supporting deferred replies in a bus bridge
US6029217A (en) * 1994-10-03 2000-02-22 International Business Machines Corporation Queued arbitration mechanism for data processing system
US5596729A (en) * 1995-03-03 1997-01-21 Compaq Computer Corporation First arbiter coupled to a first bus receiving requests from devices coupled to a second bus and controlled by a second arbiter on said second bus
US5925099A (en) * 1995-06-15 1999-07-20 Intel Corporation Method and apparatus for transporting messages between processors in a multiple processor system
US5710906A (en) * 1995-07-07 1998-01-20 Opti Inc. Predictive snooping of cache memory for master-initiated accesses
KR0164395B1 (ko) * 1995-09-11 1999-02-18 김광호 반도체 메모리 장치와 그 리이드 및 라이트 방법
US5696910A (en) * 1995-09-26 1997-12-09 Intel Corporation Method and apparatus for tracking transactions in a pipelined bus
US5812803A (en) * 1995-09-29 1998-09-22 Intel Corporation Method and apparatus for controlling data transfers between a bus and a memory device using a multi-chip memory controller
US5948094A (en) 1995-09-29 1999-09-07 Intel Corporation Method and apparatus for executing multiple transactions within a single arbitration cycle
US5778438A (en) * 1995-12-06 1998-07-07 Intel Corporation Method and apparatus for maintaining cache coherency in a computer system with a highly pipelined bus and multiple conflicting snoop requests
US5838995A (en) * 1995-12-18 1998-11-17 International Business Machines Corporation System and method for high frequency operation of I/O bus
US5802132A (en) * 1995-12-29 1998-09-01 Intel Corporation Apparatus for generating bus clock signals with a 1/N characteristic in a 2/N mode clocking scheme
EP0882266A1 (en) * 1996-02-20 1998-12-09 Intergraph Corporation High-availability super server
JP3643425B2 (ja) * 1996-02-29 2005-04-27 富士通株式会社 データ処理方法、データ処理装置及びインターフェイスコントローラ
AU3587097A (en) * 1996-09-06 1998-03-26 Intel Corporation A data flow control mechanism for a bus supporting two-and three-agent transactions
US5867728A (en) * 1996-12-17 1999-02-02 Compaq Computer Corp. Preventing corruption in a multiple processor computer system during a peripheral device configuration cycle
US6012118A (en) 1996-12-30 2000-01-04 Intel Corporation Method and apparatus for performing bus operations in a computer system using deferred replies returned without using the address bus
US5870567A (en) * 1996-12-31 1999-02-09 Compaq Computer Corporation Delayed transaction protocol for computer system bus
US6065101A (en) * 1997-06-12 2000-05-16 International Business Machines Corporation Pipelined snooping of multiple L1 cache lines
US5919254A (en) * 1997-06-25 1999-07-06 Intel Corporation Method and apparatus for switching between source-synchronous and common clock data transfer modes in a multiple processing system
US6336159B1 (en) 1997-06-25 2002-01-01 Intel Corporation Method and apparatus for transferring data in source-synchronous protocol and transferring signals in common clock protocol in multiple agent processing system
US5991855A (en) * 1997-07-02 1999-11-23 Micron Electronics, Inc. Low latency memory read with concurrent pipe lined snoops
US5978869A (en) 1997-07-21 1999-11-02 International Business Machines Corporation Enhanced dual speed bus computer system
US6108736A (en) * 1997-09-22 2000-08-22 Intel Corporation System and method of flow control for a high speed bus
US5964856A (en) * 1997-09-30 1999-10-12 Intel Corporation Mechanism for data strobe pre-driving during master changeover on a parallel bus
US6260091B1 (en) * 1997-10-20 2001-07-10 Intel Corporation Method and apparatus for performing out-of-order bus operations in which an agent only arbitrates for use of a data bus to send data with a deferred reply
US6092156A (en) 1997-11-05 2000-07-18 Unisys Corporation System and method for avoiding deadlocks utilizing split lock operations to provide exclusive access to memory during non-atomic operations
KR100255664B1 (ko) 1997-12-29 2000-05-01 윤종용 반도체 집적회로의 클락 포워딩 회로 및 클락포워딩 방법
US6006291A (en) * 1997-12-31 1999-12-21 Intel Corporation High-throughput interface between a system memory controller and a peripheral device
US6041380A (en) * 1998-01-21 2000-03-21 Micron Electronics, Inc. Method for increasing the number of devices capable of being operably connected to a host bus
US6223238B1 (en) * 1998-03-31 2001-04-24 Micron Electronics, Inc. Method of peer-to-peer mastering over a computer bus
US6172937B1 (en) * 1998-05-13 2001-01-09 Intel Corporation Multiple synthesizer based timing signal generation scheme
US6108721A (en) * 1998-06-29 2000-08-22 Hewlett-Packard Company Method and apparatus for ensuring data consistency between an i/o channel and a processor
US6275890B1 (en) * 1998-08-19 2001-08-14 International Business Machines Corporation Low latency data path in a cross-bar switch providing dynamically prioritized bus arbitration
US6205506B1 (en) * 1998-08-25 2001-03-20 Stmicroelectronics, Inc. Bus interface unit having multipurpose transaction buffer
US6449677B1 (en) * 1998-09-03 2002-09-10 Compaq Information Technologies Group, L.P. Method and apparatus for multiplexing and demultiplexing addresses of registered peripheral interconnect apparatus
US6102118A (en) 1998-12-30 2000-08-15 Moore; Curt A. Multi-purpose adjustable centralizer system with tool
TW514788B (en) * 1999-04-23 2002-12-21 Via Tech Inc Method of delayed transaction in bus system and device using the method
US6272604B1 (en) * 1999-05-20 2001-08-07 International Business Machines Corporation Contingent response apparatus and method for maintaining cache coherency
US6487621B1 (en) * 1999-08-17 2002-11-26 Compaq Information Technologies Group, L.P. Architecture, system and method for ensuring an ordered transaction on at least one of a plurality of multi-processor buses that experience a hit-to-modified snoop cycle
US6615323B1 (en) * 1999-09-02 2003-09-02 Thomas Albert Petersen Optimizing pipelined snoop processing
US6591321B1 (en) * 1999-11-09 2003-07-08 International Business Machines Corporation Multiprocessor system bus protocol with group addresses, responses, and priorities
US6609171B1 (en) * 1999-12-29 2003-08-19 Intel Corporation Quad pumped bus architecture and protocol
US6681293B1 (en) * 2000-08-25 2004-01-20 Silicon Graphics, Inc. Method and cache-coherence system allowing purging of mid-level cache entries without purging lower-level cache entries
US6651122B2 (en) * 2000-12-07 2003-11-18 Micron Technology, Inc. Method of detecting a source strobe event using change detection
US6901475B2 (en) * 2000-12-07 2005-05-31 Micron Technology, Inc. Link bus for a hub based computer architecture

Also Published As

Publication number Publication date
KR100565101B1 (ko) 2006-03-30
DE10085385B3 (de) 2011-12-08
EP1881414A3 (en) 2008-07-30
JP2003518693A (ja) 2003-06-10
US6907487B2 (en) 2005-06-14
US20020029307A1 (en) 2002-03-07
CN1815463A (zh) 2006-08-09
CN1558337A (zh) 2004-12-29
EP1242898B1 (en) 2007-11-07
US20020147875A1 (en) 2002-10-10
US20010037421A1 (en) 2001-11-01
CN1230762C (zh) 2005-12-07
EP1242898A1 (en) 2002-09-25
RU2002120499A (ru) 2004-03-10
GB0216035D0 (en) 2002-08-21
DE60037036T2 (de) 2008-08-21
CN100375075C (zh) 2008-03-12
DE10085385T1 (de) 2002-12-19
HK1046964A1 (en) 2003-01-30
GB2374264B (en) 2004-04-07
CN1900924A (zh) 2007-01-24
RU2271566C2 (ru) 2006-03-10
AU2463101A (en) 2001-07-09
ZA200203946B (en) 2003-01-02
SG123610A1 (en) 2006-07-26
BRPI0016834B1 (pt) 2015-08-11
US6880031B2 (en) 2005-04-12
US6601121B2 (en) 2003-07-29
JP4194274B2 (ja) 2008-12-10
DE60037036D1 (de) 2007-12-20
HK1046964B (zh) 2004-07-23
EP1881414A2 (en) 2008-01-23
GB2374264A (en) 2002-10-09
CN1415095A (zh) 2003-04-30
US20010037424A1 (en) 2001-11-01
WO2001048621A1 (en) 2001-07-05
TW559704B (en) 2003-11-01
US6807592B2 (en) 2004-10-19
ATE377797T1 (de) 2007-11-15
US6609171B1 (en) 2003-08-19
US20020038397A1 (en) 2002-03-28
KR20020089308A (ko) 2002-11-29
SG123609A1 (en) 2006-07-26
BR0016834A (pt) 2002-09-10
CN1900924B (zh) 2010-05-12
US6804735B2 (en) 2004-10-12

Similar Documents

Publication Publication Date Title
CN1815463B (zh) 四重抽吸总线体系结构和协议
US6263397B1 (en) Mechanism for delivering interrupt messages
US5282272A (en) Interrupt distribution scheme for a computer bus
US5191649A (en) Multiprocessor computer system with data bus and ordered and out-of-order split data transactions
US4763249A (en) Bus device for use in a computer system having a synchronous bus
US4888684A (en) Multiprocessor bus protocol
JP3832833B2 (ja) 情報処理方法および装置
US4706190A (en) Retry mechanism for releasing control of a communications path in digital computer system
US4769768A (en) Method and apparatus for requesting service of interrupts by selected number of processors
EP0139563B1 (en) Control mechanism for multiprocessor system
EP0301610B1 (en) Data processing apparatus for connection to a common communication path in a data processing system
US20020152343A1 (en) Arbitration method for a source strobed bus
EP0358716A1 (en) NODE FOR SUPPORTING INTERRUPTION REQUEST MESSAGES ON A BUS ON HOLD.
US20030182486A1 (en) Demand DMA
WO1998010350A1 (en) A data flow control mechanism for a bus supporting two-and three-agent transactions
JP2001125694A (ja) ブリッジ装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140305

Termination date: 20161229

CF01 Termination of patent right due to non-payment of annual fee