硬科技:「簡報王」和他們的產地 20年前64位元x86指令集誕生的時刻

2022.02.02 08:42AM
照片中提到了AMDA、x86-64™ Technology、AHDE,跟Advanced Micro Devices公司、新德里管理學院有關,包含了AMD公司、顯示卡、中央處理器、速龍

簡報時代背景:距筆者打字時將近二十年前的2001年秋季微處理器論壇 (Microprocessor Forum),AMD技術長Fred Weber正式對世界揭露了其64位元x86指令集的全貌,也變相宣告了AMD盛世的來臨。

時至今日,64位元x86指令集—姑且不論叫做Intel64、AMD64還是x64—已經歷經將近二十年的光陰 (當筆者打字的時候),時下絕大多數作業系統與應用程式也幾乎64位元化,像nVidia更在2018年4月就宣佈停止提供32位元驅動程式。本期簡報王就帶著各位科科回到AMD公開x86-64指令集的現場。

x86指令集一直有著缺乏資料暫存器的宿疾,無論是整數邏輯運算、浮點運算、與SSE/SSE2都只有八個,而會破壞一個運算元 (如暫存器或某個記憶體位址) 資料的雙運算元格式 (例如A = A + B,原本的A資料會被蓋掉) 更讓這個問題雪上加霜。反觀以目標高效能應用的RISC指令集,如Power、SPARC、Alpha、PA-RISC、MIPS、以及ARMv8,清一色都是標準32個暫存器以及三運算元格式 (C = A + B),像Intel IA-64更是多達128個暫存器 (但這也是難以大幅提昇Itanium處理器時脈的潛在障礙)。

照片中提到了Massive Execution Resources、Floating-Point、Branch,跟迅馳有關,包含了材料、安騰、英特爾、FX!32、中央處理器

AMD透過刪除INC/DEC指令,硬是擠出空間實作REX prefix,提供64位元模式新增暫存器的指令編碼空間,讓x86指令編碼中所有可標定暫存器的3位元欄位,都擴展到了4位元,只要指令多出了REX Prefix這1個Byte,64位元x86處理器即可享受到倍增的資料暫存器。

照片中提到了REX Prefix、Legacy Prefix、Орcode,包含了圖、光輝新指令、英型 スプリング 鉛筆引針式 1-716-1101、MMX、上證三

 

所以當這張簡報登場時,不難想見眾人興奮的心情,即使還是明顯比不上那票RISC指令集。

照片中提到了x86-64 Programmer's Model、AMDA、63,跟Advanced Micro Devices公司有關,包含了寄存器、中央處理器、處理器寄存器、x86、集成電路

 

不過,作業系統與應用程式不一定會用到新暫存器,代表REX並非「必備品」,當啟動新暫存器時,REX會無預警增加指令長度,提高最佳化指令解碼器設計的困難度。AMD發表x86-64時很多人拍手叫好,但實際上因過度重視對32位元的相容性與最低的硬體修改成本 (K8是由K7延伸出來的產物),AMD的擴充手段並不乾淨俐落,日後也同時造成所有 (實質上也就剩下那兩家) x86處理器廠商的困擾。

唯一可以肯定的是,微軟在這件事狠狠的捅了Intel一刀。在2002年微軟深陷反托拉斯風暴,時任AMD執行長的Jerry Sanders在法庭作證與微軟Bill Gates的電話對談內容 (還曾公布在微軟網站),坦承當AMD得知微軟不打算同時支援兩套不同的64位元x86指令集,暗示「如果微軟選了Intel,AMD就出局」,希望以推出Windows CE對應處理器 (Geode系列) 等條件,說服微軟不要選擇Intel的64位元備胎 “Yamhill”,冀望藉此讓AMD的市場佔有率從20%躍升至50%,與Intel平起平坐。

Intel自家的64位元x86指令集 “Yamhill” 的原始樣貌已不可考,裝死中的筆者也沒閒功夫去探勘堆積如山高的專利史籍,但光憑AVX帶給世人的印象,有如克勞賽維茲「戰爭論」唯一定稿的第一章,光靠想像即可深信Yamhill絕對比AMD x86-64緊緻有條理,且具備更佳的實作性與擴充性。Intel在邁進二十一世紀時,一同搞砸Itanium和NetBurst,再被微軟在x86-64補這一槍,讓他們花了近十年才從AMD手上奪回戰略主動權。微軟手上握有作業系統大權的講話份量,由此可見略見一斑。

照片中提到了Intel 80x86 (É 80386)、Legacy Prefix、Escape,包含了圖、x86、微指令、英特爾、中央處理器

首款支援x86-64指令集的K8 “Hammer”處理器整體架構,最大亮點還是整合DDR記憶體控制器與HyperTransport匯流排。

照片中提到了The

 

請各位科科多多仔細盯著不同區域的顏色,因為這和後面解釋管理運作流程息息相關,這也是複習計算機概論和了解指令管線運作細節的好機會。

照片中提到了Processor Core Overview、AMDA、Instr'n,跟Advanced Micro Devices公司有關,包含了速龍 64 架構、皓龍、速龍64、速龍

 

 

管線分成四個區域:擷取指令、執行指令、存取L2快取、存取主記憶體。

照片中提到了

 

 

從L1指令快取擷取指令並解碼成微指令。

照片中提到了Fetch/Decode Pipeline、AMDA、1,跟Advanced Micro Devices公司有關,包含了AMD公司、中央處理器、微處理器、科穆特·庫梅西

 

 

執行單元在執行微指令時,也同時會動用位址計算單元 (AGU) 和存取L1資料快取。拜x86指令集有著非常複雜的定址模式,如何實做出高效能的位址計算器,一直是研發x86處理器的大麻煩。

照片中提到了Execute Pipeline、AMDA、Dispatch,跟Advanced Micro Devices公司有關,包含了AMD公司、中央處理器、微處理器、科穆特·庫梅西

 

存取L2快取時,透過標籤 (Tag) 獲得所需資料區塊的內部位址。後面就都是強迫大家回想起快取記憶體原理的內容了。

照片中提到了L2 Pipeline、AMDA、L2 Request,跟Advanced Micro Devices公司有關,包含了AMD公司、線、字形、黃色、圖

 

記憶體控制器內建在處理器內部,不僅縮短處理器核心存取記憶體控制器的延遲,更可以讓記憶體控制器與核心同時脈,進一步提高效能。

照片中提到了DRAM Pipeline、AMDA、Address to NB,跟Advanced Micro Devices公司有關,包含了AMD公司、Radeon、中央處理器、微處理器

 

這在講動態分支預測,AMD利用「L1指令快取的資料被擠回L2時,L2的ECC形容浪費 (L1指令快取只有Parity偵錯,沒有ECC糾錯)」的特色,將分支選擇器「偷放」在這個欄位,以增強分支預測的記憶體位址涵蓋範圍,兼顧效能與成本,堪稱非常厲害的巧思。這裡也列出四種不同情況的指令擷取管線流程,從循序擷取、預測擷取、計算分支目標位址的擷取、到讓指令白跑的預測錯誤擷取,非常值得一看。

照片中提到了Large Workload Branch Prediction、AMDA、L2 Cache,跟Advanced Micro Devices公司有關,包含了AMD公司、x86、英特爾、中央處理器

強大轉譯後備緩衝區與分頁描述器快取,足以應付分支密集且狂吃記憶體頻寬的伺服器端應用軟體。

 

照片中提到了Large Workload TLBS、AMDA、CR3, PDP, PDE,跟Advanced Micro Devices公司有關,包含了amd opteron建築、皓龍、中央處理器、速龍

 

讓實作多處理器環境與擴充記憶體容量更加容易的HyperTransport匯流排。

照片中提到了CPU With Integrated Northbridge AMDA、DRAM、DRAM,跟Advanced Micro Devices公司有關,包含了超轉運amd、超運輸、皓龍、中央處理器

當北橋記憶體控制器都「包」在處理器晶粒之中,自然也不必擔憂雙核心甚至多核心連接記憶體控制器的頻寬,這也讓AMD打從一開始,就讓K8直奔原生雙核心的設計,更在2004年8月31日就公開雙核心樣品,隔年4月後準時登場,這是AMD x86處理器發展史上最重大的戰略勝利。

 

照片中提到了Northbridge Overview、AMDA、CPU 1,跟Advanced Micro Devices公司有關,包含了內存控制器、電腦內存、中央處理器、內存控制器

 

北橋記憶體控制器的運作流程,包含發出命令與傳輸資料。請注意,每個區塊的顏色依舊對應著前面的管線運作流程。

照片中提到了Northbridge Command Flow、AMDA、CPU O,跟Advanced Micro Devices公司有關,包含了AMD公司、線、字形、動畫片、圖

照片中提到了Northbridge Data Flow、AMDA、CPU O,跟Advanced Micro Devices公司有關,包含了AMD公司、產品設計、產品、線、設計

 

「快取資料一致性協定」對多處理器環境效能有著舉足輕重的影響,而AMD K8的MOESI協定則有著極為出色的表現。

照片中提到了Coherent HyperTransport™、Read Request、AMDA,跟Advanced Micro Devices公司有關,包含了AMD公司、x86、中央處理器、英特爾

 

桌機、筆電和工作站的單處理器系統組態概觀。

照片中提到了

 

雙處理器。

照片中提到了

 

四處理器。

照片中提到了

八處理器。

 

照片中提到了

 

接著就是我們所熟知的故事:AMD迎來x86伺服器市場曾一度擁有高達30%市占率的盛世。

硬科技:做為AMD全盛時期象徵的Opteron處理器:全盛期(2003-2007)

硬科技:做為AMD全盛時期象徵的Opteron處理器:逆轉期(2007-2010)

硬科技:做為AMD全盛時期象徵的Opteron處理器:崩潰期(2010-2017)

據傳AMD的Zen 4將會全面性支援AVX-512指令集,也會有更激進的微架構強化,意味著將與Intel全面決戰,也許Zen 4的簡報也會像二十年前這份一樣的在歷史上享有盛名吧,科科。

1 則回應

你可能有興趣的文章