加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
    • 復雜指令集VS精簡指令集
    • RISC-V與ARM的誕生
    • RISC-V VS ARM
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

都是精簡指令集,RISC-V拿什么挑戰(zhàn)ARM?

2023/01/12
3994
閱讀需 15 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

我們指揮電腦工作,不能簡單的和電腦說:“嘿,幫我運行個程序。”因為計算機只能理解0和1組成的指令(機器語言),難道人類要想操作電腦就需要輸入成千上萬的0和1嗎?稍微了解編程的朋友知道,使用編程語言讓電腦輸出“hello,world”只需要一行簡單代碼:

printf (“hello,worldn”);? ?//c語言描述

print(hello,world)? ?#Python語音描述

這就比只有0和1的命令簡單明了的多。事實上當計算機運行這行代碼時,CPU收到的依舊是只有0和1的命令串,這中間的變化,就是指令集(ISA)與編程語言(匯編+高級)共同幫我們翻譯的,指令集則是最接近機器語言的“翻譯官”。簡單的說,指令集就是一串串二進制機器語言的合集,用來描述這些二進制指令的語言叫做匯編語言,后來又出現(xiàn)了許多編譯器和高級語言來幫助程序員更方便的編程。本文將要講到的RISC-V與ARM都是指令集的一種。

Add Immediate指令(二進制機器語言) ?圖源:維基百科

要想設(shè)計一個處理器,第一步就需要確定這這顆處理器使用的指令集是什么。指令集決定了這顆芯片在工作時具體的計算方式,芯片上數(shù)量眾多又復雜晶體管其實就是將指令集用電路固定下來。

總而言之,指令集對芯片來說十分重要,它能直接決定芯片的電路布局方式,是每一種新型的CPU在設(shè)計時就規(guī)定的一系列與硬件電路相配合的指令系統(tǒng)。而指令集的先進與否,也關(guān)系到CPU的性能發(fā)揮,它也是CPU性能體現(xiàn)的一個重要標志。

目前指令集也分為兩類,精簡指令集和復雜指令集,但它們的區(qū)別并不是二進制命令的長短。

 

復雜指令集VS精簡指令集

指令集剛誕生時較為繁瑣,人們通過優(yōu)化將部分指令打包在一起,再把一些原來由軟件實現(xiàn)的、常用的功能改用硬件的指令系統(tǒng)實現(xiàn),以此來提高計算機的執(zhí)行速度,這種指令集稱為復雜指令集(Complex Instruction Set Computer,CISC)。在復雜指令集中,存儲器讀取、存儲和計算操作往往全部集中于單一指令中。復雜指令集的特點是指令數(shù)目多而復雜,每條指令字長并不相等,電腦必須加以判讀,并為此付出額外性能。

20世紀80年代,為了解決計算機性能不足的問題,人們找到了另一種優(yōu)化指令集的方法。芯片設(shè)計師選擇僅保留一些功能簡單,執(zhí)行快速的簡單命令,將復雜程序用用一段程序來實現(xiàn),這種指令集就被稱為精簡指令集(Reduced Instruction Set Computer,RISC)。RISC屬于等長指令集,CPU在執(zhí)行指令的時候速度較快且性能穩(wěn)定。與復雜指令集相比,精簡指令集更容易實現(xiàn)諸如程序調(diào)用和返回,循環(huán)等指令,指令并行執(zhí)行程度更好,編譯器的效率更高。

RISC與CISC指令的區(qū)別 ?圖源:Tech Journeyman

既然RISC優(yōu)勢這么明顯,那是不是RISC必然會替代所有CISC指令集了呢?

并沒有,與CISC相比,RISC指令集也有自身不足。雖然RISC指令較為簡單,但其本身擁有的指令較少,在完成某些任務(wù)的時候需要執(zhí)行更多指令,這也使得RISC在編譯時代碼長度要顯著長與CISC,因此也需要占用更多內(nèi)存,編譯難度也會增加。業(yè)內(nèi)有專家曾分析RISC的缺點:“執(zhí)行同樣的功能,一個RISC程序比一個CISC程序長30%。同時,RISC對編譯器要求較高,優(yōu)化編譯器是一項極其復雜且技術(shù)要求很高的工作,它必須由RISC機制造單位自身編制,因為沒有RISC詳細原始資料不可能產(chǎn)生編譯程序的目標代碼。因此這會讓第三方公司增加額外的軟件配套費用?!?/p>

