《計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)》多線程和多處理器_第1頁(yè)
《計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)》多線程和多處理器_第2頁(yè)
《計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)》多線程和多處理器_第3頁(yè)
《計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)》多線程和多處理器_第4頁(yè)
《計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)》多線程和多處理器_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、6 多線程和多處理器1 指令級(jí)并行的局限性2 多線程技術(shù)3 多處理器和多核技術(shù)11 指令級(jí)并行的局限性 從1980年代中期開(kāi)始,研究ILP一直是處理器設(shè)計(jì)的主要關(guān)注點(diǎn)。在開(kāi)始的15年中, 在流水線、多發(fā)射、動(dòng)態(tài)調(diào)度、推測(cè)執(zhí)行等技術(shù)方面獲得了巨大的進(jìn)度。流水線處理器的性能較單周期處理器有了非常大的提升。但是由于ILP在并行性、功耗等方面的限制,從2000年開(kāi)始,業(yè)界的設(shè)計(jì)目標(biāo)逐漸轉(zhuǎn)向多線程、多處理器、多核等技術(shù)的研究。限制ILP的因素有:處理器每個(gè)時(shí)鐘周期能發(fā)射的指令數(shù)分支預(yù)測(cè)的準(zhǔn)確性寄存器重命名的能力各種相關(guān)性限制22 多線程技術(shù) 比ILP更高一級(jí)的并行是線程級(jí)并行(Thread Level

2、Parallelism, TLP)。一個(gè)線程是有自己的指令和數(shù)據(jù)的過(guò)程。每個(gè)線程都有用于執(zhí)行的必要的狀態(tài)(包括指令、數(shù)據(jù)、PC、寄存器狀態(tài))。與ILP去發(fā)掘循環(huán)或順序代碼段的隱式并行性不同,TLP是顯式表示多個(gè)線程的執(zhí)行。 TLP的并行性比ILP更有效,是ILP更好的替代品。業(yè)界有很多重要的應(yīng)用都是以TLP的方式執(zhí)行,特別是在服務(wù)器類(lèi)應(yīng)用中。32 多線程技術(shù) TLP和ILP是發(fā)掘一個(gè)程序的不同方面的并行性,那么一個(gè)自然的問(wèn)題是:一個(gè)面向ILP設(shè)計(jì)的處理器能否用來(lái)面向TLP?這個(gè)問(wèn)題的提出是因?yàn)橛^察到面向ILP的處理器常常會(huì)因?yàn)橄嚓P(guān)性或者空周期而其功能部件空閑。 多線程技術(shù)允許多個(gè)線程來(lái)共享單個(gè)

3、處理器的功能部件。為了允許這種共享,處理器必須能復(fù)制每個(gè)線程的獨(dú)立狀態(tài),這樣才具備在多個(gè)線程之間進(jìn)行切換的能力。42 多線程技術(shù)多線程技術(shù)的兩種實(shí)現(xiàn):細(xì)粒度:可在每條指令之間切換線程,使得線程交替執(zhí)行,因此CPU必須能夠在每個(gè)時(shí)鐘周期切換一次線程。優(yōu)勢(shì):不論是長(zhǎng)空閑周期還是短空閑周期,都能切換線程, 劣勢(shì):對(duì)于單個(gè)線程來(lái)說(shuō),性能受到了影響粗粒度:僅在長(zhǎng)空閑周期時(shí)才切換線程。 劣勢(shì):在短空閑周期時(shí)不切換線程,在切換線程時(shí)還涉及流水線的排空和裝載,不能較好地發(fā)揮性能。52 多線程技術(shù)同時(shí)多線程(Simultaneous Multi-Threading, SMT)是多線程的變種,結(jié)合了多發(fā)射、在IL

4、P和TLP上動(dòng)態(tài)調(diào)度指令的功能。SMT提出的原因在于現(xiàn)代多發(fā)射處理器常常有多個(gè)功能單元,因此結(jié)合寄存器換名、動(dòng)態(tài)調(diào)度、多發(fā)射等技術(shù)使獨(dú)立線程能夠被同時(shí)發(fā)射而不用考慮其相關(guān)性。62 多線程技術(shù)水平方向表示每個(gè)時(shí)鐘周期處理器能發(fā)射的指令數(shù)垂直方向表示時(shí)鐘周期序列??崭癖硎緯r(shí)鐘周期內(nèi)未使用的指令發(fā)射槽。不同的顏色分別對(duì)應(yīng)四個(gè)不同的線程。超標(biāo)量、粗粒度、細(xì)粒度和SMT之間的效率對(duì)比72 多線程技術(shù) 為每個(gè)線程設(shè)置重命名表、保留指令各自的PC值、為來(lái)自多個(gè)線程的指令的提交提供支持,多線程完全可以在亂序執(zhí)行處理器的基礎(chǔ)上實(shí)現(xiàn)。SMT的設(shè)計(jì)挑戰(zhàn)SMT必須在細(xì)粒度的實(shí)現(xiàn)方式下才有意義為了保存多個(gè)上下文信息,寄

