999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

先進(jìn)微處理器體系結(jié)構(gòu)及其發(fā)展趨勢(shì)

2007-01-01 00:00:00劉必慰陳書明

摘 要:為了進(jìn)一步提高微處理器性能,提出了多種新穎的體系結(jié)構(gòu),如多核、流處理、PIM、可重構(gòu)、多態(tài)等。這些新的體系結(jié)構(gòu)從不同角度對(duì)微處理器發(fā)展中的問題提出了解決方法。概述了這些體系結(jié)構(gòu)的特點(diǎn),并對(duì)未來體系結(jié)構(gòu)的發(fā)展趨勢(shì)進(jìn)行了預(yù)測(cè)。

關(guān)鍵詞:體系結(jié)構(gòu); 微處理器; 多態(tài)計(jì)算體系結(jié)構(gòu)

中圖分類號(hào):TP303文獻(xiàn)標(biāo)志碼:A

文章編號(hào):1001-3695(2007)03-0016-05

1 微處理器的發(fā)展現(xiàn)狀

在過去三十年中,工藝的進(jìn)步和體系結(jié)構(gòu)的發(fā)展促進(jìn)了微處理器性能的不斷提升。

工藝尺寸縮小會(huì)使得晶體管面積減小,開關(guān)速度加快,從而減小門延時(shí),增大集成度,是推動(dòng)微處理器發(fā)展最有力的武器。根據(jù)ITRS(International Technology Roadmap for Semiconductors,國(guó)際半導(dǎo)體技術(shù)路線圖)的預(yù)測(cè),到2010年集成電路的時(shí)鐘頻率將高達(dá)10 GHz,單片集成能力將達(dá)到10億個(gè)晶體管。

另一方面,體系結(jié)構(gòu)的發(fā)展同樣極大地推動(dòng)了微處理器性能的提高,如深度流水、指令級(jí)并行、推測(cè)執(zhí)行等技術(shù)。在20世紀(jì)90 年代的十年中,微處理器的主頻由1990 年的33 MHz 提高到2001年的2 GHz以上,每年大約提高40%。

2 微處理器發(fā)展所面臨的挑戰(zhàn)

雖然目前微處理器仍然保持著高速的發(fā)展,但是,各種可能的挑戰(zhàn)已經(jīng)逐漸顯露出來。這些挑戰(zhàn)可以形象地描述為如下四堵墻:

(1)頻率墻。

工藝尺寸縮小一直是微處理器性能提升的重要手段。隨著工藝特征尺寸的縮小,器件的延時(shí)也等比例減小,但互連線的延遲卻無法同步減小。工藝進(jìn)入超深亞微米后,線延時(shí)超過門延時(shí)而占據(jù)主導(dǎo)地位(圖1),成為提高芯片頻率的主要障礙。即使采用銅金屬和lowk介質(zhì),在35 nm工藝下,一根1 mm長(zhǎng)線的互連RC響應(yīng)時(shí)間為250 ps,而一個(gè)最小尺寸MOS管的開關(guān)延遲僅為2.5 ps;互連延遲是MOS管開關(guān)延遲的100倍。當(dāng)工藝進(jìn)一步縮小,這個(gè)差距將會(huì)急劇惡化。

隨著深度流水線設(shè)計(jì)接近每一級(jí)流水門數(shù)8~16 的最低下限,超流水技術(shù)的代價(jià)越來越高,分支失敗的開銷也越來越大。流水深度的增加即將終止。研究表明,高性能CPU流水深度到22級(jí)左右性能不升反降,以后上升緩慢。2005年,Intel放棄推出4 GHz的P4處理器更是說明提高時(shí)鐘頻率的方法遇到了極大的困難。

(2)功耗墻。

隨著晶體管變小,集成晶體管數(shù)量增多,集成空間縮小,以及時(shí)鐘頻率加快,漏流也會(huì)隨之增大,從而使得微處理器芯片功耗迅速增加。圖2給出了功耗隨工藝的發(fā)展而增大的情況。功耗增大會(huì)導(dǎo)致芯片過熱,器件的穩(wěn)定性下降,信號(hào)噪聲增大,芯片無法正常工作,嚴(yán)重的甚至燒毀。

隨著嵌入式應(yīng)用的迅速發(fā)展,手機(jī)、手提電腦、PDA及便攜式媒體播放器等依靠電池供電的設(shè)備需要使用低功耗、高性能的微處理器,這對(duì)微處理器的設(shè)計(jì)者提出了極大的挑戰(zhàn)。

(3)存儲(chǔ)墻(Memory Wall)。

當(dāng)前主流的商用微處理器主頻已達(dá)3 GHz以上,存儲(chǔ)總線主頻僅400 MHz;處理器速度每年增長(zhǎng)60%,存儲(chǔ)器存取延遲每年僅改善7%。由通信帶寬和延遲構(gòu)成的存儲(chǔ)墻成為提高系統(tǒng)性能的最大障礙。為了解決這一問題,傳統(tǒng)的方法是建立復(fù)雜的存儲(chǔ)層次,但是這些復(fù)雜的存儲(chǔ)層次會(huì)帶來長(zhǎng)的互連線,難以隨著工藝進(jìn)步而提高頻率。

(4)應(yīng)用墻。

微處理器在應(yīng)用于不同領(lǐng)域時(shí)出現(xiàn)了分化,形成了專門應(yīng)用于某一領(lǐng)域的微處理器,包括桌面、網(wǎng)絡(luò)、服務(wù)器、科學(xué)計(jì)算以及DSP等;每一種處理器在各自的領(lǐng)域內(nèi)都有著很高的性能。但是這種高性能是非常脆弱的,如果應(yīng)用條件發(fā)生變化則會(huì)導(dǎo)致性能明顯下降,出現(xiàn)了通用微處理器并不通用的問題,即通常所說的應(yīng)用墻。

圖1 晶體管延時(shí)和互連線延時(shí)圖2 功耗的增長(zhǎng)

受這四面墻的制約,傳統(tǒng)微處理器的指令級(jí)并行性(ILP)逐漸達(dá)到了上限。一方面,程序中固有的指令級(jí)并行性有限。有研究表明,用無限多的資源從單個(gè)控制流能夠達(dá)到每拍執(zhí)行的指令個(gè)數(shù)(IPC)為7,用大量資源(如8~16個(gè)執(zhí)行部件)能夠開發(fā)出的IPC大約為4。另一方面,如果要開發(fā)更多的ILP,就需要更大的指令發(fā)射窗口、更精確的分支預(yù)測(cè)器、更復(fù)雜的調(diào)度算法和容量更大及端口數(shù)更多的寄存器文件。例如,Pentium 3允許有40 條指令處于執(zhí)行狀態(tài)(Inflight),Athlon 有72 條,Alpha 21264 有80 條,Pentium 4則有126 條。而這些全局的控制結(jié)構(gòu)會(huì)帶來更多的長(zhǎng)互連線,會(huì)阻礙時(shí)鐘頻率的提高。

3 先進(jìn)微體系結(jié)構(gòu)

3.1 多核處理器

隨著半導(dǎo)體工藝水平的飛速發(fā)展,單芯片上可以集成更多的晶體管,為芯片設(shè)計(jì)提供了廣闊的空間。如何有效利用這些不斷增長(zhǎng)的片上資源是擺在微處理器體系結(jié)構(gòu)研究者面前的一個(gè)重大挑戰(zhàn)。

多核心,也指單芯片多處理器(Chip Multiprocessors,CMP)。CMP是由美國(guó)斯坦福大學(xué)首先提出的,其思想是將大規(guī)模并行處理器中的SMP(對(duì)稱多處理器)集成到同一芯片內(nèi),各個(gè)處理器并行執(zhí)行不同的任務(wù)。采用片上多核結(jié)構(gòu),通過挖掘程序的線程級(jí)并行性(TLP)克服指令級(jí)并行性難以開發(fā)的缺陷是一種有效做法。多核結(jié)構(gòu)具有良好的性能潛力和實(shí)現(xiàn)優(yōu)勢(shì):

(1)多核結(jié)構(gòu)將芯片劃分成多個(gè)處理器核來設(shè)計(jì),每個(gè)核都比較簡(jiǎn)單,有利于優(yōu)化設(shè)計(jì)。

(2)多核結(jié)構(gòu)有效地利用了芯片內(nèi)的資源,能夠有效開發(fā)程序的并行性,帶來性能的成倍提升。

(3)處理器核之間的互連縮短,提高了數(shù)據(jù)傳輸帶寬,有效地共享資源,功耗也會(huì)有所降低。

第一個(gè)商用的多核通用微處理器是IBM于2001年發(fā)布的Power4處理器。每個(gè)Power4芯片中集成了兩個(gè)64位的1 GHz的PowerPC 核,可以并行執(zhí)行 200 條指令。HP公司也于2003年推出類似的多核處理器PARISC 8800,它在一塊芯片上集成了兩個(gè)主頻為1 GHz的PARISC 8700。Intel和AMD也分別于2004年的8和11月推出了各自的商用雙核微處理器Montecito和Opteron。

多核結(jié)構(gòu)需要考慮的問題包括:

(1)核心的選擇。在通用微處理器中,Intel、AMD、HP、Sun選擇使用少量的高性能核心,如雙核的Montecito和Opteron;而Stanford,MIT選擇使用大量性能適中的核,如Hydra集成了4個(gè)MIPS核,RAW集成了16個(gè)RISC的核。嵌入式多核微處理器通常有三種組織方式:①DSP核+MCU核,充分利用DSP的處理速度和MCU的控制功能,以TI的OMAP為代表;②多DSP核,可以處理更大規(guī)模的信號(hào)處理算法,特別是多維與多通道算法,以Motorola的MSC8162為代表;③多RISC核,在顯著減少面積和功耗的同時(shí),取得更高的總體性能,在網(wǎng)絡(luò)類應(yīng)用中非常普遍,包括Intel的IXP1200等。 

(2)互連與存儲(chǔ)系統(tǒng)。隨著芯片面積的增大,長(zhǎng)線互連延遲和信號(hào)完整性已經(jīng)成為制約芯片主頻的關(guān)鍵因素。當(dāng)片上核較少時(shí),可用簡(jiǎn)單的總線結(jié)構(gòu)或者Crossbar互連;當(dāng)核較多時(shí)可用二維Mesh網(wǎng)絡(luò)、3D Torus等進(jìn)行互連,設(shè)計(jì)者必須在網(wǎng)絡(luò)開銷以及多核耦合程度之間進(jìn)行權(quán)衡,同時(shí)還要注意互連拓?fù)涞目蓴U(kuò)展性。多核結(jié)構(gòu)還必須解決一系列存儲(chǔ)系統(tǒng)效率的問題,如應(yīng)該設(shè)計(jì)多大的片內(nèi)存儲(chǔ)器?數(shù)據(jù)的共享和通信在存儲(chǔ)層次的哪一級(jí)來完成?Cache一致性在哪一級(jí)實(shí)現(xiàn)更合理?是通過片內(nèi)共享存儲(chǔ)器還是高速總線進(jìn)行多核之間的通信?存儲(chǔ)結(jié)構(gòu)如何支持多線程的應(yīng)用?

(3)多線程編譯技術(shù)及操作系統(tǒng)。多核處理器能否發(fā)揮最高的性能在很大程度上取決于編譯優(yōu)化和嵌入式操作系統(tǒng)的有力支持。多核對(duì)多線程程序能夠提供較高的性能,但是對(duì)于單線程應(yīng)用的性能反而不高。采用硬件動(dòng)態(tài)提取線程是一種方法,但編譯器更要擔(dān)負(fù)起自動(dòng)并行化的工作,即將串行程序自動(dòng)地轉(zhuǎn)換為等價(jià)的多線程并行代碼,使用戶不關(guān)心迭代空間劃分、數(shù)據(jù)共享、線程調(diào)度和同步等細(xì)節(jié)。更重要的是多線程優(yōu)化編譯技術(shù),包括線程并發(fā)機(jī)制的實(shí)現(xiàn)、線程調(diào)度、線程級(jí)前瞻執(zhí)行等技術(shù)。

多核之間的任務(wù)調(diào)度是充分利用多處理器性能的關(guān)鍵。為滿足實(shí)時(shí)處理的要求,均衡各處理器負(fù)載,需要研究的任務(wù)調(diào)度機(jī)制有分布式實(shí)時(shí)任務(wù)調(diào)度算法、動(dòng)態(tài)任務(wù)遷移技術(shù)等。現(xiàn)有的操作系統(tǒng)還無法有效地支持多核處理器。

3.2 流處理器

流處理包括兩個(gè)方面的意義:①流編程模型即流程序,指的是由計(jì)算核心(Kernel)來處理記錄流的計(jì)算方式;②執(zhí)行模型即流處理器,指的是優(yōu)化利用流程序的局部性和并行性的處理器。

在流處理過程中,人為地將一個(gè)應(yīng)用分解成一系列的計(jì)算核心,產(chǎn)生數(shù)據(jù)流圖,形成明確的生產(chǎn)者/消費(fèi)者模型。Kernel根據(jù)功能來劃分,每個(gè)Kernel有明確的輸入流和輸出流,數(shù)據(jù)以流(Stream)的形式通過Kernel并被處理。 流處理過程可以開發(fā)多種并行性。其中Kernel開發(fā)ILP和DLP(Data Level Parellel,數(shù)據(jù)級(jí)并行性),Stream開發(fā)生產(chǎn)者/消費(fèi)者局部性。

適合于寫成流程序的應(yīng)用主要為媒體應(yīng)用,包括Signal、Image、Video、Packet和Graphics處理等;另外有文獻(xiàn)報(bào)道科學(xué)計(jì)算程序,如地震、天氣預(yù)報(bào),也能寫成流程序獲得加速。從理論上說應(yīng)用具有長(zhǎng)的計(jì)算時(shí)間和大量的并行性,就可以寫成流程序。與傳統(tǒng)程序相比較,流程序具有以下幾個(gè)主要特征:

(1)計(jì)算密集性。與傳統(tǒng)的桌面應(yīng)用相比,流式應(yīng)用對(duì)每次從內(nèi)存取出的數(shù)據(jù)都要進(jìn)行大量的算術(shù)運(yùn)算,這就是計(jì)算密集性。

(2)并行性。大多數(shù)流式應(yīng)用中的運(yùn)算可以并行,且以數(shù)據(jù)級(jí)并行為主,同時(shí)存在指令級(jí)和任務(wù)級(jí)并行。例如視頻壓縮中,兩個(gè)塊之間的數(shù)據(jù)不存在相關(guān),可以并行。

(3)生產(chǎn)者—消費(fèi)者的局部性。生產(chǎn)者—消費(fèi)者的局部性體現(xiàn)在計(jì)算流水線或計(jì)算核心的不同階段中,即生產(chǎn)出的數(shù)據(jù)(一個(gè)核心寫的數(shù)據(jù))被另一個(gè)核心所消費(fèi)(被讀取),且不會(huì)再被生產(chǎn)者使用。這一種形式的局部性在流式應(yīng)用中非常普遍,但不容易被傳統(tǒng)的存儲(chǔ)層次所捕獲,因?yàn)樗⒉环蟼鹘y(tǒng)的時(shí)間和空間局部性的概念。

為了適應(yīng)流程序的特點(diǎn),流處理器在體系結(jié)構(gòu)上相應(yīng)地給予支持,以充分開發(fā)流程序的局部性和并行性。首先,流處理器中有大量ALU陣列,以充分開發(fā)DLP。其次,采取三級(jí)存儲(chǔ)層次,以捕獲各種形式的局部性。這三級(jí)的存儲(chǔ)層次如下:

(1)局部寄存器文件(LRF),用于捕獲Kernel內(nèi)部的數(shù)據(jù)局部性。在一個(gè)Kernel內(nèi),對(duì)流中某一個(gè)記錄的所有操作都在一個(gè)ALU簇內(nèi)完成,只在操作數(shù)讀入和最終結(jié)果寫回時(shí)訪問SRF。也就是說,當(dāng)流中的某個(gè)記錄流入ALU簇后,將對(duì)其執(zhí)行微控制器中VLIW對(duì)應(yīng)的所有操作,其間所有操作數(shù)和中間結(jié)果都通過簇內(nèi)的互連開關(guān)傳遞并緩存在LRF中,無須訪問SRF。由于LRF的帶寬遠(yuǎn)高于SRF,開發(fā)核內(nèi)數(shù)據(jù)并行大大減少了對(duì)SRF的訪問次數(shù),加快了訪問速度,緩解了SRF帶寬壓力。

(2)流存儲(chǔ)器文件(SRF),用于捕獲Kernel間數(shù)據(jù)的局部性。在多核應(yīng)用中,由流載入指令將流載入到SRF中,充當(dāng)生產(chǎn)者的核將對(duì)流進(jìn)行處理的結(jié)果發(fā)送回SRF,作為消費(fèi)者的流在流控制器的調(diào)度下從SRF中取走中間結(jié)果流,而不用訪問片外存儲(chǔ)器。對(duì)一個(gè)流元素的所有操作執(zhí)行完后才將結(jié)果寫回片外存儲(chǔ)器。除非流的大小超過了SRF的容量才需將流分割,將溢出部分寫回片外存儲(chǔ)器,極大地減小了對(duì)片外存儲(chǔ)器帶寬的要求,加快了訪問速度,還可以通過流緩沖器以執(zhí)行和訪存時(shí)間重疊的方式隱藏訪問延遲。

(3)存儲(chǔ)器(Memory),用于捕獲全局?jǐn)?shù)據(jù)局部性。SDRAM可以設(shè)計(jì)得很大,用于緩沖I/O設(shè)備或是總線傳來的數(shù)據(jù)。例如在多媒體應(yīng)用中,片外SDRAM可以用來緩沖多幀圖像以支持對(duì)數(shù)據(jù)的反饋重用,如MPEG2中的I幀可以緩存在片外SDRAM中。

流模型對(duì)于存儲(chǔ)延時(shí)的隱藏也是有好處的。傳統(tǒng)的工作負(fù)載需操作的數(shù)據(jù)零散沒有規(guī)律,數(shù)據(jù)存取和運(yùn)算緊密耦合,訪存開銷很大;流應(yīng)用的操作數(shù)據(jù)為流式數(shù)據(jù),流記錄同構(gòu)有序且依序流動(dòng),因此可以將上一個(gè)流記錄的運(yùn)算和下一個(gè)流記錄的存取分離,便于延遲隱藏,極大地減少了訪存開銷。

Stanford大學(xué)設(shè)計(jì)實(shí)現(xiàn)了一個(gè)流處理器的原型Imagine處理器,如圖3所示。

Imagine流處理器是適合VLSI發(fā)展特征的:

(1)對(duì)于現(xiàn)代VLSI工藝而言,計(jì)算單元的面積、功耗等成本相對(duì)較低,而通信、同步的開銷相對(duì)較高。Imagine流處理器針對(duì)流數(shù)據(jù)并行性高的特點(diǎn),減小通信開銷,重復(fù)設(shè)置大量多功能運(yùn)算部件,提高了計(jì)算能力。單個(gè)Imagine原型芯片即支持48個(gè)ALU,使運(yùn)算部件占到芯片面積的40%。

(2)SIMD結(jié)構(gòu)為Imagine提供必要的指令和數(shù)據(jù)帶寬來支持48個(gè)ALU。同時(shí)因?yàn)槊總€(gè)Cluster執(zhí)行相同的VLIW指令,最小化了指令譯碼及發(fā)射邏輯,降低了芯片設(shè)計(jì)的復(fù)雜度。

(3)提出全新的流寄存器文件結(jié)構(gòu),同時(shí)把ALU分割成數(shù)個(gè)簇并采用分布式的LRF和流緩沖寄存器。這樣通過一個(gè)等于劃分?jǐn)?shù)目的常數(shù)因子可以有效減少寄存器文件的端口數(shù),由此減小了極大依賴于端口數(shù)的寄存器文件的功耗、面積和延遲。

(4)設(shè)置片外存儲(chǔ)器、SRF和LRF三個(gè)存儲(chǔ)層次,不同層次間的數(shù)據(jù)和控制通信是局部的,去掉了復(fù)雜的全局控制結(jié)構(gòu),減輕長(zhǎng)線延遲的影響。 

圖3 Imagine處理器

3.3 PIM

PIM (ProcessorInMemory),又稱之為Intelligent RAM(IRAM),Merged Logic and Memory或Embedded RAM。

在過去很長(zhǎng)的一段時(shí)間里,存儲(chǔ)器如DRAM的工藝優(yōu)化和對(duì)計(jì)算邏輯之間的工藝優(yōu)化有著巨大的差異。存儲(chǔ)器設(shè)計(jì)追求的主要目標(biāo)是面積小、集成度高;而計(jì)算邏輯追求的主要目標(biāo)是速度快、功耗小。這一差異從根本上影響了計(jì)算機(jī)的體系結(jié)構(gòu):CPU和存儲(chǔ)器分別設(shè)計(jì)為不同的芯片,然后在板級(jí)電路上連接在一起。

隨著工藝的發(fā)展,CPU速度每年提高60%;相對(duì)來說,存儲(chǔ)器的速度增長(zhǎng)較慢,每年僅有7%的增長(zhǎng),難以滿足CPU對(duì)數(shù)據(jù)和指令的需求。典型的,存儲(chǔ)器Part的外部互連少于24個(gè),對(duì)于密度最高的DRAM工藝,這些互連線提供的每一個(gè)存儲(chǔ)器Part的帶寬小于50 MBps,相比絕大多數(shù)現(xiàn)代微處理器所需要的1~2 GBps的帶寬有很大距離。存儲(chǔ)層次是目前解決這一問題常用的方法,即在CPU芯片和存儲(chǔ)器芯片中需要插入多級(jí)、容量依次增大的Cache。這些Cache占據(jù)大量的芯片面積,有著復(fù)雜的控制邏輯卻僅僅是主存的一個(gè)備份,不進(jìn)行任何計(jì)算。其在新的應(yīng)用中如媒體處理、數(shù)據(jù)的時(shí)間局部性和空間局部性都很少,Cache失效的機(jī)率大,實(shí)際效果并不好。

1995年,工藝上出現(xiàn)了突破,可以在存儲(chǔ)器芯片中集成計(jì)算邏輯。人們開始重新思考是不是可以將CPU和存儲(chǔ)器集成到一塊芯片內(nèi),充分挖掘存儲(chǔ)器帶寬的潛力。在存儲(chǔ)器的內(nèi)部,實(shí)際的帶寬要高得多,一個(gè)DRAM宏通常每行有2 048位,在一次讀操作中,整行都被鎖存在Row Buffer中,等待讀出放大器讀取,保守估計(jì)行訪問時(shí)間為20 ns,單個(gè)DRAM宏的帶寬也超過了50 Gbps。由此可見,99%的存儲(chǔ)器帶寬由于封裝和外部互連而被浪費(fèi)掉了。使用PIM技術(shù),就可以完全利用存儲(chǔ)器的內(nèi)部帶寬。有研究表明,PIM可以獲得相對(duì)于傳統(tǒng)系統(tǒng)10~100倍的帶寬和4倍存儲(chǔ)延時(shí)的改善。

PIM的另一個(gè)優(yōu)點(diǎn)是可以從更細(xì)粒度的角度構(gòu)造超大規(guī)模并行計(jì)算系統(tǒng)。在PIM中可以將計(jì)算單元和DRAM設(shè)計(jì)在一起,并使用大量這樣的模塊構(gòu)建MPP系統(tǒng)。這樣的系統(tǒng)在片內(nèi)而不是像傳統(tǒng)的網(wǎng)絡(luò)共享存儲(chǔ)或Cluster的方式,可以大量減少芯片的數(shù)量。由于DRAM和計(jì)算邏輯集成在同一芯片內(nèi),PIM可以提供高效率的機(jī)制來協(xié)調(diào)計(jì)算和通信。HTMT項(xiàng)目中提出的Parcels(Parallel Control Elements)概念得到了廣泛應(yīng)用。它是一種Memory Borne的消息機(jī)制,包括從簡(jiǎn)單的存儲(chǔ)器讀寫到原子算術(shù)存儲(chǔ)器操作,甚至存儲(chǔ)器中對(duì)象的遠(yuǎn)程方法調(diào)用。在PIM這種細(xì)粒度的MPP下,對(duì)性能影響的關(guān)鍵在于最小化上下文切換和通信的開銷、重疊通信和有用的計(jì)算。一些研究使用硬件方法來降低通信開銷,如MDP和JMachine;另一種有效的方法是通過軟件高效的Routing消息和解包消息。許多體系結(jié)構(gòu)和執(zhí)行模型支持計(jì)算和通信的重疊,包括數(shù)據(jù)流、多線程、異構(gòu)和最近提出的PIM Lite等。

PIM相關(guān)的項(xiàng)目包括Notre Dame大學(xué)的DIVA項(xiàng)目、Louisi ̄ana州立大學(xué)的Gilgamesh項(xiàng)目、

加州大學(xué)Berkeley分校的IRAM項(xiàng)目、Illiniois大學(xué)的FlexRAM項(xiàng)目。

3.4 可重構(gòu)計(jì)算

目前,用于計(jì)算的器件包括兩類,即通用處理器和專用ASIC。通用微處理器體系結(jié)構(gòu)與應(yīng)用算法無關(guān),通過軟件實(shí)現(xiàn)各種算法,其廣泛的靈活性造成處理性能低下、功耗大,對(duì)于許多應(yīng)用而言不能滿足實(shí)時(shí)處理和低功耗的需求;而專用ASIC專門為特定的算法而實(shí)現(xiàn),內(nèi)部結(jié)構(gòu)與算法相匹配,因此其計(jì)算速度快且效率高。然而,ASIC電路不可修改,如果需有新的算法就不得不重新設(shè)計(jì)和制造。

近年來,可重構(gòu)器件的迅速發(fā)展極大地彌補(bǔ)了專用ASIC的不足。通過大規(guī)模的FPGA,CPLD即可獲得接近于專用ASIC的計(jì)算能力,又可以在應(yīng)用環(huán)境發(fā)生變化時(shí)改變配置實(shí)現(xiàn)新的功能,兼顧了通用微處理器的可編程性和專用ASIC的高效性。可編程器件也被引入了微處理器的設(shè)計(jì)中,發(fā)展形成了可重構(gòu)微處理器。

