逆超線程技術理論上可以實現嗎,現實中困難點是什麼?


如果我沒理解錯的話,這兒的「逆超線程」指的是「利用空閑核心進行投機執行以加速單線程程序」。而這項技術是可以實現的,只是效果不佳罷了。

簡單解釋一下其原理:結合編譯器技術同時在多個核心上投機執行不同路徑的代碼。比如遇到一個數據依賴的分支時,需要等到分支前的計算結果完成才能繼續執行接下來的指令。然而投機執行則是猜測性的執行接下來某條路徑上的代碼,當利用多核技術同時執行多條路徑時,即可以達到加速單線程程序的效果。

具體可以參見 PACT"09 上 這篇 Intel 的論文:http://arco.e.ac.upc.edu/wiki/images/e/e7/Madriles_pact09.pdf?

一篇中文的介紹性文章可以看這篇:單線程提升41% Intel逆超線程技術解析

這樣一項技術的局限性也很明顯:

  1. 需要為CPU加入特殊部件。這會佔據晶元面積,雖然上文中並沒有給出相關的面積數據。
  2. 依賴於編譯器。也就說需要使用特定編譯器來編譯串列代碼,鑒於已有各種自動並行的編譯器設計,這種投機執行的方法是否更為有效是要打上問號的。
  3. 效率低下。現代處理器設計時更為關注單位功耗的性能,比起加入額外部件、同時打開兩個核心帶來的功耗增加,45%的理論性能提升是否值得?

類似的研究其實還有不少,比如有人會研究利用空閑核的投機執行來提高 Prefetch 的效果:http://cseweb.ucsd.edu/users/swanson/papers/ASPLOS2011Prefetching.pdf 。總的來看,最大程度利用多核CPU的空閑運算資源算是一個不錯的切入點。特別是近來非對稱結構的CPU,CPU與GPU結合的設計大量出現後,之前提到的效率問題可以得到很好解決(如大核執行程序、小核用來投機執行)。


只想到了AMD的推土機那貨,四模塊八線程,每個模塊有一個共享256bit的浮點FAMC單元,平時運行時每個線程分128bit,必要時合併256bit。

推土機每模塊四發射,只是想做沒核心四發射做不成的妥協了,AMD之前三發射時利用率就不高,單核四發射也做不出(K8L設想是四發射,但是流產了,Intel倒做出來了,不過intel相對於amd在cpu領先 不止這點)


微型計算機:逆向超線程技術走向實用化?-科技-讀覽天下

主要難題有:

1、與現有軟體的兼容性,指令翻譯層的設計。

2、指令切分

3、推測執行


First off, there"s no way this would work the way the author seems to think it would. How would the cores" pipelines support this in any phase of execution? In the fetch phase, there would have to be some arbitration mechanism whereby the two cores fetched alternate instruction blocks from the I-cache, thus distributing the instruction stream across two processors.

Then, once the instruction stream is fragmented inside the two cores, how are the register files kept in sync? If an add in one line of code writes its result to a register in one core, then how could a test instruction in the other core read that distant register to see if it needs to branch? Or how would out-of-order execution work across two cores? Would the instruction schedulers have their own separate bus to communicate over?

From: Reverse hyperthreading? Um, no.


推薦閱讀:

復旦大學團隊成功研發世界第一個半浮柵晶體管(SFGT)
復旦大學團研發的世界第一個半浮柵晶體管很厲害嗎?

mesi協議的約束範圍?
為什麼筆記本電腦的 CPU 都變得不可更換了?
日本是否製造 CPU?在國際市場上是否有名?
EVGA GTX590 3G 目前是否還值得入手?

TAG:中央處理器CPU | 計算機科學 | 並行計算 |