0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

現(xiàn)代處理器的主要指令集架構(gòu)

架構(gòu)師技術(shù)聯(lián)盟 ? 來源:架構(gòu)師技術(shù)聯(lián)盟 ? 2023-12-11 09:55 ? 次閱讀

? ?現(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)完成的。

30c77622-97ba-11ee-8b88-92fbcf53809c.png

上圖列出了英特爾官方統(tǒng)計的指令數(shù)量變化。在將近40年的發(fā)展歷史中,x86由不足200條指令到今天超過1600條指令。

30d825bc-97ba-11ee-8b88-92fbcf53809c.png

上圖列出了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指令集

在上世紀(jì)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成為趨勢”等。

30eb21da-97ba-11ee-8b88-92fbcf53809c.png

因此,早期的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世紀(jì)初期,受當(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)陣營。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    18924

    瀏覽量

    227204
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10698

    瀏覽量

    209329
  • RISC
    +關(guān)注

    關(guān)注

    6

    文章

    460

    瀏覽量

    83566
  • 指令集
    +關(guān)注

    關(guān)注

    0

    文章

    216

    瀏覽量

    23280
  • RISC-V
    +關(guān)注

    關(guān)注

    44

    文章

    2141

    瀏覽量

    45705

原文標(biāo)題:國產(chǎn)CPU崛起:一文通俗理解指令集概念

文章出處:【微信號:架構(gòu)師技術(shù)聯(lián)盟,微信公眾號:架構(gòu)師技術(shù)聯(lián)盟】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    RISC-V指令集架構(gòu)介紹和主要處理器IP廠商匯總

    小隊只用了三個月就完成了RISC-V指令集的開發(fā),但今天這個指令集已經(jīng)釋放出巨大的能量,即將和x86和ARM架構(gòu)并立,形成處理器主流架構(gòu)的“
    的頭像 發(fā)表于 08-19 08:57 ?2821次閱讀

    對ARM架構(gòu)的芯片講解其相關(guān)的指令集

    匯編和處理器架構(gòu)指令集有什么關(guān)系呢?ARM架構(gòu)的芯片有哪些相關(guān)的指令集呢?
    發(fā)表于 11-29 06:28

    ARM處理器指令集有哪些分類?

    ARM處理器指令集有哪些分類?
    發(fā)表于 11-30 06:43

    RISC-V指令集架構(gòu)微控制相關(guān)知識

    超級計算機等各種尺寸的處理器。在RISC-V指令集架構(gòu)之前,伯克利分校已經(jīng)有了四代RISC指令集架構(gòu)的設(shè)計經(jīng)驗,第一代RISC
    發(fā)表于 12-16 06:24

    精簡指令集架構(gòu)RISC與復(fù)雜指令集架構(gòu)CISC有何區(qū)別

    精簡指令集架構(gòu)RISC是什么?復(fù)雜指令集架構(gòu)CISC又是什么?精簡指令集架構(gòu)RISC與復(fù)雜
    發(fā)表于 12-23 10:02

    處理器指令集設(shè)計

    處理器指令集設(shè)計垂直指令格式指令類型及其使用頻度CISC指令集特點 RISC指令集特點
    發(fā)表于 10-29 17:13 ?64次下載
    微<b class='flag-5'>處理器</b><b class='flag-5'>指令集</b>設(shè)計

    thumb指令集是什么_thumb指令集與arm指令集的區(qū)別

    。thumb不是一個完整的體系結(jié)構(gòu),不能指望處理器只執(zhí)行thumb指令集而不支持arm指令集。 thumb指令集分為:分支指令、數(shù)據(jù)傳送
    發(fā)表于 11-03 17:34 ?1.8w次閱讀
    thumb<b class='flag-5'>指令集</b>是什么_thumb<b class='flag-5'>指令集</b>與arm<b class='flag-5'>指令集</b>的區(qū)別

    Cortex-M系列處理器指令集_指令集特性比較總結(jié)

    本文主要介紹Cortex-M系列處理器指令集指令集特性比較總結(jié),具體的跟隨小編一起來了解一下。
    發(fā)表于 04-18 16:59 ?7708次閱讀
    Cortex-M系列<b class='flag-5'>處理器</b><b class='flag-5'>指令集</b>_<b class='flag-5'>指令集</b>特性比較總結(jié)

    ARM架構(gòu)及ARM指令集 Thumb指令集你了解多少?

    ARM架構(gòu)及ARM指令集、Thumb指令集你了解多少?
    的頭像 發(fā)表于 02-26 16:09 ?6931次閱讀

    ARM處理器的尋址方式和指令集介紹

    ARM處理器是基于精簡指令集計算機(RISC原理設(shè)計的,指令集和相關(guān)嶧碼機制較為簡單。ARM7TDM(S)具有32位ARM指令集和16位 Thumb恉令
    發(fā)表于 11-24 17:24 ?33次下載
    ARM<b class='flag-5'>處理器</b>的尋址方式和<b class='flag-5'>指令集</b>介紹

    處理器架構(gòu)指令集

    大家天天都在使用手機,你知道你的手機使用的什么處理器處理器又是何種架構(gòu)呢?今天筆者就來談?wù)?b class='flag-5'>處理器的架構(gòu)
    的頭像 發(fā)表于 04-26 11:40 ?3359次閱讀
    <b class='flag-5'>處理器</b><b class='flag-5'>架構(gòu)</b>與<b class='flag-5'>指令集</b>

    Intel RISC指令集處理器解析

    Hot Chips 2023大會上,Intel首次公布了一款RISC指令集處理器,擁有獨特的8核心528線程規(guī)格。
    發(fā)表于 09-01 15:02 ?822次閱讀
    Intel RISC<b class='flag-5'>指令集</b><b class='flag-5'>處理器</b>解析

    瑞薩推出首款基于RISC-V指令集架構(gòu)處理器內(nèi)核

    嵌入式硬件專家瑞薩電子宣布推出首款基于免費開放的 RISC-V 指令集架構(gòu) (ISA) 的完全自主研發(fā)的處理器內(nèi)核。
    的頭像 發(fā)表于 12-01 17:28 ?1267次閱讀
    瑞薩推出首款基于RISC-V<b class='flag-5'>指令集</b><b class='flag-5'>架構(gòu)</b>的<b class='flag-5'>處理器</b>內(nèi)核

    處理器指令集架構(gòu)介紹

    和執(zhí)行。指令集架構(gòu)不僅影響微處理器的性能,還決定了其兼容性、可編程性和應(yīng)用場景。以下是對微處理器指令集
    的頭像 發(fā)表于 08-22 10:53 ?430次閱讀

    復(fù)雜指令集和精簡指令集有什么區(qū)別

    復(fù)雜指令集(CISC,Complex Instruction Set Computer)和精簡指令集(RISC,Reduced Instruction Set Computer)是微處理器設(shè)計中
    的頭像 發(fā)表于 08-22 11:00 ?790次閱讀