**这是本文档旧的修订版!**
RISC-V指令集
指令集(Instruction Set)是计算机硬件和软件的接口。在设计一款CPU时,逻辑上说应该是先有指令集再有硬件实现,因此指令集的选择非常重要。在CPU内部,控制器会根据指令集中的指令,调度ALU、寄存器组、Cache、总线等硬件模块实现指令功能。各种复杂的应用程序在CPU内部运行的时候,都变成了取址、运算、读写等等基本指令,这些基本指令具有指令集规定的位域和位宽,是CPU控制器可以“识别”的二进制码。直接利用指令集中的指令(二进制码)来写代码非常麻烦,因此大多数程序员使用高级语言(例如java,c,c++,C#,pascal,python等等)进行编程,这些依据特定语法生成的代码通过编译器转换成机器指令在CPU中运行。
然而,同样一个程序运行在不同指令集的CPU上时,其内部的硬件处理是