实验题目:
一台模型计算机的总体设计 之 复杂模型机设计
实验目的:
(1)在掌握部件单元电路实验的基础上,进一步将其组成系统,构造一台复杂模型计算机,建立一台基本完整的整机。
(2)为其定义至少五条机器指令,并编写相应的微程序,通过联机调试,观察计算机执行指令:从取指令、指令译码、执行指令等过程中数据通路内数据的流动情况,进一步掌握整机概念。
实验设备
TDN-CM+教学实验系统一套、微型计算机一台、排线若干。
实验原理:
(1)数据格式及指令系统: ①数据格式
模型机规定数据采用定点整数补码表示,字长为8位,其格式如下:
7 符号 6 5 4 3 2 1 尾 数 其中,第7位为符号位,数值表示范围是-27 ≤X≤27-1 ②指令格式
模型机设计4大类指令共16条,其中包括算术逻辑指令、I/O指令、访问及转移指令和停机指令。 A.算术逻辑指令
设计九条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下:
7 6 5 4 3 2 1 0 RD OP-CODE RS 其中,OP-CODE为操作码,RS为源寄存器,RD为目标寄存器,并规定:
RS或RD 00 01 10 选定的寄存器 R0 R1 R2 九条算术逻辑指令的助记符、功能和具体格式见表5.2-1。
B.访问及转移指令:
模型机设计两条访问指令,即存数(STA)、取数(LDA),两条转移指令,即无条件转移(JMP)、结果为零或有进位转移(BZC),指令格式如下:
7 6 00 5 4 M 3 2 1 0 OP-CODE RD D 其中,OP-CODE为操作码,RD为目的寄存器地址(LDA、STA指令使用)。D为位移量(正负均可),M为寻址模式,其定义如下:
寻址模式M 00 01 有效地址E E=D E=(D) 说 明 直接寻址 间接寻址 10 11 E=(RI)+D E=(PC)+D RI变址寻址 相对寻址 本模型机规定变址寄存器RI指定为寄存器R2。 C.I/O指令:
输入(IN)和输出(OUT)指令采用单字节指令,其格式如下:
7 6 5 4 OP-CODE 3 2 addr 1 0 RD 其中,addr=01时,选中“INPUT DEVICE”中的开关组作为输入设备,addr=10时,选中“OUTPUT DEVICE”中的数码块作为输出设备。 D.停机指令: 停机指令格式如下:
7 6 5 4 OP-CODE 3 2 00 1 0 00 HALT指令,用于实现停机操作。 ③指令系统:
本模型机共有16条基本指令,其中算术逻辑指令七条,移位指令两条,访问内存指令和程序控制指令四条,输入/输出指令两条,其它指令一条。表5.2-1列出了各条指令的格式、助记符和功能。
实验要求
(1)设计的复杂模型机要实现:加法运算、减法运算、加减混合运算、乘法运算和输出结果、循环的功能。
(2)设计的机器指令程序可参考以下实例:
程序 助记符 $P0044 IN 01, R0 $P0146 IN 01, R2 $P0298 ADC R2, R0 $P0381 MOV R0, R1
$P04F5 RLC R1, R1
(3)设计总体结构(模型机各部件连接图)及数据通路框图。 (4)设计机器指令程序(减法运算、加减混合运算、乘法运算)。 (5)设计每条机器指令对应的每一段微程序。
(6)根据机器指令系统要求,设计微程序流程图及确定微地址。
(7)参照微指令流程图,将每条微指令代码化,译成二进制代码表,并将二进制代码表转换成联机操作时的十六进制格式文件。
(8)根据实验接线图(模型机各部件连接图:可参考提供资料)搭好模型机电路。 (9)先按功能模块进行组装和分调。
(10)整机调试,在内存中装入一段机器指令,联机调试程序并进行其它的运行方式等功能调试及执行指令的正确性验证,检测实现的功能是否达到设计要求。
实验主要步骤:
1. 2. 3. 4. 5.
如上图,联接器件 打开TangDu CMP 测试连线情况,并修正 连线通过后装载EXE3文件
打开通路图,开始单步运行观察实验结果。
实验结果:
1. 取指令过程,将指令取到寄存器并送到控制器。过程中pc进行自加1运算。
2. 具体执行的指令
a)$P0044 IN 01, R0
这条指令是从input读一个数读到R0中,具体实验中是01H b)$P0146 IN 01, R2
从input 读一个数到R2,其值也是01H c) $P0298 ADC R2, R0 R2+R0 得02H 并保存到R0中 d)$P0381 MOV R0, R1
将R0的数据(02H)复制到R1中 e)$P04F5 RLC R1, R1
R1的数据进行一次左移运算,并再次存到R1(实验中02H得到04H)
心得体会:
本次实验是计算机组成原理实验中完成最接近普通计算机的整机实验。由本次实验可以了解到计算机实际的取指令计算等过程,强化了在书本上学的的计算机原理的知识。
此次实验也是对耐心和认真度的一个考验,因为本实验有着大量的线路联接,如果某一跟线接线错误或者接触不良将影响整个实验结果。
至此本学期的计算机组成原理实验全部结束了。通过本学期的实验,辅助了课堂书本的学习。更直观生动的为我们展示了计算机内部究竟是怎样的结构,程序是如何运行的。通过本实验,使我们知道,计算机的内部组织结构并不是想象中那么艰深。简单的了解其原理是可能的。这对我们以后的学习和工作中底层的程序设计有着很大的帮助,同时也是个人知识的一个很有益的补充。
因篇幅问题不能全部显示,请点此查看更多更全内容