瀏覽單個文章
ianme
*停權中*
 
ianme的大頭照
 

加入日期: Oct 2004
您的住址: 台北
文章: 3,188
1.我想該澄清一個觀點,不管是什麼核心,只要在於X86之下的架構,可說是"不可能"有同時分配的問題的。因為指令執行是序列式的,平時是在於這些指令沒有很相關的關係時才會發生。

2.HT不是虛擬兩個CPU,他是虛擬一個Thread來做"可以"平行處理狀況的執行,本身需要程式有特別為他編寫才能發揮效能。

3.我想HT根管線長短沒有什麼關係,管線只不過是指令分級的程度,跟導入虛擬Thread沒有直接關係。

4.因為管線分的更細了,所以其實有時候指令執行是卡再分時上面,就是序列式的執行,但是其實如果中間比如有一些如邏輯運算的東西可以先做,那是不是可以先做出來存起來備用,如此就有了平行化的處理方式,那麼如果把主序列的指令也這樣做呢?為了完成這樣的想法,所以必須再原有架構上面再虛擬一個Thread(一個通路),當然程式也要這樣寫才有用。程式就必須把它模組化,讓它可以個別來執行,再把他組合起來。

5.一般的無HT技術的處理器那麼如果要全速執行下因為必須指令是一個一個排隊來,雖然可以運用的部份很多,但是需要運用的部份一次都是一個,那其他人就不能用啦,這時就卡住了,雖然是在等待資料,可是因為AS只有一個,那前面就有人用了,所以就算想給其他人用,也是沒辦法,所以他會是滿載的。

但有HT的因為有多了一個AS,那所以還可以給其他人用,一個AS來作主要的事情。所以其實他會是比較輕鬆的,程式雖然還是卡在同一個地方,但是他還有另一個AS可以使用,可以在分配其他項目到位工作的單元,這樣可以盡量填滿整個CPU的大部分結構。在做的時候還是可以分配一些沒用到的給其他人使用,當然這時候我們看到的就不會是滿載了。
舊 2005-07-16, 04:44 AM #209
回應時引用此文章
ianme離線中