1. 程式人生 > >劍指未來五十年的指令集RISC-V【轉自微信公眾號 智聯網事】

劍指未來五十年的指令集RISC-V【轉自微信公眾號 智聯網事】

【轉自微信公眾號 智聯網事】

本文介紹了RISC-V指令集從釋出到目前的發展路程,及基於RISC-V的晶片研發進展及晶片配套軟體開發生態的更新.

文章目錄如下:

  • 一些基本概念

  • RISC-V 二三事

  • RISC-V 有多強 

  • ARM的擔憂

  • 基於RISC-V的晶片開發生態

  • 一些市場的訊息

  • 個人看法

一些相關基本概念

以麒麟980舉例:華為的麒麟980是一款處理器(SOC, System on a chip),其基於ARM Cortex-A76微架構(CPU,Central processing unit),而Cortex-A76是基於ARM公司的ARMv8.2-A指令集(ISA,Instruction SetArchitecture)設計的。

從上面,我們引出了指令集的概念。 指令集作為硬體和軟體的一個介面,是對計算機的抽象描述。知名的指令集有ARM、PowerPC、X86等,國內也有自主產權指令集的公司,如被阿里收購的中天微。更多關於ISV,CPU和SOC的描述,請參考文章 談談ISA,CPU和SOC


RISC-V二三事

RISC-V (pronounced “risk-five”) is an open, free ISA enabling a new era of processor innovation through open standard collaboration. Born in academia and research, RISC-V ISA delivers a new level of free, extensible software and hardware freedom on architecture, paving the way for the next 50 years of computing design and innovation.

RISC-V指令集,是加州大學伯克利分校於2011年釋出的開放免費指令集,由於是第五代,因此取名RISC-V。在如今ARM大行其道,從晶片到生態到終端使用者都齊全的時代,RISC-V這樣一個指令集,究竟如何生存壯大起來的?它有哪些特點優勢? 這也是我嘗試瞭解回答的問題。 (只想看總結的可往下速滑)

記得十年前的手機品牌,諾基亞,摩托的,索尼等,各自的系統都不一樣,現在大家用的手機,除了蘋果,基本都是基於安桌系統。安桌的兩大特點是開源和免費,這樣不僅給廣大應用開發者很大的靈活度,而且發展了非常豐富的生態。Android的開發者GOOGLE, 也是RISC-V的白金會員之一。 RISC-V的研究團隊認為,指令集ISA作為軟硬體介面的一種說明和描述規範,不應該收費,而應該開放和免費

。這也是RISC-V創造者的初衷之一。

當然,僅僅具有開源和免費也是完全不夠的,就如工作,有一個好的主意,沒有任何配套的行動,策略,主意永遠是一個概念。一個產品能不能用,好不好用,能否給終端應用廠商,給市場帶來價值?針對這些質疑,RISC-V伯克利研究團隊從下面幾方面開幹:

  • 第一招 基於指令集推出CPU及晶片原型

這直接將RISC-V的指令落地到終端可以使用,評測的晶片。這一過程,不僅僅將理論,概念實體化,解決了許多技術上的問題及挑戰,而且也帶動建立了研發SOC的生態。這大大降低了RISC-V使用者的開發難度,成本,風險。

  • 第二招 成立非盈利組織RISC-V基金會,加快生態建設

RISC-V基金會自2015年成立以來,會員數目增長如圖,不可謂不猛。

且從其會員構成類別看很豐富。截至2018年3Q, RISC-V 基金會已發展115個會員,其中包含 NVIDIA, QUALCOMM, NXP, SAMSUNG,HUAWEI這樣的超一流大廠,許多一流學術機構及C SKY,SIFIVE等商業化IP公司。

除了上訴的CPU SOC開發相關,成員還包括IAR,SEGGER,TSMC等應用開發,晶片生產相關的企業!

第三招積極開“大”會

2015年 RISC-V第一次全球研討會舉行,截至2017,已經舉行七屆。除了全球的研討會,還包括在全球各地舉行的專項研討會。這些會議給RISC-V的愛好者,使用者提供了很好的溝通,分享,交流平臺,促使RISC-V的加速發展。

