复杂模型机的设计与实现Word格式文档下载.docx
《复杂模型机的设计与实现Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《复杂模型机的设计与实现Word格式文档下载.docx(13页珍藏版)》请在冰豆网上搜索。
OP-CODE
RS
rd
其中OP-CODE为操作码,RS为原寄存器,rd为目的寄存器,并规定:
RS或rd
选定的寄存器
00
01
R0
R1
R2
9条算术逻辑指令的名称、功能和具体格式见表1。
访问指令及转移指令:
模型机设计2条访问;
指令,即存数(STA)、取数(LDA),2条转移指令,即无条件转移(JMP)结果为零或有进位转移指令(BZC),指令格式为:
65
4
32
10
M
D
其中,OP-CODE为操作码,为目的寄存器地址(LDA、STA指令使用)。
D为位移量(正负均可),M为寻址模式,其定义如下:
寻址模式M
有效地址E
说明
11
E=D
E=(D)
E=(RI)+D
E=(PC)+D
直接寻址
间接寻址
RI变址寻址
相对寻址
本模型机规定变址寄存器RI指定为寄存器R2。
I/O指令:
输入(IN)和输出(OUT)指令采用单字节指令,其格式如下:
7654
addr
Rd
其中,addr=10时,选中“INPUTDEVICE”中的开关作为输入设备,addr
=11时,选中“OUTPUTDEVICE”中的LED作为输出设备。
停机指令:
指令格式如下:
00
HALT指令,用于实现停机操作。
C.指令系统
本模型机共有16条指令,其中算术逻辑指令7条,访问内存指令和程序控制指令4条,输入输出指令2条,其他指令1条。
表6-1列出了各条指令的格式、汇编符号、指令功能。
汇编符号
指令格式
功能
CLRrd
MOVrs,rd
ADCrs,rd
SBCrs,rd
1110
RD
0→rd
RS→rd
RS+rd+cy→rd
RS-rd-cy→rd
0001
0011
0101
INCrd
ANDrs,rdCO
COMrd
RRCrs,rd
RLCrs,rd
0111
Rd+1→rd
Rs∧rd→rd
Rd→rd
Cy→rs
1001
1011
1101
1111
LDAM,D,rd
STAM,D,rd
JMPM,D
BZCM,D
E→rs
Rd→E
E→PC
当CY=1或Z-1时,E→PC
INaddr,rd
OUTaddr,rd
1000
Addr→rd
1010
Rd→addr
HALT
1100
停机
表1
3.总体设计:
模型机的数据通路框图参照图1,要求如下:
(1)选用适当软件画出数据通路框图;
(2)写出图中选用芯片的逻辑功能,并标出外引脚;
(3)说明图中各芯片的作用;
(4)列出图中所有微操作信号,说明其功能。
B.写出上图中选用芯片的逻辑功能,并标出外引脚;
74LS161N芯片介绍:
1.芯片图:
2.逻辑功能:
74LS161为异步清零计数器
74LS181芯片介绍:
74LS181为算术逻辑单元/函数产生器。
181能执行16种算术运算和16种逻辑运算,当工作方式控制端(M)为低点平时执行算术运算,当工作方式控制端(M)为高电平时执行逻辑运算。
运算功能由选择端(S0-S3)决定。
其功能表如下:
74LS273芯片介绍:
SN74LS273是一个8位的高速寄存器,这种触发器由8种D触发器组成,具有共同的时钟和异步活动的低电平控制端。
74LS299芯片介绍:
74LS373芯片介绍:
2.逻辑功能:
74LS273为8D触发器,为低电平有效的清除端,当=0时,输出全为0且与其他输入端无关;
CP端是时钟信号,当CP由低电平向高电平跳变时刻,D端输入数据传送到Q输出端。
74LS373是带三态缓冲输出的8D锁存器,由于单片机的三总线结构中,数据线与地址线的低8位共用P0口,因此必须用地址锁存器将地址信号和数据信号区分开。
74LS373的锁存控制端G直接与单片机的锁存控制信号ALE相连,在ALE的下降沿锁存低8位地址。
6116芯片介绍:
1.芯片图
2.逻辑功能
6116有11条地址线A0~A10;
8条双向数据线I/O0~I/O7;
为片选线,低电平有效;
写允许线,低电平有效;
读允许线,低电平有效。
6116的操作方式如下表所示。
表:
6116功能表:
方式
I/O0~I/O7
H
×
未选中
高阻
L
读
O0~O7
写
I0~I7
I0—I7
4.设计微程序流程:
根据机器指令系统要求,设计微程序流程图并确定微地址。
(参考图2)要求:
拟出各指令的读取与执行流程,及其操作时间表。
323130
29
28
26
25
24
23
22
21
20
19
18
17
16
15
A
AR
备用
A9
A8
CE
LOAD
CN
S0
S1
S2
S3
B
LDAR
按照系统建议的微指令格式,参照微指令流程图,将每条指令代码化,译成二进制代码表,并将二进制代码表转移为联机操作时的十六进制格式文件
14
13
12
9
8
6
5
3
2
1
LDPC
LDIR
DDR2
DDR1
LDRi
WE
UA0
UA1
UA2
UA3
UA4
UA5
SW
A字段
31
30
选择
PC-B
AL-U-B
299-B
RS-B
RD-B
RI-B
B字段
测试字
P
(1)
识别操作码
P
(2)
判寻址方式
P(3)
条件测试
说明:
DDR1表示LDDR1;
DDR2表示LDDR2
5.编写程序:
(1)利用PC机编写程序,并记录单步,宏单运行时的微指令显示,微地址显示,数码管显示结果;
(2)分析单步运行时数据通路和各部件的运行情况。
编写的程序如下:
P0084;
INR0
P0185;
INR1
P0221;
ADD30H,R1
P0330
P0411;
MOVR1,R2
P05F2;
RLCR2
P06E0;
RLR0
P0722;
ADDR2,R0
P08C0;
RRCR0
P0960;
STA0BH,R0
P0A0B
P0B80;
OUTBUS,0AH
P0C0A
P0DA0;
JMP00H
P0E00
P0FC0;
HAIT
五.处理程序:
1.机器程序和与其对应的微控制程序的写入:
在联机状态下,首先应打开cmb1.abs(模型机〈一〉机器指令及对应微指令编辑文本),然后点击“!
”图标进入连接装载,一旦屏幕自动弹出动态调试窗口表示代码及微代码下载已成功,进入Windows95在线集试调试环境。
2.运行程序:
单步运行微程序
键入数字键00(PC地址从00H开始),然后每按动一次“单步”命令键,运行一条微指令。
对照微程序流程图,观察微地址显示灯是否和流程一致。
单步运行机器程序
键入数字键00H(PC地址),然后每按动一次“宏步”命令键,运行一条机器指令。
对照机器指令程序,观察微地址显示灯是否和流程一致。
程序设连续运行与暂停程序
键入数字键00H(PC地址),按动“运行”命令键使模型机进入实时运行状态。
在实时运行状态按“宏单”键执行的暂停命令,使模型机进入停机状态,参照机器指令及微程序流程图,将实验现象与理论分析比较。
3.程序装载
在联机状态下,首先应打开(模型机〈三〉机器指令及对应微程序编辑文本),然后单击“!
”图标进入连接装载,一旦屏幕自动弹出动态调试框表示代码代码及微代码已下载成功,已进入在线集试调试环境:
使用者若打开示图窗后再点击与运行相关的图标,PC以追踪方式动态显示模型机运行轨迹。
六.程序运行结果记录及分析:
七.实习总结:
通过对〈〈计算机组成原理〉〉的学习,深刻体会到了计算机的硬件和软件是不可分割的整体,它们统一完成一项重要的任务,同时懂得硬件与软件之间的可以相互替代,但是硬件完成的效率要快一些,而软件完成要比较慢些。
这次的微程序的设计运行及调试给了我们很深的影响,表现在我们的动手能力比较差。
但是这次的任务比较重,主要是对硬件知识了解的不够透彻不够熟悉,才导致了我们不能很快的完成任务。
我们通过上网查资料,找书看各种渠道的方法找关于实验的方面的资料,好比,各种芯片及其个引角的功能,仔细的研究各芯片之间的联系,把所要设计的电路图设计完整。
通过这次的实验我们懂得了不少的东西以及心得体会,主要有完成一件任务
是要独立的完成,养成一个良好的习惯,学会利用各种的资源来查找资料,(学会学习),还有是在设计当中知道了很多芯片的功能,完成某项功能,如何进行巧妙的设计电路,懂得的算术器,控制器,存储器的结构和运行过程,这对我们来说是一次很大的收获。
还有就是在实验当中懂得怎么样把汇编语言换成机器所能执行的机器代码,而不能直接执行人门所能理解的语言,那是不行的,计算机只懂得它所固定格式的代码命令,所以计算机执行的都是固定格式的机器