多核與多處理機_第1頁
多核與多處理機_第2頁
多核與多處理機_第3頁
多核與多處理機_第4頁
多核與多處理機_第5頁
已閱讀5頁,還剩34頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

多核與多處理機第一頁,共三十九頁,2022年,8月28日2023/1/30目錄CONTENTE比較多核CPU和多處理機01淺談線程、進程、多機、內(nèi)核、流水線02談以上聯(lián)系03第二頁,共三十九頁,2022年,8月28日0113122711胡紅青16組試比較多核CPU與多處理機第三頁,共三十九頁,2022年,8月28日多核cpu多處理機多核cpu(處理器)是指在一枚處理器中集成兩個或多個完整的計算引擎(內(nèi)核)。1對多處理機作了下列定義:*包含兩個或兩個以上功能大致相同的處理器;*所有處理器共享一個公共內(nèi)存;*所有處理器共享I/O通道、控制器和外圍設(shè)備;*整個系統(tǒng)由統(tǒng)一的操作系統(tǒng)控制,在處理器和程序之間實現(xiàn)作業(yè)、任務(wù)、程序段、數(shù)組和數(shù)組元素等各級的全面并行213122711胡紅青第四頁,共三十九頁,2022年,8月28日多核cpu13122711胡紅青在大多數(shù)情況下,多核CPU的內(nèi)核擁有獨立的L1緩存,共享L2緩存、內(nèi)存子系統(tǒng)、中斷子系統(tǒng)和外設(shè)第五頁,共三十九頁,2022年,8月28日13122711胡紅青為什么出現(xiàn)多核在此添加關(guān)鍵字Loremipsumdolorsitamet,consectetueradipiscingelit.瓶頸:頻率無法無限提升,物理定律無法違背,溫度,制程,功耗均是制約條件增加多核的原因,主要是控制功耗和發(fā)熱量。單核的瓶頸

微處理器4004摩爾定律——每過18個月,芯片上可以集成的晶體管數(shù)目將增加一倍2005年4月,戈登摩爾曾公開表示,引領(lǐng)半導(dǎo)體市場接近40年的“摩爾定律”,在未來10年至20年內(nèi)可能失效。第六頁,共三十九頁,2022年,8月28日13122711胡紅青多核調(diào)度算法在此添加關(guān)鍵字Loremipsumdolorsitamet,consectetueradipiscingelit.1)對任務(wù)的分配進行優(yōu)化。使同一應(yīng)用程序的任務(wù)盡量在一個核上執(zhí)行,以便達到有共享數(shù)據(jù)的任務(wù)能夠盡量在一個核上進行,而共享數(shù)據(jù)量少或者沒有的任務(wù)盡量在不同核上進行。這樣,可以顯著得降低cache的缺失率,進而很大程度上提升了系統(tǒng)的整體性能。2)對任務(wù)的共享數(shù)據(jù)優(yōu)化。體系結(jié)構(gòu)共享二級緩存,可以考慮改變?nèi)蝿?wù)在內(nèi)存中的數(shù)據(jù)分布,使任務(wù)在執(zhí)行時盡量增加二級緩存的命中率。3)對任務(wù)的負載均衡優(yōu)化。當任務(wù)在調(diào)度時,出現(xiàn)了負載不均衡,考慮將較忙處理器中與其他任務(wù)最不相關(guān)的任務(wù)遷移,以達到數(shù)據(jù)的沖突量小。第七頁,共三十九頁,2022年,8月28日13122711胡紅青多處理機第八頁,共三十九頁,2022年,8月28日13122711胡紅青Cache不一致性在此添加關(guān)鍵字Loremipsumdolorsitamet,consectetueradipiscingelit.以進一步減少訪問主存的次數(shù),可以在每個處理機同PMIN間設(shè)置Cache(CM)。但有了Cache以后,又要產(chǎn)生系統(tǒng)中多個Cache之間以及Cache同主存間的數(shù)據(jù)一致性問題。第九頁,共三十九頁,2022年,8月28日13122711胡紅青多處理機的優(yōu)點多處理機的優(yōu)點很高的性能價格比:單處理機的性能價格比隨其規(guī)模的增大而下降很高的可靠性:冗余度大、可維護性、可用性很高的處理速度:多個處理器并行運算很好的模塊性:大量重復(fù)設(shè)置,結(jié)構(gòu)靈活性、可擴充性、可重構(gòu)性多處理機屬于MIMD計算機第十頁,共三十九頁,2022年,8月28日13122711胡紅青多處理機的分類在此添加關(guān)鍵字Loremipsumdolorsitamet,consectetueradipiscingelit.分類多處理機的分類按多處理機各機器之間物理連接的緊密程度與交互作用能力的強弱來分,多處理機分為緊耦合系統(tǒng)和松耦合系統(tǒng)兩大類。按處理機的結(jié)構(gòu)是否相同來分,如果每個處理機是同類型的,且完成同樣的功能,我們稱為同構(gòu)型多處理機系統(tǒng)。如果多處理機是由多個不同類型,且擔負不同功能的處理機組成,我們稱為異構(gòu)型多處理機系統(tǒng)。按多處理機系統(tǒng)的組成結(jié)構(gòu)來分,現(xiàn)有的MIMD計算機分為如下五種類型:并行向量處理機(PVP)、對稱多處理機(SMP)、大規(guī)模并行處理機(MPP)、分布共享存儲器多處理機(DSM)、工作站機群(COW),如圖7.2所示。

第十一頁,共三十九頁,2022年,8月28日兩者的比較13122711胡紅青這就像為什么我們要去公司上班而不是在家里上班一樣。去公司上班(多核CPU)的話,資源共享(共享緩存),溝通方便(CPU內(nèi)數(shù)據(jù)傳輸速度遠大于總線速度)。

但是如果信息技術(shù)(類比總線)上有突破性進展,否則我們還是每天要擠公車去公司上班。第十二頁,共三十九頁,2022年,8月28日兩者比較12多核實現(xiàn),(即100支手在一個人身上):即使人有一百只手,可一次搬的板磚太多了,脊椎估計頂不住,他在某些地方存在瓶頸(比如I/O),可能腦子控制不過來(內(nèi)部的協(xié)調(diào)邏輯,調(diào)度策略復(fù)雜)。人多力量大,50個人協(xié)調(diào)好了,必然效率非常高,協(xié)調(diào)不好的話。。

1.可能倆人搶著搬一塊磚(數(shù)據(jù)一致性)

2.可能一個人搬著磚走了一半不走了(單點故障),最要命的是別人都沒看見他不走了!那塊磚最后搞不好就丟了!

3.可能因為任務(wù)沒分配好(任務(wù)調(diào)度),幾個人累死,幾個人傻看著

4.稀缺資源的分配,如I/O13122711胡紅青形象的任務(wù)目標:你需要搬很多磚,你現(xiàn)在有一百支手。