RISC與CISC,本質(zhì)上并無優(yōu)劣之分,只有適用場景的不同。例如屬于復雜指令集的x86架構(gòu),讓英特爾AMD處理器產(chǎn)品在CPU領(lǐng)域保持著絕對優(yōu)勢。因為桌面端或服務(wù)器端處理器相比移動端能夠較少考慮功耗與續(xù)航問題,因此它們的性能足夠強悍,不會被CISC的特性拖累,反而可以更高效的執(zhí)行復雜任務(wù)。但移動端計算機(手機、平板電腦等)的處理器在設(shè)計時,除了要考慮性能外,功耗與散熱同樣重要,這就給了RISC指令集發(fā)展空間,因此在移動端市場爆發(fā)時期,屬于RISC指令集的ARM架構(gòu)脫穎而出,目前占據(jù)了最多移動端市場,我們熟悉的高通驍龍系列與三星Exynos系列芯片均使用了ARM公司的IP核心。

8086CPU,標志著x86架構(gòu)誕生 ?圖源:百度百科

 

RISC-V與ARM的誕生

ARM芯片的誕生十分有戲劇性。

1981年,剛成立3年的Acorn公司(橡果電腦有限公司)獲得了英國廣播公司生產(chǎn)電腦的訂單。但那時處理器正處于8位與16位的更替時期,Acorn沒有符合需求的芯片,于是它們轉(zhuǎn)頭向摩托羅拉尋求幫助 。摩托羅拉雖然提供了16位芯片產(chǎn)品,但由于芯片中斷響應(yīng)時間過長,最終沒有通過評估。Acorn決定向英特爾尋求幫助,希望對方提供一些80286處理器的設(shè)計資料和樣品,但是卻遭到回絕。Acorn一氣之下決定自己制造芯片,經(jīng)過多年的艱苦奮斗,兩位來自劍橋大學的科學家最終完成了自己的芯片設(shè)計,并將它命名為Acorn RISC Machine,也就是ARM芯片,RISC就是前文提到的精簡指令集。1990年11月27日,Acorn公司正式改組為ARM計算機公司。

經(jīng)過多年的發(fā)展,如今的ARM早已不再是面對英特爾時“吃癟”的小公司。當前ARM的Cortex核心已經(jīng)得到市場的廣泛認可,小到兒童手表、智能手機,大到數(shù)字電視、智能汽車、CT機,基于ARM架構(gòu)的芯片已經(jīng)覆蓋先當多電氣設(shè)備。ARM在移動端儼然已獲得當年英特爾在處理器領(lǐng)域的地位。

ARM處理器架構(gòu)分類 ?圖源:Circuit Digest

屠龍者終成“惡龍”,那RISC-V這位 “勇士”又該怎么挑戰(zhàn)ARM呢?我們先來認識一下RISC-V,并對比一下它們有什么區(qū)別。

RISC-V是加州大學伯克利分校 RISC ISA 設(shè)計的第五版。羅馬數(shù)字“V”表示“變體”和“向量”,表示它支持一系列計算機體系結(jié)構(gòu)研究。2010年,當時加州大學伯克利分校計算機系教授Krste Asanovi? 博士想要制定一個像Linux 一樣的開源計算機系統(tǒng)規(guī)范。在獲得了David Patterson 博士的幫助后,它們于1990 年代開始RISC 芯片的設(shè)計工作,最終形成了 RISC-V。后來,RISC-V 基金會成立,旨在維護、宣傳和管理RISC-IV IP,并協(xié)助廠商相互合作。此后由于美國對先進芯片的出口限制,RISC-V基金會從美國加利福尼亞州轉(zhuǎn)移到瑞士工作。目前,它在 50 個國家和地區(qū)擁有約 1,000 多個會員(公司),其中包括華為、阿里巴巴、谷歌、英偉達 和 IBM 等重量級企業(yè)。

RISC-V會員 ?圖源:Circuit Digest

 

RISC-V VS ARM

RISC-V與ARM一樣,都是屬于RISC精簡指令集,目前網(wǎng)上已經(jīng)有很多媒體分析過這兩種指令集開源與封閉、免費和收費的區(qū)別,今天我們一起看看它們在架構(gòu)上有什么異同。

