經常關注CPU架構設計的人,必定對超純量(Superscalar)、超執行緒(HyperThreading)、超序執行(Out-Of-Order Execution;OOOE,也稱:亂序執行、非循序執行)等專詞未感陌生,目前的先進CPU幾乎都具備上述的功效機制,否則很難獲得像樣的效能。不過,這些技術中有一項似乎逐漸被棄捨,那就是超序執行。
超序執行的歷史
超序執行最初是在1964年CDC公司的6600型電腦開始具備,之後1966年IBM的360/91型電腦也具備,不過當時尚未有處理器的觀念,執行處理功效只是整體電腦中的一片或數片電路板,還不是一顆晶片,一直到1990年IBM推出POWER處理器(之後為了與POWER2、POWER3區別而寫成POWER1),超序執行的處理晶片才算問世。
之後1992年、93年的PowerPC也具備超序執行,然真正大鳴大放是在90年代中期,如1995年有Intel Pentium Pro、Fujitsu SPARC64,1996年有MIPS R10000、HP PA-8000、AMD K5等,這些CPU都具備了超序執行能力。
至此幾乎只要是資料處理取向(另一相對則為嵌入控制取向)的CPU皆具備了超序執行,唯二例外的只有Intel Itanium/Itanium 2及Transmeta Crusoe/Efficeon,此兩者使用VLIW架構(Intel方面稱為EPIC架構,但學理上與VLIW相似),從指令執行的更源發處進行平行化排程,因此不需要超序執行。
IBM POWER6
如此看來超序執行是CPU設計的效能仙丹,然近年來卻被許多新CPU視為毒藥,例如IBM的POWER5仍有使用超序執行,但到了POWER6卻不再使用,原因是超序執行需要較多也較龐雜的執行電路,而電路機制愈複雜、電路面積愈龐大,就愈不利於CPU的時脈提升。
然而POWER6是一顆高度訴求「以時脈提升效能」的CPU,時脈已突破近年來各業者所無法跨越的4GHz(俗稱時脈撞牆:Clock Wall,或頻率撞牆:Freq. Wall),為了成就極致高速,POWER6捨棄超序執行的設計。(未完,請繼續閱讀下一頁)
繼續閱讀: >>