欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

降低電子電路功耗的系統(tǒng)和方法

文檔序號:6412340閱讀:237來源:國知局
專利名稱:降低電子電路功耗的系統(tǒng)和方法
本專利申請和下列共同未決的美國專利申請有關(guān)Loper等人的共同未決美國專利申請序列號08/726,871、代理文檔號AA9-96-071,題目為“降低電子電路功耗的系統(tǒng)和方法”;Loper等人的共同未決美國專利申請序列號08/726,395、代理文檔號AT9-96-198、題目為“降低電子電路功耗的系統(tǒng)和方法”;Loper等人的共同未決美國專利申請序列號08/726,370、代理文檔號AT9-96-199、題目為“降低電子電路功的系統(tǒng)和方法”。
本專利申請一般地涉及電子電路,尤其涉及降低電子電路功耗的系統(tǒng)和方法。
近年來,便攜式膝上型計算機(jī)日益流行。為了提高便攜性這些膝上計算機(jī)經(jīng)常是由電池供電的。最好,在電池充電或替換之前,電池供電的膝上計算機(jī)可在電池供電下運(yùn)行持久的時間。
因此,為了在電池充電或更換電池之前延長電子電路的運(yùn)行時間,降低膝上計算機(jī)的電子電路的功耗是重要的。出于這個目的,一些以前的技術(shù)根據(jù)在規(guī)定的時間中未感測到特定類型的活動停止供電或者停止對電子電路的時鐘信號。這些以前的“定時器”技術(shù)的缺點(diǎn)在于,即使當(dāng)電子電路不執(zhí)行任何操作時,在等待定時器期滿的時間內(nèi)電子電路會不必要地消耗過多的電能。
從而,需要一種相對于以前的技術(shù)使電子電路消耗較少額外電能的方法和系統(tǒng)。
當(dāng)裝入電路在第一功率方式下運(yùn)行時,在裝入電路的每個周期內(nèi),從存儲器裝入最多N個數(shù)據(jù)位,其中N為整數(shù)并且N>1。當(dāng)裝入電路在第二功率方式下運(yùn)行時,在裝入電路的每個周期內(nèi),從存儲器裝入最多M個數(shù)據(jù)位,其中M是整數(shù)并且0<M<N。
其技術(shù)優(yōu)點(diǎn)是電子電路消耗比以前的技術(shù)要少的額外電能。
通過參考下述說明和附圖可更好地理解示范性實(shí)施方式及其優(yōu)點(diǎn),附圖是

