什么是RISC-V架構?
RISC的英文全稱為:ReducedInstructionSetComputing,中文即“精簡指令集”,它的指令系統相對簡單,它只要求硬件執行很有限且最常用的那部分指令,大部分復雜的操作則使用成熟的編譯技術,由簡單指令合成。指令集也可以理解為軟件和硬件之間溝通的橋梁,不同的廠家可能會用不同的方法來實現相同的指令集,從而讓遵循相同指令集的軟件可以無需修改即可運行。比如我們熟知的Intel和AMD都實現了x86指令集,這基本上統治了PC的市場。
RISC RISC-V處理器是架構發明者 Krste Asanovic 教授帶領團隊開發的一個完全開放的、標準的、能夠支持各種應用的新指令集,他也得到了RISC的發明者之一,Dave Patterson教授的大力支持。從2010年夏天開始,大約花了四年的時間,這個團隊設計和開發了一套完整的新的指令集,同時也包含了移植好的編譯器、工具鏈、仿真器,并經過數次流片驗證。為了能夠加快開發的效率,以便能夠快速的評估和修改設計以及提高可復用性,Chisel作為一種新的硬件構建語言也被開發了出來。簡言之,你可以用scala這種函數式編程語言去設計硬件,并最終能夠生成傳統的Verilog HDL用于ASIC/FPGA,或者生成C++用于仿真。
這個新的指令集叫做RISC-V,“V”包含兩層意思,一是這是Berkeley從RISC I開始設計的第五代指令集架構,二是它代表了變化(variation)和向量(vectors)。
0
如何看待RISC-V ?
在摩爾定律終結、計算微體系結構已經非常成熟、開源軟件飛速發展的時代,RISC-V充分利用社區的力量,提供了一個相比其他商業指令集來說并不差的選擇,非常有希望借由在開源硬件商業模式上的創新在未來的CPU市場上占有一席之地。
RISC-V引起業界新一輪的關注,應該是2016年三星半導體在其Exynos 8890處理器中(Galaxy S7用的這款處理器),首次采用的自主CPU內核M1,被指是基于開源的RISC-V指令集架構(而不是其旗艦機長期所用的ARMv6-M/ARMv8-M)。
國內也有不少從業者對此比較關注,主要是想將RISC-V應用在物聯網、大數據等領域。
下圖是與ARM的比較,數據是最真實的,功耗、面積、性能都是杠杠的。
基本指令集包括40條RISC整數指令和10條用于同步、系統調用和計數器操作的其他指令。
使用的RISC_V都需要實現這些基本指令,并稱之為RV32I。對應的RV64I 、RV128I也是一樣擴展對應的位寬即可,參考下圖。
另外包括擴展指令,主要包括壓縮字節指令、乘除、單/雙/四精度浮點運算指令、原子指令。
從上面可以看到,功耗、面積、性能都不亞于ARM,甚至優于ARM(當然上表只是對比A5),并且指令豐富,可擴展性強,并且開放,有免費開源的編譯、仿真環境,令人遐想無限。
結論:生態已經構建好了,如果有相應的產品出來,以及大量的人力物力投入,我覺得前景還是很不錯。筆者挺看好這個項目,特別是像中國近幾年大力發展CPU的情況下,機遇很好,能不能抓住就是另外一個問題了。