作者:Jay Wang
在摩尔定律接近失效、加速计算方兴未艾的关键时刻,RISC-V以其优雅的设计、可扩展性和开源特性,成为了备受关注的开源指令集架构,吸引了数百个公司参与。作为一个开源爱好者,我收集了一些可供学习的RISC-V资源。
伽利略大学的Andrés Castellanos发布了一个RISC-V汇编及模拟器,Jupiter。Jupiter仅仅是一个Java文件,下载后可以直接点击运行。它提供了一个简单的编辑器和汇编器,并可以进行程序模拟,通过控制台进行输入、输出,还可以查看内存和寄存器的内容。
Jupiter的开发者提供了一个计算斐波那契数列的例程。需要注意的是,这个例程中的__start标记需要改为main,否则会出错。
Jupiter下载地址:https://github.com/andrescv/Jupiter。
RISC指令集风格的开创者,David Patterson和John Hennessy,写了经典的指令集教科书Computer Organization and Design: The Hardware/Software Interface(《计算机组成与设计硬件/软件接口》)。若论计算机组成原理和软硬件接口,这本书是写得最深入浅出的。该书先有MIPS版和ARM版,最近又出了RISC-V版。由于RISC-V版的还没有影印版引进,我没有看过。
David Patterson和Andrew Waterman撰写了一本小书,The RISC-V Reader: An Open Architecture Atlas(《RISC-V手册:一本开源指令集的指南》)。该书英文版售价19.9美元,但其他语言的译本以免费电子书的形式发布。此书十分精简,仅有100多页,将RISC-V的精华说得深入浅出。下载地址:http://www.riscvbook.com/。
此外,国内有一本《手把手教你设计CPU——RISC-V处理器篇》,偏向于硬件实现。
RISC-V基金会发布了RISC-V的指令集规范,可谓事无巨细,不过读来相当枯燥无味。
指令集规范下载地址:https://riscv.org/specifications/。
RISC-V基金会积极地组织峰会和巡回路演,并将讲稿以会刊的形式发布在网上。这些会刊内容涉及到了RISC-V生态,内容十分丰富。