圖1是按照該示范性實(shí)施方式的用于處理信息的處理機(jī)系統(tǒng)的方塊圖;圖2是圖1的處理機(jī)的定序器單元的方塊圖;圖3是圖2的定序器單元的指令緩沖器隊列的方塊圖;圖4概念性地說明圖2的定序器單元的排序緩沖器;圖5概念性地說明圖1的處理機(jī)的更名緩沖器;圖6是圖1的處理機(jī)的指令超高速緩存的方塊圖;以及圖7是圖6的指令超高速緩存的讀出放大電路的示意電路圖。
通過參考圖1至圖7的附圖,可更好地理解一種示范性實(shí)施方式和其優(yōu)點(diǎn)。
圖1是按照該示范性實(shí)施方式處理信息的處理機(jī)10系統(tǒng)的方塊圖。在該示范性實(shí)施方式中,處理機(jī)10是一個單集成電路超標(biāo)量微處理機(jī)。因而,如下文中進(jìn)一步所討論的那樣,處理機(jī)10包括全由集成電路構(gòu)成的各種單元、寄存器、緩沖器、存儲器以及其它部件。而且,在該示范性實(shí)施方式中,處理機(jī)10根據(jù)精簡指令系統(tǒng)計算(“RISC”)技術(shù)運(yùn)行。如圖1中所示,系統(tǒng)總線11和處理機(jī)10的總線接口單元(“BIU”)12連接。BIU12控制處理機(jī)10和系統(tǒng)總線11之間的信息傳送。
BIU12和處理機(jī)10的指令超高速緩存14及數(shù)據(jù)超高速緩存16連接。指令超高速緩存14向定序器單元18輸出指令。響應(yīng)來自指令超高速緩存14的這些指令,定序器單元18選擇性地把指令輸出到處理機(jī)10的其它執(zhí)行電路。
除定序器單元18之外,在本示范性實(shí)施方式中處理機(jī)10的執(zhí)行電路包括多個執(zhí)行單元,即,轉(zhuǎn)移單元20、定點(diǎn)單元(“FXU”)22、復(fù)定點(diǎn)單元(“CFXU”)26、裝入/存儲單元(“LSU”)28和浮點(diǎn)單元(“FPU”)30。FXU22、CFXU26和LSU28從各通用體系寄存器(“GPRs”)32和定點(diǎn)更名緩沖器34輸入它們的源操作數(shù)信息。此外,F(xiàn)XU22從進(jìn)位位(“CA”)寄存器42輸入“進(jìn)位位”。FXU22、CFXU26和LSU28把它們的運(yùn)算結(jié)果(目的地操作數(shù)信息)輸出到定點(diǎn)更名緩沖器34的選定入口上以存儲。并且,CFXU26和各專用寄存器(“SPRs”)40來往地輸入和輸出源操作數(shù)信息和目的地操作數(shù)信息。
FPU30從各浮點(diǎn)體系寄存器(“FPRs”)36以及浮點(diǎn)更名緩沖器38輸入其源操作數(shù)信息。FPU30把其運(yùn)算結(jié)果(目的地操作數(shù)信息)輸出到浮點(diǎn)更名緩沖器38的選定入口上以進(jìn)行存儲。
響應(yīng)裝入指令,LSU28從數(shù)據(jù)超高速緩存16輸入信息并復(fù)制該信息到選擇更名緩沖器34和38中的若干個。如果該信息未存儲在數(shù)據(jù)超高速緩存16中,則數(shù)據(jù)超高速緩存16從和系統(tǒng)總線11連接的系統(tǒng)存儲器39輸入該信息(通過BIU12和系統(tǒng)總線11)。而且,數(shù)據(jù)超高速緩存16能從數(shù)據(jù)超高速緩存16向和系統(tǒng)總線11連接的系統(tǒng)存儲器39輸出(通過BIU12和系統(tǒng)總線11)信息。響應(yīng)存儲指令,LSU28從GPSs32和FPRs36中選定的一個輸入信息并把該信息復(fù)制到數(shù)據(jù)超高速緩存16中。
定序器單元18往來地和GPRs32及FPRs36輸入及輸出信息。轉(zhuǎn)移單元20從定序器單元18輸入表示處理機(jī)10當(dāng)前狀態(tài)的指令和信號。響應(yīng)這些指令和信號,轉(zhuǎn)移單元20(向定序器單元18)輸出表示存儲著由處理機(jī)10執(zhí)行的指令序列的適當(dāng)存儲器地址的信號。響應(yīng)來自轉(zhuǎn)移單元20的這些信號,定序器單元18從指令超高速緩存14輸入索引指令序列。如果該指令序列中的一個或更多的指令未存儲在指令超高速緩存14中,指令超高速緩存14從和系統(tǒng)總線11連接的系統(tǒng)存儲器39中(通過BIU12和系統(tǒng)總線11)輸入這些指令。
響應(yīng)從指令超高速緩存14輸入的指令,定序器18有選擇地將這些指令調(diào)度到選擇的執(zhí)行單元20、22、26、28和30中若干個。各個執(zhí)行單元執(zhí)行特定指令族的一個或多個指令。例如,F(xiàn)XU22對源操作數(shù)執(zhí)行第一類定點(diǎn)數(shù)學(xué)運(yùn)算,諸如加法、減法、“與”操作、“或”操作及“異-或”操作。CFXU26對源操作數(shù)執(zhí)行第二類定點(diǎn)運(yùn)算,諸如定點(diǎn)乘法和除去。FPU30對源操作數(shù)執(zhí)行浮點(diǎn)運(yùn)算,如浮點(diǎn)乘法或除法。
當(dāng)信息存儲在選定的一個更名緩沖器34里時,該信息涉及著由選定的更名緩沖器所分配的指令規(guī)定的存儲位置(即GPRs32中的一個或CA寄存器42)。響應(yīng)來自定序器18的信號,存儲在選定的一個更名緩沖器34里的信息被復(fù)制到GPSs32中相關(guān)的一個通用體系寄存器(或CA寄存器42)里。定序器18導(dǎo)引這種對存儲在選定的一個更名緩沖器34里的信息的復(fù)制,以響應(yīng)“完成”生成該信息的指令的要求。這種復(fù)制被稱為“回寫”。
當(dāng)信息存儲在選定的一個更名緩沖器38里時,該信息涉及FPRs36中的一個。響應(yīng)來自定序器18里的信號,存儲在選定的一個更名緩沖器38里的信息被復(fù)制到FPRs36中的相關(guān)的一個里。定序器18導(dǎo)引這種對存儲在選定的一個更名緩沖器38里的復(fù)制,以響應(yīng)“完成”生成該信息的指令的要求。
通過同時在不同的若干個執(zhí)行單元20、22、26、28和30中處理多個指令,處理機(jī)10達(dá)到高性能。因此,每個指令是按幾個階段的序列處理,每個階段可和其它指令的多個階段并行執(zhí)行。這種技術(shù)稱為“流水線技術(shù)”。在本示范性實(shí)施方式中,一條指令通常按六個階段執(zhí)行,即取出、譯碼、調(diào)度、執(zhí)行、完成和回寫。
在取出階段,定序器單元18(從指令超高速緩存14中)選擇性地在存儲于指令序列中的一個和多個存儲器地址上輸入一個或多個指令,在上文已結(jié)合轉(zhuǎn)移單元20和定序器單元18對此做了更詳細(xì)的討論。
在譯碼階段,定序器單元18至多對兩個已取出的指令譯碼。
在調(diào)度階段,定序器單元18在為調(diào)度后的指令結(jié)果(目的地操作數(shù)信息)保留更名緩沖器入口后選擇性地把至多兩個譯碼后的指令調(diào)度給選定的(根據(jù)譯碼階段的譯碼)若干執(zhí)行單元20、22、26、28和30。在調(diào)度階段,操作數(shù)信息提供給用于調(diào)度后指令的選定的若干執(zhí)行單元。處理機(jī)10按照其編程順序調(diào)度指令。
在執(zhí)行階段,執(zhí)行單元執(zhí)行它們的調(diào)度后指令并且輸出它們的運(yùn)算結(jié)果(目的地操作數(shù)信息)以存儲到上文中已討論過的更名緩沖器34和更名緩沖器38中的選定入口處。以這種方式,處理機(jī)10能以不同于它的編程順序的次序執(zhí)行指令。
在完成階段,定序器單元18指示已“完成”一條指令。處理機(jī)10按其編程順序“完成”指令。
在回寫階段,定序器18分別引導(dǎo)從更名緩沖器34和38到GPRs32和FPRs36的信息復(fù)制。定序器單元18引導(dǎo)這種對存儲在一個選定理名緩沖器中的信息的復(fù)制。而且,在某一特定指令的回寫階段,處理機(jī)10響應(yīng)該特定指令更新其體系狀態(tài)。處理機(jī)10按其編程順序處理指令的每個“回寫”階段。在規(guī)定的情況下,處理機(jī)10有益地合并一條指令的完成階段及回寫階段。
在本示范性實(shí)施方式中,為完成指令處理的每個階段每條指令需要一個機(jī)器周期。但是,某些指令(例如由CFXU26執(zhí)行的復(fù)定點(diǎn)指令)可能需要一個以上的周期。因此,根據(jù)完成上述指令所需的不同時間,在特定指令的執(zhí)行階段和完成階段之間可能出現(xiàn)不同的延遲。
按照五種功率方式實(shí)現(xiàn)和運(yùn)行處理機(jī)10。這五種功率方式中的四種方式是“節(jié)電”的運(yùn)行方式。根據(jù)機(jī)器狀態(tài)寄存器(“MSR”)和硬件實(shí)現(xiàn)寄存器中的控制位的狀態(tài),這五種功率方式得到可選擇的啟動及禁止。這些寄存器位于SPRs40中。因此,根據(jù)CFXU26對指向SPRs40的傳送指令的執(zhí)行,這些控制位得到設(shè)定和/或清除。這五種功率方式是滿功率、微睡、小睡、深睡、以及本示范性實(shí)施方式的重要方面特殊方式。
1.滿功率方式。滿功率方式是處理機(jī)10的缺省供電方式。在滿功率方式下,對處理機(jī)10全載供電,各單元在處理機(jī)10的處理機(jī)時鐘速率下運(yùn)行。處理機(jī)10還執(zhí)行一種可選擇性地啟動和禁止的動態(tài)電源管理方式。如果使能動態(tài)電源管理方式,在不影響性能、軟件執(zhí)行或不影響外部硬件電路下,處理機(jī)10內(nèi)的空閑的各單元自動地進(jìn)入低功率狀態(tài)。
位于紐約州Hopewell Junction鎮(zhèn)的IBM公司微電子技術(shù)分部(電話是1-800-PowerPc)發(fā)布的“PowerPc 630e RISC微處理機(jī)用戶手冊”更完整地說明上述的動態(tài)電源管理方式以及滿功率、微睡、小睡和深睡供電方式,該手冊從而全部作為本文的參考文獻(xiàn)。此外,動態(tài)電源管理方式在美國專利5,420,808中得到說明,該專利全部作為本文的參考文獻(xiàn)。在本示范性實(shí)施方式中,處理機(jī)10是可從紐約州Hopewell Junction鎮(zhèn)的IBM公司微電子技術(shù)分部購得的增強(qiáng)型Power PC 603e RISC微處理機(jī)。因?yàn)樘幚頇C(jī)10實(shí)現(xiàn)特殊功率方式,所以相對于Power PC 603e RISC微處理機(jī)處理機(jī)10是增強(qiáng)的。從而,特殊功率方式是本示范性實(shí)施方式的一個重要方面。
2.微睡方式。在微睡方式下,除BIU12的總線窺探邏輯、處理機(jī)10的時基/衰減計寄存器(圖1中未示出)以及處理機(jī)10的鎖相回路(“PLL”)(圖1中未示出)之外,停用處理機(jī)10的所有單元。在微睡方式下,處理機(jī)10的PLL繼續(xù)處于滿功率狀態(tài)并且保持與系統(tǒng)總線11的外部系統(tǒng)時鐘的同步,從而只在處理機(jī)的幾個時鐘周期內(nèi)就可實(shí)現(xiàn)向滿功率方式的返回。
從微睡方式,處理機(jī)10響應(yīng)中斷線路INT斷言的外部異步中斷返回到滿功率方式,從而INT對處理機(jī)10提供一個具有邏輯1狀態(tài)的信號。而且,從微睡方式,處理機(jī)10響應(yīng)系統(tǒng)管理中斷線路SMI斷言的系統(tǒng)管理中斷返回到滿功率方式,這樣SMI對處理機(jī)10提供一個具有邏輯1狀態(tài)的信號。而且,響應(yīng)衰減計異常、硬或軟復(fù)位或者機(jī)器檢驗(yàn)輸入,處理機(jī)10從微睡方式返回到滿功率方式。
響應(yīng)相對于電壓基準(zhǔn)節(jié)點(diǎn)GND電壓供給節(jié)點(diǎn)Vdd從低電壓(例如0伏)切換到預(yù)定電壓(例如2.5伏)出現(xiàn)硬復(fù)位。應(yīng)注意,為清楚起見,圖1-6不全部顯示經(jīng)處理機(jī)10從INT、SMI、Vdd及GND到各種電路的連接。響應(yīng)軟復(fù)位處理機(jī)10從任一節(jié)電方式返回到滿功率方式,在軟復(fù)位下響應(yīng)CFXU26執(zhí)行適當(dāng)?shù)某騍PRs40的傳送指令,控制位被設(shè)定和/或清除,這些傳送指令是軟件復(fù)位指令序列中的一部分。
3.小睡方式。相對于微睡方式,通過停用BIU12的總線窺探邏輯,小睡方式進(jìn)一步減小處理機(jī)10的功耗,從而只有PLL和時基/衰減計寄存器保持滿功率狀態(tài)。響應(yīng)中斷線路INT斷言的外部異步中斷、系統(tǒng)管理中斷、衰減計異常、硬復(fù)位或軟復(fù)位以及機(jī)器檢驗(yàn)輸入,處理機(jī)10從小睡方式返回到滿功率方式。如微睡方式一樣,僅在處理機(jī)10的幾個時鐘周期內(nèi)就可實(shí)現(xiàn)從小睡方式向滿功率方式的返回。
4.深睡方式。在深睡方式下,通過停用處理機(jī)10的所有單元功耗減小到幾乎最小,在該方式后處理機(jī)10的外部邏輯信號可以停用PLL和外部系統(tǒng)時鐘。響應(yīng)重新使能PLL以及外部系統(tǒng)時鐘,并經(jīng)過適當(dāng)?shù)淖孭LL變成和外部系統(tǒng)時鐘同步的最小時間,然后接著通過中斷線路INT的斷言、系統(tǒng)管理中斷、衰減計異常、硬復(fù)位或軟復(fù)位、或者機(jī)器檢驗(yàn)輸入,處理機(jī)10從深睡方式返回到滿功率主式。
5.特殊方式。在本示范性實(shí)施方式的一個重要方面,處理機(jī)10響應(yīng)(1)硬件事件或者(2)軟件事件中的一種進(jìn)入特殊方式。在本示范性實(shí)施方式中,當(dāng)轉(zhuǎn)換器41在線路HPS(硬件事件,節(jié)能,特殊方式)上輸出具有邏輯1狀態(tài)的信號時出現(xiàn)硬件事件。相類似,當(dāng)SPRs40在線路SPS(軟件事件,節(jié)能,特殊方式)上輸出具有邏輯1狀態(tài)的信號時出現(xiàn)軟件事件。響應(yīng)CFXU26執(zhí)行指向SPRs40的一個“HID0”寄存器的一個預(yù)定位的適當(dāng)?shù)南驅(qū)S眉拇嫫鱾魉?“MTSPR”)指令,SPRs40把這種信號輸出到SPS上。
轉(zhuǎn)換器41包括對構(gòu)成處理機(jī)10的集成電路的相對溫度敏感的熱傳感器。響應(yīng)(轉(zhuǎn)換器41的)熱傳感器檢測出超出閾溫度的相對溫度,發(fā)生硬件事件(即轉(zhuǎn)換器41在HPS上輸出具有邏輯1狀態(tài)的信號)。在本示范性實(shí)施方式中,把閾溫度預(yù)選成處理機(jī)10在滿功率方式下運(yùn)行的最高安全溫度,因此,如果處理機(jī)10的溫度超過滿功率方式下運(yùn)行的處理機(jī)的最高安全溫度,則處理機(jī)10繼續(xù)在滿功率方式下運(yùn)行有可能造成損壞。有利的是,通過使處理機(jī)10響應(yīng)硬件事件進(jìn)入特殊“節(jié)電”運(yùn)行方式,可以大大避免這種損壞。
如果處理機(jī)10響應(yīng)硬件事件進(jìn)入特殊方式,處理機(jī)10減小處理機(jī)10的每個周期中取出指令的最大數(shù)量,從而如下面結(jié)合圖2和圖3進(jìn)一步討論的那樣,在處理機(jī)10的每個周期中調(diào)度較少的指令。以這種方式,各執(zhí)行單元更可能是空閑的,因此更容易有益地調(diào)用動態(tài)電流管理方式(在美國專利5,420,808中說明)的低功率狀態(tài)。另外,如果響應(yīng)硬件事件處理機(jī)10進(jìn)入特殊方式,處理機(jī)10改變LSU28的運(yùn)行,如下面結(jié)合圖5討論的那樣。
與硬件事件相比,如果處理機(jī)10響應(yīng)軟件事件進(jìn)入特殊方式,處理機(jī)10(a)如后面結(jié)合圖2和圖3進(jìn)一步討論的那樣減少處理機(jī)10單個周期中所取出的指令的最大數(shù)量,(b)如后面結(jié)合圖5進(jìn)一步討論的那樣改變LSU28的運(yùn)行,以及(c)如后面結(jié)合圖6進(jìn)一步討論的那樣通過減少指令超高速緩存14的數(shù)據(jù)超高速緩存16的“路”的數(shù)量減小它們的功耗。
響應(yīng)SPS和HPS都不具有邏輯1狀態(tài),處理機(jī)10從特殊方式返回到滿功率方式。而且,如果僅根據(jù)軟件事件(即SPS具有邏輯1狀態(tài)同時HPS具有邏輯0狀態(tài))處理機(jī)10進(jìn)入到特殊方式,則處理機(jī)10進(jìn)而響應(yīng)(1)經(jīng)過INT的斷言的外部異步中斷,或者(2)硬復(fù)位或軟復(fù)位,或者(3)機(jī)器檢驗(yàn)輸入(從特殊方式)返回到滿功率方式。在一種備擇的實(shí)施方式里,如果處理機(jī)10僅根據(jù)軟件事件進(jìn)入到特殊方式,則處理機(jī)10以后響應(yīng)經(jīng)過SMI的斷言的系統(tǒng)管理中斷(從特殊方式)返回到滿功率方式。在這樣的備擇實(shí)施方式時,處理機(jī)10將根據(jù)SMI的斷言返回到滿功率方式,其類似于處理機(jī)10根據(jù)INT的斷言返回到滿功率方式。
在再一種備擇實(shí)施方式里,處理機(jī)10還響應(yīng)衰減計異常返回到滿功率方式。SPRs40包括著用于根據(jù)處理機(jī)的時鐘信號(為簡明在圖1中未示出)遞減計數(shù)的電路。響應(yīng)該計數(shù)遞減到零值生成衰減計異常。
圖1表示單條SPS線路和指令超高速緩存14、數(shù)據(jù)超高速緩存16、定序器單元18和LSU28中的每個連接。同樣,圖1表示單條HPS線路和指令超高速緩存14、數(shù)據(jù)超高速緩存16、定序器單元18和LSU28中的每個連接。類似地,圖1表示單條INT線路和指令超高速緩存14、數(shù)據(jù)超高速緩存16、定序器單元18和LSU28中的每個連接。
圖2是定序器單元18的方塊圖。如上文中所討論的那樣,如果在取出階段處理機(jī)10(因此以及取邏輯71)在滿功率方式下運(yùn)行,則取邏輯71選擇性地向指令超高速緩存14請求最多二條指令(處理機(jī)10以及由此取邏輯的每個周期內(nèi))并且把指令存儲到指令緩沖器70里。因此,在處理機(jī)10的特定周期內(nèi),定序器18向指令超高速緩存14請求可變數(shù)量(范圍從0到2)的指令,其中該可變的數(shù)量取決于指令緩沖器70中還能存儲的附加指令數(shù)(即取決于指令緩沖器70中可使用的緩沖器數(shù)量)。
在譯碼階段,如果處理機(jī)10(由此以及譯碼邏輯72)運(yùn)行在滿功率方式下,則譯碼邏輯72從指令緩沖器70輸入并譯碼至多二條的取出指令(處理機(jī)10以及譯碼邏輯72的每個周期內(nèi))。因此,在處理機(jī)的特定周期內(nèi),譯碼邏輯72從指令緩沖器70輸入并譯碼可變數(shù)量(范圍從0到2)的指令,其中該可變數(shù)量取決于該特定周期期間調(diào)度邏輯74所調(diào)度的指令的數(shù)量。
在調(diào)度階段,如果處理機(jī)10(由此以及調(diào)度邏輯74)運(yùn)行在滿功率方式下,則調(diào)度邏輯74對選出的(根據(jù)譯碼階段的譯碼)若干個執(zhí)行單元20、22、26、28和30選擇性地調(diào)度至多二條譯碼后的指令(處理機(jī)10及調(diào)度邏輯74的每個周期內(nèi))。因此,在處理機(jī)10的特定周期內(nèi),調(diào)度邏輯74對執(zhí)行單元調(diào)度可變數(shù)量(范圍從0到2)的譯碼指令,其中該可變的數(shù)量取決于可存儲到各執(zhí)行單元以進(jìn)行執(zhí)行的附加的指令的數(shù)量(例如取決于各執(zhí)行單元可使用的保留站的數(shù)量)。
比較起來,在本示范性實(shí)施方式中,如果處理機(jī)10在特殊功率方式下運(yùn)行,則取邏輯71(根據(jù)SPS、MPS和INT的邏輯狀態(tài))在處理機(jī)10的每個周期內(nèi)向指令超高速緩存14請求至多一條指令(而不是兩條指令)并把這一條指令存儲到指令緩沖器70中。在該方式下,(a)每個處理機(jī)10的周期內(nèi)譯碼邏輯輸入并譯碼(平均)約一條來自指令緩沖器70的已取出指令,(b)調(diào)度邏輯74(平均上)對執(zhí)行單元20、22、26、28和30中選定的一個調(diào)度約為一條指令(處理機(jī)10的每個周期內(nèi)),以及(c)完成邏輯80指示(平均上)“完成”(下面進(jìn)一步討論)的一條指令(處理機(jī)10的每個周期內(nèi))。因此,(相對于滿功率方式)各執(zhí)行單元更有可能是空閑的,因此可有利地更容易調(diào)用動態(tài)供電管理方式(美國專利5,420,808中說明)的低功率狀態(tài)。
在一種備擇的實(shí)施方式中,如果處理機(jī)10運(yùn)行在特殊功率方式下,則調(diào)度邏輯(根據(jù)SPS、MPS和INT的邏輯狀態(tài))在處理機(jī)10的每個周期內(nèi)對執(zhí)行單元20、22、26、28和30中選定的一個調(diào)度至多一條指令(以代替調(diào)度兩條指令);這個備擇實(shí)施方式的這種技術(shù)替代了(但也可以補(bǔ)充)本示范性實(shí)施方式的在處理機(jī)10的單個周期內(nèi)減小取出的指令的最大數(shù)量的技術(shù)。因此,圖2顯示SPS、HPS和INT都和取邏輯71及調(diào)度邏輯74連接。
圖3是指令緩沖器70的方塊圖。指令緩沖器70把I0指令和I1指令分別存儲到調(diào)度緩沖器56的緩沖器I0和緩沖器I1中。在本示范性實(shí)施方式中,響應(yīng)處理機(jī)10的一個周期,或者I0指令單獨(dú)被調(diào)度到譯碼邏輯72(圖2),或者I0和I1指令一起被調(diào)度到譯碼邏輯72;或者I1指令單獨(dú)被調(diào)度到譯碼邏輯72。經(jīng)過線路55a、55b緩沖器I0和I1的內(nèi)容分別輸出到譯碼邏輯72。
在本示范性實(shí)施方式中,指令緩沖器70能在單個處理機(jī)10的周期內(nèi)通過64位總線50并行地從指令超高速緩存14輸入多至二個的32位的指令。響應(yīng)I0和I1指令都在向譯碼邏輯72調(diào)度,指令緩沖器70把以前存儲的任何指令從指令緩沖器54a-b分別傳送到緩沖器I0和I1。而且,在這種情況下,指令緩沖器70把以前存儲的任何指令從指令緩沖器52a-b分別傳送到指令緩沖器54a-b。并且,在這種情況下,如果處理機(jī)10運(yùn)行在滿功率方式下,指令緩沖器70經(jīng)64位總線50從指令超高速緩存14輸入最多二個32位的指令,并且把這些指令存儲到第一對可使用的(即,空的,未存儲著指令)緩沖器,即(a)緩沖器I0和I1,(b)54b和54a,(c)52b和52a的任一對中,但從緩沖器I0開始。
響應(yīng)單獨(dú)把I0指令調(diào)度到譯碼邏輯72,指令緩沖器70把以前存儲的任何指令從緩沖器I1傳送到緩沖器I0。而且,在這種情況下,指令緩沖器70把以前存儲的任何指令從指令緩沖器54a傳送到I1,從指令緩沖器54b傳送到指令緩沖器54a,從指令緩沖器52a傳送到指令緩沖器54b,和從指令緩沖器52b傳送到指令緩沖器52a。并且,在這種情況下,指令緩沖器70通過64位總線50從指令超高速緩存14輸入單個32位的指令,并把該指令存儲到第一個可使用的緩沖器中,即緩沖器I0、I1、54b、54a、52b、52a中的一個,從緩沖器I0開始。
如果處理機(jī)10在滿功率方式下運(yùn)行,則指令緩沖器70能在處理機(jī)10的單個周期內(nèi)通過64位總線50并行地從指令超高速緩存14輸入最多二條32位的指令。以這種方式,作為一個例子,因?yàn)橹噶畛咚倬彺?4是一個四路成組相聯(lián)超高速緩存,在處理機(jī)10該單個周期內(nèi)至少256個讀出放大器(64位/路×4路×1讀出放大器/位)是活動的。這些讀出放大器的激活構(gòu)成處理機(jī)10的平均功耗的一部分。
與之相比,如果處理機(jī)10運(yùn)行在特殊功率方式下,則指令緩沖器70能在處理機(jī)10的單個周期內(nèi)通過64位總線50從指令超高速緩存14輸入單個32位的指令。以這種方式,作為一個例子,在處理機(jī)10的每個周期內(nèi)指令超高速緩存14的128個讀出放大器(32位/路×4路×1,讀出放大器/位是活動的(同時停用指令超高速緩存14的另外128個讀出放大器)。有益地是,通過僅激活128個讀出放大器(在特殊方式下)以代替激活256個讀出放大器(在滿切率方式下),降低了處理機(jī)的平均功耗,因?yàn)樵谔幚頇C(jī)10的每個周期內(nèi)僅激活一半的讀出放大器。
如果處理機(jī)10響應(yīng)軟件事件進(jìn)入特殊“節(jié)電”方式可得到更多的減少,因?yàn)樵谠撉闆r下處理機(jī)10如下面結(jié)合圖6所討論的那樣減少指令超高速緩存14和數(shù)據(jù)超高速緩存16中的“路”的數(shù)量。例如,如果處理機(jī)10響應(yīng)軟件事件把指令超高速緩存14之內(nèi)的“路”數(shù)從四路減小到二路,則當(dāng)處理機(jī)10運(yùn)行在特殊功率方式下時在上述處理機(jī)10的兩個周期中的每個周期內(nèi)只激活指令超高速緩存14的64個讀出放大器(32位/路×2路×1讀出放大器/位)(同時停用指令超高速緩存14的其它192個讀出放大器。有益地是,通過僅激活64個讀出放大器(如果處理機(jī)10響應(yīng)軟件事件進(jìn)入特殊“節(jié)電”方式)而不是256個讀出放大器(在滿功率方式下),可降低處理機(jī)10的平均功耗,因?yàn)樵谔幚砥?0的每個周期內(nèi)僅激活1/4的讀出放大器。
圖4是本示范性實(shí)施方式的定序器單元18的排序緩沖器76的概念性說明。如圖4中所示,排序緩沖器76具有五個分別標(biāo)號為緩沖器號0-4的項。每個項具有五個主字段,即,“指令類型”字段、“GPR目的地號”字段、“FPR目的地號”字段、“已完成”字段和“異?!弊侄?。
再參考圖2,當(dāng)調(diào)度邏輯74把一條指令調(diào)度給一個執(zhí)行單元時,定序器單元18把該受調(diào)度的指令分配到排序緩沖器76的相關(guān)項中。定序器單元18按先進(jìn)先出的以及循環(huán)方式把排序緩沖器76的各項分配給(或“相聯(lián)系到”)受調(diào)度的指令,從而定序器單元18先分配項0,接著順序分配項1-4,然后再從項0開始。當(dāng)把受調(diào)度的指令分配到排序緩沖器76的相關(guān)項時,調(diào)度邏輯74輸出與受調(diào)度指令有關(guān)的信息,以供存儲到排序緩沖器76有關(guān)項的各字段及子段中去。
例如,在圖4的項1中,排序緩沖器76指示該指令調(diào)度到FXU22。在本示范性實(shí)施方式的其它方面上,項1還指示該受調(diào)度的指令具有一個GPR目的地寄存器(從而“GPR目的地號”=1),具有0個FPR目的寄存器(從而“FPR目的地號”=0),未結(jié)束(從而“已結(jié)束”=0),并且尚未引起異常(從而“異常”=0)。
隨著執(zhí)行單元執(zhí)行受調(diào)度的指令,該執(zhí)行單元修改排序緩沖器76中的和該指令相關(guān)的項。更具體地,響應(yīng)完成該被調(diào)度指令的執(zhí)行,該執(zhí)行單元修改該項的“已結(jié)束”字段(從而“已結(jié)束”=1)。如果在該受到調(diào)度指令的執(zhí)行過程中執(zhí)行單元遇到異常,該執(zhí)行單元修改該項的“異?!弊侄?從而“異?!保?)。
圖4顯示一個分配指針173和一個完成指針175。處理機(jī)10保持這些指針以控制對排序緩沖器76的讀和寫。處理機(jī)10保持分配指針173以指示是否把排序緩沖器的一個項分配給(或“相聯(lián)系到”)一個特定的指令。如圖4中所示,分配指針173指向排序緩沖器項3,從而表示排序緩沖器的項3是下一個可分配給一條指令的排序緩沖器的項。
而且,處理機(jī)10保持完成指針175以(為以前分配給一個特定指令的排序緩沖器的項)表示該特定的指令是否滿足下述條件條件1-(調(diào)度給該指令的)執(zhí)行單元結(jié)束該指令的執(zhí)行;條件2-在處理該指令的任何階段中未遇到異常;以及條件3-任何以前被調(diào)度的指令都滿足條件1和條件2。
如圖4中所示,完成指針175指向排序緩沖器的項1,從而表示排序緩沖器的項1是下一個能滿足條件1、2及3的排序緩沖器的項。因此,“有效的”排序緩沖器項可以定義成由完成指針175指向的排序緩沖器項以及其隨后在分配指針173指向的排序緩沖器項之前的各排序緩沖器的項。
再參照圖2,由定序器單元18完成邏輯80和異常邏輯82讀排序緩沖器76的各項。根據(jù)排序緩沖器76的“異?!弊侄危惓_壿?2處理被調(diào)度指令執(zhí)行過程中遇到的異常。根據(jù)排序緩沖器76的“已結(jié)束”字段和“異常”字段,完成邏輯80向調(diào)度邏輯70及排序緩沖器76輸出信號。通過這些信號,完成邏輯80表示按其編程順序的指令的“完成”。如果一條指令滿足下述條件,完成邏輯80指示“完成”該指令條件1-(調(diào)度給該指令的)執(zhí)行單元結(jié)束該指令的執(zhí)行(從而在排序緩沖器76中該指令的相關(guān)項里“已結(jié)束”=1);條件2-處理該指令的有關(guān)任一階段中未遇到異常(從而在排序緩沖器76中該指令的相關(guān)項里“異?!保?);以及條件3-以前調(diào)度的任何指令都滿足條件1和條件2。
根據(jù)排序緩沖器76中的信息,調(diào)度邏輯74確定其它將調(diào)度指令的適當(dāng)數(shù)量。
圖5是浮點(diǎn)更名緩沖器38的概念性說明。如圖5中所示,更名緩沖器38包括四個分別用緩沖器號0-3標(biāo)明的更名緩沖器。定序器單元18按先進(jìn)先出以及循環(huán)方式把更名緩沖器號0-3分配給(或“相聯(lián)系到”)被調(diào)度的指令,從而定序器單元18分配更名緩沖器號0,接著相繼地分配更名緩沖器號1-3,然后再從更名緩沖器號0開始。
參照圖5,更名緩沖器2分配成為由調(diào)度邏輯74調(diào)度的指令存儲目的地操作數(shù)信息(圖2)。圖5顯示一個分配指針180、一個回寫指針182以及一個完成指針184。處理機(jī)10保持這些指針以控制對更名緩沖器38的讀和寫。處理機(jī)10保持分配指針180以指示是否把一個更名緩沖器分配給一個特定的指令。如圖5中所示,分配指針180指向更名緩沖器3,從而表示更名緩沖器3是下一個可用于分配給一條指令的更名緩沖器。
處理機(jī)10還包括回寫指針182以指示(以前分配給一個特定指令的)更名緩沖器是否可重新分配給另一條指令。如圖5中所示,回寫指針182指向更名緩沖器2,從而表示更名緩沖器2是下一個處理機(jī)10將從其中把(存儲在圖5中的該更名緩沖器的“信息”字段中的)目的地操作數(shù)信息復(fù)制到(由圖5中的該更名緩沖器的“寄存器號”字段里所規(guī)定的)一個FRPs36里的更名緩沖器。
因此,響應(yīng)處理機(jī)10從該更名緩沖器復(fù)制一個特定指令的結(jié)果(目的地操作數(shù)信息)以存儲到某體系寄存器里,處理機(jī)10使回寫指針182前進(jìn)(越過以前分配給該特定指令的一個更名緩沖器)。以這種方式,在處理機(jī)10把該特定指令的結(jié)果(目的地操作數(shù)信息)復(fù)制到一個體系寄存器之前,處理機(jī)10保留一個分配的更名緩沖器以存儲該結(jié)果。
此外,處理機(jī)10保持完成指針184以(為以前分配給某一特定指令的一個更名緩沖器)指示該特定指令是否滿足下述條件條件1-(調(diào)度給該指令的)執(zhí)行單元結(jié)束該指令的執(zhí)行;條件2-處理該指令的任何有關(guān)階段中未遇到異常;以及條件3-任何以前調(diào)度的指令滿足條件1和條件2。
如圖5中所示,完成指針184指向更名緩沖器2,從而表示更名緩沖器2是下一個能滿足條件1、2、3的更名緩沖器。在本示范性實(shí)施方式中,處理機(jī)10和是否從該更名緩沖器復(fù)制該指令的結(jié)果以存儲到一個體系寄存器無關(guān)地保持完成指針184。
因此,“更名入口”可以定義成由完成指針184指向的更名緩沖器以及其后面的并在分配指針180指向的更名緩沖器之前的各更名緩沖器?!盎貙懭肟凇笨梢远x成由回寫指針182指向的更名緩沖器以及其后面的并在完成指針184指向的更名緩沖器之前的各更名緩沖器?;貙戫棿鎯χ耙淹瓿傻摹辈⑺鼈兊慕Y(jié)果尚未從更名緩沖器復(fù)制到體系寄存器的指令的結(jié)果,例如因?yàn)檫@些體系寄存器的寫端口無法得到。
在概念上,回寫項位于更名項和體系寄存器之間。如果在完成階段可以得到一個回寫端口,則使一個結(jié)果繞過回寫入口并直接寫入到體系寄存器中是有益的。此外,和更名入口類似,在一個執(zhí)行單元執(zhí)行一條規(guī)定著和信息相關(guān)的一個體系寄存器的情況下,處理機(jī)10操作回寫入口以把信息輸出到該執(zhí)行單元。
FPU30在單精度(即32位)操作數(shù)和雙精度(即64位)操作數(shù)上是全依從IEEE754標(biāo)準(zhǔn)的。因此,為了支持雙精度運(yùn)算,圖5的每個更名緩沖器的“信息”字段為64位寬。再參照圖1,如果處理機(jī)在滿功率方式下運(yùn)行,則在處理機(jī)10的單個周期(即每周期64位信息)內(nèi)LSU28(響應(yīng)其執(zhí)行朝向FPRs36的“送數(shù)”指令)把64位信息從數(shù)據(jù)超高速緩存16裝入到(更名緩沖器38中的)一個單個更名緩沖器的“信息”字段里。以這種方式,作為一種例子,因?yàn)閿?shù)據(jù)超高速緩存16是一個四向成組相聯(lián)緩存,則在該單個處理機(jī)10的周期內(nèi)至少激活數(shù)據(jù)超高速緩存16的256個讀出放大器(64位/路×4路×1讀出放大器/位)。這些讀出放大器的激勵對處理機(jī)10的平均功耗有影響。
相比之下,如果處理機(jī)10在特殊功率方式下運(yùn)行,則在處理機(jī)10的兩個周期(即每個周期32位信息)內(nèi)LSU28(響應(yīng)其執(zhí)行對FPRs36的“送數(shù)”指令)把64位信息從數(shù)據(jù)超高速緩存16裝入到(更名緩沖器38中的)單個更名緩沖器的“信息”字段里。以這種方式,作為一個例子,在處理機(jī)10的這兩個周期的每個周期內(nèi)(在停用數(shù)據(jù)超高速緩存16的其它128個讀出放大器的同時)激活數(shù)據(jù)超高速緩存16的128個讀出放大器(32位/路×4路×1讀出放大器/位)。有益的是,(在特殊方式下)只激勵128讀出放大器而不是(在滿功率方式下的)256個讀出放大器,降低了處理機(jī)10的平均功耗,因?yàn)樵谔幚頇C(jī)10的每個周期內(nèi)只激勵一半的讀出放大器。
如果根據(jù)軟件事件處理機(jī)10進(jìn)入特殊“節(jié)電”方式可取得更多的減少,因?yàn)樵谶@種情況下如下文中結(jié)合圖6進(jìn)一步討論的那樣處理機(jī)10減小指令超高速緩存14和數(shù)據(jù)超高速緩存16中的“路”的數(shù)量。例如,如果處理機(jī)10根據(jù)軟件事件把數(shù)據(jù)超高速緩存16中的“路”的數(shù)量從四路減少到二路,則當(dāng)處理機(jī)10運(yùn)行于特殊功率方式下時處理機(jī)10的上述兩個周期的每個周期內(nèi)只激勵(停用數(shù)據(jù)超高速緩存16的其它192個讀出放大器)64個讀出放大器(32位/路×2路×1讀出放大器/位)。有益地是,通過(當(dāng)處理機(jī)10根據(jù)軟件事件進(jìn)入特殊“節(jié)電”方式)只激勵64個讀出放大器來替代(在滿功率方式下)激勵256個讀出放大器,降低了處理機(jī)1的平均功耗,因?yàn)樵谔幚頇C(jī)10的每個周期內(nèi)只激勵1/4數(shù)量的讀出放大器。
圖6是指令超高速緩存14的方塊圖。圖6指令超高速緩存14同樣代表數(shù)據(jù)超高速緩存16。指令超高速緩存14和數(shù)據(jù)超高速緩存16各為一個16K字節(jié)、四路成組相聯(lián)超高速緩存。指令超高速緩存14和數(shù)據(jù)超高速緩存16根據(jù)物理(即“真實(shí)”)地址編址。
從而,圖6表示控制邏輯100,其包括一個用于把有效地址變換成相關(guān)物理地址的存儲器管理部件(“MMU”)。例如,有效地址是從定序器單元18的取邏輯71(圖2)接收的。在本示范性實(shí)施方式中,有效地址的位20至位211不變地變換成其相關(guān)的物理地址,從而有效地址的位20至位211和相關(guān)的物理地址的位20至位211具有相同的數(shù)字邏輯值。
如圖6中所示,指令超高速緩存14和數(shù)據(jù)超高速緩存16各邏輯地排列成128個相同的級(即,組)。作為一個例子,對于指令超高速緩存14,每個組在指令超高速緩存14內(nèi)具有各自的預(yù)分配好的四條相關(guān)線路群(即,四“路”,塊0-3)。每條線路能存儲各自的一個地址標(biāo)記、各自的狀態(tài)位組(例如包括一個“有效”位)以及各自的一個八個字的信息群。每個字具有4個字節(jié)(即32位)。
這樣,組0的塊8可以存儲一個地址標(biāo)記Address Tag03狀態(tài)位State03以及字W030至W037。類似地,每個組x的塊y可以存儲一個Address Tagxy、狀態(tài)位statexy以及字Wxy0至Wxy7,其中x是范圍從0到127的一個可變的整數(shù)組號,而y是范圍從0到3的一個可變的整數(shù)塊號。
一個組由物理地址的位25至位211規(guī)定。這樣,每個組包括多個地址,所有的地址共享相同的七個物理地址位25至211。從而,在任何單個時刻,指令超高速緩存14為屬于一個特定組x的最多四個物理地址存儲信息,并由存儲在指令超高速緩存14內(nèi)組x的相關(guān)四條線路群里的Address Tagx0至Address Tagx3規(guī)定。
例如,(a)在組0的塊0中,指令超高速緩存14可以存儲包括著第一地址的位212至231的Address Tag00,(b)在組0的塊1中,指令超高速緩存14可以存儲包括著第二地址的位212至位231的Address Tag01,(c)在組0的塊2中,指令超高速緩存14可以存儲包括著第三地址的位212至位231的Address Tag02,(d)在組0的塊3中,指令超高速緩存14可以存儲包括著第四地址的位212至位231的Address Tag03。這樣每個Address Tagxy具有20位。
圖7是在121處概括地表示的圖6的指令超高速緩存14的讀出放大電路的示意電路圖。讀出放大電路121是圖6的讀出放大器104、106及108a-h的一種代表性讀出放大器。從而,因?yàn)槊總€Address Tagxy具有20位,讀出放大器104包括80個實(shí)質(zhì)上各和電路121相同的讀出放大器(20個讀出放大器乘以4個塊0-3)。
類似地,因?yàn)槊總€字Wxyz(其中z是從0到7的一個整數(shù)的字號)具有32位,讀出放大器108a-h中的每個各包括128個為一組的其中每個實(shí)質(zhì)上和電路121相同的讀出放器(32個讀出放大器乘以4個塊0-3),從而讀出放大器108a-h含有總數(shù)為1024個的讀出放大器(128個讀出放大器×8個字0-7)。同樣,讀出放大器106中的讀出放大器的數(shù)量等·于4乘以每個Statexy的位數(shù),而且其中的每個讀出放大器實(shí)質(zhì)上和電路121相同。
每個20位的地址標(biāo)記Address Tagxy各包括20個為一組的動態(tài)隨機(jī)存儲(“DRAM”)單元,每個DRAM單元可存儲數(shù)字信息中的單個的位。相類似,每個32位的字Wxyz各包括32個為一組的DRAM單元,每個DRAM單元可存儲數(shù)字信息中的單個的位。同樣,每個Statexy中的DRAM單元的數(shù)量等于每個Statexy的位數(shù)。
讀出放大器104的80個讀出放大器編制成,(1)128個組中各組的代表著Address Tagx0(其中x為組號)的20個DRAM單元各和(讀出放大器104的)第一群的20個讀出放大器連接,(2)128個組中各組的代表著Address Tagx1的20個DRAM單元各和(讀出放大器104的)第二群的20個讀出放大器連接,(3)128個組中各組的代表著Address Tagx2的20個DRAM單元各和(讀出放大器104的)第三群的20個讀出放大器連接,以及(4)128個組中各組的代表著Address Tagx3的20個DRAM單元各和(讀出放大器104的)第四群的20個讀出放大器連接。
因此,讀出放大器104的每個讀出放大器和一個有關(guān)的128個DRAM單元族連接,該128個的DRAM單元族為Address Tagxy的位2q存儲數(shù)字信息,其中(a)q是一個從0到9的不變位號(即對該族的所有DRAM單元都相同),(b)x是一個從0到127的可變的(即該族的所有DRAM單元是不同的)組號,以及(c)y是一個從0到3的不變塊號。
如圖7中所示,每個讀出放大器(電路121)具有一條啟用線。參見圖6,啟用線102包括總為4條的地址標(biāo)記啟用線(即4塊×1條地址標(biāo)記啟用線/塊)。每條地址標(biāo)記啟用線從控制邏輯100連接到四群讀出放大器104中的一個有關(guān)群上,其中該有關(guān)的群和一族存儲Address Tagxy的數(shù)字信息的DRAM單元連接,其中(a)x是從0到127的變化的組號,而且(b)y是從0到3的不變的塊號。
讀出放大器108a-h的1024個讀出放大器編制成,(1)128個組中各組的代表著Wx0z的256個DRAM單元通過(讀出放大器108a-h的)第一群的256個讀出放大器分別經(jīng)總線120a和多路復(fù)用器114a連接,(2)128個組中各組的代表著Wx1z的256個DRAM單元通過(讀出放大器108a-h的)第二群的256個讀出放大器分別經(jīng)總線120b和多路復(fù)用器114b連接,(3)128個組中各組的代表著Wx2z的256個DRAM單元通過(讀出放大器108a-h的)第三群的256個讀出放大器分別經(jīng)總線120C和多路復(fù)用器114C連接,以及(4)128個組中各組的代表著Wx3z的256個DRAM單元通過(讀出放大器108a-h的)第四群的256個讀出放大器分別經(jīng)總線120d和多路復(fù)用器114d連接。
由此,(讀出放大器108a-h)的每個讀出放大器和一個有關(guān)的128個DRAM單元族連接,該128個的DRAM單元族為字Wxyz的2q存儲數(shù)字信息,其中,(a)q是一個從0到31的不變位號,(b)x是從0到127的可變的組號,(c)y是從0到3的不變的塊號,以及(d)z是從0到7的不變的字號。
啟用線102包括總共32條的字啟用線(即,4塊×8字/塊×1字啟用線/字)。每條字啟用線從控制邏輯100連接到讀出放大器108a-h的4群的一個有關(guān)子群上,該有關(guān)的子群和一個存儲著字Wxyz的數(shù)字信息的DRAM單元族連接,其中(a)x是從0到127的一個可變的組號,(b)y是從0到3的一個不變的塊號,以及(c)z是從0到7的一個不變的字號。
同樣,讀出放大器106編制成,(1)128個組中各組的代表Statex0(其中x為組號)的DRAM單元和(讀出放大器106的)第一群讀出放大器連接,(2)128個組中各組的代表Statex1的DRAM單元和(讀出放大器106的)第二群讀出放大器連接,(3)128個組中各組的代表Statex2的DRAM單元和(讀出放大器106的)第三群讀出放大器連接,(4)128個組中各組的代表Statex3的DRAM單元和(讀出放大器106的)第四群讀出放大器連接。
由此,(讀出放大器106的)各個讀出放大器和一個為Statexy的位2q存儲數(shù)字信息的有關(guān)的128個DRAM單元族連接,其中(a)q是一個不變的位號,(b)x是從0到127的一個可變的組號,以及(c)y是一個從0到3的不變的塊號。
啟用線102包括總共4條狀態(tài)啟用線(即、4塊×1狀態(tài)啟用線/塊)。每條狀態(tài)啟用線從控制邏輯100連接到讀出放大器106的四群的一個有關(guān)群,該有關(guān)群和一個用于存儲statexy的數(shù)字信息的DRAM單元族連接,其中(a)x是一個從0到127的可變的組號,并且(b)y是一個從0到3的不變的塊號。
請參見圖7,每個讀出放大器(電路121)從其128個相聯(lián)的DRAM單元中的一個單元經(jīng)線D和線D輸入不同的電壓,其中該DRAM單元是根據(jù)從控制邏輯100按照組號(即按照上述的地址的位25至211)輸出的控制線124的邏輯狀態(tài)選擇的。如果ENABLE具有邏輯1狀態(tài),則激勵電路121;反之不激勵電路121。如果不激勵電路121,處理機(jī)10消耗較少的功率,并且輸出節(jié)點(diǎn)OUT具有高阻抗?fàn)顟B(tài)。如果D的電壓高于D的電壓同時電路121是激勵的,則OUT具有的電壓大致等于Vdd(即,邏輯1狀態(tài))。與其相比,如果D的電壓低于D的電壓同時電路121是激勵的,則OUT具有大致等于GND的電壓(即,邏輯0狀態(tài))。
通過總線110,在控制邏輯100和地址標(biāo)記Address Tagxy之間傳送地址標(biāo)記信息,并在控制邏輯100和Statexy之間傳送狀態(tài)信息。通過總線116、118和120a-d,在控制邏輯100和wxyz之間傳送指令信息(或者在數(shù)據(jù)超高速緩存16的情況下傳送數(shù)據(jù)信息)。
在示例的取指令操作下,控制邏輯100從定序器單元18接收一個有效地址。根據(jù)接收到的有效地址的位25至位211控制邏輯100確定一特定的組x(如上文所討論的那樣),并且控制邏輯100從組x的塊0-3輸入信息。更具體地,通過總線110,控制邏輯100讀出四個地址標(biāo)記AddressTagx0、Address Tagx1、Address Tagx2以及Address Tagx3,以及各和它們相關(guān)的四個狀態(tài)statex0、statex1、statex2、以及statex3。
另外,控制邏輯100通過控制線122向多路復(fù)用器114a-d輸出接收到的有效地址的位23和位24。根據(jù)控制線122的邏輯狀態(tài),多路復(fù)用器114a向總線118輸出從組x的塊0中選出的雙字。例如,從下述中選擇出該雙字(a)代表Wx00和Wx01的DRAM單元,(b)代表Wx02和Wx03的DRAM單元,(c)代表Wx04和Wx05的DRAM單元,或者(d)代表Wx06和Wx07的DRAM單元。
同樣,根據(jù)控制線122的邏輯狀態(tài),多路復(fù)用器114b向總線118輸出從組x的塊1中選出的雙字,多路復(fù)用器114c向總線118輸出從組x的塊2中選出的雙字,以及多路復(fù)用器114d向總線118輸出從組x的塊3中選出的雙字。通過總線118,多路復(fù)用器112接收來自多路復(fù)用器114a-d的所有四個雙字。
控制邏輯100的MMU把接收到的有效地址轉(zhuǎn)換成具體的物理地址。控制邏輯100把該具體物理地址的位212至位231和來自總線110的任何有效Address Tagxy進(jìn)行比較。Address Tagxy的有效性是由和Address Tagxy關(guān)聯(lián)的statexy里的“有效”位的數(shù)字邏輯值指示的。根據(jù)這種比較,如果該具體物理地址的位212至位231的任何有效的Address Tagxy匹配,則控制邏輯100通過控制線126向多路復(fù)用器112輸出適當(dāng)?shù)目刂菩盘枺瑥亩嗦窂?fù)用器112(通過總線116向控制邏輯100)輸出下述之一(a)如果和Address Tagx0匹配從多路復(fù)用器114d輸出雙字,(b)如果和Address Tagx1匹配從多路復(fù)用器114b輸出雙字,(c)如果和Address Tagx2匹配從多路復(fù)用器114c輸出雙字,(d)如果和Address Tagx3匹配從多路復(fù)用器114d輸出雙字。
從而,控制邏輯100從多路復(fù)用路112輸入一個雙字。如果處理機(jī)10運(yùn)行在滿功率方式下,則作為該示例取指令操作的一部分,控制邏輯100把該雙字從多路復(fù)用器112輸出到定序器單元18。
與之相比,如果處理機(jī)10在特殊功率方式下運(yùn)行,則控制邏輯100從多路復(fù)用器112向定序器單元18只輸出單字(即雙字的一半)??刂七壿?00根據(jù)有效地址的位22選擇單字。這是因?yàn)?,如果處理機(jī)10運(yùn)行在特殊功率方式下,在處理機(jī)10的單個周期內(nèi)指令緩沖器70(圖3)只能通過64位總線50從指令超高速緩存14輸入單個32位指令(而不是最多二個32位指令)。
在特殊功率方式下,控制邏輯100在啟用線102上輸出適當(dāng)?shù)男盘枺瑥亩患钭x出放大器108a-h的選定子群,并同時停用讀出放大器108a-h的非選定子群。選出的子群是那些和存儲著字Wxyz的數(shù)字信息的DRAM單元連接的讀出放大器,其中(a)x是一個從0到127的可變的組號,(b)y是一個從0到3的可變的塊號,以及(c)z是一個從0到7根據(jù)有效地址的位22至24選定的不變字號。以這種方式,在處理機(jī)10的每個周期內(nèi)處理機(jī)10激勵較少的(相對于滿功率方式)指令超高速緩存14的讀出放大器,從而降低指令超高速緩存14的(并由此處理機(jī)10的)平均功耗。
如果處理機(jī)10響應(yīng)軟件事件(即SPS具有邏輯1狀態(tài))進(jìn)入特殊“節(jié)電”方式還可得到更多的降低,因?yàn)樵谶@種情況下控制邏輯100把指令超高速緩存14之內(nèi)的“路”的數(shù)量從四路減少到二路。從而,當(dāng)處理機(jī)10運(yùn)行在特殊“節(jié)電”方式下時,控制邏輯100運(yùn)行在一種方式下,這種方式確保Address Tagx2和Address Tagx3是無效的(分別由statex2和statex3中的“有效”位的數(shù)字邏輯值表示)并且只允許Address Tagx0和AddressTagx1是有效的(分別由statex0和statex1的“有效”位的數(shù)字邏輯值表示)。
因此,對于該情況下的取指令操作,激勵64個讀出放大器(1字/路×4字節(jié)/字×8位/字節(jié)×2路×1讀出放大器/位),而不是如上面結(jié)合圖2和圖3所討論的那樣激勵256個讀出放大器(2字/路×4字節(jié)/字×8位/字節(jié)×4路×1讀出放大器/位)。這有利地明顯降低指令超高速緩存14的(由此處理機(jī)10的)平均功耗。
同樣,如果處理機(jī)10響應(yīng)軟件事件進(jìn)入特殊“節(jié)電”方式,處理機(jī)10把數(shù)據(jù)超高速緩存16中的“路”數(shù)從四路減少到二路。因此,對于該情況下的LSU28浮點(diǎn)裝入操作,激勵64個讀出放大器(1字/路×4字節(jié)/字×8位/字節(jié)×2路×1讀出放大器/位),而不是如上面結(jié)合圖5所討論的那樣激勵256個讀出放大器(2字/路×4字節(jié)/字×8位/字節(jié)×4路×1讀出放大器/位)。這有利地明顯降低數(shù)據(jù)超高速緩存16的(從而處理機(jī)10的)平均功耗。
在SPS從邏輯0狀態(tài)遷移到邏輯1狀態(tài)時刻出現(xiàn)軟件事件。響應(yīng)CFXU26執(zhí)行朝向SPSs 40的一個“HID0”寄存器的一預(yù)定位的第一MTSPR指令,SPS向邏輯1狀態(tài)遷移。該第一MTSPR指令規(guī)定SPS的邏輯1狀態(tài)。
在緊靠著該第一MTSPR指令之前,(為了減少處理機(jī)10內(nèi)的電路復(fù)雜性)為軟件規(guī)定一個“同步”(“SYNC”)指令僅在其后的一個“指令同步”(“ISYNC”)指令是有好處的。緊靠著該第一MTSPR指令,為軟件規(guī)定另一個ISYNC指令是有好處的。
如上面剛剛討論過的那樣,如果處理機(jī)10響應(yīng)軟件事件(即SPS具有邏輯1狀態(tài))進(jìn)入特殊“節(jié)電”方式,處理機(jī)10把指令超高速緩存14和數(shù)據(jù)超高速緩存16之內(nèi)的“路”數(shù)從四路減少到二路。從而,緊靠著(在第一MTSPR指令的前面的)SYNC指令之前,重要的是要為軟件規(guī)定“數(shù)據(jù)超高速緩存塊刷新”(“DCBF”)指令以及“指令超高速緩存塊無效”(“ICBI”)指令。
類似地,SPS響應(yīng)CFXU26執(zhí)行第二個指向SPRs40的“HID0”寄存器的預(yù)定位的MTSPR指令遷移到邏輯0狀態(tài)。該第二個MTSPR指令規(guī)定SPS的邏輯0狀態(tài)。緊靠著第二個MTSPR指令之前,為軟件規(guī)定一個SYNC指令和一個其后的ISYNC指令是有好處的。緊靠著第二個MTSPR指令,為軟件規(guī)定另一個ISYNC指令是有好處的。
DCBF指令規(guī)定一個有效地址。根據(jù)DCBF指令,如果數(shù)據(jù)超高速緩存16的任何線上存儲著該有效地址處的信息(例如數(shù)據(jù)),處理機(jī)10通過清除Statexy中的該線的“有效”位使該線失效。如果該失效線存儲的信息是相對于原始存儲在存儲器39(圖1)的相同物理地址(根據(jù)有效地址轉(zhuǎn)換)上信息已修改過的信息,則進(jìn)而響應(yīng)該DCBF指令,處理機(jī)10通過把該修改過的信息從數(shù)據(jù)超高速緩存16復(fù)制到存儲器39的相同物理位置上更新存儲器39。在把SPS遷移到邏輯1狀態(tài)之前,重要的是為軟件規(guī)定足夠的DCBF指令以確保在數(shù)據(jù)超高速緩存16的所有128個組的塊2和3內(nèi)的所有的線是無效的。
ICBI指令規(guī)定一個有效地址。響應(yīng)ICBI指令,如果指令超高速緩存14之內(nèi)的任何線上存儲著該有效地址處的信息(例如指令),處理機(jī)10通過清除statexy里的該線的“有效”位使該線無效,在把SPS遷移到邏輯1狀態(tài)之前,重要的是要為軟件規(guī)定足夠的ICBI指令以確保使指令超高速緩存14內(nèi)的所有128個組的塊2和塊3中的所有的線全部失效。
SYNC指令提供一種排序功能,以影響處理機(jī)10所執(zhí)行的所有指令。在執(zhí)行SYNC指令下,在處理機(jī)10執(zhí)行任何相繼的指令(即要執(zhí)行的編程指令順序中在該SYNC指令之后的指令),處理機(jī)確保所有以前的指令(除“接觸裝入”操作和指令取出之外)全已完成,或者至少達(dá)到這些以前的指令(即在要執(zhí)行的編程指令順序中在該SYNC指令之前的指令)不現(xiàn)會造成異常的地步。
當(dāng)處理機(jī)10完成該SYNC指令時,處理機(jī)10將執(zhí)行掉所有由處理機(jī)10在該SYNC指令之前啟動的外部訪問(相對于訪問存儲器39的所有其它機(jī)構(gòu))。此外,處理機(jī)10將完成掉其響應(yīng)以前的指令啟動的所有裝入和存儲緩存/總線活動。在完成所有以前的“數(shù)據(jù)超高速緩存塊接觸”(“DCBT”)指令以及“供存儲的數(shù)據(jù)超高速緩存塊接觸”(“DCBTST”)指令之前,或者至少通過地址轉(zhuǎn)換但不考慮是否已在系統(tǒng)總線11上完成這些DCBT和DCBTST指令之前,處理機(jī)10推遲SYNC指令的完成。在上文中標(biāo)明的“PowerPC 603e RISC微處理機(jī)用戶手冊”中對SYNC、DCBT和DCBTST指令有更完整的說明。
響應(yīng)ISYNC指令,處理機(jī)10等待直至其可完成所有以前的指令(即在要執(zhí)行的編程指令順序中在該ISYNC指令之前的各個指令)。接著,處理機(jī)10廢除任何已取出的指令,從而在由以前的指令建立的前后關(guān)系下取出(或重取)以及執(zhí)行以后的指令。處理機(jī)10對ISYNC指令的執(zhí)行不對其它處理機(jī)或它們的超高速緩存造成影響。
在執(zhí)行ISYNC指令中,處理機(jī)10實(shí)現(xiàn)重取編序。以這種方式,在處理機(jī)10執(zhí)行任何相繼的指令(即要執(zhí)行的編程指令順序中在ISYNC指令后面的指令)之前,處理機(jī)10確保(a)完成所有前面的指令,至少達(dá)到這些前面的指令不再會引起異常的地步;以及(b)完成所有以前的存儲操作,至少完成地址變換。這些后面的指令受到前面的指令的全部影響。ISYNC指令是前后關(guān)系上得到同步的。
在HPS從邏輯0狀態(tài)遷移到邏輯1狀態(tài)的時刻出現(xiàn)硬件事件。響應(yīng)HPS從邏輯0狀態(tài)到邏輯1狀態(tài)的遷移,處理機(jī)10進(jìn)行下面列舉的動作。
1.定序器單元18(圖1)夭折尚未調(diào)度到處理機(jī)10的各執(zhí)行單元的指令緩沖器70(圖3)中的任何待決指令。
2.處理機(jī)10夭折執(zhí)行單元(轉(zhuǎn)移部件20、FXU22、CFXU26、LSU28以及FPU30)中的任何待決指令,從而不執(zhí)行這些待決指令。在該方面上,LSU28(圖1)夭折任何未向數(shù)據(jù)超高速緩存16造成信息存儲的待決存儲指令。例如,在本示范性實(shí)施方式中,LSU28包括一個存儲隊列。因此,LSU28夭折該存儲隊列中的任何待決存儲請求,從而不執(zhí)行這些待決存儲請求。
3.處理機(jī)10使更名緩沖器34和38(圖1)里的所有項無效。例如,處理機(jī)10移動回寫指針182(圖5)和完成指針184,以使回寫指針182和完成指針184指向和分配指針180指向的相同的更名緩沖器項。
4.定序器單元18(圖2)保持排序緩沖器76的完成指針175(圖4)指向的指令的地址。接著,處理機(jī)10通過移動完成指針175使排序緩沖器76里所有項無效,從而完成指針175指向和分配指針173指向的相同的排序緩沖器項。
在處理機(jī)10進(jìn)行上面列舉的動作之后,取邏輯71(圖2)重新開始取指令,自上一段中(即上面的第四項動作中)所討論的由定序器單元18所保持的地址處開始。
在一種備擇的實(shí)施方式中,不論處理機(jī)10是根據(jù)軟件事件還是根據(jù)硬件事件進(jìn)入特殊“節(jié)電”方式,一旦處理機(jī)10進(jìn)入特殊“節(jié)電”方式,處理機(jī)10就把指令超高速緩存14和數(shù)據(jù)超高速緩存16的“路”的數(shù)量從四路減少到二路。在這種備擇的實(shí)施方式里,響應(yīng)HPS從邏輯0狀態(tài)遷移到邏輯1狀態(tài)
(1)控制邏輯100(圖6)確保指令超高速緩存14內(nèi)的所有128個組的塊2和塊3中的所有線是無效的,從而statex2和statex3的“有效”位被清除;(2)同樣,數(shù)據(jù)超高速緩存16的控制邏輯確保數(shù)據(jù)超高速緩存16內(nèi)的所有128個組的塊2和塊3中的所有線是無效的;以及(3)如果數(shù)據(jù)超高速緩16內(nèi)的這種失效的線存儲著的信息是已由處理機(jī)10相對于存儲在存儲器39(圖1)的相同物理地址(根據(jù)有效數(shù)據(jù)轉(zhuǎn)換得到)上的原始信息修改過的信息,處理機(jī)10通過把該修改過的信息從數(shù)據(jù)超高速緩存16復(fù)制到存儲器39內(nèi)的相同物理地址與更新存儲器39。
控制邏輯100對在指令超高速緩存14內(nèi)存儲新信息執(zhí)行最近最少使用(“LRU”)替換方針。以這種方式,數(shù)據(jù)超高速緩存16大體上和指令超高速緩存14相同。相對于指令超高速緩存14,數(shù)據(jù)超高速緩存16還支持處理機(jī)10對數(shù)據(jù)超高速緩存16的寫操作。處理機(jī)10可在逐個字節(jié)的、半字的、單字的或雙字的基準(zhǔn)上執(zhí)行寫操作。另外,處理機(jī)10可在處理機(jī)10的單個周期內(nèi)完成對數(shù)據(jù)超高速緩存16的整個讀-改-寫操作。數(shù)據(jù)超高速緩存16選擇性地運(yùn)行在回寫(write-back)或直寫(write-through)方式下,它還履行對超高速緩存能力、寫策略、以及逐頁基準(zhǔn)及逐行基準(zhǔn)的存儲器連貫性的控制。
盡管上面詳細(xì)說明了一種示范性實(shí)施方式及其優(yōu)點(diǎn),但僅是作為例子說明的而不是限制性的。在不違背本發(fā)明的廣度、范圍和精神的前提下,可以對該示范性實(shí)施方式進(jìn)行各種修改、替代和更迭。
權(quán)利要求
1.一種方法,包括當(dāng)裝入電路在第一功率方式下運(yùn)行時,在所述裝入電路的每個周期內(nèi),從存儲器裝入最多N個數(shù)據(jù)位,其中N是整數(shù)并且N>1;以及當(dāng)裝入電路在第二功率方式下運(yùn)行時,在所述裝入電路的每個周期內(nèi),從所述存儲器裝入最多M個數(shù)據(jù)位,其中M是整數(shù)并且0<M<N。
2.權(quán)利要求1的方法,其特征在于,所述第一功率方式是滿功率方式,而所述第二功率方式是低功率方式。
3.權(quán)利要求1的方法,其特征在于,響應(yīng)軟件事件所述裝入電路進(jìn)入在所述第二功率方式下運(yùn)行。
4.權(quán)利要求1的方法,其特征在于,響應(yīng)硬件事件所述裝入電路進(jìn)入在所述第二功率方式下運(yùn)行。
5.權(quán)利要求4的方法,其特征在于,當(dāng)所述裝入電路的溫度超過一個閾溫度時出現(xiàn)所述硬件事件。
6.權(quán)利要求5的方法,其特征在于,所述閾溫度是所述裝入電路在所述第一功率方式下運(yùn)行的最大安全溫度。
7.權(quán)利要求1的方法,其特征在于,所述存儲器是超高速緩存。
8.權(quán)利要求7的方法,其特征在于,所述超高速緩存是數(shù)據(jù)超高速緩存。
9.權(quán)利要求7的方法,其特征在于,該方法包括當(dāng)所述裝入電路運(yùn)行在所述第二功率方式下時停用和所述超高速緩存的單元相連的存儲所述M個數(shù)據(jù)位之外的其它數(shù)據(jù)位的讀出放大器群。
10.權(quán)利要求1的方法,其特征在于,所述N個數(shù)據(jù)位是雙精度浮點(diǎn)操作數(shù)。
11.權(quán)利要求1的方法,其特征在于,所述M個數(shù)據(jù)位是單精度浮點(diǎn)操作數(shù)。
12.電路,包括裝入電路,用于當(dāng)所述裝入電路運(yùn)行在第一功率方式下時,在所述裝入電路的每個周期內(nèi),從存儲器裝入N個數(shù)據(jù)位,其中N為整數(shù)并且N>1;以及當(dāng)所述裝入電路運(yùn)行在第二功率方式下時,在所述裝入電路的每個周期內(nèi),從所述存儲器裝入M個數(shù)據(jù)位,其中M為整數(shù)并且0<M<N。
13.權(quán)利要求12的電路,其特征在于,所述第一功率方式是滿功率方式,而所述第二功率方式是低功率方式。
14.權(quán)利要求12的電路,其特征在于,響應(yīng)軟件事件所述裝入電路進(jìn)入在所述第二功率方式下運(yùn)行。
15.權(quán)利要求12的電路,其特征在于,響應(yīng)硬件事件所述裝入電路進(jìn)入在所述第二功率方式下運(yùn)行。
16.權(quán)利要求15的電路,其特征在于,當(dāng)所要這裝入電路的溫度超過一個閾溫度時出現(xiàn)所述硬件事件。
17.權(quán)利要求16的電路,其特征在于,所述閾溫度是所述裝入電路在所述第一功率方式下運(yùn)行時的最大安全溫度。
18.權(quán)利要求12的電路,其特征在于,所述存儲器是超高速緩存。
19.權(quán)利要求18的電路,其特征在于,所述超高速緩存是數(shù)據(jù)超高速緩存。
20.權(quán)利要求18的電路,其特征在于,該電路包括當(dāng)所述裝入電路運(yùn)行在所述第二功率方式下時用于停用和所述超高速緩存的單元相連的存儲所述M個數(shù)據(jù)位之外的其它數(shù)據(jù)位的讀出放大器群的電路。
21.權(quán)利要求12的電路,其特征在于,所述N個數(shù)據(jù)位是雙精度浮點(diǎn)操作數(shù)。
22.權(quán)利要求12的電路,其特征在于,所述M個數(shù)據(jù)位是單精度浮點(diǎn)操作數(shù)。
全文摘要
當(dāng)裝入電路在第一功率方式下運(yùn)行時,在裝入電路的每個周期內(nèi),從存儲器裝入最多N個數(shù)據(jù)位,其中N為整數(shù)并且N> 1。當(dāng)裝入電路在第二功率方式下運(yùn)行時,在裝入電路的每個周期內(nèi),從該存儲器裝入最多M個數(shù)據(jù)位,其中M為整數(shù)并且0< M< N。
文檔編號G06F12/08GK1180194SQ97117939
公開日1998年4月29日 申請日期1997年9月3日 優(yōu)先權(quán)日1996年10月4日
發(fā)明者阿爾伯特·J·盧普爾, 蘇姆亞·馬里克 申請人:國際商業(yè)機(jī)器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
淮阳县| 土默特右旗| 兴宁市| 剑川县| 含山县| 彭泽县| 鄯善县| 时尚| 锡林郭勒盟| 遂昌县| 汶上县| 崇义县| 隆昌县| 日照市| 谢通门县| 会同县| 老河口市| 石台县| 弋阳县| 菏泽市| 黄梅县| 南和县| 东乡县| 克东县| 比如县| 台东县| 昌平区| 全椒县| 万载县| 新宾| 新兴县| 大悟县| 略阳县| 奉贤区| 轮台县| 行唐县| 汉中市| 凤翔县| 四平市| 桐庐县| 阿克|