计算机组成原理微程序设计乘法指令

  • 格式: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