如果問筆者,「真正的K10」Zen微架構到底有哪個地方最讓人感慨萬千,大概就是AMD落後Intel整整「15年(2002年二月 vs. 2017年三月)」的同時多執行緒(SMT)了。去年AMD公佈產品時程圖,確認Zen3已完成開發,並將於2020年下半年採用台積電用上EUV光刻技術的7nm+製程生產,然後網路上就冒出了Zen3將支援「SMT4」的傳言,講的白話一點就是單核心四執行緒,是現有Zen的2倍。換言之,包2顆Chiplet的16核心的Ryzen 9 3950X就是64執行緒,包8顆Chiplet的64核心的EPYC 7742則是駭人聽聞的256執行緒。
其實SMT4不是新概念
聽起來好像很恐怖?可是IBM從Power7就是SMT4了,Power8和Power9則是SMT8,不過Power9有2種組態,包括SMT4 x 24核與SMT8 x 12核。唯一的差別只有IBM Power體系的核心數量沒有AMD Zen家族這麼誇張。從這個角度來看持續發展x86伺服器,還真的是RISC高階產品的超大潛在威脅,EPYC 7742那256MB容量的L3 Cache到底是想逼死誰
那問題來了,假若AMD Zen3真的是SMT4好了,除了工作管理員的邏輯CPU數量更加嚇人外,對AMD有沒有任何好處?過去CPU導入多執行緒架構,無論是粗質多執行緒(發生很長的延遲才切換)、細質多執行緒(一有風吹草動馬上就切)、同時多執行緒(充分利用傳統OOOE處理器內部豐沛的資源),或是失敗的叢集式多執行緒(AMD想省浮點運算器的成本),原因不外乎提高處理器的使用效率,或著提昇整體的吞吐量(Throughput)。
但基本上,無論是何種型態的多執行緒,或多或少都會傷害到單執行緒的效能,意味著更長的延遲(Latency),所以這也是為何過去某些雲端資料中心,即使採用具有多執行緒的處理器,例如支援HyperThreading的Intel桌上型CPU。有時候基於「縮短服務反應時間」的考量,關閉多執行緒功能。單執行緒效率對於一般個人電腦更是重中之重,最起碼還有遊戲需求這個不得不關照的重點市場。
x86處理器的取捨與難處
x86處理器微架構因開發時間漫長,所費不貲,難以針對不同市場開發全新的架構,導致Intel和AMD都必須根據市場需求和公司策略,設法在伺服器、桌機、筆電之間尋求平衡,也必須有所取捨。貿然倍增執行緒數量,恐怕未蒙其利反倒先受其害,光作業系統能否支援加倍的邏輯處理器,恐怕就是一個大問號了。
也因此,除非Zen3在微架構層面有巨大的擴張,類似當年IBM從Power4到Power5的劇烈演進,筆者是對AMD在Zen3提供SMT4這件事,態度有所保留。
當然,我們也不能不排除AMD真的把頭洗下去,但具備調整的彈性,例如同樣核心的EPYC和Threadripper,前者因伺服器需求開SMT4但時脈較低,後者因桌上應用僅SMT2但時脈較高的狀況,這倒是蠻值得各位科科觀察一下的可能性。科科。
如果你對於硬體世界充滿好奇,想多了解這些別的地方看不到的觀點,不妨追蹤我們的最新訊息,填上email看看免費文章不吃虧。
3 則回應