计算机综合课程设计

  • 格式:ppt
  • 大小:3.34 MB
  • 文档页数:78

下载文档原格式

  / 50
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
教育部-英特尔精品课程
计算机系统综合课程设计
基于MIPS32的SOC设计实践(上)
(Verilog+Quartus Ⅱ+Cyclone版)
主讲 杨全胜
东南大学计算机科学与工程学院
2019/8/4 P.1
教育部-英特尔精品课程
主要内容
MiniSys 指令系统介绍 MiniSys CPU的设计
$s0~$s7
寄存器号 约定用途
0 常数0,该寄存器永远只返回0。
1 用做汇编器的暂时变量。
2~3
用来存放一个子程序(函数)的非浮点运算 的结果或返回值。
4~7 存放子程序(函数)调用时的非浮点参数。
8~15
暂时变量,子程序(函数)使用时不保存这 些寄存器的值,因此调用后它们的值会 被破坏。
16~23 8个子程序用寄存器。子程序(函数)必须 在返回之前恢复这些寄存器的值以保证 其没有变化。
17
0
34
10001 00000 100010
2019/8/4 P.14
教育部-英特尔精品课程
部分MiniSys指令详解
逻辑与指令(R-format)
and $s1, $s2, $s3 # $s1=$s2 & $s3
6-bit op 0
000000
5-bit rs 18
10010
5-bit rt 19
立即数寻址
指令中第3操作数可使用16位二进制立即数
相对寻址
操作数是下一条指令的PC值(PC+4)加上一个 32位偏移量
寄存器寻址
操作数存放在寄存器中,指令里放的是寄存器号
寄存器相对寻址
操作数存放在数据存储器中,其有效地址由两部 分组成,基地址放在一个寄存器中,偏移部分为 一个16位的立即数 2019/8/4 P.7
sltu, sltiu 无条件转移指令-j, jr, jal
2019/8/4 P.8
教育部-英特尔精品课程
MiniSys指令格式
(1)R-format
add $1, $2, $3 # $1=$2+$3
6-bit op 0
000000
5-bit rs 2
00010
5-bit rt 3
00011
5-bit rs 2
00010
5-bit rt 1
00011
16-bit Address/Immediate
10 0000 0000 0000 1010
2019/8/4 P.10
教育部-英特尔精品课程
MiniSys指令格式
(3)J-format
j 10000 # go to 10000
6-bit op 2
000010
00000
26-bit Target/ Address
2500 00000 0000 1001 1100 0100
2019/8/4 P.11
教育部-英特尔精品课程
部分MiniSys指令详解
这里只介绍几个典型的指令格式,比较完 整的指令格式请参看教材。
2019/8/4 P.12
教育部-英特尔精品课程
28
第10个子程序用寄存器。(该定义和 MIPS中的不同)
堆栈指针,对它的调整必须显式的通过指 29 令来实现,硬件不支持堆栈指针的调整。
30
第9个子程序用寄存器。(该定义和MIPS 中的不同)
31 存放调用子程序(函数)时的返回地址。
2019/8/4 P.6
教育部-英特尔精品课程
Minisys指令的寻址方式
部分MiniSys指令详解
加法指令( R-format)
add $s1, $s2, $s3 # $s1=$s2+$s3
6-bit op 0
000000
5-bit rs 18
10010
5-bit rt 19
10011
5-bit 5-bit 6-bit rd shamt funct
17
0
32
10001 00000 100000
MiniSys采用32位MIPS指令中最常用的 31条指令,其寄存器组织,指令格式等 均采用MIPS指令系统相同的格式。
共有32个32位寄存器 32位定长格式指令 4种寻址方式
2019/8/4 P.4
教育部-英特尔精品课程
MiniSys寄存器组
寄存器名 $zero $at $v0~$v1 $a0~$a3 $t0~$t7
教育部-英特尔精品课程
MiniSys指令目录
算术指令-add, addu, addi, addiu, sub, subu
逻辑指令-and, andi, or, ori, xor, xori, nor, sll, srl, sra, sllv, srlv, srav
数据传送指令-lw, sw, lui 比较、条件转移指令-beq, bne, slt, slti,
5-bit 5-bit 6-bit rd shamt funct
1
0
32
00001 00000 100000
2019/8/4 P.9
教育部-英特尔精品课程
MiniSys指令格式
(2)I-format
lw $1, 10($2) # $1=Memory[$2 +10]
6-bit op 35
100011
2019/8/4 P.2
教育部-英特尔精品课程
第1章 MiniSys指令系统介绍
MiniSys寄存器组 Minisys指令的寻址方式 MiniSys指令目录 MiniSys指令格式 部分MiniSys指令详解
2019/8/4 P.3
教育部-英特尔精品课程
MiniSys指令系统简介
2019/8/4 P.13
教育部-英特尔精品课程
部分MiniSys指令详解
减法指令(R-format)
sub $s1, $s2, $s3 # $s1=$s2-$s3
6-bit op 0
000000
5-bit rs 18
10010
5-bit rt 19
10011
5-bit 5-bit 6-bit rd shamt funct
2019/8/4 P.5
教育部-英特尔精品课程
MiniSys寄存器组
寄存器名 $t8~$t9
$i0~$i1 $s9 $sp $s8 $ra
wk.baidu.com
寄存器号 约定用途
24~25
暂时变量,子程序(函数)使用时不保存这 些寄存器的值,因此调用后它们的值会被 破坏。
26~27
分别保存两个中断到来时程序的返回地址。 (该两寄存器定义和MIPS中的有所不同)
10011
5-bit 5-bit 6-bit rd shamt funct
17
0
36