通常可重構(gòu)微處理器的組織方式是在通用微處理器中加入可重構(gòu)邏輯。可重構(gòu)邏輯與通用微處理器的結(jié)合方式有四種,如圖4所示。按結(jié)合的緊密程度依次為:①可重構(gòu)邏輯作為CPU的一個(gè)功能部件;

②可重構(gòu)邏輯作為CPU的協(xié)處理器;

③可重構(gòu)邏輯作為CPU的外部附屬處理單元;

④可重構(gòu)邏輯獨(dú)立于CPU,通過I/O接口與CPU協(xié)同計(jì)算。

圖4 可重構(gòu)部件與MCU的四種耦合方式

并非所有的算法都適合可重構(gòu)計(jì)算。一般來說有以下三種特點(diǎn)之一的算法適合映射到可重構(gòu)邏輯上:①極高速I/O;②對(duì)大批量(或無限)數(shù)據(jù)的循環(huán)計(jì)算;③對(duì)每一個(gè)輸入數(shù)據(jù)需要大量的計(jì)算。對(duì)于具有以下特點(diǎn)的算法則不適合映射到可重構(gòu)邏輯上:①?gòu)?fù)雜控制,如變長(zhǎng)循環(huán);②大量不規(guī)則的訪存。

可重構(gòu)計(jì)算能夠帶來性能的巨大提升。有文獻(xiàn)報(bào)道,在Xillinx Vertex XCV1000上實(shí)現(xiàn)的Serpent Block Cipher加密操作的吞吐量相對(duì)于200 MHz的Pentium Pro處理器有18倍的提高。另外,可重構(gòu)計(jì)算實(shí)現(xiàn)的大數(shù)因子分解,相對(duì)于200 MHz的UltraSparc工作站速度有28倍的提高。Garp結(jié)構(gòu)對(duì)DES算法以及FPGA對(duì)橢圓曲線密碼應(yīng)用都有著類似的加速性能。其他一些有著明顯速度提高的可重構(gòu)的應(yīng)用包括自動(dòng)目標(biāo)識(shí)別、字符串模式匹配、Golomb Ruler Derivation、動(dòng)態(tài)圖傳遞閉包、布爾可滿足性、數(shù)據(jù)壓縮、旅行商人問題的遺傳算法等。

到目前為止,許多大學(xué)和研究機(jī)構(gòu)都已經(jīng)對(duì)可重構(gòu)計(jì)算技術(shù)展開了廣泛深入的研究,并成功構(gòu)造了一些各具特色的系統(tǒng)。以下簡(jiǎn)單介紹幾個(gè)有一定代表性的可重構(gòu)系統(tǒng)實(shí)例。

(1)RaPid,由美國(guó)華盛頓大學(xué)提出并設(shè)計(jì)實(shí)現(xiàn),是一種粗粒度可重構(gòu)體系結(jié)構(gòu)。RaPid的目標(biāo)是實(shí)現(xiàn)低功耗、低代價(jià)并且面向應(yīng)用的高靈活性;是一種可重構(gòu)流水?dāng)?shù)據(jù)通路結(jié)構(gòu),主要面向非常規(guī)則的計(jì)算密集型應(yīng)用。

(2)KressArray,由德國(guó)凱澤斯勞騰大學(xué)提出,是一種與傳統(tǒng)馮氏結(jié)構(gòu)不同的計(jì)算架構(gòu);主要采用數(shù)據(jù)驅(qū)動(dòng)的思想。

(3)Garp,由加州大學(xué)伯克利分校開發(fā),是一種MIPS主機(jī)結(jié)合可重構(gòu)協(xié)處理器形式的可重構(gòu)系統(tǒng)。其目標(biāo)是應(yīng)用中的特定循環(huán)或者子程序。可重構(gòu)協(xié)處理器由32×24個(gè)PE(處理單元)陣列構(gòu)成,每個(gè)PE都是兩位的LUT,其互連結(jié)構(gòu)為Mesh結(jié)構(gòu)。

(4)Zippy,由瑞士蘇黎世聯(lián)邦工學(xué)院開發(fā),是一種可重構(gòu)功能部件形式的可重構(gòu)系統(tǒng)。

近年來,可重構(gòu)計(jì)算領(lǐng)域的熱點(diǎn)問題包括:動(dòng)態(tài)重構(gòu);

軟硬件混合的編程模型及編譯;

可重構(gòu)計(jì)算系統(tǒng)的結(jié)構(gòu)優(yōu)化;

可重構(gòu)計(jì)算系統(tǒng)的性能評(píng)價(jià)。

3.5 多態(tài)計(jì)算體系結(jié)構(gòu)

通用微處理器在不同領(lǐng)域內(nèi)分化為多種類型如桌面、網(wǎng)絡(luò)、服務(wù)器、科學(xué)計(jì)算等。這些處理器在各自領(lǐng)域內(nèi)都有極高的性能,但是當(dāng)應(yīng)用環(huán)境發(fā)生變化時(shí),處理器表現(xiàn)出來的性能就會(huì)急劇下降。其原因在于微處理器的設(shè)計(jì)者針對(duì)應(yīng)用領(lǐng)域使用了相對(duì)專用的體系結(jié)構(gòu)。為了解決性能脆弱性問題,提出了通過配置硬件的行為(稱之為態(tài))來有效地執(zhí)行多種類型應(yīng)用的體系結(jié)構(gòu),即多態(tài)計(jì)算體系結(jié)構(gòu)(Polymorphous Compute Architecture,PCA)。PCA結(jié)構(gòu)的基本特點(diǎn)有兩個(gè):①需要具有大量可配置的計(jì)算資源,包括運(yùn)算單元和存儲(chǔ)單元,這些資源呈瓦片形式排列;②計(jì)算資源之間通過可配置的網(wǎng)絡(luò)互連結(jié)構(gòu)通信。

