CN1230762C - 用于在多点双向总线上传输信息方法和装置 - Google Patents

用于在多点双向总线上传输信息方法和装置 Download PDF

Info

Publication number
CN1230762C
CN1230762C CNB008179840A CN00817984A CN1230762C CN 1230762 C CN1230762 C CN 1230762C CN B008179840 A CNB008179840 A CN B008179840A CN 00817984 A CN00817984 A CN 00817984A CN 1230762 C CN1230762 C CN 1230762C
Authority
CN
China
Prior art keywords
bus
data
address
strobe pulse
pin
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
CNB008179840A
Other languages
English (en)
Other versions
CN1415095A (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 CN1415095A publication Critical patent/CN1415095A/zh
Application granted granted Critical
Publication of CN1230762C publication Critical patent/CN1230762C/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)
  • Bus Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Debugging And Monitoring (AREA)
  • Telephonic Communication Services (AREA)

Abstract

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

Description

用于在多点双向总线上传输信息方法和装置
技术领域
本发明通常涉及处理器,尤其涉及一种四重抽吸总线体系结构和协议。
背景技术
随着当今软件和应用日益增加的复杂性和要求,需要处理器提供增加了的吞吐量和带宽。可能有一个或多个能够对限制计算机性能起作用的资源、诸如输入/输出(I/O)速度或者带宽、存储器容量等。一个通常限制或者压制计算机性能的资源是处理器总线或者前端总线的速度和带宽,其中前端总线是在一个或多个处理器和芯片组之间提供的总线。例如,某些奔腾处理器(诸如一个由Intel公司生产的Pentium Pro处理器)包含一个64比特的数据总线,并且能够在每个处理器时钟周期内传输8个字节,并且能够在4个时钟周期内传输一个32字节的高速缓存线。因此,如果处理器时钟在100兆赫(举例来说)处提供,则数据传送率将是800兆字节/秒。Pentium Pro处理器体系结构的各种细节能够在1996年1月出版的、ISBN 1-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。每个处理器还包括一个内部高速缓存(未显示)。
每个处理器还连接到一条公共处理器总线115(也被称为主机总线或者前端总线)。图2是一个框图,说明了依据一个示例实施例的这条处理器总线115。如图2所示,处理器总线115包括一条控制总线202、一条地址总线204和一条数据总线206。依据一个实施例,数据总线206包含许多信号,其包括64条数据线D[63:0]在内。地址总线204还包含许多信号,其包括36条地址线A[35:0]在内。处理器总线115包含一个总线时钟(BCLK)。总线时钟是共用的,而且经由处理器总线115中的控制总线202提供给所有代理。控制总线202也包含许多信号。地址总线204、控制总线202和数据总线206中每个最好都为一条多点双向总线。依据一个实施例,术语“多点”意味着这些总线被连接到三个或更多的总线代理,这与一条仅仅连接在两个总线代理之间的点对点总线相反。
一个系统接口116(或者芯片组)也被连接到处理器总线115以把其它几个组件连接到处理器总线115。系统接口116包含一个存储器控制器118,用于把一个主存储器子系统122连接到处理器总线115。主存储器子系统122通常包含一个或多个存储卡和一个控制电路。系统接口116还包含一个输入/输出(I/O)控制器120,以把一个或多个I/O桥接器或者I/O设备连接到处理器总线115。在如图1所示的这个计算机示例中,I/O控制器120把一个I/O桥接器124连接到处理器总线115。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 ComponentInterconnect(外围组件互连,PCI)总线或者其它类型的I/O总线。
III.代理
总线代理在处理器总线115上发布事务以传输数据和系统信息。总线代理是连接到处理器总线115的任何设备。可能有几种类别的总线代理:
(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.操作、事务和阶段
依据一个实施例,在处理器总线115上的总线动作被分等级地组织成操作、事务和阶段。
操作是即使它在总线115上可能不是基本的但是对软件来说显得是基本的(例如,看起来是不可分的或者看起来是一次发生的)一个总线过程。一个操作可以包含单个总线事务,但是有时可以涉及多个总线事务,或者是具有多个数据传输的单个事务。示例包括一个读操作、一个写操作、一个锁定的读取-修改-写入操作和延期操作。
事务是与单个总线请求有关的总线动作集合。一个事务从总线判优、以及ADS#信号(指示一个地址正被驱动)和一个事务地址的断定开始。事务被驱动,例如来传输数据,来查询一个改变了的高速缓存状态,或者向系统提供信息。
阶段使用一组特定信号以传递一个特殊类型的信息。阶段能够包含:判优,请求,探听,响应和数据。不是所有的事务都包含所有的阶段,而且某些阶段能够重叠。判优阶段是总线代理确定谁将是下一个总线拥有者(一个代理在发布一个事务之前必须拥有总线)的阶段。请求阶段是把事务发布到总线的阶段。探听阶段是迫使高速缓存一致性的阶段。响应阶段是被寻址的代理或者目标代理驱动一个事务响应到总线上的阶段。在数据阶段中,请求或者响应或者探听代理驱动或接收事务数据。
经由处理器总线115传送的四个控制信号包含:一个总线时钟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.信号模式
依据一个实施例,处理器总线115是可扩展的,并且支持两种信号模式。第一种是一个公共时钟信号模式,在该模式下所有的信号激活和采样或者锁存点相对于一个公共总线时钟(BCLK#)发生,其中该公共总线时钟(BCLK#)是在所有代理之间连续提供的。总线时钟通常由在一个母板上提供的一个时钟芯片或者时钟电路产生,并且对在一台计算机中的所有处理器或者代理是共用的。相对于公共总线时钟的信号计时被称为公共时钟(1X)信号模式。依据一个实施例,经由控制总线提供的许多控制信号使用该公共时钟(1X)信号模式进行传送。
第二种信号模式是一个多重抽吸信号模式,它允许一个由公共时钟信号模式支持的传输速度倍数的信息传输速度。因此,依据一个实施例,多重抽吸信号模式能够支持以公共(即系统)总线时钟频率倍数的速度、在代理之间经由处理器总线115传输信息。例如,多重抽吸信号模式可以提供例如一个双重抽吸信号模式,或是可以提供一个四重抽吸信号模式,其中双重抽吸信号模式允许信息(例如,数据,地址或者其他信息)以公共时钟频率速度的两倍(2X)进行传输,而四重抽吸信号模式以总线时钟频率的四倍(4X)提供信息传输。为了便于以这样大于公共总线时钟的速度或者频率传输信息,驱动代理还发布或者提供一个被称为时序“选通脉冲”的伴生信号,该信号由接收器使用作为一个参考用于捕获或者锁存该多重抽吸的信息。
术语“断定”是指一个信号被驱动到它的有效电平(即,对一个低电平有效的信号来说,被驱动到零),而且术语“取消断定”是指信号被驱动到它的无效电平。在如下所述的某些时序图中使用了正方形、圆形和三角形符号以指示特定信号何时被驱动或者采样。正方形指示一个信号在那个时钟周期中被驱动(断定,启动)。圆形指示一个信号在那个时钟周期中被采样(观察,锁存)。圆形通常被用来在公共时钟(1X)信号模式中基于总线时钟(BCLK)的一个上升(或者下降)沿显示一个采样点。三角形指示一个信号基于被称为“选通脉冲”的一个伴生信号的一个上升或者下降沿被采样或者捕获。选通脉冲最好可以是仅仅在信息(例如,数据、地址、其它信息)传送期间内经由处理器总线通常在多重抽吸模式下被打开或者被激活。
A.公共时钟信号模式
依据公共时钟(1X)信号模式的一个实施例,在处理器总线115上的所有代理被要求驱动它们的有效输出并且采样所需的输入。依据一个实施例,每个输入应该在总线时钟的上升沿上在一个有效采样间隔期间内被采样,而且一到下一个总线时钟沿上升就把它的效果或者结果向外驱动到总线115上。这个方法实例允许一个完整的总线时钟周期用于组件间的通信(信号传输和传播),以及在接收器处允许至少一个完整的总线时钟周期来解释这些信号并且计算和输出一个响应。因此,在一个代理在一个或多个总线时钟周期中把数据驱动到处理器总线上之后,在另一个代理能够驱动处理器总线115之前有一个总线时钟周期的暂停(例如,一个不工作周期或者不活动周期)。
图4是一个示例时序图,依据一个实施例说明了公共时钟(1X)信号模式的示例操作。当信号出现在处理器总线115上时显示该信号。显示了总线时钟(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.多重抽吸信号模式
在许多实例中,处理器总线长度115、电限制(包含用于穿过总线的信号传播等待时间)可以阻止增加处理器总线频率。因此,依据一个实施例,而不是增加处理器总线时钟频率,该多重抽吸信号协议通过以该总线时钟(BCLK)频率的一个倍数操作适当的总线信号组(例如,地址总线或者数据总线)来增加该数据传送率(经由该公共时钟信号模式)。
1.一个四重抽吸信号模式的示例
在该四重抽吸信号模式中,该适当的总线信号组以该总线时钟(BCLK)频率的四倍(4X)进行操作。换句话说,在四重抽吸信号模式中,在一个总线时钟周期内(这是它在该公共时钟或者1X信号模式中驱动一个信息单元所需的时间)四个信息单元被驱动到该处理器总线115上。
图5是一个时序图,依据一个实施例说明了一个示例四重抽吸信号模式。虽然该四重抽吸信号模式能用于任何类型的信号,但是依据一个示例实施例,该四重抽吸信号协议用于传送数据。在图5中的显示了两个总线时钟周期和第三总线时钟周期的一部分。穿过该处理器总线115的传输时间(或者信号传播时间)的最坏情况是这样的,即在第一个信息单元已经锁存在该接收器处(接收代理)之前,第二个信息单元可以被驱动到在该驱动器处的处理器总线115上(即,该代理驱动信息到该处理器总线上)。
依据一个实施例,该驱动器(或者驱动代理)在该总线时钟(BCLK)周期的上升沿、以及该25%、50%和75%点发送或者驱动一个新的信息单元到该上升沿上。
该接收器也发送一个被称为数据选通脉冲信号的伴生定时信号来指示何时该接收器应当采样或者捕获该数据。该选通信号更可取地是只有当信息使用该多重抽吸信号模式发送时才被发送或者驱动(激活)。
因为该数据和选通信号由同一个驱动器或者源产生,该数据和选通脉冲将具有相同的路径。结果,该选通信号和数据信号应当具有相同的路径,因此具有大致相同的延迟。因此,由同时发送一个选通脉冲和数据的驱动器或者源实现的一个有利条件是,该数据信号和该选通信号将同阶段(或者同步)到达在每个在该总线115上的代理处。因此,这个一个驱动器即发送数据又发送一个时序选通信号的技术能够被称为是一个源同步传送。在该四重抽吸信号模式中,在每个总线时钟周期中应该有四个数据选通脉冲(例如,四个时序选通脉冲边沿),每一个用于四个数据单元中的一个。不幸地时,在以比较高的频率产生一个选通信号中可能出现问题。在高时钟频率处,在该上升沿比率和该下降沿比率之间的差别能够是重要的。此外,可能难以提供一个具有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#被驱动到总线115上(如用于DRDY#的正方形所示)。DRDY#指示有效数据已经放置在处理器总线115上并且必须被采样或者锁存。第一个数据单元(D1)在总线时钟周期1的上升沿处(如用于D#(@driver)的第一个矩形所示)被该驱动器驱动到处理器总线115上。第一个数据选通信号(DSTBp#)然后由该驱动器在第一个总线时钟周期的12.5%点处激活,如在DSTBp#(@driver)中的第一个正方形所示。因此,该用于第一个数据单元(D1)的选通脉冲(或者下降沿)置于第一个数据单元的中心。一旦一个选通信号已经被激活或者打开了,它一般继续激活直到数据已经驱动到总线上为止。
此外,一个第二数据单元由该驱动器在该总线时钟周期1的25%点处驱动,如用于D#(@driver)的第二个矩形所示。第二个数据选通信号(DSTBn#)在该总线时钟周期1的37.5%点处被激活并且提供一个置于第二个数据单元(D2)中心的下降沿(或者选通脉冲)。
同样地,第三和第四数据单元(分别为D3和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还显示了在该接收器处的数据捕获。在该信号(数据和数据选通脉冲)由该驱动器驱动之后,这些信号沿着处理器总线115向下传送并且到达该目标或者接收器。第一个数据单元在接收器处接收,如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类似地包含一个数据选通脉冲发生器1和一个数据选通脉冲发生器2用于分别产生两个数据选通信号到数据选通信号线820和822上。一个公共(或者系统)总线时钟发生器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#信号在请求阶段开始处变低。在该双重抽吸信号模式中,以它使用该公共时钟信号模式驱动一个单元所花费的时间(即,在一个总线时钟周期期间),把两个信息单元驱动到总线上。由于传输时间(或者在该处理器总线115上的信号传播时间)可以在第一个单元被锁存在接收器(或者多个)处之前在该驱动器处驱动第二个信号群或者信息单元。依据一个实施例,该驱动器在该总线时钟周期的上升沿和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#信号的上升沿(在总线时钟周期的75%点处驱动)。
即使地址选通脉冲具有一个与总线时钟相同的频率,但是该总线时钟将不会被用作用于该信息单元的选通信号,因为该总线时钟信号在适当时间不提供上升和下降沿。此外,该总线时钟信号总是激活的(与一个选通信号仅仅在一个源同步传送期间被激活相反)。地址选通信号用来提供选通脉冲用于这两个信息单元的脉冲或者采样点,是因为该地址选通信号能够被激活(打开)和取消激活(关闭)而不管总线时钟的状态或者阶段。通过让该从同一个源驱动的选通脉冲作为信息,在这选通脉冲中的延迟匹配在该信息中的延迟,由此允许同时有多于一位在一条线上。
该信息单元(Aa和Ab)以及地址选通信号沿着处理器总线115传送并且在总线时钟周期2开始处到达接收器。如图6所示,第一个信息单元(Aa)在该ADSTB#(@receiver)信号的下降沿上被捕获或者采样,而且第二个信息单元在该ADSTB#(@receiver)信号的上升沿被捕获或者采样,如在该ADSTB#(@receiver)信号上的两个三角形所示。因此,能够看出,当该数据是有效(并且应当被捕获)时,该接收器基于来自该驱动器的一个指示确定性地捕获该数据或者信息。
依据一个实施例,数据从该驱动代理传送到任何接收器的等待时间应当小于或等于一个总线时钟周期减于该输入锁存器的准备时间。如果该接收器变为下一个阶段的所有者的话,这将会避免在用于第二个或者后续阶段的地址线(或者地址总线)及其他线上的竞争。它的净效果是该公共时钟信号模式带宽的两倍,并且具有增加的、用于在该组件或者接收器内部锁存的第一个信号群的等待时间的效果。
依据一个实施例,该接收器包含四个单元的FIFO缓存,用于在该请求阶段期间存储经由地址总线传输的四个信息单元。这允许来自一个请求子阶段a以及子阶段b的单元在FIFO中被接收和捕获,同时允许同时来自前一个请求子阶段a和子阶段b的单元从该FIFO中读出并且被锁存在接收器处。
因此,依据一个实施例,以和该总线时钟相同的频率,使用单个地址选通信号来提供用于经由地址总线传送的两个信息单元的选通脉冲。在这些用于地址选通脉冲的频率处(和总线时钟信号频率相同),信号衰减不是一个问题。此外,在该选通脉冲作业周期中的任何不对称不会形成一个问题,因为每一个总线时钟周期仅仅传输两个信息单元。因此,和该总线时钟具有相同频率的单个地址选通能够被用作地址选通信号,其中该地址选通的下降和上升沿都被用作选通脉冲。
做为选择,能够使用多个(或者两个)地址选通信号,其中每个地址选通信号的仅仅一个边沿被用作一个选通脉冲。举例来说,能够使用在周期1的25%点处被激活(具有一个下降沿)的第一个地址选通信号以及在周期1的75%点处被激活(具有一个下降沿)的第二个地址选通信号。因此,该两个地址选通信号的激活点将被偏移或者交错。因为在一个总线时钟周期期间仅仅驱动两个单元,地址选通信号的频率能够被选定为和该总线时钟频率一样,或者为另一个频率。
图9是依据另一个实施例、用于在代理之间传送信息的一个装置的框图。第一个总线代理802连接到第二个总线代理832。第一个总线代理802包含一个地址选通发生器940用于产生一个地址选通信号(例如,ADSTB#)到一个双向地址选通信号线920上。总线代理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),用于该请求的各种辅助信息被驱动到总线115上,包括字节使能(指示哪个数据字节将在该数据线上提供)、一个延期ID、事务长度及其他事务信息。在一个总线时钟周期期间驱动第一个和第二个子阶段。结果,依据一个实施例,该请求信息(例如,它的大部分经由地址总线提供)据说具有一个2x数据传送率。
依据一个实施例,每个事务都具有一个探听阶段。由该探听阶段产生的探听指示为一个事务驱动的地址是否引用在任何总线代理的高速缓存中的一个正确或者修改了(脏)的高速缓存线。该探听结果还指示一个事务是否将按次序完成,或者可以为可能的无序完成延期。如果一个代理没有准备通过扩展该探听阶段来探听的话,该代理能够使用一个探听停止延迟一个事务。
现在将描述每一个阶段,并且突出该被实现以减少在阶段之间的等待时间的差别(在合适的地方)。
1)判优阶段:没有事务能够被发布直到该总线代理拥有该处理器总线115为止。如果想要驱动该事务到该处理器总线115上的代理还没有拥有该总线115,这一个事务仅仅需要具有这个阶段。依据一个实施例,提供了一个支持两种类型总线代理的总线判优协议,该总线代理为:对称代理、以及优先级代理。在总线115上的处理器一般作为对称代理进行判优。优先级代理(例如,系统接口116)通常以该I/O子系统(I/O桥124或者I/O代理)和存储器子系统(位于主存储器子系统122中的存储器代理)名义进行判优。
一个可用于为总线所有权判优的示例信号群显示如下(如在这里使用的那样,#符号指示有效低电平信号):
示例判优信号
引脚/信号名 引脚助记符 信号助记符
对称代理总线请求 BR[3:0]# BREQ[3:0]#
优先级代理总线请求 BPRI# BPRI#
堵塞下一个请求 BNR# BNR#
锁定 LOCK# LOCK#
处理器总线115允许多个代理同时为该总线115判优。该对称代理基于循环轮流优先权方案为总线115进行判优。该判优方案确保所有的对称代理公平地进入一个请求阶段。每个对称代理都具有一个唯一的、在重置处分配的代理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#信号、地址选通脉冲信号开始。这里是可用于传送一个请求的示例信号组。
示例请求信号
引脚名 引脚助记符 信号名 信号助记符
地址选通脉冲 ADS# 地址选通脉冲 ADS# 1
请求命令 REQ[4:0]# 请求a REQa[4:0]# 5
扩展请求b REQb[4:0]#
请求选通脉冲 ADSTB[1:0]# 请求选通脉冲 ADSTB[1:0]# 2
地址 A[35:3]# 地址a Aa[35:3]# 33
保留b Ab[35:32]#
属性b ATTR[7:0]#orAb[31:24]#
延期IDb DID[7:0]#orAb[23:16]#
字节使能b BE[7:0]#orAb[15:8]#
扩展功能b EXF[4:0]#orAb[1:0]#
注意:
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)数据(传输)阶段:在该数据阶段期间,数据经由处理器总线115在不同的总线代理之间传输。基于该请求阶段,一个事务包含一个“请求启动”(写)数据传送、一个“响应启动”(读)数据传送、或者没有数据传送。该数据阶段可以与用于一个事务的请求阶段相一致。
以下是能够在该数据阶段中使用的一个信号示例列表:
示例数据信号
    类型     信号名     号
    数据就绪     DRDY#     1
    数据总线忙     DBSY#     1
    数据选通脉冲     DSTBp[3:0]#DSTBp[3:0]#     8
    数据     D[63:0]#     64
    数据倒置     DINV[3:0]#     4
    数据奇偶校验     DP[3:0]#     4
DRDY#指示有效数据已经放置在总线115上并且必须被锁存。该数据总线所有者为每个总线时钟周期断定DRDY#,在该总线时钟周期中将要传输有效数据。DRDY#能够被取消断定为在该数据阶段中插入等待状态。DBSY#可用于在第一个DRDY#断定之前并且在连续的DRDY#断定之间,为一个多重总线时钟数据传送保持该数据总线DINV[3:]#用来指示该数据位已经由该数据源反转了。
数据总线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 (54)

1.一种经由一条多点总线从一个驱动代理向一个或多个接收代理传输信息的方法,包含:
向驱动代理和这一个或多个接收代理两者提供一个公共总线时钟;
从驱动代理发布一个总线事务到这一个或多个接收代理,包含:
驱动代理以总线时钟频率倍数的速度驱动多个用于一个请求的信息单元到一条地址总线上;
驱动代理激活一个第一选通脉冲信号以标识这一个或多个接收代理应当何时采样在地址总线上被驱动的信息单元;以及
从驱动代理向这一个或多个接收代理传输数据,包括:
驱动代理以总线时钟频率一个不同倍数的速度驱动多个信息单元到一条数据总线上;以及
驱动代理激活一个第二选通脉冲以标识这一个或多个接收代理应当何时采样被驱动到数据总线上的信息单元。
2.如权利要求1所述的方法,其特征在于:驱动代理驱动多个用于一个请求的信息单元到一条地址总线上包含:驱动代理以至少是总线时钟频率两倍的速度驱动至少两个用于一个请求的信息单元到一条地址总线上。
3.如权利要求2所述的方法,其特征在于:驱动代理驱动多个用于一个请求的信息单元到一条地址总线上包含:驱动代理以总线时钟频率两倍的速度驱动两个用于一个请求的信息单元到一条地址总线上。
4.如权利要求3所述的方法,其特征在于:驱动代理驱动多个用于一个请求的信息单元到一条地址总线上包含:驱动代理以至少是总线时钟频率四倍的速度驱动至少四个用于一个请求的信息单元到一条地址总线上。
5.如权利要求4所述的方法,其特征在于:驱动代理驱动多个用于一个请求的信息单元到一条地址总线上包含:驱动代理以总线时钟频率四倍的速度驱动四个用于一个请求的信息单元到一条地址总线上。
6.如权利要求1所述的方法,其特征在于:驱动代理激活一个第二选通脉冲包含:驱动代理激活至少两个异相的选通脉冲以标识接收代理应当何时采样被驱动到数据总线上的信息单元。
7.如权利要求6所述的方法,其特征在于:只有一种类型的选通脉冲边沿被用来标识接收代理应当何时采样被驱动到数据总线上的信息单元。
8.一种用于在总线上传输信号的方法,其中所述总线包含一个提供给所有总线代理的公共总线时钟、一条多点双向地址总线以及一条多点双向数据总线,其中对于不同类型的信号总线以两种信号模式操作,所述信号模式包含:
一种公共时钟信号模式,在该模式下信号(能够以一个基本上与总线时钟频率相同的速度被驱动到总线上,总线时钟标识用于采样在公共时钟信号模式下被驱动的信息单元的点;以及
一种多重抽吸信号模式,在该模式下信息单元能够由一个驱动代理以总线时钟频率倍数的速度驱动到地址总线或者数据总线中的一个上,而且在该模式下一个或多个选通脉冲信号由驱动代理激活,以标识用于在多重抽吸信号模式下被驱动的信息单元的采样点。
9.如权利要求8所述的传输信号的方法,其特征在于:只有一种类型的该一个或多个选通脉冲信号边沿被用来标识用于信息单元的采样点。
10.如权利要求8所述的传输信号的方法,其特征在于:该一个或多个选通脉冲信号包含多个选通脉冲信号,其中这多个选通脉冲信号以异相或者交错方案激活。
11.如权利要求8所述的传输信号的方法,其特征在于:该一个或多个选通脉冲信号用以标识实质上在每一个信息单元中心的采样点。
12.一条连接到多个总线代理的总线,该总线包含:
一条多点双向控制总线,用以提供多个包含有一个公共总线时钟、一个地址选通脉冲信号和一个数据选通脉冲信号的控制信号;
一条多点双向数据总线,用以允许一个驱动代理以总线时钟频率倍数的频率驱动信息单元到数据总线上;以及
一条多点双向地址总线,用以允许一个驱动代理以总线时钟频率倍数的频率驱动信息单元到地址总线上;
其特征在于:驱动代理激活数据选通脉冲信号以标识用于采样被驱动到数据总线上的信息单元的点;以及
驱动代理激活地址选通脉冲信号以标识用于采样被驱动到地址总线上的信息单元的点。
13.一种用于传输信息的装置,包含:
多个代理,其中至少一个代理作为一个驱动代理进行操作;
连接到这些代理的一条多点双向总线,该总线包含一条控制总线、一条地址总线和一条数据总线,该控制总线包含一条用于提供一个公共总线时钟到所有代理的公共总线时钟线、一条地址选通脉冲信号线和多条数据选通脉冲信号线;
其中一个驱动代理能够使用一种多重抽吸信号模式来驱动一个请求到地址总线上,在这种模式下该请求的信息单元能够以总线时钟频率倍数的速度进行传输,而且在该种模式下驱动代理能够在地址选通脉冲信号线上临时地激活一个地址选通脉冲信号来标识用于被驱动到地址总线上的信息单元的采样点;以及
其中一个驱动代理能够使用一种多重抽吸信号模式来传输数据,在这种模式下数据单元由一个驱动代理以总线时钟频率倍数的速度驱动到数据总线上,而且在该模式下驱动代理还能够以一种交错或者偏移方案临时激活多个数据选通脉冲信号到多条数据选通脉冲信号线上以标识用于采样这些数据单元的采样点。
14.如权利要求13所述的装置,其特征在于:只有数据选通脉冲信号的一个边沿被用来标识用于采样数据单元的采样点。
15.如权利要求14所述的装置,其特征在于:用以标识用于数据单元的采样点的数据选通脉冲信号的这一个边沿仅仅包含数据选通脉冲信号的上升沿。
16.如权利要求14所述的装置,其特征在于:用以标识用于数据单元的采样点的数据选通脉冲信号的这一个边沿仅仅包含数据选通脉冲信号的下降沿。
17.一种用于传输信息的装置,包含:
多个代理,其中至少一个代理作为一个驱动代理进行操作;
连接到这些代理的一条双向多点总线,该总线包含一条控制总线、一条地址总线和一条数据总线,该控制总线包含一条用于提供一个公共总线时钟到所有代理的公共总线时钟线和多条数据选通脉冲信号线;其中一个驱动代理使用一种多重抽吸信号模式来传输数据,在这种模式下数据单元由一个驱动代理以至少是总线时钟频率四倍的速度驱动到数据总线上,而且在该模式下驱动代理还能够以一种交错或者偏移方案临时激活多个数据选通脉冲信号到多条数据选通脉冲信号线上来标识用于采样这些数据单元的采样点。
18.一个总线代理,包含:
多个数据引脚;
多个数据选通脉冲引脚;
多个地址引脚;
一个地址选通脉冲引脚;
一个用于一个具有总线时钟频率的总线时钟信号的公共时钟引脚;
数据选通脉冲产生逻辑,用以在一个第一数据选通脉冲引脚和一个第二数据选通脉冲引脚上产生一个第一数据选通脉冲信号和一个第二数据选通脉冲信号,其中所述第一数据选通脉冲信号和所述第二数据选通脉冲信号具有一个所述总线时钟频率两倍的数据选通脉冲频率;
地址选通脉冲产生逻辑,在所述地址选通脉冲引脚上产生一个第一地址选通脉冲,其中该第一地址选通脉冲具有与所述总线时钟频率相同的地址选通脉冲频率;
数据传输逻辑,用以传输在所述多个数据引脚上与所述第一数据选通脉冲信号的第一边沿同步的数据单元,并且也传输在所述多个数据引脚上与所述第二数据选通脉冲信号的第一边沿同步的数据单元;
地址传输逻辑,用以在所述多个地址引脚上与所述第一地址选通脉冲的第一边沿同步传输地址单元,并且也在所述多个地址引脚上与所述第一地址选通脉冲的第二边沿同步传输地址单元。
19.如权利要求18所述的总线代理,进一步包含:
多个请求引脚;
其特征在于:所述地址传输逻辑在所述多个请求引脚上与所述第一地址选通脉冲的一个第一边沿同步传输请求单元,并且也在所述多个请求引脚上与所述第一地址选通脉冲的一个第二边沿同步传输请求单元。
20.如权利要求19所述的总线代理,其特征在于:总线代理为每十六个数据引脚提供一对选通脉冲,并且提供两个地址选通脉冲,其中每个用于所述多个地址引脚和所述多个请求引脚的两个子集中的每一个。
21.如权利要求19所述的总线代理,其特征在于:第一数据选通脉冲的第一边沿是一个下降沿,而且第二数据选通脉冲的第一边沿是一个下降沿。
22如权利要求18所述的总线代理,其特征在于:第一数据选通脉冲信号和第二数据选通脉冲信号是互补的选通脉冲信号。
23.如权利要求21所述的总线代理,进一步包含:
多个控制引脚,以使用一种公共时钟协议进行传递。
24.如权利要求19所述的总线代理,其特征在于:所述第一地址选通脉冲包含两个实质上相同的地址选通脉冲。
25.如权利要求24所述的总线代理,其特征在于:两个实质上相同的地址选通脉冲中的第一个与多个地址引脚和多个请求引脚的一个第一子集同步进行传输,而且这两个实质上相同的地址选通脉冲中的第二个与多个地址引脚和多个请求引脚的一个第二子集同步进行传输,该第二子集包含这多个地址引脚和多个请求引脚中、不在第一子集里的剩余一些。
26.如权利要求19所述的总线代理,进一步包含:
数据选通脉冲接收逻辑,用以在所述第一数据选通脉冲引脚和所述第二数据选通脉冲引脚上接收一个第三数据选通脉冲信号和一个第四数据选通脉冲信号,其中所述第三数据选通脉冲信号和所述第四数据选通脉冲信号具有是所述总线时钟频率两倍的数据选通脉冲频率;
地址选通脉冲接收逻辑,用以在所述地址选通脉冲引脚上接收第二地址选通脉冲,其中该第二地址选通脉冲具有与所述总线时钟频率相同的地址选通脉冲频率;
数据接收逻辑,用以在所述多个数据引脚上与所述第三数据选通脉冲信号的第一边沿同步接收数据单元,并且也在所述多个数据引脚上与所述第四数据选通脉冲信号的第一边沿同步接收数据单元;
地址接收逻辑,用以在所述多个地址引脚上与所述第二地址选通脉冲的第一边沿同步接收地址单元,并且也在所述多个地址引脚上与所述第二地址选通脉冲的第二边沿同步接收地址单元。
27.如权利要求26所述的总线代理,其特征在于:总线代理是包含下列的一组总线代理中的任何一个或多个:
一个芯片组;
一个处理器;
一个存储器控制部;
一个中央代理;
一个I/O代理。
28.一个总线代理,包含:
多个数据引脚,包含数据引脚D[63:0];
多个地址引脚;
多个请求引脚,包含请求引脚REQ[3:0];
一个用于一个具有总线时钟频率的总线时钟信号的公共时钟引脚;
多个控制引脚,用以传输多个与所述总线时钟信号同步操作的信号;
数据选通脉冲产生逻辑,用以产生四对数据选通脉冲信号,其中所述四对数据选通脉冲信号中每一个具有一个第一数据选通脉冲信号和一个第二数据选通脉冲信号,所述四对数据选通脉冲信号中每一个的所述第一数据选通脉冲信号和所述第二数据选通脉冲信号具有一个是所述总线时钟频率的两倍的数据选通脉冲频率;
地址选通脉冲产生逻辑,用以产生一个第一地址选通脉冲,其中该第一地址选通脉冲具有与所述总线时钟频率相同的地址选通脉冲频率;
数据传输逻辑,用于所述四对数据选通脉冲信号的每一个并且在所述多个数据引脚的不同子集上传输:
在所述多个数据引脚的一个子集上与所述第一数据选通脉冲信号的一个下降沿同步的第一数据单元;在所述多个数据引脚的该子集上与所述第二数据选通脉冲信号的一个下降沿同步的第二数据单元;
地址传输逻辑,用以首先传输在所述多个地址引脚上与所述第一地址选通脉冲的一个下降沿同步的地址单元,并且其次也传输在所述多个地址引脚上与所述第一地址选通脉冲信号的一个上升沿同步的地址单元,所述地址传输逻辑也是首先传输在所述多个请求引脚上与所述第一地址选通脉冲的所述下降沿同步的请求单元,并且其次也传输在所述多个请求引脚上与所述第一地址选通脉冲的所述上升沿同步的请求单元。
29.如权利要求28所述的总线代理,其特征在于:所述第一地址选通脉冲包含两个实质上相同的地址选通脉冲。
30.如权利要求29所述的总线代理,其特征在于:两个实质上相同的地址选通脉冲中的第一个与多个地址引脚和多个请求引脚的一个第一子集同步进行传输,而且这两个实质上相同的地址选通脉冲中的第二个与多个地址引脚和多个请求引脚的一个第二子集同步进行传输,该第二子集包含这多个地址引脚和多个请求引脚中、不在第一子集里的剩余那些。
31.如权利要求28所述的总线代理,其特征在于:所述多个控制引脚包含用于一组信号的引脚,该组信号包含:
ADS#;
BNR#;
BPRI#;
至少一个总线请求引脚;
DBSY#;
DEFER#;
DP[3:0]#;
DRDY#;
HITS;
HITM#;
INIT#;
TRDY#.
32.一个总线代理,包含:
多个数据引脚;
多个地址引脚;
一个用于一个具有总线时钟频率的总线时钟信号的公共时钟引脚;
数据选通脉冲接收逻辑,用以接收一个第一数据选通脉冲信号和一个第二数据选通脉冲信号,其中所述第一数据选通脉冲和所述第二数据选通脉冲具有一个是所述总线时钟频率两倍的数据选通脉冲频率;
地址选通脉冲接收逻辑,用以接收一个第一地址选通脉冲,其中该第一地址选通脉冲具有与所述总线时钟频率相同的地址选通脉冲频率;
数据接收逻辑,用以接收在所述多个数据引脚上与所述第一数据选通脉冲信号的一个第一边沿同步的数据单元,并且也接收在所述多个数据引脚上与所述第二数据选通脉冲信号的一个第一边沿同步的数据单元;
地址接收逻辑,用以接收在所述多个地址引脚上与所述第一地址选通脉冲的一个第一边沿同步地址单元,并且也接收在所述多个地址引脚上与所述第一地址选通脉冲的一个第二边沿同步的地址单元。
33.如权利要求32所述的总线代理,进一步包含:
多个请求引脚;
其特征在于:所述地址接收逻辑在所述多个请求引脚上与所述第一地址选通脉冲的一个第一边沿同步接收请求单元,并且也在所述多个请求引脚上与所述第一地址选通脉冲的一个第二边沿同步接收请求单元。
34.如权利要求33所述的总线代理,其特征在于:总线代理为每十六个数据引脚提供一对选通脉冲,并且提供两个地址选通脉冲,其中每一个用于所述多个地址引脚和所述多个请求引脚的两个子集中的一个。
35.如权利要求32所述的总线代理,其特征在于:第一数据选通脉冲的第一边沿是一个下降沿,而且第二数据选通脉冲的第一边沿是一个下降沿。
36.如权利要求32所述的总线代理,其特征在于:第一数据选通脉冲信号和第二数据选通脉冲信号是互补的选通脉冲信号。
37.如权利要求33所述的总线代理,进一步包含:
多个控制引脚,以使用一种公共时钟协议进行传递。
38.如权利要求37所述的总线代理,其特征在于:所述多个控制引脚包含一组用于一组信号的控制引脚,该组信号包含:
ADS#;
BNR#;
BPRI#;
至少一个总线请求引脚;
DBSY#;
DEFERS;
DP[3:0]#;
DRDY#;
HITS;
HITM#;
INIT#;
TRDY#。
39.如权利要求32所述的总线代理,其特征在于:所述第一地址选通脉冲包含两个实质上相同的地址选通脉冲。
40.一个总线代理,包含:
一个用于一个以总线时钟频率操作的总线时钟的公共时钟接口;
一个双重抽吸地址总线接口,用于以一种源同步方式以总线时钟频率两倍的频率传递地址总线信息单元;
一个双重抽吸请求总线接口,用于以一种源同步方式以总线时钟频率两倍的频率传递请求信息单元;
一个四重抽吸数据总线,用于以一种源同步方式以总线时钟频率四倍的频率传递数据总线信息单元。
41.如权利要求40所述的总线代理,进一步包含:
用于多个以总线时钟频率操作的控制信号的接口。
42.一个系统,包含:
一条地址总线;
一条请求总线;
一条数据总线;
至少一条总线时钟信号线,用于传输一个或多个以总线时钟频率操作的总线时钟信号;
一个第一代理,连接到所述地址总线、所述请求总线、和所述数据总线,其中所述第一代理具有总线接口逻辑,用以在数据总线上提供四重抽吸的数据,以及分别在所述地址总线和所述请求总线上提供双重抽吸的地址和请求信息;
一个第二代理,连接到所述地址总线、所述请求总线、和所述数据总线,其中所述第一代理具有总线接口逻辑,用以在数据总线上接收四重抽吸的数据,以及分别在所述地址总线和所述请求总线上接收双重抽吸的地址和请求信息。
43.如权利要求41所述的系统,其特征在于:所述第一代理是一个处理器,而所述第二代理是一个芯片组。
44.如权利要求42所述的系统,进一步包含一条控制总线,经由该总线,多个控制信号与一个或多个总线时钟信号同步进行传输。
45.如权利要求43所述的系统,其特征在于:经由所述数据总线、所述地址总线、所述请求总线以一种源同步方式传输信息。
46.一个系统,包含:
一条总线,包含:
多条数据线;
多条数据选通脉冲线;
多条地址线;
一条地址选通脉冲线;
一条总线时钟信号线;
一个第一代理,包含:
多个第一代理数据引脚,连接到所述多条数据线;
多个第一代理数据选通脉冲引脚,连接到所述多条数据选通脉冲线,所述多个第一代理数据选通脉冲引脚包含一个第一代理第一数据选通脉冲引脚和一个第一代理第二数据选通脉冲引脚;
多个第一代理地址引脚,连接到所述多条地址线;
一个第一代理地址选通脉冲引脚,连接到所述地址选通脉冲线;
一个第一代理公共时钟引脚,连接用于接收一个具有总线时钟频率的总线时钟信号;
第一代理数据选通脉冲产生逻辑,用以在第一代理第一数据选通脉冲引脚上产生一个第一代理第一数据选通脉冲信号,并在第一代理第二数据选通脉冲引脚上产生一个第一代理第二数据选通脉冲信号,所述第一代理第一数据选通脉冲信号和所述第一代理第二数据选通脉冲信号具有一个是所述总线时钟频率两倍的数据选通脉冲频率;
第一代理地址选通脉冲产生逻辑,用以在所述第一代理地址选通脉冲引脚上产生一个第一代理地址选通脉冲,其中该第一代理地址选通脉冲具有与所述总线时钟频率相同的地址选通脉冲频率;
第一代理数据传输逻辑,用以传输在所述多个第一代理数据引脚上与所述第一代理第一数据选通脉冲信号的一个第一下降沿同步的第一数据单元,而且也传输在所述多个第一代理数据引脚上与所述第一代理第二数据选通脉冲信号的一个第一下降沿同步的第二数据单元,而且传输在所述多个第一代理数据引脚上与所述第一代理第一数据选通脉冲信号的一个第二下降沿同步的第三数据单元,并且也传输在所述多个第一代理数据引脚上与所述第一代理第二数据选通脉冲信号的一个第二下降沿同步的第四数据单元;
第一代理地址传输逻辑,用以首先传输在所述多个地址引脚上与所述第一代理地址选通脉冲的一个下降沿同步的地址单元,并且其次也传输在所述多个地址引脚上与所述第一代理地址选通脉冲的一个上升沿同步的地址单元;
一个第二代理,包含:
多个第二代理数据引脚,连接到所述多条数据线;
多个第二代理数据选通脉冲引脚,连接到所述多条数据选通脉冲线,所述多个第二代理数据选通脉冲引脚包括一个第二代理第一数据选通脉冲引脚和一个第二代理第二数据选通脉冲引脚;
多个第二代理地址引脚,连接到所述多条地址线;
一个第二代理地址选通脉冲引脚,连接到所述地址选通脉冲线;
一个第二代理公共时钟引脚,连接用于接收具有总线时钟频率的总线时钟信号;
第二代理数据选通脉冲接收逻辑,用以在所述多个第二代理数据选通脉冲引脚上接收所述第一代理第一数据选通脉冲信号和所述第一代理第二数据选通脉冲信号;
第二代理地址选通脉冲接收逻辑,用以在所述第二代理地址选通脉冲引脚上接收所述第一代理地址选通脉冲;
第二代理数据接收逻辑,用以接收在所述多个第二代理数据引脚上与所述第一代理第一数据选通脉冲信号的所述第一下降沿同步的所述第一数据单元,而且也接收在所述多个第二代理数据引脚上与所述第一代理第二数据选通脉冲信号的所述第一下降沿同步的所述第二数据单元,而且接收在所述多个第二代理数据引脚上与所述第一代理第一数据选通脉冲信号的所述第二下降沿同步的所述第三数据单元,而且也接收在所述多个第二代理数据引脚上与所述第一代理第二数据选通脉冲信号的所述第二下降沿同步的所述第四数据单元;
第二代理地址接收逻辑,用以接收在所述多个第二代理地址引脚上与所述第一代理地址选通脉冲的所述第一边沿同步的地址单元,并且也在所述多个地址引脚上与所述第一代理地址选通脉冲的所述第二边沿同步接收地址单元。
47.如权利要求46所述的系统,其特征在于所述第二代理进一步包含:
第二代理数据选通脉冲产生逻辑,用以在第二代理第一数据选通脉冲引脚上产生一个第二代理第一数据选通脉冲信号,并且在第二代理第二数据选通脉冲引脚上产生一个第二代理第二数据选通脉冲信号,其中所述第二代理第一数据选通脉冲信号和所述第二代理第二数据选通脉冲信号具有是所述总线时钟频率两倍的所述数据选通脉冲频率;
第二代理地址选通脉冲产生逻辑,用以在所述第二代理地址选通脉冲引脚上产生一个第二代理地址选通脉冲,其中该第二代理地址选通脉冲具有与所述总线时钟频率相同的地址选通脉冲频率;
第二代理数据传输逻辑,用以在所述多个第二代理数据引脚上与所述第二代理第一数据选通脉冲信号的一个第一边沿同步传输数据单元,并且也在所述多个第二代理数据引脚上与所述第二代理第二数据选通脉冲信号的一个第一边沿同步传输数据单元;
第二代理地址传输逻辑,用以在所述多个地址引脚上与所述第二代理地址选通脉冲的一个第一边沿同步传输地址单元,并且也在所述多个地址引脚上与所述第二代理地址选通脉冲的一个第二边沿同步传输地址单元。
48.如权利要求47所述的系统,其特征在于所述第一代理进一步包含:
第一代理数据选通脉冲接收逻辑,用以在所述多个第一代理数据选通脉冲引脚上接收所述第一代理第一数据选通脉冲信号和所述第一代理第二数据选通脉冲信号;
第一代理地址选通脉冲接收逻辑,用以在所述第一代理地址选通脉冲引脚上接收所述第一代理地址选通脉冲;
第一代理数据接收逻辑,用以接收在所述多个第一代理数据引脚上与所述第一代理第一数据选通脉冲信号的所述第一边沿同步的数据单元,并且也接收在所述多个第一代理数据引脚上与所述第一代理第二数据选通脉冲信号的所述第一边沿同步的数据单元;
第一代理地址接收逻辑,用以接收在所述多个第一代理地址引脚上与所述第一代理地址选通脉冲的所述第一边沿同步的地址单元,并且也接收在所述多个地址引脚上与所述第一代理地址选通脉冲的所述第二边沿同步的地址单元。
49.如权利要求48所述的系统,进一步包含:
一条控制总线,经由该总线,多个控制信号与该总线时钟信号同步进行传输。
50.一种方法,包含:
在一个数据阶段中提供多个互补的选通脉冲信号对;
每个总线时钟周期中提供四个以一种源同步方式传输的数据单元连同所述的多个互补选通脉冲信号对,以提供多个地址选通脉冲;
每个总线时钟周期中提供以一种源同步方式传输的两个请求单元和两个地址单元连同所述的多个地址选通脉冲。
51.如权利要求50所述的方法。其特征在于:所述的提供四个数据单元包含:
提供与一对数据选通脉冲信号中第一个的第一种类型的一个第一边沿同步的一个第一数据单元;
提供与该对数据选通脉冲信号中第二个的第一种类型的一个第一边沿同步的一个第二数据单元;
提供与该对数据选通脉冲信号中第一个的第一种类型的一个第二边沿同步的一个第三数据单元;
提供与该对数据选通脉冲信号中第二个的第一种类型的一个第二边沿同步的一个第四数据单元。
52.如权利要求51所述的方法,其特征在于:所述第一种类型的边沿是一个下降沿。
53.如权利要求51所述的方法,其特征在于:所述的提供两个请求单元和两个地址单元包含:
与多个地址选通脉冲信号中至少一个的一个第一边沿同步提供一个第一地址单元和一个第一请求单元;
与该对数据选通脉冲信号中第二个的第一种类型的一个第二边沿同步提供一个第二地址单元和一个第二请求单元。
54.如权利要求53所述的方法,其特征在于:所说第一边沿是一个地址选通脉冲下降沿,而第二边沿是一个地址选通脉冲上升沿。
CNB008179840A 1999-12-29 2000-12-29 用于在多点双向总线上传输信息方法和装置 Expired - Fee Related CN1230762C (zh)

Applications Claiming Priority (2)

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

Related Child Applications (3)

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

Publications (2)

Publication Number Publication Date
CN1415095A CN1415095A (zh) 2003-04-30
CN1230762C true CN1230762C (zh) 2005-12-07

Family

ID=23882019

Family Applications (4)

Application Number Title Priority Date Filing Date
CNB200410061753XA Expired - Fee Related CN100375075C (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 四重抽吸总线体系结构和协议
CN200410061754.4A Expired - Fee Related CN1815463B (zh) 1999-12-29 2000-12-29 四重抽吸总线体系结构和协议

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CNB200410061753XA Expired - Fee Related CN100375075C (zh) 1999-12-29 2000-12-29 四重抽吸总线体系结构和协议

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN2006100996516A Expired - Fee Related CN1900924B (zh) 1999-12-29 2000-12-29 四重抽吸总线体系结构和协议
CN200410061754.4A Expired - Fee Related CN1815463B (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) CN100375075C (zh)
AT (1) ATE377797T1 (zh)
AU (1) AU2463101A (zh)
BR (1) BRPI0016834B1 (zh)
DE (2) DE10085385B3 (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
US6678767B1 (en) * 2000-10-06 2004-01-13 Broadcom Corp Bus sampling on one edge of a clock signal and driving on another edge
US6816932B2 (en) * 2000-10-06 2004-11-09 Broadcom Corporation Bus precharge during a phase of a clock signal to eliminate idle clock cycle
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
WO2003100549A2 (en) * 2002-05-24 2003-12-04 Koninklijke Philips Electronics N.V. Pseudo multiport data memory has stall facility
EP1508108A4 (en) * 2002-05-28 2008-11-05 Cadence Design Systems Inc TRANSACTION RECORDING ON CLAIM BASIS
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
US7234034B2 (en) * 2002-09-16 2007-06-19 Texas Instruments Incorporated Self-clocking memory device
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
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
US7389375B2 (en) * 2004-07-30 2008-06-17 International Business Machines Corporation System, method and storage medium for a multi-mode memory buffer device
US7539800B2 (en) * 2004-07-30 2009-05-26 International Business Machines Corporation System, method and storage medium for providing segment level sparing
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
US7224595B2 (en) * 2004-07-30 2007-05-29 International Business Machines Corporation 276-Pin buffered memory module with enhanced fault tolerance
US20060036826A1 (en) * 2004-07-30 2006-02-16 International Business Machines Corporation System, method and storage medium for providing a bus speed multiplier
US20060075164A1 (en) * 2004-09-22 2006-04-06 Ooi Eng H Method and apparatus for using advanced host controller interface to transfer data
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
US7305574B2 (en) * 2004-10-29 2007-12-04 International Business Machines Corporation System, method and storage medium for bus calibration in 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
US7356737B2 (en) * 2004-10-29 2008-04-08 International Business Machines Corporation System, method and storage medium for testing a memory module
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
US7299313B2 (en) * 2004-10-29 2007-11-20 International Business Machines Corporation System, method and storage medium for a memory subsystem command interface
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
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
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
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
KR100606244B1 (ko) * 2005-02-11 2006-07-28 삼성전자주식회사 데이터 스트로브 신호에 동기 되어 전송되는 데이터의 캡쳐 방법 및 이를 위한 데이터 캡쳐 회로
US7529955B2 (en) 2005-06-30 2009-05-05 Intel Corporation Dynamic bus parking
CN100461142C (zh) * 2005-07-05 2009-02-11 威盛电子股份有限公司 微处理器、处理器总线系统、及执行稀疏写入处理的方法
US7543094B2 (en) * 2005-07-05 2009-06-02 Via Technologies, Inc. Target readiness protocol for contiguous write
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
US20070073977A1 (en) * 2005-09-29 2007-03-29 Safranek Robert J Early global observation point for a uniprocessor system
US7634609B2 (en) * 2005-09-29 2009-12-15 Via Technologies, Inc. Data transmission coordinating method
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 삼성전자주식회사 클럭 임베디드 인터페이스 방법, 그 방법을 이용하는 송수신기 및 디스플레이 장치
JP5761331B2 (ja) * 2011-03-22 2015-08-12 富士通株式会社 入出力制御装置,情報処理システム,及びログ採取プログラム
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
US20140233582A1 (en) * 2012-08-29 2014-08-21 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 株式会社東芝 プロセッサ
US5568620A (en) 1993-06-30 1996-10-22 Intel Corporation Method and apparatus for performing bus transactions in a computer system
TW255022B (zh) 1993-06-30 1995-08-21 Intel Corp
US5615343A (en) 1993-06-30 1997-03-25 Intel Corporation Method and apparatus for performing deferred transactions
US5572703A (en) * 1994-03-01 1996-11-05 Intel Corporation Method and apparatus for snoop stretching using signals that convey snoop results
TW400483B (en) 1994-03-01 2000-08-01 Intel Corp High performance symmetric arbitration protocol with support for I/O requirements
GB2326319B (en) 1994-03-01 1999-01-27 Intel Corp High performance symmetric arbitration protocol with support for I/O requirements
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
BR9506997A (pt) * 1994-03-01 1997-11-18 Intel Corp Arquitetura de barramento altamente canalizada
US5550988A (en) * 1994-03-01 1996-08-27 Intel Corporation Apparatus and method for performing error correction in a multi-processor system
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
WO1997030399A1 (en) * 1996-02-20 1997-08-21 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
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
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
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
GB2374264A (en) 2002-10-09
ATE377797T1 (de) 2007-11-15
US20020147875A1 (en) 2002-10-10
CN1815463B (zh) 2014-03-05
CN1815463A (zh) 2006-08-09
GB2374264B (en) 2004-04-07
DE10085385T1 (de) 2002-12-19
EP1881414A2 (en) 2008-01-23
US20020038397A1 (en) 2002-03-28
US20020029307A1 (en) 2002-03-07
US6880031B2 (en) 2005-04-12
CN1900924B (zh) 2010-05-12
KR100565101B1 (ko) 2006-03-30
US6609171B1 (en) 2003-08-19
EP1881414A3 (en) 2008-07-30
DE10085385B3 (de) 2011-12-08
EP1242898B1 (en) 2007-11-07
US6907487B2 (en) 2005-06-14
US20010037424A1 (en) 2001-11-01
RU2271566C2 (ru) 2006-03-10
DE60037036D1 (de) 2007-12-20
CN100375075C (zh) 2008-03-12
BR0016834A (pt) 2002-09-10
CN1558337A (zh) 2004-12-29
JP4194274B2 (ja) 2008-12-10
ZA200203946B (en) 2003-01-02
CN1415095A (zh) 2003-04-30
US6807592B2 (en) 2004-10-19
EP1242898A1 (en) 2002-09-25
KR20020089308A (ko) 2002-11-29
TW559704B (en) 2003-11-01
CN1900924A (zh) 2007-01-24
AU2463101A (en) 2001-07-09
HK1046964A1 (en) 2003-01-30
JP2003518693A (ja) 2003-06-10
US6601121B2 (en) 2003-07-29
HK1046964B (zh) 2004-07-23
SG123609A1 (en) 2006-07-26
US20010037421A1 (en) 2001-11-01
RU2002120499A (ru) 2004-03-10
US6804735B2 (en) 2004-10-12
BRPI0016834B1 (pt) 2015-08-11
GB0216035D0 (en) 2002-08-21
WO2001048621A1 (en) 2001-07-05
SG123610A1 (en) 2006-07-26
DE60037036T2 (de) 2008-08-21

Similar Documents

Publication Publication Date Title
CN1230762C (zh) 用于在多点双向总线上传输信息方法和装置
CN1111799C (zh) 用于多处理器系统的改进的信号发送协议方法和信号发送协议电路
US6263397B1 (en) Mechanism for delivering interrupt messages
US7752374B2 (en) Method and apparatus for host messaging unit for peripheral component interconnect busmaster devices
JP3832833B2 (ja) 情報処理方法および装置
CN1199117C (zh) 信源同步及公共时钟协议中的数据传输
US6167476A (en) Apparatus, method and system for accelerated graphics port bus bridges
US6199134B1 (en) Computer system with bridge logic that asserts a system management interrupt signal when an address is made to a trapped address and which also completes the cycle to the target address
CN106681816A (zh) PCIe中断方法和系统
CN1037982A (zh) 在有仲裁的80386/82385微机系统运行中80386对系统总线的抢用
EP0752667A1 (en) Method and apparatus for hybrid packet-switched and circuit-switched flow control in a computer system
KR100263633B1 (ko) 각종프로세서와버스프로토콜에적용가능한범용구조를제공하는컴퓨터시스템
CN1423779A (zh) 支持具有点到点半双工互连的计算机系统中多时钟传播的方法与装置
CN100338593C (zh) 在计算机部件之间设置改进接口的装置
JPH10320348A (ja) キャッシュ・ストリーミングを可能にするための方法および装置
KR0126583B1 (ko) 시스템 제어기 모듈에서의 요청기 읽기 제어기(Requester Read Controller In System Controller In System Control Module)
WO1998010350A1 (en) A data flow control mechanism for a bus supporting two-and three-agent transactions

Legal Events

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

Granted publication date: 20051207

Termination date: 20141229

EXPY Termination of patent right or utility model