了解 RISC 與 CISC
出處:維庫電子市場網(wǎng) 發(fā)布于:2023-11-23 17:01:23
為了說明復(fù)雜指令和簡單指令之間的差異,表 1 顯示了使用 CISC CPU( NXP 的 s08)和 RISC CPU(ARM Cortex M0+)遞增計數(shù)器變量之間的代碼比較。

在此表中,CISC 允許在單個指令中遞增變量,而 RISC 需要通過加載和存儲來訪問內(nèi)存。雖然這顯示了代碼大小的差異,但這并不是同類比較,因為架構(gòu)之間存在許多差異,因此這并不能證明一個在技術(shù)上比另一個更好。
如今,Intel x86/x64架構(gòu)證明了CISC微處理器沒有被RISC取代,ARM架構(gòu)證明了RISC已經(jīng)主導(dǎo)了移動設(shè)備市場。
RISC-V 歷史
RISC 縮寫詞是由加州大學(xué)伯克利分校的 David Patterson 教授于 1980 年左右創(chuàng)造的,他與斯坦福大學(xué)的 John Hennessy 教授合作出版了的著作《計算機(jī)組織與設(shè)計》和《計算機(jī)體系結(jié)構(gòu):一種定量方法》。由于他們在 RISC 架構(gòu)方面的工作,他們于 2017 年獲得了ACM AM 圖靈獎。
從 1980 年到 2010 年,第五代 RISC 研究項目的開發(fā)啟動,終被稱為 RISC-V(發(fā)音為“risk- Five”)。
RISC-V International——開放的 ISA
RISC-V 是一種開放指令集架構(gòu) (ISA),這意味著您可以自由地在微處理器或微控制器中實現(xiàn) RISC-V CPU,而無需向使用此 ISA 的任何人支付版稅。
RISC-V International 是一家性非營利組織,擁有并維護(hù) RISC-V ISA 知識產(chǎn)權(quán)。其主要目標(biāo)之一是保持 RISC-V 的設(shè)計基于簡單性和性能,而不是專注于商業(yè)利益。因此,RISC-V International依賴其代表微處理器生態(tài)系統(tǒng)群體的成員,從個人到 Google、英特爾和 Nvidia 等組織。成為成員有很多好處,包括為 ISA 的設(shè)計做出貢獻(xiàn)的可能性,以及投票批準(zhǔn)提議的變更。在下面的圖 1 中,您可以看到多年來 RISC-V 發(fā)展的時間表。

圖 1.自 2010 年推出以來,RISC-V 受到微處理器行業(yè)的好評,硬件和軟件的采用率都在穩(wěn)步增長。圖片由RISC-V International提供
RISC-V ISA 和擴(kuò)展的約定
作為 1980 年啟動的第五代研究項目,RISC-V 是一種經(jīng)驗豐富的架構(gòu),旨在從其他人過去可能失敗的地方取得成功,RISC-V 旨在從過去任何潛在的錯誤中吸取教訓(xùn)。
因此,RISC-V 被設(shè)計為模塊化 ISA,而不是傳統(tǒng)的增量 ISA。這意味著 RISC-V 實現(xiàn)由強(qiáng)制性基礎(chǔ) ISA 和許多 ISA 擴(kuò)展組成,因此可以根據(jù)應(yīng)用程序的需求定制定制 CPU。
定制 ISA 的命名約定由字母 RV(用于 RISC-V)后跟位寬和變體標(biāo)識符組成。
例如,RV32IMAC,如圖2所示,表示:

M:整數(shù)乘法和除法擴(kuò)展
A:原子指令擴(kuò)展
C:壓縮指令擴(kuò)展
RV32IMAC ISA 的指令集顯示了 RISC-V 的模塊化(非增量)性質(zhì)。 強(qiáng)制性的基本 ISA 與一組擴(kuò)展相結(jié)合[點擊放大]。
圖 2.RV32IMAC ISA 的指令集顯示了 RISC-V 的模塊化(非增量)性質(zhì)。強(qiáng)制性的基本 ISA 與一組擴(kuò)展相結(jié)合[點擊放大]。
編譯器會獲知目標(biāo) CPU 中包含的擴(kuò)展,以便生成的代碼。如果代碼中包含缺少擴(kuò)展的指令,則硬件會捕獲并執(zhí)行標(biāo)準(zhǔn)庫中的軟件函數(shù)。
基本整數(shù) ISA
RV32I 基本整數(shù) ISA 僅使用 47 條指令,即可實現(xiàn)使用 32 位整數(shù)實現(xiàn)基本功能所必需的操作(其 64 位變體是 RV64I)。該 ISA 以 32 位編碼,包含以下指令:
添加
減法
按位運(yùn)算
加載和存儲
跳躍
分支機(jī)構(gòu)
基本 ISA 還指定了 32 個 CPU 寄存器(均為 32 位寬)以及程序計數(shù)器。的特殊寄存器是 x0,它始終讀取 0,如許多以前的 RISC ISA 中所實現(xiàn)的那樣。
盡管所有寄存器(表 2 中所示的一些寄存器)均可用于通用用途,但應(yīng)用程序二進(jìn)制接口 (ABI) 根據(jù)其調(diào)用約定為每個寄存器指定了用途。這意味著某些寄存器應(yīng)該保存臨時或保存的數(shù)據(jù)、指針、返回地址等。

RV32I 寄存器文件顯示了 RISC-V 應(yīng)用程序二進(jìn)制接口中指定的硬件寄存器名稱及其分配的功能。
RISC-V 乘法和浮點
RV32M 擴(kuò)展實現(xiàn)了 8 條指令來對整數(shù)執(zhí)行乘法和除法(RV64M 在這 8 條指令的基礎(chǔ)上添加了 5 條指令)。
RV32F 擴(kuò)展添加了 32 個獨(dú)立的寄存器,用于 32 位浮點數(shù)和 26 個浮點指令。同樣,RV32D擴(kuò)展使用32個64位浮點寄存器,支持雙精度64位浮點數(shù)。
RISC-V 壓縮指令
RV32C 擴(kuò)展是 RISC-V ISA 的巧妙補(bǔ)充,因為它為現(xiàn)有指令的特殊子集提供了替代的 16 位編碼。
在分析了現(xiàn)代優(yōu)化編譯器生成的無數(shù)行代碼后,RISC-V 的創(chuàng)建者確定了的指令,并創(chuàng)建了 16 位版本,放棄了完整 32 位版本的一些功能,這些功能仍然可以在無論如何,RV32I 基本 ISA 是這樣的。
由于以下說明,這種壓縮是可能的:
有些寄存器比其他寄存器更受歡迎。
一個操作數(shù)通常會被覆蓋。
有一些的立即值。
這允許將有限數(shù)量的寄存器的指令編碼為操作數(shù),僅指定 2 個寄存器而不是 3 個,使用小的立即值,所有這些都是 16 位。
通過壓縮常用的指令,您有更好的機(jī)會顯著壓縮您的程序。
其他 RISC-V 擴(kuò)展
還有許多附加擴(kuò)展,可以實現(xiàn)您期望從現(xiàn)代微處理器獲得的所有功能。這包括嵌入式基本 ISA (RV32E)、原子操作 (A)、位操作 (B)、向量操作 (V) 的擴(kuò)展,等等。
RISC-V 實施
有許多公司在其微控制器、微處理器和 SoC 中生產(chǎn)各種 RISC-V 內(nèi)核。SiFive 就是一個例子,它是家制造基于 RISC-V ISA 的硅的公司。他們的芯片范圍從低端微控制器一直到高性能 SoC。

版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 恒玄BES2800芯片:6nm工藝+雙核M55+藍(lán)牙5.4的融合之作2025/11/5 9:30:36
- AR眼鏡芯片有哪些選擇2025/10/31 15:13:48
- 一文了解車規(guī)級芯片認(rèn)證標(biāo)準(zhǔn)2025/9/16 15:40:14
- 探究 MCU 芯片靜電高但產(chǎn)品靜電指標(biāo)不佳的原因2025/9/4 16:12:23
- 138譯碼器的工作原理2025/8/29 17:04:49









