引用:
作者ianme
HT主要是多加上一組邏輯運算單元,利用判斷的方式,來把工作給他切一部份給兩個邏輯運算器使用...我表達的不是很好。
這個概念在微處理機裡其實早就有了,這是屬於硬體式的多工概念,利用分時分部分工來達到多重處理的目的。
那這個軟體把最高負載給他降下來,剩下的部份CPU是不是會自動去執行下面的東西?在沒有使用到重複的單元的狀況下,其實這個角度下也是多工了。
HT也是還是會遇到無法發揮功能的時候,就是真的沒法分部來執行時。所以HT若是未配上專為其設計的軟體,就搞不好還會變的更慢的原因就在於此。
HT不是虛擬雙CPU歐!他是基於NetBurst架構下為了使管線利用能夠更好而做的小小修改,這個已經是既有的概念,沒那麼偉大吧??微處理機課本裡都有阿。分部分時多工的概念。
|
P4 是因為硬體設計的關係, 管線過深會造成執行空檔過大, 用另一條 thread 來插入, 不至於讓 CPU 因為分支預測錯誤浪費過多的效能.
以優先權的概念來看, HT 是讓兩個 thread 的優先權再排一次, 當正在跑的 thread 因為某些因素如分支預測錯誤或是產生空檔, 可以馬上讓另一個 thread 補上執行. 概念跟優先權其實相通. 因為你單 CPU 單核, 同一時間, 同一 cycle, 還是只能執行單一個 thread 的一個指令.
作業系統跟硬體是息息相關的, 要懂作業系統, 就不能不了解硬體.