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

加入日期: Dec 2001
文章: 427
引用:
作者flatmode
基本上要增加單緒效能得從以下著手

increase architectural register naming or larger general purpose register(像arm64, mips and power一樣 因為x86很缺 register naming)

more instruction decoder/ integer pipeline/issue port(i社採用4+1+1+1已經過時了 , 更多條管線與更多decoder也會增加ipc)

增強scheduler的亂緒resource分配(基本上instruction decode 會更有效率)

branch prediction

cache hit rate miss and latency(i社32kb instruction + 32kb data用了8年了 是時候要改了)

more register renaming + enhance out of order(基本上如果front end餵不飽是沒用的)

more ALU/AGU (同上)

new instruction set (對常用的legacy code 沒幫助)

increase clock speed (要拉時脈必然要加深管線 管線變深效率變低功耗變高 一種惡性循環)


這些東西AMD也都知道,
只不過,電路設計不設計得出來,
是個大問題,
光一個cache的延遲、頻寬,
AMD就輸intel好幾個level了;
記憶體控制器也是個問題,
自從intel CPU內建mc之後,
記憶體的有效頻寬,
AMD在這部分好像不曾贏過。
至於pipeline的數目與深度,
太深跟太多都會增加延遲、電路設計的複雜度,
而且再牽扯到oooe,
branch prediction要是做得太糟,
那就會遇到pipeline時常得清掉的窘狀,
等於做白工.....
綜合以上各點,
設計出來的東西,得要經過微調再微調,
不然根據理論上設計出來的東西,
可能會類似推土機架構那樣,
表面上的輸出量很大,實際上卻會遇到一堆問題。
舊 2015-04-02, 03:40 PM #60
回應時引用此文章
nanri離線中