超線程技術到底是什麼?

messi668


超線程技術到底是什麼?


我們在選購電腦時會經常聽到CPU是幾核幾線程的介紹,然而很多人對這個參數並不是特別理解,下面我們舉個例子,比如四核八線程,這個參數的主要意思如下:

  1. 四核是指的CPU內核,是真實存在的物理內核,每個內核都相當於一顆單核CPU。
  2. 線程則是計算機程序執行的最小單元,我們平常運行的程序被稱為進程,一個進程可以包含一個或多個線程,而每顆CPU核心在同一時間內只能處理一個線程。
  3. 四核八線程則是指CPU支持超線程技術,可以把四個內核模擬成八個核心來使用,這樣在同一時間內就可以並行處理八個線程,提高CPU的運算速度。

上面三條對CPU的核心和線程做了簡單的介紹,那麼是不是四核八線程相當於真正的八個核心呢?肯定不是,請往下看。


超線程技術的意義在於有效的利用了CPU閒置的資源,比如說單核CPU在單位時間內處理一條簡單的程序時,只能利用到20%的硬件資源,其餘的80%就被閒置了,形成了資源浪費的情況。而利用超線程技術後,可以把CPU模擬成兩個邏輯核心,這樣就可以在同一時間內利用一顆核心資源並行處理兩條程序,大大的提高了運算效率。

然而這種方式只能在CPU資源有閒置的時候有效,如果兩條程序同時訪問同一個資源時,就只能講究個先來後到了,必須等一個用完另一個再用,所以利用超線程技術模擬出的邏輯核心畢竟不是真正的核心,並不能和真正的多核CPU相提並論,而且還必須要計算機操作系統和應用軟件都支持超線程技術才可以使用。比如四核八線程實際體驗中也就相當於多了一顆核心。

形象的理解超線程技術

我們可以把單核CPU工作理解為人在挑水,如下:

  1. 當一個人拿一隻桶提水時,這是單核心單線程。
  2. 當一個人拿兩隻桶提水時,就相當於單核心雙線程,支持超線程技術。
  3. 一個人提兩桶水不只要有兩隻手,還需要有兩個桶,這就相當於必須要操作系統和應用軟件都支持超線程技術才能實現。
  4. 一個人提兩桶水畢竟不如兩個人提兩桶水,所以單核雙線程不如雙核心CPU強大。
綜上所述,超線程就是利用了CPU閒置資源的一種技術,雖然可以有效的提高性能,但不如提高核心數強大。

電子維修


計算機中CPU可以調度的最小單元是線程,Intel在2002年把超線程從服務器引入消費級市場,旨在提高CPU的執行效率來加快速度!


通常一個CPU同一時間只會執行一條指令,而這一時間的指令可以被看做一個線程,超線程HT技術利用CPU的閒置資源來提高CPU的執行效率,達到一個CPU在同一時間可以並行的執行兩條指令。這樣就可以用同樣頻率得到更快的速度!

雖然超線程是一個利用閒置資源的邏輯的概念,不能等同於真正的多核心,但是在Windows看來就是多個CPU本身,多線程也被Windows用來當做真實的CPU來調度執行。


風來了156


ht技術並不是什麼新技術,在cpu130納米年代就出現的技術,簡單說就是intel的cpu太優秀在本來一個物理內核出模擬成兩個完全並行的虛擬內核進行多任務處理的方式而已。由於amd的處理能力不得不做出兩個物理核心來進行多任務操作,這一代amd的cpu都冠以xxxx+ 的cpu形式,讓消費者誤以為他的cpu頻率很高,intel不得不用一種更加高深的ht技術名詞來忽悠消費者。告訴你一個規律,只要說明書上出現大量的專業的你看不懂的專業名詞,就可以確定這是商家忽悠消費者的一種手段,其實對於普通消費者而言,運行程序卡不卡好不好用耐不耐用是唯一的評判標準,縱使你的說明說的天花亂墜,不好用就是不好用,這才是消費者的態度。至於那些專有名詞,也許真正搞技術的人都不一定明白,有時候就是一種忽悠人的手段,比如極高佔用的情況下超線程技術是否真正提高效率本來就是一個很難判斷的事情,從這點來看多核心技術也是如此。主要還是看綜合發展,架構帶寬算法工藝缺一不可,只有intel才能用最簡單的方法忽悠大眾消費者,因為他們的cpu足夠優秀所以他們說什麼就是什麼。


彭潔林


現代CPU為了提高處理速度,廣泛採用“超標量”微體系結構,提供若干套執行部件,比如三個整數ALU,兩個浮點ALU,兩個Load/Store部件,幾百個寄存器等等,解碼器從內存中取出超過一條指令同時併發執行,也就是所謂的“多發射”,這樣宏觀上看,cpu就可以同時執行三個整數運算,兩條浮點計算,再同時向內存寫結果讀數據,多美好啊……

現實是殘酷的,很多時候沒那麼多指令可以同時執行,或者因為前後指令之間的相關性,後一條指令要等前一條的結果作為輸入,這樣CPU裡提供的一大堆部件就有一部分在閒置,這怎麼行?於是就想辦法,另外增加一些部件,可以執行另外一套程序,爭取把閒置的部件也利用起來,這就是所謂的SMT,Intel的術語叫超線程。x86資源少,只同時跑兩個。IBM那邊可以同時跑四個和八個。

對於操作系統的調度器而言,可以把這些多出來的處理能力當作是普通的多處理器SMP看待,跟普通CPU核心一樣調度處理,用戶看來就是多了一個核心。

SMT比起真正的物理SMP當然是效率不高,但是能多一點是一點嘛。

具體細節,可以按照這些縮寫關鍵詞去閱讀一些計算機體系結構的教材。


老饅頭簸箕


超線程技術就是CPU內虛擬出許多物理內核CPU,然後分配資源給虛擬的內核同時進行運算提升性能,這樣可以充分利用CPU的資源。

如果程序沒有運行完畢中途終止或替換優先級時,這時超線程反而會減少一些性能。所以物理多核CPU現在還是最好,而且超線程需要CPU、芯片和軟件配合使用。


清羽庭


是英特爾研發的一種技術,通過這個技術,英特爾實現在一個實體CPU中,提供兩個邏輯線程。之後的Pentium D縱使不支持超線程技術,但就集成了兩個實體核心,所以仍會見到兩個線程。


分享到:


相關文章: