《计算机设计与实践》实验报告-2020 春
.1.
实验报告
开课学期:2020 春季
课程名称:计算机设计与实践
实验名称:多周期 CPU 设计
实验性质:综合设计型
实验学时:42地点:线上
评阅教师:
报告成绩:
实验与创新实践教育中心制
2020 年 6 月
《计算机设计与实践》实验报告-2020 春
.2.
注:
本设计报告中各个部分如果页数不够,请大家自行扩页,原则是
一定要把报告写详细,能说明设计的成果和特色。报告中应该叙述设
计中的每个模块。设计报告将是评定每个人成绩的重要组成部分(设
计内容及报告写作都作为评分依据)。
完成单周期 CPU 设计与实现的同学根据单周期设计的内容完成
实验报告。完成多周期 CPU 设计与实现的同学根据多周期设计的内
容完成实验报告。
《计算机设计与实践》实验报告-2020 春
.3.
设计的功能描述(含所有实现的指令描述及模块的功能)
一、 指令描述
R-
型指令
(1) add
指令名:加法指令
功能描述:rd ← rs + rt; PC ← NPC (PC + 4)。 32 位整数加法,源操作数分
别在 rs, rt 两个通用寄存器中,结果放在 rd 寄存器。由于本设计无溢出检
测,因此该指令功能同 addu。
(2) addu
指令名: 无符号数加法指令
功能描述:rd ← rs + rt; PC ← NPC (PC + 4)。 32 位无符号整数加法,源操
作数分别在 rs, rt 两个通用寄存器中,结果放在 rd 寄存器。
(3) sub
指令名:减法指令
功能描述:rd ← rs - rt; PC ← NPC (PC + 4)。 32 位整数减法,源操作数分别
在 rs, rt 两个通用寄存器中,结果放在 rd 寄存器。
(4) subu
指令名:无符号减法指令
功能描述:rd ← rs - rt; PC ← NPC (PC + 4)。 32 位无符号整数减法,源操作
数分别在 rs, rt 两个通用寄存器中,结果放在 rd 寄存器。
(5) and
指令名: 逻辑与
功能描述:rd ← rs and rt; PC ← NPC (PC + 4)。 32 位数按位逻辑与,源操作
数分别在 rs, rt 中,结果放在 rd 寄存器。
(6) or
《计算机设计与实践》实验报告-2020 春
.4.
指令名: 逻辑或
功能描述:rd ← rs or rt; PC ← NPC (PC + 4)。 32 位数按位逻辑或,源操作
数分别在 rs, rt 中,结果放在 rd 寄存器。
(7) xor
指令名: 逻辑异或
功能描述:rd ← rs xor rt; PC ← NPC (PC + 4)。 32 位数按位逻辑异或,源操
作数分别在 rs, rt 中,结果放在 rd 寄存器。
(8) nor
指令名: 逻辑或非
功能描述:rd ← rs nor rt; PC ← NPC (PC + 4)。 32 位数按位逻辑或非,源操
作数分别在 rs, rt 中,结果放在 rd 寄存器。
(9) slt
指令名: 小于则设置指令
功能描述: if ((rs)<(rt)) then (rd)←1; else (rd)←0; PC ← NPC (PC + 4)。如果 rs
的值小于 rt 值,则设置 rd 为 1,否则 rd 为 0。
(10) sltu
指令名: 无符号小于则设置指令
功能描述: if ((rs)<(rt)) then (rd)←1; else (rd)←0; PC ← NPC (PC + 4)。无符
号数小于判断,如果 rs 的值小于 rt 值,则设置 rd 为 1,否则 rd 为 0。
(11) sll
指令名: 逻辑左移
功能描述: (rd)←(rt)<<shamt; PC ← NPC (PC + 4)。逻辑左移,将 rt 寄存器
中的 32 位数逻辑左移后赋给 rd,低位用 0 填充,移位的位数是 shamt。
(12) srl
《计算机设计与实践》实验报告-2020 春
.5.
指令名: 逻辑右移
功能描述: (rd)←(rt)>>shamt; PC ← NPC (PC + 4)。逻辑右移,将 rt 寄存器
中的 32 位数逻辑右移后赋给 rd,移位的位数是 shamt。
(13) sra
指令名: 算术右移
功能描述: (rd)←(rt)>>>shamt; PC ← NPC (PC + 4)。算术右移,将 rt 寄存
器中的 32 位数算术右移后赋给 rd,移位的位数是 shamt。算术右移时,符
号位不仅要参与移位,还要保留。
(14) sllv
指令名: 按寄存器值逻辑左移指令
功能描述: (rd)←(rt)<<(rs); PC ← NPC (PC + 4)。按寄存器值逻辑左移指令,
将 rt 寄存器中的 32 位数逻辑左移后赋给 rd,低位用 0 填充,移位的位数
在 rs 寄存器中。
(15) srlv
指令名: 按寄存器值逻辑右移指令
功能描述: (rd)←(rt)>>(rs); PC ← NPC (PC + 4)。按寄存器值逻辑右移指令,
将 rt 寄存器中的 32 位数逻辑右移后赋给 rd,移位的位数在 rs 寄存器中。
(16) srav
指令名: 按寄存器值算术右移指令
功能描述: (rd)←(rt)>>>(rs); PC ← NPC (PC + 4)。按寄存器值算术右移指令,
将 rt 寄存器中的 32 位数算术右移后赋给 rd,移位的位数在 rs 寄存器中。
算术右移 时,符号位不仅要参与移位,还要保留。
(17) jr
指令名: 按寄存器内容转移指令
- 1
- 2
- 3
- 4
- 5
前往页