系列文章目录
一、实验目的
1、在掌握部件单元电路实验的基础上,进一步将其组成系统以构造一台基本模型实验计算机
2、设计五条机器指令,并编写相应的微程序,具体上机调试,掌握整机软硬件组成概念。
二、实验原理
实验过程中,各部件单元的拉制信号是人为模拟产生的,而本次实验将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。这里,实验计算机数据通路的控制将由微程序控制器来完成, CPU 从内存中取出一条机器指令到指令执行结東的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。
(1)有关微控制器部分在前一实验中已详细介绍
(2)主存储器的读、写和运行 为了向主存储器 RAM 中装入程序或数据,并且检查写入是否正确以及能运行存储器中的程序,必须设计三个控制操作微程序。
- 存储器读操作:拨动总清开关后,置控制开关 SWC、SWA 为”0 0”时,按要求连线后,连续按”启动运行”开关。可对主存储器RAM连续手动读操作。
- 存储器写操作:拨动总清开关后,置控制开关 SWC、SWA 为”0 1”时,按要求连线后,再按”启动运行”开关,可对主存储器RAM进行连续手动写入。
- 运行程序:拨动总清开关后,置控制开关 SWC、SWA为”1 1”时,按要求连线后,再按”启动运行”开关,即可转入到第01号”取址”微指令,启动程序运行。
上述三条控制指令用两个开关 SWC、SWA的状态来设置,其定义如下:
(3)指令寄存器介绍
指今寄存器用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存取到缓冲寄存器中,然后再传送到指令寄存器。指令划分为操作码和地址码字段,由二进制构成,为了执行任何一条给定的指令,必须对操作码进行测试P(1),通过节拍脉冲T4的控制以便识别所要求的操作。”指令译码器”根据指令中的操作码进行译码,强置微控器单元的微地址,使下一条微指令指向相应的微程序首地址。
(4)输入/输出设备 本系统有两种外部I/0设备,一种是二进制代码开关KD0~KD7,它作为输入设备 INPUT;另一种是数码显示块,它作为输出设备OUTPUT。例如:输入时,二进制开关数据直接经过三态门送到外部数据总线上,只要开关状态不变,输入的信息也不变。输出时,将输出数据送到外部数据总线上,当写信号(W/R)有效时,将数据打入输出锁存器,驱动数码块显示。
(5)设计指令 根据基本模型机的硬件设计五条机器指令:外设输入指令IN、二进制加法指令ADD、存数指令STA、输出到外设指令OUT、无条件转移指令JMP。指令格式如下:
说明: 指令IN为单字节指令,其余均为双字节指令,XXXXXXXX为addr对应的主存储器二进制地址码。
(6)基本模型机监控软件的设计
本模型机监控软件主要完成从输入设备读入数据,进行简单算术运算后,将结果存入内存的某个单元,最后通过输出设各输出结果。 监控软件详细如下:
三、实验接线
1、J20,J21,J22接上短路片,
2、J23,J24,J25,J26接左边;
3、J27,J28右边; 4、J29不接;
5、JA1,JA2,JA3置“接通”;
6、JA4置“高阻”;
7、JA5置“接通”
8、JA8置“微程序”
9、JA6置“微控“
10、EXJ1接BUS3
四、实验步骤
1、手动写入微程序(参照实验五)
将“编程开关”置为“写入状态”,“运行控制”开关置为“运行”,“运行方式”开关置为“单步”状态;用二进制模拟开关UA0UA5置6位微地址,UA0UA5的电平由 LK0LK5显示,高电平亮,低电平灭。用二进制模拟开关MK1MK24置24位微代码,24位微代码由LMD1~LDM24显示灯显示,高电平亮,低电平灭。按动“启动运行”开关,启动时序电路,即可将微代码写入到 E2PROM 2816中的相应地址单元中。重复以上步骤,将所需微代码全部写入E2PROM 2816中。
2、检验微程序
输入完所有的程序后,将“编程开关”设置为"读"状态,“运行控制”开关冒为“运行”,“运行方式“开关置为”单步“状态,用二进制模拟开关UA0UA5置6位微地址,按动“启动运行“开关,启动时序电路,读出微代码,观察显示灯LMD1LMD24的状态,检查独处的微代码是否与写入的相同,如果不同,则将“编程开关”置为“写入”状态,重新执行写入步骤即可。
3、输入机器指令,步骤如下:
通过上一步将机器指令对应的微代码正确地写入E2ROM2816芯片后,再进行机器指令程序的 装入和检查。
- A.将”编程开关”置”运行”位置,”运行控制”开关置”运行”位置,”运行方式”开关置”单步”位置。
- B.拨动总清开关(0->1),微地址寄存器清零,程序计数器清零。然后使控制开关 SWC、SWA 开 关置为”01”,按动一次”启动运行”开关, 微地址显示灯LUA0~LUA5显示”010001",再按 动一 次”启动运行”开关微地址显示灯 LUA0~LUA5显示”010100“,此 时数据开关的内容置为要写 入的机器指令,再按动一次”启动运行”开关,即完成该条指令的写入。若仔细阅读微程序流程,就不难发现,机器指令的 首地址只要第一次给出即可,PC会自动加1,所以,每次按动”启动运行”开关,只有在微地址灯显示”010100”时,才设置内容,直到所有机器指令写完。
4、检验输入的机器指令
写完程序后须进行检验。拨动总清开关(0->1)后,微地址清零,PC程序计数器清零,然后使 控制开 SWC、SWA 为”0 0”,按动”启动运 行”开关,微地址灯将显示”010000”,再按”启动运行” 开关,微地址灯显示为”010010”,第三次按”启动运行”开关,微地址灯显示为”010111”,此时 总线数据显示灯LZN0~LZD7显示为该首地址的内容,再按动一次”启动运行”开关,微地址灯显 示为”010000”,2位 数码管即显示RAM中的程序。不断按动”启动运行”开关,可检查后续单元 内容。
注意:每次仅在微地址灯显示为”010000”时,2位数码管显示的内容才是相应地址中的机器指令内容。
5、单步运行程序
将SWC、SWA置为“1 1”,”编程开关”置”运行”状态,”运行方式”开关置为”单步”状态,”运行控制”开关置为”运行”状态。拨动总清开关(0→1),微地址清零,PC计数器清零,程序首地址为00H。由于将SWC、SWA置为“1 1”,所以此时运行的是RP(11)支路,按动”启动运行”开关,即单步运行一条微指令,微地址显示部分的地址从00H变为13H,再按一下变为01,对照微程序流程图,观察微地址晶示灯是否和流程一致。之后的连续按动结果与微程序流程图如下:
在运行指令第4次按动启动运行开关时,微地址显示为08H,此时通过外部输入07H,之后继续按动启动运行开关,直至微地址显示为15H,输出结果为08H。文章来源:https://www.toymoban.com/news/detail-761770.html
五、实验结论
1、本实验中,预输入的数是01H,在运行指令第4次按动启动运行开关时,输入了数据07H,最后得到的结果是08H;
2、本次实验的难度较以前而言有所提升,在同学的帮助下,再回顾整个实验过程,可以说,这次的实验需要有足够的耐心和细心,输入要小心,检验时更要小心,不能出错,否则实验不会成功;
3、在理解整个实验的操作流程后,会发现整个实验变得很简单,此次实验的难点在于何时输入数据,更重要的一点在于能否读懂微程序流程图。文章来源地址https://www.toymoban.com/news/detail-761770.html
到了这里,关于实验六 基本模型机的设计与实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!