天堂草原最受欢迎的角色,天堂动漫,天堂在线,色天堂下载,天堂中文在线资源,亚洲男人天堂

技術(shù)熱線: 4007-888-234
設(shè)計(jì)開發(fā)

專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命

開發(fā)工具

提供開發(fā)工具、應(yīng)用測(cè)試 完善的開發(fā)代碼案例庫(kù)分享

技術(shù)支持

從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無(wú)限潛能!

新品推廣

提供新的芯片及解決方案,提升客戶產(chǎn)品競(jìng)爭(zhēng)力

新聞中心

提供最新的單片機(jī)資訊,行業(yè)消息以及公司新聞動(dòng)態(tài)

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

更新時(shí)間: 2021-12-07
閱讀量:9868

RISC-V、ARM 和 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)也在AMD的CPU上提供,ARM處理器和IP由Arm Limited提供,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)單的指令來(lái)從內(nèi)存中的特定位置加載每個(gè)操作數(shù)(下面示例中的 1200 和 1201),將數(shù)字相乘,然后存儲(chǔ)結(jié)果:

Load A, 1200
Load B, 1201
MUL A, B
Store 1200, A

在此示例中,Load指令將來(lái)自內(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à)來(lái)最小化每個(gè)程序的指令數(shù)。RISC 采用相反的方法,使用可以在單個(gè)時(shí)鐘周期內(nèi)執(zhí)行的簡(jiǎn)單指令,但需要更多的指令。以下等式顯示了計(jì)算機(jī)的性能能力(運(yùn)行程序的時(shí)間)與每條指令的周期數(shù)以及每條程序的指令數(shù)之間的關(guān)系:

20211207173523.jpg

從這個(gè)等式來(lái)看,有兩種方法可以提高性能,最小化每個(gè)程序的指令數(shù)或減少每個(gè)指令的周期數(shù)。一般而言,RISC方法在降低整體功耗方面更為成功,有時(shí)會(huì)以降低性能為代價(jià)。然而,分歧正在縮小。ARM 添加了更復(fù)雜的指令來(lái)提高處理器性能(以更高的功耗為代價(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),包括 ARM v8。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ù),在解碼之前或解碼過(guò)程中,將一系列相鄰的宏操作合并為一個(gè)宏操作。ARM 在其最近的微體系結(jié)構(gòu)中支持許多宏操作融合操作。微操作融合在處理器內(nèi)部將兩條指令合二為一,有效實(shí)現(xiàn)無(wú)需指令集幫助的謂詞執(zhí)行。

基本的RISC-V指令集不支持謂詞執(zhí)行。然而,實(shí)驗(yàn)性的BOOMv3亂序推測(cè)RISC-V處理器使用精簡(jiǎn)指令集與微操作融合的組合來(lái)實(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)的完整副本:一份副本用于來(lái)賓,一份副本用于主機(jī)(類似于 Intel VT-x)。RISC-V通過(guò)將敏感寄存器和指令賦予主機(jī)模式特權(quán)來(lái)支持 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為來(lái)賓表和主機(jī)表實(shí)現(xiàn)了相同的頁(yè)表?xiàng)l目格式。

I/O虛擬化在RISC-V中留待指定。它主要是IOMMU和平臺(tái)級(jí)中斷控制器(PLIC)的一個(gè)特性,它位于RISC-V ISA的域之外,需要指定。當(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-V ISA的處理器內(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ò)展來(lái)提高性能,并且必須使用包含自定義 ISA 擴(kuò)展的編譯器進(jìn)行編譯。

所以,x86、ARM和RISC-V微處理器之間的差異很多而且各不相同。這些差異推動(dòng)了一般應(yīng)用程序的適用性。來(lái)自AMD和Intel的x86處理器在計(jì)算機(jī)和服務(wù)器領(lǐng)域占據(jù)主導(dǎo)地位。在平板電腦和智能手機(jī)上,蘋果和高通的ARM處理器占主導(dǎo)地位。ARM處理器在嵌入式應(yīng)用中也很強(qiáng)大。隨著 RISC-V 越來(lái)越多地用于嵌入式系統(tǒng)、汽車系統(tǒng)、磁盤驅(qū)動(dòng)器、人工智能和機(jī)器學(xué)習(xí)應(yīng)用程序,這種優(yōu)勢(shì)正在受到挑戰(zhàn)。

以上就是英銳恩單片機(jī)開發(fā)工程師分享的“RISC-V、ARM與x86之間有什么區(qū)別?”。英銳恩專注單片機(jī)應(yīng)用方案設(shè)計(jì)與開發(fā),提供8位單片機(jī)、16位單片機(jī)、32位單片機(jī)。

联系我们: 临沧市| 岢岚县| 长子县| 介休市| 通道| 房产| 禹城市| 修武县| 朝阳区| 龙口市| 玛沁县| 陆良县| 庄浪县| 湖南省| 海门市| 柘荣县| 涡阳县| 阜城县| 分宜县| 荔浦县| 海南省| 板桥市| 潼关县| 绥中县| 阿图什市| 徐闻县| 西吉县| 新化县| 莒南县| 五家渠市| 西青区| 汉沽区| 都江堰市| 宁波市| 新宾| 乌兰浩特市| 渑池县| 彭州市| 包头市| 罗源县| 延津县|