RISC-V設(shè)計(jì)簡(jiǎn)單的指令集
RISC-V 指令集是基于精簡(jiǎn)指令集計(jì)算 RISC 原理建立的開(kāi)放指令集架構(gòu),RISC-V 是在指令集不斷發(fā)展和成熟的基礎(chǔ)上建立的全新指令。RISC-V 指令集完全開(kāi)源,設(shè)計(jì)簡(jiǎn)單,易于移植 Unix 系統(tǒng),采用模塊化設(shè)計(jì),擁有完整的工具鏈,同時(shí)有大量的開(kāi)源實(shí)現(xiàn)和流片案例。
特性
- 完全開(kāi)源。對(duì)指令集使用,RISC-V 基金會(huì)不收取高額的授權(quán)費(fèi)。開(kāi)源采用寬松的 BSD 協(xié)議,企業(yè)完全自由免費(fèi)使用,同時(shí)也容許企業(yè)添加自有指令集拓展而不必開(kāi)放共享以實(shí)現(xiàn)差異化發(fā)展。
- 架構(gòu)簡(jiǎn)單。RISC-V 架構(gòu)秉承簡(jiǎn)單的設(shè)計(jì)哲學(xué)。體現(xiàn)為:在處理器領(lǐng)域,主流的架構(gòu)為 x86 與 ARM 架構(gòu)。x86 與 ARM 架構(gòu)的發(fā)展的過(guò)程也伴隨了現(xiàn)代處理器架構(gòu)技術(shù)的不斷發(fā)展成熟,但作為商用的架構(gòu),為了能夠保持架構(gòu)的向后兼容性,其不得不保留許多過(guò)時(shí)的定義,導(dǎo)致其指令數(shù)目多,指令冗余嚴(yán)重,文檔數(shù)量龐大,所以要在這些架構(gòu)上開(kāi)發(fā)新的操作系統(tǒng)或者直接開(kāi)發(fā)應(yīng)用門檻很高。而 RISC-V 架構(gòu)則能完全拋棄包袱,借助計(jì)算機(jī)體系結(jié)構(gòu)經(jīng)過(guò)多年的發(fā)展已經(jīng)成為比較成熟的技術(shù)的優(yōu)勢(shì),從輕上路。RISC-V 基礎(chǔ)指令集則只有 40 多條,加上其他的模塊化擴(kuò)展指令總共幾十條指令。 RISC-V 的規(guī)范文檔僅有 145 頁(yè),而“特權(quán)架構(gòu)文檔”的篇幅也僅為 91 頁(yè)。
- 易于移植。現(xiàn)代操作系統(tǒng)都做了特權(quán)級(jí)指令和用戶級(jí)指令的分離,特權(quán)指令只能操作系統(tǒng)調(diào)用,而用戶級(jí)指令才能在用戶模式調(diào)用,保障操作系統(tǒng)的穩(wěn)定。RISC-V提供了特權(quán)級(jí)指令和用戶級(jí)指令,同時(shí)提供了詳細(xì)的RISC-V特權(quán)級(jí)指令規(guī)范和RISC-V用戶級(jí)指令規(guī)范的詳細(xì)信息,使開(kāi)發(fā)者能非常方便的移植linux和unix系統(tǒng)到RISC-V平臺(tái)。
- 模塊化設(shè)計(jì)。RISC-V 架構(gòu)不僅短小精悍,而且其不同的部分還能以模塊化的方式組織在一起,從而試圖通過(guò)一套統(tǒng)一的架構(gòu)滿足各種不同的應(yīng)用場(chǎng)景。用戶能夠靈活選擇不同的模塊組合,來(lái)實(shí)現(xiàn)自己定制化設(shè)備的需要,比如針對(duì)于小面積低功耗嵌入式場(chǎng)景,用戶可以選擇 RV32IC 組合的指令集,僅使用 Machine Mode(機(jī)器模式);而高性能應(yīng)用操作系統(tǒng)場(chǎng)景則可以選擇譬如 RV32IMFDC 的指令集,使用 Machine Mode(機(jī)器模式)與 User Mode(用戶模式)兩種模式。
- 完整的工具鏈。對(duì)于設(shè)計(jì) CPU 來(lái)說(shuō),工具鏈?zhǔn)擒浖_(kāi)發(fā)人員和 cpu 交互的窗口,沒(méi)有工具鏈,對(duì)軟件開(kāi)發(fā)人員開(kāi)發(fā)軟件要求很高,甚至軟件開(kāi)發(fā)者無(wú)法讓 cpu 工作起來(lái)。在 cpu 設(shè)計(jì)中,工具鏈的開(kāi)發(fā)是一個(gè)需要巨大工作量的工作。如果用 RISC-V 來(lái)設(shè)計(jì)芯片,芯片設(shè)計(jì)公司不再擔(dān)心工具鏈問(wèn)題,只需專注于芯片設(shè)計(jì),RISC-V 社區(qū)已經(jīng)提供了完整的工具鏈,并且 RISC-V 基金會(huì)持續(xù)維護(hù)該工具鏈。當(dāng)前 RISC-V 的支持已經(jīng)合并到主要的工具中,比如編譯工具鏈 gcc, 仿真工具 qemu 等。
- 開(kāi)源實(shí)現(xiàn)。RISC-V 在主流代碼托管平臺(tái)上有大量的開(kāi)源實(shí)現(xiàn)項(xiàng)目,可供開(kāi)發(fā)者學(xué)習(xí)交流。
- 成功的流片案例。已經(jīng)有機(jī)構(gòu)和商業(yè)公司流片的案例。
- 社區(qū)貢獻(xiàn)。RISC-V 發(fā)展到今天已經(jīng)建立起了完善的開(kāi)源社區(qū),擁有完整的工具鏈維護(hù),大量的開(kāi)源項(xiàng)目。
評(píng)論
圖片
表情
