【RISC-V设计-10】- RISC-V处理器设计K0A之IDU
1.简介
指令译码单元(Instruction Decoder Unit,简称IDU)是CPU中的一个关键组件,其主要作用是将从内存中获取的指令进行解读和翻译,使其能够被CPU的其它组件理解和执行。指令译码单元承接总线管理单元(BMU)发送过来的指令和数据以及核内中断控制器(CIC)发过来的中断请求,然后经过转换后发送给算术运算单元(ALU)、通用寄存器组(GPR)、控制与状态寄存器(CSR)以及和BMU、CIC的交互。,指令译码单元在 CPU 的整体运行中起着承上启下、转换协调的重要作用,确保了 CPU 各组件之间的高效协同工作。
2.顶层设计
指令译码单元与其他所有模块相互交流协作,不同模块之间直接或间接地通过指令译码单元实现耦合。

3.端口说明
| 序号 | 端口 | 位宽 | 方向 | 说明 |
|---|---|---|---|---|
| 1 | bmu2idu_valid | 1 | input | 指令有效指示 |
| 2 | bmu2idu_instr | 32 | input | 需要执行的指令 |
| 3 | bmu2idu_pc_cur | 18 | input | 当前指令的PC |
| 4 | bmu2idu_pc_nxt | 18 | input | 下一条指令的PC |
| 5 | idu2bmu_pc_set | 1 | output | 程序计数器设置 |
| 6 | idu2bmu_pc_new | 18 | output | 新的程序计数器 |
| 7 | bmu2idu_pc_ack | 1 | input | 程序计数器应答 |
| 8 | idu2bmu_ls_req | 1 | output | 加载与存储请求 |
| 9 | idu2bmu_ls_cmd | 1 | output | 加载与存储命令,1写0读 |
| 10 | idu2bmu_ls_size | 2 | output | 加载与存储写数据字节数 |
| 11 | idu2bmu_ls_addr | 20 | output | 加载与存储的地址 |
| 12 | idu2bmu_ls_wdata | 32 | output | 加载与存储的写数据 |
| 13 | bmu2idu_ls_rdata | 32 | input | 加载与存储的读数据 |
| 14 | idu2gpr_we | 1 | output | 通用寄存器组写使能,高有效 |
| 15 | idu2gpr_waddr | 4 | output | 通用寄存器组写地址 |
| 16 | idu2gpr_wdata | 32 | output | 通用寄存器组写数据 |
| 17 | idu2gpr_r |

最低0.47元/天 解锁文章
2421

被折叠的 条评论
为什么被折叠?



