前言
RISC-V 是基於精簡指令原則的開放原始碼指令集架構。該項目2010年始於加州大學伯克利分校,採用開放原始碼BSDLicense。RISC-V 指令集可自由地用於任何目的,允許任何人設計、製造、銷售RISC-V 晶片和軟體,而不必支付給任何公司專利費。其目標是成為一個通用的指令集架構,能適應包括從最袖珍的嵌入式控制器到最快的高性能電腦等各種規模的處理器。與現有其他指令集架構相比,RISC-V 架構有著鮮明的特點和優勢。
開放原始碼和免費。開放原始碼表示開發者可以針對特定應用場景進行訂製最佳化,免費表示RISC-V 可以幫助開發者有效降低 CPU 設計成本。
模組化和簡潔。模組化設計和簡潔的基礎指令可以讓使用 RISC-V 技術的晶片設計者開發出很簡單的RISC-VCPU,特別是在嵌入式和物聯網(Internet of Things,IoT)等領域對功耗和程式體積有較高限制的應用場景。
靈活和可擴展性。RISC-V 架構預留大量的編碼空間用於自訂擴展,並定義了4行使用者指令供使用者直接使用,該特性在安全或IoT領域有著廣泛的需求。
2015年,RISC-V 基金會成立,它是開放、協作的軟硬體創新者社區,指導未來發展方向並推動RISC-V 的廣泛應用。
雖然RISC-V 目前的生態還處於初級階段,但是越來越多的產業界巨頭對 RISC-V有著強烈的興趣並紛紛加入RISC-V 基金會,RISC-V 極有可能像Linux那樣開啟開放原始碼晶片設計的黃金時代。從自主可控生態建設來看,從零開始建立互相相容的 RISC-V 生態當下也許是最好的時機,可以期待在不久的將來,RISC-V 的生態就可以挑戰x86和 ARM 的地位。
全書由13章組成,分為三大部分。第1章為第一部分———處理器指令集架構,主要介紹指令集相關基礎概念及 RISC-V 指令集架構。第2~9 章為第二部分———處理器微架構,主要內容為RISC-V CPU 微架構設計及邏輯實現,從微架構和管線設計原理著手,詳細介紹 RISC-V 指令集架構 CPU 的設計方法,並以開放原始碼處理器核心 Ariane 為例,介紹 RISC-V 處理器的實現細節。第10~13 章為第三部分———處理器驗證,主要內容為RISC-VCPU 驗證,著重介紹如何基於當前主流驗證方法UVM 建構RISC-VCPU驗證平臺,並完成 CPU 核心的驗證工作。
希望本書能夠成為RISC-V 處理器同好的入門圖書,為RISC-V 處理器在國內的普及和發展貢獻綿薄之力。
感謝鵬城實驗室自主可控專案小組參與本書撰寫的所有成員,撰寫過程中有著大量的程式分析、資料整理和文稿校對工作,他們的付出使得本書能夠最終成文。同時,還要感謝清華大學出版社各位編輯的大力支持,他們認真細緻的工作保證了本書的品質。
由於編者水準有限,書中難免有疏漏和不足之處,懇請讀者批評指正!
編者