專利名稱:用于共享處理器過程上下文的寄存器堆組織的制作方法
用于共享處理器過程上下文的寄存器堆組織技術(shù)領(lǐng)域
本發(fā)明總體上涉及寄存器堆組織,并且特別涉及用于支持來自多個處理器或流水線的多個訪問的寄存器堆組織。
背景技術(shù):
為了利用單一芯片滿足廣泛的功率和性能需求,趨向于將兩個處理器內(nèi)核嵌在一起以便在不同的運(yùn)行情境中提供不同的平衡。所以,當(dāng)運(yùn)行情境要改變時,將發(fā)生從一個內(nèi)核到另一個的過程遷移。為了實(shí)現(xiàn)從一個處理器內(nèi)核到另一個的快速過程遷移,可使用共享寄存器堆技術(shù)以允許一個處理器內(nèi)核訪問由另一處理器內(nèi)核寫入的所有過程上下文。以此方式,可以在幾乎沒有等待時間和沒有軟件成本的情況下實(shí)現(xiàn)過程遷移。
但是,因?yàn)閮蓚€內(nèi)核以不同的定時和功率分配為目標(biāo),共享的寄存器堆很難滿足這兩個內(nèi)核的需求。通常,一個內(nèi)核將被設(shè)計用于低功耗并且是非常慢的,而另一個內(nèi)核將是高性能的并且因此功耗要高得多。由于CMOS電路的性質(zhì),很快的電路將使用更多面積并且因此具有更大的功耗;反之,極低功率的電路應(yīng)當(dāng)使用最小化的面積,但是其速度非常慢。
還需要一種寄存器堆組織,以用于對于高速內(nèi)核具有很高性能同時對于低功率內(nèi)核具有很低功率需求的芯片。發(fā)明內(nèi)容
因此,本發(fā)明涉及用于支持來自多個處理器或流水線的多個訪問的寄存器堆組織。
根據(jù)本發(fā)明的一個實(shí)施方式,一種共享寄存器堆,包括:高性能(HP)寫端口 ;低功率(LP)寫端口 ;耦合至HP寫端口的HP存儲單元;以及耦合至LP寫端口的LP存儲單元。
根據(jù)本發(fā)明的另一個實(shí)施方式,一種多處理器芯片,包括:高性能(HP)內(nèi)核;低性能(LP)內(nèi)核;以及共享寄存器堆,該共享寄存器堆包括:高性能(HP)寫端口 ;低功率(LP)寫端口 ;耦合至HP寫端口的HP存儲單元;以及耦合至LP寫端口的LP存儲單元,其中HP寫端口耦合至HP內(nèi)核,以及LP寫端口耦合至LP內(nèi)核。
根據(jù)本發(fā)明的又一實(shí)施方式,一種用于共享寄存器堆的模式轉(zhuǎn)變的方法,包括:在高性能(HP)模式中,向共享寄存器堆中的高速存儲單元和低速存儲單元進(jìn)行寫入,以及在低功率(LP)模式中,僅向共享寄存器堆中的低功率存儲單元進(jìn)行寫入。
通過以下如附圖所示的本發(fā)明的實(shí)施方式的更具體的說明,本發(fā)明的上述和其他特征、用途和優(yōu)點(diǎn)將變得更清楚。
圖1所示為“一次寫二次讀”寄存器堆的示例。圖1a所示為普通的非共享寄存器堆。圖1b所示為具有復(fù)用寫端口的共享寄存器堆。圖1c所示為具有復(fù)用寫端口的倍增端口共享寄存器堆。
圖2所示為根據(jù)本發(fā)明的實(shí)施方式用于異質(zhì)雙核處理器的共享寄存器堆。
圖3所示為根據(jù)本發(fā)明的實(shí)施方式寄存器堆狀態(tài)轉(zhuǎn)變。
具體實(shí)施方式
下面將參考附圖詳細(xì)說明本發(fā)明的實(shí)施方式,以及僅用于圖示而不是為了限制本發(fā)明,如所附權(quán)利要求及其等價物所限定。為了簡單清楚,省略了對公知的功能和結(jié)構(gòu)的說明。圖是為了圖示本發(fā)明的示范實(shí)施方式的特征,且不是按規(guī)定比例畫的。
下面是本發(fā)明的詳細(xì)說明,使用附圖作為圖的參考。在說明每個圖時參考了優(yōu)選實(shí)施方式。
共享寄存器堆被設(shè)計為允許多個處理器內(nèi)核、流水線或執(zhí)行單元訪問相同的數(shù)據(jù)集。一般地,創(chuàng)建共享寄存器堆的方法是通過復(fù)用或倍增其端口。
圖1所示為一寫二讀寄存器堆的示例。雖然圖1示出了有限的寫和讀端口,但是寄存器堆通常具有多個寫和讀端口。
圖1a所示為普通的非共享寄存器堆110。在普通的非共享寄存器堆中,信息使用無區(qū)別的寫端口 111而被存儲到存儲單元112,并且由多個讀端口 114通過其對應(yīng)的復(fù)用器113被讀取。
圖1b所不為具有復(fù)用與端口 120的共孚寄存器堆。在具有復(fù)用與端口的共孚寄存器堆中,芯片的低功率(LP)和高性能(HP)部分通過其對應(yīng)的寫端口 121將信息存儲到存儲單元。寫端口 121向去往共享寫端口 123的復(fù)用器122進(jìn)行輸入,以對共享存儲單元124進(jìn)行寫入。共享存儲單元124由多個讀端口 126通過其對應(yīng)的復(fù)用器125讀取。
圖1c所示為具有復(fù)用寫端口 130的倍增端口共享寄存器堆。在具有復(fù)用寫端口的倍增端口共享寄存器堆中,芯片的LP和HP部分通過其對應(yīng)的寫端口 131將信息存儲到存儲單元132。共享的存儲單元132由倍增的多個讀端口 134通過其對應(yīng)的復(fù)用器133讀取。倍增的多個讀端口 134被配置為存在用于芯片的每個LP和LP部分的獨(dú)立端口。LP讀端口 134A和134B輸出到LP內(nèi)核,以及HP讀端口 134C和134D輸出到HP內(nèi)核。
倍增的端口類型允許兩個內(nèi)核并行地進(jìn)行讀/寫,但是由于大得多的扇出和多得多的復(fù)用器陣列,其代價是顯著增加芯片的面積。在應(yīng)用單個ISA異質(zhì)多核處理器的情境中,不需要并行訪問;因此很少使用這種類型。
復(fù)用的寫端口被更廣泛地使用,因?yàn)樗确菑?fù)用的版本更為簡單。對于讀端口,僅需要一個扇出以輸出到另一內(nèi)核;對于寫端口和地址端口,需要復(fù)用器以選擇想要的數(shù)據(jù)/地址源。很明顯,存儲單元和輸出復(fù)用器陣列可以在內(nèi)核之間共享。
然而,共享存儲單元和復(fù)用器陣列導(dǎo)致幾個缺點(diǎn)。高速和低速內(nèi)核具有不同的定時需求,使得共享單元難以滿足二者的定時需求。因?yàn)榈凸β蕛?nèi)核需要非常低的功率,因此所需的輸出延遲相當(dāng)大;該延遲無法匹配高速內(nèi)核需要的輸出延遲。反之,如果高速存儲單元和復(fù)用器陣列被用于滿足高速內(nèi)核的需要,其面積將不得不顯著增加。這直接導(dǎo)致大動態(tài)功率和泄漏功率,與低功率內(nèi)核的需求矛盾。
為了解決這個矛盾,可使用的一個方法是倍增端口類型,它針對低功率內(nèi)核而使用低速復(fù)用器,并且針對高速內(nèi)核而使用高速復(fù)用器。然而,此方法仍需使用具有較大扇出的相同高速存儲單元。因此,對于低功率內(nèi)核而言,功耗還是不夠好。
為了滿足高速內(nèi)核和低功率內(nèi)核二者的需求,一種新的寄存器堆結(jié)構(gòu)使用兩組存儲單元和復(fù)用器。低功率存儲單元組是高速存儲單元的影子(shadow)。
該新穎的寄存器堆組織消除了雙核高速/低功率芯片的兩種需求之間的差異:高速內(nèi)核的甚高性能需求以及低功率內(nèi)核的甚低功率需求。通過使用兩組影子寄存器和對這兩個組的不同約束,該新穎的寄存器堆組織能滿足這兩個需求。而且,當(dāng)?shù)凸β蕛?nèi)核運(yùn)行時,僅需要激活寄存器堆的較低功率部分;其余部分可斷電,由此進(jìn)一步降低了功率需求。
圖2所示為根據(jù)本發(fā)明實(shí)施方式的用于共享針對異質(zhì)雙核處理器的架構(gòu)狀態(tài)的寄存器堆組織的結(jié)構(gòu)。注意,在這個示范實(shí)施方式中,對于每個內(nèi)核存在2個讀端口和I個寫端口,但也可以是本領(lǐng)域技術(shù)人員知道的其他配置。
在寄存器堆組織結(jié)構(gòu)200中,存在兩組連接在一起的存儲單元221和222 (觸發(fā)器)。在此基礎(chǔ)上,還存在與讀端口 241-244對應(yīng)的復(fù)用器陣列231和232,以及用于寫端口 211和212的數(shù)據(jù)輸入廣播網(wǎng)絡(luò)。
兩個存儲單元組包括低功率組222和高速組221。低功率組包括低速低功率觸發(fā)器,高速組包括高速觸發(fā)器。對于讀端口 241-244的對應(yīng)復(fù)用器陣列,高速內(nèi)核使用具有較大面積和功率的高速陣列232,低功率內(nèi)核使用具有較長延遲的低功率陣列231。
存在兩種工作模式:高性能(HP)模式和低功率(LP)模式。除此之外,當(dāng)處理器從LP改變?yōu)镠P模式時存在一類特殊的動作。圖3圖示了根據(jù)本發(fā)明的實(shí)施方式的模式轉(zhuǎn)變。
在HP模式中,僅高速內(nèi)核運(yùn)行,而低功率內(nèi)核是空閑的。任何來自高速內(nèi)核的寫入被廣播到高速存儲單元和低功率存儲單元二者。因此,兩組存儲單元在任意時刻將保持相同的值。高速存儲單元將其值跨越高速復(fù)用器陣列而驅(qū)動到高速內(nèi)核,由此保證了定時。因?yàn)榈凸β蕛?nèi)核是空閑的,因此低速復(fù)用器陣列的長延遲不是問題。
在LP模式中,僅低功率內(nèi)核運(yùn)行,而高速內(nèi)核是空閑的或功率門控的。如果是功率門控的,則高速存儲單元組和對應(yīng)的復(fù)用器陣列也被功率門控,以最大程度降低泄漏功率。來自低功率內(nèi)核的任何寫如僅被寫入低功率存儲單元。低功率存儲單元繼而將值跨越低功率復(fù)用器陣列而驅(qū)動到低功率內(nèi)核,因此電路切換功率被最小化。
當(dāng)處理器要從LP模式切換到HP模式時,存在一個特殊動作。在這個時間點(diǎn),唯一要做的是把數(shù)據(jù)從低功率存儲單元并行地拷貝到高速存儲單元。
當(dāng)處理器要從高速內(nèi)核切換到低功率內(nèi)核時,不需任何特殊動作。
雖然已參考優(yōu)選實(shí)施方式具體展示和說明了本發(fā)明,但是本領(lǐng)域技術(shù)人員將理解,可以對形式和細(xì)節(jié)做各種其他改變而不脫離本發(fā)明的精神和范圍。
本發(fā)明目前優(yōu)選的實(shí)施方式和及其很多改進(jìn)已經(jīng)在一定程度的特定性下被描述。應(yīng)當(dāng)理解,該描述是示例性的,本發(fā)明由所附權(quán)利要求的范圍限定。
權(quán)利要求
1.一種共享寄存器堆,包括: 高性能HP寫端口 ; 低功率LP寫端口 ; 耦合至所述HP寫端口的HP存儲單元;以及 耦合至所述LP寫端口的LP存儲單元。
2.根據(jù)權(quán)利要求1所述的共享寄存器堆,還包括: 耦合至所述HP存儲單元的HP讀端口 ;以及 耦合至所述LP存儲單元的LP讀端口。
3.根據(jù)權(quán)利要求1所述的共享寄存器堆,還包括:耦合至所述HP寫端口的多個HP存儲單元,以及耦合至所述LP寫端口的多個LP存儲單元。
4.根據(jù)權(quán)利要求2所述的共享寄存器堆,還包括: 耦合至所述HP存儲單元的HP復(fù)用器; 耦合至所述LP存儲單元的LP復(fù)用器,其中 所述HP存儲單元耦 合至所述HP復(fù)用器,并且所述LP存儲單元耦合至所述LP復(fù)用器,以及其中 所述HP讀端口通過所述HP復(fù)用器耦合至所述HP存儲單元,并且所述LP讀端口通過所述LP復(fù)用器耦合至所述LP存儲單元。
5.根據(jù)權(quán)利要求2所述的共享寄存器堆,還包括:耦合至所述HP存儲單元的多個HP讀端口,以及耦合至所述LP存儲單元的多個LP讀端口。
6.根據(jù)權(quán)利要求3所述的共享寄存器堆,還包括: 耦合至所述多個HP存儲單元的多個HP復(fù)用器; 耦合至所述多個LP存儲單元的多個LP復(fù)用器; 多個HP讀端口,每個HP讀端口耦合至所述多個HP復(fù)用器中的相應(yīng)HP復(fù)用器;以及 多個LP讀端口,每個LP讀端口耦合至所述多個LP復(fù)用器中的相應(yīng)LP復(fù)用器。
7.根據(jù)權(quán)利要求1所述的共享寄存器堆,其中所述HP存儲單元和所述LP存儲單元是觸發(fā)器。
8.根據(jù)權(quán)利要求2所述的共享寄存器堆,其中所述HP存儲單元和所述LP存儲單元是觸發(fā)器。
9.根據(jù)權(quán)利要求3所述的共享寄存器堆,其中所述HP存儲單元和所述LP存儲單元是觸發(fā)器。
10.一種多處理器設(shè)備,包括: 高性能HP內(nèi)核; 低性能LP內(nèi)核;以及 共享寄存器堆,包括:高性能HP寫端口 ;低功率LP寫端口 ;耦合至所述HP寫端口的HP存儲單元;以及耦合至所述LP寫端口的LP存儲單元,其中 所述HP寫端口耦合至所述HP內(nèi)核,并且所述LP寫端口耦合至所述LP內(nèi)核。
11.根據(jù)權(quán)利要求10所述的多處理器設(shè)備,還包括: 耦合至所述HP存儲單元的HP讀端口 ;以及 耦合至所述LP存儲單元的LP讀端口。
12.根據(jù)權(quán)利要求11所述的多處理器設(shè)備,還包括耦合至所述HP寫端口的多個HP存儲單元,以及耦合至所述LP寫端口的多個LP存儲單元。
13.根據(jù)權(quán)利要求12所述的多處理器設(shè)備,還包括: 耦合至所述多個HP存儲單元的多個HP復(fù)用器; 耦合至所述多個LP存儲單元的多個LP復(fù)用器; 多個HP讀端口,每個HP讀端口耦合至所述多個HP復(fù)用器中的相應(yīng)HP復(fù)用器;以及 多個LP讀端口,每個LP讀端口耦合至所述多個LP復(fù)用器中的相應(yīng)LP復(fù)用器。
14.一種用于共享寄存器堆的模式轉(zhuǎn)變的方法,包括: 在高性能HP模式中,向所述共享寄存器堆中的高速存儲單元和低速存儲單元二者進(jìn)行寫入,以及 在低功率LP模式中,僅向所述共享寄存器堆中的低功率存儲單元進(jìn)行寫入。
15.根據(jù)權(quán)利要求14所述的方法,其中在所述HP模式中只有高速內(nèi)核運(yùn)行。
16.根據(jù)權(quán)利要求14所述的方法,其中在所述LP模式中只有低功率內(nèi)核運(yùn)行。
17.根據(jù)權(quán)利要求15所述的方法,其中所述高速存儲單元將其值跨越高速復(fù)用器陣列而驅(qū)動到高速內(nèi)核。
18.根據(jù)權(quán)利要求16所述的方法,其中所述低功率存儲單元將其值跨越低功率復(fù)用器陣列而驅(qū)動到低功率內(nèi)核。
19.根據(jù)權(quán)利要求15所述的方法,其中所述高速內(nèi)核在所述LP模式期間是空閑的或被功率門控。
20.根據(jù)權(quán)利要求14所述的方法,還包括:當(dāng)從所述LP模式切換到所述HP模式時,把數(shù)據(jù)從所述低功率存儲單元并行 地拷貝到所述高速存儲單元。
全文摘要
本發(fā)明涉及用于共享處理器過程上下文的寄存器堆組織。具體地,一種寄存器堆組織用于支持來自多個處理器或流水線的多個訪問。這種共享寄存器堆被組織用于包括高性能(HP)內(nèi)核和低功率(LP)內(nèi)核的多個處理器設(shè)備。該共享寄存器堆包括耦合至獨(dú)立HP和LP寫和讀端口的獨(dú)立HP和LP存儲單元。
文檔編號G06F15/167GK103186502SQ20111046147
公開日2013年7月3日 申請日期2011年12月30日 優(yōu)先權(quán)日2011年12月30日
發(fā)明者吳永強(qiáng), 朱鵬飛, 孫紅霞, E·圭德蒂 申請人:世意法(北京)半導(dǎo)體研發(fā)有限責(zé)任公司, 意法半導(dǎo)體股份有限公司