RISC-V应用于高性能处理器的可能性
RISC-V應用于高性能處理器的可能性
摘要:RISC-V是加州大學伯克利分校的計算機科學部門設計并發布的一種開源指令集架構,旨在支持計算機體系結構的研究和教育,自發布以來得到了廣泛的關注。作為現代指令集架構,它可以勝任云級服務器到移動設備和物聯網設備的各種應用,但目前其受眾的主要需求集中在單片機以及簡單的處理器。本文對RISC-V的產生背景、基本設計、主要市場及其面臨的挑戰進行了介紹,重點探討RISC-V應用于高性能處理器的可能性。
關鍵詞:RISC-V;高性能處理器;生態建設;
Abstract: RISC-V is an open source instruction set architecture designed and released by the computer science department at the University of California, Berkeley, which designed to support computer architecture research and education. It has received a lot of attention since its release. This modern instruction set architecture is designed to work for any application, from cloud-level servers down to mobile and Internet of Things devices, but the majority of its audience’s current needs are focused on microprogrammed control units and simple processors. This paper introduces the background, basic design, key markets and challenges of RISC-V, focuses on the possibility of RISC-V’s application in high-performance processors.
Key words: RISC-V; high-performance processors;Ecosystem Growth;
引言
AMD和英特爾在2011年PC時代的巔峰期出了大約3億5千萬個微處理器,軟件基礎、性能和價格上的優勢使CISC贏得了PC時代的后期階段;但進入后PC時代,智能手機公司對構建自己的芯片系統(SoC)的需要和物聯網的到來使得RISC處理器占據主導,X86出貨量自 2011 年達到峰值以來每年下降近 10%,而采用RISC處理器的芯片則飆升至 200 億。如今,99%的 32 位和 64 位處理器都是RISC[1]。
而當指令級架構經過數十年的發展,成本、能源、安全以及性能等方面改善的需求使其面臨新的挑戰。為了支持計算機體系結構的研究和教育,加州大學伯克利分校的研究人員設計了一種新的指令級架構,其架構簡單、完全開源,而且可通過擴展指令做定制化修改,他們將其命名為RISC-V[2]。自2014年RISC-V正式發布以來,眾多企業、知名學府和研究機構都加入了其基金會,市場上涌現出眾多采用RISC-V架構的開源處理器和SoC,在印度政府的大力資助下,RISC-V還成為了印度的國家指令集,圍繞RISC-V的生態逐漸完善[3]。近兩年,RISC-V在中國也掀起一片熱潮,被視作國產芯“自主可控”的發展契機。本文簡單介紹RISC-V的基本信息,重點探討其應用于高性能處理器領域的可能性。
1 RISC-V簡介
1.1 何為RISC-V?
RISC-V是加州大學伯克利分校的計算機科學部門設計并發布的一種開源指令集架構,旨在支持計算機體系結構的研究和教育[2]。因為它的自由開放性,許多不同組織的人可以同時使用RISC-V進行創新。它在設計中注重模塊化和擴展,帶有完善的軟件堆棧,包括編譯器、操作系統和調試器,使用者可定制化修改。它可以勝任云級服務器、移動設備和物聯網設備的各種應用[4]。它在RISC-V基金會的管理下維護架構,確保其長期穩定性和發展。
圖1 RISC-V基金會成員 來源:https://riscv.org/risc-v-foundation/
圖2 RISC-V基金會成員數量 來源:https://riscv.org/risc-v-foundation/
1.2 RISC-V的基本設計
RISC-V是一個模塊化指令集,如下表所示,RISC-V包括3個基本指令集(RV32E是RV32I的子集)和6個擴展指令集。基本指令集內指令按照功能分類有整數運算指令、分支轉移指令、加載存儲指令、控制與狀態寄存器訪問指令和系統調用指令這六類,這些指令可以滿足現代操作系統運行的基本要求。擴展指令集中包括整型數乘除法操作指令、原子內存操作指令、不同精度(單精度、雙精度、四倍精度)的浮點數指令和壓縮指令,采用RISC-V架構的處理器設計人員可以根據需要包含或者省略這些擴展指令[2]。
表1 RISC-V的指令集組成[3]
1.3 RISC-V的優勢
RISC-V是一種簡潔的設計,更少的指令和指令格式減少了設計處理器和驗證硬件正確性的工作量,其開放式的特點也使得學術界和工業界的所有最佳人才都可以幫助提高安全性。
圖3 RISC-V的優勢 來源:https://riscv.org/risc-v-foundation/
2 RISC-V的主要市場
2.1 從異構計算說起
當摩爾定律逐漸接近物理極限,通用化的芯片通過摩爾定律提升性能的速度變得很慢,而且單純地提升一種芯片性能的代價越來越高,目前芯片的研發成本已經超過了一般商業公司的承受能力,支持高端芯片研發的企業越來越少,這對半導體行業的生態造成了非常不利的影響。與此同時,隨著物聯網時代的到來,終端應用豐富而碎片化的發展急需針對不同的應用場景設計定制化的芯片來滿足其需求,這也就是異構計算的一個范式[5]。
異構計算時代,對芯片設計的需求主要在于速度、成本和專用化的設計。絕大多數指令集架構都是受專利保護的,想要使用這些架構需要得到授權;多數指令集架構都比較復雜,對性能和功耗均會帶來影響;同時已有的指令集架構也不便于針對特定的應用進行自定義擴展,即便增加了特定的功能,價格也將隨之上漲。
在這樣的背景下,具有開源和可定制化設計等特性的RISC-V漸漸興起。RISC-V的開源特性一方面大大降低了成本,另一方面可以滿足量身定制的需求。此外,RISC-V生態與以Chisel為代表的敏捷設計方法論深度綁定,使用RISC-V也能享受到敏捷設計的速度優勢[5]。
2.2 體現RISC-V優勢的領域
RISC-V基金會中國顧問委員會主席方之熙博士認為,價格、性能和功耗方面的優勢并不會成為RISC-V最大的優勢。RISC-V免授權費的僅限于低端的設計(Arm也可以把簡單的設計開源免費提供),而比起指令集的優勢,團隊的設計功力對處理器的功耗和性能影響更大。RISC-V可以根據應用場景實現的差異化應該是最需要被關注的[6]。
目前來看,物聯網、專用芯片、數據中心市場和邊緣計算市場是RISC-V最能大展身手的四大領域。物聯網市場的碎片化特性是它的問題,卻也是RISC-V得以進入這一市場的契機,RISC-V指令集的可拓展性使開發者可以實現從低功耗的可穿戴設備到普通家電再到工控市場等的芯片;在專用芯片領域,RISC-V不僅能降低功耗和提高性能,還能夠設計不同的安全機制和安全算法;AI時代,不同的深度學習算法對于硬件架構的要求差距很大,數據中心處理器的功耗是一個非常大的問題,而定制化設計的RISC-V處理器能夠更好地滿足其需求;在邊緣計算市場,同樣有非常多的應用場景,這些應用對芯片的性能、功耗、安全性都有不同的要求,RISC-V的靈活性可以很好的發揮作用。
利用RISC-V的優勢,根據應用的需求設計出差異化且合適的RISC-V芯片,它可以在物聯網、專用芯片、數據中心、邊緣計算市場發揮出性能、功耗、安全性等方面的優勢,而這些快速發展的市場對生態的依賴性也沒有那么高,使RISC-V的應用變得更加容易。
2.3 RISC-V面臨的挑戰
雖然RISC-V持續受到關注,但其在工具和軟件存在缺陷,并且涉及到所有可定制架構的風險仍不容忽視[7]。
目前RISC-V的標準指令集里還沒有安全指令,用國際通用的方法實現安全機制則很容易被黑客發現問題并攻擊。
RISC-V更少的指令和指令格式減少了設計處理器和驗證硬件正確性的工作量,而RISC-V的目標范圍覆蓋了數據中心芯片到物聯網設備,因此設計驗證可能是開發成本的重要組成部分。建模、模擬、移植軟件、開發和調試新軟件等需要新的先進工具來實現。
盡管RISC-V開放式可定制化修改的特點使其在一些特定需求的領域發揮了更多的優勢因而可能得到更廣泛的應用,但是定制化的設計也使得它們之間難以兼容,使用這些系統并且管理跨系統部分的任務是非常復雜的。
除此之外,當一個架構被應用到特定的市場時,圍繞IP保護和專利侵權還有很多問題。當構建一個微架構時,幾乎肯定會在某個地方違反一些微架構模式,專利侵權變成了難以避免的問題;當基于指令集架構的衍生產品數量巨大時,保護IP也變得更加困難。
3 RISC-V應用于高性能處理器的可能性
3.1 基于RISC-V架構的511核處理器(Celerity)
Celerity采用分層加速器結構,有三個關鍵的架構層,下圖4顯示了Celerity的框圖:
綠色是通用層,用于執行復雜的代碼,如網絡、控制和決策;
藍色是專業化層,由高度專門化的算法加速器組成,可以滿足具有高性能和功耗要求的特定計算;
紅色是大規模并行層,由小型、緊密耦合的內核組成,可以滿足不斷增加的工作量對高能源效率和靈活性的要求。
這種架構使開發者在九個月內通過開源和敏捷硬件技術完成設計實現。
圖4 基于RISC-V架構的511核處理器(Celerity) 來源:[8]
下表2顯示了Celerity SoC和其他平臺上優化的BNN實現的性能比較。由于平臺的實現方法、技術和內存系統都不盡相同,該結果僅提供粗略的比較。與FPGA實現相比,Celerity SoC可以將性能提高10倍以上,與移動GPU相比,可以提高100倍以上[8]。
表2.在不同平臺上優化的BNN實現的性能比較 來源:[8]
3.2 Western Digital的RISC-V內核SweRV
Western Digital(西部數據)發布的SweRV架構是32bit順序執行架構,具有2路超標量設計和9級流水線,采用28nm CMOS工藝技術,運行頻率達1.8GHz,可以提供5.0 CoreMarks/MHz的仿真性能。官網消息稱SweRV Core將在未來幾年用于西部數據產品。
圖5 SweRV Core 來源:[9]
同時西部數據還推出了開源的SweRV指令集模擬器,該開源指令集模擬器是獨立于SweRV Core開發的,用于嚴格模擬和驗證SweRV Core。
圖6 SweRV指令集模擬器 來源:[9]
3.3 RISC-V應用于高性能處理器的可能性分析
隨著RISC-V架構越來越多的產品發布,這個開源指令集架構是否可能像X86和ARM架構一樣用于主處理器?
無疑,RISC-V架構的支持者認為RISC-V將來會成為Arm和x86作為主處理器的替代品。盡管RISC-V還存在需要解決的問題,如合規性測試時無確定獲批準的關鍵規格、操作系統軟件端口的缺乏等,但RISC-V的支持者仍表示RISC-V基金會及其成員正逐步解決這些問題。
Arm在2018年6月底建立網站以“設計系統芯片之前需要考慮的五件事”為主題從成本、生態系統、碎片化風險、安全性和設計保證方面攻擊RISC-V,盡管7月RISC-V也建立了網站,在Arm列出的五個問題上增加社區支持,以“設計系統芯片之前需要考慮的六件事”為主題對Arm進行反擊,但不容忽視的是,Arm的市場仍然巨大。
眾所周知,一旦當某種應用的需求有一定市場規模以后,會形成一種運轉平臺。當這一平臺上面的軟件形成了一定的生態系統以后,其他玩家便很難再進入了。X86架構主宰了PC、服務器等高性能高功耗領域,ARM架構專注于手機、物聯網等低功耗低成本領域已是無可厚非的事實,正在迅速壯大的RISC-V短時間內很難對它們構成嚴重威脅。RISC-V只是一個指令集架構,想要使用它還要做很多設計工作,這些工作甚至不比Arm的設計簡單[6]。
回顧PC時代的后期階段,盡管當時學術界做出的RISC微處理器比CISC更快,但AMD和英特爾可以使用其擁有的設計團隊和頂尖半導體技術來減少 x86和RISC的性能差距,當時RISC的設計都可以用于改進已有的x86設計;同時,AMD和英特爾的高產量使其價格比RISC計算機更低,x86也擁有更大的軟件基礎。盡管智能手機的出現使RISC逐漸占據主導,但CISC并沒有因此而消失。目前的局勢與當時有些類似,物聯網應用會伴隨新的技術,在人工智能物聯網領域,RISC-V會成為非常重要的玩家是毫無疑問的,RISC-V替代Arm也很有可能,但還需要一定的時間,而且Arm并不會因此而消失。在高性能處理器領域,盡管在學術界RISC-V可以做高性能處理器已經得到了驗證,但生態環境的不成熟使商業市場是否會選擇RISC-V仍具有不確定性。我們有理由相信,競爭之中每個公司都可以找到自己的立足點。對于一個需要不斷更新迭代的行業,良性的競爭可以有效地促進它的創新發展。
結語
自身設計的優越性和日益成熟的生態促進了RISC-V的快速發展,但其只是一個指令集架構,而指令集只是處理器的基礎,建立在指令集之上的處理器體系架構設計對于處理器來說也是十分重要的,這些設計工作并不比Arm的設計簡單。盡管學術界已有基于RISC-V的核處理器,但從計算機架構的發展歷程來看,市場才能最終決定架構創新是否成功,在高性能處理器領域,RISC-V的生態遠未成熟,但可以肯定的是,隨著RISC-V架構和生態系統的成熟,它肯定會在高性能處理器上找到立足點,而且它的角色只會越來越重要[7]。
參考文獻
[1] John L. Hennessy, David A. Patterson. A New Golden Age for Computer Architecture[J]. Communications of the ACM, 2019, 62(2): 48-60.
[2] Andrew Waterman, Yunsup Lee, David A. Patterson, Krste Asanovic. The RISC-V Instruction Set Manual, Volume I: Base User-Level ISA[J]. EECS, 2011, 62:3-4.
[3]雷思磊.RISC-V架構的開源處理器及SoC研究綜述[J].單片機與嵌入式系統應用,2017,17(02):56-60+76.
[4] John Hennessy, David Patterson. A new golden age for computer architecture: Domain-specific hardware/software co-design, enhanced security, open instruction sets, and agile chip development [DB/OL]. IEEE, 2018.
[5]李飛. RISC-V對芯片產業究竟意味著什么?[J/OL].半導體行業觀察,2019.
[6]包永剛.真正讓Arm感到緊張的原因為什么是RISC-V的靈活性?[J/OL].雷鋒網,2019
[7] Ann Steffora Mutschler. RISC-V Inches Toward The Center[EB/OL]. Semiconductor Engineering, 2018.
[8] Scott Davidson, Shaolin Xie, et al. The Celerity Open-Source 511-Core RISC-V Tiered Accelerator Fabric: Fast Architectures and Design Methodologies for Fast Chips[J]. IEEE Micro, 2018, 38(2):30-41
[9] Company. Supporting the RISC-V Ecosystem[EB/OL]. Western Digital, 2018.
總結
以上是生活随笔為你收集整理的RISC-V应用于高性能处理器的可能性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hive正则表达式的用法
- 下一篇: 编译原理——词法分析(3)有穷自动机中D