计算机硬件系统实验报告
PAGE
PAGE 1
计算机硬件系统实验报告
RISC模型微处理器设计
学 号:
姓 名: 陆 二 庆
指导教师: 陈智勇 老师
专 业: 计算机应用技术
日期:2006-10-17
1 实验题目
设计一台RISC模型机,并通过执行下列程序以验证其功能。
验证程序:随机输入10个无符号整数,然后按从小到大的顺序输出这10个整数。
2 机器指令格式和指令系统
2.1 指令格式
作为一个模型计算机,并能实现上述验证程序的功能。本系统共定义了10条指令:
IN: 输入到目的寄存器;
CMP: 源寄存器中的数和目的寄存器中的数进行比较并置状态寄存器FZ,FC值,锁存;
MOV: 将源寄存器中的数送入目的寄存器;
MOV1:将一个数送入目的寄存器;
MOV2:将源寄存器中的数据存储到目的寄存器所指向的地址单元;
MOV3:将源寄存器所指向的地址单元中的数送入目的寄存器;
DJNZ: 将目的寄存器中的数据自减一后置状态寄存器测试状态寄存器中的FZ是否为0,若不为0则跳转到指定行,否则顺序执行;
INC: 将目的寄存器中的数据自加一;
JB: 有条件转移指令(小于转移),判断状态寄存器中FC,FZ的值,若FC=1,FZ=0(表示在上一条指令中,比较的结果为小于),则转移到指定行,其他值则顺序执行。
OUT: 输出到LED。
下面系统中采用的十条指令及其格式,其中Rs为源寄存器,Rd为目的寄存器。
(1)I/O指令
输入(IN1)指令采用单字节指令,其格式如下:
7 6 5 4
3 2
1 0
操作码
× ×
Rd
输出(OUT1)指令采用单字节指令,其格式如下:
7 6 5 4
3 2
1 0
操作码
Rs
× ×
(2)转移指令
条件转移指令(DJNZ)采用双字节指令,其格式如下:
7 6 5 4
3 2
1 0
操作码
× ×
Rd
地 址
条件转移指令(JB)采用双字节指令,其格式如下:
7 6 5 4
3 2 1 0
操作码
× × × ×
地 址
“地址”中的值就是要转移的地址值。
(3)MOV,MOV2和MOV3指令
这三类指令采用单字节指令,其格式如下:
7 6 5 4
3 2
1 0
操作码
Rs
Rd
(4)MOV1指令
MOV1指令采用双字节指令,其格式如下:
7 6 5 4
3 2
1 0
操作码
× ×
Rd
立 即 数
(5)自增指令
自增1指令(INC)采用单字节指令,其格式如下:
7 6 5 4
3 2
1 0
操作码
× ×
Rd
(6)比较指令
比较指令(CMP)采用单字节指令,其格式如下:
7 6 5 4
3 2
1 0
操作码
Rs
Rd
(7)对Rs和Rd的规定:
Rs或Rd
选定的寄存器
0 0
R0
0 1
R1
1 0
R2
2.2 数据格式
模型机规定数据的标识采用定点补码标识,且字长为8位,其格式如下
7
6 5 4 3 2 1 0
符号位
尾数
2.3 指令系统
本模型机共有10条指令,下表列出了每条指令的格式、汇编符号和指令功能。
助记符号
指令格式
功 能
IN
0 1 1 0
××
Rd
将数据存到Rd寄存器
CMP Rs, Rd
0 1 1 1
Rs
Rd
(Rs)-(Rd),锁存CY和ZI
MOV Rs, Rd
1 0 0 0
Rs
Rd
(Rs) → Rd
MOV1
1 0 0 1
××
Rd
Data
Data → Rd
MOV2 Rs, [Rd]
1 0 1 0
Rs
Rd
(Rs) → [Rd]
MOV3 [Rs], Rd
1 0 1 1
Rs
Rd
([Rs]) → Rd
DJNZ Rd,
1 1 0 0
××
Rd
addr
(Rd-1)若不为0,则addr→PC
INC
1 1 0 1
××
Rd
(Rd)+1 → Rd
JB addr
1 1 1 0
××××
addr
若小于,则addr → PC
OUT1 Rs
1 1 1 1
Rs
××
(Rs)→ LED
表2.1 指令系统格式表
3. 机器指令的CPU操作流程图
机器指令的CPU操作流程图