RISC-V处理器:1.取指令 RTL 代码分析
1. 取指特点
- 指令在存储空间中所处的地址,称为它的指令PC(Program Counter)
- 取指是指处理器将指令,按照其指令PC,从存储器中读取出来的过程
- 处理器从存储器中取出指令的目标是:快速和连续不断
- 指令分为普通指令,非分支跳转指令和分支跳转指令
- 对于非分支跳转指令,即便是对于地址不对齐的32位指令,也要求能够连续不断的从一个周期内读取出来
- 对于分支跳转指令,要能够迅速判断是否需要跳转。若果需要跳转,则从新的指令PC地址处快速取出指令。
2. 快速取指
首先应该保证存储器的读延迟越小越好:
- 片外DDR或者Flash存储器可能需要几十个周期的延时
- 片上的SRAM也可能需要几个周期的延时
我们采取 ITCM 和 I-Cache 的方法:
- ITCM(Instruction Tightly Coupled Memory)
指令紧耦合存储器,指配置一小段容量很小(即使KB)的存储器(通常为SRAM),用于存储指令,且在物理上,举例处理器核很近,并且专属于处理器核,因此能够取得很小的访问延迟。这种方式只能用来存放容量大小