小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

超能課堂(104):超線程/SMT多線程技術(shù)有什么用?

 超能網(wǎng) 2020-10-28

說(shuō)到超線程技術(shù),大家應(yīng)該都不陌生了,Intel早在2002年推出的Northwood奔騰4 HT處理器就把這一技術(shù)帶入到消費(fèi)級(jí)市場(chǎng),雖然隨后的酷睿2處理器超線程被拋棄,不過(guò)到了2008年推出的Nehalem架構(gòu)Core i7處理器又把超線程技術(shù)帶回到市場(chǎng)上,并一直沿用至今,現(xiàn)在的Core i7/i3、部分奔騰與Atom、還有移動(dòng)版的雙核Core i5與Core M處理器都有超線程技術(shù),AMD最新推出的Ryzen系列除最低端的Ryzen 3外都帶有SMT多線程技術(shù),與Intel的超線程技術(shù)類(lèi)似。

超能課堂(104):超線程/SMT多線程技術(shù)有什么用?

在了解超線程是什么鬼之前我們要先知道線程是什么,Thread線程是操作系統(tǒng)能夠進(jìn)行運(yùn)算調(diào)動(dòng)的最小單位,它被包含在進(jìn)程之中,是進(jìn)程中的實(shí)際運(yùn)作單位,一個(gè)進(jìn)程中可以并發(fā)多個(gè)線程,每條線程并行執(zhí)行不同的任務(wù)。

Intel Hyper-Threading Technology(超線程技術(shù))的學(xué)術(shù)名字是Simulate MultiThreading(SMT,同步多線程技術(shù)),SMT是超線程技術(shù)的學(xué)術(shù)名稱,這兩個(gè)東西是完全一樣的。這技術(shù)的引入是為了更好的利用CPU的空閑資源,Intel從奔騰處理器就開(kāi)始引入超標(biāo)量、亂序運(yùn)行、大量的寄存器及寄存器重命名、多指令解碼器、預(yù)測(cè)運(yùn)行等特性,這些特性的原理是讓CPU擁有大量資源,并可以預(yù)先運(yùn)行及平行運(yùn)行指令,以增加指令運(yùn)行效率,可是在現(xiàn)實(shí)中這些資源經(jīng)常閑置,為了有效利用這些資源,就干脆再增加一些資源來(lái)運(yùn)行第二個(gè)線程,讓這些閑置資源可運(yùn)行另一個(gè)線程。

什么是多線程?

MultiThreading多線程這個(gè)概念有些曖昧,多線程可以指在一個(gè)CPU核心上同時(shí)執(zhí)行多個(gè)線程,也可以是多個(gè)任務(wù),盡管在同一個(gè)核心內(nèi)執(zhí)行,但是它們之間完全分離。多線程在概念上類(lèi)似搶占式多任務(wù)處理,但是在現(xiàn)在的超標(biāo)量處理器中以線程級(jí)來(lái)實(shí)現(xiàn)。

多線程有兩個(gè)主要實(shí)現(xiàn)方法,一個(gè)是Temporal MultiThreading時(shí)間多線程,另一個(gè)則是Simulate MultiThreading同步多線程,時(shí)間多線程還可以進(jìn)一步分為Fine-Grained MultiThreading細(xì)粒度多線程與Coarse-Grained MultiThreading粗粒度多線程。

超能課堂(104):超線程/SMT多線程技術(shù)有什么用?

各種多線程技術(shù)

CMT粗粒度多線程是最簡(jiǎn)單的多線程技術(shù),當(dāng)單一執(zhí)行線程遇到長(zhǎng)時(shí)間的延遲,如Cache Missed時(shí),就進(jìn)行線程切換,直到原線程等待的操作完成,才切換回去。

FMT細(xì)粒度多線程比CMT粗粒度多線程復(fù)雜一些,它隨時(shí)可以在每個(gè)時(shí)鐘周期內(nèi)切換多個(gè)線程,以追求最大的輸出能力,當(dāng)然,隨時(shí)可以切換也是有代價(jià)的,它拉長(zhǎng)了每個(gè)執(zhí)行線程的平均執(zhí)行時(shí)間。

