硬科技:Apple M1能否證明SMT是無用的東西

2021.03.10 03:01PM
照片中提到了IBM's POWER5 Micro Processor Design and Methodology、Thread Priority、Single Thread Mode,包含了角度、線、儀表、組織、產品

坦白講,筆者還真的很不想下這個明眼人一看就知道標準答案的標題。對於追求輸出率的伺服器應用來說,將執行緒層級平行化 (TLP, Thread-Level Parallelism) 轉換成指令層級平行化 (ILP, Instruction-Level Parallelism) 的同步多重執行緒 (SMT, Simultaneous Multi-Threading,或稱為同時多執行緒),儘管有一些昂貴的額外代價,像IBM Power5核心比Power4多出24%的功能電路,但SMT仍是提昇超純量處理器的輸出率 (Throughput),最有希望的方法,也是為何Intel、IBM和後來跟進的AMD,有志一同選擇SMT的主因。請各位科科務必莫忘「王者」IBM這個RISC處理器發展邏輯極限的存在。

硬科技:AMD同時多執行緒SMT4是什麼?圖解CPU各種核心與執行緒關係
硬科技:科科應該要知道的Apple M1盲點
硬科技:科科應該要知道的Apple M1盲點 續篇

有讀過當代2位RISC大師的計量方法第三版的科科,也一定會記得發展SMT的主要動機,來自於當今的多重指令派發處理器,通常在功能單元的平行化上,會比單一執行緒來得有效。此外,因為暫存器重新命名和動態排程的緣故,不同執行緒之間所派發的指令,可以不去考慮指令之間的相依性。畢竟動態排程處理器已經存在了很多「現成」的硬體機制,同步多重執行緒能夠利用這些機制,合併TLP的使用來完成多重執行緒,讓不同執行緒發出的指令,能夠在資料路徑中混合執行,激增處理器的整體輸出率。

照片中提到了IBM's POWER5 Micro Processor Design and Methodology、Changes Going From ST to SMT Core、SMT easily added to Superscalar Micro-architecture,包含了角度、線、儀表、組織、字形

如果看不懂以上的文字論述也沒關係。姑且不論SMT並不會提昇單一執行緒的效率這檔事,只要測試軟體沒有將SMT處理器「塞好塞滿」,就等於是少了很大一塊的效能輸出率,這實在沒什麼好爭辯的空間,只要想一想當年單核心的Pentium 4,開啟關閉HyperThreading的差距就知道了。

至於目標行動運算或嵌入式應用的省電處理器 (包含Intel近代的Atom體系小核),會普遍不採用SMT的原因,不外乎降低功耗與降低產品驗證複雜度的考量。假若Apple哪天想不開,打算為了資料中心量身訂做全新的處理器微架構,而非延續A系列的核心,他們還是很難抵抗SMT的誘惑,畢竟這是截然不同的需求。

今天如其「先射箭再畫靶」,以Apple M1的單執行緒表現,做為「SMT無用論」的理論基礎,還不如先想想,為何Intel和AMD都會優先以伺服器做為研發x86處理器微架構的最優先事項,況且還是跟桌機筆電一起共用,沒有額外另開戰線的餘力。這才是在批判「x86架構老舊 (雖然常講這句話的人大概連自己在講什麼「架構」都搞不清楚)」之餘,各位科科最該用力認真思考的大哉問:x86帶給計算機工業的傷害,到底是什麼。

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

行文至此,順便同場加映:M1的確有在硬體層面加持x86指令集的轉譯,其記憶體存取的高效率,奠基於M1也實做了貨真價實的x86-64記憶體管理單元 (MMU),讓人感到有點意外但也不會太奇怪就是了。

硬科技:Apple處理器脫離Intel然後呢?(上):到現在看起來還不像是真的
硬科技:Apple處理器脫離Intel然後呢?(中):任何事都有邏輯的極限
硬科技:Apple處理器脫離Intel然後呢?(下):天才造成的災害叫「天災」

硬科技:以古鑑今 Apple自製晶片的優勢與劣勢(上)
硬科技:以古鑑今 Apple自製晶片的優勢與劣勢(下)

前陣子筆者跟某位死黨喝酒時,酒酣耳熱之際,他就講了一句「如果Apple發神經去做伺服器CPU,我就賣掉手上所有的Apple股票」,就等著看他的鐵口直斷到底靈不靈了。科科。

7 則回應