官术网_书友最值得收藏!

1.1 RISC-V介紹

RISC是Reduced Instruction Set Computer的縮寫,中文意思是“精簡指令集計算機”,而RISC-V源自美國加利福尼亞大學伯克利分校,其中V表示第5代,因為在此之前加利福尼亞大學伯克利分校已經完成了4代RISC體系結構的設計。

早在2010年,加利福尼亞大學伯克利分校的研究人員在對比市面上所有的RISC體系結構后發現,指令集越來越復雜和臃腫,而且授權費很高,于是他們打算自行設計一套全新的開源指令集。

2015年,RISC-V基金會成立,旨在維護指令集以及體系結構規范的標準化和完整性。此外,他們還成立了SiFive公司,以推動RISC-V商業化落地。

RISC-V基金會吸引了全球高校、學術機構以及芯片設計、軟件開發等領域的商業公司加入,負責維護RISC-V指令集標準規范以及各種體系結構和擴展特性的規范文檔的審閱與發布。

1.1.1 RISC-V指令集優點

作為一個后起之秀,RISC-V指令集在設計時充分借鑒了其他商業化指令的優點,并且吸取了它們的經驗和教訓。RISC-V指令集具有如下優點。

設計簡潔。RISC-V指令集和基礎體系結構的設計都相當簡潔,特別是RISC-V的指令集文檔和基礎體系結構設計文檔一共才幾百頁,而一些商業RISC芯片的文檔有上萬頁。

模塊化。RISC-V指令集采用模塊化設計思想。它具有一個最小的指令集,這個指令集可以完整地實現一個軟件棧,然后通過模塊化的方式實現其他擴展功能的指令,如浮點數乘法和除法指令、矢量指令等。模塊化的RISC-V體系結構使用戶能夠靈活選擇不同的模塊組合,以適應不同的應用場景,從嵌入式設備到服務器都可以使用RISC-V體系結構進行設計。

開源。RISC-V指令集采用BSD開源協議授權。使用RISC-V指令集進行教學、學術研究,甚至是商業化都不需要支付授權費。

具有豐富的軟件生態。目前大部分開源軟件都支持RISC-V指令集,包括Linux內核、GCC(GNU Compiler Collection, GNU編輯器套件)等。

1.1.2 RISC-V指令集擴展

RISC-V針對32位處理器的最小指令集是RV32I,表示32位基礎整型指令集。它大約包含40條指令,可以在32位處理器上實現一個完整的軟件棧。RV32I是RISC-V指令集中固定不變的最小指令集。RISC-V針對64位處理器的最小指令集是RV64I,表示64位基礎整型指令集。RV64I在RV32I的基礎上添加了對字(word)、雙字(double word)和長整型(long)版本指令的支持,并且將所有寄存器都擴展到64位。本章主要介紹RV64I指令集。本書把32位處理器使用的指令集簡稱為RV32指令集,把64位處理器使用的指令集簡稱為RV64指令集。

在RV32I和RV64I的基礎上,RISC-V指令集還支持模塊化擴展,以支持更多特性,RISC-V擴展指令集如表1.1所示。

表1.1 RISC-V擴展指令集

芯片設計人員可以根據項目需求和成本選擇不同的擴展指令集,以適應不同的應用場景。RISC-V提供了一個穩定的指令集組合,稱為RV32G/RV64G。其中,G表示IMAFD,實現基礎整型指令集、整型乘法和除法擴展指令集、原子操作指令集以及單精度浮點數和雙精度浮點數擴展指令集。

1.1.3 RISC-V商業化發展

一個全新的指令集要蓬勃發展需要上游與下游公司都參與進來。為了驗證和推廣RISC-V,RISC-V創始人成立了SiFive公司,為RISC-V的商業化推廣起到了示范作用。除了開源基于RISC-V的CPU(Central Processing Unit,中央處理器)及SoC(System on Chip,單片系統)實現,SiFive還提供基于RISC-V體系結構的商業化處理器IP、開發工具和芯片解決方案等。

國內也有許多大公司和初創公司加入RISC-V芯片設計的隊伍。此外,國內的一些研究機構(如中國科學院計算技術研究所的香山處理器團隊)還發布了開源的香山處理器。

主站蜘蛛池模板: 绿春县| 湟中县| 海兴县| 阿鲁科尔沁旗| 高邑县| 双辽市| 洪湖市| 越西县| 牙克石市| 兴山县| 曲靖市| 张家港市| 合山市| 昌吉市| 灵石县| 英超| 鄂尔多斯市| 双桥区| 衡阳县| 金溪县| 池州市| 育儿| 曲靖市| 华安县| 仙游县| 体育| 玉林市| 龙江县| 霍州市| 天水市| 五家渠市| 新龙县| 剑河县| 同江市| 磴口县| 南木林县| 孝感市| 定西市| 新疆| 三都| 禹城市|