计算机组成系统实验(硬件)
题目:设计一台嵌入式RISC模型机
学 号: 072031108
姓 名: 刘同来
指导教师: 陈智勇老师
专 业: 计算机应用技术
日期:2008-5-30
目 录
3 暂存器、通用寄存器、地址寄存器、指令寄存器单元源程序... 20
11 选择从PC或者BUS中读入数据到AR的二选一选择器单元源程序... 27
12 选择对ROM或者RAM进行操作的二选一选择器单元源程序... 27
13 MODE_CONTROL中央控制器单元源程序... 28
1 实验题目
设计一台嵌入式RISC模型机,采用定长CPU周期,要求具有以下验证程序所要求的功能:
要求:输入包含10个整数(补码表示)的数组M,将其分成正数数组P和负数数组N,依次输出正数数组P中的整数及正数的个数。
2 嵌入式RISC模型机数据通路框图
嵌入式RISC模型机
图2-1模型机数据通路框图
3.操作控制器的逻辑框图
启动 |
停止 |
时钟 |
复位 |
... |
Mk |
M1 |
T1 |
... |
Ti |
. . .
|
. . . |
. . . |
. . |
B1 |
Bj |
状态反馈信息 |
指令译码器 |
I1 |
Im |
指令寄存器IR |
具有时间标志的操作控制信号 |
组合逻辑线路 |
节拍电位/节拍脉冲 发生器 |
启动 |
图3-1 操作控制器的逻辑框图
4.模型机的指令系统和所有指令的指令格式
4.1 指令格式
为了完成输入包含10个整数(补码表示)的数组M,将其分成正数数组P和负数数组N,依次输出正数数组P中的整数及正数的个数的功能。本系统设计了9条指令:
IN1: 接收外部设备输入的数据送到目的寄存器;
MOV:将一个立即数送目的寄存器;
MOVRM:将源寄存器中的数据存储到目的寄存器所指向的地址单元;
MOVMR:将源寄存器所指向的地址单元中的数送入目的寄存器;
CMP: 源寄存器中的数和目的寄存器中的数进行比较并置状态寄存器FZ,FC值,锁存;
INC: 将目的寄存器中的数据自加1;
JB: 有条件转移指令(小于转移),判断状态寄存器中FC,FZ的值,若FC=1,FZ=0(表示在上一条指令中,比较的结果为小于),则转移到指定行,否则顺序执行。
JMP: 无条件转移指令.转移到指定行
OUT1: 将源寄存器数据输出到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)转移指令(“地址”中的值就是要转移的地址值)
无条件转移指令(JMP)采用双字节指令,其格式如下:
7 6 5 4 |
3 2 1 0 |
操作码 |
× × × × |
地 址 |
条件转移指令(JB)采用双字节指令,其格式如下:
7 6 5 4 |
3 2 1 0 |
操作码 |
× × × × |
地 址 |
(3)MOV指令
MOV指令采用双字节指令,其格式如下:
7 6 5 4 |
3 2 |
1 0 |
操作码 |
× × |
Rd |
立 即 数 |
(4)MOVRM和MOVMR指令
MOVRM,MOVMR指令采用单字节指令,其格式如下:
7 6 5 4 |
3 2 |
1 0 |
操作码 |
Rs |
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 |
4.2 数据格式
模型机规定数据的标识采用定点补码标识,且字长为8位,其格式如下