Major Member
|
我還想繼續講下去 , 真是越寫越起勁 , 反正都已經overnight了就繼續吧!!
也許有人會想問AMD的 K8&K7 和INTEL的Pentium-M 既然本來就這麼強了那學INTEL P4加上HT不就是如虎添翼嗎 ?? 為什麼他們不加上去呢 ?? 既然Hyper-Threating根本就是天才想出來的東西 , 天才想出來後再由後面這些蠢材加以仿製不就得了嗎 ?? 反正INTEL和AMD有技術相互授權的規定那為什麼AMD不加呢 ????
答案就是上面提到的三種CPU全部都是管線短的精緻型CPU , 不像P4是大老粗的超長管線 , 反正就是用超高時脈硬是提高效能就對了 !!
其實P4+HT幾乎可以說是不得不為之 , 因為管線長的原因導致分支預測既容易錯誤又費時 , 每一個cycle花的時間可以說是長的可以 , 這一點可以由同為P4的Northwood轉成Prescott die後在同一時脈還少512KB L2 cache還贏Prescott得到印證 , 因為Prescott為了拉高時脈不得不加深管線 , 而且是誇張的深 !!
像在此時在每一個cycle都很費時的時候加上H.T.就可以讓他擬補這個缺陷 , 可以讓CPU處理速度快許多 , 特別是multi-threading process時更加明顯 !!
然而在精緻型短管線時H.T.就有加跟沒加差不多了 , 更何況在最需要H.T.的P4中也只能提供avg.15% performance increasing時有更顯得加上H.T.需求的薄弱 , 與其加上H.T.到不如選擇Dual-core or Multi-core來的有進步感 , 而這正是AMD和Pentium-M未來要走的路 !!!!
因為短管線處理multi-threading時每個thread可以迅速的排入排程中並加以處理完畢 , 此時若加上H.T.有時反而顯得多此一舉 , 尤其碰到單執行緒和不可分割執行執行緒的軟體如遊戲時更是有降低效能的危險性 , 所以這些CPU都選擇不加入H.T. !!
由上述可知他們不是不可加而是不想加上H.T. !!!!
---------------------------------------------
再來就是也許有人想過為什麼Hyper-Threading只能在一個排程中排入兩個thread ?? 為什麼不要4個或8個 ???? 這樣一顆P4開啟task manager就可以看到4個甚至8個cpu usage框框這樣有多爽啊 !!!???
答案就是因為這樣有大幅降低performance的可能存在 , 尤其是一般PC更是如此 !!! 因為玩遊戲或是執行非multi-threading capable的軟體時every thread in every cycle幾乎只能拿到四分之ㄧ甚至八分之ㄧ的CPU資源 , 這樣效能會大幅降低 , 但是在server時這樣卻有可能可以增加效能 , 前提是每個使用者不要在同一時間用non-multi threading software來存取server , 要不然速度一樣垮掉 !!! 再者還有原因就是server速度一般來說都不會慢到哪裡去 , 所以這樣算是多此一舉 , 反正本身就是multi-cpu了當然就可以執行multi-threading 囉!!!
就醬 , 我說完了 , 想到了再寫 !!!!
__________________
|