大家都知道超線程技術對多任務處理有優勢,但是如果我們運行單線程運用軟件時,超線程技術將會降低系統性能,對于不支持多處理器工作的軟件在雙處理器上運行時出錯的概率要比單處理器上高很多一起來看看小編為大家推薦的超線程、多核、多處理器的區別的教程吧。
1、超線程技術
每個單位時間內,CPU只能處理一個線程(Thread)。除非有兩個核心處理單元,否則要想在單位時間內處理超過一個的線程是不可能的。
超線程HT(Hyper-Threading)技術是在單個核心處理單元中集成兩個邏輯處理單元,也就是一個實體內核(共享的運算單元),兩個邏輯內核(有各自獨立的處理器狀態),在一顆CPU同時執行多個程序而共同分享一顆CPU內的資源,理論上要像兩顆CPU一樣在同一時間執行兩個線程,P4處理器需要多加入一個Logical CPU Pointer(邏輯處理單元)。因此新一代的P4 的面積比以往的P4增大了5%。而其余部分如ALU(整數運算單元)、FPU(浮點運算單元)、L2 Cache(二級緩存)則保持不變,這些部分是被分享的。
圖1超線程技術處理進程
雖然采用超線程技術能同時執行兩個線程,但它并不象兩個真正的CPU那樣,每各CPU都具有獨立的資源。當兩個線程都同時需要某一個資源時,其中一個要暫時停止,并讓出資源,直到這些資源閑置后才能繼續。因此超線程的性能并不等于兩顆CPU的性能。
2、多處理器
多處理器(Multiprocessor)系統由不同芯片上的多個處理器組成。多處理器系統因IT服務器的應用在上世紀九十年代得以普及。在當時,它們是可以插入機架服務器的處理器主板。現在,多處理器系統可以構建在同一塊電路板上,處理器之間通過一個高速通信接口連接。
圖2 多處理器系統具有遠程互聯結構的獨立高速緩存與MMU內存管理單元
多處理器系統的復雜度低于多核系統,因為它們本質是互連在一起的單芯片CPU。多處理器系統的不足在于其高昂的價格,因為它們需要多個芯片,這比單芯片解決方案要昂貴得多。
3、雙核與多核處理器
雙核處理器是指單個芯片上有兩個CPU,而多核處理器則是指在單個芯片上包含任意多個(如2、4或8)CPU的處理器。多核處理器的挑戰在于軟件開發部分。系統性能提升的多少直接與通過多線程編程源代碼的并行程度有關。
圖3 多核處理器共享具有短程互聯結構的高速緩存和MMU內存管理單元
4、總結
超線程由于處理器實際上只有一個核心,能夠提升的效能約為5~15%左右,且萬一發生資源互搶的情形時,整體效能反而會下降。雙核共用cache,程序設計合理性能可能比雙處理器性能更好,多處理器可能還需在兩個cache間傳輸數據,多核和超線程的區別如圖4。
圖 4 超線程和多核區別
以上就是武林網小編為大家講解的關于超線程、多核、多處理器的區別點,需要的朋友快來看看吧,想了解更多精彩教程請繼續關注武林網網站!
新聞熱點
疑難解答