實際的任務(wù)目標:你有一個很大的計算任務(wù),你有很多cpu。第十三頁,共三十九頁,2022年,8月28日參考資料13122711胡紅青第十四頁,共三十九頁,2022年,8月28日簡談進程、線程、多機、內(nèi)核、流水線0216組13121507張文杰第十五頁,共三十九頁,2022年,8月28日進程和線程專業(yè)定義操作系統(tǒng)中的進程是指特定的代碼序列在指定的數(shù)據(jù)集合上的一次執(zhí)行活動,是指并行程序的一次執(zhí)行過程,在Windows系統(tǒng)中就是一個EXE文件。13121507張文杰計算機上運行的可執(zhí)行文件對特定的輸入數(shù)據(jù)的一個實例。進程=PCB(進程控制塊)+程序段+數(shù)據(jù)同一個執(zhí)行程序文件如果操作不同的輸入數(shù)據(jù)就是兩個不同的進程。線程是指由進程進一步派生出來的一組代碼(指令組)的執(zhí)行過程。第十六頁,共三十九頁,2022年,8月28日進程和線程通俗說法進程可以理解為一個線程容器,線程不能獨立存在,它必須隸屬于某個進程,而進程也必須至少擁有一個線程,如果一個進程的所有線程都結(jié)束了,那么進程也就結(jié)束。13121507張文杰第十七頁,共三十九頁,2022年,8月28日進程和線程例子線程就是進行并行計算的一個抽象概念,在另一個線程完成計算任務(wù)的同時,一個線程可以對圖像進行更新,兩個線程可以同時處理同一個進程發(fā)出的兩個網(wǎng)絡(luò)請求。13121507張文杰一個人在處理家務(wù)的過程中,將衣服放在洗衣機中自動洗滌后將大米放在電飯煲里,然后開始做菜。等菜做好了,飯也熟了同時衣服也洗好了。第十八頁,共三十九頁,2022年,8月28日進程和線程13121507張文杰第十九頁,共三十九頁,2022年,8月28日多處理機多個處理機及存儲器模塊構(gòu)成的并行處理機被稱為多處理機系統(tǒng)(multiprocessorsystem),簡稱處理機。113121507張文杰處理機分類處理機之間通信通過存儲器進行。依據(jù)存儲器模塊所在的位置不同,多處理機可以分為緊耦合(tightlycoupled)和松耦合(looselycoupled)。第二十頁,共三十九頁,2022年,8月28日多處理機213121507張文杰cachecache是容量較少、速度較快的存儲器,cache中存放經(jīng)常使用的信息。從存儲器讀信息到cache方法:直接映像、全相聯(lián)映像、組相聯(lián)映像、扇區(qū)映像。cache替換策略:隨機替換、先進先出(FIFO)替換、最近最少使用(LRU)替換。命中寫策略:寫回(writeback/copyback)、寫透(writethrough)不命中寫策略:寫裝入(writeallocate)和寫不裝入(writenoallocate)第二十一頁,共三十九頁,2022年,8月28日多處理機313121507張文杰多處理機cache一致性解決問題的核心:如何讓處理機在執(zhí)行過程中始終能夠使用最新的數(shù)據(jù)第二十二頁,共三十九頁,2022年,8月28日多處理機313121507張文杰寫廢策略:當一個處理機往cache的某個“block”寫數(shù)據(jù)的時候,該塊在其它處理機cache中的拷貝(它們具有相同的存儲器地址)應(yīng)被置為無效狀態(tài)。寫改策略:新的數(shù)據(jù)也被寫到其它處理機cache相應(yīng)的塊中。依據(jù)互聯(lián)網(wǎng)絡(luò)的拓撲結(jié)構(gòu)的不同,實現(xiàn)方法也不同監(jiān)聽cache協(xié)議:(互聯(lián)網(wǎng)絡(luò)易于實現(xiàn)廣播的操作)寫廢和寫改命令能夠被廣播到其它所有的cache,每個cache都監(jiān)視總線上的動作,監(jiān)測是否有其它cache的寫操作發(fā)生。目錄協(xié)議:(不易實現(xiàn)廣播操作)cache目錄為每個塊設(shè)立一個指針,指向其它每個存有該塊拷貝的cache。cache目錄可以是集中式的也可以是分布式的。第二十三頁,共三十九頁,2022年,8月28日多機13121507張文杰第二十四頁,共三十九頁,2022年,8月28日內(nèi)核地位主要作用在于與計算硬件進行交互,實現(xiàn)對硬件的編程控制和接口操作,調(diào)度訪問硬件資源,同時向應(yīng)用程序提供一個高級的執(zhí)行環(huán)境和對硬件的虛擬接口。內(nèi)核與普通的應(yīng)用程序不同,其所擁有的所有硬件設(shè)備的訪問權(quán)限以及啟動時即劃分的受保護的內(nèi)存空間。13121507張文杰內(nèi)核內(nèi)核(Kernel)是操作系統(tǒng)的核心