5、存器文件會(huì)格外龐大不能影響每個(gè)時(shí)鐘周期的開(kāi)銷(xiāo)必須保證同時(shí)執(zhí)行多個(gè)線程引起的Cache和TLB的沖突不會(huì)使性能顯著下降82 多線程技術(shù)SMT技術(shù)不會(huì)獲得太高的加速比,原因在于:1 損失單個(gè)線程的性能2多個(gè)線程同時(shí)運(yùn)行,勢(shì)必會(huì)加劇各種資源的競(jìng)爭(zhēng),如指令預(yù)取緩沖、存儲(chǔ)器帶寬。 IBM Power5使用了與Power4一樣的流水線,但是增加SMT的支持。Power5的設(shè)計(jì)者發(fā)現(xiàn)他們必須在Power5中增加大量的模塊來(lái)減少性能的負(fù)面影響:增加L1指令緩沖的相聯(lián)度和TLB增加每個(gè)線程的load和store隊(duì)列增加L2和L3的Cache大小增加虛擬寄存器的個(gè)數(shù)152-240增加發(fā)射隊(duì)列的大小SMT相對(duì)ST的

6、加速比一般是0.9-1.6之間。92 多線程技術(shù)多發(fā)射處理器的局限性 如果要將每個(gè)時(shí)鐘周期發(fā)射3-6條指令的數(shù)量增加到6-12條,將會(huì)要求處理器能夠每個(gè)時(shí)鐘周期發(fā)射3-4次數(shù)據(jù)存儲(chǔ)器訪問(wèn)、處理2-3個(gè)分支、重命名20個(gè)以上的寄存器、取12-24條指令。實(shí)現(xiàn)這些機(jī)制的復(fù)雜性可能會(huì)犧牲最大時(shí)鐘頻率。 多發(fā)射處理器的性能提升與功耗的增加不成正比,功耗的增幅大于性能的增幅。103 多處理器和多核技術(shù)下面幾個(gè)因素催生了多處理的發(fā)展:對(duì)于服務(wù)器性能關(guān)注的增長(zhǎng)面向數(shù)據(jù)的應(yīng)用的增加桌面系統(tǒng)性能增加的關(guān)注越來(lái)越少服務(wù)器環(huán)境在線程級(jí)并行性的天生優(yōu)勢(shì)時(shí)鐘頻率增加的瓶頸對(duì)于處理器功耗的關(guān)注ILP的局限性11并行結(jié)構(gòu)的

7、分類(lèi)Single instruction stream, single data stream (SISD,單指令單數(shù)據(jù)流) 普通的單處理器.Single instruction stream, multiple data streams (SIMD,單指令多數(shù)據(jù)流) 向量處理器.3 多處理器和多核技術(shù)Multiple instruction streams, single data stream (MISD,多指令單數(shù)據(jù)流) 沒(méi)有現(xiàn)實(shí)的處理器.Multiple instruction streams, multiple data streams (MIMD,多指令多數(shù)據(jù)流) 每個(gè)處理器取自己

8、的指令,并在自己的數(shù)據(jù)上操作。12MIMD系統(tǒng)中,每個(gè)處理器都執(zhí)行自己的指令流。MIMD可分為兩類(lèi)集中共享存儲(chǔ)器架構(gòu)3 多處理器和多核技術(shù)這樣的結(jié)構(gòu)也稱(chēng)為均勻存儲(chǔ)器訪問(wèn)UMA結(jié)構(gòu)。也可稱(chēng)為對(duì)稱(chēng)型多處理機(jī)SMP適合小規(guī)模的多處理器,擴(kuò)展性不強(qiáng)。13分布式存儲(chǔ)器架構(gòu)3 多處理器和多核技術(shù)節(jié)約了存儲(chǔ)器帶寬,減少了訪存延遲適合大規(guī)模的多處理器,擴(kuò)展性強(qiáng)。143 多處理器和多核技術(shù)通信模型和存儲(chǔ)器架構(gòu)15根據(jù)處理器間傳遞數(shù)據(jù)所用的方法,有兩種不同的系統(tǒng)結(jié)構(gòu):通過(guò)共享的地址空間進(jìn)行通信。物理上分開(kāi)的存儲(chǔ)器能夠作為邏輯上共享的地址空間進(jìn)行尋址。也就是說(shuō),只要有正確的訪問(wèn)權(quán)限,任何一個(gè)處理器都能通過(guò)引用地址的