CMT和FMT都沒(méi)有在消費(fèi)級(jí)處理器上面使用,Intel與AMD處理器上使用的都是SMT同步多線程,不過(guò)NVIDIA與AMD的GPU都有使用FMT技術(shù)。

SMT同步多線程具有多個(gè)執(zhí)行單元,CMT和FMT都是在單個(gè)執(zhí)行單元下的技術(shù),不同的線程在指令級(jí)別上并不是真正的“并行”,而SMT則具有多個(gè)執(zhí)行單元,同一時(shí)間內(nèi)可以同時(shí)執(zhí)行多個(gè)指令,可以充分發(fā)掘超標(biāo)量處理器的潛力,因此SMT具有最大的靈活性和資源利用率,不過(guò)處理器也更復(fù)雜。

不過(guò)現(xiàn)在的消費(fèi)級(jí)處理器都是超標(biāo)量處理器,所以要支持SMT其實(shí)在架構(gòu)上不用太多改變:所需的主要添加是在一個(gè)周期中從多個(gè)線程獲取指令的能力,以及一個(gè)更大的寄存器文件來(lái)保存來(lái)自多個(gè)線程的數(shù)據(jù)。并發(fā)線程的數(shù)量可以由芯片設(shè)計(jì)者決定。常見(jiàn)模式是每個(gè)CPU核心有兩個(gè)并發(fā)線程,但一些處理器的每個(gè)核心支持最多八個(gè)并發(fā)線程。

工作原理

對(duì)于單一處理器核心來(lái)說(shuō)來(lái)說(shuō),雖然也可以每秒鐘處理成千上萬(wàn)條指令,但是在某一時(shí)刻,只能夠?qū)σ粭l指令(單個(gè)線程)進(jìn)行處理,超線程技術(shù)能夠 把一個(gè)物理處理器在軟件層變成兩個(gè)邏輯處理器 ,可以使處理器在某一時(shí)刻,同步并行處理更多指令和數(shù)據(jù)(多個(gè)線程),當(dāng)然了實(shí)際效能不可實(shí)現(xiàn)雙倍提升,畢竟干活的核心只有一個(gè)。

超能課堂(104):超線程/SMT多線程技術(shù)有什么用?

邏輯雙核與物理雙核

可以這樣說(shuō),超線程是一種可以將CPU內(nèi)部暫時(shí)閑置處理資源充分“調(diào)動(dòng)”起來(lái)的技術(shù),奔騰4 HT處理器多加入了一個(gè)邏輯處理單元,這讓CPU可以同時(shí)執(zhí)行多個(gè)程序而共享一顆CPU內(nèi)的資源,如:ALU、FPU、 緩存等,當(dāng)兩個(gè)線程都同時(shí)需要某一個(gè)資源時(shí),其中一個(gè)要暫時(shí)停止,并讓出資源,直到這些資源閑置后才能繼續(xù),因此超線程的性能并不等于兩顆CPU的性能。

超能課堂(104):超線程/SMT多線程技術(shù)有什么用?

四個(gè)框框(雙核四線程)的奔騰EE 840在單核還是絕對(duì)主流的2005年看起來(lái)就夸張

在發(fā)布奔騰4 HT處理器的時(shí)候Intel說(shuō)過(guò),超線程技術(shù)只增加了5%的芯片面積,就可換來(lái)15%~30%的性能提升,而后來(lái)的Nehalem架構(gòu)帶來(lái)了全新的超線程技術(shù),得益于指令集分制預(yù)測(cè)技術(shù)與較短的流水線,它擁有比奔騰4好得多的效能,再加上整合了內(nèi)存控制器讓其擁有更大的內(nèi)存帶寬,還有更大的緩存,這樣就更能夠有效的發(fā)揮超線程的作用,Nehalem的超線程可以在增加很少能耗的情況下,讓性能提升20-30%,后續(xù)每一代雖然都有一些小修改,不過(guò)基本上都是Nehalem架構(gòu)的延續(xù)。

