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

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

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

RISC-V、ARM與x86微處理器之間有什么區(qū)別?

科技觀察員 ? 來源:英銳恩 ? 作者:英銳恩 ? 2023-07-06 11:32 ? 次閱讀

RISC-VARM 和x86微處理器之間的許多差異都很細(xì)微,并且與內(nèi)存尋址方式、分支執(zhí)行方式、異常處理方式等有關(guān)。本文將考慮更高層次的差異,并將簡(jiǎn)要比較精簡(jiǎn)指令集計(jì)算(RISC)和復(fù)雜指令集計(jì)算(CISC),考慮這些差異對(duì)功耗和計(jì)算性能之間的權(quán)衡的影響,看看安全性和預(yù)測(cè)性如何執(zhí)行被處理,虛擬化是如何實(shí)現(xiàn)的,最后是對(duì)RISC-V、ARM 和 x86 設(shè)備的應(yīng)用程序適用性的概述。

Intel的x86架構(gòu)也在AMDCPU上提供,ARM處理器和IP由ArmLimited提供,RISC-V國(guó)際組織正在開發(fā)RISC-V。英特爾、AMD、ARM 和 RISC-V之間的兩個(gè)非常顯著的區(qū)別在于商業(yè)模式和計(jì)算架構(gòu)。英特爾、AMD 和 ARM 基于專有 IP,并且這些公司銷售和/或許可他們的產(chǎn)品。RISC-V是一個(gè)開放的規(guī)范和平臺(tái);它不是開源處理器??梢允褂瞄_源 RISC-V 內(nèi)核,但也有商業(yè)許可的內(nèi)核。

Open-Source-Vs-Commercial-RISC-V-Licensing-Models.png

RISC-V和ARM處理器在計(jì)算架構(gòu)上基于RISC概念,而Intel和AMD的x86處理器則采用CISC設(shè)計(jì)。

一、RISC與CISC的計(jì)算

RISC體系結(jié)構(gòu)具有可以在單個(gè)計(jì)算機(jī)時(shí)鐘周期內(nèi)執(zhí)行的簡(jiǎn)單指令。因此,完成一項(xiàng)特定任務(wù)往往需要執(zhí)行多條指令。同樣的任務(wù)可以在CISC處理器上用更少的指令(甚至單個(gè)指令)完成。

CISC計(jì)算力求用盡可能少的代碼行完成一項(xiàng)任務(wù)。一條CISC指令可能需要多個(gè)計(jì)算機(jī)時(shí)鐘周期才能完成。例如,CISC處理器的兩個(gè)數(shù)相乘可以用一條指令完成:

MUL 1200, 1201

“MUL”是一個(gè)復(fù)雜的指令。它不需要程序員顯式使用任何調(diào)用、加載或存儲(chǔ)函數(shù)。它直接在計(jì)算機(jī)的內(nèi)存上運(yùn)行,類似于高級(jí)編程語(yǔ)言中的命令。RISC

處理器上的乘法不能用單個(gè)命令完成;需要幾個(gè)更簡(jiǎn)單的指令來從內(nèi)存中的特定位置加載每個(gè)操作數(shù)(下面示例中的 1200 和

1201),將數(shù)字相乘,然后存儲(chǔ)結(jié)果:

Load A, 1200

Load B, 1201

MUL A, B

Store 1200, A

在此示例中,Load指令將來自內(nèi)存位置1200和1201的數(shù)據(jù)分別存儲(chǔ)到寄存器A和B。MUL指令將兩個(gè)寄存器中的值相乘。它將結(jié)果保存在A中,Store指令將 A 的值存儲(chǔ)在內(nèi)存位置1200(或任何其他指定的內(nèi)存位置)中。在RISC處理器中,諸如MUL之類的操作僅在寄存器上執(zhí)行,而不是直接在內(nèi)存上執(zhí)行。雖然這增加了指令數(shù),但它允許使用更簡(jiǎn)單的指令。

二、功率與性能

與CISC指令相比,執(zhí)行更簡(jiǎn)單的 RISC 指令消耗的功率更少。CISC

