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