一種基于eDRAM的GPGPU寄存器文件系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種GPGPU系統(tǒng)結(jié)構(gòu),特別涉及一種基于eDRAM的GPGPU寄存器文件系統(tǒng)。
技術(shù)背景
[0002]GPGPU(General Purpose GPU,即通用計算圖形處理器)在多核時代被越來越廣泛的運用到通用計算中,極大的促進了數(shù)據(jù)的并行處理。GPGPU中大規(guī)模的數(shù)據(jù)并行得益于較高的存儲帶寬和大量的并行線程。保證大量并行線程之間沒有代價的自由切換,需要大量的寄存器保存所有活躍線程的內(nèi)容和狀態(tài)。
[0003]傳統(tǒng)的GPGPU寄存器文件系統(tǒng)由SRAM構(gòu)建而成。SRAM需要至少六個晶體管,并且有較高的泄漏電流,這使得傳統(tǒng)的SRAM寄存器文件系統(tǒng)很容易占據(jù)大片的芯片面積以及消耗更多的能量。
[0004]嵌入式存儲器eDRAM存儲器具有更高的頻寬及更致密的架構(gòu)表現(xiàn),由于eDRAM是采用整合于芯片內(nèi)部的設(shè)計,因此在初始設(shè)計上,可以采用寬度非常高的匯流排設(shè)計,由于是在芯片階段就設(shè)計完成,因此不需要改變芯片封裝后的接腳數(shù)或是PCB的布線規(guī)模。因此在后面的制造階段就可以非常的省力。而在效能表現(xiàn)上,以256-bit寬度的匯流排設(shè)計的嵌入式存儲器來看,時脈只要到達500MHz,即可達到128Gb/s的頻寬表現(xiàn),而且匯流排寬度的提升相較起獨立存儲器控制器而言,更是相對簡易許多。
[0005]eDRAM雖然要求更高的制程技術(shù),不過由于eDRAM與IT-SRAM同樣都是采用單一晶體管及單一電容(ITlC)所達成的技術(shù),即使與傳統(tǒng)嵌入式SRAM的6T架構(gòu)相較起來,更少的晶體管與電容,代表著更低的維持功耗以及更小的晶體管尺寸,雖然SRAM本身可以維持住電荷,不像eDRAM仍需持續(xù)的消耗電流刷新來維持資料,理論上不需要額外的電壓來維持動作,但是在晶體的部分,仍會受到制程及本身架構(gòu)問題的影響,而有漏電的狀況。
【發(fā)明內(nèi)容】
[0006]本發(fā)明要解決的技術(shù)問題是,提供一種基于eDRAM的GPGPU的寄存器文件系統(tǒng),使之與傳統(tǒng)的GPGPU寄存器文件系統(tǒng)相比具有更好可擴展性,能量有效性和工藝容忍性。
[0007]本發(fā)明的目的是通過下述技術(shù)方案實現(xiàn)的:一種基于eDRAM的GPGPU寄存器文件系統(tǒng),其特征在于:
[0008]I)用eDRAM代替SRAM構(gòu)建寄存器文件;寄存器文件用于存儲數(shù)據(jù);
[0009]2)使用刷新策略,定期刷新寄存器文件中存儲的數(shù)據(jù),保證數(shù)據(jù)完整性。
[0010]進一步,GPGPU寄存器文件系統(tǒng),用3TlD-eDRAM代替SRAM構(gòu)建GPGPU寄存器文件。3T1D DRAM 指 3-transistor, 1-d1de dynamic memory cells。
[0011]進一步,GPGPU寄存器文件系統(tǒng),用lTlC-eDRAM代替SRAM構(gòu)建GPGPU寄存器文件。指單一晶體管及單一電容(ITlC)。
[0012]基于eDRAM的GPGPU寄存器文件系統(tǒng)的刷新策略包括:1)刷新操作:以寄存器條目為單位,一次刷新操作為對一個寄存器條目中的數(shù)據(jù)執(zhí)行一次讀操作,一次寫操作;一個寄存器條目由32個32位寄存器組成;2)刷新方法:按照某種方式(包括步驟I的方法),實施多次刷新操作,完成整個寄存器文件的刷新。3T1D DRAM指3-transistor,1-d1dedynamic memory cells。指單一晶體管及單一電容(ITlC)。
[0013]基于eDRAM的GPGPU寄存器文件系統(tǒng)的刷新方法包括以下三種:
[0014]1、完全寄存器文件刷新:利用一個計數(shù)器計數(shù),選取一個合適的時間凍結(jié)寄存器
[0015]文件,在此期間,對寄存器文件的寄存器條目依次實施刷新操作,直到整個寄存器文件完成刷新,然后解凍寄存器文件并且重置計數(shù)器;刷新時間的選取應(yīng)該保證在數(shù)據(jù)生存周期內(nèi)完成數(shù)據(jù)刷新;
[0016]2、使用bank bubble刷新:當(dāng)兩個寄存器在同一個bank時,無法同時讀取,warpO需要多等待一個周期,在這個過程中,寄存器文件的其他bank是空閑的,可以實施刷新操作,這個就是bank bubble。每一個寄存器條目關(guān)聯(lián)一個計數(shù)器,利用一個bubble檢測器檢測寄存器文件的bank bubble板塊氣泡,當(dāng)檢測到bank bubble時,利用一個刷新產(chǎn)生器對一個需要刷新的寄存器條目實施刷新操作,同時重置相應(yīng)的計數(shù)器;如果沒有足夠的bankbubble保證在數(shù)據(jù)生存周期內(nèi)完成整個寄存器文件的刷新,選取一個合適的時間,對剩余的寄存器實施完全寄存器文件刷新;
[0017]上述過程中所述的bank bubble包括:
[0018]一條指令需要訪問的多個數(shù)據(jù)分布在相同的寄存器文件bank,這些數(shù)據(jù)的訪問需要串行進行,指令因此需要等待多個數(shù)據(jù)訪問周期,等待的過程中有其他的寄存器文件bank空閑;寄存器文件不在滿負(fù)荷工作狀態(tài),即在一個周期中,有寄存器文件bank空閑;bank包括若干寄存器條目;
[0019]3、使用bank漫游刷新:設(shè)置一個計數(shù)器計數(shù),選擇一個合適的時間開始一個接一個的漫游寄存器文件bank,每次對當(dāng)前bank的一個寄存器條目實施刷新操作;重復(fù)上面的步驟直到整個寄存器文件被刷新;重置計數(shù)器;每次刷新因為包含一個讀操作,一個寫操作;設(shè)置一個計數(shù)器,每過一個周期計數(shù)器加I。從一開始刷新,每次只刷新一個bank的一個寄存器條目,不同的bank交替刷新,重復(fù)上面的步驟直到所有的bank被刷新,計數(shù)器的到達寄存器總數(shù),重置計數(shù)器。重復(fù)上面的過程,進入下一輪刷新。這種策略刷完整個寄存器需要的時間長,但是在刷新的過程中,其余空閑的bank可以處理普通的讀寫訪問。
[0020]基于lTlC-eDRAM的GPGPU寄存器文件系統(tǒng)中的數(shù)據(jù)在進行讀操作時會遭到破壞,為緩解這種破壞性讀操作的影響,本發(fā)明提出一種寄存器文件bank組織方式以及針對這種組織方式的GPGPU warp調(diào)度策略,該方法應(yīng)用于基于lTlC-eDRAM的GPGPU寄存器文件系統(tǒng);所述的寄存器文件組織方式是在傳統(tǒng)的寄存器文件組織方式的基礎(chǔ)上,將bank平均分成兩組;所述的warp調(diào)度方法是warp調(diào)度器在連續(xù)的周期輪流發(fā)射奇數(shù)號warp和偶數(shù)號warp,奇數(shù)號warp訪問第一組bank,偶數(shù)號warp訪問第二組bank ;如果當(dāng)前沒有準(zhǔn)備好的奇數(shù)號/偶數(shù)號warp,允許連續(xù)發(fā)射偶數(shù)號/奇數(shù)號warp。
[0021]有益效果,本發(fā)明是基于eDRAM的寄存器文件系統(tǒng)。由于eDRAM(增強動態(tài)隨機存取存儲器)更高的晶體管密度和更小的能量泄露,本發(fā)明的寄存器文件系統(tǒng)與傳統(tǒng)寄存器文件系統(tǒng)相比,具有兩倍的晶體管密度以及低于一個數(shù)量級的能量泄露。當(dāng)然基于eDRAM的寄存器文件系統(tǒng)面臨數(shù)據(jù)在生存周期外丟失的問題,本發(fā)明的寄存器文件系統(tǒng)需要定期執(zhí)行刷新操作。特別的,由于基于lTlC-eDRAM、即單一晶體管及單一電容(ITlC)所達成的寄存器文件系統(tǒng)中的數(shù)據(jù)在進行讀操作時會遭到破壞,該類系統(tǒng)提供了方法緩解這種破壞性都操作帶來的影響。
[0022]本發(fā)明對比已有系統(tǒng)具有以下貢獻:1)設(shè)計并實現(xiàn)了基于3TlD_eDRAM的GPGPU寄存器文件系統(tǒng)以及基于lTlC-eDRAM的GPGPU寄存器文件系統(tǒng)。比傳統(tǒng)基于SRAM的GPGPU寄存器文件系統(tǒng)具有更好的擴展性,能量有效性和工藝容忍性。2)提供三種數(shù)據(jù)刷新策略,解決基于eDRAM的GPGPU寄存器文件中的數(shù)據(jù)會在生存周期外丟失的問題;保證數(shù)據(jù)的完整性。3)基于lTlC-eDRAM的GPGPU寄存器文件讀操作會破壞被讀的數(shù)據(jù),針對這種問題提出一種GPGPU寄存器文件組織方式和warp調(diào)度策略相結(jié)合的方法緩解這種破壞性讀操作的影響。通過這些策略和方法使本發(fā)明的系統(tǒng)更加完善。采用嵌入式存儲器方案,有更低的系統(tǒng)耗電,利用eDRAM設(shè)計芯片,因為整個I/O都已經(jīng)在芯片內(nèi)部的電路、閘極階段就已經(jīng)完成,不需要另外耗費電力來驅(qū)動外部裝置,比起外接存儲器的方式,除了更省電這項優(yōu)點之外,也可以有效的提升時脈。eDRAM雖然要求更高的制程技術(shù),不過由于eDRAM與IT-SRAM同樣都是采用單一晶體管及單一電容(ITlC)所達成的技術(shù),即使與傳統(tǒng)嵌入式SRAM的6T架構(gòu)相較起來,更少的晶體管與電容,代表著更低的維持功耗以及更小的晶體管尺寸。分析結(jié)果表明,本發(fā)明與傳統(tǒng)基于SRAM的GPGPU寄存器文件系統(tǒng)相比,呈現(xiàn)出更好的可擴展性,能量有效性和工藝容忍性。
【附圖說明】
[0023]圖1a為本發(fā)明寄存器文件系統(tǒng)示意圖;Ib為Ia中寄存器文件的bank示意圖;
[0024]圖2為本發(fā)明3TlD_eDRAM示意圖;
[0025]圖3為本發(fā)明lTlC-eDRAM示意圖;
[0026]圖4為本發(fā)明使用bank bubble刷新方法的流程示意圖;
[0027]圖5為本發(fā)明基于lTlC-eDRAM寄存器文件系統(tǒng)的寄存器bank組織方式示意圖。
【具體實施方式】
[0028]下面結(jié)合附圖和實施例對本發(fā)明作進一步說明。其中英語術(shù)語均為本領(lǐng)域技術(shù)人員熟悉的術(shù)語:Bank Arbtrator裁決器Crosstar交叉星形Collector Unit匯聚單元。
[0029]本發(fā)明是基于eDRAM的GPGPU寄存器文件系統(tǒng),寄存器文件系統(tǒng)的結(jié)構(gòu)如圖1所示。本發(fā)明采用如圖2所示的3TlD-eDRAM構(gòu)建寄存器文件系統(tǒng)中的寄存器文件bank(具有若干寄存器條目)。一般而言,在45nm的工藝節(jié)點上,一個3T1D存儲單元的大小為37平方毫米,由這樣的3T1D存儲單元構(gòu)建的寄存器文件系統(tǒng),一次讀操作需要340fJ能量,一次寫操作需要134fJ能量,每個bank的泄露能量為17.2uW。本發(fā)明還采用如圖3所示的lTlC-eDRAM構(gòu)建寄存器文件系統(tǒng)中的寄存器文件bank。一般而言,在45nm的工藝節(jié)點上,一個ITlC存儲單元的大小為18平方毫米,由這樣的ITlC存儲單元構(gòu)建的寄存器文件系統(tǒng),一次讀操作需要281fJ能量,一次寫操作需要108fJ能量,每個bank的泄露能量為4.08uWo
[0030]基于eDRAM的GPUGPU寄存器文件系統(tǒng)中存儲的數(shù)據(jù)有生存周期,超過生存周期數(shù)據(jù)就會丟失,本發(fā)明提供三種刷新策略在數(shù)據(jù)生存周期內(nèi)刷新數(shù)據(jù),保證數(shù)據(jù)完整性。
[0031]下面通過幾個實施例詳細(xì)說明3種刷新策略的基本步驟:1)完全寄存器文件刷新:設(shè)定GPGPU寄存器文件系統(tǒng)中有1024個寄存器條目,分為16個bank(四層activewarpO-4 (指活躍的可以被調(diào)度的warp),每層16個寄存器條目),數(shù)據(jù)的生存周期是512個周