處理器試圖以每條指令的計(jì)算機(jī)時(shí)鐘周期數(shù)為代價(jià)來最小化每個(gè)程序的指令數(shù)。RISC采用相反的方法,使用可以在單個(gè)時(shí)鐘周期內(nèi)執(zhí)行的簡(jiǎn)單指令,但需要更多的指令。以下等式顯示了計(jì)算機(jī)的性能能力(運(yùn)行程序的時(shí)間)與每條指令的周期數(shù)以及每條程序的指令數(shù)之間的關(guān)系:

20211207173523.jpg

從這個(gè)等式來看,有兩種方法可以提高性能,最小化每個(gè)程序的指令數(shù)或減少每個(gè)指令的周期數(shù)。一般而言,RISC方法在降低整體功耗方面更為成功,有時(shí)會(huì)以降低性能為代價(jià)。然而,分歧正在縮小。ARM添加了更復(fù)雜的指令來提高處理器性能(以更高的功耗為代價(jià))。英特爾將其一些操作碼分解為類似于RISC的微操作,以實(shí)現(xiàn)更低的功耗。

三、安全性

權(quán)限環(huán)(有時(shí)稱為保護(hù)環(huán))是為保護(hù)數(shù)據(jù)和功能免受故障、提高容錯(cuò)能力和提高安全性免受惡意操作而建立的分層域。環(huán)按照從最高特權(quán)或最受信任到最低特權(quán)或最不受信任的層次結(jié)構(gòu)設(shè)置。零環(huán)通常是最高特權(quán)級(jí)別,直接與

CPU 內(nèi)核和內(nèi)存交互。

6cc16b0210bb4ae9905012858ecdf39c.jpg

x86 架構(gòu)包括四個(gè)級(jí)別的特權(quán)環(huán)。ARM v7 架構(gòu)包括三個(gè)特權(quán)級(jí)別;應(yīng)用程序、操作系統(tǒng)和管理程序。ARM 和 RISC-V都使用隔離機(jī)制的概念。ARM 采用基于硬件的安全性,其中域被硬編碼到硬件中,而 RISC-V 使用軟件定義的隔離域。

OP-TEE 是實(shí)現(xiàn) ARM TrustZone 技術(shù)的開源可信執(zhí)行環(huán)境 (TEE)。OP-TEE 已被移植到許多 ARM 設(shè)備和平臺(tái),包括 ARMv8。RISC-V MultiZone 安全軟件模型很小,因此速度更快。RISC-V內(nèi)置了多種安全機(jī)制,包括四級(jí)權(quán)限環(huán)、安全中斷處理和獨(dú)特的物理內(nèi)存保護(hù)(PMP)機(jī)制。RISC-V 還提供了商用安全增強(qiáng)功能,包括加密庫(kù)、信任根和多域

TEE。

RISC-V 的開源特性導(dǎo)致專有 ISA 缺乏的透明度,并為另一個(gè)級(jí)別的安全性提供了可能性。RISC-V社區(qū)龐大而多樣,許多設(shè)計(jì)人員不斷研究安全環(huán)境和潛在威脅向量。一旦識(shí)別出安全風(fēng)險(xiǎn),它通常會(huì)與開放社區(qū)共享,使專家能夠快速開發(fā)或提出解決方案。

四、預(yù)測(cè)執(zhí)行

謂詞執(zhí)行允許某些指令僅在特定的先前條件為真時(shí)才執(zhí)行。例如,先前的結(jié)果必須大于零;否則,處理器繼續(xù)執(zhí)行下一條指令。ARM 和 x86

支持各種格式的謂詞執(zhí)行。

宏操作融合是一種硬件優(yōu)化技術(shù),在解碼之前或解碼過程中,將一系列相鄰的宏操作合并為一個(gè)宏操作。ARM在其最近的微體系結(jié)構(gòu)中支持許多宏操作融合操作。微操作融合在處理器內(nèi)部將兩條指令合二為一,有效實(shí)現(xiàn)無需指令集幫助的謂詞執(zhí)行。

基本的RISC-V指令集不支持謂詞執(zhí)行。然而,實(shí)驗(yàn)性的BOOMv3亂序推測(cè)RISC-V處理器使用精簡(jiǎn)指令集與微操作融合的組合來實(shí)現(xiàn)預(yù)測(cè)執(zhí)行。

五、CPU、內(nèi)存和I/O的虛擬化