。第二十五頁,共三十九頁,2022年,8月28日流水線13121507張文杰亂序執(zhí)行流水線譯碼級有一些略微的修改。不同于以往處理器僅僅譯碼指令指針指向的指令,現(xiàn)今的處理器(2008-2013年)每個時鐘周期最多可以譯碼4條指令。寄存器重命名(registeraliasing)在處理器內(nèi)部,這些原始的寄存器(如AX,BX,CX,DX等)被翻譯(或者重命名)成為內(nèi)部的寄存器,而這些寄存器對程序員是不可見的。寄存器和內(nèi)存地址需要被映射到一個臨時的地方用于指令執(zhí)行。當前每個始終周期可以翻譯4條微指令。重排序緩存(ReorderBuffer,ROB)ROB可以存儲最多128條微指令。在支持超線程的處理器上,ROB同樣可以重排來自兩個虛擬處理器的指令。兩個虛擬處理器在ROB中將微指令匯集到一個共享的亂序執(zhí)行部件中。第二十六頁,共三十九頁,2022年,8月28日流水線13121507張文杰亂序執(zhí)行流水線保留站(ReservationStation,RS)解碼單元解碼后的指令不是直接送到流水線,而是根據(jù)各自的指令種類,將解碼后的指令送往各自的保留站中保存下來。如果操作數(shù)位于寄存器中,就把操作數(shù)從寄存器中讀出來,和指令一起放入保留站。相反,如果操作數(shù)還在由前面的指令進行計算,那么就把那條指令的識別信息保存下來。然后,保留站把操作數(shù)齊備、可執(zhí)行的指令依次送到流水線進行運算。即使指令位于前面,如果操作數(shù)沒準備好,也不能開始執(zhí)行,所以保留站中的指令執(zhí)行順序與程序不一致(亂序)。另外,保留站會監(jiān)視執(zhí)行流水線輸出的結(jié)果,如果產(chǎn)生的結(jié)果正好是等待中的指令的操作數(shù),就將其讀入,這樣操作數(shù)齊備后,等待中的指令就可以執(zhí)行了。第二十七頁,共三十九頁,2022年,8月28日流水線13121507張文杰亂序執(zhí)行流水線亂序執(zhí)行

