计算机组成原理微程序设计乘法指令
- 格式:doc
- 大小:277.50 KB
- 文档页数:12
郑州轻工业学院本科
计算机组成原理课程设计
总结报告
设计题目:基本模型机的设计与实现
学生姓名:
系 别:
专 业:
班 级:
学 号:
指导教师:
2011 年 1月 7 日
2
郑州轻工业学院
课 程 设 计 任 务 书
题目 基本模型机的设计与实现
专业、班级
学号 姓名
主要内容:
乘法指令、停机指令的设计与实现。
基本说明:
由于乘法指令较为复杂,本次模型机设计只完成乘法机器指令和停机指令的设计与实现。
主要参考资料等:
《计算机组成原理》 白中英 主编 科学出版社。
完 成 期 限: 一周
指导教师签名:
课程负责人签名:
2011年 1月 7 日
3
目录
课 程 设 计 任 务 书 ..................................................................................... 2
一、 微程序控制器的基本原理 ................................................................. 4
二、 模型机结构 ......................................................................................... 5
三、 微指令格式 ......................................................................................... 6
四、 指令系统 ............................................................................................. 7
五、 指令流程图 ......................................................................................... 8
六、 程序清单 ............................................................................................. 9
七、 微程序清单 ....................................................................................... 10
八、 心得与体会 ....................................................................................... 11
附录:微程序详解 ........................................................................................... 11
1. 总述 ................................................................................................... 11
2. 乘法算法 ........................................................................................... 11
3. 实现难点 ........................................................................................... 12
4
一、 微程序控制器的基本原理
微程序控制器原理框图如图所示。它主要有控制存储器、微指令寄存器和地址转移逻辑三大部分组成。其中微指令寄存器分为微地址寄存器和微命令寄存器两部分。
(1) 控制存储器
控制存储器用来存放实现全部指令系统的微程序,机器运行时只读不写。其工作过程是:每读出一条微指令,则执行这条微指令接着以读出下一条微指令,又执行这条微指令„„。
(2) 微指令寄存器
微指令寄存器用来存放由控制存储器读出的一条微指令信息。其中微地址寄存器决定将要访问的下一条微指令的地址,而微命令寄存器则保存一条微指令的操作控制字段和判别测试字段的信息。
(3) 地址转移逻辑
在一般情况下,微指令由控制存储器读出后直接给出下一微指令的地址,通常我们简称微地址,这个微地址信息就存放在微地址寄存器中。如果微程序不出现分支,那么下一条微指令的地址就直接由微地址寄存器给出。当微程序出现分支时,意味着微程序出现条件转移。在这种情况下,通过判别测试字段P和执行部件的“状态条件”反馈信息,去修改微地址寄存器人内容,并按改好人内容去读下一条微指令。地址转移逻辑就承担着自动完成修改微地址的任务。 5
二、 模型机结构
实训采用Dais CMH+实验箱作为设计环境,其结构如图所示。内存单元00~FF,每单元8位。控制存储器0~3F,64个单元,每单元8位,存放一条微指令。ALU为运算单元,DR1、DR2为数据缓冲存储器。R0、R1、R2为通用寄存器。
6
三、 微指令格式
模型机的微指令格式实验模型机的微指令格式为32位,23位操作控制位,3位P测试位,6位后续直接地址位。
M25 M24 M23 M22 M21 M20 M19 M18
C B A AR 未用 P3 A9 A8
M17 M16 M15 M14 M13 M12 M11 M10
CE LOAD CN M S0 S1 S2 S3
M9 M8 M7 M6
M5 M4 M3 M2
P2 LDAR LDPC LDIR LDDR2 LDDR1 LDR0 WE
8 7 6 5 4 3 M1 M0
UA0 UA1 UA2 UA3 UA4 UA5 P1 SW-B
32位微指令分为4部分
区域号 微程序区对应位 对应位控制功能
0 31~24 C B A AR 未用 P3 A9
A8
1 23~16 CE LOAD CN M S0 S1 S2 S3
2 15~08 P2 LDAR LDPC LDIR LDDR2 LDDR1 LDR0 WE
3 07~00 UA0 UA1 UA2 UA3 UA4 UA5 P1 SW-B
A字段
C B A 选择
0 0 0 禁止
0 0 1 PC-B
0 1 0 ALU-B
0 1 1 299-B
1 0 0 R0-B
1 0 1 R1-B
1 1 0 R2-B
1 1 1 保留位 7
B字段
P3 P2 P1
0 0 0 关闭测试
0 0 1 P (1) 识别操作码
0 1 0 P (2) 判寻址方式
0 1 1 P (Z) Z标志测试
1 0 0 P (I) 中断响应
1 0 1 P (D) 中断服务
1 1 0 P (C) C标志测试
1 1 1 保留位
四、 指令系统
设计指令系统如下表所示,包括停机指令和乘法指令。
助记符 机器指令码 说明
STOP 0000 0000 内存程序停止
MUL 0YH,0XH 0010 0000 0000**** 0000**** X*Y→LED 8
五、 指令流程图
9
六、 程序清单
内存数据如下表所示
地址(16进制) 内容(16进制) 助记符 说明
00 20 MUL 0Y,0X 0X*0Y->LED
01 0Y 乘数
02 0X
被乘数
03 00 临时暂存
04 C0 计数变量
05 [00] 计数步长地址
06 [05] 计数变量地址
07 [01] 下次起始地址
08 00 STOP 停机
机器指令如下表所示
地址 机器代码
P00 20 0YH 0XH MUL 0XH,0YH
P09 00H STOP 10
七、 微程序清单
M00 00 00 00 80
M01 20 00 60 40
M02 00 80 10 12
M08 20 00 04 CC
M09 40 13 04 08
M0A 00 00 00 00
M0B 00 C0 20 90
M0C 00 C0 20 90
M0D 00 C0 20 90
M10 40 2F 04 2C
M11 20 00 60 48
M12 00 80 04 C8
M13 40 1D 02 28
M14 00 8C 00 A8
M15 60 04 00 68
M16 60 80 01 E8
M17 80 00 04 18
M18 40 10 02 98
M19 80 00 04 58
M1A 40 13 08 D8
M1B 40 06 02 38
M1C 20 00 60 B8 M1D 00 80 04 78
M1E 80 00 08 F8
M1F 40 1D 02 04
M20 00 8C 00 84
M21 60 08 00 44
M22 60 80 01 C4
M23 80 00 04 24
M24 20 00 60 A4
M25 00 80 08 64
M26 40 A9 01 E4
M27 03 80 00 14
M28 20 00 60 94
M29 00 80 04 54
M2A 20 00 60 D4
M2B 00 80 40 34
M2C 00 80 08 B4
M2D 40 06 02 74
M2E 20 00 60 F4
M2F 00 80 40 0C
M30 80 80 01 8C
M31 20 00 60 4C
M32 80 00 10 12
M33 00 6F 24 00
M34 40 10 08 88