ARM、x86 和 RISC-V 都支持 CPU 和內(nèi)存的虛擬化。RISC-V ISA 目前不支持 I/O 的虛擬化。在 x86生態(tài)系統(tǒng)中,Intel和AMD有自己的虛擬化方法。英特爾被稱為虛擬化技術(shù)或 VT。VT由 VT-x組成,包含核心側(cè)特征;VT-d,包含輸入輸出內(nèi)存管理單元(IOMMU);和 VT-c,它涵蓋了網(wǎng)絡(luò)接口。AMD在標(biāo)簽AMD-V下提供核心端虛擬化,而IOMMU稱為AMD-Vi。英特爾和 AMD 的產(chǎn)品在實(shí)現(xiàn)細(xì)節(jié)上有所不同,但與 ARM

的產(chǎn)品相比,彼此的架構(gòu)更加緊密。

與 x86 處理器采用的方法類似的虛擬化擴(kuò)展已添加到ARM架構(gòu)中。ARM虛擬化擴(kuò)展使硬件方式能夠使用管理程序虛擬化 CPU。多個(gè)操作系統(tǒng)可以在每個(gè)虛擬

CPU 上運(yùn)行。

RISC-V H(管理程序)擴(kuò)展 v0.6.1 引入了 CPU 狀態(tài)的完整副本:一份副本用于來賓,一份副本用于主機(jī)(類似于 IntelVT-x)。RISC-V通過將敏感寄存器和指令賦予主機(jī)模式特權(quán)來支持 CPU 的虛擬化。從預(yù)發(fā)布版本號(hào)可以看出,RISC-V虛擬化是一項(xiàng)正在進(jìn)行的工作。最近發(fā)布了用于嵌入式系統(tǒng)的 Rocket 芯片內(nèi)核中最新版本的 RISC-V 虛擬機(jī)管理程序擴(kuò)展的首次公開實(shí)施和評(píng)估。

與x86和ARM架構(gòu)一樣,RISC-V支持使用多階段頁(yè)表的內(nèi)存虛擬化。此外,RISC-V為來賓表和主機(jī)表實(shí)現(xiàn)了相同的頁(yè)表?xiàng)l目格式。

I/O虛擬化在RISC-V中留待指定。它主要是IOMMU和平臺(tái)級(jí)中斷控制器(PLIC)的一個(gè)特性,它位于RISC-VISA的域之外,需要指定。當(dāng)前指定的 PLIC 不包括用于配置中斷注入的寄存器。

六、RISC-V和ISA的擴(kuò)展

RISC-V

從一開始就設(shè)計(jì)為不僅支持基本ISA和標(biāo)準(zhǔn)擴(kuò)展,而且還支持自定義ISA擴(kuò)展。雖然ARM最初并未設(shè)計(jì)為使用自定義擴(kuò)展,但這種情況正在發(fā)生變化,并且ARM生態(tài)系統(tǒng)開始使用自定義擴(kuò)展。x86生態(tài)系統(tǒng)是封閉的,一般不支持自定義ISA擴(kuò)展。

RISC-V ISA被組織成指令組(基本 ISA 和標(biāo)準(zhǔn)擴(kuò)展)。使用對(duì)標(biāo)準(zhǔn)ISA的擴(kuò)展的能力可以為特定應(yīng)用程序提供支持。例如,最近發(fā)布的 RISC-V向量擴(kuò)展(RVV)使基于RISC-VISA的處理器內(nèi)核能夠與傳統(tǒng)標(biāo)量運(yùn)算一起處理數(shù)據(jù)數(shù)組,以加速大型數(shù)據(jù)集上單指令流的計(jì)算。適合矢量處理器的任務(wù)示例包括:

(1)機(jī)器學(xué)習(xí)。

(2)壓縮圖像、zip文件等。

(3)密碼學(xué)。

(4)多媒體:音頻視頻。

(5)語(yǔ)音和手寫。

(6)奇偶校驗(yàn)、校驗(yàn)和。

(7)散列/連接。

RISC-V

ISA支持自定義擴(kuò)展的能力可以成為特定用例或應(yīng)用程序的關(guān)鍵區(qū)別。使用自定義擴(kuò)展不會(huì)破壞與主要ISA的合規(guī)性。支持自定義擴(kuò)展的處理器也可以運(yùn)行通用 RISC-V

