多線程使多個(gè)線程以重疊的方式共享單個(gè)處理器的功能單元ppt課件_第1頁(yè)
多線程使多個(gè)線程以重疊的方式共享單個(gè)處理器的功能單元ppt課件_第2頁(yè)
多線程使多個(gè)線程以重疊的方式共享單個(gè)處理器的功能單元ppt課件_第3頁(yè)
多線程使多個(gè)線程以重疊的方式共享單個(gè)處理器的功能單元ppt課件_第4頁(yè)
多線程使多個(gè)線程以重疊的方式共享單個(gè)處理器的功能單元ppt課件_第5頁(yè)
已閱讀5頁(yè),還剩12頁(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、 多線程使多個(gè)線程以重疊的方式共享單個(gè)處置器的功能單元。 7.6 同時(shí)多線程q 為實(shí)現(xiàn)共享,處置器必需保管各個(gè)線程的獨(dú)立形狀。q 硬件必需可以較快地完成線程間的切換。線程的切q 換應(yīng)該比進(jìn)程的切換要高效的多,進(jìn)程的切換普通q 需求成百上千個(gè)處置器時(shí)鐘周期。第章 多處置機(jī) 第一種方法:細(xì)粒度多線程技術(shù) 它在每條指令間都能進(jìn)展線程的切換,從而導(dǎo) 致多個(gè)線程的交替執(zhí)行。 主要優(yōu)點(diǎn):可以隱藏由任何或長(zhǎng)或短的阻塞帶來(lái)的 吞吐率的損失 主要缺陷:減慢了每個(gè)獨(dú)立線程的執(zhí)行q 目前有兩種主要的多線程實(shí)現(xiàn)方法7.6 同時(shí)多線程 第二種方法:粗粒度多線程技術(shù) 粗粒度多線程之間的切換只在發(fā)生代價(jià)較高、 時(shí)間較長(zhǎng)的阻

2、塞出現(xiàn)時(shí)。 缺陷:不能有效地減少吞吐率的損失。 緣由:由粗粒度多線程的流水線建立時(shí)間的開(kāi)銷(xiāo)造 成的。由于實(shí)現(xiàn)粗粒度多線程的CPU只執(zhí)行單個(gè)線 程的指令,因此當(dāng)發(fā)生阻塞時(shí),流水線必需排空或 暫停。阻塞后切換的新的線程在指令執(zhí)行產(chǎn)生結(jié)果 之前必需先填滿(mǎn)整個(gè)流水線。7.6 同時(shí)多線程7.6.1 將線程級(jí)并行轉(zhuǎn)換為指令級(jí)并行 同時(shí)多線程技術(shù)是一種在多流出、動(dòng)態(tài)調(diào)度處置器上開(kāi)發(fā)線程級(jí)并行和指令級(jí)并行的改良的多線程技術(shù)。1. 產(chǎn)生的主要緣由q 現(xiàn)代多流出處置器通常含有多個(gè)并行的功能單元,q 而單個(gè)線程不能有效地利用這些功能單元。q 經(jīng)過(guò)存放器重命名和動(dòng)態(tài)調(diào)度機(jī)制,來(lái)自各個(gè)獨(dú)立q 線程的多條指令可以同時(shí)流出

3、,而不思索他們之間q 的相互依賴(lài)關(guān)系;其相互依賴(lài)關(guān)系將經(jīng)過(guò)動(dòng)態(tài)調(diào)度q 機(jī)制得以處理。7.6 同時(shí)多線程2. 一個(gè)超標(biāo)量處置器在以下幾種配置時(shí)其性能的差別 支持多線程技術(shù)的超標(biāo)量處置器 由于缺乏足夠的指令級(jí)并行而限制了流出槽 的利用率。 支持粗粒度多線程的超標(biāo)量處置器 經(jīng)過(guò)線程的切換部分隱藏了長(zhǎng)時(shí)間阻塞帶來(lái) 的開(kāi)銷(xiāo)。由于只需當(dāng)發(fā)生阻塞時(shí)才進(jìn)展線程切換, 新線程還需求流水線建立時(shí)間,所以會(huì)產(chǎn)生一些 完全空閑的時(shí)鐘周期。7.6 同時(shí)多線程 支持細(xì)粒度多線程的超標(biāo)量處置器 線程的交替執(zhí)行消除了完全空閑的流出槽。由于在每個(gè)時(shí)鐘周期內(nèi)只流出一個(gè)線程的指令,指令級(jí)并行的限制依然導(dǎo)致一個(gè)時(shí)鐘周期內(nèi)存在不少的空

4、閑流出槽。 支持同時(shí)多線程的超標(biāo)量處置器 經(jīng)過(guò)在一個(gè)時(shí)鐘周期內(nèi)調(diào)度多個(gè)線程運(yùn)用流出槽,從而同時(shí)實(shí)現(xiàn)線程級(jí)并行和指令級(jí)并行。 理想情況下,流出槽的運(yùn)用率只受限于多個(gè)線程對(duì)資源的需求和可用資源間的不平衡。7.6 同時(shí)多線程圖圖7.16: 7.16: 超標(biāo)量處置器中的超標(biāo)量處置器中的4 4種不同的流出槽運(yùn)用方法種不同的流出槽運(yùn)用方法q 開(kāi)發(fā)的根底開(kāi)發(fā)的根底: : 運(yùn)用動(dòng)態(tài)調(diào)度技術(shù)的處置器曾經(jīng)具有運(yùn)用動(dòng)態(tài)調(diào)度技術(shù)的處置器曾經(jīng)具有q 了開(kāi)發(fā)線程級(jí)并行所需的硬件設(shè)置。了開(kāi)發(fā)線程級(jí)并行所需的硬件設(shè)置。q 動(dòng)態(tài)調(diào)度超標(biāo)量處置器有大量的虛擬存放器組,可動(dòng)態(tài)調(diào)度超標(biāo)量處置器有大量的虛擬存放器組,可q 以用來(lái)保管每

5、個(gè)獨(dú)立線程的存放器形狀。以用來(lái)保管每個(gè)獨(dú)立線程的存放器形狀。q 由于存放器重命名機(jī)制提供了獨(dú)一的存放器標(biāo)識(shí)符,由于存放器重命名機(jī)制提供了獨(dú)一的存放器標(biāo)識(shí)符,q 多個(gè)線程的指令可以在數(shù)據(jù)途徑上混合執(zhí)行,而不多個(gè)線程的指令可以在數(shù)據(jù)途徑上混合執(zhí)行,而不 q 會(huì)導(dǎo)致各線程間源操作數(shù)和目的操作數(shù)的混亂。會(huì)導(dǎo)致各線程間源操作數(shù)和目的操作數(shù)的混亂。q 多線程技術(shù)可以經(jīng)過(guò)在一個(gè)亂序執(zhí)行的處置器上為多線程技術(shù)可以經(jīng)過(guò)在一個(gè)亂序執(zhí)行的處置器上為q 每個(gè)線程設(shè)置重命名表、保管各自的每個(gè)線程設(shè)置重命名表、保管各自的PCPC值、提供多值、提供多 q 個(gè)線程的指令結(jié)果提交的才干來(lái)實(shí)現(xiàn)。個(gè)線程的指令結(jié)果提交的才干來(lái)實(shí)現(xiàn)。

6、7.6 同時(shí)多線程7.6.2 同時(shí)多線程處置器的設(shè)計(jì) 同時(shí)多線程只需在細(xì)粒度的實(shí)現(xiàn)方式下才有意義 并發(fā)多個(gè)同優(yōu)先級(jí)的線程必然拉長(zhǎng)單個(gè)線程的執(zhí) 行時(shí)間 經(jīng)過(guò)指定一個(gè)優(yōu)先線程來(lái)減小這種影響,從 而在整體性能提高的同時(shí)對(duì)單個(gè)指定的線程性能 只產(chǎn)生較小的影響。7.6 同時(shí)多線程q 多個(gè)線程的混合執(zhí)行將不可防止地影響單個(gè)線程q 的執(zhí)行時(shí)間q 為提高單個(gè)線程的性能,應(yīng)該為指定的優(yōu)先線程盡能夠多地向前取指,并且在分支預(yù)測(cè)失效和預(yù)取緩沖失效的情況下清空取指單元。但是這樣限制了其他線程可用來(lái)調(diào)度的指令條數(shù),從而減少了吞吐率。一切的多線程處置器都必需在這里尋求一種折衷方案。7.6 同時(shí)多線程q 只需一有能夠,處置

7、器就運(yùn)轉(zhuǎn)指定的優(yōu)先線程。q 從取指階段開(kāi)場(chǎng)就優(yōu)先處置優(yōu)先線程q 只需優(yōu)先線程的指令預(yù)取緩沖區(qū)未滿(mǎn),就為它 q 優(yōu)先取指。只需當(dāng)優(yōu)先線程的緩沖區(qū)填滿(mǎn)以后才為q 其他線程預(yù)取指令。q 當(dāng)有兩個(gè)優(yōu)先線程時(shí),需求并發(fā)預(yù)取兩個(gè)指令流, q 這給取指部件和指令cache的設(shè)置都增添了復(fù)雜度。q 7.6 同時(shí)多線程q 設(shè)計(jì)同時(shí)多線程處置器時(shí)面臨的其他主要問(wèn)題q 指令流出單元也要優(yōu)先思索指定的優(yōu)先線程,只需q 當(dāng)優(yōu)先線程阻塞不能流出的時(shí)候才思索其他線程。 設(shè)置用來(lái)保管多個(gè)上下文所需的龐大的存放器文件設(shè)置用來(lái)保管多個(gè)上下文所需的龐大的存放器文件 必需堅(jiān)持每個(gè)時(shí)鐘周期的低開(kāi)銷(xiāo)必需堅(jiān)持每個(gè)時(shí)鐘周期的低開(kāi)銷(xiāo) 特別是在

8、關(guān)鍵步驟上特別是在關(guān)鍵步驟上 需求保證由于并發(fā)執(zhí)行多個(gè)線程帶來(lái)的需求保證由于并發(fā)執(zhí)行多個(gè)線程帶來(lái)的cachecache沖突沖突 不會(huì)導(dǎo)致顯著的性能下降。不會(huì)導(dǎo)致顯著的性能下降。7.6 同時(shí)多線程q 經(jīng)過(guò)研討這些問(wèn)題還可以了解到 在大多情況下多線程所導(dǎo)致的額外性能開(kāi)銷(xiāo)是很小在大多情況下多線程所導(dǎo)致的額外性能開(kāi)銷(xiāo)是很小 的,簡(jiǎn)單的線程切換選擇算法就足夠;的,簡(jiǎn)單的線程切換選擇算法就足夠; 目前的超標(biāo)量處置器的效率是比較低的,還有很大的目前的超標(biāo)量處置器的效率是比較低的,還有很大的 改良余地,同時(shí)多線程是獲得吞吐率改良的最有出路改良余地,同時(shí)多線程是獲得吞吐率改良的最有出路 的方法之一。的方法之一。7.6 同時(shí)多線程7.6.3 同時(shí)多線程的性能 圖7.17表示在超標(biāo)量處置器上增添8個(gè)線程的同 時(shí)多線程才干時(shí)獲得的性能提高 圖7.18表示SMT與根本的超標(biāo)量處置器在主要內(nèi) 部目的利用率和命中率上的對(duì)比 7.6 同時(shí)多線程q 兩個(gè)特點(diǎn) 超標(biāo)量處置器本身功能非常強(qiáng)大,它具有很超標(biāo)量處置器本身功能非常強(qiáng)大,它具有很 大的一級(jí)大的一級(jí)cachecache、二級(jí)、二級(jí)cachecache以及大量的功以及大量的功能能 單元。僅僅采用指令級(jí)并行,不能夠利用單元。僅僅采用指令級(jí)并行,不能夠利用全全 部的硬件性能。部的硬件性能。 同時(shí)多線程的才干也很強(qiáng)大,可以支持同時(shí)多線程的才干也很強(qiáng)大,可以支

溫馨提示

  • 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)論