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