9、方式訪問(wèn)任意節(jié)點(diǎn)上的存儲(chǔ)器。這類(lèi)機(jī)器稱(chēng)為分布式共享存儲(chǔ)器系統(tǒng)。共享存儲(chǔ)器不是說(shuō)有單一的、集中的存儲(chǔ)器,所以也稱(chēng)為非均勻存儲(chǔ)器訪問(wèn)NUMA。另一種地址空間由多個(gè)私有的地址空間組成,這些私有地址空間在邏輯上是分散的,不能被遠(yuǎn)程處理器尋址。3 多處理器和多核技術(shù)多處理機(jī)Cache一致性 處理機(jī)速度的提高和處理機(jī)數(shù)量的增加,對(duì)共享存儲(chǔ)器的訪問(wèn)將變成系統(tǒng)的瓶頸,在多處理機(jī)系統(tǒng)中,一定會(huì)使用Cache。 因此在多處理機(jī)系統(tǒng)中存在Cache一致性問(wèn)題。16 解決多處理機(jī)系統(tǒng)中存在Cache一致性問(wèn)題,有兩種策略: 寫(xiě)廢策略:當(dāng)一個(gè)處理機(jī)往Cache的某個(gè)塊寫(xiě)數(shù)據(jù)時(shí),該塊在其他處理機(jī)中的拷貝置為無(wú)效; 寫(xiě)改策

10、略:當(dāng)一個(gè)處理機(jī)往Cache的某個(gè)塊寫(xiě)數(shù)據(jù)時(shí),新的數(shù)據(jù)也寫(xiě)到其他處理機(jī)Cache相應(yīng)的塊中。3 多處理器和多核技術(shù)17 按照互連網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)不同,寫(xiě)廢或?qū)懜牟呗缘膶?shí)現(xiàn)方法也不同。例如:共享總線容易實(shí)現(xiàn)廣播操作,寫(xiě)廢或?qū)懜拿羁蓮V播到其他所有Cache。每個(gè)Cache都監(jiān)聽(tīng)總線,以知道其他Cache是否有寫(xiě)操作發(fā)生,稱(chēng)為監(jiān)聽(tīng)Cache協(xié)議。 對(duì)于其他不易實(shí)現(xiàn)廣播操作的網(wǎng)絡(luò)如多級(jí)開(kāi)關(guān)網(wǎng)絡(luò),只有將寫(xiě)廢或?qū)懜拿钏偷接锌截惖腃ache中。怎樣才能知道一個(gè)Cache塊還存在在哪些其他的Cache中,需要一個(gè)Cache目錄來(lái)存放信息。Cache目錄為每個(gè)塊設(shè)立一個(gè)指針,指向有該塊拷貝的這些Cache。這樣

11、的機(jī)制稱(chēng)為目錄協(xié)議。Cache目錄可以是集中式的,也可以是分布式的。3 多處理器和多核技術(shù)18芯片級(jí)并行性特點(diǎn)獨(dú)立的控制流分離的內(nèi)部狀態(tài)沒(méi)有共享的功能部件 分類(lèi)同構(gòu)多核Core 2 Duo異構(gòu)多核Cell處理器網(wǎng)絡(luò)處理器EXE CoreFP UnitEXE CoreFP UnitL2 CacheL1 CacheL1 CacheSystem Bus (667MHz, 5333MB/s)3 多處理器和多核技術(shù)CPU芯片降低15%工作電壓的結(jié)果主頻降低15%功耗降低45%性能下降10%19Core 2 Processor Block Diagram系統(tǒng)總線指令預(yù)取/預(yù)譯碼指令隊(duì)列L2 Cache和控制指令譯碼微碼ROM寄存器更名分配調(diào)度器FPUROBALUALUALULDSTL1 D-cache 和 D-TLB指令預(yù)取

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論