國產CPU:一文掌握指令集概念

提醒:請之前購買過全店打包架構師技術全店資料打包彙總(全)”的讀者,請憑藉購買記錄在微店留言免費獲取更新(傳送更新打包連結),後續所有更新均免費發放目前44本資料
獲取清單:
現代處理器的主要指令集架構(ISA)包括:x86指令集架構、RISC指令集架構。
  • CISC儘可能將任務一次性做完,高效但費腦(效能高、功耗大);
  • RISC則是將任務拆解,分次做完,雖然對個人能力要求不高(效能低、功耗小),代價是效率更低。
其中,x86可以劃分為x86-32(英特爾)、x86-64(英特爾)、AMD64(AMD)等三種。RISC可以劃分為ARM、MIPS、Alpha、RISC-V。國產CPU在信創市場已形成“四種技術路徑(x86、ARM、MIPS、Alpha)、六大主要廠商(兆芯、海光、鯤鵬、飛騰、龍芯、申威)”的發展格局。

1、x86指令集

第一個方面,x86指令集為了保持二進位制的相容性,即:上一代晶片的應用程式仍然能執行在下一代晶片中,使之前後系列的晶片成為一個“系列機”,擴充套件了許多新的指令,導致x86指令集的規模不斷膨脹。
第二個方面,x86指令集在設計時,採取了一種強指令的方式,即:一條指令可以完成非常強大的功能。例如,一條指令可以完成記憶體不同位置的整個運算過程,或將一塊資料直接從記憶體的一個位置移動到另一個位置,而且這種強大的操作是在1個時鐘週期內完成的。
上圖列出了英特爾官方統計的指令數量變化。在將近40年的發展歷史中,x86由不足200條指令到今天超過1600條指令。
上圖列出了x86指令集的MOV指令種類,其可以跳過一系列底層的微操作,實現一個較為複雜的指令功能。
基於以上的設計理念,x86指令集有以下的優點或缺點。注意,缺點也許是優點,優點也許是缺點,這是馬克思辯證唯物主義的思想。
  • 由於需要相容以往的歷史版本,x86的硬體設計複雜,這也成為了其歷史包袱。但是,塞翁失馬、焉知非福,二進位制的相容性獲得了IBM的強力支援,讓英特爾快速佔領了PC和桌上型電腦市場。
  • 一條指令的功能很強,這降低了對編譯器的要求。另外,不需要考慮那麼多的底層指令,早期的彙編程式設計師面對x86程式設計時也較為輕鬆。
  • 多條高效率的指令並行,讓單個核的效能強大。早期的處理器,單核架構足以滿足應用需求。
  • 必須要大量的冗餘電晶體,以實現這種CISC複雜指令集設計。冗餘的電晶體帶來了大量的面積和功耗開銷。
如今,x86指令集在筆記本、桌上型電腦、伺服器等場景取得了近乎壟斷的優勢,和IBM有著緊密的聯絡。可以說,IBM的選擇成就了x86指令集的今天,併成就了英特爾這家曾經名不見經傳的小公司。
以上兩段文字引自technews、半導體行業觀察,其簡要描述了IBM早期的選擇及其巨大的市場成功。

2、ARM指令集

在上世紀80年代,計算機科學家們分析了大量的程式,發現80%的指令是很少用到的,處理器頻繁地使用20%的那部分指令,比如Load指令、條件分支指令、Store指令、比較指令。如下圖所示,該表格引自《計算機體系結構:量化研究方法(第六版)》。作者是David Patterson、John Hennessy。
因此,早期的RISC指令集、MIPS指令集應運而生,它們砍掉了大量不常用的冗餘指令,只保留了最基本、最常用、功能最簡單的指令集合。基於這種RISC指令集設計的處理器架構代表是ARM架構,為了便於不同客戶進行定製化修改,其每代均會推出以下三個授權版本:
  • Cortex-A核心,面向高效能應用。
  • Cortex-R核心,面向即時系統。
  • Cortex-M核心,面向嵌入式裝置場景。
相比於x86指令集(CISC複雜指令集),ARM這種RISC精簡指令集的變化主要是:
第一個方面,原來大量的冗餘指令,以及由於歷史原因相容的指令,都在統計結果的基礎上予以刪除。
第二個方面,原來的一條x86強指令,在ARM中被多條基本的簡單指令替代。
舉一個例子:CISC提供的乘法指令,呼叫時可完成記憶體a和記憶體b中的兩個數相乘,結果存入記憶體a,需要多個CPU週期才可以完成;而RISC不提供“一站式”的乘法指令,需呼叫四條單CPU週期指令完成兩數相乘:記憶體a載入到暫存器,記憶體b載入到暫存器,兩個暫存器中數相乘,暫存器結果存入記憶體a。
基於以上的設計理念,或者說,在這樣的底層邏輯下,ARM指令集的處理器架構有如下優點或缺點:
  • 砍掉了大量的x86冗餘硬體設計,使得DEC譯碼器的設計更加簡單,節省了大量的面積和功耗開銷。
  • 一條ARM指令的功能更加單一和基本,這種指令相比於x86的強指令可以稱之為”弱指令“,執行這樣的弱指令所需的功耗進一步降低。
  • 由於原來一條x86強指令就可以搞定的事情,在ARM這裡需要多條弱指令組合來做,大幅提高了編譯器的設計難度,同時提高了組合語言程式設計的難度。
  • 由於ARM指令集的處理器,相比於x86指令集的處理器,其在硬體結構上更加簡單,因此,單個ARM核的面積和功耗更小,但是其效能也更弱小。這就導致了我們堆疊多個弱小的ARM核來打一個強大的x86核。

3、RISC-V指令集

RISC架構隨後經歷了RISC-I(1981)、RISC-II(1983)、RISC-III(1984)到RISC-IV(1988)四代,卻始終未能得到重視。但在這個過程中,RISC的設計理念催生一系列新架構如MIPS、IBM PowerPC以及現在統治移動邊緣端的ARM。
21世紀初期,受當時開源運動在作業系統和應用軟體領域取得了巨大成功(如Linux等)的影響,為開源晶片設計帶來了嶄新的前景。
大家認為,RISC-V有望創造繼x86、Arm之後的第三波晶片浪潮。RISC-V的靈活性,對定製化、碎片化場景的支撐力度良好,因此目前主要應用於物聯網等終端領域,但在電腦、伺服器等領域也已經有了一些嘗試。國內RISC-V發展重要事件有:
  • 2018 年9 月 中國RISC-V 產業聯盟宣佈成立。
  • 2018 年11 月 中國開放指令生態(RISC-V)聯盟宣佈成立,由倪光南院士擔任聯盟理事長。
  • 2018 年11月 RISC-V 基金會中國顧問委員會宣佈成立。
  • 2019 年7月 阿里巴巴平頭哥釋出高效能玄鐵910 RISC-V 處理器。
  • 2019 年8月 兆易創新發布全球首個基於RISC-V 核心32 位通用MCU。
  • 2020 年3月 基金會總部從美國搬遷到瑞士,宣稱是規避政治風險。
  • 2023年8 月,RISC-V中國峰會在京開幕,中國工程院院士倪光南、RISC-V國際基金會CEO 卡莉斯塔·雷德蒙德等出席峰會。
  • 2023年11月,阿里平頭哥推出了三款基於RISC-V架構的玄鐵系列處理器,即將大規模商用。
4、指令集總結
這兩種指令集之間的關係就好比是兩種不同的烹飪風格。有些廚房可能更偏向於複雜多樣的烹飪方式,而有些廚房則更喜歡簡單高效的烹飪方式。同樣地,CPU的設計者可以根據不同的需求選擇使用CISC或者RISC指令集來設計CPU,以滿足不同的應用場景和效能要求。
  • x86架構:封閉架構,由英特爾和AMD牢牢掌握話語權,AMD給HG授權zen1架構;VIA(臺灣威盛)曾獲得x86架構Licence授權,後來被Z芯收購;20多年來沒有第四家授權,其他晶片公司想用也用不了。
  • 主流架構,生態好,由於被Intel和AMD壟斷導致封閉狀態,影響了國產x86 CPU廠商的創新程序,目前仍然主要處於“消化、吸收”與“小創新”階段,但其優勢在於能相容Wintel等原有x86生態;
  • Arm架構:開放架構,雖然由Arm公司所有,但授權開放,需要花錢購買。目前,H為和F騰擁有ARM v8架構永久性授權;阿里平頭哥、中興等國內廠商購買了ARM v9 架構IP授權。
  • 主流架構,生態較好,由於開放授權的商業授權模式,使得國產ARM CPU廠商能夠進行更大程度的創新,使得更自主,但需要付出昂貴的授權費。至於是否發展中國自主的ARM v9指令集(進入自主創新階段),目前無法知悉,但考量因素肯定與生態有關,可能還沒有到跟國際ARM生態“脫鉤”階段,畢竟ARM生態在快速追趕x86。
  • MIPS架構:開放架構,目前已開放了MIPS指令集的R6版本,以Wave Computing管理,但也難挽頹勢,最後宣佈終止開發,加入RISC-V基金會。LX前期基於MIPS架構授權研發,後衍生出LoongArch自主架構。
  • 小眾架構,生態弱,加上Wave Computing母公司“叛變”加入RISC-V基金會,國產CPU廠商不得不踏上“自主創新”階段,直接犧牲掉MIPS原本就單薄的生態。自主創新固然難得可貴,但是需要重新構建自主生態,可謂是“任重道遠”。
  • Alpha架構:開放架構,目前已經無實體主張該指令集的權利,但相關專利已被HP、Intel等瓜分。申W前期基於Alpha架構,後衍生出SW64自主架構。
  • 小眾架構,生態弱,加上很早就沒“媽”了(無實體公司運營),所以國產CPU廠商選擇“自主創新”,自然是順理成章!自主創新固然難得可貴,但是單薄的生態,註定只能在小眾市場進行落地。
  • RISC-V架構:開源架構,最特殊,不屬於任何機構或國家,開源免費,想用就用,運營成本全靠基金會的兄弟們幫襯。由阿里平頭哥主導,越來越多的創業公司加入RISC-V架構陣營。
相關閱讀:
申明:感謝原創作者的辛勤付出。本號轉載的文章均會在文中註明,若遇到版權問題請聯絡我們處理。
推薦閱讀
更多架構相關技術知識總結請參考“架構師全店鋪技術資料打包(全)”相關電子書(44本技術資料打包彙總詳情可透過“閱讀原文”獲取)。
全店內容持續更新,現下單“架構師技術全店資料打包彙總(全)”包含伺服器基礎知識全解(終極版)儲存系統基礎知識全解 pdf及ppt版本,後續可享全店內容更新“免費”贈閱,價格僅收259元(原總價499元)。
溫馨提示:
掃描二維碼關注公眾號,點選閱讀原文連結獲取架構師技術全店資料打包彙總(全)電子書資料詳情



相關文章