CN1726451A - 用于地址总线功率控制的设备和方法 - Google Patents
用于地址总线功率控制的设备和方法 Download PDFInfo
- Publication number
- CN1726451A CN1726451A CNA2003801058531A CN200380105853A CN1726451A CN 1726451 A CN1726451 A CN 1726451A CN A2003801058531 A CNA2003801058531 A CN A2003801058531A CN 200380105853 A CN200380105853 A CN 200380105853A CN 1726451 A CN1726451 A CN 1726451A
- Authority
- CN
- China
- Prior art keywords
- address
- bus
- sensor amplifier
- bus agent
- statement
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4208—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3253—Power saving in bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
描述了各种设备和方法。依照通过处理器执行的第一种方法,其中所述处理器具有数据读出放大器,所述数据读出放大器用于从前侧总线的数据总线部分接收数据,并且其中:响应于地址选通的声明来启动数据读出放大器。然后至少响应于队列为空来禁止所述数据读出放大器。所述队列记录还有待于在前侧总线上执行的交易。依照通过处理器执行的第二种方法,其中所述处理器具有数据读出放大器以及地址读出放大器,所述数据读出放大器用于从前侧总线的数据总线部分接收数据,所述地址读出放大器用于从前侧总线的地址总线部分接收地址,其中:响应于请求指示的声明来启动地址读出放大器。响应于地址选通的声明来启动数据读出放大器。响应于所述请求指示的解除声明来禁止地址读出放大器。至少响应于队列为空来禁止地址读出放大器。所述队列记录还有待于在数据总线上执行的交易。
Description
相关申请
本申请是于2002年12月11日提交的序号为10/317,798的美国专利申请的部分延续。
技术领域
本发明的一个或多个实施例总体上涉及集成电路和计算机系统设计领域。更具体来讲,本发明的一个或多个实施例涉及用于地址总线功率控制的方法和设备。
背景技术
计算机系统中的设备之间的通信通常是使用互联这种设备的一条或多条总线来执行的。这些总线可以是耦合两个设备的专用总线,或者是由多个部件和设备多路复用的非专用总线(例如,总线代理)。此外,计算机系统中的总线可以专用于传送特定类型的信息。例如,由加利福尼亚州的Santa Clara的英特尔公司开发的x86微处理机体系结构就包括具有地址、数据和控制总线的三总线系统,地址、数据和控制总线分别用于传送地址、数据和控制信号。
在采用先进的体系结构和处理器的计算机系统中,其中所述处理器诸如是PentiumPro、PentiumII、PentiumIII或者Pentium4处理器,总线交易通常以流水线方式发生。具体来讲,下一次存储器存取可以在先前的交易请求被发布之后开始;并且在可以开始另一总线交易以前,不要求完成总线交易的所有部分或者阶段。因此,来自于很多总线代理的请求可以在任意一个时间被挂起。通过分离的数据和地址总线来简化总线交易的流水线操作。当正在地址总线上发送请求的地址时,可以在数据总线上返回对应于先前在地址总线上所发布的地址的数据(或者信号)。
大量研究和系统体系结构设计工作都已经针对增加计算机系统内的数据吞吐率。诸如数据流水线、乱序执行等等的技术能够实现具有明显更高的时钟速率以及世界级的性能的先进的体系结构和处理。
此外,这种研究以及体系结构的重新设计已经能够实现用于膝上型计算机、手持设备、个人数字助理(PDA)等等的移动市场。使人遗憾的是,这种移动式平台会受到运行时间的限制,当无法利用其他电源时,所述运行时间是由相应的移动式平台所使用的电池的寿命来确定的。根据所述移动式平台的复杂性,在相对短的时间段中,就可能耗尽附属电池的功率资源。这部分地是由于这样的事实,即:所述平台的许多电子元件即使当没有被使用时也持续消耗功率。
附图说明
本发明的各种实施例是通过举例而非限制的方式在附图中示出的,其中:
图1是举例说明先前的处理器以及存储器控制集线器的框图。
图2是举例说明依照一个实施例的具有输入缓冲器的处理器的框图。
图3是举例说明依照一个实施例的单个处理器系统平台的框图。
图4举例说明了依照一个实施例的时序图。
图5举例说明了依照一个实施例的流程图。
图6举例说明了依照一个实施例的流程图。
图7举例说明了依照一个实施例的流程图;
图8是举例说明用于使用所公开的技术来模拟、仿效并且制造设计的各种设计描述或者格式的框图。
图9是举例说明依照一个实施例的单个处理器系统平台的框图。
图10是举例说明依照一个实施例的具有地址输入读出放大器的处理器的框图。
图11举例说明了表明用于启动地址读出放大器的技术的时序图。
图12举例说明了依照一个实施例的具有数据读出放大器的处理器。
图13举例说明了表明用于启动数据读出放大器的技术的时序图。
图14是举例说明依照一个实施例的多处理器系统平台的框图。
图15举例说明了可用于在多处理器环境中锁存地址值的电路。
图16举例说明了表明用于在多处理器环境中启动地址读出放大器的技术的时序图。
图17举例说明了可用于锁存数据和地址值这两者的电路。
具体实施方式
在随后的描述中,阐明了许多具体细节,诸如逻辑实现方式、信号和总线的大小和名称、系统组件的类型和相关性以及逻辑分区/集成选择等,以便提供对本发明更彻底的了解。然而本领域中的普通技术人员应理解的是,本发明可以在没有这种具体细节的情况下来实施。在其他实例中,为了不模糊本发明,没有详细地示出控制结构和门级电路。本领域中的普通技术人员依照所包括的描述将能够在不需要进行过度实验的情况下实现适当的逻辑电路。
图1是举例说明了用于示例性计算机系统的先前处理器(CPU)110以及存储器控制器(MCH)装置的图表。如图所示,CPU 110可以包括输入缓冲器112,其用于获取经由处理器系统总线或前侧总线(FSB)102的数据线接收到的数据。所述CPU 110的输入缓冲器112包括多个地址总线输入读出放大器114(114-1,...,114-N),这些地址总线输入读出放大器可以被耦合以便读出数据,所述数据是经由所述FSB 102的数据总线部分传输到所述CPU 110的。
对于所述CPU 110来说,所述数据总线输入读出放大器114跟随系统初始化而被连续地启动。当被启动时,所述数据输入读出放大器114消耗功率。
现在参照图2,描述了一个实施例的处理器(CPU)。对于图2中所示的实施例来说,所述CPU 300是移动式平台CPU。应理解的是,对于其他实施例来说,所述CPU 300可以是不同类型的处理器,例如包括数字信号处理器、图形处理器、嵌入式处理器等等。
如图所示,CPU 300包括全部作为输入缓冲器310示出的输入缓冲器。所述输入缓冲器310包括N个地址输入读出放大器320(320-1,...,320-N)。所述读出放大器320具有耦合至内部地址总线信号线(paddr)322(322-1,...,322-N-1)的输出端。输入缓冲器310还可以被耦合至附加内部数据和/或控制线。对于一个实施例来说,所述读出放大器320具有耦合至前侧总线(FSB)330的多条地址线FSBA[0...N-1]#的输入端。
对于一个实施例而言,所述FSB 330与Pentium4处理器前侧总线协议兼容,这些方面在Singh及其他人的于11/01/2001公开的申请号为US 2001/0037421 A1的一并待审的美国专利申请中进行了描述。在所述FSB与Pentium 4处理器前侧总线兼容的情况下,所述FSB330包括64条数据线FSB D[0..63]。对于其他实施例来说,应理解的是,所述FSB 330可以与不同的总线协议兼容,和/或可以包括不同数目的数据线。
继续参考图2,对于一个实施例而言,所述输入缓冲器310还包括锁存器352,所述锁存器352被耦合以便接收总线时钟(BCLK)信号和与FSB 330相关联的地址总线功率控制(BPRI#)信号350。对于一个实施例而言,所述BPRI#信号例如可以从芯片组设备(未示出)接收,可以把所述芯片组设备经由所述FSB 330耦合至CPU 300。所述锁存器352的输出端被耦合以便启动每个地址输入读出放大器320的输入端。
操作中,当所述BCLK信号转换时,所述锁存器352锁存所述BPRI#信号的状态。响应于所述BPRI#信号的声明,输入缓冲器310的所述地址输入读出放大器320被启动以便经由地址线FSB A[O..N-1]#从FSB 330获取地址。反之,响应于所述BPRI#信号的解除声明,所述输入地址读出放大器被禁止。当所述输入读出放大器被禁止时,它们的功率耗损被减少,其中所述功率损耗主要是由于输入缓冲器所提供的偏置电流而引起的热损耗功率(TDP)。
图3是一个实施例的计算系统500的框图,其中可以有利地使用图2的CPU 300。除所述CPU 300以外,所述系统500包括存储器控制器,在一个实施例中被称为存储器控制集线器(MCH)510,并且包括输入/输出(I/O)控制器,在一个实施例中被称为输入/输出控制集线器(ICH)530。可以把所述MCH 510和ICH 530合起来称为芯片组502。把所述MCH 510经由所述FSB 330耦合至CPU 300并且经由总线150耦合至所述ICH 530。此外,把主存储器520和一个或多个图形设备550耦合至所述MCH 510。所述MCH还可以具有集成的图形支持(例如,供移动应用之用)。
系统500的输入/输出子系统可以包括各种耦合至所述ICH 530的不同类型的输入和/或输出设备、诸如硬盘驱动器(HDD)210,一个或多个USB端口190可以经由通用串行总线(USB)192耦合至所述ICH530,和/或一个或多个外围部件互联(PCI)设备180可以经由相应总线182耦合至所述ICH。另外,对于某些实施例来说,还可以把一个或多个音频通道170和/或局域网(LAN)接口220耦合至ICH 530。
采用各种处理器和前侧总线技术的实现方式都是可能的。在一个实施例中,其中所述FSB 330与所述P4处理器前侧总线兼容,所述FSB 330是一种流水线数据总线,其包括地址、数据和控制部分,替代地可在此将其称为地址、数据和控制总线。
根据所述FSB 330,此处把耦合至所述FSB 330的设备也称为总线代理。对于一个实施例而言,三种类型的代理可以驻留在FSB 330上:请求代理、响应代理和探听代理。请求代理是这样一种设备,其通过发布请求来启动交易,所述请求是诸如存储器或者I/O读或者写请求之类的请求。响应代理是诸如I/O目标或者存储器目标之类的交易目标。探听代理是总线上通常与高速缓冲存储器相关联的设备。对于其他实施例来说,可以把总线代理依照不同方式来归类。
在所述FSB 330是流水线总线的情况下,可以把总线交易分成阶段,并且多个交易可以重叠。具体来讲,在可以开始另一总线交易之前,无需完成总线交易的所有部分或者阶段。
如此处所使用的那样,术语“交易”指明与单个总线存取请求相关的总线活动。交易可以包括几个阶段,每个阶段与总线信号的特定集合相关联以便传递特定类型的信息。对于一个实施例而言,示例性的阶段例如可以包括判优阶段、请求阶段、探听阶段、响应阶段和/或数据阶段。
在所述请求阶段中,所述请求代理在所述FSB 330上驱动请求控制和地址信息。在后续的探听阶段期间,确定是否寻找在本地存储的数据,和/或所述交易是否有可能根据先前发布的交易按顺序完成。在响应阶段中,响应代理向所述请求代理汇报表明所请求的交易已成功或成败的信息。如果所请求的交易包括数据传送,那么也称为数据传送阶段的数据阶段可以响应于数据就绪(DRDY#)信号的声明而被启动。
如图3所示,在一个实施例中,上述的BPRI#信号是通过作为所述FSB 330的一部分的MCH 510来被声明和解除声明的。在一个实施例中,所述MCH包括控制器512,用于促使BPRI#信号的声明和解除声明。在可替代的实施例中,所述控制器512可以被设置在其他设备/代理上,所述其他设备/代理被耦合至所述FSB 330。下面更详细地讨论所述控制器512用于促使声明和解除声明所述BPRI#信号的方式。
在一个实施例中,所述控制器512将这样促使声明和解除声明所述BPRI#信号,使得在所述FSB 330上没有地址活动期间禁止所述CPU300的输入地址读出放大器320,并且在地址传送操作之前启动它。对于一个实施例而言,所述控制器将把所述BPRI#信号及时应用于处理器,以便获取地址信息。就另一方式而言,所述控制器512将这样促使声明所述BPRI#信号,使得及时启动所述CPU 300的读出放大器320以便读出在所述FSB 330上提供的地址值。一旦地址值已经通过所述FSB 330传送至所述处理器,那么如果在预定时间帧内(例如,给定数目的时钟周期)没有即将到来的地址值传送,则所述控制器512将促使解除声明所述BPRI#信号以便减少所述读出放大器的功耗。
图4是举例说明可用于计算系统(例如,如在图3中观察到的那样)的实施例的BPRI#信号的时序图。图4的时序图示出了如下信号的时钟周期T1-T10,所述信号是:1)总线时钟(BCLK)信号410,在上面根据图2的论述中提及;2)总线请求信号BR[0]#信号420,由所述计算系统处理器来控制;3)所述BPRI#信号350;4)用于锁定所述总线的LOCK#信号430;5)地址选通信号(ADS#)440;以及6)在地址总线上提供的地址值的表示。
对于上述信号来说,所述信号名称末尾的“#”表明相关联的信号是低电平有效信号(即,当它处于逻辑低电平时认为是被声明的)。应理解的是,随着在关联电路方面的相应变化,可以替代地使用高电平有效信号来提供类似功能。此外,对于一个实施例而言,一个或多个所述FSB 330信号是低压摆动信号,其具有小于全摆幅的电压摆动。
在图4中所举例说明的示例性交易中,就所述地址值的传送而言,所述FSB在时钟周期T1是“静止的”;因此,所述处理器的读出放大器处于禁止的、低功耗状态。然后,所述发送总线代理的控制器通过在T2中促使声明BPRI#信号350而开始用于把地址值经由所述FSB传送到接收总线代理的过程。例如,如果所述发送总线代理识别出它需要向所述接收总线代理发送请求,那么可以启动所述过程。这里,所述请求可以通过在地址总线上提供地址值来做出(例如,在总线协议的请求阶段期间)。在一个实施例中,所述发送总线代理是MCH(例如,图3的MCH 512);而所述接收总线代理是处理器(例如,图3的CPU300)。在该情况下,所述MCH可以被给予优先代理状态,以便如果所述MCH需要使用所述FSB,那么所述MCH可以控制所述FSB。
在一个实施例中,所述发送代理(例如,图3的所述MCH 512)包括控制器512,其识别将要执行地址值的传送(例如,通过识别应该经由总线发送请求);并且因此在所述接收代理将要接收地址值之前充分促使声明所述BPRI#信号350(以便所述接收代理的读出放大器能够被正确启动来接收地址值)。这里,所述接收总线代理检测所述BPRI#信号的声明;并且作为响应,所述读出放大器被启动。照此,更一般说来,所述控制器将促使声明功率信号(例如,图4的BPRI#信号);其又促使接收代理的读出放大器变为启动。
在图4的实施例中,所述接收总线代理在跟随声明了所述BPRI#信号的时钟周期的下一时钟周期开始启动其读出放大器。整个时钟周期被消耗(时钟周期T3),以便确保所述读出放大器将从所述FSB正确地接收地址值。也就是说,依照图4的实施例,所述BPRI#信号350由所述接收总线代理在时钟周期T2和T3之间的时钟边沿上锁存。响应于所述接收代理检测到所述BPRI#信号,所述接收代理启动所述读出放大器。所述读出放大器被给予随后的整个时钟周期(时钟周期T3),以便变为充分启动以从所述发送总线代理接收地址值。由于在时钟周期T3中出现从禁止到启动的转换,所以所述读出放大器在时钟周期T3中被认为是“禁止的”。在图4的实施例的时钟周期T4,所述发送总线代理向FSB的地址值(如图4中由“Req A”和“Req B”表示)提供地址选通信号(ADS#)440的声明。
因此,在图4所述的实施例中,把所述Req A和Req B地址值通过所述读出放大器在适当地定位在时钟边沿上(例如,在时钟周期T4期间的总线时钟410的下降沿上来锁存Req A值;并且在时钟周期T4和T5之间的总线时钟410的上升沿上锁存Req B值)锁存到接收总线代理中。此外,在时钟周期T5期间,所述发送总线代理还解除声明地址选通440,以便立即跟随的地址值的传送(周期T6期间的“Req A”和“Req B”)可以根据在时钟周期T4期间发生的地址值传送来被清楚地描绘。然后在时钟周期T6期间重新声明地址选通440,以便影响第二地址值传送。
应注意的是,在图4的实施例中,随着在时钟周期T6期间重新声明地址选通信号440,所述发送代理的控制器512促使解除声明BPRI#信号350。在一个实施例中,所述发送总线代理的控制器(例如,诸如图3的控制器512的前述的控制器)被设计用于:1)识别出在某一时间周期(例如,超过地址值“当前”传送(在时钟周期T6,所述“当前”传送是Req A和Req B值的第二传送)的多个时钟周期)将不会出现地址值的“下一”传送,并且2),因此,促使解除声明所述BPRI#信号350以便在由接收总线代理接收到当前地址值传送之后不久禁止读出放大器。这里,在一个实施例中,所述控制器又通过监控是否需要经由FSB做出请求,以此来识别“下一”传送地址是否将要发生。也就是说,通过把地址值置于FSB的地址总线部分上来在所述总线上提供请求。
在图4的例子中,在时钟周期T6应该意识到的是,至少在四个时钟周期内没有跟随“T6”传送的地址值的另一传送(因为,如图4所示,在时钟周期T6和T10之间没有发生地址值传送);并且因此,所述控制器512促使BPRI#信号的解除声明将在时钟周期T6解除声明。应理解的是,对于其他实施例来说,可以使用后续地址传送之间的不同数目的时钟周期或者时间的另一量度来促使解除声明所述BPRI#信号440。
在图5中举例说明的流程图500中描述了地址总线功率控制的方法。在处理块502,发送代理(例如,所述MCH)检测将要传送到所述接收代理(例如处理器)的地址。在处理块504,所述发送代理确定何时声明所述BPRI#信号。在处理块506,所述发送代理促使声明所述BPRI#信号以便启动接收代理的读出放大器来接收地址。
在处理块508,所述发送代理基于到所述接收代理的地址传送的完成来确定何时促使解除声明所述BPRI#信号。在处理块510,所述发送代理促使解除声明所述BPRI#信号,这促使所述接收代理的地址输入读出放大器被禁止。
图6依照一个实施例描述了举例说明促使解除声明地址总线功率控制信号BPRI#的附加技术的流程图600。在处理块602,所述发送代理确定是否附加地址(关于正被传送到所述接收代理的当前地址的附加地址)将被发送给所述接收代理。如果这种附加地址没有被检测到,那么在处理块608,在当前地址传送完成之后,促使地址总线功率控制信号BPRI#被解除声明,以便禁止所述接收代理的地址输入读出放大器。
反之,如果所述发送代理检测到将要把附加地址传送到所述接收代理,那么在处理块604所述发送代理确定所述附加地址是否将在预定的时钟周期内被发送给所述接收代理。如果将超过预定的时钟周期来传送所述附加地址,那么在处理块608,在完成当前地址传送之后,促使地址总线功率控制信号BPRI#被解除声明,以便禁止所述接收代理的地址输入读出放大器。
如果将要在所述预定的时钟周期内传送附加地址,那么在处理块606,所述发送代理延迟解除声明地址总线功率控制信号BPRI#,以便令地址输入读出放大器继续被启动。在处理块608,所述发送代理在完成附加地址传送后解除声明所述BPRI#信号来禁止所述接收代理的地址读出放大器,以便禁止所述接收代理的地址输入读出放大器。
在图7中举例说明的流程图700中描述了数据总线功率控制的方法。在处理块702中,所述接收代理(例如,CPU)将从独立的代理接收地址。在处理块704中,在接收地址之前,所述接收代理检测到所述BPRI#信号的声明,这促使所述接收代理的地址输入读出放大器被启动以便接收地址。在处理块706中,所述接收代理接收地址。在处理块708中,所述接收代理检测到所述BPRI#信号的解除声明,这促使所述接收代理的地址输入读出放大器的禁止以便减少功耗。
图8是举例说明用于使用所公开的技术来模拟、仿效并且制造设计的各种设计表示或者格式的框图。表示设计的数据可以依照多种方式来表示所述设计。首先,因为在模拟时有用,可以使用硬件描述语言或者其它功能描述语言来表示所述硬件,这些语言主要提供期望如何执行所设计的硬件的计算机化模型。所述硬件模型810可以存储在诸如计算机存储器的存储介质800中,以便可以使用模拟软件820来模拟所述模型,所述模拟软件把特定测试组830应用于所述硬件模型以便确定它是否真正起到预期作用。在一些实施例中,所述模拟软件没有被记录、获取或者包含在所述介质中。
另外,可以在设计过程的某些阶段生成具有逻辑和/或晶体管门电路的电路级模型。所述模型可以通过专用硬件模拟器来类似地模拟多次,所述专用硬件模拟器使用可编程逻辑来形成所述模型。在一定程度上所采用的此类模拟还可以是仿真技术。在任何情况下,可重构的硬件是另一实施例,其可以涉及存储采用所公开的技术的模型的机器可读介质。
此外,在某一阶段的大部分设计达到表示各种设备在硬件模型中的物理位置的数据级别。在使用常规的半导体制造技术的情况中,表示所述硬件模型的数据可以是具体说明各种特征在用于产生集成电路的不同掩模层或者掩模上存在还是不存在的数据。此外,表示所述集成电路的这种数据具体实现了所公开的技术,因为所述电路逻辑和所述数据可以被模拟或者制造以便执行这些技术。
在所述设计的任意表示中,可以把所述数据依照机器可读介质的任意形式来存储。被调制或者被生成以便传送这种信息的光或者电波860、存储器850或者磁或者光存储器840(诸如盘)可以是所述机器可读介质。这些介质中任一介质可以承载所述设计信息。术语“承载”(例如,承载信息的机器可读介质)由此覆盖存储在存储设备上的信息或者被编码或者被调制到载波中或上的信息。描述所述设计或者所述设计的具体细节的位集是(当包括在机器可读介质、诸如载体或者存储介质中时)一种物品,其可以是封入或者出自其自身、或者由其他人使用以便进一步设计或制造。
替代的实施例
应理解的是,对于其他实施例来说,可以使用不同的系统配置。例如,当所述系统500包括单个CPU 300时,对于其他实施例来说,多处理器系统(其中一个或多个处理器在结构和操作上可以类似于上述的CPU 300)可以受益于各种实施例的地址总线功率控制方法。此外,不同类型的系统或者不同类型的计算机系统,诸如服务器、工作站、台式计算机系统、游戏系统、嵌入式计算机系统、刀片服务器等等,都可以用于其他实施例。
根据已公开的示例性实施例,当保持在不脱离本发明的实施例的范围内的情况下,可以对所公开的实施例做出修改和变化,本发明的实施例的范围由如下的权利要求来定义。
向下可兼容的功率节省总线设计
图9是示例性的单处理器计算系统900的框图,其中可以使用中央处理单元(CPU)901。除所述CPU 901以外,所述系统900还包括存储器控制器,在一个实施例中被称为存储器控制集线器(MCH)910,并且包括输入/输出(I/O)控制器,在一个实施例中被称为输入/输出控制集线器(ICH)930。当作为多个半导体芯片来实现时,可以把所述MCH910和ICH 930合起来称为芯片组902。把所述MCH 910经由前侧总线(FSB)931耦合至所述CPU 901并且经由总线950耦合至所述ICH930。此外,把主存储器920和一个或多个图形设备940耦合至所述MCH 910。
所述计算系统900的输入/输出子系统可以包括各种耦合至所述ICH 930的不同类型的输入和/或输出设备,诸如是硬盘驱动器(HDD)911,一个或多个USB端口设备912可以经由通用串行总线(USB)913耦合至ICH 930,和/或一个或多个外围部件互联(PCI)设备914可以经由相应的PCI总线915耦合至所述ICH。另外,对于某些实施例来说,还可以把一个或多个音频通道916和/或局域网(LAN)接口917耦合至ICH 930。应注意的是,在至少一个实施例中,所述FSB 931与来自于英特尔公司的P4处理器前侧总线兼容。
根据所述FSB 931,此处把耦合至所述FSB 931的设备也称为总线代理。对于一个实施例而言,三种类型的代理可以驻留在FSB 931上:请求代理、响应代理和探听代理。请求代理是这样一种设备,其通过发布请求来启动交易,所述请求诸如是存储器或者I/O读或者写请求之类的请求。响应代理是诸如I/O目标或者存储器目标之类的交易目标。探听代理是总线上通常与高速缓冲存储器相关联的设备。对于其他实施例来说,可以把总线代理依照不同方式来归类。
在所述FSB 931是流水线总线的情况下,可以把总线交易分成阶段,并且多个交易可以重叠。具体来讲,在可以开始另一总线交易之前,无需完成总线交易的所有部分或者阶段。
如此处所使用的那样,术语“交易”指明与单个总线存取请求相关的总线活动。交易可以包括几个阶段,每个阶段与总线信号的特定集合相关联以便传递特定类型的信息。对于一个实施例而言,示例性的阶段例如可以包括判优阶段、请求阶段、错误阶段、探听阶段、响应阶段和/或数据阶段。
在所述请求阶段中,所述请求代理驱动请求控制和所述FSB 931上的地址信息。在后续的探听阶段期间,它确定是否寻找在本地存储的数据,和/或所述交易是否有可能根据先前发布的交易按顺序完成。在响应阶段中,响应代理向所述请求代理汇报表明所请求的交易是否已成功或失败的信息。如果所请求的交易包括数据传送,那么也称为数据传送阶段的数据阶段可以随着数据就绪(DRDY#)信号的声明而被执行。
如下文将更加详细描述的那样,请求信号可以通过所述MCH 910来声明以便使用FSB 931。时常,由于存储器920必须总体上实现计算系统的总体效率的重要性,所以基于所述FSB 931,把所述MCH 910称为“优先”代理。照此,在各种实施例中,把所述MCH 910在FSB 931上声明的前述请求信号称为“总线优先代理请求指示”(BPRI)。当所述MCH 910希望使用所述FSB 931时,所述MCH声明所述BPRI#信号;并且当所述MCH510不再希望使用所述FSB 931时,所述MCH解除声明所述BPRI#信号(注意:术语“#”表明低电平有效信号)。所述MCH包括控制器918(或者控制逻辑918),用于控制所述BPRI#信号的声明和解除声明。
在一个实施例中,所述控制器918这样促使声明所述BPRI#信号,使得及时启动所述CPU 910内的读出放大器以便读出由所述MCH 910在所述FSB 931上提供的地址值。一旦地址值已经通过所述FSB 931传送至所述处理器901,那么如果在预定时间帧(例如,给定数目的时钟周期)中没有即将到来的地址值传送,则所述控制器918促使解除声明所述BPRI#信号,以便减少所述读出放大器的功耗。
现在参照图10,观察到CPU 1001。图10的CPU 1001可以被看作为对应于CPU 901的实施例,其中所述CPU 901在关于图9的上述内容中刚提及。如图所示,CPU 1001包括整体作为输入缓冲器1010示出的输入缓冲器。图10的所述输入缓冲器实施例1010包括(N-1)-3地址输入读出放大器1020(1020-3,...,1020-(N-1))。所述读出放大器1020具有耦合至内部地址总线信号线(paddr)1022(1022-3,...,1022-(N-1))的输出端。输入缓冲器1010还可以被耦合至附加的内部数据和/或控制线。对于一个实施例来说,所述读出放大器1020具有耦合至多条地址线FSB A[3..N-1]#的输入端,所述地址线存在于所述前侧总线(FSB)1031上。例如,可以把图10的FSB地址总线1031(以下简称为FSB 1031)看作对应于图9的FSB 931的地址部分。
至少对于一个实施例而言,所述FSB 1031与英特尔Pentium4处理器(P4)前侧总线兼容。对于其他实施例来说,应理解的是,所述FSB 1031可以与不同的总线协议兼容。应注意的是,图10的所述输入缓冲器1010实施例包括锁存器1052,其被配置用于接收总线时钟(BCLK)信号和与FSB 1031相关联的前述的BPRI#信号1050。所述锁存器1052的输出端被耦合以便启动每个地址输入读出放大器1020的输入端。
操作中,当所述BCLK信号转换时,所述锁存器1052锁存所述BPRI#信号的状态。响应于所述BPRI#信号的声明,输入缓冲器1010的所述地址输入读出放大器1020被启动以便经由地址线FSB A[3..N-1]#从FSB 1031获取地址。反之,响应于所述BPRI#信号的解除声明,所述输入地址读出放大器被禁止。当所述输入读出放大器被禁止时,它们的功率耗损(例如,因为偏置电流而产生的热损耗功率(TDP))被减少。
图11是举例说明可用于单个处理器计算系统(例如,如在图9中观察到的那样)的实施例的BPRI#信号的时序图。图11的时序图示出了如下信号的时钟周期T1-T10,所述信号是:1)总线时钟(BCLK)信号1110,其在上文提及了;2)BREQO#信号1120;3)所述BPRI#信号1150,其在上文提及了;4)LOCK#信号1130;5)地址选通信号(ADS#)1140;6)在地址总线上提供的地址值1102、1104的表示;以及7)输入缓冲器读出放大器的状态。对于上述信号来说,所述信号名称末尾的“#”表明所述相关联的信号是低电平有效信号(即,当它处于逻辑低电平时认为是被声明)。应理解的是,随着相关联的电路的相应变化,可以替代地使用高电平有效信号来提供类似功能。
在图11中举例说明的示例性交易中,就所述地址值的传送而言,所述FSB最初是“静止的”;因此,所述处理器的读出放大器最初处于禁止的、低功耗状态。发送总线代理(例如,诸如优先总线代理,诸如所述MCH)然后开始用于通过在T2中声明BPRI#信号1150、把地址值经由FSB传送到接收总线代理(例如,处理器/CPU)的过程。在图11的实施例中,所述接收总线代理(例如,所述CPU)具有其读出放大器,所述读出放大器能够在跟随声明了BPRI#信号350的时钟周期的时钟周期之后接收地址值。这在图11中通过从“禁止”(在时钟周期T3)到“启动”(在时钟周期T4)的转换来示出。
也就是说,整个时钟周期被消耗(时钟周期T3),以便确保在时钟周期T4期间所述读出放大器将从所述FSB正确地接收地址值。依照可由图11表出的至少一个实施例,所述BPRI#信号1150通过接收总线代理输入缓冲器在时钟周期T2和T3的时钟边沿上被锁存,之后,所述读出放大器开始被启动。然后所述读出放大器被给予随后的整个时钟周期(时钟周期T3),以便变得充分启动以从所述发送总线代理接收地址值。在时钟周期T4,所述发送总线代理提供FSB的地址值(如图11中由“Req A”和“Req B”表示的那样),并且声明地址选通信号(ADS#)1140。
因此,所述Req A和Req B地址值可通过所述读出放大器在适当地定位的时钟边沿上(例如,在总线时钟1110的上升沿锁存Req A值;而在总线时钟1110的下降沿锁存Req B值)锁存到所述接收总线代理中。此外,在时钟周期T5期间,所述发送总线代理解除声明地址选通1140,以便立即跟随的地址值(周期T6期间的“Req A”和“Req B”)的传送可以根据在时钟周期T4期间发生的地址值传送来被清楚地描绘。然后在时钟周期T6期间重新声明地址选通1140,以便影响第二地址值传送。
应注意的是,在图11的实施例中,在时钟周期T6期间所述发送代理也不激活所述BPRI#信号1150,并且重新声明地址选通信号1140。在一个实施例中,所述发送总线代理(例如,图9的控制器918)处的一种形式的智能被设计用于:1)识别在除地址值的“当前”传送以外(在时钟周期T6,其是Req A和Req B值的第二传送)的至少一些数目的时钟周期内不会发生地址值的“下一”传送;并且2)因此,自动地解除声明所述BPRI#信号1150,以便在由所述接收总线代理接收到当前地址值传送之后不久禁止在处理器侧的读出放大器。
在图11的例子中,应该认识到的是,只要BPRI#不再次声明,那么所述MCH可以不向所述FSB发布更多的交易。由此,所述输入缓冲器读出放大器可以保持被禁止,以便减少处理器的功耗。在图11的例子中,当在T7解除声明时,对BPRI#进行采样,由此在T7至T10之间不向总线发布ADS#。应理解的是,对于其他实施例来说,适当地是,可以使用后续地址传送之间的不同数目的时钟周期或者时间的另一量度来促使解除声明所述BPRI#信号1150。
图10和11涉及这样一种较低功率总线交易方法,其基于前侧总线上的总线请求信号的状态来触发地址读出放大器的启动。相反,图12和13涉及这样一种较低功率总线交易方法,其基于其他前侧总线信号来触发数据读出放大器的启动(正如以下将更详细描述的那样)。与图10相似,图12示出了具有多个数据读出放大器1220-1至1220-N的CPU 1201,这些数据读出放大器由控制逻辑电路1252来启动。在FSB交易的数据阶段期间,所述数据读出放大器1220-1至1220-N捕捉在所述FSB的数据总线上提供的数据。所述数据读出放大器1220-1至1220-N在没有数据将从所述FSB被接收的时间段上被禁止;并且因此,产生较低功耗的结果。读者应理解的是,图10至13的讲授内容可以被设计为单个处理器。
这里,所述控制逻辑电路1252响应于某些信号来启动和禁止所述数据读出放大器1220-1至1220-N,所述某些信号与所述FSB相关联,以便在适当的时候使读出放大器1220-1至1220-N启动/禁止。特别的是,在一个实施例中,所述控制逻辑电路1252:1)响应于正在所述FSB上声明的地址信号(例如,ADS#)来启动所述数据读出放大器1220-1至1220-N;并且2)响应于如下信号来禁止所述数据读出放大器1220-1至1220-N,所述信号为:(i)正被解除声明的“最后的”数据准备就绪信号(例如,Last_DRDY);(ii)正变为空的In-Order-Queue(数据队列)(IOQ)(例如,通过正被设置为等于0的RCNT参数来表示);以及(iii)正被解除声明的数据忙信号(DBSY#)。这里,所述处理器1201可以被容易地设计成跟踪总线的状态,以便可以容易地识别上述的情况。例如,所述“Last_DRDY”信号可以被容易地设计为处理器内部控制信号(和前侧总线控制信号相反)。
所述ADS#信号的激活表明:有效数据可以很快被提供在数据总线上(例如,在ADS#声明起作用的交易的数据阶段;和/或后续交易的数据阶段)。因此,所述读出放大器1220-1至1220-N应该被启动以便接收这种应该被提供的有效数据。所述Last_DRDY和DBSY#信号的解除声明以及正为空的IOQ表明:在重要的后续时间周期内在所述数据总线上不期待有效数据。因此,所述读出放大器1220-1至1220-N被禁止以便储备功率。
这里应注意的是,所述IOQ被认为是依照在前侧总线上提供交易的顺序来对交易的有效数据响应进行排队。因此,只要所述IOQ不为空,就可以期望有效数据在近期出现在所述前侧总线上。因此,依照图12和13的方法,只要所述IOQ不为空,所述数据读出放大器就保持启动。在P4可兼容的应用中,把“RCNT”参数用于跟踪还有待于执行的数据阶段。由此,如果没有把所述RCNT参数设置为等于零,那么所述IOQ被认为是不为空的;并且,如果把所述RCNT参数设置为等于零,那么所述IOQ被认为是空的。
图13示出了如上所述的数据读出放大器的启动/禁止方案的示例性描述。依照图6的描述,可以观察到一对总线交易。第一总线交易涉及:1)在周期T4(其对应于第一总线交易的请求阶段)声明的ADS#信号;2)在周期T8和T9上(其对应于第一总线交易的数据阶段)声明的DRDY#信号和相应的数据传送1301。第二总线交易涉及:1)在周期T6(其对应于第二总线交易的请求阶段)声明的ADS#信号;2)在周期T13和T14上(其对应于第二总线交易的数据阶段)声明的DRDY#信号和相应的数据传送1302。
从周期T1至T3禁止所述数据读出放大器(应注意的是在周期T1至T3上所述RCNT参数=“0”)。在周期T 3和T4之间为第一总线交易声明所述ADS#信号,这通过提供随后的整个时钟周期(T4)来允许所述数据读出放大器变为完全启动而对应于数据读出放大器在时钟周期T5一开始的时候被认为是启动的。应注意的是,周期T3和T4之间的ADS#信号的声明促使所述RCNT参数从“0”递增至“1”(即,所述IOQ被认为是在周期T3和T4之间从空转换为非空)。一旦启动了所述数据读出放大器,就不禁止它们,直到所述IOQ为空(即,RCNT=0)并且所述DRDY#和DBSY#信号表明数据总线不是有效的。
因为在完成第一总线交易的数据阶段(周期T9)之前出现第二总线交易的ADS#声明(在周期T6上),所以从周期T6至周期T8、所述RCNT值被递增到值“2”;然后,当对交易的响应被提供在所述总线上(例如,如由在周期T8上正有效的RS[2:0]#表示的)时,将其递减回RCNT=1的值。因此,从周期T9开始的RCNT=1表明:第一总线交易的数据阶段已经完成;但是,第二总线交易的数据阶段还没有完成。依照图13的示例性描述,直到周期T14才完成第二总线交易的数据阶段,并且,由于在第二总线交易之后不再出现其他的总线交易(如由ADS#信号所表示的,该信号从周期T6直到图13的剩余周期保持无效),因此递增RCNT(由于第二交易的数据阶段被完成,所以所述RCNT参数被从“1”递减到“0”)。
因此,用于禁止所述数据读出放大器的条件根据第二交易的所述数据阶段被完成(如由在周期T14变成无效的所述DBSY#信号以及在周期T15变成无效的DRDY#信号所示)以及所述RCNT参数相应递减到“0”(从周期T14开始)而出现。给予所述数据读出放大器整个时钟周期以便被认为是从DRDY#变为无效的时间起被禁止,所述数据读出放大器被认为是在周期T16开始被禁止的。实际上,中间信号Last_DRDY(其又可以作为所述处理器中的内部控制信号来实现)可用来表明在一串最近的数据传送中的“最后的”数据传送。例如,当在所述总线上存在一串最近的数据传送中的所述“最后的”数据传送时,所述Last_DRDY信号可以是有效的。因此,所述Last_DRDY信号的失效是一种指示,即:所述数据读出放大器能够被关闭。
涉及图10至13的论述可用来实现单个处理器计算环境(例如,如在图9中描述的那样);其中,图10和11与地址读出放大器的低功耗方案相关;而图12和13与数据读出放大器的低功耗方案相关。此外,应注意的是,至少就存在P4可兼容的实现方式而论,这些低功率方案可以在不向前侧总线添加附加信号的情况下来实现。也就是说,此处讲授的所述低功率方案可以在不向前侧总线添加任何“新”信号的情况下来使用,因此,与先前存在的前侧总线实现方式引脚兼容。
与上面根据图10至13所提及的单处理器实施例相比,图14相对照地举例说明了“多处理器”计算系统的一部分的实施例。这里,所述MCH 1452和多个处理器14000至14003共享所述FSB 1431。在多处理器环境中,MCH 1452和处理器14000至14003中的每一个均可以请求总线交易(例如,通过具有对另一总线代理的功能依赖性)。然而,可以把上面根据图12和13论述的相同的数据读出放大器方案(及其相应的替代的实现方式)用于多处理器环境中。也就是说,即使在多处理器环境中,也可以基于第一次声明的ADS#信号把数据读出放大器从禁止转换为启动,其中所述ADS#信号是当所述数据读出放大器在禁止状态下时被识别出来的;并且此外,可以把所述数据读出放大器配置为保持启动,直到所述IOQ为空并且所述数据总线空闲为止。
然而,就单处理器实现方式的寻地部分而论(例如,在图10和11中所示),应做出修改以便实现低功率多处理器方案。图15示出了可以对图10的锁存电路1052做出的适当修改。具体来讲,尽管在单个处理器环境中(例如,图9的MCH 910)图10的所述锁存电路1052接受来自于与处理器1001相连的唯一的总线优先代理的单个输入(BPRI#);但是相反,图15的所述锁存电路1552可以被触发,以便在多处理器环境中响应于来自任何总线代理的总线交易的启动来锁存所述读出放大器的启动/禁止线(以便启动所述读出放大器)。这里,作为一个例子,图15的锁存电路1552可以视作被集成到第一处理器(例如,四个处理器系统中的处理器“0”)中;并且从而,所述锁存电路1552响应总线交易的开始,其中所述总线交易的开始是由与第一处理器共享前侧总线的“其他”总线代理(例如,参考图14,来自于如由BPRI#所表示的MCH 1452;如分别由BR[1]#至BR[3]#所表示的“其他”三个处理器14001至14003)来启动的。
依照图15的电路,如果所述“其他”总线代理中的任何一个请求总线交易,那么“处理器_0”内的锁存电路1552将把所述读出放大器置于启动状态,以便“处理器_0”可以接收来自于任何一个启动所述总线交易的总线代理的地址。此外,每当没有总线代理开始总线交易时,所述锁存电路1552将把所述读出放大器置于禁止状态。图16示出了一个例子。图16涉及示例性的“四个处理器”的多处理器环境。图16表明这些处理器中的第一个处理器的操作(例如,处理器0至3中的“处理器_0”)。依照图16,处理器0、1和2从未启动总线交易;因此,遍及图16,通过把它们的相应的请求信号(BR[0]#、BR[1]#和BR[2]#)保持在逻辑高状态1620来使其无效。
相反,在图16示出的时间帧中,第四处理器和所述MCH都启动总线交易。具体来讲,第四个处理器通过在周期T2声明其BR[3]#输出1630来启动第一总线交易。应理解的是,所述第四个处理器(“处理器_3”)将在下一请求阶段拥有总线(通过在周期T4声明所述ADS#线1640),所述MCH等待随后的请求阶段(并且在以后的周期T6声明所述ADS#线1640)。在各种实施例中,多处理器环境中的所述处理器应该被配置在“非总线停放(non-bus parking)”模式下。非总线停放模式是在多处理器环境中协作或者有礼的一种形式,其中可防止处理器“独占”所述前侧总线。更具体地说,在处理器的/MCH的“BR[x]”/“BPRI”信号的每次声明之后,处理器/MCH将使其“BR[x]”/“BPRI”信号无效,以便另一总线代理可以在处理器的交易之后使用总线进行交易(即使所述处理器具有需要使用前侧总线的另一事件)。这种方案的实施例在图16中进行了描述,因为“处理器_3”在其对应的请求阶段(通过在周期T4声明所述ADS#信号1640)使所述BR[3]#线1630失活;并且,所述MCH在其对应的请求阶段(通过在周期T6声明所述ADS#信号1640)使所述BPRI#线1650失活。
依据图16的非总线激发模式实施例,应注意的是,总线交易的第一阶段(即,所述判优阶段)基于BPRI#或者BR[x]#线的声明而开始;并且,总线交易的第二阶段(即,所述请求阶段)基于BPRI#或者BR[x]#线的声明而开始。如果BPRI#或者BR[x]#信号保持声明,直到其相应的交易进入所述请求阶段为止;并且如果在解除声明BPRI#或者BR[x]#线的时钟周期内出现有效地址值,那么可以通过如下方式来适当地启动地址读出放大器,所述方式为:1)响应于所述BPRI#或者BR[x]#线的任一的声明来启动地址读出放大器;以及2)每当BPRI#或者BR[x]#线的解除声明导致没有BPRI#或者BR[x]#线被声明的状态时,禁止地址读出放大器。应注意的是,因为响应于所述BR[3]#线1630的早期声明(周期T1和T2之间)而启动地址读出放大器;并且响应于所述BPRI#线1630的稍后的解除声明(在周期T6内)而禁止地址读出放大器,所以图16示出了这种方案。
给予所述读出放大器足够的时间来改变它们的启动/禁止状态,一旦所述锁存电路1552在BCLK上升沿上锁存,就会使读出放大器只在时钟周期T4至T7上被启动。此时间周期是足够长的,以便获取出现于周期T4和T6的有效地址值;而且通过在周期T1至T2上并且从周期T8开始(其中周期T 3和T7被认为是转换周期,分别在该周期上地址读出放大器的状态从禁止变为启动并且从启动到禁止)禁止所述地址读出放大器来减少功耗。在一个实施例中,为了允许所述读出放大器有适当的时间量来改变状态,在声明BR[x]#或者BPRI[x]#信号和声明相应的ADS#信号之间消耗至少两个时钟周期。例如,如在图16中观察到的那样,在所述周期T2开始时所述BR[3]#信号1630的声明导致在周期T4开始时声明其相应的ADS#1640;并且,在周期T3开始时所述BPRI#信号的声明导致在周期T6开始时声明其相应的ADS#1640。在另外的实施例中,把“默认”P4总线用于确保上面刚描述的“至少两个时钟周期”的策略。
图17示出了电路的另一实施例,所述电路可以被视为图10和12中观察到的电路的组合。图17的电路启动和禁止地址读出放大器1721以及启动和禁止所述数据读出放大器1722。因此,把单个控制逻辑电路1752用于控制地址读出放大器1721和数据读出放大器1722。为了确保正确操作,随着所述BPRI#信号的激活启动地址和数据读出放大器1721、1722(以便确保足够早地启动地址读出放大器1721,如根据图10的电路在图11中所观察到的那样);并且,随着RCNT=0、Last_DRDY变成无效并且DBSY#变为无效,禁止地址和数据读出放大器1721、1722(以便确保足够迟地禁止数据读出放大器,如根据图12的电路在图13中观察到的那样)。虽然图17的所述电路可被用于单处理器环境中,但是图17的电路通过重新配置通向所述控制逻辑1752的输入端可以被扩展为与多处理器环境兼容,其中所述控制逻辑1752用于使读出放大器的启动如图15所示的那样。
读者应理解的是,如就图8所论述的那样,根据图9至17的讲授,可以实现设计的模拟、仿效和制造的各种设计表示或者格式。
根据已公开的示例性实施例,在保持在本发明的实施例的范围的情况下,可以对所公开的实施例做出修改和变化,本发明的实施例的范围由如下的权利要求来定义。
Claims (38)
1.在具有从前侧总线的数据总线部分接收数据的数据读出放大器的处理器中,一种方法包括如下步骤:
响应于地址选通的声明来启动所述数据读出放大器;并且
至少响应于队列为空来禁止所述数据读出放大器,所述队列用于记录还有待于在所述前侧总线上执行的交易。
2.在具有从前侧总线的数据总线部分接收数据的数据读出放大器和从所述前侧总线的地址总线部分接收地址的地址读出放大器的处理器中,一种方法包括如下步骤:
响应于请求指示的声明来启动所述地址读出放大器;
响应于地址选通的声明来启动所述数据读出放大器;
响应于所述请求指示的解除声明来禁止所述地址读出放大器;并且,
至少响应于队列为空来禁止所述数据读出放大器,所述队列用于记录还有待于在所述数据总线上执行的交易。
3.一种处理器,所述处理器是多处理器计算系统的一部分,所述多处理器计算系统具有多个处理器以及存储器控制器,所述多个处理器和所述存储器控制器经由前侧总线被耦合在一起,所述处理器包括从所述前侧总线的地址总线部分接收地址的地址读出放大器:
响应于来自于所述处理器中另一处理器的第一请求指示的声明来启动所述地址读出放大器;并且,
因为在所述第一请求指示被解除声明之前从所述存储器控制器声明第二请求指示,所以在所述第一请求指示被解除声明之后保持所述地址读出放大器启动。
4.一种总线代理,包括:
控制器,用于如果将要把地址传送到接收总线代理,那么促使声明功率信号,所述功率信号用于在所述接收总线代理接收所述地址之前启动所述接收代理的一组输入地址读出放大器。
5.如权利要求4所述的总线代理,其中所述控制器还用于促使解除声明所述功率信号,以便在已经接收到所述地址之后禁止所述读出放大器。
6.如权利要求4所述的总线代理,其中所述控制器还用于促使解除声明所述功率信号,以便如果在预定的时钟周期内没有计划发送附加地址值,那么在已经接收到所述地址之后禁止所述读出放大器。
7.如权利要求4所述的总线代理,其中所述总线代理是芯片组。
8.如权利要求4所述的总线代理,其中所述总线代理是存储器控制器。
9.如权利要求4所述的总线代理,其中所述接收总线代理是处理器。
10.一种总线代理,包括:
通向总线的接口,如果所述总线代理将把地址置于所述总线上,那么所述接口用于促使声明功率信号,所述功率信号用于允许接收代理的一组输入地址读出放大器来接收所述地址。
11.如权利要求10所述的总线代理,其中所述接口还用于促使解除声明所述功率信号,以便在已经接收到所述地址之后禁止所述读出放大器。
12.如权利要求10所述的总线代理,其中所述接口还用于促使解除声明所述功率信号,以便如果在预定的时钟周期内没有计划发送附加地址,那么在已经接收到所述地址之后禁止所述读出放大器。
13.如权利要求10所述的总线代理,其中所述预定数量的时钟周期是至少2个时钟周期。
14.如权利要求10所述的总线代理,其中所述总线代理是芯片组。
15.如权利要求10所述的总线代理,其中所述总线代理是存储器控制器。
16.如权利要求10所述的总线代理,其中所述接收代理是处理器。
17.一种总线代理,包括:
输入缓冲器,具有一组输入地址读出放大器;并且
所述读出放大器被耦合至地址总线功率控制信号,所述读出放大器被促使在代理接收地址之前响应于所述功率控制信号的声明而被启动以便接收来自于外部总线代理的地址。
18.如权利要求17所述的总线代理,其中在所述总线代理已经接收到所述地址之后,响应于所述功率控制信号的解除声明来促使禁止所述输入地址读出放大器。
19.如权利要求17所述的总线代理,其中所述总线代理是处理器。
20.如权利要求17所述的总线代理,其中所述外部总线代理是芯片组。
21.如权利要求17所述的总线代理,其中所述外部总线代理是存储器控制器。
22.如权利要求17所述的总线代理,其中所述读出放大器被促使响应于在所述总线代理接收到地址之前的至少两个时钟周期的所述功率控制信号的声明而被启动,以便接收来自于所述外部总线代理的地址。
23.一种方法,包括如下步骤:
识别将要在总线上传送的地址;并且
声明功率信号,以便在接收代理接收所述地址之前启动所述接收代理的一组输入地址读出放大器。
24.如权利要求23所述的方法,还包括解除声明所述功率信号,以便在完成所述地址的传送之后禁止该组输入地址读出放大器。
25.如权利要求23所述的方法,还包括解除声明所述功率信号,以便如果在预定的时钟周期内没有计划把地址发送到所述接收代理,那么在完成地址传送之后禁止该组输入地址读出放大器。
26.如权利要求23所述的方法,其中声明所述功率信号包括在地址递送周期之前的至少两个时钟周期声明所述功率信号。
27.如权利要求23所述的方法,其中所述方法是通过芯片组来执行的。
28.如权利要求23所述的方法,其中所述方法是通过存储器控制器来执行的。
29.如权利要求23所述的方法,其中所述接收代理是处理器。
30.一种物品,包括用于承载数据的机器可读的载体介质,当所述数据与模拟例行程序一起被载入计算机系统存储器中时提供模型的功能,所述模型的功能包括:
控制器,用于当将要把地址传送到接收总线代理时促使声明功率信号,所述功率信号用于在所述接收总线代理接收到所述地址之前启动所述接收代理的一组输入地址读出放大器。
31.如权利要求30所述的物品,其中所述控制器还用于促使解除声明所述功率信号,以便在已经接收到所述地址之后禁止所述读出放大器。
32.如权利要求30所述的物品,其中所述控制器还用于促使解除声明所述功率信号,以便如果在预定的时钟周期内没有计划发送附加地址值,那么在已经接收到所述地址之后禁止所述读出放大器。
33.如权利要求30所述的物品,其中所述总线代理是芯片组。
34.如权利要求30所述的物品,其中所述总线代理是存储器控制器。
35.如权利要求4所述的总线代理,其中所述接收总线代理是处理器。
36.一种系统,包括:
芯片组,包括:
控制器,用于如果将要把地址传送到接收总线代理则促使声明功率信号;以及
处理器,包括:
输入缓冲器,具有一组输入地址读出放大器,所述读出放大器被耦合至地址总线功率控制信号,所述读出放大器被促使在所述处理器接收到所述地址之前响应于所述功率信号的声明而被启动,以便接收来自于所述芯片组的地址。
37.如权利要求36所述的系统,其中所述芯片组的控制器还用于促使解除声明所述功率信号,以便在完成地址传送之后禁止该组输入地址读出放大器。
38.如权利要求36所述的系统,其中所述芯片组的控制器还用于促使解除声明所述功率信号,以便如果在预定的时钟周期内没有计划把地址发送到所述请求代理的话,则在完成所述地址传送之后禁止该组输入地址读出放大器。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/317,798 US7216240B2 (en) | 2002-12-11 | 2002-12-11 | Apparatus and method for address bus power control |
US10/317,798 | 2002-12-11 | ||
US10/436,903 US20040128416A1 (en) | 2002-12-11 | 2003-05-12 | Apparatus and method for address bus power control |
US10/436,903 | 2003-05-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1726451A true CN1726451A (zh) | 2006-01-25 |
CN100422905C CN100422905C (zh) | 2008-10-01 |
Family
ID=32511034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2003801058531A Expired - Fee Related CN100422905C (zh) | 2002-12-11 | 2003-11-24 | 用于地址总线功率控制的设备和方法 |
Country Status (11)
Country | Link |
---|---|
US (1) | US20040128416A1 (zh) |
EP (2) | EP1570335B1 (zh) |
JP (1) | JP4813180B2 (zh) |
KR (1) | KR100737549B1 (zh) |
CN (1) | CN100422905C (zh) |
AT (1) | ATE437394T1 (zh) |
AU (1) | AU2003293030A1 (zh) |
DE (1) | DE60328520D1 (zh) |
HK (1) | HK1075949A1 (zh) |
TW (1) | TWI310910B (zh) |
WO (1) | WO2004053706A2 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US7484016B2 (en) * | 2004-06-30 | 2009-01-27 | Intel Corporation | Apparatus and method for high performance volatile disk drive memory access using an integrated DMA engine |
US7822978B2 (en) * | 2005-07-22 | 2010-10-26 | Intel Corporation | Quiescing a manageability engine |
US7870407B2 (en) * | 2007-05-18 | 2011-01-11 | Advanced Micro Devices, Inc. | Dynamic processor power management device and method thereof |
US7477178B1 (en) * | 2007-06-30 | 2009-01-13 | Cirrus Logic, Inc. | Power-optimized analog-to-digital converter (ADC) input circuit |
US8581756B1 (en) | 2012-09-27 | 2013-11-12 | Cirrus Logic, Inc. | Signal-characteristic determined digital-to-analog converter (DAC) filter stage configuration |
US11138348B2 (en) * | 2018-10-09 | 2021-10-05 | Intel Corporation | Heterogeneous compute architecture hardware/software co-design for autonomous driving |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4202045A (en) * | 1979-03-05 | 1980-05-06 | Motorola, Inc. | Write circuit for a read/write memory |
DE3778920D1 (de) * | 1986-01-20 | 1992-06-17 | Nec Corp | Mikrorechner mit betriebsarten fuer hohe und fuer geringe taktrate. |
JPH0812756B2 (ja) * | 1987-06-22 | 1996-02-07 | 松下電子工業株式会社 | スタチックram回路 |
US5432944A (en) * | 1991-08-05 | 1995-07-11 | Motorola, Inc. | Data processing system having a dynamically enabled input synchronizer for selectively minimizing power consumption |
US5327394A (en) * | 1992-02-04 | 1994-07-05 | Micron Technology, Inc. | Timing and control circuit for a static RAM responsive to an address transition pulse |
US5430683A (en) * | 1994-03-15 | 1995-07-04 | Intel Corporation | Method and apparatus for reducing power in on-chip tag SRAM |
US5692202A (en) * | 1995-12-29 | 1997-11-25 | Intel Corporation | System, apparatus, and method for managing power in a computer system |
US5911153A (en) * | 1996-10-03 | 1999-06-08 | International Business Machines Corporation | Memory design which facilitates incremental fetch and store requests off applied base address requests |
US5848428A (en) * | 1996-12-19 | 1998-12-08 | Compaq Computer Corporation | Sense amplifier decoding in a memory device to reduce power consumption |
US6141765A (en) * | 1997-05-19 | 2000-10-31 | Gigabus, Inc. | Low power, high speed communications bus |
US6243817B1 (en) * | 1997-12-22 | 2001-06-05 | Compaq Computer Corporation | Device and method for dynamically reducing power consumption within input buffers of a bus interface unit |
US6330679B1 (en) | 1997-12-31 | 2001-12-11 | Intel Corporation | Input buffer circuit with dual power down functions |
JPH11212687A (ja) * | 1998-01-26 | 1999-08-06 | Fujitsu Ltd | バス制御装置 |
US6058059A (en) * | 1999-08-30 | 2000-05-02 | United Microelectronics Corp. | Sense/output circuit for a semiconductor memory device |
JP4216415B2 (ja) * | 1999-08-31 | 2009-01-28 | 株式会社ルネサステクノロジ | 半導体装置 |
JP2001167580A (ja) * | 1999-12-07 | 2001-06-22 | Toshiba Corp | 半導体記憶装置 |
US6609171B1 (en) * | 1999-12-29 | 2003-08-19 | Intel Corporation | Quad pumped bus architecture and protocol |
KR100546184B1 (ko) * | 2000-10-20 | 2006-01-24 | 주식회사 하이닉스반도체 | 센스 앰프 회로 |
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 |
US6961787B2 (en) * | 2002-01-07 | 2005-11-01 | Intel Corporation | Method and apparatus for updating task files |
US7152167B2 (en) * | 2002-12-11 | 2006-12-19 | Intel Corporation | Apparatus and method for data bus power control |
-
2003
- 2003-05-12 US US10/436,903 patent/US20040128416A1/en not_active Abandoned
- 2003-11-24 AU AU2003293030A patent/AU2003293030A1/en not_active Abandoned
- 2003-11-24 JP JP2005508447A patent/JP4813180B2/ja not_active Expired - Fee Related
- 2003-11-24 AT AT03790020T patent/ATE437394T1/de not_active IP Right Cessation
- 2003-11-24 EP EP03790020A patent/EP1570335B1/en not_active Expired - Lifetime
- 2003-11-24 DE DE60328520T patent/DE60328520D1/de not_active Expired - Lifetime
- 2003-11-24 EP EP09009442A patent/EP2109029B1/en not_active Expired - Lifetime
- 2003-11-24 KR KR1020057010706A patent/KR100737549B1/ko not_active IP Right Cessation
- 2003-11-24 WO PCT/US2003/037614 patent/WO2004053706A2/en active Application Filing
- 2003-11-24 CN CNB2003801058531A patent/CN100422905C/zh not_active Expired - Fee Related
- 2003-12-10 TW TW092134895A patent/TWI310910B/zh not_active IP Right Cessation
-
2005
- 2005-09-12 HK HK05107990.0A patent/HK1075949A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
EP2109029B1 (en) | 2012-12-26 |
EP2109029A1 (en) | 2009-10-14 |
KR100737549B1 (ko) | 2007-07-10 |
KR20050085590A (ko) | 2005-08-29 |
AU2003293030A1 (en) | 2004-06-30 |
US20040128416A1 (en) | 2004-07-01 |
HK1075949A1 (en) | 2005-12-30 |
WO2004053706A2 (en) | 2004-06-24 |
EP1570335A2 (en) | 2005-09-07 |
DE60328520D1 (de) | 2009-09-03 |
ATE437394T1 (de) | 2009-08-15 |
JP2006511897A (ja) | 2006-04-06 |
WO2004053706A3 (en) | 2004-11-18 |
AU2003293030A8 (en) | 2004-06-30 |
CN100422905C (zh) | 2008-10-01 |
TW200428279A (en) | 2004-12-16 |
EP1570335B1 (en) | 2009-07-22 |
TWI310910B (en) | 2009-06-11 |
JP4813180B2 (ja) | 2011-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8782456B2 (en) | Dynamic and idle power reduction sequence using recombinant clock and power gating | |
TWI377472B (en) | Method and computer system of selecting a command to send to memory | |
CN1866230B (zh) | 一种存储器仲裁器、处理器系统及存储器仲裁方法 | |
US7529955B2 (en) | Dynamic bus parking | |
TW200416599A (en) | Apparatus and method for multi-threaded processors performance control | |
US20070043923A1 (en) | Apparatus, system, and method for modifying data storage configuration | |
CN1900924A (zh) | 四重抽吸总线体系结构和协议 | |
CN107077175A (zh) | 提供针对多芯片封装的热参数报告的装置和方法 | |
US7886177B2 (en) | Method and apparatus of collecting timer ticks | |
WO2014210258A1 (en) | Generic host-based controller latency method and apparatus | |
US20030023794A1 (en) | Cache coherent split transaction memory bus architecture and protocol for a multi processor chip device | |
CN100351743C (zh) | 具有总线主控设备的计算机系统中的功率降低方法 | |
WO2006024325A1 (en) | Method for estimating power consumption | |
CN1723429A (zh) | 用于数据总线功率控制的设备及方法 | |
CN1726451A (zh) | 用于地址总线功率控制的设备和方法 | |
EP1337908B1 (en) | Power management method and arrangement for bus-coupled circuit blocks | |
US7216240B2 (en) | Apparatus and method for address bus power control | |
US20240085972A1 (en) | Chiplet state aware and dynamic voltage regulator event handling | |
JPH11110342A (ja) | バス接続方法及び装置 | |
CN115248790A (zh) | 一种新型的QSPI Flash控制器 | |
JPS60201463A (ja) | Dmaデ−タ転送方式 | |
CN1558331A (zh) | 可早期检测快取未命中的装置及方法 | |
Bursky | Motherboard chip sets trim system costs |
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: 20081001 Termination date: 20191124 |
|
CF01 | Termination of patent right due to non-payment of annual fee |