有带进位加法和立即数寻址方式的模拟机.docx
《有带进位加法和立即数寻址方式的模拟机.docx》由会员分享,可在线阅读,更多相关《有带进位加法和立即数寻址方式的模拟机.docx(16页珍藏版)》请在冰豆网上搜索。
有带进位加法和立即数寻址方式的模拟机
前言
通过对计算机组成原理及实验的学习,设计机器指令,并编写相应的微程序,完成有基本单元构成一台基本模型机,在经过调试指令和模型机使其在微程序的控制下自动生产各部件的正常工作信号。
在设计模型机的实验过程中,个别部件单元的控制信号是人为模拟产生的,而课程设计将能在微程序控制下自动产生各部件单元控制信号,实现带进位加法和立即数寻址方式的指令功能。
这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条指令执行结束的一个指令周期,全部由微指令来完成,即一条指令对应一条微程序。
本课程设计以辉煌计算机组成原理教学实验系统为平台设计完成。
1、根据任务要求设计整机的方案。
2、存储系统:
使用模型机的存储模块,说明存储器的输入输出时序,模块连接方式等。
3、微程序控制器模块:
使用教学机的系统,设计程序控制器。
4、设计模块指令系统:
(含设计微指令格式、微程序流程图,每条指令所对应的微程序等)。
5、了解并说明教学模型机的输入输出模块。
6、在自己设计的指令系统基础上,编制一个汇编语言小程序并进行调试通过。
7、整机设计模块进行,说明模块中数据和控制信号的来源、去向、功能、时序,以及模块间数据和控制信号的来源、去向、时序等。
摘要
本次课程设计课题是带进位加法和立即数寻址方式的模型机的设计与实现,该设计要求根据计算机组成原理课程所学知识,设计,开发一套简单的模型计算机。
通过对一个简单计算机的设计,已达到对计算机的基本组成、部件的功能与设计、微程序控制器的设计、微指令和微程序的编制与调试等过程有更深的了解,加深对理论课程的理解。
通过模型机的设计和调试,连贯运用计算机组成原理课程学到的知识,建立计算机整机概念,加深计算机时间和空间概念的理解。
部件实验过程中,本课程设计将能在微程序控制下自动产生各部件单元的控制信号,实现特定指令的功能,通过设计流程图,编写机器指令,微程序和控制信号程序。
首先向存储器中装入数据和程序,然后检查写入是否正确,启动程序执行,并将实验结果显示出来。
关键词:
模型机运算器存储系统程序指令
目录
前言1
摘要2
第1章设计分析4
1、问题描述4
2、设计目标4
3、指令格式4
4、准备知识4
4.1、微指令格式4
4.2、指令译码电路5
4.3、寄存器译码电路6
第二章设计微指令7
1、设计微指令7
1.1、画出微程序流程图7
1.2、设计微指令8
1.3、微程序代码8
1.4、工作程序的设计9
1.5、指令实现信号10
1.6、程序运行结果10
第3章建立联机操作文件11
第4章连接实验线路12
第5章运行与调试13
1、系统与PC机联机13
2、下载工作程序和微程序13
3、运行13
第6章实验心得与总结14
参考资料:
15
第1章设计分析
1、问题描述
本题目设计的是一台具有输入、输出、带进位加法、储存和跳转功能的模型计算机,并写出工作程序和测试数据验证所设计的指令系统。
2、设计目标
在设计完本程序后,所设计模型机能够完成从一个外设输入一个数到指定的寄存器中,另外输入立即数并将其存入另一个、寄存器中,两数进行进位相加并将结果保存到第一个寄存器,输出结果,并显示。
另外,实现无条件跳转至开始。
3、指令格式
表1指令格式表
助记符号
机器指令码
功能
IN
00000000
Input->R0
ADCImm
11100000XXXXXXXX
R0+Imm+CY->R0
STAaddr
00100000XXXXXXXX
R0->[addr]
OUTaddr
00110000XXXXXXXX
[addr]->LED
JMPaddr
01000000XXXXXXXX
[addr]->PC
4、准备知识
4.1、微指令格式
微指令字长共24位,其控制位顺序如下表所示:
表2
表3
A字段
B字段
C字段
15
14
13
选择
12
11
10
选择
9
8
7
选择
0
0
0
0
0
0
0
0
0
0
0
1
LDRi
0
0
1
RS-B
0
0
1
P
(1)
0
1
0
LDDR1
0
1
0
RD-B
0
1
0
P
(2)
0
1
1
LDDR2
0
1
1
RI-B
0
1
1
P(3)
1
0
0
LDIR
1
0
0
299-B
1
0
0
P(4)
1
0
1
LOAD
1
0
1
ALU-B
1
0
1
AR
1
1
0
LDAR
1
1
0
PC-B
1
1
0
LDPC
表中uA0~uA5为6位的下一条微指令的地址,A、B、C为3个译码字段,分别由三个控制位译码出多位。
C字段中的P
(1)~P(4)是四个测试字位。
其功能是根据机器指令及相应微代码进行译码,使微程序转入相应的微地址入口,从而实现微程序的顺序、分支、循环运行,其原理如图2所示。
图中I7~I2为指令寄存器的7~2位输出,SE5~SE1为微控器单元微地址锁存器的强制端输出。
AR为算术运算是否影响进位及判零标志控制位,其为零有效。
B字段中的RS-B、R0-B、RI-B分别为源寄存器选通信号、目的寄存器选通信号及变址寄存器选通信号,其功能是根据机器指令进行三个工作寄存器R0、R1及R2的选通译码,其原理图如图3所示,图中I0~I3为指令积存器的第0~3位,LDRi为打入工作寄存器信号的译码器使能控制位。
4.2、指令译码电路
图1指令译码电路图
4.3、寄存器译码电路
图2寄存器译码电路图
图3微程序控制电路图
第二章设计微指令
1、设计微指令
1.1、画出微程序流程图
图4微程序流程图
1.2、设计微指令
表4设计的微指令
微地址
S3
S2
S1
S0
M
CN
WE
A9
A8
A
B
C
UA5….UA0
00
0
0
0
0
0
0
0
1
1
000
000
000
000001
01
0
0
0
0
0
0
0
1
1
110
110
110
000010
02
0
0
0
0
0
0
0
0
1
100
000
001
001000
03
0
0
0
0
0
0
0
0
1
011
000
000
000100
04
0
0
0
0
0
0
0
1
1
010
001
000
000101
05
1
0
0
1
0
1
0
1
1
001
101
101
000001
06
0
0
0
0
0
0
0
0
1
110
000
000
000111
07
0
0
0
0
0
0
1
0
1
000
001
000
000001
08
0
0
0
0
0
0
0
0
0
001
000
000
000001
0E
0
0
0
0
0
0
0
1
1
110
110
110
000011
0A
0
0
0
0
0
0
0
1
1
110
110
110
000110
0B
0
0
0
0
0
0
0
1
1
110
110
110
011000
0C
0
0
0
0
0
0
0
1
1
110
110
110
001101
0D
0
0
0
0
0
0
0
0
1
101
000
110
000001
18
0
0
0
0
0
0
0
0
1
110
000
000
001111
0F
0
0
0
0
0
0
0
0
1
010
000
000
010101
15
0
0
0
0
0
1
1
1
0
000
101
000
000001
1.3、微程序代码
根据以上编写的微程序,以及微指令代码化的方法得到的微程序代码为:
$M00018001
$M0101ED82
$M0200C048
$M0300B004
$M0401A205
$M05959B41
$M0600E007
$M07028201
$M08001001
$M0E01ED83
$M0A01ED86
$M0B01ED98
$M0C01ED8D
$M0D00D181
$M1800E00F
$M0F00A015
$M15070A01
1.4、工作程序的设计
将题目设计的模型机的指令用汇编语言描述其具体结构为:
表5模型机的指令用汇编语言描述其具体结构
地址
内容
助记符
说明
00000000
00000000
IN
Input->R0
00000001
11100000
ADCImm
R0+Imm+cy->R0
00000010
00001010
00000011
00100000
STA[0BH]
R0->[0BH]
00000100
00001011
00000101
00110000
OUT[0BH]
[0BH]->LED
00000110
00001011
00000111
01000000
JMP
Addr->PC
00001000
00000001
工作程序代码为:
$P0000
$P01E0
$P020A
$P0320
$P040B
$P0530
$P060B
$P0740
$P0801
1.5、指令实现信号
表6指令实现信号
助记符
信号
IN
PC->AR,PC+1
LDPC,PC-B,LDAR
RAM->BUS,BUS->IR
W/R,CE,LDIR
INPUT->BUS
SW-B,LDRi
ADC
PC->AR,PC+1
LDPC,PC-B,LDAR
RAM->BUS,BUS->DR2
W/R,CE,LDDR2
R0->DR1
LDRi.LDDR1
(DR1)+(DR2)+cy->R0
S3-S0,M,Cn,ALU-B
STA
PC->AR,PC+1
LDPC,PC-B,LDAR
RAM->BUS,BUS->AR
W/R,CE,LDAR
R0->BUS,BUS->RAM
LDRi,W/R,CE
OUT
PC->AR,PC+1
LDPC,PC-B,LDAR
RAM->BUS,BUS->AR
W/R,CE,LDAR
RAM->BUS,BUS->DR1
W/R,CE,LDDR1
DR1->LED
ALU-B,LED-B,W/R
JMP
PC->AR,PC+1
LDPC,PC-B,LDAR
RAM->BUS,BUS->PC
W/R,CE,LDPC
1.6、程序运行结果
输入01H,经运行后LED显示为0B,实验成功。
第3章建立联机操作文件
为了从PC机下载工作程序和微程序,需要建立联机操作文件,该文件是普通的文本文件,扩展名为TXT,可用记事本来建立的,要求:
a、测试用的工作程序排在文件的前面,每个内存地址及代码占一行;
b、微指令代码排在文件的后面,每个微地址及微指令代码占一行;
第4章连接实验线路
复杂模型机系统连线图
图5复杂模型机系统连线图
第5章运行与调试
1、系统与PC机联机
实验系统安装有一个标准的DB型9针RS-232C串口插座,使用配套的串行通信电缆分别插在实验系统及PC机的串口,可实现系统与PC机的联机操作。
2、下载工作程序和微程序
使用辉煌软件将工作程序和微程序下载到实验箱的内存和控制存储器中。
其中,自带电线的实验箱用NCMP53软件,启动软件后使用F4[装载]进行下载;外接电源线的实验箱用CMPP软件,启动软件后在菜单中选择[转储]/[装载]进行下载。
3、运行
图6数据通路结构框图
第6章实验心得与总结
这门课上个学期已经上过了,实验也有做过的,但是没有这一次做的那么深入和远远没有这次做的好。
经过这个学期的
实验使我对组成原理这门课有了更加深入的理解和认识,当然在实验的过程我也是学了不小东西。
有一个问题我必须要引起注意的,就是我实验的过程中老是有犯错的毛病。
我希望我在以后的实验里能够减小毛病的出现,使得我的实验能力有所增强。
我觉得这几次实验相对其他的实验意义更大一点,无论从动手能力还是思考方面来说。
我最后对这个实验和课程总结一句:
这是一个朴实的实验和先进的课程。
参考资料:
[1]唐朔飞.《计算机组成原理》[M].北京高等教育出版社,2000.
[2]《计算机组成原理》学习指导与习题解答[M].北京:
高等教育出版社,2005.
[3]孙德文,等.微型计算机技术[M].修订版.北京:
高等教育出版社,2006.
[4]张晨曦,等.计算机体系结构[M].2版.北京:
高等教育出版社,2006.
[5]白中英,等.计算机组成原理[M].3版.北京:
科学出版社,2002.
[6]杨小龙,等.计算机组成原理与体系结构[M].西安电子科技大学出版社,2004.