軟件。

RISC-V-custom-extensions.jpg

上圖顯示了RISC-V軟件堆棧中的自定義ISA擴(kuò)展。操作系統(tǒng)(OS)可以是實(shí)時(shí)操作系統(tǒng)(如embOS、FreeRTOS、LynxOS等),也可以是富操作系統(tǒng)(如Linux、Android、Windows等)。在此示例中,App1

確實(shí)需要性能增強(qiáng)并且不使用自定義 ISA 擴(kuò)展。它可以符合標(biāo)準(zhǔn)編譯器。App2 和 App3 使用自定義 ISA 擴(kuò)展來提高性能,并且必須使用包含自定義 ISA

擴(kuò)展的編譯器進(jìn)行編譯。

所以,x86、ARM和RISC-V微處理器之間的差異很多而且各不相同。這些差異推動(dòng)了一般應(yīng)用程序的適用性。來自AMD和Intel的x86處理器在計(jì)算機(jī)和服務(wù)器領(lǐng)域占據(jù)主導(dǎo)地位。在平板電腦智能手機(jī)上,蘋果和高通的ARM處理器占主導(dǎo)地位。ARM處理器在嵌入式應(yīng)用中也很強(qiáng)大。隨著

RISC-V 越來越多地用于嵌入式系統(tǒng)、汽車系統(tǒng)、磁盤驅(qū)動(dòng)器、人工智能和機(jī)器學(xué)習(xí)應(yīng)用程序,這種優(yōu)勢(shì)正在受到挑戰(zhàn)。

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

    關(guān)注

    134

    文章

    9027

    瀏覽量

    366476
  • 微處理器
    +關(guān)注

    關(guān)注

    11

    文章

    2244

    瀏覽量

    82267
  • X86
    X86
    +關(guān)注

    關(guān)注

    5

    文章

    293

    瀏覽量

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

    關(guān)注

    44

    文章

    2204

    瀏覽量

    45958
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    ARM vs x86 vs RISC-V,未來屬于誰(shuí)?

    處理器區(qū)別是,前者使用復(fù)雜指令集(CISC),而后者使用精簡(jiǎn)指令集(RISC),屬于這兩種類中的各種架構(gòu)之間最大的區(qū)別。時(shí)至今日,有人表示
    發(fā)表于 07-27 17:54

    RISC-V PC計(jì)劃,X86Arm迎來新挑戰(zhàn)?

    了初期準(zhǔn)備,現(xiàn)在他們了一個(gè)x86模擬。但是,目前尚無針對(duì)RISC-V平臺(tái)的相同軟件支持。如果有人要想成為x86
    發(fā)表于 11-26 18:00

    ARMRISC-V架構(gòu)的區(qū)別是什么?

    、 Cortex-M處理器等。 ARM架構(gòu),更主要的是ARM指令集系統(tǒng)。不同于x86架構(gòu)的復(fù)雜指令集(CISC)架構(gòu),是一種精簡(jiǎn)指令集(RISC
    發(fā)表于 04-25 09:13

    Powerpc架構(gòu)與X86架構(gòu)的區(qū)別

    X86架構(gòu)的區(qū)別1、ARMARM處理器是英國(guó)Acorn有限公司設(shè)計(jì)的低功耗成本的第一款RISC微處理器。全稱為Advanced
    發(fā)表于 07-26 06:16

    arm架構(gòu)和x86架構(gòu)什么區(qū)別是什么?

    Cortex系列處理器是從從ARM哪個(gè)架構(gòu)開始的?arm架構(gòu)和x86架構(gòu)什么區(qū)別是什么?如何計(jì)
    發(fā)表于 10-28 08:36

    OpenHarmony適配移植:X86、ARM、RISC-V、MIPS、LoongArch芯片架構(gòu)簡(jiǎn)析

    、技術(shù)先進(jìn)、兼容生態(tài)龍芯中科二、簡(jiǎn)要介紹1、X86架構(gòu)X86微處理器執(zhí)行的計(jì)算機(jī)語(yǔ)言指令集,指一個(gè)Intel通用計(jì)算機(jī)系列的標(biāo)準(zhǔn)編號(hào)縮寫,也標(biāo)識(shí)一套通用的計(jì)算機(jī)指令集合。1978年6月8日,Intel
    發(fā)表于 09-30 17:46

    四大主流芯片架構(gòu)(X86、ARM、RISC-V和MIPS)

    1、X86架構(gòu)X86微處理器執(zhí)行的計(jì)算機(jī)語(yǔ)言指令集,指一個(gè)Intel通用計(jì)算機(jī)系列的標(biāo)準(zhǔn)編號(hào)縮寫,也標(biāo)識(shí)一套通用的計(jì)算機(jī)指令集合。1978年6月8日,Intel 發(fā)布了新款16位微處理器
    發(fā)表于 02-27 14:39

    RISC-Varm什么區(qū)別?

    RISC-Varm什么區(qū)別
    發(fā)表于 03-09 10:06

    WD聚焦RISC-V架構(gòu),實(shí)現(xiàn)RISC-V處理器標(biāo)準(zhǔn)化,欲替代ARMx86

    儲(chǔ)存巨擘Western Digital (WD)宣布將在RISC-V處理器上實(shí)現(xiàn)標(biāo)準(zhǔn)化,并投資了一家新創(chuàng)公司Esperanto Technologies——該公司主要采用開放來源指令集架構(gòu)設(shè)計(jì)高階SoC和核心。從這兩項(xiàng)舉措顯示,RISC
    發(fā)表于 12-01 17:00 ?1607次閱讀

    開源的RISC-V處理器多核并行能力已超過x86

    開源RISC-V正朝著自己的方向越發(fā)越強(qiáng)大,它對(duì)其他架構(gòu)的處理器也造成了不少的威脅。RISC-V不僅能實(shí)現(xiàn)5GHz的超高頻率,而且日前其多核并行能力也已經(jīng)超過了x86
    的頭像 發(fā)表于 12-10 09:21 ?2043次閱讀

    Esperanto實(shí)現(xiàn)1000多核RISC-V處理器的新產(chǎn)品

    對(duì)x86處理器來說,開源的RISC-V處理器威脅越來越大,它不僅能實(shí)現(xiàn)5GHz的超高頻率,現(xiàn)在多核并行上也甩開了x86,Esperanto公
    發(fā)表于 12-10 14:12 ?1022次閱讀

    ARM架構(gòu)和X86架構(gòu)二者之間區(qū)別是什么

    許多嵌入式系統(tǒng)設(shè)計(jì)。由于節(jié)能的特點(diǎn),ARM處理器非常適用于移動(dòng)通訊領(lǐng)域,符合其主要設(shè)計(jì)目標(biāo)為低耗電的特性。 x86架構(gòu) X86架構(gòu)(The X86
    發(fā)表于 01-06 10:49 ?6988次閱讀

    RISC-VX86ARM的競(jìng)爭(zhēng)如何?

    Wintel(微軟+英特爾)定義了PC時(shí)代,ARM+安卓定義了智能手機(jī)時(shí)代。RISC-V支持者認(rèn)為,在物聯(lián)網(wǎng)時(shí)代需要新的架構(gòu)適應(yīng)垂直細(xì)分領(lǐng)域,甚至可以與英特爾(X86)、ARM三分天下
    的頭像 發(fā)表于 01-15 10:08 ?4015次閱讀

    X86架構(gòu)與Arm架構(gòu)的區(qū)別

    X86架構(gòu)和ARM架構(gòu)是主流的兩種CPU架構(gòu),X86架構(gòu)的CPU是PC服務(wù)行業(yè)的老大,ARM架構(gòu)的CPU則是移動(dòng)端的老大。
    的頭像 發(fā)表于 06-16 12:50 ?2.3w次閱讀
    <b class='flag-5'>X86</b>架構(gòu)與<b class='flag-5'>Arm</b>架構(gòu)的<b class='flag-5'>區(qū)別</b>

    介紹三大主流芯片架構(gòu):X86ARM、RISC-V

    我們主要應(yīng)用的三大芯片架構(gòu):X86、ARMRISC-V架構(gòu)
    發(fā)表于 07-25 09:35 ?3.9w次閱讀
    介紹三大主流芯片架構(gòu):<b class='flag-5'>X86</b>、<b class='flag-5'>ARM</b>、<b class='flag-5'>RISC-V</b>