從內(nèi)存交互方式看,RISC-V與ARM都使用加載-存儲體系結(jié)構(gòu),即只有在存和取數(shù)據(jù)時可以訪問存儲器(內(nèi)存),運算型指令操作均在CPU內(nèi)完成,最終的計算結(jié)果也將寫回內(nèi)存中。但兩種指令集的字節(jié)順序(Endianness)不同,字節(jié)順序是字節(jié)在存儲在內(nèi)存中或通過數(shù)字鏈接傳輸時被安排成更大數(shù)值的順序,可根據(jù)高位優(yōu)先與低位優(yōu)先分成兩種:大端模式(高位優(yōu)先,Big-endian)或小端模式(低位優(yōu)先,Little-endian)。ARM處理器默認是小端模式,但也支持大端模式,而RISC-V僅支持小端模式,兩種模式?jīng)]有優(yōu)劣之分,僅在數(shù)據(jù)處理時有不同的優(yōu)點。

大端與小端區(qū)別 ?圖源:CSDN

從架構(gòu)復雜程度看,RISC-V本身非常簡單,基礎(chǔ)指令集則只有40多條,加上其他的模塊化擴展指令總共幾十條指令,其規(guī)范文檔僅有145頁,而“特權(quán)架構(gòu)文檔”的篇幅也僅為91頁。ARM由于是一種封閉的指令集架構(gòu),所有廠商在采用ARM IP核心后,不能基于原有設(shè)計自行更改芯片,企業(yè)只能調(diào)整自身需求來迎合ARM核心。經(jīng)過多年的發(fā)展,ARM指令集變得極其復雜和繁瑣,相應(yīng)的架構(gòu)文檔有上千頁。這也變相導致了ARM處理器的研發(fā)門檻要遠高于RISC-V。

從定制化方面看,RISC-V沒有針對任何功能、架構(gòu)或目標進行過度優(yōu)化,因此它能適用于幾乎所有計算場景。ARM針對智能手機的優(yōu)化程度要高于對筆記本電腦、臺式機和服務(wù)器的優(yōu)化程度。正因如此,ARM芯片在移動端領(lǐng)域有著無可撼動的統(tǒng)治力。

總結(jié)

從以上內(nèi)容可以看出,RISC-V與ARM雖然同為RISC精簡指令集,但在指令集特性上各有不同。除了開源與免費,簡單和低開發(fā)門檻也是RISC-V挑戰(zhàn)ARM的殺手锏。

而目前RISC-V和ARM的主要差距體現(xiàn)在上下游產(chǎn)業(yè)生態(tài)和規(guī)?;瘧?yīng)用上,這是擺在RISC-V陣營的玩家們面前最大的挑戰(zhàn)和難題。

 

參考資料:
ARM vs RISC-V
https://techjourneyman.com/blog/arm-vs-risc-v/

Understanding RISC-V Architecture and Why it could be a Replacement for ARM
https://circuitdigest.com/article/understanding-risc-v-architecture-and-why-it-could-be-a-replacement-for-arm

處理器架構(gòu)、指令集和匯編語言,三者有何關(guān)系?
https://www.zhihu.com/question/23474438

ARM芯片的發(fā)展歷史
https://zhuanlan.zhihu.com/p/370771150

維基百科:Instruction set architecture(ISA)、復雜指令集計算機、精簡指令集計算機
https://en.wikipedia.org/wiki/Instruction_set_architecture
https://zh.wikipedia.org/wiki/%E8%A4%87%E9%9B%9C%E6%8C%87%E4%BB%A4%E9%9B%86%E9%9B%BB%E8%85%A6
https://zh.wikipedia.org/wiki/%E7%B2%BE%E7%AE%80%E6%8C%87%E4%BB%A4%E9%9B%86%E8%AE%A1%E7%AE%97%E6%9C%BA
Arm

Arm

ARM公司是一家知識產(chǎn)權(quán)(IP)供應(yīng)商,主要為國際上其他的電子公司提供高性能RISC處理器、外設(shè)和系統(tǒng)芯片技術(shù)授權(quán)。目前,ARM公司的處理器內(nèi)核已經(jīng)成為便攜通訊、手持計算設(shè)備、多媒體數(shù)字消費品等方案的RISC標準。公司1990年11月由Acorn、Apple和VLSI合并而成。

ARM公司是一家知識產(chǎn)權(quán)(IP)供應(yīng)商,主要為國際上其他的電子公司提供高性能RISC處理器、外設(shè)和系統(tǒng)芯片技術(shù)授權(quán)。目前,ARM公司的處理器內(nèi)核已經(jīng)成為便攜通訊、手持計算設(shè)備、多媒體數(shù)字消費品等方案的RISC標準。公司1990年11月由Acorn、Apple和VLSI合并而成。收起

查看更多

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

與非網(wǎng)行業(yè)分析師。工科背景,擅長與初創(chuàng)企業(yè)打交道,帶你分析最新行業(yè)政策,解讀新聞背后的故事。