《计算机组成原理实验》
实验报告
(实验三)
学院名称:学生姓名:学号:专业(班级):时间:2017年6月1日
成绩:实验三: 多周期CPU设计
实验目的
(1) 认识和掌握多周期数据通路原理及其设计方法;
(2) 掌握多周期CPU的实现方法,代码实现方法;
(3) 编写一个编译器,将MIPS汇编程序编译为二进制机器码;
(4) 掌握多周期CPU的测试方法。
实验内容
设计一个多周期CPU,该CPU至少能实现以下指令功能操作。需设计的指令与格式如下:(说明:操作码按照以下规定使用,都给每类指令预留扩展空间,后续实验相同。)
==>算术运算指令
(1)add rd, rs, rt
000000rs(5位)rt(5位)rd(5位)reserved功能:rd
(2)sub rd, rs, rt
000001rs(5位)rt(5位)rd(5位)reserved完成功能:rd
(3)addi rt, rs, immediate
000010rs(5位)rt(5位)immediate(16位)功能:rt
==>逻辑运算指令
(4)or rd, rs, rt
010000rs(5位)rt(5位)rd(5位)reserved功能:rd
(5)and rd, rs, rt
010001rs(5位)rt(5位)rd(5位)reserved功能:rd
(6)ori rt, rs, immediate
010010rs(5位)rt(5位)immediate功能:rt
==>移位指令
(7)sll rd, rt,sa
011000未用rt(5位)rd(5位)sareserved功能:rd
==>比较指令
(8) slt rd, rs, rt 带符号数
100110rs(5位)rt(5位)rd(5位)reserved功能:if (rs
(9) sltu rd, rs, rt 不带符号数
100111rs(5位)rt(5位)rd(5位)reserved功能:if (rs
==>存储器读写指令
(10)sw rt, immediate(rs)
110000rs(5位)rt(5位)immediate(16位)功能:memory[rs+ (sign-extend)immediate]
(11)lw rt, immediate(rs)
110001rs(5位)rt(5位)immediate(16位)功能:rt
==>分支指令
(12)beq rs,rt, immediate (说明:immediate从pc+4开始和转移到的指令之间间隔条数)
110100rs(5位)rt(5位)immediate(16位)功能:if(rs=rt) pc
(13)bne rs,rt, immediate (说明:immediate从pc+4开始和转移到的指令之间间隔条数)
110101rs(5位)rt(5位)immediate(16位)功能:if(rs!=rt) pc
==>跳转指令
(14)j addr
111000addr[27..2]功能:pc
说明:由于MIPS32的指令代码长度占4个字节,所以指令地址二进制数最低2位均为0,