專家觀點 硬科技 處理器 x86 指令集 SIMD AVX SSE 硬科技:淺談x86的SIMD指令擴張史(下):AVX到AVX-512 前情提要:淺談x86的SIMD指令擴張史(中):SSE2到SSE4。x86指令集的SIMD擴充,從1997年的MMX一路「堆積」到2008年的SSE4.2,看似已功德圓滿,但其實仍遠遠不足,累積缺陷總計如下: 雙運算元(A = A + B)的宿疾還是沒有解決,限制單一指令的功能,也變相增肥程式碼。 只要處理器的微架構足以負擔,可以一次處理的資料量還是是多多益善,越寬越好。 16個暫存器還是太少,人家古老的RISC可都是32個起跳的。 和真正的「向量(Vector)處理器」相比仍有差距,例如缺乏指定SIMD中需要被處理資料的遮罩(Mask)暫存器。 欠缺從散落在記憶體各處的運算元素「聚集(Gat 痴漢水球 5 年前
專家觀點 硬科技 AMD intel 處理器 x86 指令集 SSE2 硬科技:淺談x86的SIMD指令擴張史(中):SSE2到SSE4 前情提要:淺談x86的SIMD指令擴張史(上)。MMX到SSE有了對應IEEE 754單精確度浮點格式的SSE還是不夠,最起碼,當時的x86處理器還缺了3個重要的關鍵點: 64位元雙倍浮點精確度。 受制於x86指令的編碼,暫存器才少少的8個。 x86的雙運算元(A = A + B)格式,會摧毀其中1個暫存器原本的資料(如例子中的A),要保存資料,需事先搬移到其他的暫存器,增加程式碼體積,更讓第二個問題雪上加霜。 SSE2提供IEEE754 64位元雙倍精確度 2001年隨著Pentium 4而問世的144個SSE2指令解決了第一個問題,包含了一系列的快取記憶體控制指令,並順便擴充了MMX,雖然 痴漢水球 5 年前
專家觀點 硬科技 intel 處理器 作業系統 整數運算 SIMD MMX 硬科技:淺談x86的SIMD指令擴張史(上):MMX到SSE 最近因為PS2上市20週年,又讓人想起當年滿山滿谷「PS2的心臟Emotion Engine是128位元喔,你不懂啦」讓人感到極度無力的高談闊論。 延伸閱讀: PlayStation 2迎接上市20週年 仍是遊戲主機銷售數量記錄霸主 如果按照這個神奇的標準,Intel早在1997年的Pentium MMX就是「64位元x86處理器」,時下支援AVX-512的產品就是「512位元」了,怎麼看都讓人感到莫名其妙。如此簡單的道理,相信各位科科都懂。 事實上,Emotion Engine的核心是「64位元通用暫存器和指令指標器(基於CPU位元數的正常解釋)」的MIPS R4000,「128位元」的是S 痴漢水球 5 年前