不同的微指令在不同的執(zhí)行單元中同時執(zhí)行,而且每個執(zhí)行單元都全速運行。只要當前微指令所需要的數(shù)據(jù)就緒,而且有空閑的執(zhí)行單元,微指令就可以立即執(zhí)行,有時甚至可以跳過前面還未就緒的微指令。通過這種方式,需要長時間運行的操作不會阻塞后面的操作,流水線阻塞帶來的損失被極大的減小了。猜測執(zhí)行(if&switch)猜測執(zhí)行意味著當遇到一個分支指令后,亂序執(zhí)行部件會將所有分支的指令都執(zhí)行一遍。一旦分支指令的跳轉(zhuǎn)方向確定后,錯誤跳轉(zhuǎn)方向的指令都將被丟棄。通過同時執(zhí)行兩個跳轉(zhuǎn)方向的指令,避免了由于分支跳轉(zhuǎn)導(dǎo)致的阻塞。第二十八頁,共三十九頁,2022年,8月28日13121507張文杰流水線LDr1,[a];←將內(nèi)存的變量a讀入到寄存器r1(加載)ADDr2,r1,r5;←r1與r5相加,保存到r2SUBr1,r5,r4;←r5減去r4,保存到r1執(zhí)行這類程序時,開頭的加載指令緩存未命中時,將變量a讀取到r1就需要很長時間。而下一條ADD指令要使用r1的值作為操作數(shù),所以在加載指令完成之前,ADD指令無法執(zhí)行。但是,再下一條SUB指令的操作數(shù)r4和r5的值已經(jīng)求出了,利用亂序執(zhí)行,無須等待前面的LD指令、ADD指令就可以執(zhí)行,但ADD指令的操作數(shù)r1正好是后面SUB指令保存結(jié)果的位置反向依賴問題第二十九頁,共三十九頁,2022年,8月28日參考資料13121507張文杰第三十頁,共三十九頁,2022年,8月28日討論線程、進程、多機、內(nèi)核、流水線的關(guān)系0313121785常旭婷16組第三十一頁,共三十九頁,2022年,8月28日共同點:多個、并發(fā)并行:多機系統(tǒng)操作系統(tǒng)層面:線程、進程硬件層面:CPU內(nèi)核、流水線13121785常旭婷第三十二頁,共三十九頁,2022年,8月28日線程與進程的區(qū)別地址空間執(zhí)行二者均可并發(fā)執(zhí)行線程共享進程的地址空間;而進程有自己獨立的地址空間每個獨立的線程有一個程序運行的入口、順序執(zhí)行序列和程序的出口。但是線程不能夠獨立執(zhí)行,必須依存在應(yīng)用程序中,由應(yīng)用程序提供多個線程執(zhí)行控制。13121785常旭婷資源擁有進程在執(zhí)行過程中擁有獨立的內(nèi)存單元,同一個進程內(nèi)的線程共享進程的資源。第三十三頁,共三十九頁,2022年,8月28日并發(fā)執(zhí)行操作系統(tǒng)的設(shè)計(1)以多進程形式,允許多個任務(wù)同時運行;(2)以多線程形式,允許單個任務(wù)分成不同的部分運行;例如,在一個未引入線程的單CPU操作系統(tǒng)中,若僅設(shè)置一個文件服務(wù)進程,當該進程由于某種原因而被阻塞時,便沒有其它的文件服務(wù)進程來提供服務(wù)。在引入線程的操作系統(tǒng)中,則可以在一個文件服務(wù)進程中設(shè)置多個服務(wù)線程。當?shù)谝粋€線程等待時,文件服務(wù)進程中的第二個線程可以繼續(xù)運行,以提供文件服務(wù);當?shù)诙€線程阻塞時,則可由第三個繼續(xù)執(zhí)行,提供服務(wù)。顯然,這樣的方法可以顯著地提高文件服務(wù)的質(zhì)量和吞吐量。在操作系統(tǒng)的管理下,所有正在運行的進程輪流使用CPU,每個進程允許占用CPU的時間非常短(一個時間片),宏觀上就好象所有的進程都在不間斷地運行一樣。13121785常旭婷第三十四頁,共三十九頁,2022年,8月28日CPU內(nèi)核(核心)是CPU最重要的組成部分,被稱為電腦的大腦。CPU性能核心設(shè)計流水線架構(gòu)設(shè)計CPU所有的計算、接受/存儲命令、處理數(shù)據(jù)都由核心執(zhí)行。13121785常旭婷CPU內(nèi)核及流水線流水線系統(tǒng)最大限度地利用了CPU資源,使每個部件在每個時鐘周期都工作,大大提高了效率。第三十五頁,共三十九頁,2022年,8月28日CPU核心設(shè)計流水線的發(fā)展010203一定量地減少流水線深度后PC時代,是移動運算高發(fā)展的時代,所以CPU應(yīng)該向低功率,高性能的方向發(fā)展,所以流水線深度可能更小,但CPU采用更好的架構(gòu)以及更高的工藝來制造,達到和長流水線一樣甚至更高的性能。更多條數(shù)的流水線流水線條數(shù)的增加,使CPU在相同的時間內(nèi)完成更多的工作,相當于提高了CPU的性能。CPU線程的提高CPU線程會越來越多,多線程的使用,使CPU的流水線效率和速度得到了很大的提高,所以未來CPU可能會出現(xiàn)一個CPU8個、16個、32個甚至64個線程的情況。13121785常旭婷第三十六頁,共三十九頁,2022年,8月28日CPU內(nèi)核與線程超線程技術(shù)一般處理器,都是幾個核心,那就有幾個線程。但是由于處理器技術(shù)發(fā)展越來越快,就誕生了一個“超線程”技術(shù)。如果是一核心一線程的話,那么核心在工作時,難免會有空閑、休息的時候。但是我們不想讓它(核心)休息,就可以用超線程技術(shù),給核心更多的線程,讓處理器的利用率更高,從而提升處理器的能力。;超線程HT(Hyper-Threading)技術(shù)是在單個核心處理單元中集成兩個邏輯處理單元,也就是一個實體內(nèi)核(共享的運算單元),兩個邏輯內(nèi)核(有各自獨立的處理

溫馨提示

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

最新文檔

評論

0/150

提交評論