前言
学习掌握一项新技能、新事物的成就感都是令人兴奋的,例如,运行第一个hello world程序、实现第一个走迷宫算法、点亮第一个走马灯电路、首次听到自己做的收音机传来广播声音等。设计一个自己的RISCV处理器无疑更是一件令人激动不已的事情。
虽然当前能买到关于DIY一个小操作系统原型或小处理器原型的书籍,或者有相关的网络开源的参考文档,但由于这些工作涵盖领域和涉及的技术较多,除了经验较为丰富的读者外一般难以自行展开学习。这也是本教材的出发点之一,即如何在一个学期内让普通的本科学生能够动手完成一个简单的处理器硬件设计。
为了将少数爱好者才能完成的工作,变成更多普通学生可以参与的事情,就必须做到实验环境简单、操作细节丰富、能复用现有知识体系和补充必要的相关知识等。在本书第一篇里,用3章对RISCV处理器的背景和指令集做了简单介绍,并用Ripes虚拟机供读者练习RISCV汇编,为读者快速打下必要的基础。第二篇学习riscvmini处理器的Chisel设计,这部分内容使用了4章的篇幅。相较于使用verilog的RISCV设计本书更加高效简洁。因为Chisel就是伴随着RISCV一起产生的,目的就是让个人或小团队也能应对处理器系统设计这样繁重的挑战任务。这4章分别是实验环境的构建、Chisel数字系统设计、riscvmini处理器核,以及系统构建与仿真运行。读者如果学习过计算机体系结构或组成原理,将会加速学习过程。最后第三篇给出了基础观测实验、初级设计实验、中级设计实验及高级增强实验,读者可以尝试自己动手玩一玩riscvmini这个大玩具。
笔者花费多年时间,完成了《操作系统编程观察》《操作系统原型——xv6分析与实验》《GNU Linux C程序观察》《Linux技术内幕》以及本教材《RISCV处理器设计——riscvmini的Chisel源码分析与实验》等的编写,都是介绍计算机系统中相对成熟、但是非常基础的知识。读者如果有志立足研发并成为视野广阔的技术人,那么在自己知识体系的建设上,就不能只顾攀在高枝吃果子——浮在最新技术上,也需要将基础补牢。就好像优秀的心脏外科医生,并不能只懂发论文,还要能做好真实的心脏手术——这需要长期积累形成的基本功作为底子。
祝读者在本次学习中有所收获,领略在处理器知识领域内攻城略地的成就感!
配套资源
深圳大学 计算机与软件学院 副教授
深圳洛图智能有限公司CTO
罗秋明
2026年6月12日于深圳大学荔园
