实验三简单模型机的设计与实现 Page 1 of 12 实酸三简单机型机的设计与实现 实验目的 1.掌握指令格式、寻址方式、指令系统的设计。 2.掌握微程序控制器的设计方法,进一步理解微指令、微周期、微地址等基本概念 3.理解时序信号和微命令作用下,数据通路的形成过程,建立单机系统的整机概念 二、实验设备 TDN-CM计算机组成原理实验系统一套,排线若干。 三、实验内容 分析模型机的硬件设计,包括运算器、存储器、总线、微程序控制器、时序电路、指令译码电路、微地址转移逻辑 2.设计模型机的指令系统,包括指令格式、指令类型、寻址方式等。 3.按模型机的时序及数据通路,写出指令的微程序流程并安排设计微地址 微程序写入控制存储器,编写简单机器指令程序并调试运行。 四、实验原遷 1.数据通路 模型机数据通路设计如图1所示 图1数据還路框图 2.时序产生电路 mhtml:file/:Documents\desktopldocslwww.xiaoKudang.com教育科硏\高等教育.2022/0207
实验三 简单模型机的设计与实现 一、实验目的 1.掌握指令格式、寻址方式、指令系统的设计。 2.掌握微程序控制器的设计方法,进一步理解微指令、微周期、微地址等基本概念。 3.理解时序信号和微命令作用下,数据通路的形成过程,建立单机系统的整机概念。 二、实验设备 TDN-CM计算机组成原理实验系统一套,排线若干。 三、实验内容 1. 分析模型机的硬件设计,包括运算器、存储器、总线、微程序控制器、时序电路、指令译码电路、微地址转移逻辑。 2. 设计模型机的指令系统,包括指令格式、指令类型、寻址方式等。 3. 按模型机的时序及数据通路,写出指令的微程序流程并安排设计微地址。 4. 将微程序写入控制存储器,编写简单机器指令程序并调试运行。 四、实验原理 1.数据通路 模型机数据通路设计如图1所示。 图1 数据通路框图 2.时序产生电路 实验三简单模型机的设计与实现 Page 1 of 12 mhtml:file://E:\Documents\Desktop\docs\www.xiaokudang.com\教育科研\高等教育... 2022/02/07
实验三简单模型机的设计与实现 Page 2 of 12 模型机采用节拍电位和节拍脉冲两级时序体制作为微操作信号的定时信号,4个节拍脉冲构成一个微周期。时序产生电路如图2所示 图2左半部分为4个等间隔节拍脉冲TS1TS4的产生电路,Φ为时钟信号源输入端。实验箱内部电路能够产生连续的方波脉冲,并可通过实验台右上方的 输出端H23或H24引出。实验中,只需将H23或H24连到Φ就可以产生节拍脉冲TS-TS4 图2右半部分为启停控制电路,四个控制信号STEP(单步)、STOP(停机)、CLR(总清0)和 START(启动)的功能如表1所 表1启停控制电路功能表 CLR STOP STEP START输出Tsl-TS4 总清0,不产生节拍脉冲 L 1停机,TS产生后停机 图2时序产生电 单步运行方式,按动 START,产生一个周期的TS1- 1 0(RUN) 1(STEP) S4后停机 连续运行方式,按动 START,产生周而复始的TS1 0|TS4 信号STEP和STOP可由实验台上方中部的模拟开关拨动控制, START信号可由实验台上方中部的微动开关按键产生,CLR信号则可由实验台右下方的 模拟开关拨动控制。当STOP置为“RUN”状态,STEP置为“EXEC”状态,CLR置“1”时,按动 START后,TS1-TS4端产生的时序信号波形如图3所 微期 mhtml:file/:Documents\desktopldocslwww.xiaoKudang.com教育科硏\高等教育.2022/0207
模型机采用节拍电位和节拍脉冲两级时序体制作为微操作信号的定时信号,4个节拍脉冲构成一个微周期。时序产生电路如图2所示。 图2左半部分为4个等间隔节拍脉冲TS1-TS4的产生电路,Φ为时钟信号源输入端。实验箱内部电路能够产生连续的方波脉冲,并可通过实验台右上方的 输出端H23或H24引出。实验中,只需将H23或H24连到Φ就可以产生节拍脉冲TS1-TS4。 图2右半部分为启停控制电路,四个控制信号STEP(单步)、STOP(停机)、CLR(总清0)和START(启动)的功能如表1所示。 表1 启停控制电路功能表 信号STEP和STOP可由实验台上方中部的模拟开关拨动控制,START信号可由实验台上方中部的微动开关按键产生,CLR信号则可由实验台右下方的 模拟开关拨动控制。当STOP置为“RUN”状态,STEP置为“EXEC”状态,CLR置“1”时,按动START后,TS1-TS4端产生的时序信号波形如图3所示。 图3 时序信号 CLR STOP STEP START 输出TS1-TS4 0 Χ Χ Χ 1 1 (STOP) Χ Χ 1 0(RUN) 1(STEP) 1 0(RUN) 0 (EXEC) 总清0,不产生节拍脉冲 停机,TS4产生后停机 单步运行方式,按动START,产生一个周期的TS1- TS4后停机 连续运行方式,按动START,产生周而复始的TS1- TS4 图2 时序产生电路 实验三简单模型机的设计与实现 Page 2 of 12 mhtml:file://E:\Documents\Desktop\docs\www.xiaokudang.com\教育科研\高等教育... 2022/02/07
实验三简单模型机的设计与实现 Page 3 of 12 时序信号配合下的模型机数据通路见图4 3.微程序控制电路及微指令格式 程序控制电路 微程序控制器组成如图5所示,其中,控制存储器由3片2816E2PROM构成,能够写入、读出信息,并具有掉电保护功能。微命令寄存器24位,由2片 8D触发器(273)和1片4D触发器(175)构成,其输出直接产生或经3-8译码器译码后形成微操作控制信号。微地址寄存器6位,用三片正沿触发的双D 触发器(74)组成,它们带有清“0”端和置位端。当CLR(总清0)信号为“0”时,微命令寄存器和微地址寄存器同时清0。当CLR为“1”时,控制 存储器送出的微指令中,操作控制字段及判别测试字段在2时刻被打入微命令寄存器,直接或经3-8译码器译码后产生微操作控制信号:下址字段被打 入微地址寄存器,经三态缓冲器(245)控制后在微地址显示灯上显示出来。在不判别测试的情况下,打入微地址寄存器的下址字段内容即为下一条要 执行微指令的地址。判别测试时,将地址转移输出连至SEI-SE6(双D触发器74的置位端,低电平有效),在T4时刻,可通过强行置位的方法改变微地 址寄存器的内容,形成地址转移 控制存储器2816在实验台右侧中上部的编程开关的控制下,具有三种工作状态,分别为:PROM(编程)、READ(校验)和RUN(运行) PROM状态用来将微指令写入2816,READ状态用来从2816中读出微指令进行校验。进行PROM或READ时,在实验箱内部单片机控制下,三态缓冲器 245输出被封锁,下方的锁存器(374)被作为2816的地址寄存器,按动 START,启动时序电路后,由接线端M19送入的微指令地址(2816的单元地 址)被Tl上升沿打入374,选中2816的一个单元,同时被显示在微地址显示灯上。PROM时,2816处于写入状态,微代码开关MK23MK0的状态被写入 374选中的2816单元。READ时,2816处于读状态,由374选中的2816单元内容—读出的微代码,被显示在微代码显示灯上。不论是PROM状态还是 READ状态,微指令地址都需要手工拨动“ SWITCH UNIT”单元的模拟开关UA5-UA0产生,因此在实验中,需将“ SWITH UN”单元的UA5-UA0 与“ MICRO-CONTROLER”单元的MA5-MA0(M19)连接,通过UA5-UA0开关置微指令地址。“RUN”状态时,2816处于读状态,374输出被封 锁,启动时序电路后,2816中读出的内容在卫时刻打入微指令寄存器和微地址寄存器,其中的微代码显示在微代码显示灯上,下址字段经245显示在微 地址显示灯上 mhtml:file/:Documents\desktopldocslwww.xiaoKudang.com教育科硏\高等教育.2022/0207
时序信号配合下的模型机数据通路见图4。 3.微程序控制电路及微指令格式 (1) 微程序控制电路 微程序控制器组成如图5所示,其中,控制存储器由3片2816E2PROM构成,能够写入、读出信息,并具有掉电保护功能。微命令寄存器24位,由2片 8D触发器(273)和1片4D触发器(175)构成,其输出直接产生或经3-8译码器译码后形成微操作控制信号。微地址寄存器6位,用三片正沿触发的双D 触发器(74)组成,它们带有清“0”端和置位端。当CLR(总清0)信号为“0”时,微命令寄存器和微地址寄存器同时清0。当CLR为“1”时,控制 存储器送出的微指令中,操作控制字段及判别测试字段在T2时刻被打入微命令寄存器,直接或经3-8译码器译码后产生微操作控制信号;下址字段被打 入微地址寄存器,经三态缓冲器(245)控制后在微地址显示灯上显示出来。在不判别测试的情况下,打入微地址寄存器的下址字段内容即为下一条要 执行微指令的地址。判别测试时,将地址转移输出连至SE1-SE6(双D触发器74的置位端,低电平有效),在T4时刻,可通过强行置位的方法改变微地 址寄存器的内容,形成地址转移。 控制存储器2816在实验台右侧中上部的编程开关的控制下,具有三种工作状态,分别为:PROM(编程)、READ(校验)和RUN(运行)。 PROM状态用来将微指令写入2816,READ状态用来从2816中读出微指令进行校验。进行PROM或READ时,在实验箱内部单片机控制下,三态缓冲器 245输出被封锁,下方的锁存器(374)被作为2816的地址寄存器,按动START,启动时序电路后,由接线端MJ19送入的微指令地址(2816的单元地 址)被T1上升沿打入374,选中2816的一个单元,同时被显示在微地址显示灯上。PROM时,2816处于写入状态,微代码开关MK23-MK0的状态被写入 374选中的2816单元。READ时,2816处于读状态,由374选中的2816单元内容——读出的微代码,被显示在微代码显示灯上。不论是PROM状态还是 READ状态,微指令地址都需要手工拨动“SWITCH UNIT”单元的模拟开关UA5-UA0产生,因此在实验中,需将“SWITH UNIT”单元的UA5-UA0 与“MICRO-CONTROLER”单元的MA5-MA0(MJ19)连接,通过UA5-UA0开关置微指令地址。“RUN”状态时,2816处于读状态,374输出被封 锁,启动时序电路后,2816中读出的内容在T2时刻打入微指令寄存器和微地址寄存器,其中的微代码显示在微代码显示灯上,下址字段经245显示在微 地址显示灯上。 实验三简单模型机的设计与实现 Page 3 of 12 mhtml:file://E:\Documents\Desktop\docs\www.xiaokudang.com\教育科研\高等教育... 2022/02/07
实验三简单模型机的设计与实现 Page 4 of 12 图4时序信号作用下的型机数据通路 代码显平订 2816 Lusa【 au h LsSas a 像代问人开 5制原通图 mhtml:file/:Documents\desktopldocslwww.xiaoKudang.com教育科硏\高等教育.2022/0207
图4 时序信号作用下的模型机数据通路 图5 微控制器原理图 实验三简单模型机的设计与实现 Page 4 of 12 mhtml:file://E:\Documents\Desktop\docs\www.xiaokudang.com\教育科研\高等教育... 2022/02/07
实验三简单模型机的设计与实现 Page 5 of 12 微指令格式 微指令字长共24位,采用混合编码法,其控制位顺序如表2所示。 表2微指令格式 232120|s6141|s6543|2 c uAs luA uA2 uAl uAo A字段 B字段 C字段 121选择9sz选择 0|299 I01ALU 其中24-16位采用直接控制方式,UA5-UA0为6位后续微地址,A、B、C为三个译码字段,分别由三个控制位译码出多位,译码电路由3-8译码器实现 见图5)。C字段为判别测试字段,译码后形成4个判别测试位,功能是根据不同的条件(机器指令操作码、状态条件等)改变微地址,使微程序转入相 应的微地址入口,形成微程序的分支、循环。微地址转移逻辑见图6。 微地址转移逻辑 模型机微地址转移逻辑设计如图6所示。转移条件包括指令寄存器IR7IR2位(图中示为I7-12)、ALU的状态信息FC和FZ、状态测试位P(1)-P(4) 控制开关SWB和SwA。 要实现地址转移,须将地址转移电路输出端SE6-SEI(位于实验台右下方“ LOG UNIT”单元)连至“ MICRO CONTROLER”单元的微地址寄存器 MA5-MA0的强行置位端SE6-SE1(见图5,低电平有效)。当SE6-SEI中某一位或几位输出低电平时,微地址寄存器相应触发器被置“1”,下址字段被改 SAS=(FC +F.P.T4 SE4=n7·PDf4 Mn=15·T4B.PT4SWB·F(4T4 SA=14-P0-T4+/2.P2.T4+ SWA.Po-T4 与SE5-SE1对应的微地址MA4MA0(MA5未设置)的置位情况如表3所示 3微地址转移划舞 mhtml:file/:Documents\desktopldocslwww.xiaoKudang.com教育科硏\高等教育.2022/0207
(2) 微指令格式 微指令字长共24位,采用混合编码法,其控制位顺序如表2所示。 其中24-16位采用直接控制方式,UA5-UA0为6位后续微地址,A、B、C为三个译码字段,分别由三个控制位译码出多位,译码电路由3-8译码器实现 (见图5)。C字段为判别测试字段,译码后形成4个判别测试位,功能是根据不同的条件(机器指令操作码、状态条件等)改变微地址,使微程序转入相 应的微地址入口,形成微程序的分支、循环。微地址转移逻辑见图6。 (3) 微地址转移逻辑 模型机微地址转移逻辑设计如图6所示。转移条件包括指令寄存器IR7-IR2位(图中示为I7-I2)、ALU的状态信息FC和FZ、状态测试位P(1)-P(4)、 控制开关SWB和SWA。 图 6 微 地 址 转 移 逻 辑 电 路 要实现地址转移,须将地址转移电路输出端SE6-SE1(位于实验台右下方“LOG UNIT”单元)连至“MICRO CONTROLER”单元的微地址寄存器 MA5-MA0的强行置位端SE6-SE1(见图5,低电平有效)。当SE6-SE1中某一位或几位输出低电平时,微地址寄存器相应触发器被置“1”,下址字段被改 变,地址转移。依据图6,地址转移表达式如下: 与SE5-SE1对应的微地址MA4-MA0(MA5未设置)的置位情况如表3所示。 表3 微地址转移逻辑 表2 微指令格式 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 S3 S2 S1 S0 M Cn WE CE LDPC A B C uA5 uA4 uA3 uA2 uA1 uA0 C字段 9 8 7 选择 0 0 0 0 0 1 P (1) 0 1 0 P (2) B字段 12 11 10 选择 0 0 0 0 0 1 RS-B 0 1 0 RDB 0 1 1 RI-B 1 0 0 299- B 1 0 1 ALUA字段 15 14 13 选择 0 0 0 0 0 1 LDRi 0 1 0 LDDR1 0 1 1 LDDR2 1 0 0 LDIR 1 0 1 LOAD 测试名称 P(1) P(2) P(3) P(4) MA4 MA3 MA2 MA1 说明 实验三简单模型机的设计与实现 Page 5 of 12 mhtml:file://E:\Documents\Desktop\docs\www.xiaokudang.com\教育科研\高等教育... 2022/02/07
实验三简单模型机的设计与实现 Page 6 of 12 MAO P(测试01I1 I7I61514 依据I7-4修改MA3MA0,形 成16路分支。可作为操作码 测试 P(2测试1011 3 依据13和12形成4路分支 P(3测试1101 FC+FZ 进位(FC=1)或结果为 (FZ=1)时,形成两路分 P(4)测试|110 SWB SWA依据SWB、SwA形成控制台 4路分支。 4.寄存器单元电路 模型机设置了三个通用寄存器,分别为R0、R1和R2,见图4左下部分。寄存器的存取控制由微指令B字段产生的四个控制信号LDR、RDB、RS-B RI-B进行控制。LDRi是寄存器的输入控制信号,与T4节拍脉冲相与后,形成寄存器的打入脉冲。模型机将R2作为变址寄存器,由R1-B作为变址寄存器的输 出控制。RDB是目的寄存器输出控制:RS-B是源寄存器的输出控制。RI-B、RDB和RS-B都是电平控制信号 模型机的“ LOG UNI”单元电路将上述微操作信号译码后产生具体某一个寄存器的打入脉冲和输出允许信号,如图7所示。其中,13-10是指令寄存器 的IR3、IR2、IRI、IR0位。图7产生的寄存器读写控制命令如表4所示 图7寄存器读写控制电路 表4寄存存取控制表 微控器控制信号3n21o XX 0 I X 00 RO-B RD-B XX 0 mhtml:file/:Documents\desktopldocslwww.xiaoKudang.com教育科硏\高等教育.2022/0207
4.寄存器单元电路 模型机设置了三个通用寄存器,分别为R0、R1和R2,见图4左下部分。寄存器的存取控制由微指令B字段产生的四个控制信号LDRi、RD-B、RS-B、 RI-B进行控制。LDRi是寄存器的输入控制信号,与T4节拍脉冲相与后,形成寄存器的打入脉冲。模型机将R2作为变址寄存器,由RI-B作为变址寄存器的输 出控制。RD-B是目的寄存器输出控制;RS-B是源寄存器的输出控制。RI-B、RD-B和RS-B都是电平控制信号。 模型机的“LOG UNIT”单元电路将上述微操作信号译码后产生具体某一个寄存器的打入脉冲和输出允许信号,如图7所示。其中,I3-I0是指令寄存器 的IR3、IR2、IR1、IR0位 。图7产生的寄存器读写控制命令如表4所示。 图7 寄存器读写控制电路 表4 寄存器存取控制表 MA0 P(1)测试 0 1 1 1 — I7 I6 I5 I4 依据I7-I4修改MA3-MA0,形 成16路分支。可作为操作码 测试。 P(2)测试 1 0 1 1 — — — I3 I2 依据I3和I2形成4路分支。 P(3)测试 1 1 0 1 FC+FZ — — — — 进 位(FC=1)或 结 果 为 0 (FZ=1)时,形 成 两 路 分 支。 P(4)测试 1 1 1 0 — — — SWB SWA 依据SWB、SWA形成控制台 4路分支。 微控器控制信号 I3 I2 I1 I0 输出 LDRi LDRi LDRi RD-B RD-B RD-B RS-B RS-B RS-B Χ Χ 0 0 Χ Χ 0 1 Χ Χ 1 0 Χ Χ 0 0 Χ Χ 0 1 Χ Χ 1 0 0 0 Χ Χ 0 1 Χ Χ 1 0 Χ Χ LDR0 LDR1 LDR2 R0-B R1-B R2-B R0-B R1-B R2-B 实验三简单模型机的设计与实现 Page 6 of 12 mhtml:file://E:\Documents\Desktop\docs\www.xiaokudang.com\教育科研\高等教育... 2022/02/07
实验三简单模型机的设计与实现 Page 7 of 12 RI-B XXX X 5.程序计数器单元电路 程序计数器PC由2片74161构成,见图4右边中下部。微指令产生的LDPC微命令是161的计数脉冲,也就是当LDPC高电平有效时,在T4时刻PC自动加 LOAD微命令是PC的装入数据命令,但PC装入数据时,同时要求LDPC有效。微指令B字段译码产生的PCB微命令能够将PC内容送到总线上 6.指令寄存器单元电路 指令寄存器IR由1片8D触发器273构成,见图4右下部。微指令A字段译码产生的LDR微命令是R的装入命令。当LDR高电平有效时,在T4时刻,将总线 上的信息打入IR,并直接送入微程序控制器 7.输入输出单元 模型机将位于实验台左下角的“ DATA UND”单元的模拟开关作为输入设备:将发光二极管作为输出设备。发光二极管与总线直接相连,总线上的所有 信息都可由发光二极管显示 8.控制台微程序及机器指令微程序设计举例 (1)控制台微程序 模型机中,依据微程序地址转移逻辑,当微指令执行P(4)测试时,能够根据“ SWITCH UNIT”单元的开关SwB、SWA强制修改微地址寄存器 MAI、MA0的值,产生四路分支。因此,可用SWB、SWA开关量来控制模型机的工作状态,执行不同的微程序。这一部分的微程序称为控制台微程序。 本实验中,控制台微程序需要在微地址“00000°单元处设置一条微指令:用开关将RAM首地址置入PC,执行P(4)测试。然后用SwB、SWA开关 控制形成三路分支,分别完成RAM中机器指令程序的写入、校验、启动。控制台微程序流程图如图8所示 SWB、SWA的开关状态与对应的模型机的工作状态如表5所示 表5控制台开关设置 SWB|SwA模型机工作 存储器写操作 01存储器读操作 启动程序 控制台能程序 0(下址) (SWB SWA)<RD 存储器写操作:拨动总清开关CLR(0→1),使微地址寄存器清0,从“00(八进制)”单元处取出微指令。设置控制台开关SWB、SWA为“00” 将“ DATA UNIT”单元的开关置为要写入RAM的首地址,按动 START,执行“00(八进制)”单元的微指令,设置好的RAM地址被写入PC,判别测试后 mhtml:file/:Documents\desktopldocslwww.xiaoKudang.com教育科硏\高等教育.2022/0207
5.程序计数器单元电路 程序计数器PC由2片74161构成,见图4右边中下部。微指令产生的LDPC微命令是161的计数脉冲,也就是当LDPC高电平有效时,在T4时刻PC自动加1。 LOAD微命令是PC的装入数据命令,但PC装入数据时,同时要求LDPC有效。微指令B字段译码产生的PC-B微命令能够将PC内容送到总线上。 6.指令寄存器单元电路 指令寄存器IR由1片8D触发器273构成,见图4右下部。微指令A字段译码产生的LDIR微命令是IR的装入命令。当LDIR高电平有效时,在T4时刻,将总线 上的信息打入IR,并直接送入微程序控制器。 7.输入输出单元 模型机将位于实验台左下角的“DATA UNIT”单元的模拟开关作为输入设备;将发光二极管作为输出设备。发光二极管与总线直接相连,总线上的所有 信息都可由发光二极管显示。 8.控制台微程序及机器指令微程序设计举例 (1)控制台微程序 模型机中,依据微程序地址转移逻辑,当微指令执行P(4)测试时,能够根据“SWITCH UNIT”单元的开关SWB、SWA强制修改微地址寄存器 MA1、MA0的值,产生四路分支。因此,可用SWB、SWA开关量来控制模型机的工作状态,执行不同的微程序。这一部分的微程序称为控制台微程序。 本实验中,控制台微程序需要在微地址“000000”单元处设置一条微指令:用开关将RAM首地址置入PC,执行P(4)测试。然后用SWB、SWA开关 控制形成三路分支,分别完成RAM中机器指令程序的写入、校验、启动。控制台微程序流程图如图8所示。 SWB、SWA的开关状态与对应的模型机的工作状态如表5所示。 表5 控制台开关设置 存储器写操作:拨动总清开关CLR(0→1),使微地址寄存器清0,从“00(八进制)”单元处取出微指令。设置控制台开关SWB、SWA为“0 0”, 将“DATA UNIT”单元的开关置为要写入RAM的首地址,按动START,执行“00(八进制)”单元的微指令,设置好的RAM地址被写入PC,判别测试后 RI-B Χ Χ Χ Χ R2-B SWB SWA 模型机工作 0 0 存储器写操作 0 1 存储器读操作 1 1 启动程序 图8 控制台微程序流程 实验三简单模型机的设计与实现 Page 7 of 12 mhtml:file://E:\Documents\Desktop\docs\www.xiaokudang.com\教育科研\高等教育... 2022/02/07
实验三简单模型机的设计与实现 Page 8 of 12 转入微地址“10(八进制)”,微地址显示灯显示下一条要执行的微指令地址“001000”。每按动一次 START,执行一条微指令。该微程序执行时 每次只需当微地址显示灯显示“001010″时,将“ DATA UNIT”单元的开关置为要写入RAM的内容,按动 START就可以对RAM连续手动写操作,RAM 地址由微程序自动加1并置入 存储器读操作:拨动总清开关CLR(1→0→1),使微地址寄存器清0,从“00(八进制)”单元处取出微指令。设置控制台开关SWB、SwA为“0 1”,将“ DATA UNIT”单元的开关置为要读出RAM单元的首地址,按动 START,执行“00(八进制)处的微指令,判别测试后转入校验流程执行。该微 程序执行时,按动 START可对RAM进行连续手动读操作,RAM地址由微程序自动加1并置入,每次在微地址显示灯显示“001100”时,按动 START,总线 上就显示要读出RAM单元的内容 启动程序:拨动总清开关CLR(1→0→1),使微地址寄存器清0,从“00(八进制)”单元处取出微指令。设置控制台开关SwB、SWA为“II” 将“ DATA UNIT”单元的开关置为要执行程序在RAM中的首地址,按动 START,执行“00(八进制)”处的微指令,判别测试后转入运行流程执行。运 行流程执行一条空微指令后转入微地址“01(八进制)”处执行微指令。可在2816“01(八进制)”单元设置一条“取指“微指令,取出机器指令并开始 执行程序。 2)机器指令微程序设计举例 模型机字长8位,结合模型机硬件设计和数据通路,设计一条立即数寻址的传送类指令MOV,一条运算类指令SUB和一条输出指令OU A.指令格式、功能、汇编符号与指令编码 格式:双字长、两地址,寄存器寻址 OP RS RD 汇编符号: SUB RS,RD 指令编码:操作码(OP)编码为0001 源寄存器RS和目的寄存器RD编码如表6所示 衰6寄存暴输码 RS或RD选定的寄存器 格式:单字长,两地址,源操作数立即数寻址,目的操作数寄存器寻址 7654 指令功能:D→RD mhtml:file/:Documents\desktopldocslwww.xiaoKudang.com教育科硏\高等教育.2022/0207
转入微地址“10(八进制)”,微地址显示灯显示下一条要执行的微指令地址“001000”。每按动一次START,执行一条微指令。该微程序执行时, 每次只需当微地址显示灯显示“001010”时,将“DATA UNIT”单元的开关置为要写入RAM的内容,按动START就可以对RAM连续手动写操作,RAM 地址由微程序自动加1并置入。 存储器读操作:拨动总清开关CLR(1→0→1),使微地址寄存器清0,从“00(八进制)”单元处取出微指令。设置控制台开关SWB、SWA为“0 1”,将“DATA UNIT”单元的开关置为要读出RAM单元的首地址,按动START,执行“00(八进制)处的微指令,判别测试后转入校验流程执行。该微 程序执行时,按动START可对RAM进行连续手动读操作,RAM地址由微程序自动加1并置入,每次在微地址显示灯显示“001100”时,按动START,总线 上就显示要读出RAM单元的内容。 启动程序:拨动总清开关CLR(1→0→1),使微地址寄存器清0,从“00(八进制)”单元处取出微指令。设置控制台开关SWB、SWA为“1 1”, 将“DATA UNIT”单元的开关置为要执行程序在RAM中的首地址,按动START,执行“00(八进制)”处的微指令,判别测试后转入运行流程执行。运 行流程执行一条空微指令后转入微地址“01(八进制)”处执行微指令。可在2816“01(八进制)”单元设置一条“取指“微指令,取出机器指令并开始 执行程序。 (2)机器指令微程序设计举例 模型机字长8位,结合模型机硬件设计和数据通路,设计一条立即数寻址的传送类指令MOV,一条运算类指令SUB和一条输出指令OUT。 A. 指令格式、功能、汇编符号与指令编码 SUB指令: 格式:双字长、两地址,寄存器寻址 功能:(RS)-(RD)→RD 汇编符号:SUB RS,RD 指令编码:操作码(OP)编码为0001 源寄存器RS和目的寄存器RD编码如表6所示。 表6 寄存器编码 MOV指令: 格式:单字长,两地址,源操作数立即数寻址,目的操作数寄存器寻址 指令功能:D→RD RS或RD 选定的寄存器 00 01 10 R0 R1 R2 7 6 5 4 3 2 1 0 OP — RD D 7 6 5 4 3 2 1 0 OP RS RD 实验三简单模型机的设计与实现 Page 8 of 12 mhtml:file://E:\Documents\Desktop\docs\www.xiaokudang.com\教育科研\高等教育... 2022/02/07
实验三简单模型机的设计与实现 Page 9 of 12 编符号:MOVD,RD 指令编码:操作码编码为1100,目的寄存器RD编码见表6 输出指令OUT: 格式:单字长,一地址,寄存器寻址 功能:(RS)→BUS(发光二极管显示) 指令编码:操作码编码为0011,源寄存器RD编码见表6。 B.微程序流程及微地址安排 MOWI001) CUT(0100) C.微程序代码 将微程序按照微指令格式转换为二进制代码,如表7所示(微地址用八进制表示)。 7微程序代码 微地址S3S2SIS0 M Cn WE CEA cuA5 uA4 uA3 uA2 uAl LDPC 0000000 110111000000010 0 000000000 100000001010000 000000010 01000I000101011 000000010 001000000001 34 000000011 110111|000011101 000000000 001000000000001 000000010 0l1010000|101110 011000010 11o1000000001 D.测试程序及机器代码 汇编程序 机器代码 Mov0001000l,Rll000001 MOv000l0010,R011000000 mhtml:file/:Documents\desktopldocslwww.xiaoKudang.com教育科硏\高等教育.2022/0207
汇编符号:MOV D,RD 指令编码:操作码编码为1100,目的寄存器RD编码见表6。 输出指令OUT: 格式:单字长,一地址,寄存器寻址 功能:(RS)→BUS(发光二极管显示) 汇编符号:OUT RS 指令编码:操作码编码为0011,源寄存器RD编码见表6。 B. 微程序流程及微地址安排 C. 微程序代码 将微程序按照微指令格式转换为二进制代码,如表7所示(微地址用八进制表示)。 表7 微程序代码表 D. 测试程序及机器代码 汇编程序 机器代码 MOV 00010001,R1 11000001 00010001 MOV 00010010,R0 11000000 00010010 微地址 S3 S2 S1 S0 M Cn WE CE LDPC A B C uA5 uA4 uA3 uA2 uA1 uA0 0 1 0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 0 0 0 0 0 0 0 1 0 0 2 0 0 0 0 00 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 2 1 0 0 0 0 00 0 1 0 0 1 0 0 0 1 0 0 0 1 0 1 0 1 1 2 4 0 0 0 0 00 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 3 4 0 0 0 0 00 0 1 1 1 1 0 1 1 1 0 0 0 0 1 1 1 0 1 3 5 0 0 0 0 00 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 5 3 0 0 0 000 0 1 0 0 1 1 0 1 0 0 0 0 1 0 1 1 1 0 5 6 0 1 1 0 00 0 1 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 1 实验三简单模型机的设计与实现 Page 9 of 12 mhtml:file://E:\Documents\Desktop\docs\www.xiaokudang.com\教育科研\高等教育... 2022/02/07
实验三简单模型机的设计与实现 Page 10 of 12 SUB RI, RO 00010100 OUT RO E.程序测试过程 a)设置微控器为PROM状态,将表7中的微程序代码写入2816 b)设置微控器为READ状态,校验2816中的微程序代码 c)运行控制台微程序,将测试程序的机器代码写入存储器6116 d)运行控制台微程序,校验写入RAM的机器代码 e)运行控制台微程序,启动程序,即转入“01(八进制)”微地址处开始执行 n)观察每条微指令的执行情况,将最终的程序运行结果与理论值比较。 五、实验预习求 1.阅读实验指导书,分析模型机的硬件设计,理解模型机的工作原理 2.参考典型计算机的指令系统,结合模型机的硬件电路,设计模型机的指令系统。具体要求包括 (1)设计:2条运算类指令、翰入和输出指令、直接寻址方式的存储器输入和输出指令、无条件转移指令、传送指令(包括寄存器间传送及立即数 传送)、停机指令 (2)(选作)实现直接、间接和变址寻址方式的存储器输入输出指令:实现直接和间接寻址方式的无条件转移指令 (3)结合模型机的硬件电路,设计每类指令的指令格式 3.结合模型机的数据迺路、时序要求和微地址转移逻辑,写出每条指令的微程序流程并安排设计微地址 4.结合模型机的微指令格式,将每条微指令代码化 5.使用所设计的指令系统,編写简单机器指令程序:按照指令格式,将机器指令程序代码化 1.写入并校验微程序 1)按下图连接实验线路,仔细检查无误后接通电源 写入微程序 A.将编程开关置为PROM(编程)状态 B.将实验板上“ STATE UNIT”中的“STEP”置为“STEP”,“STOP”置为“RUN”状态 C.用实验板上“ SWITH UNIT”中的开关设置微地址UAUA。观察对应的6位显示灯,检查设置是否正确。开关量为“0”时灯亮,开关量 为“1”时灯灭 D.在M2MK0开关上置微代码,观察对应的24位显示灯,检查设置是否正确。开关量为“0”时灯亮,开关量为“1”时灯灭 E.启动时序电路(按动启动按钮“ START”),将微代码写入到 E-PRON2816的相应地址对应的单元中。若写入成功,微地址显示灯MAMA 与开关UA5UA0的设置相同 F.重复C—E步骤,将所有微代码写入2816。 (3)校验徵程序 A.将编程开关置为READ(校验)状态 mhtml:file/:Documents\desktopldocslwww.xiaoKudang.com教育科硏\高等教育.2022/0207
SUB R1,R0 00010100 OUT R0 01000000 E. 程序测试过程 a) 设置微控器为PROM状态,将表7中的微程序代码写入2816; b) 设置微控器为READ状态,校验2816中的微程序代码; c) 运行控制台微程序,将测试程序的机器代码写入存储器6116; d) 运行控制台微程序,校验写入RAM的机器代码; e) 运行控制台微程序,启动程序,即转入“01(八进制)”微地址处开始执行; f) 观察每条微指令的执行情况,将最终的程序运行结果与理论值比较。 五、实验预习要求 1. 阅读实验指导书,分析模型机的硬件设计,理解模型机的工作原理。 2. 参考典型计算机的指令系统,结合模型机的硬件电路,设计模型机的指令系统。具体要求包括: (1) 设计: 2条运算类指令、输入和输出指令、直接寻址方式的存储器输入和输出指令、无条件转移指令、传送指令(包括寄存器间传送及立即数 传送)、停机指令。 (2) (选作)实现直接、间接和变址寻址方式的存储器输入输出指令;实现直接和间接寻址方式的无条件转移指令。 (3) 结合模型机的硬件电路,设计每类指令的指令格式。 3. 结合模型机的数据通路、时序要求和微地址转移逻辑,写出每条指令的微程序流程并安排设计微地址。 4. 结合模型机的微指令格式,将每条微指令代码化。 5. 使用所设计的指令系统,编写简单机器指令程序;按照指令格式,将机器指令程序代码化。 六、实验步骤 1. 写入并校验微程序 (1) 按下图连接实验线路,仔细检查无误后接通电源。 (2) 写入微程序 A. 将编程开关置为PROM(编程)状态。 B. 将实验板上“STATE UNIT”中的“STEP”置为“STEP”,“STOP”置为“RUN”状态。 C. 用实验板上“SWITH UNIT”中的开关设置微地址UA5 -UA0。观察对应的6位显示灯,检查设置是否正确。开关量为“0”时灯亮,开关量 为“1”时灯灭。 D. 在MK23-MK0开关上置微代码,观察对应的24位显示灯,检查设置是否正确。开关量为“0”时灯亮,开关量为“1”时灯灭。 E. 启动时序电路(按动启动按钮“START”),将微代码写入到E 2PROM2816的相应地址对应的单元中。若写入成功,微地址显示灯MA5 -MA0应 与开关UA5 -UA0的设置相同。 F. 重复C——E步骤,将所有微代码写入2816。 (3) 校验微程序 A. 将编程开关置为READ(校验)状态。 实验三简单模型机的设计与实现 Page 10 of 12 mhtml:file://E:\Documents\Desktop\docs\www.xiaokudang.com\教育科研\高等教育... 2022/02/07