用于数据总线功率控制的设备及方法

文档序号:6422574阅读:222来源:国知局
专利名称:用于数据总线功率控制的设备及方法
技术领域
一般来说,本发明的一个或多个实施例涉及集成电路和计算机系统设计的领域。更具体地说,本发明的一个或多个实施例涉及用于数据总线功率控制的方法和设备。
背景技术
计算机系统内设备之间的通信通常是使用一个或多个将这样的设备互连的总线来执行的。这些总线可以是耦合两个设备的专用总线或是多个单元和设备(例如总线代理)多路复用的非专用总线。而且,计算机系统内的总线可以专用于传送某种特定类型的信息。例如,加利福尼亚圣塔克莱拉的Intel公司所开发的x86微处理器体系结构包括具有分别传送地址信号、数据信号和控制信号的地址总线、数据总线和控制总线的三总线系统。
在采用先进体系结构和处理器(诸如PentiumPro,PentiumII,PentiumIII或Pentium4处理器)的计算机系统内,总线事务处理通常以流水线方式发生。具体而言,前一个事务处理请求发出后下一个存储器访问就可以开始,在可以启动另一个总线事务处理之前,无需完成总线事务处理的所有部分或阶段。因此,来自许多总线代理的请求在任一时刻可能是未决的。分离的数据总线和地址总线有利于总线事务处理的流水线操作。当请求的地址在地址总线上发送时,与先前在地址总线上发出的地址相对应的数据(或信号)可以在数据总线上返回。
大量研究和系统体系结构设计工作一直针对增加计算机系统内的数据吞吐量。诸如数据流水线操作、乱序执行之类的技术使具有明显更高时钟频率和世界一流性能的先进体系结构和处理能实现。
此外,这种研究以及体系结构重新设计已经启动了用于膝上型电脑、手持设备、个人数字助理(PDA)等产品的移动市场。不过,当另外的电源不可得时,这些移动平台可能被限制在各个移动平台所使用的电池的使用时间所规定的运行时间内。由于移动平台的复杂性,附带电池的电源可能会在相对较短的时间内耗尽。部分原因是平台的许多电子元件即使在不被使用时也继续消耗功率这一事实。
附图简述在附图中的各图中以举例而非限定的形式说明了本发明的各种图2是说明依照一个实施例的具有输入缓冲器的处理器的框图。
图3是说明依照一个实施例的系统平台的框图。
图4说明依照一个实施例的时序图。
图5A-5F说明依照不同实施例的时序图。
图6是说明依照一个实施例的方法的流程图。
图7是说明依照一个实施例的方法的流程图。
图8是说明依照一个实施例的方法的流程图。
图9是说明使用所公开技术的设计的模拟、仿真和制造的各种设计表示或格式的框图。
详细描述为了提供更深入的理解,在下面的描述中,阐述了很多具体的细节,例如逻辑实现、信号和总线的大小及名字、系统元件的类型和相互关系以及逻辑划分/集成选择。但是本领域的技术人员理解,没有这些具体的细节,也可以实现本发明。另一方面,为了避免使本发明变得含糊,没有详细说明控制结构和门电平电路。本领域的普通技术人员利用包括的描述,无需过多试验,也能够实现适当的逻辑电路。
描述用于数据总线功率控制的方法和设备。在一个实施例中,该方法包括在事务处理的数据阶段之前,根据功率控制信号启用处理器的数据总线输入读出放大器。一旦启用,数据总线输入读出放大器能够捕获数据阶段期间所提供的数据。数据阶段完成后,如果在预定的范围内没有其它的数据阶段,则根据功率控制信号禁用处理器的数据总线输入读出放大器。结果,在数据总线不活动期间,由数据总线输入读出放大器引起的功耗就可减少、甚至避免。


