2010 年,加州大學柏克萊分校的實驗室專案需要一個易於實施的、高效的、可擴充的且與他人分享時不受限制的指令集,但當時沒有一個現成的指令集滿足以上需求。於是,在David Patterson 教授的支援下,Krste Asanovic教授和Andrew Waterman、Yunsup Lee 等開發人員一起建立了RISC-V 架構。
2014 年,該指令集架構一經公開,便迅速在全世界得到廣泛歡迎。
在開始閱讀本書前,請您先思考看看…
- 您是否想學習工業級 Verilog RTL 數位 IC 設計的精髓與技巧?
- 您是否閱讀了許多電腦系統結構的圖書仍不明就裡?
- 您是否想揭開 CPU 設計神秘的面紗,並親自設計一款處理器?
- 您是否想學習國際一流公司真實的 CPU 設計案例?
- 您是否想用最短的時間熟悉並掌握 RISC-V 架構?
- 您是否想深入理解並使用一款免費可靠的開放原始碼 RISC-V 處理器和完整的SoC 平台?
如果您對上述任意一個問題感興趣,本書都將是您很好的選擇。
CPU的基礎知識、指令集架構的歷史
CPU 的全稱為中央處理器單元,簡稱為處理器,是一個不算年輕的概念。早在20 世紀60 年代第一款CPU 便已誕生了。嚴格來說,「處理器核心」(core)是指處理器內部最核心的部分,是真正的處理器核心;而「處理器」(CPU)往往是一個完整的 SoC,包含了處理器核心和其他的裝置或記憶體。但是在現實中,大多數文章往往並不會嚴格地區分兩者,時常混用,因此讀者需要根據上下文自行判別,體會其具體的含義。
經過幾十年的發展,到今天為止,幾十種不同的CPU 架構相繼誕生或消毀。什麼是CPU 架構?下面讓我們來探討區分CPU 的主要標準—指令集架構(Instruction SetArchitecture,ISA)。
指令集架構主要分為複雜指令集(Complex Instruction Set Computer,CISC)架構和精簡指令集(Reduced Instruction Set Computer,RISC)架構。
RISC-V架構及其特點
RISC-V(英文讀作「risk-five」)架構主要由美國加州大學柏克萊分校的Krste Asanovic 教授、Andrew Waterman 和Yunsup Lee 等開發人員於2010 年發明,並且獲得了電腦系統結構領域的泰斗David Patterson 的大力支持。RISC-V 是一種全新的指令集架構。「V」包含兩層意思,一是這是加州大學柏克萊分校從RISC I 開始設計的第五代指令集架構;二是它代表了變化(variation)和向量(vector)。
加州大學柏克萊分校的開發人員之所以發明一套新的指令集架構,而非使用成熟的x86 或ARM 架構,是因為這些架構經過多年的發展變得極複雜和冗繁,並且存在著高昂的專利和架構授權問題。修改ARM 處理器的RTL 程式是不被支援的,而x86 處理器的原始程式碼則根本不可能獲得。其他的開放原始碼架構(如SPARC、OpenRISC)均有著或多或少的問題(詳見第本書2章),所以加州大學柏克萊分校的教授與研發人員決定發明一種全新的、簡單且開放免費的指令集架構,於是RISC-V 架構誕生了。
RISC-V的可擴充性,訂製一款輔助處理器
RISC-V 通用架構的基礎上實現領域特定加速器,這也是RISC-V 架構相比ARM 和x86 等主流商業架構的最大優點。RISC-V 架構的可擴充性表現在以下兩個方面:預留的指令編碼空間,以及預先定義的指令。
--
RISC-V是一個開放、開放原始碼的架構,人人都可獲取,因此,企業、學校和個人都可以積極參與相關的研發。基於RISC-V的晶片產品源源不斷地被推向市場,晶片行業蓬勃發展。這樣的發展勢頭終將推動RISC-V成為ISA領域的一項開放標準。
在CPU世界,大型商業機構掌握了處理器的設計,使得我們也必須屈從於封閉式的CPU架構。這也是為什麼目前個人電腦只有AMD和Intel兩家可以選擇。然而在RISC-V的出現,我們終於嗅到了CPU世界的自由氣息。這個完全開放的CPU架構,讓你我可以直接使用,並且用於個人使用甚至是商業使用。
本書以著名的蜂鳥系統為基礎,讓你可以真的動手進入RISC-V架構的設計,就像Linux剛出來時一樣,這個完全自由的架構,讓我們在各行各業都能設入自己的低功耗、高性能產品。三國鼎立就是現在,動手設計屬於你自己的CPU,從本書開始。
--
本文取自深智數位出版之〈三國鼎立唯一開源CPU架構 - RISC-V處理器設計快速上手〉