超線程的作用

其實(shí)在Intel剛把超線程技術(shù)推向消費(fèi)級(jí)市場(chǎng)的時(shí)候市場(chǎng)反應(yīng)不怎么好,因?yàn)楫?dāng)時(shí)的操作系統(tǒng)和軟件都沒(méi)有對(duì)多線程技術(shù)進(jìn)行優(yōu)化,多數(shù)軟件都是以單線程運(yùn)行,超線程的優(yōu)勢(shì)非但顯露不出來(lái)反而會(huì)因?yàn)榱硪粋€(gè)虛擬處理器搶占資源導(dǎo)致運(yùn)行起來(lái)比沒(méi)超線程的處理器更慢。

這些問(wèn)題隨著這些年來(lái)操作系統(tǒng)和軟件逐步對(duì)多核多線程進(jìn)行優(yōu)化得到改變,特別是Windows 10系統(tǒng)對(duì)多線程優(yōu)化相當(dāng)好,操作系統(tǒng)的調(diào)度器設(shè)置更為科學(xué),多核心多線程的負(fù)載更為平均,你在Windows 10系統(tǒng)下打開(kāi)任務(wù)管理器會(huì)發(fā)現(xiàn) 不論物理核心還邏輯核心的負(fù)載都相當(dāng)平衡,除非是人為指定負(fù)載線程,否則很少會(huì)出現(xiàn)之前Windows 7那樣單核負(fù)載多核圍觀的慘狀。

超能課堂(104):超線程/SMT多線程技術(shù)有什么用?

Windows 10下CPU的負(fù)載相當(dāng)平均

至于超線程的作用其實(shí)還是很明顯的,之前我們對(duì)比測(cè)試過(guò)Core i7-6700K和Core i5-7600K,他們倆的四核與單核Boost頻率是相同的,都是4.0GHz與4.2GHz,區(qū)別就在于超線程的有無(wú)和L3緩存的大小了,至于Skylake與Kaby Lake兩者是沒(méi)有性能上的差別的。

超能課堂(104):超線程/SMT多線程技術(shù)有什么用?

有超線程的Core i7-6700K多線程性能比Core i5-7600K好19%左右,然而超線程技術(shù)在提升處理器的利用率增大吞吐量的同時(shí)也稍微增加了單個(gè)線程的延時(shí),如果只看單線程能力的話Core i5-7600K其實(shí)比Core i7-6700K還好2.8%左右,然而降低這么一點(diǎn)單線程性能讓多線程性能提升這么多這其實(shí)是很劃算的。

太長(zhǎng)不看版:

簡(jiǎn)單地說(shuō),超線程技術(shù)是一個(gè)很好的提升核心利用率的東西,將閑置處理資源充分調(diào)動(dòng)起來(lái),增強(qiáng)核心并行運(yùn)算性能,在操作系統(tǒng)中一顆物理CPU能當(dāng)做多顆CPU來(lái)使用。

超線程有什么好處呢:

· 有效提升CPU利用率

· 改善計(jì)算機(jī)的性能

· 提高系統(tǒng)可靠性

比如奔騰G4560這種雙核在擁有超線程之后性能暴增,在低端入門(mén)市場(chǎng)相對(duì)受歡迎,雙核四線程的處理器能夠?qū)?yīng)大多數(shù)輕量級(jí)日常應(yīng)用。當(dāng)然隨著核心數(shù)目增多超線程的作用就越弱,特別是那些八核或者核心數(shù)更多的處理器,十六個(gè)框框看起來(lái)很爽然而實(shí)際上用起來(lái)很多線程都是空載的,大多數(shù)消費(fèi)者與應(yīng)用都沒(méi)法很好的利用這么多線程的性能,目前只有視頻和3D渲染軟件和壓縮軟件有能做到,軟件還是制約硬件性能的最大因素。

另外,超線程技術(shù)需要CPU支持,需要主板支持,需要操作系統(tǒng)支持,還需要應(yīng)用軟件支持,缺一不可,否則就玩不轉(zhuǎn)了。

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多