引用:
作者zergqq
iapx32如果是指iAPX432 ,當年最大阻礙還是同樣source code,iAPX432就是比80286慢
而且還用比較多 transistors, 6 ~ 321bit的可變長度指令要平行解碼就暈倒了...
從以前到現在,mem to mem都比reg to reg慢,不太懂stack會快的理由
|
事實上iapx研發時期極長 從1977年就開始研發直到1992年才放棄的(不過主因是被itanium取代, 而且過於燒錢卻效能比不過x86而終止)而iapx"4"32只是其中一個晚期代號而已 至於stack based的memory to memory對register based不具競爭力的見解是建立在modern processor architecture上 雖然經過optimized後對x86/risc而言同頻依然相對貧弱來說iapx卻是第一個使用cache subsystem跟instruction pipelining的uArh, 而transistor相較286/386來的多也是因為cache的原因 如果拿掉cache的話其core transistor count只有286的一半. 論同期只有inmos transputer跟wdc 65816有這個feature. 至於其他如8086,i386,68k,mips等同期產品由於沒有cache+pipeline雖然在home use上效能強壓stack machine但是在處理raw large data時卻因為integer register相對於cache subsystem而言太小了而顯得雞肋. 而且由於stack machine時脈好拉(300mhz default, 同期i386dx/68k只有16~33mhz )使得以前所有的弱點被暫時掩蓋了. 不過這些優勢在486以後就消失了...... 噢~忘了說iapx團隊就是後來惡名昭彰的netburst創造者.
至於stack machine的fix length opcoding其實最大問題是因為沒有instruction decoder而全靠logical unit暴力執行而產生大量waste cycle...只能說其設計過於短視了