版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 多線程使多個線程以重疊的方式共享單個處理器的功能單元。 7.6 同時多線程q 為實現(xiàn)共享,處理器必須保存各個線程的獨立狀態(tài)。q 硬件必須能夠較快地完成線程間的切換。線程的切 換應該比進程的切換要高效的多,進程的切換一般 需要成百上千個處理器時鐘周期。第章 多處理機 第一種方法:細粒度多線程技術(shù) 它在每條指令間都能進行線程的切換,從而導 致多個線程的交替執(zhí)行。 主要優(yōu)點:能夠隱藏由任何或長或短的阻塞帶來的 吞吐率的損失 主要缺點:減慢了每個獨立線程的執(zhí)行q 目前有兩種主要的多線程實現(xiàn)方法7.6 同時多線程 第二種方法:粗粒度多線程技術(shù) 粗粒度多線程之間的切換只在發(fā)生代價較高、 時間較長的阻塞出
2、現(xiàn)時。 缺點:不能有效地減少吞吐率的損失。 原因:由粗粒度多線程的流水線建立時間的開銷造 成的。由于實現(xiàn)粗粒度多線程的CPU只執(zhí)行單個線 程的指令,因此當發(fā)生阻塞時,流水線必須排空或 暫停。阻塞后切換的新的線程在指令執(zhí)行產(chǎn)生結(jié)果 之前必須先填滿整個流水線。7.6 同時多線程將線程級并行轉(zhuǎn)換為指令級并行 同時多線程技術(shù)是一種在多流出、動態(tài)調(diào)度處理器上開發(fā)線程級并行和指令級并行的改進的多線程技術(shù)。1. 產(chǎn)生的主要原因q 現(xiàn)代多流出處理器通常含有多個并行的功能單元,現(xiàn)代多流出處理器通常含有多個并行的功能單元, 而單個線程不能有效地利用這些功能單元。而單個線程不能有效地利用這些功能單元。q 通過寄存器
3、重命名和動態(tài)調(diào)度機制,來自各個獨立通過寄存器重命名和動態(tài)調(diào)度機制,來自各個獨立 線程的多條指令可以同時流出,而不考慮他們之間線程的多條指令可以同時流出,而不考慮他們之間 的相互依賴關(guān)系;其相互依賴關(guān)系將通過動態(tài)調(diào)度的相互依賴關(guān)系;其相互依賴關(guān)系將通過動態(tài)調(diào)度 機制得以解決。機制得以解決。7.6 同時多線程2. 一個超標量處理器在以下幾種配置時其性能的差別 支持多線程技術(shù)的超標量處理器 由于缺乏足夠的指令級并行而限制了流出槽由于缺乏足夠的指令級并行而限制了流出槽 的利用率。的利用率。 支持粗粒度多線程的超標量處理器 通過線程的切換部分隱藏了長時間阻塞帶來通過線程的切換部分隱藏了長時間阻塞帶來 的
4、開銷。由于只有當發(fā)生阻塞時才進行線程切換,的開銷。由于只有當發(fā)生阻塞時才進行線程切換, 新線程還需要流水線建立時間,所以會產(chǎn)生一些新線程還需要流水線建立時間,所以會產(chǎn)生一些 完全空閑的時鐘周期。完全空閑的時鐘周期。7.6 同時多線程 支持細粒度多線程的超標量處理器 線程的交替執(zhí)行消除了完全空閑的流出槽。由于線程的交替執(zhí)行消除了完全空閑的流出槽。由于在每個時鐘周期內(nèi)只流出一個線程的指令,指令級并在每個時鐘周期內(nèi)只流出一個線程的指令,指令級并行的限制仍然導致一個時鐘周期內(nèi)存在不少的空閑流行的限制仍然導致一個時鐘周期內(nèi)存在不少的空閑流出槽。出槽。 支持同時多線程的超標量處理器 通過在一個時鐘周期內(nèi)調(diào)
5、度多個線程使用流出槽,通過在一個時鐘周期內(nèi)調(diào)度多個線程使用流出槽,從而同時實現(xiàn)線程級并行和指令級并行。從而同時實現(xiàn)線程級并行和指令級并行。 理想情況下,流出槽的使用率只受限于多個線程理想情況下,流出槽的使用率只受限于多個線程對資源的需求和可用資源間的不平衡。對資源的需求和可用資源間的不平衡。7.6 同時多線程圖圖7.16: 7.16: 超標量處理器中的超標量處理器中的4 4種不同的流出槽使用方法種不同的流出槽使用方法q 開發(fā)的基礎(chǔ)開發(fā)的基礎(chǔ): : 使用動態(tài)調(diào)度技術(shù)的處理器已經(jīng)具有使用動態(tài)調(diào)度技術(shù)的處理器已經(jīng)具有 了開發(fā)線程級并行所需的硬件設(shè)置。了開發(fā)線程級并行所需的硬件設(shè)置。 動態(tài)調(diào)度超標量處
6、理器有大量的虛擬寄存器組,可動態(tài)調(diào)度超標量處理器有大量的虛擬寄存器組,可 以用來保存每個獨立線程的寄存器狀態(tài)。以用來保存每個獨立線程的寄存器狀態(tài)。 由于寄存器重命名機制提供了唯一的寄存器標識符,由于寄存器重命名機制提供了唯一的寄存器標識符, 多個線程的指令可以在數(shù)據(jù)路徑上混合執(zhí)行,而不多個線程的指令可以在數(shù)據(jù)路徑上混合執(zhí)行,而不 會導致各線程間源操作數(shù)和目的操作數(shù)的混亂。會導致各線程間源操作數(shù)和目的操作數(shù)的混亂。 多線程技術(shù)可以通過在一個亂序執(zhí)行的處理器上為多線程技術(shù)可以通過在一個亂序執(zhí)行的處理器上為 每個線程設(shè)置重命名表、保留各自的每個線程設(shè)置重命名表、保留各自的PCPC值、提供多值、提供多
7、 個線程的指令結(jié)果提交的能力來實現(xiàn)。個線程的指令結(jié)果提交的能力來實現(xiàn)。7.6 同時多線程同時多線程處理器的設(shè)計q 同時多線程只有在細粒度的實現(xiàn)方式下才有意義q 并發(fā)多個同優(yōu)先級的線程必然拉長單個線程的執(zhí) 行時間 通過指定一個優(yōu)先線程來減小這種影響,從通過指定一個優(yōu)先線程來減小這種影響,從 而在整體性能提高的同時對單個指定的線程性能而在整體性能提高的同時對單個指定的線程性能 只產(chǎn)生較小的影響。只產(chǎn)生較小的影響。7.6 同時多線程q 多個線程的混合執(zhí)行將不可避免地影響單個線程 的執(zhí)行時間 為提高單個線程的性能,應該為指定的優(yōu)先為提高單個線程的性能,應該為指定的優(yōu)先線程盡可能多地向前取指,并且在分支
8、預測失效線程盡可能多地向前取指,并且在分支預測失效和預取緩沖失效的情況下清空取指單元。但是這和預取緩沖失效的情況下清空取指單元。但是這樣限制了其他線程可用來調(diào)度的指令條數(shù),從而樣限制了其他線程可用來調(diào)度的指令條數(shù),從而減少了吞吐率。所有的多線程處理器都必須在這減少了吞吐率。所有的多線程處理器都必須在這里尋求一種折衷方案。里尋求一種折衷方案。7.6 同時多線程q 只要一有可能,處理器就運行指定的優(yōu)先線程。q 從取指階段開始就優(yōu)先處理優(yōu)先線程 只要優(yōu)先線程的指令預取緩沖區(qū)未滿,就為它只要優(yōu)先線程的指令預取緩沖區(qū)未滿,就為它 優(yōu)先取指。只有當優(yōu)先線程的緩沖區(qū)填滿以后才為優(yōu)先取指。只有當優(yōu)先線程的緩沖
9、區(qū)填滿以后才為 其他線程預取指令。其他線程預取指令。q 當有兩個優(yōu)先線程時,需要并發(fā)預取兩個指令流, 這給取指部件和指令cache的設(shè)置都增添了復雜度。 7.6 同時多線程q 設(shè)計同時多線程處理器時面臨的其他主要問題q 指令流出單元也要優(yōu)先考慮指定的優(yōu)先線程,只有 當優(yōu)先線程阻塞不能流出的時候才考慮其他線程。 設(shè)置用來保存多個上下文所需的龐大的寄存器文件設(shè)置用來保存多個上下文所需的龐大的寄存器文件 必須保持每個時鐘周期的低開銷必須保持每個時鐘周期的低開銷 特別是在關(guān)鍵步驟上特別是在關(guān)鍵步驟上 需要保證由于并發(fā)執(zhí)行多個線程帶來的需要保證由于并發(fā)執(zhí)行多個線程帶來的cachecache沖突沖突 不會
10、導致顯著的性能下降。不會導致顯著的性能下降。7.6 同時多線程q 通過研究這些問題還可以了解到 在大多情況下多線程所導致的額外性能開銷是很小在大多情況下多線程所導致的額外性能開銷是很小 的,簡單的線程切換選擇算法就足夠;的,簡單的線程切換選擇算法就足夠; 目前的超標量處理器的效率是比較低的,還有很大的目前的超標量處理器的效率是比較低的,還有很大的 改進余地,同時多線程是獲得吞吐率改進的最有前途改進余地,同時多線程是獲得吞吐率改進的最有前途 的方法之一。的方法之一。7.6 同時多線程同時多線程的性能q 圖7.17表示在超標量處理器上增添8個線程的同 時多線程能力時獲得的性能提高q 圖7.18表示SMT與基本的超標量處理器在主要內(nèi) 部指標利用率和命中率上的對比 7.6 同時多線程q 兩個特點 超標量處理器本身功能十分強大,它具有很超標量處理器本身功能十分強大,它具有很 大的一級大的一級cachecache、二級、二級cachecache以及大量的功能以及大量的功能 單元。僅僅采用指令級并行,不可能利用全單元。僅僅采用指令級并行,不可能利用全 部的硬件性能。部的硬件性能。 同時多線程的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆江西省贛州市博雅文高三第四次模擬考試英語試卷含解析
- 2025屆上海市金山區(qū)高三下第一次測試英語試題含解析
- 江蘇省南通市示范中學2025屆高考語文倒計時模擬卷含解析
- 2025屆皖西省示范高中聯(lián)盟高三最后一卷語文試卷含解析
- 2025屆濱州市重點中學高三3月份模擬考試語文試題含解析
- 2025屆吉林省蛟河市高三3月份第一次模擬考試語文試卷含解析
- 《保險公司早會流程》課件
- 《解熱鎮(zhèn)痛藥和非甾》課件
- 北京市東城區(qū)示范校2025屆高三第二次聯(lián)考數(shù)學試卷含解析
- 2025屆貴州省盤縣四中高考語文四模試卷含解析
- 2023年麻醉科年中總結(jié)和明年工作計劃
- 幼兒園大班數(shù)學上學期期末考試-試題測試
- 《宣傳片制作》課程標準
- 危重病人心理護理與溝通技巧
- 四年級上數(shù)學計算題100道可打印
- 船艇安全用電的基本常識課件
- 海南省的歷史與文化遺產(chǎn)
- 體育教育職業(yè)生涯報告
- 耳硬化癥護理查房
- 浙江省義烏市六校聯(lián)考2024屆八年級物理第二學期期末學業(yè)質(zhì)量監(jiān)測試題含解析
- 光伏并網(wǎng)前單位工程驗收報告-2023
評論
0/150
提交評論