硬科技:從Linux大神的抱怨瞧瞧Intel是不是真的做錯了(上)

2020.09.16 03:34PM
6243
照片中提到了512b、Intel SIMD ISA Evolution、SIMD,包含了avx指令、高級向量擴展、AVX-512、指令集架構、英特爾

Linux創造者Linus Torvalds「終於」為了x86指令集的版本碎片化這個陳年宿疾抓狂暴走了,他希望為了高效能運算和人工智慧而生的AVX-512「痛苦的死去」。

硬科技:淺談x86的SIMD指令擴張史(上):MMX到SSE
硬科技:淺談x86的SIMD指令擴張史(中):SSE2到SSE4
硬科技:淺談x86的SIMD指令擴張史(下):AVX到AVX-512

源自於1964年IBM首款商業大型主機S/360的「計算機結構(Computer Architecture)」一詞,源自於「指令集架構相同的電腦,可執行相同的應用程式」,因為在S/360誕生之前,每台電腦都有自己獨特的指令集架構,彼此不能相容,意謂一旦更換電腦,軟體都要重新開發,這對熟知80x86的近代個人電腦使用者來說,簡直難以想像,但這些都是在過往歷史中發生過的斑斑史蹟。

作為電腦的「基礎語言」,軟體和硬體之間的「界面(Interface)」,一套長期存活的指令集架構,也會隨著來自於商業市場的應用需求,而逐漸擴充延伸。假若想愛屋及烏、推己及人、希望越多人研製這套指令集的相容處理器,自然也需要公定的版本,以便眾人參照,這也是ARM之所以會成功的重要主因之一,歷代演進都清清楚楚,讓軟硬體開發者都有所依循的標準。

其實這已經不算是新潮的思維。曾在商用Unix市場叱吒風雲的Sun SPARC體系處理器,打從1986年問世之際,其歷代指令集架構版本文件,封面就印著大大的一句 “One Architecture…… Multiple Innovative Implementations”(統一的指令集架構,多種創新的微架構實作),讓Oracle在2017年砍光昔日UltraSPARC處理器研發團隊之後,還遺留了日本Fujitsu的SPARC64家族,使其「香火」不至於中斷(但支撐高階SPARC處理器價值的Solaris作業系統就很難講了)。

在1990年代萌芽的「唯開放才有出路,讓更多人願意共襄盛舉做大生態系統才能長長久久」的觀念,也深深影響了像IBM這些「商業色彩濃厚」的廠商,IBM逐步統合其多頭馬車的RISC指令集,在2001年上市的Power4修成正果,統一RS/6000、AS/400和PowerPC,並推動Power Everywhere,也是知名的案例。

那問題來了,為何這些年來,x86指令集好像都沒有這種東西?從未見Intel和AMD(與眾多涉足過這塊市場的眾多小廠)一同定期發表「版本XXX」,而且Intel和其他競爭者都看似自己搞自己的,像AMD的3DNow!、x86-64、未成真的SSE5,Cyrix的EMMI、MMX-FP,Centaur曾打算過的53個SIMD浮點指令與22個可直接定址浮點暫存器,諸如此類,不勝枚舉。

硬科技:為何Intel的競爭者都要如此辛苦

Intel在1993年發表Pentium時,使用者手冊中那描述新增指令(如知名的CPUID和計算時脈週期的RDTSC)的附錄H,就故意保持空白,導致Cyrix 6x86的指令相容性僅有486的水平,還得逼使軟體廠商為Cyrix撰寫修正程式。講白了就是先天不足,後天失調,除了曾被IBM強迫將指令集授權給第二x86指令集相容處理器供應商,Intel這間公司的基因,徹頭徹尾就毫無「建立x86指令集生態圈」的想法,完全不管他人死活。

假如Intel依舊維持單一處理器微架構通吃全部市場的既定策略也就算了,但當產品開始分眾化,須針對不同市場推出相異的產品,甚至連指令集都會不一樣,那代誌就大條了。至今連Intel的x86處理器都尚未普及、然後AMD也尚未支援的AVX-512,就成為近年來Intel「因商業策略而產生的技術債」的經典案例。

看似流年不利的Intel,不只製程出包,股價暴跌,現在看來這幾年來連產品研發路線都看似陣腳大亂,前陣子還很白痴的在外部託管伺服器外流了20GB機密資料,壓縮密碼還叫做 “Intel123”,套句某部永遠畫不完漫畫的台詞:這個家系的人不是螺絲鬆了,而是根本掉了。

話說回來,各位科科,你們搞的清楚「目前」Intel有哪些x86指令集相容處理器,具備AVX-512嗎?(下期待續)

1 則回應

新品資訊
碗公型鬆餅機
Twelve
1 天前
碗公型鬆餅機