- 24
- 0
- 约6.13千字
- 约 17页
- 2020-12-09 发布于山东
- 举报
基本模型机的设计
—— 加减法指令的实现
设计题目
基本模型机系统分析与设计,利用所学的计算机组成原理课程中的知识和提供的实验
平台完成设计任务,从而建立清晰完整的整机概念。着重加减法指令的实现和设计,编制
实验所需的程序,上机测试并分析所设计的程序。
设计目的
巩固“电工电子学” 、“数字逻辑”、“汇编语言程序设计” 、 和“计算机组成原理”等相关课程学习内容。
掌握计算机组成原理实验平台的使用, 加深对计算机各模块协同工作的认识,建立清晰完整的整机概念。
通过使用 HKCPT软件了解程序编译 , 加载过程。
通过单步 , 单拍调试 , 理解模型机中的数据流向。
模型机的逻辑框图
根据设计要求,模拟机的逻辑框图如下:
DR1 DR2 累 加
器 A
374 374 374 374
CY
ZD
AL
ALU-O
244 244
DATA BUS
166*2 PC 374 IR2 RAM 程序 374 指令 6264*3
寄存器
PC-O
244
IR2-O 244
指令译码
163*2 微 地
址寄存器
ADDRESSBUS
微地址
指令系统的设计
4.1 指令类型
1)算术 / 逻辑运算指令
如:进行加法、减法、取反、逻辑运算例如 : ADD A,Ri
SUB A,Ri AND A,Ri
2)移位操作指令
带进们位或不带进位的移位指令例如: RRC A, Ri
RR A
3)数据传送类指令
CPU内部寄存器之间进行数据传递
例如 : MOV A,RI
MOV RI,A
( 4)程序跳转指令
程序跳转指令可分为无条件跳转指令和有条件跳转指令两大类 . 它可以根据寄存器的
内容是否为零来标志 (ZD), 有进位标志 (CY), 也可以根据实际情况自行设置。
例如 :
无条件跳转指令
JMP addr
ZD=0 时 跳转
JZ addr
CY=0
时 跳转
JC addr
自定义的跳转语句
JN addr
( 5)存储器操作类指令
存储器读/写指令,用来把内在单元写入寄存器中或把寄存器中的内容写入存储器。
例如:
LDD addr
(addr
A)
STA addr
(A)
addr)
4.2 操作数寻址方式和编码
操作数寻址方式就是形成操作数有效地址的方法 . 寻址过程不是用 X 和 D 的不同组合
形成操作数有效地址的过程 . 其图示如下 :
OP X D
1)立即数寻址
操作数直接给出在指令字中,即指令字中直接给出的不是操作数地址,而是操作数本
身。
主要用法:把一个确定的数据传送到一个通用寄存器中。
单字指令:
操作码 Ri 立即数
双字指令:
操作码 Ri
立即数
2)直接寻址
在指令的操作码地址字段直接给出操作数在存储器中的地址单字指令:
操作码 Ri 直接地址
双字指令:
操作码 Ri
直接地址
( 3)寄存器寻址
寄存器中存放操作数,指令中给出寄存器编号(名字、地址) ,寄存器寻址在指令中占用位数少,有利于缩短指令字长度,取数、保存结果迅速方便,是最基本、最简单的寻址方式。
4)寄存器间接寻址
寄存器中存放操作数的地址,根据该地址去读写存储器,形式地址为寄存器编号(名
字)
操作码 Ri
存储器
操作数
操作数的地址
通用寄存器
微程序及其实现的方法
在本实验平台的硬件设计中 , 采用 24 位微指令,若微指令采用全水平不编码纯控制场
的格式,那么至少可以有 24 个微操作控制信号,可由微代码直接实现。
由于本实验中 , 模型机指令系统规模较小 , 功能也不太复杂 , 所以采用全水平不编码纯控制场的微指令格式 . 在模型机中 , 用指令操作码的高压 4 位作为核心扩展成 8 位的微程序入口地址 MD0-MD7,这种方法称为”按操作码散转” ( 如下图所示 ) 。
微程序地址形成
MD7
MD6
MD5
MD4
MD3
MD2
MD1
MD0
0
0
I7
I6
I5
I4
1
1
按操作码散转
指令操作码
微程序首
地址
MD7,MD6
I7
I6
I5
I4
MD1,MD0
MD7-MD0
0
0
0
0
0
1
003H
0
0
0
0
1
1
007H
0
0
0
1
0
1
00BH
0
0
0
1
1
1
00FH
0
0
1
0
0
1
013H
0
0
1
0
1
1
017H
0
0
1
1
0
1
01BH
0
0
1
1
1
1
01FH
0
1
0
0
0
1
023H
0
1
0
0
1
1
027H
0
1
0
1
0
1
02BH
0
1
0
1
1
1
02FH
0
1
1
0
0
1
033H
0
1
1
0
1
1
037H
0
1
1
1
0
1
03BH
0
1
1
原创力文档

文档评论(0)