瀏覽單個文章
alience
Power Member
 

加入日期: Mar 2003
您的住址: 台北
文章: 597
回覆: Prescott架構的問題(爬文ed)

引用:
Originally posted by IceOnly
假設我們有個k-stage的pipeline,每clock cycle time為T.
現在我們有n條指令(or task)
則時間應為k*T+(n-1)*T=(k+n-1)*T

而沒pipeline時間為n*k*T

因此速度增加的比率為n*k*T/(k+n-1)*T
對n取極限(->無限大),得出k,即理論上k條pipeline會比無pipeline快上k倍
------------------------------------------------------------
為什麼我要提這?
因為之前看某大大說prescott是因為stage多總和時間變長
效能才低落
有點和上面起衝突


你說的是在完全理想的狀況下的確是這樣沒錯(計算機概論有教)
但是真實的程式也許許多多的分支
譬如說當要等上ㄧ行的值出來才能算這一行的值時
它的31階管線就變成致命傷了(在等待值的時候管線全空不能跑)
而在程式中分支出現的機率相當大
當初有人算過約在8階管線可以達到最好的IPC
超過或減少都會損失IPC
目前P4的管線過程以至於在面對複雜的運算的時候效能爛八八也是這樣
即使不斷用時脈彌補
但是很多地方仍不及時脈低ㄧ大截的其他cpu
你應該是剛開始學或看計算機架構吧
那些說到的都是最基本的理論部份
真實cpu效能分析沒那麼簡單
所以才會造成您的疑惑
 
舊 2004-04-27, 07:13 PM #2
回應時引用此文章
alience離線中