RV32I
的
CPU
设计与实现
班级:计科
1601
学号:
201611020126
姓名:蒋雨
一、实验目标
完成一个模拟
RISC-V
的基本整数指令集
RV32I
的
CPU
设计(单周期实现)。
二、实验要求
硬件设计采用
VHDL
或
Verilog
语言。
三、实验设计
单周期
CPU
指的是一条指令的执行在一个时钟周期内完成,然后开始下一条指令的执行,
即一条指令用一个时钟周期完成。
CPU
在处理指令时,一般需要经过以下几个步骤:
取指令
(IF)
:根据程序计数器
PC
中的指令地址,从存储器中取出一条指令,同时,
PC
根据
“ ”指令字长度自动递增产生下一条指令所需要的指令地址,但遇 地址转 指令时,则控
“ ”制器 转地址 送入
PC
“ ”,当然得的 地址 需要做些变换才送入
PC
。
指令译码
(ID)
:对取指令操作中得的指令进行分析并译码,确定这条指令需要完成的操作,
从而产生相应的操作控制信号,用于驱动执行状态中的各种操作。
指令执行
(EXE)
:根据指令译码得的操作控制信号,具体地执行指令动作,然后转结
果写回状态。
存储器访问
(MEM)
:所有需要访问存储器的操作都将在这个步骤中执行,该步骤给出存储器
的数据地址,数据写入存储器中数据地址所指定的存储单元或者从存储器中得数据地
址单元中的数据。
结果写回
(WB)
:指令执行的结果或者访问存储器中得的数据写回相应的目的寄存器中。
单周期
CPU
,是在一个时钟周期内完成这五个阶段的处理。
评论0