? ?現(xiàn)代處理器的主要指令集架構(gòu)(ISA)包括:x86指令集架構(gòu)、RISC指令集架構(gòu)。
CISC盡可能將任務(wù)一次性做完,高效但費腦(性能高、功耗大);
RISC則是將任務(wù)拆解,分次做完,雖然對個人能力要求不高(性能低、功耗?。?,代價是效率更低。
其中,x86可以劃分為x86-32(英特爾)、x86-64(英特爾)、AMD64(AMD)等三種。RISC可以劃分為ARM、MIPS、Alpha、RISC-V。國產(chǎn)CPU在信創(chuàng)市場已形成“四種技術(shù)路徑(x86、ARM、MIPS、Alpha)、六大主要廠商(兆芯、海光、鯤鵬、飛騰、龍芯、申威)”的發(fā)展格局。
1、x86指令集
第一個方面,x86指令集為了保持二進制的兼容性,即:上一代芯片的應(yīng)用程序仍然能運行在下一代芯片中,使之前后系列的芯片成為一個“系列機”,擴展了許多新的指令,導(dǎo)致x86指令集的規(guī)模不斷膨脹。
第二個方面,x86指令集在設(shè)計時,采取了一種強指令的方式,即:一條指令可以完成非常強大的功能。例如,一條指令可以完成內(nèi)存不同位置的整個運算過程,或?qū)⒁粔K數(shù)據(jù)直接從內(nèi)存的一個位置移動到另一個位置,而且這種強大的操作是在1個時鐘周期內(nèi)完成的。
上圖列出了英特爾官方統(tǒng)計的指令數(shù)量變化。在將近40年的發(fā)展歷史中,x86由不足200條指令到今天超過1600條指令。
上圖列出了x86指令集的MOV指令種類,其可以跳過一系列底層的微操作,實現(xiàn)一個較為復(fù)雜的指令功能。
基于以上的設(shè)計理念,x86指令集有以下的優(yōu)點或缺點。注意,缺點也許是優(yōu)點,優(yōu)點也許是缺點,這是馬克思辯證唯物主義的思想。
由于需要兼容以往的歷史版本,x86的硬件設(shè)計復(fù)雜,這也成為了其歷史包袱。但是,塞翁失馬、焉知非福,二進制的兼容性獲得了IBM的強力支持,讓英特爾快速占領(lǐng)了PC和臺式機市場。
一條指令的功能很強,這降低了對編譯器的要求。另外,不需要考慮那么多的底層指令,早期的匯編程序員面對x86編程時也較為輕松。
多條高效率的指令并行,讓單個核的性能強大。早期的處理器,單核架構(gòu)足以滿足應(yīng)用需求。
必須要大量的冗余晶體管,以實現(xiàn)這種CISC復(fù)雜指令集設(shè)計。冗余的晶體管帶來了大量的面積和功耗開銷。
如今,x86指令集在筆記本、臺式機、服務(wù)器等場景取得了近乎壟斷的優(yōu)勢,和IBM有著緊密的聯(lián)系??梢哉f,IBM的選擇成就了x86指令集的今天,并成就了英特爾這家曾經(jīng)名不見經(jīng)傳的小公司。
以上兩段文字引自technews、半導(dǎo)體行業(yè)觀察,其簡要描述了IBM早期的選擇及其巨大的市場成功。
2、ARM指令集
在上世紀80年代,計算機科學(xué)家們分析了大量的程序,發(fā)現(xiàn)80%的指令是很少用到的,處理器頻繁地使用20%的那部分指令,比如Load指令、條件分支指令、Store指令、比較指令。如下圖所示,該表格引自《計算機體系結(jié)構(gòu):量化研究方法(第六版)》。作者是David Patterson、John Hennessy。
關(guān)于ARM深入知識,請參考文章“ARM處理器架構(gòu)和天梯圖解析”、“ARM v8處理器概述、架構(gòu)、及技術(shù)介紹”、“飛騰系和鯤鵬系:國產(chǎn)Arm架構(gòu)CPU服務(wù)器正在崛起”、“收藏:從全球超算戰(zhàn)略看ARM指令架構(gòu)在HPC領(lǐng)域的發(fā)展”、“亞馬遜最新Arm服務(wù)器芯片詳解”和“計算芯片變革:ARM取代x86成為趨勢”等。
因此,早期的RISC指令集、MIPS指令集應(yīng)運而生,它們砍掉了大量不常用的冗余指令,只保留了最基本、最常用、功能最簡單的指令集合?;谶@種RISC指令集設(shè)計的處理器架構(gòu)代表是ARM架構(gòu),為了便于不同客戶進行定制化修改,其每代均會推出以下三個授權(quán)版本:
Cortex-A內(nèi)核,面向高性能應(yīng)用。
Cortex-R內(nèi)核,面向?qū)崟r系統(tǒng)。
Cortex-M內(nèi)核,面向嵌入式設(shè)備場景。
相比于x86指令集(CISC復(fù)雜指令集),ARM這種RISC精簡指令集的變化主要是:
第一個方面,原來大量的冗余指令,以及由于歷史原因兼容的指令,都在統(tǒng)計結(jié)果的基礎(chǔ)上予以刪除。
第二個方面,原來的一條x86強指令,在ARM中被多條基本的簡單指令替代。
舉一個例子:CISC提供的乘法指令,調(diào)用時可完成內(nèi)存a和內(nèi)存b中的兩個數(shù)相乘,結(jié)果存入內(nèi)存a,需要多個CPU周期才可以完成;而RISC不提供“一站式”的乘法指令,需調(diào)用四條單CPU周期指令完成兩數(shù)相乘:內(nèi)存a加載到寄存器,內(nèi)存b加載到寄存器,兩個寄存器中數(shù)相乘,寄存器結(jié)果存入內(nèi)存a。
基于以上的設(shè)計理念,或者說,在這樣的底層邏輯下,ARM指令集的處理器架構(gòu)有如下優(yōu)點或缺點:
砍掉了大量的x86冗余硬件設(shè)計,使得DEC譯碼器的設(shè)計更加簡單,節(jié)省了大量的面積和功耗開銷。
一條ARM指令的功能更加單一和基本,這種指令相比于x86的強指令可以稱之為”弱指令“,執(zhí)行這樣的弱指令所需的功耗進一步降低。
由于原來一條x86強指令就可以搞定的事情,在ARM這里需要多條弱指令組合來做,大幅提高了編譯器的設(shè)計難度,同時提高了匯編語言編程的難度。
由于ARM指令集的處理器,相比于x86指令集的處理器,其在硬件結(jié)構(gòu)上更加簡單,因此,單個ARM核的面積和功耗更小,但是其性能也更弱小。這就導(dǎo)致了我們堆疊多個弱小的ARM核來打一個強大的x86核。
3、RISC-V指令集
RISC架構(gòu)隨后經(jīng)歷了RISC-I(1981)、RISC-II(1983)、RISC-III(1984)到RISC-IV(1988)四代,卻始終未能得到重視。但在這個過程中,RISC的設(shè)計理念催生一系列新架構(gòu)如MIPS、IBM PowerPC以及現(xiàn)在統(tǒng)治移動邊緣端的ARM。
關(guān)于RISC-V深入知識,請參考文章“RISC-V科普:理解開源ISA架構(gòu)”、“玄鐵RISC-V處理器入門及實踐”、“開放指令集與開源芯片發(fā)展報告(RISC-V和MPIS)”、“關(guān)于RISC-V和開源處理器誤區(qū)解讀”、“深度:RISC-V指令集架構(gòu)和全球落地”、“深度:RISC-V技術(shù)和指令集架構(gòu)”和“深度報告:RISC-V架構(gòu)分析(50頁PPT)”。
21世紀初期,受當(dāng)時開源運動在操作系統(tǒng)和應(yīng)用軟件領(lǐng)域取得了巨大成功(如Linux等)的影響,為開源芯片設(shè)計帶來了嶄新的前景。
大家認為,RISC-V有望創(chuàng)造繼x86、Arm之后的第三波芯片浪潮。RISC-V的靈活性,對定制化、碎片化場景的支撐力度良好,因此目前主要應(yīng)用于物聯(lián)網(wǎng)等終端領(lǐng)域,但在電腦、服務(wù)器等領(lǐng)域也已經(jīng)有了一些嘗試。國內(nèi)RISC-V發(fā)展重要事件有:
2018 年9 月 中國RISC-V 產(chǎn)業(yè)聯(lián)盟宣布成立。
2018 年11 月 中國開放指令生態(tài)(RISC-V)聯(lián)盟宣布成立,由倪光南院士擔(dān)任聯(lián)盟理事長。
2018 年11月 RISC-V 基金會中國顧問委員會宣布成立。
2019 年7月 阿里巴巴平頭哥發(fā)布高性能玄鐵910 RISC-V 處理器。
2019 年8月 兆易創(chuàng)新發(fā)布全球首個基于RISC-V 內(nèi)核32 位通用MCU。
2020 年3月 基金會總部從美國搬遷到瑞士,宣稱是規(guī)避政治風(fēng)險。
2023年8 月,RISC-V中國峰會在京開幕,中國工程院院士倪光南、RISC-V國際基金會CEO 卡莉斯塔·雷德蒙德等出席峰會。
2023年11月,阿里平頭哥推出了三款基于RISC-V架構(gòu)的玄鐵系列處理器,即將大規(guī)模商用。
4、指令集總結(jié)
這兩種指令集之間的關(guān)系就好比是兩種不同的烹飪風(fēng)格。有些廚房可能更偏向于復(fù)雜多樣的烹飪方式,而有些廚房則更喜歡簡單高效的烹飪方式。同樣地,CPU的設(shè)計者可以根據(jù)不同的需求選擇使用CISC或者RISC指令集來設(shè)計CPU,以滿足不同的應(yīng)用場景和性能要求。
x86架構(gòu):封閉架構(gòu),由英特爾和AMD牢牢掌握話語權(quán),AMD給HG授權(quán)zen1架構(gòu);VIA(臺灣威盛)曾獲得x86架構(gòu)Licence授權(quán),后來被Z芯收購;20多年來沒有第四家授權(quán),其他芯片公司想用也用不了。
主流架構(gòu),生態(tài)好,由于被Intel和AMD壟斷導(dǎo)致封閉狀態(tài),影響了國產(chǎn)x86 CPU廠商的創(chuàng)新進程,目前仍然主要處于“消化、吸收”與“小創(chuàng)新”階段,但其優(yōu)勢在于能兼容Wintel等原有x86生態(tài);
Arm架構(gòu):開放架構(gòu),雖然由Arm公司所有,但授權(quán)開放,需要花錢購買。目前,H為和F騰擁有ARM v8架構(gòu)永久性授權(quán);阿里平頭哥、中興等國內(nèi)廠商購買了ARM v9 架構(gòu)IP授權(quán)。
主流架構(gòu),生態(tài)較好,由于開放授權(quán)的商業(yè)授權(quán)模式,使得國產(chǎn)ARM CPU廠商能夠進行更大程度的創(chuàng)新,使得更自主,但需要付出昂貴的授權(quán)費。至于是否發(fā)展中國自主的ARM v9指令集(進入自主創(chuàng)新階段),目前無法知悉,但考量因素肯定與生態(tài)有關(guān),可能還沒有到跟國際ARM生態(tài)“脫鉤”階段,畢竟ARM生態(tài)在快速追趕x86。
MIPS架構(gòu):開放架構(gòu),目前已開放了MIPS指令集的R6版本,以Wave Computing管理,但也難挽頹勢,最后宣布終止開發(fā),加入RISC-V基金會。LX前期基于MIPS架構(gòu)授權(quán)研發(fā),后衍生出LoongArch自主架構(gòu)。
小眾架構(gòu),生態(tài)弱,加上Wave Computing母公司“叛變”加入RISC-V基金會,國產(chǎn)CPU廠商不得不踏上“自主創(chuàng)新”階段,直接犧牲掉MIPS原本就單薄的生態(tài)。自主創(chuàng)新固然難得可貴,但是需要重新構(gòu)建自主生態(tài),可謂是“任重道遠”。
Alpha架構(gòu):開放架構(gòu),目前已經(jīng)無實體主張該指令集的權(quán)利,但相關(guān)專利已被HP、Intel等瓜分。申W前期基于Alpha架構(gòu),后衍生出SW64自主架構(gòu)。
小眾架構(gòu),生態(tài)弱,加上很早就沒“媽”了(無實體公司運營),所以國產(chǎn)CPU廠商選擇“自主創(chuàng)新”,自然是順理成章!自主創(chuàng)新固然難得可貴,但是單薄的生態(tài),注定只能在小眾市場進行落地。
RISC-V架構(gòu):開源架構(gòu),最特殊,不屬于任何機構(gòu)或國家,開源免費,想用就用,運營成本全靠基金會的兄弟們幫襯。由阿里平頭哥主導(dǎo),越來越多的創(chuàng)業(yè)公司加入RISC-V架構(gòu)陣營。
審核編輯:湯梓紅
-
處理器
+關(guān)注
關(guān)注
68文章
19259瀏覽量
229647 -
cpu
+關(guān)注
關(guān)注
68文章
10854瀏覽量
211568 -
RISC
+關(guān)注
關(guān)注
6文章
462瀏覽量
83707 -
指令集
+關(guān)注
關(guān)注
0文章
222瀏覽量
23378 -
RISC-V
+關(guān)注
關(guān)注
45文章
2270瀏覽量
46124
原文標題:國產(chǎn)CPU崛起:一文通俗理解指令集概念
文章出處:【微信號:架構(gòu)師技術(shù)聯(lián)盟,微信公眾號:架構(gòu)師技術(shù)聯(lián)盟】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論