引用:
作者Crazynut
後來不知為何,Intel似乎喪失了早期的成功之道,轉而趨向慢到叫人抓狂的"模擬",這是最令我大惑不解之處。
|
所謂的IA64要靠模擬來執行x86指令,
這件事情其實一半是對一半是錯的。
請看
維基條目
引用:
作者Wiki
Itanium processors released prior to 2006 had hardware support for the IA-32 architecture to permit support for legacy server applications, but performance for IA-32 code was much worse than for native code and also worse than the performance of contemporaneous x86 processors. In 2005, Intel developed the IA-32 Execution Layer (IA-32 EL), a software emulator that provides better performance. With Montecito, Intel therefore eliminated hardware support for IA-32 code.
|
簡單說,2006年以前的Itanium是有硬體相容的x86執行能力,
但因為效能不佳(現世代x86跑得快,實際是內建了很多硬體線路加速常用指令,Itanium的die大到塞不大下這些線路)。
以及考慮到採用Itanium的機器不大常跑x86的東西,所以才拿掉改成軟體模擬。
所以說intel在IA64上面只用軟體模擬x86,錯是在於早期的Itanium是有
硬體線路的,對是在後期的Itanium的確是用軟體模擬的。
至於IA64是不是intel白花錢之類的,這點可能還需要一些時日來看看。
畢竟x86-64這一套,大體上就是原來的x86增大了暫存器的版本。
繼承了軟體沿用上的好處的同時,壞處也是一併吃下來的。
目前除了記憶體支援能力以外,效能幾乎沒有長足進步也是這個原因。
這狀況不同於當年 80286 => 80386 ,保護模式的引進絕對是現代化作業系統的重要基石。
畢竟,如果期望效能大幅度成長,勢必要引入新指令集,(x86指令集成熟多年,對目前的指令能做的硬體加速都到一個極限點了)
為了良好的使用新指令集,程式勢必要改寫甚至重寫,那這樣跟IA64的情況有什麼差別

?
btw
其實摟主轉貼的文章,比較類似 x86 與 IA64(VLIW)的差異,
x86-64應該沒哪個能耐一次執行多指令的
