? ?現代處理器的主要指令集架構(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。
關于ARM深入知識,請參考文章“ARM處理器架構和天梯圖解析”、“ARM v8處理器概述、架構、及技術介紹”、“飛騰系和鯤鵬系:國產Arm架構CPU服務器正在崛起”、“收藏:從全球超算戰略看ARM指令架構在HPC領域的發展”、“亞馬遜最新Arm服務器芯片詳解”和“計算芯片變革:ARM取代x86成為趨勢”等。
因此,早期的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。
關于RISC-V深入知識,請參考文章“RISC-V科普:理解開源ISA架構”、“玄鐵RISC-V處理器入門及實踐”、“開放指令集與開源芯片發展報告(RISC-V和MPIS)”、“關于RISC-V和開源處理器誤區解讀”、“深度:RISC-V指令集架構和全球落地”、“深度:RISC-V技術和指令集架構”和“深度報告:RISC-V架構分析(50頁PPT)”。
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架構陣營。
審核編輯:湯梓紅
-
處理器
+關注
關注
68文章
19329瀏覽量
230147 -
cpu
+關注
關注
68文章
10873瀏覽量
212096 -
RISC
+關注
關注
6文章
462瀏覽量
83764 -
指令集
+關注
關注
0文章
226瀏覽量
23389 -
RISC-V
+關注
關注
45文章
2292瀏覽量
46223
原文標題:國產CPU崛起:一文通俗理解指令集概念
文章出處:【微信號:架構師技術聯盟,微信公眾號:架構師技術聯盟】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論