C 學習(六十八)超執行緒

2021-09-27 12:20:13 字數 860 閱讀 1410

一、什麼是超執行緒

超執行緒(ht, hyper-threading)是英特爾研發的一種技術,於2023年發布。超執行緒技術原先只應用於xeon處理器中,當時稱為「super-threading」。之後陸續應用在pentium 4 ht中。早期代號為jackson。

通過此技術,英特爾實現在乙個實體cpu中,提供兩個邏輯執行緒。之後的pentium d縱使不支援超執行緒技術,但就整合了兩個實體核心,所以仍會見到兩個執行緒。超執行緒的未來發展,是提公升處理器的邏輯執行緒。英特爾於2023年發布的core i7-6950x便是將10核心的處理器,加上超執行緒技術,使之成為20個邏輯執行緒的產品。

英特爾的多執行緒技術是在cpu內部僅複製必要的資源、讓兩個執行緒可同時執行;在一單位時間內處理兩個執行緒的工作,模擬實體雙核心、雙線程運作。

超執行緒本質上是硬體上的行為,其數量不是任意的,受限於硬體水平。和程式設計開發中使用的多執行緒不是一回事,多執行緒可以是任意數量。

二、為什麼要超執行緒

intel自pentium開始引入超標量、亂序執行、大量的暫存器及暫存器重新命名、多指令解碼器、**執行等特性;這些特性的原理是讓cpu擁有大量資源,並可以預先執行及平行執行指令,以增加指令執行效率,可是在現實中這些資源經常閒置;為了有效利用這些資源,就乾脆再增加一些資源來執行第二個執行緒,讓這些閒置資源可執行另乙個執行緒,而且cpu只要增加少數資源就可以模擬成兩個執行緒運作。

p4處理器需多加乙個logical cpu pointer(邏輯處理單元)。因此p4 ht的die的面積比以往的p4增大了5%。而其餘部分如alu(整數運算單元)、fpu(浮點運算單元)、l2 cache(二級快取)並未增加,且是共享的。

三、如何實現超執行緒

超執行緒技術的cpu需要晶元組、作業系統和應用軟體的支援,才能比較理想地發揮該項技術的優勢。

題解六十八

給定單向鍊錶的頭指標和乙個要刪除的節點的值,定義乙個函式刪除該節點。返回刪除後的鍊錶的頭節點。注意 此題對比原題有改動 示例 1 輸入 head 4,5,1,9 val 5 輸出 4,1,9 解釋 給定你鍊錶中值為 5 的第二個節點,那麼在呼叫了你的函式之後,該鍊錶應變為 4 1 9.示例 2 輸入...

《劍指Offer》題六十一 題六十八

六十 一 撲克牌中的順子 題目 從撲克牌中隨機抽5張牌,判斷是不是乙個順子,即這5張牌是不是連續的。2 10為數字本身,a為1,j為11,q為12,k為13,而大 小王可以看成任意數字。六十二 圓圈中最後剩下的數字 題目 0,1,n 1這n個數字排成乙個圓圈,從數字0開始,每次從這個圓圈裡刪除第m個...

第六十八周學習生活總結(再見 朋友)

今天是2020年8月31日,這次的記錄有些憂鬱,因為正在寫部落格的我此時心情有些低落。在家的時候總想著開學,如今開學就在眼前,我反而多了許多許多不捨。這幾天的夜晚,放下手機到睡著的那段時間,我的大腦一直很緊張,不知道為什麼的緊張,就好像我一旦睡著,再醒來就要開學了,總之這種思想一直在我腦海裡揮之不去...