美國(guó)的DARPA(Defense Advanced Research Projects Agency )從2001年開始資助PCA項(xiàng)目,目前所支持的項(xiàng)目包括:

麻省理工大學(xué)的RAW 項(xiàng)目;

斯坦福大學(xué)的Smart Memories 項(xiàng)目;

德州大學(xué)奧斯汀分校的TRIPS 項(xiàng)目;

南加州信息科學(xué)院的MONARCH項(xiàng)目。

下面以TRIPS處理器為例來了解多態(tài)計(jì)算的細(xì)節(jié)。圖5是TRIPS芯片的總結(jié)構(gòu)圖,其中四個(gè)角上各有一個(gè)處理器核,中間是片上集成的DRAM。處理器核放大如圖6所示,上面是寄存器文件,左邊是指令Cache,右邊是數(shù)據(jù)Cache,下邊是塊排序邏輯,中間是4×4個(gè)計(jì)算節(jié)點(diǎn)。將一個(gè)計(jì)算節(jié)點(diǎn)放大如圖6的下面部分,每個(gè)節(jié)點(diǎn)包括一個(gè)ALU、多個(gè)保留站和操作數(shù)/結(jié)果的路徑選擇邏輯。

TRIPS可以根據(jù)應(yīng)用條件的不同配置為三種不同的工作模式,這些工作模式稱之為態(tài)。這三種態(tài)分別是:

①D態(tài)(Desktop Morphous)。開發(fā)指令級(jí)并行性,獲得單線程的高性能,適合于桌面應(yīng)用。

②T態(tài)(Thread Morphous)。開發(fā)線程級(jí)并行性,適合于多線程的服務(wù)器應(yīng)用。

③S態(tài)(Stream Morphous)。開發(fā)數(shù)據(jù)級(jí)并行性,適合于大數(shù)據(jù)量的媒體處理和科學(xué)計(jì)算。

TRIPS中可以在所有態(tài)下工作并且根據(jù)態(tài)的不同進(jìn)行配置的資源稱為多態(tài)資源。這些多態(tài)資源包括保留站、取指控制器、寄存器文件、L2 Cache體。它們不同的配置就構(gòu)成了不同的態(tài)。D態(tài)下,所有保留站合并起來形成一個(gè)大的保留站。T態(tài)下,保留站根據(jù)線程的數(shù)目進(jìn)行劃分,每個(gè)線程劃分給一定數(shù)量的保留站;在寄存器文件和Cache中加入Thread ID防止線程間的非法訪問。S態(tài)下,L2距離計(jì)算資源最近的一個(gè)Bank配置為SRF,形成流處理的三級(jí)存儲(chǔ)層次。

TRIPS使用了顯示數(shù)據(jù)流圖的執(zhí)行模式(EDGE)。多條指令組合成為一個(gè)指令組(Instruction Group)。指令組作為一個(gè)整體,映射到處理器的ALU陣列上。指令組開始執(zhí)行時(shí),使用MOV指令將寄存器文件中的操作數(shù)發(fā)送給ALU。每條指令中只指明結(jié)果輸出的目的ALU而不指明源操作數(shù),如果一個(gè)ALU的所有操作數(shù)都準(zhǔn)備好了就開始執(zhí)行。所有指令執(zhí)行完畢后將結(jié)果寫回到寄存器文件。

TRIPS處理器有著很多獨(dú)特的優(yōu)點(diǎn):

(1)綜合使用了多種技術(shù),如多核多線程、PIM、流處理等,并且通過可重構(gòu)技術(shù)將這些技術(shù)很好地集成到了一起。

(2)采用數(shù)據(jù)流執(zhí)行模型,將計(jì)算結(jié)果直接送到所需要使用它的地方,很好地捕獲了生產(chǎn)者/消費(fèi)者的局部性,甚至要好于流處理。

(3)可以開發(fā)多種并行性和局部性,包括ILP、TLP、DLP和時(shí)間—空間局部性、生產(chǎn)—消費(fèi)者局部性。

(4)采用了瓦片結(jié)構(gòu),資源間的通信本地化,有效減少了長(zhǎng)線的互連延時(shí)。對(duì)于那些難以控制線長(zhǎng)的結(jié)構(gòu),如L2 Cache則采取了非均勻體系結(jié)構(gòu)。整個(gè)體系結(jié)構(gòu)能夠隨著工藝進(jìn)步相應(yīng)地縮小尺寸。

4 總結(jié)

(1)工藝尺寸的縮小使得在單片硅片上集成更多的晶體管成為可能,但以什么樣的形式來使用這些增加的資源是一個(gè)重要問題。各種新體系結(jié)構(gòu)分別從不同的方向進(jìn)行了嘗試。多核以CPU Core的粒度增加了計(jì)算資源;其他一些處理器在功能部件的粒度上增加了計(jì)算資源;而PIM則增加了片內(nèi)存儲(chǔ)的容量和帶寬。

(2)工藝尺寸的縮小使得長(zhǎng)線的互連延時(shí)達(dá)到甚至超過了門延時(shí),因此在各種新體系結(jié)構(gòu)中往往避免使用全局的互連線,控制結(jié)構(gòu)所占的比例大大減小。處理器將內(nèi)部的資源更多地暴露給編譯器,由編譯器來調(diào)度和優(yōu)化計(jì)算資源的使用,處理器性能的發(fā)揮很大程度上取決于編譯器對(duì)程序調(diào)度的好壞。

(3)新的并行性和新的局部性的開發(fā)。傳統(tǒng)的指令級(jí)并行和時(shí)間—空間局部性難以進(jìn)一步開發(fā),而線程級(jí)并行和數(shù)據(jù)級(jí)并行受到了更多的重視。生產(chǎn)者—消費(fèi)者局部性在多種結(jié)構(gòu)中有進(jìn)一步的挖掘。

(4)體系結(jié)構(gòu)設(shè)計(jì)所追求的目標(biāo)從高時(shí)鐘頻率轉(zhuǎn)變?yōu)楦弋a(chǎn)出率(High Productive)。從原來片面地追求峰值性能,轉(zhuǎn)變?yōu)榫C合考慮性能、功耗、適應(yīng)性等多方面的因素。

(5)出現(xiàn)了許多新的編程模型和執(zhí)行模型。多核中要求使用多線程的編程模型;可重構(gòu)計(jì)算中要求使用軟硬件混合的編程模型和與計(jì)算匹配的執(zhí)行模型;流體系結(jié)構(gòu)中要求使用流模型;TRIPS中使用了類數(shù)據(jù)流的執(zhí)行模型,等等。

(6)新編程模型的出現(xiàn)和新體系結(jié)構(gòu)對(duì)編譯器的依賴性都對(duì)編譯技術(shù)提出了更高的要求。編譯器需要能夠理解翻譯多種編程模型,如流模型、多線程模型、軟硬件混合編程模型等。另外,編譯器將與體系結(jié)構(gòu)細(xì)節(jié)緊密捆綁,根據(jù)體系結(jié)構(gòu)特點(diǎn)優(yōu)化調(diào)度程序。這兩種趨勢(shì)可能導(dǎo)致編譯器的分化。編譯器前端與編程模型關(guān)聯(lián),專門負(fù)責(zé)源語(yǔ)言解析、產(chǎn)生控制數(shù)據(jù)流圖,生成中間格式的代碼;編譯器后端與體系結(jié)構(gòu)關(guān)聯(lián),完成對(duì)寄存器的分配,生成匯編代碼和對(duì)硬件的配置碼,以及對(duì)代碼的優(yōu)化。如何維護(hù)前端和后端之間穩(wěn)定的接口將是一個(gè)重要的課題。Morphware Forum在這方面作出了有意義的嘗試。

本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文。

主站蜘蛛池模板: 欧美午夜久久| 久久国产av麻豆| 在线看片国产| 国产毛片基地| 国产精品19p| 精品国产成人a在线观看| 看看一级毛片| 手机永久AV在线播放| 欧美在线一二区| 久久久久亚洲精品成人网| 精品无码一区二区在线观看| 精品人妻无码中字系列| 国产污视频在线观看| 国产成人综合网| 国产欧美高清| 一本视频精品中文字幕| 制服丝袜在线视频香蕉| 996免费视频国产在线播放| 日韩高清在线观看不卡一区二区| 日韩毛片在线视频| 亚洲国产成人在线| 欧美日韩中文国产| 午夜少妇精品视频小电影| 91热爆在线| 亚洲 欧美 中文 AⅤ在线视频| 国产91透明丝袜美腿在线| 国产欧美性爱网| 免费A级毛片无码无遮挡| 在线va视频| 亚洲国产日韩在线观看| 国产精品.com| 人人爽人人爽人人片| AV老司机AV天堂| 91精品啪在线观看国产60岁| 青草视频在线观看国产| 成人国产精品网站在线看| 欧美视频在线观看第一页| 香蕉视频国产精品人| 99久久精品久久久久久婷婷| 久久这里只有精品2| 啦啦啦网站在线观看a毛片| 麻豆精品在线| 少妇露出福利视频| 首页亚洲国产丝袜长腿综合| 老司机精品99在线播放| 成年片色大黄全免费网站久久| 在线观看视频99| 国产精品尹人在线观看| 少妇被粗大的猛烈进出免费视频| 啪啪免费视频一区二区| 欧美激情视频一区| 国产视频大全| 丰满人妻被猛烈进入无码| 欧美日韩第二页| 日韩欧美国产三级| 91小视频在线观看| 美女无遮挡免费网站| 亚洲中久无码永久在线观看软件| 亚洲区第一页| 4虎影视国产在线观看精品| 青青国产在线| 日韩A级毛片一区二区三区| 美臀人妻中出中文字幕在线| 欧美乱妇高清无乱码免费| 波多野结衣一级毛片| 国产成人精品一区二区不卡 | 久久久精品无码一二三区| 日韩黄色大片免费看| 国产成人综合亚洲网址| 一本大道视频精品人妻| 制服丝袜在线视频香蕉| 久久久精品国产亚洲AV日韩| 亚洲毛片网站| 国产成人毛片| 精品少妇人妻一区二区| 亚洲高清在线天堂精品| 91黄视频在线观看| 亚洲国产成人综合精品2020| 国产一在线| 日本手机在线视频| 一级爆乳无码av| 欧美亚洲第一页|