如下,我們以時間的角度梳理下RISC-V的發展

  • 2011年 釋出開放指令集RISC-V,隨後基於RISC-V的ROCKET IP成功流片

  • 2015年 釋出BOOM IP

  • 2015年 RISC-V創始人成立SIFIVE,加速推進RISC-V商業化

  • 2017年 基於BOOM IP的晶片流片

  • 2015年 RISC-V 基金會成立,加速RISC-V的指令集規範的演進以及軟硬體生態系統的發展

  • 201x年 更多訊息請往後看

總結來說,RISC-V 以開放,免費的模式,從基礎指令集落地到晶片,賦能客戶,廣建生態,積極擴大影響,集結了強大的聯盟。

 


與ARM的恩仇錄

如果老大哥看也不看你,說明你太弱了。RISC-V的快速發展也引起了來自ARM的關注及擔憂。2017年6月,ARM建立了一個專門的網站,從成本,生態,碎片化風險,安全及設計驗證等方面指點RISC-V。在RISC-V反擊發布後,ARM主動關閉下線了網站。(相關資料可從下面連結獲取 https://github.com/arm-facts/arm-basics.com/blob/master/index.md)

第一刀 成本

ARM:雖然RISC-V 指令架構集(ISA)開源,免費,但是ISA的授權只佔有商業處理器總成本的一小部分

RISC-V:顯性成本你這麼貴,卻談說不清楚的隱性成本。而且我們通過開放,吸引更多貢獻者來完善設計,這也有利於降低研發成本。

第二刀 生態

ARM:針對一個指令架構,能有一個全球化的,成熟的,覆蓋軟體,服務,涉及支援等的生態,是非常重要的。而RISC-V目前的生態還不夠

RISC-V:誰沒有喝奶的時候,我們正在飛速的發展完善中。

第三刀 碎片化風險

ARM:由於RISC-V的指令集架構允許CPU IP 供應商定製化,這種“碎片化”可能使得ISA的生態相容性更加困難。

RISC-V:你自己已經碎片化了,ARM ISA (ARMv6/7/8, Thumb1, Thumb2, ThumbEE,Jazelle, ARM v8, v8-M, NVIC/VIC/GICv2/3/4等)。而我可以在開始階段就可以到如何更精簡。

第四刀 安全

ARM:網路威脅需要晶片具有很好的安心效能。基於RISC-V的產品目前還比較新,有待專家及其合作伙伴的觀察。

RISC-V的:自己的屁股沒擦乾淨(ret2usr問題),而RISC-V可以在設計的最初,而且也正是RISC-V的安全組正在做的事情。

第五刀 設計驗證

ARM:IP的設計過程,驗證及確認可能佔總設計時間的75%。而RISC-V的ISA允許修改,可能帶來昂貴的驗證ueren成本及對應的軟體工具定製化費用。這都將增加設計的成本。

RISC-V:開源,可以藉助更多的專業力量參與設計的過程,這有利於加速開發和降低成本。

我們可以看到ARM提出的點,其實也正是RISC-V開始就考慮到且在減小影響的點。截止目前,基於RISC-V的開源免費CPU及SOC原型已經不少。後面會提到。

RISC-V效能情況

截止目前,伯克利的研究團隊公佈了基於RISC-V的Rocket以及BOOM兩個CPU。其CoreMark效能情況如下圖。

在論文《RISC-V Compiler Performance:A comparison between GCC and LLVM/clang》 中,我們可以看到實際基於RISC-V的晶片和ARM的對比結果。可以看到,在編譯器開啟O1以上優化情況下,RISC-V的效能可以做到和ARM接近。這是實際的跑分結果。和網友在SIFIVE的開發板上的結論相近

RISC-V的晶片開發生態

我們先看下,晶片開開發需要的基礎工具:編譯器,偵錯程式,軟體開發包

編譯器方面:SiFive 公司已經提供FreedomStudio,另外,還有GCC Toolchain, GNU MCU Eclipse也有對RISC-V的支援

偵錯程式方面: Lauterbach及Segger已經支援RISC-V,而IAR也宣佈2019年將提供RISC-V的支援。

軟體開發包:SiFive針對其Freedom ESDK,而系統方面,Linux 4.15官方核心將支援RISC-V

可以看出,基於RISC-V的晶片的開發工具鏈也是越發完善。