CN101192094A - 在工程总线中降低噪声和节省总线切换功率的系统和方法 - Google Patents
在工程总线中降低噪声和节省总线切换功率的系统和方法 Download PDFInfo
- Publication number
- CN101192094A CN101192094A CNA2007101694096A CN200710169409A CN101192094A CN 101192094 A CN101192094 A CN 101192094A CN A2007101694096 A CNA2007101694096 A CN A2007101694096A CN 200710169409 A CN200710169409 A CN 200710169409A CN 101192094 A CN101192094 A CN 101192094A
- Authority
- CN
- China
- Prior art keywords
- bus
- speed cache
- data
- request
- speed
- 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.)
- Pending
Links
Images
Classifications
-
- 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
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明提供了一种用于节省总线切换功率和降低噪声的计算机实现的方法、总线切换系统以及计算机可用程序代码。通过第一高速缓存接收来自请求者的对数据的请求。对关于所述数据是否存储在所述第一高速缓存上进行确定。响应于确定所述数据存储在所述第一高速缓存上,在多条总线中标识出要在其上返回所述数据的总线以形成标识总线。在所述标识总线上将所述数据发送给所述请求者。启动源自所述第一高速缓存的其余多条总线上的逻辑状态,以便节省总线切换功率和降低噪声。
Description
技术领域
本发明一般涉及工程总线(engineered bus)。更具体地,本发明总体涉及一种在工程总线中降低噪声和节省总线切换功率(switching power)的方法。
背景技术
现今,多处理器用于以更低的成本提供更好的性能。许多市售的多处理器系统是基于共享存储器和共享总线体系结构的。由于它们是单处理器总线系统的扩展,这些多处理器系统具有相对简明的实现。多处理器系统在整体上的共享存储器和相容性机制给出了非常类似于单处理器上的协作过程的系统的程序设计模型。
共享总线多处理器的一个局限是总线的带宽,其限制了可以连接至相同的存储器的处理器的数目,并且因而限制了系统的性能。对总线带宽问题的一种解决方案是增加总线的速度,由于技术限制这不一定容易。对总线带宽问题的另一种解决方案是使用更多的线来连接至存储器,诸如宽总线(wide bus)或多总线。对于给定的技术来说,越多的线提供越多的带宽,但是由于诸如高速缓存、代码共享和系统复杂度这样的因素,就连接这些线的最佳方式而言解决方案并不明显。
多总线实现起来更复杂,但是由于到存储器的多条路径以及用于控制和寻址的更多的线,多总线降低了竞争(contention)。宽总线构建起来更简单,但它们仅提供一条到存储器的路径。宽总线可以是超过64比特宽的任何总线。每当总线切换的时候,不管总线上的数据是被使用或是被丢弃,实现长的宽总线的处理器芯片都消耗功率并且降低噪声。长的宽总线是运行了诸如6mm的特别长的距离并且超过64比特宽的总线。为了节省功率和降低噪声,总线需要避免来回切换,而相反要保持在已知的逻辑状态。
发明内容
不同的说明性实施例提供了一种用于节省总线切换功率和降低噪声的计算机实现的方法、总线切换系统以及计算机可用程序代码。说明性实施例在第一高速缓存处接收来自请求者的对数据的请求。说明性实施例确定所述数据是否存储在所述第一高速缓存上。说明性实施例响应于确定所述数据存储在所述第一高速缓存上,在多条总线中标识出要在其上返回所述数据的总线以形成标识总线。说明性实施例在所述标识总线上将所述数据发送给所述请求者。说明性实施例启动源自所述第一高速缓存的其余多条总线上的逻辑状态,以便节省总线切换功率和降低噪声。
附图说明
在所附权利要求中阐述了被认为是本发明的特性的新颖特征。然而,当结合附图阅读的时候,通过参照以下对说明性实施例的详细描述将最好地理解本发明本身以及使用的优选模式、进一步的目的及其优点,在附图中:
图1示出了在其中可以实现说明性实施例的数据处理系统的示意图;
图2描绘了在其中可以实现说明性实施例的数据处理系统的框图;
图3依照说明性实施例描绘了其中可以实现总线切换机制的示例性数据处理系统;
图4依照说明性实施例描绘了用于实现已知的逻辑状态的控制电路;以及
图5依照说明性实施例描绘了总线切换机制的示例性操作。
具体实施方式
说明性实施例提供用于在工程总线中降低噪声和节省总线切换功率。现参照附图,并且特别参照图1,示出了在其中可以实现说明性实施例的数据处理系统的示意图。计算机100包括系统单元102、视频显示终端104、键盘106、存储设备108,其可以包括软盘驱动器以及其它类型的永久和可装卸存储介质,以及鼠标110。随个人计算机100可以包括附加输入设备。附加输入设备的例子包括操纵杆、触摸板、触摸屏、跟踪球、扩音器等。
计算机100可以是任何合适的计算机,诸如IBMeServerTM计算机或IntelliStation计算机,其是位于纽约Armonk的国际商业机器公司的产品。尽管所描绘的示意图示出了个人计算机,然而在其它类型的数据处理系统中也可以实现其它的实施例。例如,在网络计算机中可以实现其它的实施例。计算机100还优选地包括图形用户界面(GUI),其可以通过在计算机100内操作的计算机可读介质中所驻留的系统软件来实现。
接下来,图2描绘了在其中可以实现说明性实施例的数据处理系统的框图。数据处理系统200是诸如图1中的计算机100的计算机的例子,实现说明性实施例的过程的代码或指令可以位于其中。
在所描绘的例子中,数据处理系统200采用集线器体系结构,其包括北桥和存储控制器集线器(MCH)202以及南桥和输入/输出(I/O)控制器集线器(ICH)204。处理单元206、主存储器208和图形处理器210耦合于北桥和存储控制器集线器202。处理单元206可以含有一个或多个处理器,并且甚至可以使用一个或多个多机种处理器系统来实现。例如,图形处理器210可以通过加速图形端口(AGP)耦合于MCH。
在所描述的例子中,局域网(LAN)适配器212耦合于南桥和I/O控制器集线器204、音频适配器216、键盘和鼠标适配器220、调制解调器222、只读存储器(ROM)224、通用串行总线(USB)端口和其它通信端口232。PCI/PCIe设备234通过总线238耦合于南桥和I/O控制器集线器204。硬磁盘驱动器(HDD)226和CD-ROM驱动器230通过总线240耦合于南桥和I/O控制器集线器204。
PCI/PCIe设备可以包括,例如,以太网适配器、附加卡(add-in cards)以及用于笔记本计算机的PC卡。PCI使用卡式总线控制器,而PCIe并不使用。ROM 224可以是,例如,闪速二进制输入/输出系统(BIOS)。硬磁盘驱动器226和CD-ROM驱动器230可以使用,例如,集成驱动器电子电路(IDE)或串行高级技术配件(SATA)接口。超级I/O(SIO)设备236可以耦合于南桥和I/O控制器集线器204。
操作系统运行在处理单元206上。该操作系统协调和控制图2中的数据处理系统200内的各种组件。操作系统可以是市售的操作系统,诸如MicrosoftWindows XP。(Microsoft和Windows XP是微软公司在美国、其它国家或二者的商标)。诸如JavaTM编程系统的面向对象的编程系统,可以结合操作系统运行并且从在数据处理系统200上执行的JavaTM程序或应用向操作系统提供调用。JavaTM和所有基于Java的商标都是太阳微系统(Sun Microsystem)公司在美国、其它国家或二者的商标。
用于操作系统的指令、面向对象的编程系统,以及应用或程序位于诸如硬磁盘驱动器226的存储设备上。可以将这些指令加载到主存储器208以便由处理单元206执行。可以使用计算机实现的指令通过处理单元206来实现说明性实施例的过程,该计算机实现的指令可以位于存储器中。存储器的例子是主存储器208、只读存储器224,或者在一个或多个外围设备中。
图1和图2中所示的硬件可以根据所说明的实施例的实现而变化。除了图1和图2中所描述的硬件之外,或者代替图1和图2中所描述硬件,可以使用诸如闪存、等效非易失性存储器或光盘驱动器等的其它内部硬件或外围设备。另外,可以将说明性实施例的过程应用于多处理器数据处理系统。
图2中所示出的系统和组件可以不同于所示出的说明性例子。在一些说明性例子中,数据处理系统200可以是个人数字助理(PDA)。通常为个人数字助理配置闪存以提供非易失性存储器,用于存储操作系统文件和/或用户生成的数据。另外,数据处理系统200可以是平板计算机、膝上型计算机或电话设备。
图2中所示出的其它组件可以不同于所示出的说明性例子。例如,总线系统可以包括一条或多条总线,诸如系统总线、I/O总线和PCI总线。当然,可以使用在依附于构造或体系结构的不同组件或设备之间提供数据传送的任何合适类型的通信构造或体系结构来实现总线系统。另外,通信单元可以包括用于发送和接收数据的一个或多个设备,诸如调制解调器或网络适配器。此外,存储器可以是,例如,主存储器208或者诸如在北桥和存储控制器集线器202中找到的高速缓存。同样,处理单元可以包括一个或多个处理器或CPU。
图1和图2中所描述的例子并不意在暗示体系结构限制。此外,说明性实施例提供了计算机实现的方法、装置,以及用于编译源代码和用于执行代码的计算机可用程序代码。关于所描述的实施例,可以在诸如图1中所示的数据处理系统100或图2中所示的数据处理系统200这样的数据处理系统中实现所描述的方法。
说明性实施例规定维持未用总线上的逻辑状态以节省功率和降低噪声(其由于来回切换总线会流失)。当高速缓存接收到发送该高速缓存已存储的数据的请求时,该高速缓存在一条总线上将数据发送回给请求者,并且使任何未用总线保持在已知的逻辑状态,以便功率不会被使用并且噪声会被降低。将说明性实施例应用于64比特宽的宽总线,尽管还可以将所描述的概念应用于少于64比特或宽于64比特宽的总线。每当总线切换的时候,不管总线上的数据是被使用或是被丢弃,实现长的宽总线的处理器芯片都消耗功率和降低噪声。长的宽总线是运行了诸如6mm的特别长的距离并且超过64比特宽的总线,尽管还可以将所描述的概念应用于更短的总线,然而,除了获益功率和降低的噪声之外,节省会减少。为了节省功率和降低噪声,总线需要避免来回切换,而相反要保持在已知的逻辑状态。
图3依照说明性实施例描绘了其中可以实现总线切换机制的示例性数据处理系统。数据处理系统300示出了用于节省功率和降低噪声并且可以在诸如图2的数据处理系统200这样的数据处理系统中实现的组件。数据处理系统300包括处理单元,该处理单元含有处理器核302、304、306和308。这些核可以在诸如图2的处理单元206这样的处理单元中找到。虽然数据处理系统300仅示出了四个处理器核,但是可以在数据处理系统300的处理单元中包括任何数目的处理器核。数据处理系统300还包括两个或更多级别的高速缓冲存储器,第1级高速缓存310、312、314和316以及第2级高速缓存318、320、322和324。可以将这些级别的高速缓存包括在北桥和存储控制器集线器(诸如图2的北桥和存储控制器集线器202)中。
第1级高速缓存310、312、314和316可以是包括了例如像64千字节这样的小存储量的快速存储芯片。通常,第1级高速缓存310、312、314和316有时被称为“初级高速缓存”。第1级高速缓存310、312、314和316位于处理器核302、304、306和308与第2级高速缓存318、320、322和324之间。取决于实现,可以将第1级高速缓存310、312、314和316集成在与处理器核302、304、306和308相同的集成电路上。相比于第2级高速缓存318、320、322和324,第1级高速缓存310、312、314和316由于其更快的访问速度也更昂贵。
第2级高速缓存318、320、322和324(二级高速缓存)有时比第1级高速缓存310、312、314和316更大并且更慢。第2级高速缓存318、320、322和324通常位于第1级高速缓存310、312、314和316与主存储器326之间。不同于第1级高速缓存310、312、314和316,如关于说明性实施例所描述的,第2级高速缓存318、320、322和324可以在处理器核302、304、306和308的集成电路的内部或外部。相比于第1级高速缓存310、312、314和316,第2级高速缓存318、320、322和324由于其更慢的访问速度生产起来也更便宜。虽然说明性实施例说明了第1级高速缓存310、312、314和316以及第2级高速缓存318、320、322和324,还可以在数据处理系统300中包括其它级别的高速缓存,诸如第3级高速缓存。第2级高速缓存318、320、322和324中的每一个均通过分别为258比特宽的总线328而连接至第1级高速缓存310、312、314和316中其相应的一个。另外,第2级高速缓存318、320、322和324通过总线330、332、334、336、338和340彼此连接。
当通过处理核(例如处理核302)进行数据请求的时候,首先进行检查以确定数据是否在与处理器核302关联的第1级高速缓存310中。如果所请求的数据不在第1级高速缓存310中,则第1级高速缓存310向与第1级高速缓存310关联的第2级高速缓存318发送请求。第2级高速缓存318接收请求并且确定所请求的数据是否包含在第2级高速缓存318内。如果第2级高速缓存318不含所请求的数据,则第2级高速缓存318通过总线330、332和334向其它的第2级高速缓存320、322和324发送请求。
在说明性实施例中,总线活动在正提供所请求的数据的高速缓存源处受限。继续上面的例子,如果在第2级高速缓存322中找到了所请求的数据,则第2级高速缓存322将通过总线332到达第2级高速缓存318并且到第1级高速缓存310上,利用所请求的数据来响应第1级高速缓存310。与此同时,第2级高速缓存322将正常地切断(toggle off)到第2级高速缓存320和324的总线336和340连接。切断没有用于返回所请求的数据的总线使用了功率。
为了节省功率,要避免各条总线330、332、336、338和340的来回切换。因而,就以上例子而言,将总线336和340保持在已知的逻辑状态,而不是切断总线336和340。逻辑状态可以与最后一次使用该数据时的状态相同,可以被重置以便所有比特为“0”,或者可以是“0”和“1”的已知组合。对于根据需要的无论多少循环,均可以将总线336和340保持在该逻辑状态,直到总线330、332、336、338和340准备好被再次使用,例如正在被新的数据盖写(overwrite)。
逻辑状态由提供所请求的数据的第2级高速缓存318、320、322或324之一实现,在该例中是第2级高速缓存322。第2级高速缓存318、320、322和324中的每一个均具有控制电路342、344、346或348,其向并不返回所请求的数据的总线330、332、336、338或340提供逻辑状态。总线330、332、336、338和340中的每一条未用总线均是258比特宽,并且被如下细分成组块(chunk):<0∶22><23∶45><46∶68><69∶91><92∶114><115∶128,9′b0><129∶151><152∶174><175∶197><198∶220><221∶243><244∶257,9′b0>。每个组块均是23比特宽。对于每个23比特的组块来说,控制电路342、344、346和348在待用状态(inactive state)期间将最初的12个连续比特设置为“0”,并且将其余的11个连续比特设置成“1”。
图4依照说明性实施例描绘了用于实现已知的逻辑状态的控制电路。控制电路400在工程总线解决方案中的第一缓冲器之前使用逻辑AND(与)和OR(或)门。控制电路400是诸如图3的控制电路342、344、346和348的控制电路。断电(powerdown)控制信号powerdown_0 402和powerdown_1 404可以来自两个源。如果希望越权(override),这两个源可以是,例如,第2级高速缓存本身或第2级高速缓存外部的控制器。如果两个源中的任何一个起动了断电控制信号,则总线被设置为<12′h0,11′h3ff>,直到断电控制信号无效。当powerdown_0 402和powerdown_1404中的任何一个有效时,产生两个信号:powerdown_a信号406和powerdown_b信号408。powerdown_b信号408是powerdown_a信号406的取反。powerdown_b信号408是随data_in信号412的最初12个比特(0∶11)一起到达AND门410的输入。AND门410产生12个连续的“0”比特。powerdown_a信号406是随data_in信号412的其余11个比特(12∶22)一起到达OR门414的输入。OR门414产生11个连续的“1”比特。并不是以依次交错“0”和“1”这样的方式来完成将近似半数的比特设置为“0”以及另外半数的比特设置为“1”。在设置总线期间,由于不需要的密勒耦合(Miller coupling),这会消耗功率。相反,将相连的比特设置为“0”到“1”,以便在设置期间在邻近处看不到密勒耦合,除了在比特位置12和13处之外,但比特12和13是这样的,即已经存在分离它们的功率格栅(power grid)。如果将“0”和“1”分布成这样,即在断电状态下,总线看起来会像01010...01,那么在两个邻近的“0”之间强迫是“1”,反之亦然。因而,将“1”写到线上,而对两个邻近的相邻线写相反的极性。密勒耦合是当总线的邻近比特被在相反的方向上切换时出现的动态耦合。通过选择性地将断电总线中的比特设置为“1”或“0”的相连组块,由于跨越大部分的比特而消除了密勒耦合,两个邻近的相邻比特在与比特本身相同的方向上被切换。
在说明性实施例中,当将比特<11>设置为“0”、比特<12>设置为“1”,以及比特<13>设置为“1”的时候,切换条件发生在比特<12>处。因而,比特<11∶13>等于“011”。在比特<11>与比特<12>之间的密勒耦合并不是问题,因为Vdd/Gnd功率总线被交错于23比特的总线之间,并且在比特<11>与比特<12>之间中运行有静态Vdd线路。因此,在对总线断电时,消除了整个总线的密勒耦合。
图5依照说明性实施例描绘了总线切换机制的示例性操作。该切换机制可以由控制电路和高速缓存(例如图4的控制电路400以及包含在图3的第2级高速缓存318、320、322或324中的控制电路342、344、346和348)来实现。当操作开始时,由高速缓存接收对数据的请求(步骤502)。高速缓存确定所请求的数据存储在该高速缓存中(步骤504)。如果在步骤504处,数据并未存储在高速缓存中,则高速缓存确定该请求是否接收自更高级别的高速缓存或处理器(步骤506)。如果在步骤506处该请求是接收自比该高速缓存更高的层次级别中的高速缓存或处理器,则该高速缓存将请求转发至与接收高速缓存相同的层次中的任何其它的高速缓存(步骤508),并且此后操作终止。如果在步骤506处,该请求源自接收高速缓存(receiving cache)自身的层次级别上的高速缓存,则操作终止。从接收高速缓存自身的层次级别上的高速缓存接收请求指示:已经将该请求发送至相同的层次级别上的其它高速缓存。
返回步骤504,如果数据存储在高速缓存中,则该高速缓存使用包含在该请求中的信息来标识出高速缓存应当在其上返回所请求的数据的总线(步骤510)。高速缓存然后实现两个功能。首先,高速缓存在所标识的总线上将所请求的数据发送给请求者(步骤512)。其次,高速缓存启动其余总线上的逻辑状态(步骤514),以便不来回切换其它的总线。启动其它总线上的逻辑状态可以包括启动其它总线上已知的逻辑状态,例如图4中所描述的逻辑状态,从而使得不会由于来回切换其它总线而使用功率。在高速缓存已经发送所请求的数据并且启动了逻辑状态之后,高速缓存确定是否已经接收到对数据的新的请求(步骤516)。如果在步骤516处还未接收到新的请求,则高速缓存维持当前的总线状态(步骤518)并且等待将要通过返回步骤516的操作来接收的新的请求。如果在步骤516处接收了对数据的新的请求,那么操作返回步骤504。
因而,说明性实施例提供用于在工程总线上降低噪声和节省总线切换功率。在高速缓存处接收来自请求者的对存储在该高速缓存上的数据的请求。高速缓存确定数据是否存储在该高速缓存上。响应于确定数据存储在该高速缓存上,高速缓存标识出要在其上返回数据的总线。高速缓存在所标识的总线上将数据发送给请求者并且启动其余总线上的逻辑状态,以便节省切换功率。
本发明可以采取全硬件实施例、全软件实施例或者既含有硬件元素又含有软件元素的实施例的形式。在优选的实施例中,以软件实现本发明,其包括但不限于固件、常驻软件、微码等。
此外,本发明可以采取可访问于计算机可用或计算机可读介质的计算机程序产品的形式,该计算机可用或计算机可读介质提供由计算机或任何指令执行系统使用的或者与计算机或任何指令执行系统结合使用的程序代码。对于本说明书来说,计算机可用或计算机可读介质可以是能够容纳、存储、通信、传播或传送由指令执行系统、装置或设备使用的或者与指令执行系统、装置或设备结合使用的程序的任何有形装置。
介质可以是电子、磁性、光学、电磁、红外或半导体系统(或装置或设备)或者传播介质。计算机可读介质的例子包括半导体或固态存储器、磁带、可装卸计算机磁盘、随机访问存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。光盘的当前的例子包括只读光盘存储器(CD-ROM)、读/写光盘(CD-R/W)和DVD。
适于存储和/或执行程序代码的数据处理系统可以包括通过系统总线直接地或间接地耦合于存储元件的至少一个处理器。存储元件可以包括在程序代码的实际执行期间所采用的局部存储器、大容量存储器,以及为了减少在执行期间必须从大容量存储器检索代码的次数而提供对至少一些程序代码的临时存储的高速缓冲存储器。
输入/输出或I/O设备(包括但不限于键盘、显示器、指点设备等)可以直接地或者通过插入I/O控制器耦合于系统。
网络适配器也可以耦合于系统,从而使得数据处理系统能够适于通过介入专用或公用网络耦合于其它的数据处理系统或远程打印机或存储设备。调制解调器、电缆调制解调器和以太网卡正是几种当前可用类型的网络适配器。
已经出于说明和描述的目的给出了对本发明的描述,且并不旨在以所公开的形式穷举或限制本发明。对本领域的普通技术人员来说,很多修改和变形是显而易见的。选择和描述实施例是为了最好地解释本发明的原理、实际应用,以及使本领域的普通技术人员能够针对适于预期的特定用途的各种实施例以及各种修改来理解本发明。
Claims (13)
1.一种用于节省总线切换功率和降低噪声的计算机实现的方法,所述计算机实现的方法包括:
在第一高速缓存处接收来自请求者的对数据的请求;
确定所述数据是否存储在所述第一高速缓存上;
响应于确定所述数据存储在所述第一高速缓存上,在多条总线中标识出要在其上返回所述数据的总线以形成标识总线;
在所述标识总线上将所述数据发送给所述请求者;以及
启动源自所述第一高速缓存的其余多条总线上的逻辑状态,以便节省总线切换功率和降低噪声。
2.根据权利要求1的计算机实现的方法,其进一步包括:
确定是否已经在所述第一高速缓存处接收到对所述数据的新的请求;以及
响应于没有接收到所述新的请求,维持所述其余多条总线上的逻辑状态。
3.根据权利要求1的计算机实现的方法,其进一步包括:
响应于在所述第一高速缓存上没有找到所述数据,确定所述请求是否来自较高层次级别中的请求者;以及
响应于所述请求来自所述较高层次级别中的请求者,将所述请求发送至与所述第一高速缓存相同的层次级别中的多个高速缓存。
4.根据权利要求3的计算机实现的方法,其进一步包括:
在所述多个高速缓存中的第二高速缓存处接收所述请求;
确定所述数据是否存储在所述第二高速缓存上;
响应于确定所述数据存储在所述第二高速缓存上,在所述多条总线中标识出在其上接收到所述请求的总线以形成请求总线;
在所述请求总线上将所述数据发送给所述请求者;以及
启动源自所述第二高速缓存的其余多条总线上的逻辑状态,以便节省所述总线切换功率和降低所述噪声。
5.根据权利要求1的计算机实现的方法,其中所述多条总线是258比特的总线。
6.根据权利要求1的计算机实现的方法,其中从所述第一高速缓存中的控制电路启动所述逻辑状态。
7.根据权利要求1的计算机实现的方法,其中所述请求者是处理器或另一较高级别高速缓存中的至少一个。
8.一种总线切换系统,其包括:
总线系统;
连接至所述总线系统的多个高速缓存,以及
在所述多个高速缓存中的控制电路,其中所述多个高速缓存中的第一高速缓存接收来自请求者的对数据的请求;确定所述数据是否存储在所述第一高速缓存上;响应于确定所述数据存储在所述第一高速缓存上,在所述总线系统中标识出要在其上返回所述数据的总线以形成标识总线;在所述标识总线上将所述数据发送给所述请求者;以及使用所述控制电路启动所述总线系统中源自所述第一高速缓存的其余总线上的逻辑状态,以便节省总线切换功率和降低噪声。
9.根据权利要求8的总线切换系统,其进一步包括:
所述第一高速缓存确定是否已经接收到对所述数据的新的请求;以及响应于没有接收到所述新的请求,维持所述总线系统中其余总线上的逻辑状态。
10.根据权利要求8的总线切换系统,其进一步包括:
所述第一高速缓存响应于在所述第一高速缓存上没有找到所述数据,确定所述请求是否来自较高层次级别中的请求者;以及响应于所述请求来自所述较高层次级别中的请求者,将所述请求发送至与所述第一高速缓存相同的层次级别中的多个高速缓存。
11.根据权利要求10的总线切换系统,其进一步包括:
在所述多个高速缓存中的第二高速缓存,其接收所述请求;确定所述数据是否存储在所述第二高速缓存上;响应于确定所述数据存储在所述第二高速缓存上,在所述总线系统中标识出在其上接收到所述请求的总线以形成请求总线;在所述请求总线上将所述数据发送给所述请求者;以及使用所述控制电路启动所述总线系统中源自所述第二高速缓存的其余总线上的逻辑状态,以便节省所述总线切换功率和降低所述噪声。
12.根据权利要求8的总线切换系统,其中所述总线系统中的总线是258比特的总线。
13.根据权利要求8的总线切换系统,其中所述请求者是处理器或另一较高级别高速缓存中的至少一个。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/564,563 | 2006-11-29 | ||
US11/564,563 US8495272B2 (en) | 2006-11-29 | 2006-11-29 | Method to save bus switching power and reduce noise in an engineered bus |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101192094A true CN101192094A (zh) | 2008-06-04 |
Family
ID=39494248
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007101694096A Pending CN101192094A (zh) | 2006-11-29 | 2007-11-13 | 在工程总线中降低噪声和节省总线切换功率的系统和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8495272B2 (zh) |
JP (1) | JP5208479B2 (zh) |
CN (1) | CN101192094A (zh) |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63180153A (ja) * | 1987-01-21 | 1988-07-25 | Hitachi Ltd | キヤツシユ記憶のラインバツク制御方式 |
US5454093A (en) * | 1991-02-25 | 1995-09-26 | International Business Machines Corporation | Buffer bypass for quick data access |
US5625793A (en) * | 1991-04-15 | 1997-04-29 | International Business Machines Corporation | Automatic cache bypass for instructions exhibiting poor cache hit ratio |
US5392407A (en) | 1992-12-24 | 1995-02-21 | Ncr Corporation | Multi-port processor with peripheral component interconnect port and rambus port |
US5528764A (en) * | 1992-12-24 | 1996-06-18 | Ncr Corporation | Bus system with cache snooping signals having a turnaround time between agents driving the bus for keeping the bus from floating for an extended period |
JP3027843B2 (ja) * | 1993-04-23 | 2000-04-04 | 株式会社日立製作所 | バススヌ−プ方法 |
EP0624844A2 (en) * | 1993-05-11 | 1994-11-17 | International Business Machines Corporation | Fully integrated cache architecture |
US5835934A (en) * | 1993-10-12 | 1998-11-10 | Texas Instruments Incorporated | Method and apparatus of low power cache operation with a tag hit enablement |
US6320778B1 (en) * | 1994-01-06 | 2001-11-20 | Oki Electric Industry Co., Ltd. | Semiconductor memory with built-in cache |
US6098150A (en) * | 1995-11-17 | 2000-08-01 | Sun Microsystems, Inc. | Method and apparatus for fetching information from a cache memory |
US6021480A (en) * | 1996-06-05 | 2000-02-01 | Compaq Computer Corporation | Aligning a memory read request with a cache line boundary when the request is for data beginning at a location in the middle of the cache line |
US5802323A (en) * | 1996-06-14 | 1998-09-01 | Advanced Micro Devices, Inc. | Transparent burst access to data having a portion residing in cache and a portion residing in memory |
EP1005675B1 (en) * | 1996-07-16 | 2007-01-03 | Advanced Micro Devices, Inc. | A data memory unit configured to store data in one clock cycle and method for operating same |
US5895487A (en) * | 1996-11-13 | 1999-04-20 | International Business Machines Corporation | Integrated processing and L2 DRAM cache |
JPH10254779A (ja) | 1997-03-14 | 1998-09-25 | Toshiba Corp | 分散キャッシュシステム |
US6035392A (en) * | 1998-02-20 | 2000-03-07 | International Business Machines Corporation | Computer with optimizing hardware for conditional hedge fetching into cache storage |
US6353874B1 (en) * | 2000-03-17 | 2002-03-05 | Ati International Srl | Method and apparatus for controlling and caching memory read operations in a processing system |
US6651142B1 (en) * | 2000-05-05 | 2003-11-18 | Sagent Technology | Method and apparatus for processing data using multi-tier caching |
US6725341B1 (en) * | 2000-06-28 | 2004-04-20 | Intel Corporation | Cache line pre-load and pre-own based on cache coherence speculation |
US6922756B2 (en) * | 2002-12-19 | 2005-07-26 | Intel Corporation | Forward state for use in cache coherency in a multiprocessor system |
US7330940B2 (en) * | 2005-02-02 | 2008-02-12 | Hewlett-Packard Development Company, L.P. | Method and system for cache utilization by limiting prefetch requests |
US8135972B2 (en) * | 2009-03-10 | 2012-03-13 | Cortina Systems, Inc. | Data interface power consumption control |
-
2006
- 2006-11-29 US US11/564,563 patent/US8495272B2/en not_active Expired - Fee Related
-
2007
- 2007-10-30 JP JP2007281311A patent/JP5208479B2/ja not_active Expired - Fee Related
- 2007-11-13 CN CNA2007101694096A patent/CN101192094A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US8495272B2 (en) | 2013-07-23 |
US20080126666A1 (en) | 2008-05-29 |
JP5208479B2 (ja) | 2013-06-12 |
JP2008140379A (ja) | 2008-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5036493A (en) | System and method for reducing power usage by multiple memory modules | |
US7529955B2 (en) | Dynamic bus parking | |
KR100620258B1 (ko) | 멀티-웨이 캐시 장치 및 방법 | |
JP3857661B2 (ja) | 情報処理装置、プログラム、及び記録媒体 | |
US20110029723A1 (en) | Non-Volatile Memory Based Computer Systems | |
US9697111B2 (en) | Method of managing dynamic memory reallocation and device performing the method | |
CN102279817A (zh) | 用于持久存储器的高速缓冲存储器相干性协议 | |
US5408636A (en) | System for flushing first and second caches upon detection of a write operation to write protected areas | |
CN100474269C (zh) | 用于管理高速缓存数据的方法和数据处理系统 | |
US5588128A (en) | Dynamic direction look ahead read buffer | |
US5893147A (en) | Method and apparatus for distinguishing system memory data from alternative memory data in a shared cache memory | |
CN113805791A (zh) | 由存储设备向主机传送数据重定位信息以提高系统性能 | |
US20130159624A1 (en) | Storing the most significant and the least significant bytes of characters at non-contiguous addresses | |
US6336158B1 (en) | Memory based I/O decode arrangement, and system and method using the same | |
TWI749903B (zh) | 快閃記憶體控制器、記憶體裝置以及存取快閃記憶體模組之方法 | |
EP0377296B1 (en) | Cache coherency control when programmable option selection (POS) and memory expansion | |
US5895496A (en) | System for an method of efficiently controlling memory accesses in a multiprocessor computer system | |
CN115269199A (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
CN101192094A (zh) | 在工程总线中降低噪声和节省总线切换功率的系统和方法 | |
US20050013181A1 (en) | Assisted memory device with integrated cache | |
USRE38514E1 (en) | System for and method of efficiently controlling memory accesses in a multiprocessor computer system | |
US6546501B1 (en) | Cache memory apparatus and computer readable recording medium on which a program for controlling a cache memory is recorded | |
CN113377684A (zh) | 数据写入系统与方法 | |
US7395399B2 (en) | Control circuit to enable high data rate access to a DRAM with a plurality of areas | |
US20040008552A1 (en) | Cache memory and control method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20080604 |