微程序控制器模型计算机设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于微程序控制器的模型计算机设计
目录
1.课程设计的目的 (1)
2.课程设计要求 (1)
3.课程设计报告内容 (1)
1)、系统主要功能 (1)
2)、总体设计 (2)
3)、微程序控制器 (3)
4.汇编语言测试程序 (6)
5.机器语言测试程序 (6)
6、详细设计原理图 (7)
7、机器指令运行波形 (7)
9.设计总结及体会 (8)
参考文献 (8)
1.课程设计的目的:
1)、融会贯通教材各章的内容,通过知识的综合运用,加深对计算机系统各模块的工作原理及相互联系的认识,从而清晰地建立计算机的整机概念。
2)、学习设计和调试计算机的基本步骤和方法,培养科学研究的独立工作能力,取得工程设计的实践和经验。
2.课程设计要求:
根据给定的数据格式和指令系统,一台微程序控制的8 位模型计算机,并运行能完成一定功能的机器语言程序进行验证。
课程设计完成的内容
1) 系统的总体设计,画出模型机数据通路框图;
2) 微程序控制器的设计,包括设计所有机器指令的微程序流程图;设计微指令格式(建议采用全水平型微指令),设计微程序代码表(根据微程序流程图和微指令格式来设计);
3) 根据设计的指令格式,将汇编语言源程序手工转换成机器语言源程序
4) 画出模型机的原理图;
5) 画出模型计算机指令执行波形图
3.课程设计报告内容:
1)、系统主要功能
A、数据格式
数据字规定采用定点整数补码表示法,字长8 位,其中最高位为符号位,其格式如下:
7 6 5 4 3 2 1 0
符号位尾数
B、指令格式
本设计CPU 指令系统中使用5 条机器指令,其格式与功能说明如下:
表1 模型机指令系统及指令编码形式
助记符机器指令码Addr地址码功能说明
IN 20H “INPUT”中的数据→R0 ADD addr 40H XXH R0+[addr]→R0
STA addr 60H XXH R0→[addr]
OUT addr 80H XXH [addr]→BUS
JMP addr A0H XXH add r→PC
IN 指令为单字长(字长为8bits)指令,其功能是将数据开关的8 位数据输入到R0 寄存器。
ADD 指令为双字长指令,第一个字为操作码,第二个字为操作数地址,其功能是将R0 寄存器的内容与内存中地址为A 的数相加,结果存放在R0 寄存器中。
STA 指令为双字长指令,第一个字为操作码,第二个字为操作数地址,其功能是将R0 寄存器中的内容存储到以第二个字为地址的内存单元中。
OUT 指令为双字长指令,第一个字为操作码,第二个字为操作数地址,其功能是将内存中以第二个字为地址的内存单元中的数据读出到数据总线,显示之。
JMP 指令为双字长指令,第一个字为操作码,第二个字为操作数地址,其功能是程序无条件转移到第二个字指定的内存单元地址。
2)、总体设计
总体设计的主要任务是根据指令系统的要求,选定所用器件,设计总框图(数据通路)。总体设计的主要步骤如下:
A、对指令系统中的各条指令进行分析,得出所需要的占领周期与操作序列,以便确定各器件的类型和数量;
B、构成一个总框图草图,进行各逻辑部件之间的互相连接,即初步确定数据通路,使得由指令系统所要求的数据通路都能实现,并满足技术指标的要求;
C、检查全部指令周期的操作序列,确定所需要的控制点和控制信号;
D、检查所设计的数据通路,尽可能降低成本,简化线路,优化性能。
以上过程可以反复进行,以便得到一个较好的方案。方案确定后,检查所选用的各个器件是否满足数据通路的要求。数据通路的设计和器件的选择应同时进行,接入总线的器件都要有三态输出,以便与总线连接。
本课题采用下图中所示的设计方案,本方案没有考虑乘法和除法指令操作,采用单总线结构,使用的许多器件都是三态输出。这种方案便于总线的连接和扩展,但缺点是指令和数据的传送都要经过总线,因此对总线的使用权就要分配得当。
图1.系统总体框图(数据通路图)
3)、微程序控制器
数据通路图一旦确定,数据流的通路,运算器和控制器的结构也就确定了。图1中各功能器件上标注的控制信号,就是微程序控制器设计的依据。
A、微指令格式
微指令格式采用水平型微指令格式,微指令格式如下:
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
****** ****** ****** ****** ****** ****** S3S2S1S0M Cn LOAD WE LDR0LDDR1 15 14 13 12 11 10 9 8 7 6 4 5 3 2 1 0 LDDR2 LDIR LDAR ALU-B R0-B SW-B PC-B RAM-B LDPC P1 ****** UA4 UA3 UA2 UA1 UA0
各字段说明如下:
uA4~uA0:微程序控制器的微地址输出信号,是下一条要执行的微指令的地址。 S3、S2、S1、S0:由微程序控制器输出的ALU 操作选择信号,以控制执行16 种算术操作或16 中逻辑操作中的某一种操作。
M:微程序控制输出的ALU 操作方式选择信号。M=0 执行算术操作;M=1执行逻辑操作。
Cn:微程序控制器输出的进位标志信号,Cn=1 表示ALU 运算时最低位有进位;Cn=0 则表示无进位。
LOAD:PC 程序计数器初始值装载信号
WE:WE=0.存储器读;WE=1,存储器写。
LDR0:R0 通用寄存器装载信号
LDDR1:DR1 暂存器装载信号
LDDR2:DR2 暂存器装载信号
LDIR:IR 寄存器装载信号
LDPC:PC 程序计数器自动加一信号
LDAR:AR 寄存器装载信号
ALU-B:ALU 运算结果输出三态门控信号
R0-B:R0 输出三态门控信号
SW-B:SW 输出三态门控信号
PC-B:PC 输出三态门控信号
RAM-B:RAM 输出三态门控信号
P1:微程序分支处的判别测试。P1=1,控制器对当前的机器指令进行翻译。
******:无定义,备用
B、微程序控制器