图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具有耦合到内部数据总线信号线(pdata)322(322-1,...,322-N-1)的输出。输入缓冲器310也可以耦合到另外的内部数据线和/或控制线。对于一个实施例而言,读出放大器320具有耦合到前端总线(FSB)330的多个数据线FSB D
的输入。
对于一个实施例而言,FSB 330与Pentium4处理器的前端总线协议兼容,在Singh等人共同未决的于11/01/2001公布的U.S.专利申请no.US 2001/0037421 A1中描述了前端总线协议的一些方面。其中FSB与Pentium4处理器前端总线兼容,FSB 330包括64条数据线FSBD
。对其他实施例而言,可以理解,FSB 330可与不同的总线协议兼容和/或可以包括不同数目的数据线。
继续参考图2,对于一个实施例而言,输入缓冲器310还包括锁存器352,它经过耦合以接收与FSB 330相关的总线时钟(BCLK)信号和数据总线功率控制(DPWR#)信号350。对于一个实施例而言,可以从例如进一步通过FSB 330耦合到CPU 300的芯片组设备(没有示出)接收DPWR#信号。锁存器352的输出耦合到每个数据输入读出放大器320的使能输入端。
在工作中,当BCLK信号转变时,锁存器352锁存DPWR#信号的状态。响应声明的DPWR#信号,启用输入缓冲器310的数据输入读出放大器320以捕获经由数据线FSB D
来自FSB 330的请求的数据。相反,响应取消声明的DPWR#信号,禁用输入数据读出放大器。当禁用输入读出放大器时,减少了它们的功率消耗,主要是由输入缓冲器提供的偏流引起的热耗散功率(TDP)。
图3是一个实施例的示范性系统500的框图,其中可以有利地使用图2中的CPU 300。除了CPU 300,系统500包括在一个实施例中称为存储控制集线器(MCH)510的存储控制器、在一个实施例中称为输入/输出控制集线器(ICH)530的输入/输出(I/O)控制器。总的来说,可以将MCH 510和ICH 530称为芯片组502。MCH 510经由FSB330耦合到CPU 300,经由总线150耦合到ICH 530。同时耦合到MCH510的还有主存储器520和一个或多个图形设备550。在一个实施例中,图形设备可以集成在MCH上。
系统500的I/O子系统可以包括耦合到ICH 530的多种不同类型的输入和/或输出设备,例如硬盘驱动器(HDD)210、一个或多个USB端口190可以经由通用串行总线(USB)192耦合到ICH 530,和/或一个或多个外围部件互连(PCI)设备180可以经由对应的总线182耦合到ICH。此外,对一些实施例而言,一个或多个音频通道170和/或局域网(LAN)接口220也可以耦合到ICH 530。
在一个实施例中,FSB 330与Pentium4处理器前端总线兼容,FSB 330是包括地址部分、数据部分和控制部分(或者在此可以称为地址总线、数据总线和控制总线)的流水线式的数据总线。
关于FSB 330,在这里将耦合到FSB 330的设备也称为总线代理。对一个实施例而言,三种类型的代理可以驻留在FSB 330上请求代理、响应代理和监听代理。请求代理是通过发送诸如存储器或I/O读或写请求而启动事务处理的设备。响应代理是事务处理的目标、如I/O目标或存储器目标。监听代理是位于总线上通常与高速缓冲存储器相关的设备。对其它的实施例而言,可以采用不同的方式对总线代理进行分类。
在FSB 330是流水线总线的情况下,可以将总线事务处理分成几个阶段且多个事务处理可交迭。具体而言,无需完成一个总线事务处理的所有部分或阶段就可启动另一个总线事务处理。
如这里所使用的,术语“事务处理”指的是涉及单独总线访问请求的总线活动。事务处理可以包括几个阶段,每个阶段都与一组特定的总线信号相关来传达特定类型的信息。对一个实施例而言,示范性的阶段可以包括例如仲裁阶段、请求阶段、监听阶段、响应阶段和/或数据阶段。
在请求阶段,请求代理驱动器在FSB 330上请求控制和地址信息。在随后的监听阶段,可以确定关于以前发出的事务处理,在数据本地存储之后是否被寻找过和/或事务处理是否有可能按顺序完成。在响应阶段,响应代理将指示请求的事务处理成功或失败的信息报告给请求代理。如果请求的事务处理包括数据传送,则可以启动该数据阶段(也称为数据传送阶段)以响应数据准备好(DRDY#)信号的声明。
如图3所示,在一个实施例中,作为FSB 330的一部分的MCH 510要声明和取消声明上面所述的DPWR#信号。在一个实施例中,MCH包括导致DPWR#信号的声明以及取消声明的控制器512(在这里也称为总线接口)。在可选择的实施例中,在耦合到FSB 330的其它设备/代理上可以提供控制器512。下面将更详细地讨论控制器512要导致DPWR#信号的声明和取消声明所用的方式。
在一个实施例中,控制器512要导致DPWR#信号的声明以及取消声明,使得当FSB 330上没有数据活动时,禁用CPU 300的输入数据读出放大器320,在数据传送操作前启用输入数据读出放大器320。对一个实施例而言,基于事务处理请求类型,控制器确定预期数据访问时间以获取请求的数据。基于该预期访问时间,控制器512导致DPWR#信号的声明,以便及时启用CPU 300的读出放大器320以读出要提供的数据。一旦数据阶段完成,如果在预定的时间段(例如给定数量的时钟周期)内没有即将到来的数据阶段,控制器512就导致DPWR#信号的取消声明以减少读出放大器的功耗。
图4是说明用于一个实施例的DPWR#信号的时序图。该时序图说明了总线时钟(BCLK)信号410的时钟周期T1-T14,可用于提供均作为FSB 330的一部分的BCLK信号、地址选通信号(ADS#)420、DPWR#信号350、数据忙(DBSY#)信号430、数据准备好(DRDY#)信号440,以及指示FSB 330的数据总线部分上的数据活动的信号455。在FSB 330与Pentium 4处理器的前端总线协议兼容的实施例中,上面所提到的信号中除DPWR#信号外都依照相应的Pentium 4处理器前端总线信号来定义和操作。
对于上面的信号,信号名称末尾的“#”表示相关的信号是低电平有效信号(即认为信号处于逻辑低电平时被声明)。可以理解,若对相关的电路作相应的改变,也可使用高电平有效信号以提供类似的功能。而且,对一个实施例而言,一个或多个FSB 330信号是低电压摆幅信号,其电压摆幅比全摆幅小。
图4中说明的事务处理实例中,诸如CPU 300的请求代理在T1通过声明ADS#信号而发起读事务处理请求。诸如MCH 510并且在一个实施例中是MCH的控制器512的响应代理对相关的地址信息取样并检测请求的读事务处理的类型。基于请求的读事务处理类型,控制器512确定与该请求相关的预期数据访问时间以确定数据传输时钟周期。
在所标识的数据递交时钟周期之前预定数量的时钟周期,控制器512声明DPWR#信号,以在数据到达数据总线之前,提供足够的时间用于启用请求代理(CPU 300)的读出放大器。一般来说,所标识的数据时钟周期是执行该事务处理的响应代理设备所消耗的处理时间的函数。例如,如果响应代理设备(比如,MCH 510)识别该“读”事务处理消耗12个时钟周期,则控制器512会在请求“读”事务处理之后12个周期终止之前导致DPWR#信号的声明(以便及时激活请求代理的读出放大器以接收请求的数据)。
注意,响应代理对不同的事务处理可以表现不同的响应时间(例如下面分别参照图5A和5B更详细说明的,“页丢失事务处理”需要14个时钟周期,而在空页情况下的“部分读”事务处理需要12个时钟周期)。因而,根据用于各种事务处理的响应代理的响应时间的特性,控制器512对所支持的每种事务处理类型相应地导致DPWR#信号的声明。注意,可以利用下面技术(比如,不同的半导体制造工艺)的各种类型实现请求代理,同样地,事务处理所消耗的时间量也可随实施例而变。同样地,在下面的关于图4和图5A到5F的实例中声明DPWR#信号的具体时钟周期时间可以理解为是从很多不同的可能的实施例中选出的。
对于图4所示的例子,为了说明的目的,假设控制器512确定数据递交时钟周期为T12。另外,对于所示的示范性实施例,假设预定的时钟周期数为2,使得控制器在所示的T10声明DPWR#信号。对于其它的实施例而言可以理解,可以使用不同的时钟周期数或别的时间度量来将DPWR#信号的声明从请求的数据的预期可获得性分离。
另外,对某些实施例而言,为进一步确保数据读出放大器在数据到达时已准备就绪,在数据传送之前多于预定数量的时钟周期,响应代理可以声明DPWR#信号,但是在实际数据传送前,不少于预定数量的时钟周期。对于这样的实施例而言,为了确保维持DPWR#信号声明和数据返回且在数据总线上准备就绪之间的预定分隔,响应代理可以延迟数据传送。
CPU 300在T11的总线时钟信号的上升沿对DPWR#信号取样并向读出放大器320提供DPWR#信号,使得在时钟周期T12启用放大器。响应代理在T12声明DRDY#信号,CPU 300捕获请求的数据。
一旦数据传送完成,响应代理(在本实例中是MCH 510)导致取消声明DRDY#信号。对某些实施例,控制器512也可以并行导致DPWR#信号的取消声明。对其它实施例而言,如果在给定的时间段内预期有指向CPU 300的另外数据阶段,可以继续保持对DPWR#信号的声明,如下面更详细介绍的。
CPU 330在时钟周期T14检测到DPWR#信号的取消声明,其后很快导致启用读出放大器320。在这种方式下,对于关于图4描述的示范性的事务处理,用于整个事务处理的十三个时钟周期中大约有两个时钟周期读出放大器被激活(即启用),使得与现有方法相比更省电。
为进一步说明某些实施例的操作,图5A是依照一个实施例的时序图,该时序图说明了在页丢失期间DPWR#和数据输入读出放大器320的操作。如上所说,在总线时钟T1声明ADS#信号后,响应代理通过对事务处理地址信息取样而检测读事务处理。在所描述的实施例中,请求的数据的页丢失导致响应代理在14个时钟周期后(T14)返回请求的数据。因此,数据输入缓冲器读出放大器320一直保持禁用状态,直到在时钟周期T14期间被启用。同样,控制器512可以计算数据阶段时钟周期为T14。
继续上面的例子,分离DPWR#信号的声明和请求的数据的到达的预定时钟周期数是二,控制器512在总线时钟周期T12导致DPWR#信号350的声明。请求代理在总线时钟T13的上升沿对DPWR#信号进行取样,然后在总线时钟周期T14通过启用读出放大器而起作用。在总线时钟T16,响应代理取消声明DRDY#信号440并且控制器512导致DPWR#信号350的取消声明以指示在总线时钟T16数据阶段完成。因此如图5A所示,对于该特定实例而言,依照启用和/或禁用数据输入缓冲器读出放大器所提供的功率节约大约是12个时钟周期。
在一个实施例中,在数据阶段完成时钟周期T16期间,可以保持对DPWR#信号的声明以启用读出放大器320,从而启用源同步选通方法,该方法在取消声明DRDY#信号后的下一个时钟允许捕获数据。
图5B是说明依照一个实施例的部分读操作的时序图。如图所示,在总线时钟T1声明ADS#信号420导致在总线时钟T12进入数据阶段。假设在上面实例中讨论的同样的两个时钟窗口,如图所示,响应在时钟周期T10声明DPWR#信号并且在时钟周期T13取消声明DPWR#信号,在总线时钟T12启用输入缓冲器310的数据输入读出放大器320并且在总线时钟T14禁用放大器320。对该实例而言,数据读出放大器320在用于该事务处理的全部十三个时钟周期中大约两个时钟周期被启用,这样对比以前的方法,可以实现输入缓冲器的功率节省。
图5C是说明依照一个实施例的高速缓存线突发读的实例操作的时序图。如图所示,控制器512在总线时钟周期T10中导致DPWR#信号350的声明,CPU 300在总线时钟周期T11对DPWR#信号350进行取样,使得由于传播延迟,在总线时钟周期T12中启用数据输入读出放大器320。对该实例而言,响应代理声明DBSY#信号430以指示响应代理在下一个时钟周期(T13)也占用数据总线330。因此,在时钟周期T12和T13期间利用在相同时间周期声明的DRDY#信号,数据输入读出放大器捕获数据472。在时钟周期T14中取消声明DPWR#信号(基本上与取消声明DRDY#一起进行),在时钟周期T15(没有示出)期间禁用读出放大器320。
图5D是说明依照一个实施例、在没有激活DRDY#信号440期间突发读事务处理的时序图。在一个实施例中,可以配置系统500,例如可以配置成具有64位数据总线宽度(除去控制和源同步信号)的单通道DDR平台。对该实例而言,DDR传送速率可以是例如每总线时钟周期16位,而FSB传送速率可以是例如每一总线时钟32字节,其中FSB 330与Pentium 4处理器前端总线兼容,因此被四次抽运(quad pumped)。
如图所示,控制器512在总线时钟周期T10中导致DPWR#信号350的声明,CPU 300在总线时钟周期T11对DPWR#信号350进行取样,使得由于传播延迟,在总线时钟周期T12中启用数据输入读出放大器320。由于传送速率不均衡,数据传送在T13存在间隙。换句话说,响应代理直到总线时钟T14才准备好用于传送的下一批32字节。因此,在时钟周期T13期间取消声明DRDY#信号440,而当下一批32字节准备好用于传送时,在时钟周期T14期间重新声明DRDY#信号440。如图所示,T12和T13中声明DBSY#信号430,指示在T14响应代理占用FSB 330数据总线。因此,控制器512在T10中导致DPWR#信号350的声明,在T15中导致该信号的取消声明以及最后的DRDY#信号440的取消声明。
图5E是说明依照一个实施例的用于实例的流水线式总线的时序图,在该实例中,紧接发出返回的读数据,中间没有空闲的时钟周期。对于所说明的实例而言,系统500提供双通道DDR存储配置,但在其它的实施例中可以使用其它的存储方法。如图所示,控制器512在总线时钟周期T10(数据阶段传送流之前两个时钟周期)导致DPWR#信号350的声明。在所说明的实例中,请求三个读事务处理(R1,R2,R3)。
与事务处理R1相关的数据传送开始于总线时钟周期T12,并结束于总线时钟T13。事务处理R2的数据传送开始于总线时钟T14并结束于总线时钟T15。在所述的实施例中,为允许读出放大器对全部数据流保持打开状态,控制器512不在紧接数据传送之间导致DPWR#信号350的取消声明。控制器512在总线时钟T16导致DPWR#信号350的取消声明以及事务处理R3的最后的DPWR#信号440的取消声明。对于所述的实施例,为了能够捕获源同步接收数据,在总线时钟周期T16插入等待状态,CPU 300在总线时钟周期T17(没有示出)之前不对DPWR#信号350进行取样。对其它实施例而言,在数据准备好信号的取消声明和数据总线功率控制信号的取消声明之间可以插入不同数目的等待状态。
图5F是说明依照一个实施例的从单通道DDR存储器流水线式读取的时序图。如图5F中所说明,发出的两个读事务处理(R1和R2)间隔了三个时钟周期。在总线时钟周期T1发出事务处理R1,而在总线时钟周期T4(图5F中没有示出)发出事务处理R2。在总线时钟周期T12开始返回相关的数据。在该特定实例中,由于事实是请求代理已经请求从单通道DDR存储器读取数据,则需要响应代理声明等待状态。因此,控制器512在总线时钟T18导致DPWR#信号350的取消声明以及事务处理R2的最后的DRDY#信号440的取消声明。如图所示,控制器512没有在总线时钟T15导致DPWR#信号的取消声明,以便在第一个DRDY#信号440发出前在声明DPWR#信号350之间提供预定的时钟间隔(在该实例中是两个时钟周期)。
另外可选择的实施例包括具有芯片内回写缓冲器的芯片组的情况,其中从声明地址选通(如ADS#信号)起大约三个时钟,控制器512导致DPWR#信号的声明和监听阶段。在一个实施例中,这允许在总线协议分配的时间进行数据传送。在一个实施例中,这样的总线协议所允许的时间是从声明地址选通ADS#信号起五个时钟,其中为监听结果提供两个时钟周期。
此外,在计算机系统500内,如图4所述,在一个实施例中,每个总线代理都保持所有当前进行的事务处理、每个事务处理当前所处的阶段、在每个阶段各个代理有什么责任(如果有)的记录。这样,为了在适当事务处理的每个阶段与总线(FSB 330)适当地交互,每个代理都保持输入/输出事务处理队列或顺序队列(IQQ)。因而,一旦保证响应事务处理,表示该事务处理将要完成,请求代理从IQQ中删除该事务处理。这样,在可选择的实施例中,DPWR#信号就能保持声明,直到请求代理的IQQ为空。
上面使用具体总线协议和具体信号已描述了数据总线功率控制相关时序的几个具体实例,可以理解,可以利用不同的总线协议和信号实现可选择的实施例的数据总线功率控制方法。此外,虽然主要关于CPU读事务处理描述了数据总线功率控制信号,但是可以理解,不同实施例的数据总线功率控制方法同样适用于导致数据传送到请求代理的其它事务处理。例如,对某些系统高级可编程中断控制器(APIC-没有示出)而言,事务处理可以被定义为“写”事务处理,只是将数据返回到CPU,因而一个实施例的数据总线功率控制方法可以用于减少功耗。
图6说明的流程图600中描述了用于数据总线功率控制的方法。在处理块602,响应代理检测数据要返回到请求代理(例如读事务处理)的事务处理。在处理块604,响应代理确定何时期望交付数据。在处理块606,响应代理导致DPWR#信号的声明以启用请求代理的读出放大器以接收数据。
在处理块608,基于向请求代理的数据传送完成,响应代理确定何时导致DPWR#信号的取消声明。在处理块610,响应代理导致DPWR#信号的取消声明,从而导致禁用数据输入读出放大器。
在一个实施例中,一旦读事务处理的数据阶段完成,就使DPWR#信号被取消声明。通常,一旦取消声明DRDY#信号,读事务处理的数据阶段就完成。然而,在一个实施例中,在DRDY#信号取消声明之后,禁用数据输入读出放大器要延迟一个或多个时钟周期等待周期,该方法可以用于允许源同步接收数据在总线上的传播,这在取消声明DRDY#信号之后提供。
图7是说明依照一个实施例的用于导致功率控制信号DPWR#的取消声明的另外的技术的流程图。在处理块700,响应代理确定是否有另外的更多的事务处理(该事务处理将导致数据返回到请求代理)。如果没有检测到这样的另外的事务处理,在处理块716,响应代理确定是否检测到用于当前事务处理的数据阶段完成的时钟周期。一旦检测到,在处理块714导致功率控制信号DWPR#的取消声明。
相反,如果检测到另外的事务处理(该事务处理将数据返回到请求代理),在处理块704,为另外的事务处理确定数据阶段完成时钟周期。一旦检测到数据阶段完成时钟周期,在处理块706,确定用于另外事务处理的数据完成时钟周期和用于当前事务处理的数据阶段完成时钟周期之间的时钟周期数。在处理块708确定所确定的时钟周期数是否少于或等于预定的时钟周期数。当处理块706所确定的时钟周期数少于预定的时钟周期数时,在处理块710延迟DPWR#信号的取消声明,以允许请求代理的读出放大器保持启用状态来接收另外的事务处理的另外的数据。
相应地,在处理块712,DPWR#信号的取消声明继续延迟,直到检测到另外的事务处理的数据阶段完成时钟周期。一旦检测到,在处理块714导致DPWR#信号的取消声明。
在图8说明的流程图800中描述了用于数据总线功率控制的方法。在处理块802,请求代理(例如CPU)发出请求事务处理,该请求事务处理将导致数据返回到请求代理(例如读事务处理)。在处理块804,在接收数据之前,请求代理检测DPWR#信号的声明,该声明导致启用请求代理的数据输入读出放大器以接收请求的数据。在处理块806中,请求代理接收请求的数据。在处理块808,请求代理检测到DPWR#信号的取消声明,从而导致禁用请求代理的数据输入读出放大器以减少功耗。
图9是说明使用公开技术的设计的模拟、仿真、制造的各种设计表示或格式的框图。表示设计的数据可以用多种方式表示该设计。首先,因为模拟中有用,可以用硬件描述语言或另外的功能描述语言表示硬件,这些语言在本质上提供了如何使设计的硬件按所设想的来执行的计算机化模型。硬件模型910可以存储在存储媒体900中(例如计算机存储器),使得模型可以用模拟软件920模拟,该模拟软件920将具体测试序列930应用到硬件模型上,以确定其功能是否确实如所设想的。在某些实施例中,存储媒体里不记录、捕获或包含模拟软件。
另外,在设计过程的某些阶段可以制造带有逻辑和/或晶体管门的电路级模型。有时可以通过使用可编程逻辑而形成模型的专用硬件模拟器来近似地模拟该模型。这种类型的模拟进一步说可以是仿真技术。无论如何,可重新配置的硬件是另一种实施例,该实施例可以包括存储使用公开技术的模型的机器可读媒体。
而且,多数设计在某种阶段达到了表示硬件模型中各种设备的物理布局的数据级。在使用传统半导体制造技术的情况下,表示硬件模型的数据可以是指明用于制造集成电路的不同掩模层或掩模上各种特征有无的数据。此外,表示集成电路的数据体现公开的技术,因为可以模拟或制造电路逻辑和数据以执行这些技术。
在设计的任何表示法中,可以将数据存储在任何形式的机器可读媒体中。调制或别的方式产生的光波或电波960来传输这样的信息,存储器950或磁或光存储装置940(例如盘)可以是机器可读媒体。这些媒体的任何一种都可以携带设计信息。术语“携带”(例如,携带信息的机器可读媒体)从而包含存储在存储设备上的信息或编码或调制到载波上的信息。描述整个设计或特定设计的位集合是(当包含在机器可读媒体中时,例如载波或存储媒体)可以被独立封装或用于其它设计或制造的产品。
替代实施例对其它实施例而言,可以理解的是可以使用不同的系统配置。例如,虽然系统500包括单独的CPU 300,但对其它实施例而言,多处理器系统(其中一个或多个处理器可以与上述CPU 300在配置和操作方面类似)可以从各种实施例的数据总线功率控制方法中获益。此外,可以将不同类型的系统或不同类型的计算机系统(例如服务器、工作站、桌面计算机系统、游戏系统、嵌入式计算机系统、刀片服务器等)用于其它的实施例。
已经公开了示范实施例,可以对已公开的实施例进行修改和变化,而依然在以下权利要求所定义的本发明的实施例的范围之内。
权利要求
1.一种总线代理,包括读取从请求代理发出的对数据的事务处理请求的控制器,所述控制器响应所述请求而导致数据总线功率控制信号的声明,所述数据总线功率控制信号在所述请求代理接收所述数据之前启用所述请求代理的一组输入数据读出放大器。
2.如权利要求1所述的总线代理,其中所述控制器导致所述数据总线功率控制信号的取消声明以禁用所述这组输入数据读出放大器,基于数据传送的完成,所述控制器导致取消声明。
3.如权利要求1所述的总线代理,其中所述控制器导致所述数据总线功率控制信号的取消声明以禁用所述这组输入数据读出放大器,基于数据传送的完成并且如果在预定的时钟周期内没有安排数据发送到所述请求代理,所述控制器导致取消声明。
4.如权利要求1所述的总线代理,其中所述控制器确定与所述请求相关的数据递交周期,所述控制器在所述数据递交周期之前预定的时钟数导致所述数据总线功率控制信号的声明。
5.如权利要求1所述的总线代理,其中所述总线代理是芯片组。
6.如权利要求1所述的总线代理,其中所述总线代理是存储控制器。
7.如权利要求1所述的总线代理,其中所述请求代理是处理器。
8.如权利要求1所述的总线代理,其中所述控制器确定与所述请求相关的数据递交周期,所述控制器在所述数据递交周期之前至少两个时钟周期导致所述数据总线功率控制信号的声明。
9.一种总线代理,包括与总线的接口,所述接口导致数据总线功率控制信号的声明以响应所述总线上分离的代理请求数据,所述数据总线功率控制信号用来允许请求代理的一组输入数据读出放大器接收数据。
10.如权利要求9所述的总线代理,其中所述接口导致所述数据总线功率控制信号的取消声明以禁用所述这组输入数据读出放大器,基于数据传送的完成,所述接口导致取消声明。
11.如权利要求9所述的总线代理,其中所述接口导致所述数据总线功率控制信号的取消声明以禁用所述这组输入数据读出放大器,基于数据传送的完成并且如果在预定的时钟周期内没有安排数据发送到请求代理,所述接口导致取消声明。
12.如权利要求9所述的总线代理,其中所述总线代理确定与所述请求相关的数据递交周期,所述总线代理在所述数据递交周期之前预定数量的时钟周期导致所述数据总线功率控制信号的声明。
13.如权利要求12所述的总线代理,其中所述预定数量的时钟周期为至少两个时钟周期。
14.如权利要求9所述的总线代理,其中所述总线代理是芯片组。
15.如权利要求9所述的总线代理,其中所述总线代理是存储控制器。
16.如权利要求9所述的总线代理,其中所述请求代理是处理器。
17.一种总线代理,包括具有一组输入数据读出放大器的输入缓冲器;以及所述读出放大器耦合到数据总线功率控制信号,在所述代理接收请求的数据之前,响应所述数据总线功率控制信号的声明,使所述读出放大器启用以从外部总线接收数据。
18.如权利要求17所述的总线代理,其中所述总线代理接收完所述数据之后,响应所述数据总线功率控制信号的取消声明,使所述输入数据读出放大器禁用。
19.如权利要求17所述的总线代理,其中耦合到所述外部总线的分离的总线代理导致所述数据总线功率控制信号被声明和被取消声明。
20.如权利要求17所述的总线代理,其中所述总线代理导致对数据的请求的发出。
21.如权利要求17所述的总线代理,其中所述总线代理是处理器。
22.如权利要求17所述的总线代理,其中所述分离的总线代理是芯片组。
23.如权利要求17所述的总线代理,其中所述分离的总线代理是存储控制器。
24.如权利要求17所述的总线代理,其中在所述总线代理接收请求的数据之前至少两个时钟周期,响应所述数据总线功率控制信号的声明,使所述读出放大器启用以接收来自外部总线的数据。
25.如权利要求17所述的总线代理,其中在所述总线代理已接收数据后并且如果在预定的时钟周期内没有安排数据发送到所述总线代理,则响应所述数据总线功率控制信号的取消声明,使所述读出放大器禁用。
26.一种方法,包括读取从请求代理发出的对于数据的事务处理请求;响应所述请求,在所述请求代理接收所述数据之前,声明数据总线功率控制信号以启用所述请求代理的一组输入数据读出放大器。
27.如权利要求26所述的方法,在数据传送完成后,取消声明所述数据总线功率控制信号以禁用所述这组输入数据读出放大器。
28.如权利要求26所述的方法,在数据传送完成后并且如果在预定的时钟周期内没有安排数据发送到请求代理,则取消声明所述数据总线功率控制信号以禁用所述这组输入数据读出放大器。
29.如权利要求26所述的方法,还包括确定与所述请求相关的数据递交周期。
30.如权利要求29所述的方法,其中声明所述数据总线功率控制信号包括在所述数据递交周期之前预定数量的时钟周期声明所述数据总线功率控制信号。
31.如权利要求29所述的方法,其中声明所述数据总线功率控制信号包括在所述数据递交周期之前至少两个时钟周期声明所述数据总线功率控制信号。
32.如权利要求26所述的方法,其中所述方法由芯片组执行。
33.如权利要求26所述的方法,其中所述方法由存储控制器执行。
34.如权利要求26所述的方法,其中所述请求代理是处理器。
35.一种方法,包括发出对于数据的请求;以及响应检测到数据总线功率控制信号的声明,在接收所请求的数据之前,启用一组输入读出放大器以从外部总线接收所述数据。
36.如权利要求35所述的方法,还包括响应检测到所述数据总线功率控制信号的取消声明,禁用所述输入读出放大器。
37.如权利要求35所述的方法,还包括在接收了所述数据后,如果在预定的时钟周期内没有安排要接收的数据,则响应检测到所述数据总线功率控制信号的取消声明,禁用所述输入读出放大器。
38.如权利要求35所述的方法,还包括在接收所请求的数据之前预定数量的时钟周期,响应检测到所述数据总线功率控制信号的声明,启用所述读出放大器以便接收来自外部总线的数据。
39.如权利要求35所述的方法,还包括在接收所请求的数据之前至少两个时钟周期,响应检测到所述数据总线功率控制信号的声明,启用所述读出放大器以便接收来自外部总线的数据。
40.如权利要求35所述的方法,其中所述方法由处理器执行。
41.如权利要求35所述的方法,其中所述检测所述数据总线功率控制信号的声明包括检测由芯片组导致声明的所述数据总线功率控制信号的声明。
42.如权利要求35所述的方法,其中所述检测所述数据总线功率控制信号的声明包括检测由存储控制器导致声明的所述数据总线功率控制信号的声明。
43.一种产品,包括携带数据的机器可读承载媒体,所述数据结合模拟例程装入计算机系统存储器时,提供模型的功能性,其中包括耦合到所述总线接口的控制器,所述控制器读取从请求代理发出的对于数据的事务处理请求,所述控制器响应所述请求而导致数据总线功率控制信号的声明,在所述请求代理接收所述数据之前,所述数据总线功率控制信号启用所述请求代理的一组输入数据读出放大器。
44.如权利要求43所述的产品,其中所述控制器导致所述数据总线功率控制信号的取消声明以禁用所述这组输入数据读出放大器,基于数据传送的完成,所述控制器导致所述取消声明。
45.如权利要求43所述的产品,其中所述控制器导致所述数据总线功率控制信号的取消声明以禁用所述这组输入数据读出放大器,基于数据传送的完成并且如果在预定的时钟周期内没有安排要发送到请求代理的数据,则所述控制器导致所述取消声明。
46.如权利要求43所述的产品,其中所述控制器确定与所述请求相关的数据递交周期,在所述数据递交周期之前预定数量的时钟,所述控制器导致所述数据总线功率控制信号的声明。
47.如权利要求43所述的产品,其中所述控制器确定与所述请求相关的数据递交周期,在所述数据递交周期之前至少两个时钟周期,所述控制器导致所述数据总线功率控制信号的声明。
48.一种产品,包括携带数据的机器可读承载媒体,所述数据结合模拟例程装入计算机系统存储器时,提供模型的功能性,其中包括具有一组输入数据读出放大器的输入缓冲器;以及将所述读出放大器耦合到数据总线功率控制信号,在所述代理接收所请求的数据之前,响应所述数据总线功率控制信号的声明,使所述读出放大器启用以便接收来自外部总线的数据。
49.如权利要求48所述的产品,其中响应所述数据总线功率控制信号的取消声明,使所述输入数据读出放大器禁用。
50.如权利要求48所述的产品,其中耦合到所述外部总线的分离的总线代理导致所述数据总线功率控制信号被声明和取消声明。
51.如权利要求48所述的产品,其中在所述总线代理接收请求的数据之前至少两个时钟周期,响应所述数据总线功率控制信号的声明,使所述读出放大器启用以便接收来自外部总线的数据。
52.如权利要求48所述的产品,其中在所述总线代理已接收所述数据之后并且如果在预定的时钟周期内没有安排要发送到所述总线代理的数据,则响应所述数据总线功率控制信号的取消声明而使所述读出放大器禁用。
53.一种系统,包括芯片组,其中包括耦合到所述总线接口的控制器,所述控制器读取从请求代理发出的对于数据的事务处理请求,所述控制器响应所述请求而导致数据总线功率控制信号的声明,在所述请求代理接收所述数据之前,所述数据总线功率控制信号启用所述请求代理的一组输入数据读出放大器;以及处理器,其中包括具有一组输入数据读出放大器的输入缓冲器;以及将所述读出放大器耦合到数据总线功率控制信号,在所述代理接收请求的数据之前,响应所述数据总线功率控制信号的声明,使所述读出放大器启用以便接收来自外部总线的数据。
54.如权利要求53所述的系统,其中所述芯片组的控制器导致所述数据总线功率控制信号的取消声明以禁用所述这组输入数据读出放大器,基于数据传送的完成,所述控制器导致所述取消声明。
55.如权利要求53所述的系统,其中所述芯片组的所述控制器导致所述数据总线功率控制信号的取消声明以禁用所述这组输入数据读出放大器,基于数据传送的完成并且如果在预定的时钟周期内没有安排要发送到请求代理的数据,所述控制器导致所述取消声明。
56.如权利要求53所述的系统,其中所述芯片组的所述控制器确定与所述请求相关的数据递交周期,在所述数据递交周期之前预定数量的时钟,所述控制器导致数据总线功率控制信号的声明。
57.如权利要求53所述的系统,其中响应所述数据总线功率控制信号的取消声明,使所述处理器的所述输入数据读出放大器禁用。
58.如权利要求53所述的系统,其中在所述总线代理接收了所述数据之后并且在预定的时钟周期内没有安排要发送到所述总线代理的数据,则响应所述数据总线功率控制信号的取消声明而使所述处理器的所述输入数据读出放大器禁用。
59.如权利要求53所述的系统,其中在所述总线代理接收请求的数据之前至少两个时钟周期,响应所述数据总线功率控制信号的声明,使所述处理器的所述输入数据读出放大器启用以便接收来自外部总线的数据。
全文摘要
一种用于数据总线功率控制的方法。在事务处理的数据阶段之前,根据数据总线功率控制信号启用请求代理的数据输入读出放大器。一旦启用,数据输入读出放大器可以捕获在读事务处理的数据阶段提供的数据。相应地,一旦读事务处理的数据阶段完成,根据功率控制信号禁用该请求代理的数据输入读出放大器。
文档编号G06F13/40GK1723429SQ200380105309
公开日2006年1月18日 申请日期2003年11月10日 优先权日2002年12月11日
发明者T·库尔茨, D·奥伦斯坦, M·于菲 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1