1
第一届全国大学生计算机系统能力培养大赛基础指令集规范
(
v1.00
)
第一届全国大学生计算机系统能力培养大赛
(以下简称
“
大赛
”
)
技术方案中要求各参赛队开发支持
MIPS
基准指令集的
MIPS
微系统。
本文档对需要支持的
MIPS
基准指令集进行明确规定。
各参赛队提交的设计作
品必须实现本文档中的所有内容,但不限于。如果发现本文档中有定义不精确之处,请查阅参考文献
[1-3]
中的相关章节;如发现两者存在冲突,以参考文献
[1-3]
中的内容为准。
本文档定义的
MIPS
基准指令集是在
MIPS32
指令集基础之上进行一定程度地裁剪,
在控制系统设计规
模的前提下,
保证最简单系统的可实现性。
概要来说,
这套指令集包含了所有非浮点
MIPS I
指令和
MIPS32
中的
ERET
指令,少量的
CP0
寄存器以支持中断和系统调用,不实现
TLB MMU
和特权等级。
本文档包含如下章节:
第
1
章,
“
编程模型
”
,对支持的数据类型、软件可见寄存器、大小尾端进行定义。
第
2
章,
“
操作模式
”
,对处理器需要支持的操作模式进行定义。
第
2
章,
“
指令定义
”
,对需实现指令逐条定义。
第
3
章,
“
存储管理
”
,定义一套线性虚实地址映射机制。
第
4
章,
“
中断与例外
”
,介绍需实现的中断和例外的相关定义。
第
5
章,
“
系统控制寄存器
”
,对需实现的系统控制寄存器(俗称
CP0
寄存器)逐个进行定义。
1
编程模型
1.1
数据格式
处理器可处理的数据格式定义如下:
比特(
bit, b
)
字节(
Byte, 8bits, B
)
半字(
Halfword, 16bits, H
)
字(
Word, 32bits, W
)
1.2
寄存器
处理器包含的软件可见的寄存器种类如下:
32
个
32
位通用寄存器,
r0~r31
。
其中有两个被赋予了特殊含义:
r0
,
0
号通用寄存器,
值永远为
0
;
r31
,
31
号通用寄存器,被
JAL
,
BLTZAL
和
BGEZAL
指令隐式的用作目标寄存器,存放返回地
址。
HI/LO
寄存器。
HI
寄存器存放乘法指令结果的高半部分或是除法指令结果的余数,
LO
寄存器存放
乘法指令结果的低半部分或是除法指令结果的商。
程序计数器(
PC
)
。这个寄存器软件无法直接访问。