X軸表pipeline的stage數,



我們可以看到在8Stage的時候,同時脈下效能是最高!!



16 stage的CPU在同時脈下效能約是8 Stage的 78%.



但是現在不是朝向高Stage化嗎?



沒錯,別忘了stage越高,時脈就能拉越高,



如果16 stage可以比8 stage多搾出50%的時脈



(如 在同一製程下,8 stage極限 500MHz,16 stage 極限 750MHz)



那效能還是會超過8 stage的Pipeline.



 



當然stage的分割有限制的.



1.因為data or control的Hazard.前者指資料相依性,後者是Branch prediction時,



會造成等待時間過長,嚴重影響效能(也就是為何16stage在同時脈下反落後8 stage)



要解決這問題,需要強大的Dynamic branch prediction!!



 



2.因為pipeline結構裡,有pipeline register,這些記憶體存取的動作是個瓶頸,



限制了stage無法再無限分割下去.



 



3.目前指令集種類繁多,長短不一,造成分割難以達到說每個stage都一樣的時間,



造成Imbalacing(不平均),



P6架構就是毀在這,相對的K7雖然stage數較小(12:10),



但是由Balance做的很好,所以同製程下時脈可以拉的比P6架構高很多!!



但是,這往往是很困難的,再次向AMD工程師脫帽致敬.

文章標籤
全站熱搜
創作者介紹
創作者 todd08 的頭像
todd08

愛美仕名牌購物中心,[www.aaashops.com],Lv,Gucci,包包,皮夾

todd08 發表在 痞客邦 留言(0) 人氣(4)