1、5.掌握按照系统建议的微指令流程图,将每条微指令译成二进制代码。6.熟悉用为过程控制模型机的数据通路。7.掌握部件单元电路实验的基础上,进一步将其自成系统构造一台基本模型计算机。8.学习设计与调试计算机的基本步骤及方法。9.通过单步和连续运行程序,进一步熟悉机器指令与微指令之间的关系,并掌握手动和联机读/写程序的方法。10.使学生较熟悉的应用电子线路CAD工具完成单片机系统的硬件设计任务:培养学生分析、解决问题的能力:提高学生的科技论文写作能力。第二章 移位模型机的设计2.1设计原理在部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本次实验将在微程序控制下自动产生各部件单元控制信号,实
2、现特定指令的功能,这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微程序。2.1.1主存储器的读写和运行 存储器读操作(KRD):拨动总清开关CLR后,当控制台开关SWB,SWA置为“00”时,按START微动开关,可对RAM进行连续手动读出。 存储器写操作(KWE):拨动总清开关CLR后,当控制台开关SWB,SWA置为“01”时,按START微动开关,可对RAM进行连续手动写入。 启动程序:拨动总清开关CLR后,当控制台开关SWB,SWA置为“11”时,按START微动开关,即可转入到第01号“取指”微指令,启动程序运行。 上
3、述三条控制台指令两个开关SWB,SWA的状态来设置,其定义如下:SWBSWA控制台指令读内存(KRD)1写内存(KWE)启动程序(RP)2.1.2 指令寄存器介绍指令寄存器(IR)用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存取到指令寄存器中,然后再对其进行译码、执行。指令划分为操作码喝地址码字段,由二进制数构成,为了执行任何给定的指令,必须对操作码进行测试P(1),通过节拍脉冲T4的控制以便识别所要求的操作。“指令译码器”(实验板上标有“INS DECODE”的芯片)根据指令中的操作码译码强置微控器单元的微地址,使下一条微指令指向相应的微程序首地址。2.1.3 输入输出设备
4、本系统有两种外部I/O设备,一种是二进制代码开关,它作为输入设备(INPUT DEVICE);另一种是数码块,它作为输出设备(OUTPUT DEVICE)。例如:输入时,二进制开关数据直接经过三态门送到总线上,只要开关状态不变,输入的信息就不变。输出时,将输出数据送到数据总线上,当写信息(W/R)有效时,将数据打入输出锁存器,驱动数码块显示。2.1.4 移位运算指令 本实验在基本模型机的基础上搭接移位控制电路,实现移位控制运算。实验机系统中增加设计4条移位运算指令(1).左环移RL(2).带进位左环移RLC(3).右环移(4).带进位右环移直至令格式如下:助记符 操作码 RR 01010000
5、 RRC 01100000 RL 01110000 RLC 10000000说明:RR是将R0寄存器的内容循环右移一位 RRC是将R0寄存器的内容带进位右移一位,它将R0寄存器最低位移入进位位,同时将进位位移至R0寄存器的最高位RL是将R0寄存器的数据循环左移一位 RLC是将R0寄存器中的数据带进位循环左移一位2.1.5 指令设计 带移位运算的模型机的设计与实现指令(1)IN 输入 “INPUT DEVICE”R0,(2)ADD 0DH R0+0DHR0 ,(3)RLC 带进位左移(4)IN “INPUT DEVICE”(5)RRC 带进位右移(6)RL 左环移(7)STA 0EH R00EH
6、(8)OUT 0EH 0EH BUS(9)JMP 00H 00HPC2.1.6带移位运算的模型机监控软件的设计本模型机监控软件主要完成从输入设备读入数据,进行算术运算、移位运算后,将结果存入内存的某个单元,最后通过输出设备输出结果。监控软件详细如下:地址(二进制) 内容(二进制) 助记符 说明 00000000 00000000 IN ; “输入开关量”-R000000001 00010000 ADD0DH ;R0+0DH00000010 0000110100000011 10000000 RLC 带进位左移00000100 00000000 IN ; “输入开关量”00000101 0110
7、0000 RRC 带进位右移00000110 01110000 RL 左环移00000111 00100000 STA0EH ; R000001000 0000111000001001 00110000 OUT0EH ; 0EH 00001010 0000111000001011 01000000 JMP 00H 00H00001100 00000000 00001101 01000000 ; 自定义数据00001110 ; 结果存放单元2.2功能设计(1).根据实验原理设计数据通路框图,如图2-1所示。图 2-1 数据通路框图(2).根据机器指令画出对应的微程序流程图本实验的微程序流程图见图
8、2-2和2-3所示。当拟定“取指”微指令时,该微指令的判别测试字段为P(1)测试。由于“取指”微指令是所有微程序都使用的公用微指令,因此P(1)的测试结果出现多路分支。本机用指令寄存器的前4位I7-I4作为测试条件,出现5路分支,占用5个固定微地址单元。(3).根据微程序流程图设计微指令并转换成16进制代码文件 当全部微程序设计完毕后,应将每条微指令代码化,即按微指令格式将微程序流程图转化成二进制微代码表,如表2-4所示,再转化成16进制代码文件。图 2-1 微程序流程图图 2-2 微程序流程图(4).微指令格式微指令共长24位,其控制位顺序如下:24232221201918171615141
9、3121110987S3S2S1S0MCnWEB1B0A B C65432Ua5Ua4Ua3Ua2Ua1Ua0其中UA5-UA0为6位的后续微地址,A、B、C三个译码字段,分别有三组译码控制电路产生各控制信号。C字段中的P(1)-P(4)是四个测试字位。其功能是根据机器指令及相应微代码进行译码,使微程序转入相应的微程序地址入口,从而实现微程序的顺序、分支、循环运行。I7-I2为指令寄存器的第7-2位输出,SE5-SE1为微控器单元微地址锁存器的强制端输出。AR为算出运算是否影响进位及判零标志控制为,低电平有效。B字段中的RSB、RDB、RIB分别为元寄存器选通信号、目的寄存器选通信号及变址寄存
10、器选通信号,其功能是根据机器指令来进行三个工作寄存器R0、R1及R2的宣统译码。I0-I4为指令寄存器的第0-4位,LDRI为打入工作寄存器信号的译码器使能控制位。A字段 B字段 C字段选择LDRiLDDR1LDDR2LDIRLOADLDARRS-BRD-BRI-B299-BALU-BPC-BP(1)P(2)P(3)P(4)ARLDPC将微程序流程图按微指令格式转化而成的“二进制微代码表”。表2-4 二进制微代码表微地址S3 S2 S1 S0 M CN WE A9 A8A BCUA5UA0 0 00 0 0 0 0 0 0 1 10 0 01 0 00 1 0 0 0 0 0 11 1 01
11、1 0 0 0 0 0 1 0 0 20 0 0 0 0 0 0 0 10 0 10 0 1 0 0 0 0 30 0 0 1 0 0 0 40 1 10 0 0 1 0 1 0 50 1 00 0 0 1 1 0 0 60 1 1 0 0 0 0 1 11 0 10 0 0 0 0 1 0 70 0 1 1 0 1 1 00 0 0 0 0 0 0 0 0 1 10 0 0 0 1 1 1 20 0 0 1 1 1 1 30 0 1 1 1 0 1 40 1 0 1 1 0 1 50 0 0 0 0 0 1 0 1 1 60 0 1 1 1 1 1 70 1 0 1 0 1 2 00 1 0
12、 0 1 0 2 10 1 0 1 0 0 2 20 1 0 1 1 1 2 3 2 40 1 1 0 0 0 2 5 0 0 0 0 0 1 1 1 0 2 6 2 7 3 00 0 0 0 0 1 1 0 10 1 0 0 0 1(5).根据微程序流程图设计微程序并转化成十六进制文件格式(文件名C8JHE2),具体内容如下:机器指令程序 微指令程序 $P01 10 $P0C 00 $M00 088105 $M0A 8CED05 $M15 1D823$P02 0D $P0D 40 $M01 82ED05 $M0B 8CED05 $M16 1F823$P03 80 $M02 50C004 $M
13、0C 8CED05 $M17 21823$P04 00 $M03 04E004 $M0D 8CED05 $M18 23823$P05 60 $M04 05B004 $M0E 8CED05 $M19 23823$P06 70 $M05 06A205 $M0F 8CED05 $M1A 1BA0$P07 20 $M06 019A95 $M10 8CED05 $M1B 010A$P08 0E $M07 0FE004 $M11 8CED05 $M1C 81D1$P09 30 $M08 8AED05 $M12 8CED05 $M1D 1E8825$P0A 0E $M09 8CED05 $M13 8CED0
14、5 $M1E 019805$P0B 40 $M09 8CED05 $M14 8CED05 $M1F 20882D (7).确定连线图,根据各部件的功能,确定好电路各个芯片的连接,如下:2.3 移位模型机设计的连线a跳线器J1J12全部拨在右边(自动工作方式)b跳线器J16、J18、J23、J24全部拨在左边;c跳线器J13-J15、J19、J25全部拨在右边;d跳线器J20-J22、J26、J27连上短路片;eUJ1连UJ2,JSE1连JSE2,SJ1连SJ2;fMBUS连BUS2;gREGBUS连BUS5;hPCBUS连EXJ3;iALUBUS连EXJ3jALUO1连BUS1;kEXJ1连B
15、US3;lALUO2连BUS4.(9).仔细查线无误后接通电源。(10).写程序方法一:手动写入。使用控制台KWE和KRD微程序进行机器指令程序的装入和检查。 : 使编程开关处于RUN”,STEP为“STEP”状态,STOP为“RUN”状态。 拨动总清开关CLR(01),微地址寄存器清零,程序计数器清零,然后控制台SWB,SWA开关置为“0 1”,按动一次启动开关START,微地址显示灯显示“001001”, 再按动一次START,微地址灯显示“001100”,此时数据开关的内容置为要写入的机器指令,按动两次START键后,即完成该条指令的写入。若仔细阅读KWE的流程,就不难发现,机器指令的首
16、地址总清后为00H,以后每个循环PC自动加1,所以,每次按动START,只有在微地址灯显示“001100”时,才设置内容,直到所有机器指令写完。 写完程序后须进行校验。拨动总清开关CLR(01)后,微地址清零。PC程序计数器清零,然后使控制台开关SWB,SWA为“0 0”,按动启动START,微地址灯将显示“001000;再按START,微地址灯显示为“001010”;第3次按START,微地址灯显示为“001110”;再按START后,此时输出单元的数码管显示为该首地址中的内容。不断按动START,以后每个循环PC会自动加1,可检查后续单元内容。每次在微地址灯显示为“001000”时,是将当
17、前地址中的机器指令写入到输出设备中显示。方法二:联机读写程序。 使用软件中的F4_LOAD功能装入机器指令格式文件或F2_RW PR功能逐条写入。(4) 运行程序。 单步运行程序:A使编程开关处于“RUN”状态,STEP为“STEP”状态,STOP为“RUN”状态。B拨动总清开关CLR(01),微地址清零,程序计数器清,程序首址为00H。C单步运行一条微指令,每按动一次START键,即单步运行一条微指令。对照微程序流程图,观察微地址显示灯是否和流程一致。D.当运行结束后,可检查存数单元(0EH)中的结果是否和理论值一致 连续运行程序:A使STATE UNIT中的STEP开关置为“EXEC”状态
18、,STOP开关置为“RUN”状态。B拨动CLR开关,清微地址及程序计数器,然后按动START,系统连续运行程序,稍后将STOP拨至“STOP”时,系统停机。C停机后,可检查存数单元(0EH)结果是否正确。第三章 移位模型机设计分析3.1 监控软件分析地址(二进制) 内容(二进制) 助记符 00000000 00000000 IN ;从输入开关任意输入数据存于R000000001 00010000 ADD0DH ;另一个加数是内存地址0DH中的内容00000010 00001101 ;存放0DH的地址为0000001000000011 10000000 RLC ;带进位左移00000100 00
19、000000 IN ;00000101 01100000 RRC ;带进位右移00000110 01110000 RL ;左环移00000111 00100000 STA0EH ;将R0中的内容存放在地址为0EH的单元00001000 00001110 ;存放0EH的地址为0000100000001001 00110000 OUT0EH ;将0EH中的内容在数码管上显示出来00001011 01000000 JMP 00H ;程序计数器PC的值跳转到0 00001100 00000000 00001101 01000000 ;3.2 微程序分析M00 088105M01 82ED05;PCAR
20、,PC+1,取指令M02 50C004 ;RAM-BUS-IR,分析指令M03 04E004 AR,取操作数地址M04 05B004DR2,取操作数拨那个存放到DR2寄存器中M05 06A205R0-DR1,将从输入端输入的数据存放到DR1寄存器中M06 019A95(DR2+DR1)-R0,DR2和DR1中的内容相加,结果存放在R0M07 0FE004AR,获取R0中内容存放在主存中的单元地址M08 8AED05空操作M09 8CED05IN-R0 09表示微程序入口地址M0A 0EA004PC-AR,PC+1 (0A 是ADD 微程序入口地址)M0B 018005AR,PC+1 (0B 是
21、STA 微程序入口地址)M0C 0D2004AR,PC+1 (0C 是 OUT微程序入口地址)M0D 098A06AR,PC+1 (0D 是 JUMP 微程序入口地址)M0E 080A07AR,PC+1 (0E 是SUB 微程序入口地址);M0F 018206R299,带进位左环移M10 011004M11 83ED05M12 87ED05M13 99ED05 BUS,BUS-M14 9CED05LEDM15 1D8235M16 1F8235RAMM17 218235M18 238235DR2M19 1AE004DR1M1A 1BA004(DR2-DR1)-M1B 010A07OUTM1C 81D104M1D 1E8825R299-M1E 019805左循M1F 20882DM203.3 机器指令分析1.输入(IN)将PC的值给AR,PC的值加1RAM的值通过总线(BUS)传给IR。将输入端(IN)的内容输入到R0。(输入初始值0)2加法运算(ADD)作用:让存储器中的值与输入的值相加将PC的值给AR,PC的值加1将RAM中的数值传给DR2,将R0的值传给DR1将DR1,DR2的数值传到ALU中相加,得到的结果存入R0中。3存数(STA) 作用:保护R0的值
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1