资源描述
实验二 算术逻辑运算实验(4 课时)实验目的了解运算器的组成结构掌握运算器的工作原理学习运算器的设计方法掌握简单运算器的数据传送通路验证运算功能发生器74LS181的组合功能实验设备TDN-CM+或TDN-CM+教学实验系统一套实验原理实验中所用的运算器数据通路图如图2-1所示。图中所示的是由两片74LS181以并/串形式构成的8位字长的ALU。右方为低4位运算芯片,左方为高4位运算芯片。低位芯片的进位输出端Cn+4与高位芯片输入端Cn相连,使低4位运算产生的进位送进高4位运算中。低位芯片的进位输入端Cn可与外来进位相连,高位芯片的进位输出端引至外部。两个芯片的控制端S0-S3和M各自相连,其控制电平按表2-1所示。为进行双操作数运算,运算器的两个数据输入端分别由两个数据暂存器DR1,DR2来锁存数据。要将内总线上的数据锁存到DR1,DR2中,则锁存器的控制端LDDR1,LDDR2须为高电平。当T4脉冲来到的时候,总线上的数据就被锁存进DR1或DR2中了。为控制运算器向内总线上输出运算结果,在其输出端连接了一个三态门。若要将运算结果输出到总线上,则要将三态门74LS245的控制端ALU-B置低电平。否则输出高阻状态。数据输入单元(实验板上印有INPUT DEVICE)用以给出参与运算的数据。其中,输入开关经过一个三态门和内总线相连,该三态门的控制信号为SW-B,取低电平时,开关上的数据则通过三态门而送入内总线中。总线数据显示灯(在BUS UNIT单元中)已与内总线相连,用来显示内总线上的数据。控制信号中除T4为脉冲信号,其他均为电平信号。图中已将用户需要连接的控制信号用圆圈标明。由于实验电路中的时序信号已连至W/R UNIT的相应时序信号引出端,因此,在进行实验时,只需将W/R UNIT的T4接至STATE UNIT的微动开关KK2的输出端,按动微动开关,即可获得实验所需的单脉冲,而S3,S2,S1,S0,Cn,M,LDDR1,LDDR2,ALU-B,SW-B各电平控制信号用SWITCH UNIT 中的二进制数据开关来模拟,其中Cn,ALU-B,SW-B为低电平有效,LDDR1,LDDR2为高电平有效。对于单总线数据通路,做实验时要分时控制总线,即当向DR1,DR2工作暂存器打入数据时,数据开关三态门打开,这时应保证运算器输出三态门关闭;同样,当运算器输出结果至总线时应保证数据输入三态门关闭。实验步骤1. 按图2-2连接实验电路并检查无误。图中将用户需要连接的信号线用小圆圈标明。图2-22. 开电源开关3. 用输入开关向暂存器DR1置数a) 波动输入开关形成二进制数01100101(或其他数值)。(数据显示灯亮为0,灭为1)。b) 使SWITCH UNIT单元中的开关SW-B=0(打开数据输入三态门)、ALU-B=1(关闭ALU输出三态门)、LDDR1=1,LDDR2=0c) 按动微动开关KK2,则将二进制数01100101置入DR1中。4. 用输入开关向暂存器DR2置数a) 波动输入开关形成二进制数10100111(或其他数值)(数据显示灯亮为0,灭为1)。b) SW-B=0,ALU-B=1保持不变,改变LDDR1,LDDR2,使LDDR1=0,LDDR2=1c) 按动微动开关KK2,则将二进制数10100111置入DR2中5. 检验DR1,DR2中存的数是否正确a) 关闭数据输入三态门(SW-B=1),打开ALU输出三态门(ALU-B=0),并使LDDR1=0,LDDR2=0,关闭寄存器。b) 置S3,S2,S1,S0,M为11111,总线显示灯则显示DR1中的数c) 置S3,S2,S1,S0,M为10101,总线显示灯则显示DR2中的数6. 改变运算器的功能设置,观察运算器的输出a) SW-B=1,ALU-B=0保持不变b) 按表2-2置S3,S2,S1,S0,M,Cn的数值,并观察总线显示灯显示的结果。例如置S3,S2,S1,S0,M,Cn的数值为100101,运算器做加法运算,S3,S2,S1,S0,M,Cn的数值为011000,运算器做减法运算。7. 验证74LS181的算术运算和逻辑运算功能(采用正逻辑)在给定DR1=65,DR2=A7的情况下,改变运算器的功能设置,观察运算器的输出,填入表2-1,并和理论分析进行比较、验证。表2-1DR1DR2S3 S2 S1 S0M=0 (算术运算)M=1(逻辑运算)Cn1无进位Cn0有进位65A70 0 0 0F65F66F9A65A70 0 0 1FE7FE8F1865A70 0 1 0F7DF7EF820 0 1 1F FF0 1 0 0FFF0 1 0 1FFF0 1 1 0FFF0 1 1 1FFF1 0 0 0FFF1 0 0 1FFF1 0 1 0FFF1 0 1 1FFF1 1 0 0FFF1 1 0 1FFF1 1 1 0FFF1 1 1 1FFF实验三 进位控制实验(3课时)实验目的了解带进位控制的运算器的组成结构验证带进位控制的算术运算功能发生器的功能按指定数据完成集中指定的算术运算实验设备TDN-CM+或TDN-CM+教学实验系统一套实验原理 图3-1 进位控制运算器的实验原理如图3-1所示,在实验2的基础上增加进位控制部分。运算器最高位进位输出Cn+4连接到一个锁存器(用74LS74实现)的输入端D,其写入由T4和AR信号控制。锁存器控制端的控制信号AR必须置为低电平,T4是脉冲信号,实验时将T4连至STATE UNIT的微动开关KK2上。当T4脉冲来到时,进位结果就被锁存到锁存器中了,发光二极管这是显示为“灭”。同时也将本次的进位输出结果带进了下次的运算中,作为下次运算的进位输入。实验步骤1. 按图3-2连接实验线路,仔细检查无误。图3-22. 打开电源开关3. 用输入开关向暂存器DR1和DR2置数,方法实验2.4. 关闭数据输入三态门(SW-B=1),打开ALU输出三态门(ALU-B=0),并使LDDR1=0,LDDR2=0,关闭寄存器打入控制门5. 对进位标志清零实验板上SWITCH UNIT单元中的CLR开关为标志CY,ZI的清零开关,它为零时是清零状态,所以将此开关做1-0-1操作,即可使标志位清零。注意,进位标志指示灯CY亮时表示进位标志为0,无进位。标志指示灯CY灭时表示进位为“1”,有进位。6. 验证带进位运算及进位锁存功能使Cn=1,AR=0,进行带进位算术运算。例如做加法运算,使ALU-B=0,S3,S2,S1,S0,M状态为10010,此时数据总线上显示的数据为DR1加DR2加当前进位标志的和。但这时的进位状态还没有打入进位锁存器中,它是要靠T4节拍脉冲来打入的。这个结果是否有进位产生,则要按动微动开关KK2,若进位指示灯亮,则无进位,反之则有进位。因做加法运算时数据总线一直显示的数据为DR1+DR2+CY,所以当有进位输入到进位锁存器后,总线显示的数据将为加上当前进位锁存器中锁存的进位位的结果。实验四 移位运算实验(2 课时)实验目的了解移位发生器74LS299的功能验证移位控制电路的组合功能实验设备TDN-CM+或TDN-CM+教学实验系统一套实验原理图4-1 移位运算实验原理图图4-1所示为移位控制电路。其中使用了一片74LS299作为移位发生器,其8位输入/输出端可连接至内部总线。74LS299移位器的片选控制信号为299-B,在低电平时有效。T4为其控制脉冲信号,由W/R UNIT单元中得T4接至STATE UNIT单元中的单脉冲发生器KK2上产生,S0、S1、M,作为移位控制信号,此移位控制逻辑功能如表4-1所示。299-BS1S0M功能000任意保持0100循环右移0101带进位循环右移0010循环左移0011带进位循环左移任意11任意装数表4.1 移位控制电路功能表 实验步骤1. 按图4-2连接实验线路,仔细检查无误。图4-2 移位运算实验电路接线图2. 打开电源开关。3. 向移位寄存器置数。a) 拨动输入开关形成二进制数01101011(或其它数值)。b) 使SWITCH UNIT 单元中的开关SW-B=0,打开数据输入三态门。c) 使S0=1、S1=1,并拨动微动开关KK2,则将01101011置入了移位寄存器。d) 使SW-B=1,关闭数据输入三态门。4. 移位运算操作。参照表4.1中的内容,先将S1、S0置为0、0,检查移位寄存器单元装入的数是否正确,然后通过改变S0、S1、M、299-B的状态,并按动微动开关KK2,观察移位结果。实验五 存储系统实验(5课时)实验目的掌握静态随机存储器RAM工作特性及数据的读写方法实验设备TDN-CM+或TDN-CM+教学实验系统一套实验原理图5-1 存储器实验原理图实验所用的半导体静态存储器电路原理如图5-1所示,实验中的静态存储器由一片6116(2K*8)构成,其数据线接至数据总线,地址线由地址锁存器(74LS273)给出。地址灯AD0-AD7与地址线相连,显示地址线内容。数据开关经一个三态门(74LS245)连至数据总线,分时给出地址和数据。 因地址寄存器为8位,所以接入6116的地址为A7-A0,而高三位A8-A10接地,所以其实际容量为256字节。6116有三条控制线:CE(片选线)、OE(读线)、WE(写线)。当片选有效(CE=0)时,OE=0时进行读操作,WE=0时进行写操作。本实验中将OE常接地,在此情况下,当CE=0、WE=0时进行读操作。CE=0、WE=1时进行写操作,其写时间与T3脉冲宽度一致。 实验时,将T3脉冲接至实验板上时序电路模块的TS3响应插孔中,其脉冲宽度可调,其他电平控制信号由SWITCH UNIT单元的二进制开关模拟,其中SW-B为低电平有效,LDAR为高电平有效。实验步骤1. 形成时钟脉冲信号T3,具体接线方法和操作步骤如下:a) 接通电源,用示波器接入方波信号源的输出插孔H23,调节电位器W1及W2,使H23端输出实验所期望的频率及占空比的方波。b) 将时序电路模块(STATE UNIT)单元中的和信号源单元(SIGNAL UNIT)中的H23排针相连。c) 在时序电路模块中有两个二进制开关STOP和STEP。将STOP开关置为RUN状态、STEP开关置为EXEC状态时,按动微动开关START,则TS3端即输出为连续的方波信号,此时调节电位器W1,用示波器观察,使T3输出实验要求的脉冲信号。当STOP开关置为RUN状态、STEP开关置为STEP状态时,每按动一次微动开关START,则T3输出一个单脉冲,其脉冲宽度与连续方式相同。若用PC联机软件中的示波器功能也能看到波形,可以代替真实示波器。2. 按图5-2连接实验线路,仔细查线无误后接通电源。由于存储器模块内部的连线已经接好,因此只需完成实验电路的形成、控制信号模拟开关、时钟脉冲信号T3与存储模块的外部连接。图5-2 实验接线图3. 写存储器给存储器的00、01、02、03、04地址单元分别写入数据11、12、13、14、15。由上面的存储器实验原理图看出,由于数据和地址全由一个数据开关来给出,这就要分时进行地址和数据的传输。下面的写存储器要分两个步骤,第一步写地址,先关掉存储器的片选(CE=1),打开地址锁存器门控信号(LDAR=1),打开数据开关三态门(SW-B=0),由开关给出要写存储单元的地址,按动START产生T3脉冲,将地址打入到地址锁存器;第二步写数据,关掉地址锁存器门控信号(LDAR=0),打开存储器片选,使处于写状态(CE=0,WE=1),由开关给出此单元要写入的数据,按动START产生T3脉冲将数据写入到当前的地址单元中。写其他单元依次循环上述步骤。写存储器流程如下:(以向00号单元写入11为例)4. 读存储器依次读出第00、01、02、03、04号单元的内容,观察上述各单元的内容是否与前面写入的一致。同写操作类似,读每个单元也需要两步,第一步写地址,先关掉存储器的片选(CE=1),打开地址锁存器门控信号(LDAR=1),打开数据开关三态门(SW-B=0),由开关给出要写存储单元的地址,按动START产生T3脉冲将地址打入到地址锁存器;第二步读存储器,关掉地址锁存器门控信号(LDAR=0),关掉数据开关三态门(SW-B=1),使片选存储器处于读状态(CE=0,WE=0),此时数据总线上显示的数据即为从存储器当前地址中读出的数据内容。读其它单元依次循环上述步骤。读存储器操作流程如下:(以从00号单元读出11数据为例)实验六 系统总线控制实验(4课时)实验目的理解总线的概念及其特性 掌握总线传输控制特性实验设备TDN-CM+或TDN-CM+教学实验系统一套实验原理 实验所用总线传输实验框图如图6-1所示,它将集中不同的设备挂至总线上,有存储器、输入设备、输出设备、寄存器。这些设备都需要有三态输出控制,按照传输要求恰当有序的控制它们,就可实现总线信息传输。图6. 1 总线传输实验框图 实验要求: 根据挂在总线上的几个基本部件,设计一个简单的流程:a) 输入设备将一个数打入R0寄存器;b) 输入设备将另一个数打入地址寄存器;c) 将R0寄存器中的数写入到当前地址的存储器中;d) 将当前地址的存储器中的数用LED数码管显示实验步骤1. 按照图6-2实验接线图进行连线。2. 具体操作步骤图示如下:初始状态应设为:首先应关闭所有三态门(SW-B=1,CS=1,R0-B=1,LED-B=1),并将关联的信号置为:LDAR=0,LDR0=0,W/R(RAM)=1,W/R(LED)=1。然后参照如下操作流程,先给数据开关置数,打开数据输出三态门,拨动LDR0控制信号做0-1-0动作,使产生一个上升沿将数据打入到R0中;然后继续给数据开关置数,拨动LDAR控制信号做0-1-0动作,使产生一个上升沿将数据打入到AR中;关闭数据开关三态门,打开R0寄存器输出控制,使存储器处于写状态(W/R=0,CS=0)将R0中的数据写到存储器中;关闭存储器片选,关闭R0寄存器输出,使存储器处于读状态(W/R=1,CS=0),打开LED片选,拨动LED的W/R控制信号做1-0-1动作,使产生一个下降沿将数据打入到LED中。图6. 2 实验接线图图6. 3 实验步骤图实验七 微控制器的组成与设计实验(6课时)实验目的 掌握时序产生器的组成原理 掌握微程序控制器的组成原理 掌握微程序的编制、写入,观察微程序的运行实验设备TDN-CM+或TDN-CM+教学实验系统一套实验原理 微程序控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能转换成可以控制硬件逻辑部件工作的微命令序列,完成数据传送和各种处理操作。它的执行方法就是将控制各部件动作的微命令的集合进行编码,即将微命令的集合仿照机器指令一样,用数字代码的形式表示,这种表示成为微指令。这样就可以用一个微指令序列表示一条机器指令,这种微指令序列称为微程序。微程序存储在一种专用的存储器中,称为控制存储器。实验所用的时序电路原理如图7-1所示,可产生4个等间隔的时序信号TS1-TS4,其中为时序信号,由实验台右上方的方波信号源提供,可产生频率及脉宽可调的方波信号。学生可根据实验自行选择方波信号的频率及脉宽。为了便于控制程序的运行,时序电路发生器也设置了一个启停控制触发器Cr,是TS1-TS4信号输出可控。图中STEP(单步)、STOP(停机)分别是来自实验板上方中部的两个二进制开关STEP、STOP的模拟信号。START键是来自实验板上方中不一个微动开关START的按键信号。当STEP开关为0时(EXEC),一旦按下启动键,运行触发器Cr一直处于“1”状态,因此时序信号TS1-TS4将周而复始地发送出去。当STEP为1(STEP)时,一旦按下启动键,机器便处于单步运行状态,即此时只发送一个CPU周期的时序信号就停机。利用单步方式,每次只读一条微指令,可以观察微指令的代码与当前微指令的执行结果。另外,当机器连续运行时,如果STOP开关置“1”(STOP),也会使机器停机。 由于时序电路的内部线路已经连好,所以只需将时序电路与方波信号源连接(即将时序电路的时钟脉冲输入端接至方波信号发生器输出端H23),时序电路的CLR已接至实验板左下方的CLR模拟开关上。 微程序控制电路与微指令格式a) 微程序控制电路微程序控制器的组成如图7-2,其中控制存储器采用3片2816的EEPROM,具有掉电保护功能,微命令寄存器18位,用两片8D触发器(273)和一片4D(175)触发器组成。微地址寄存器6位,用三片正沿触发器的双D触发器(74)组成,它们带有清“0”端和预置端。在不判别测试的情况下,T2时刻打入微地址寄存器的内容即为下一条微指令地址。当T4时刻进行测试判别时,转移逻辑满足条件后输出的负脉冲通过强置端将某一触发器置为“1”状态,完成地址修改。在该实验电路中设有一个编程开关(位于实验板右上方),它具有三种状态:PROM(编程)、READ(校验)、RUN(运行)。当处于编程状态时,学生可根据微地址和微指令格式将微指令二进制代码写入到控制存储器2816中。当处于校验状态时,可以对写入控制存储器中的二进制代码进行验证,从而可以判断写入的二进制代码是否正确。当处于运行状态时,只要给出微程序的入口微地址,则可根据微程序流程图自动执行微程序。图中微地址寄存器输出端增加了一组三态门,目的是隔离触发器的输出,增加抗干扰能力,并用来驱动微地址显示灯。b) 微指令格式微指令字长24位,其控制位顺序如表7-1。其中UA5-UA0为6位的后续微地址,A、B、C为三个译码字段,分别由三个控制位译码出多位。表6-1 微指令格式24232221201918171615 14 1312 11 109 8 7654321S3S2S1S0MCnWEA9A8ABCA5A4A3A2A1A0A字段B字段C字段151413选择121110选择987选择000000000001LDRi001RSB001P(1)010LDDR1010RDB010P(2)011LDDR2011RIB011P(3)100LDIR100299B100P(4)101LOAD101ALUB101AR110LDAR110PCB110LDPCB字段中的RS-B、RD-B、R1-B分别为源寄存器选通信号、目的寄存器选通信号及变址寄存器选通信号,其功能是根据机器指令来进行三个工作寄存器R0、R1及R2的选通译码,其原理如图7-3,图中10-14为指令寄存器的0-4位,LDRi为打入工作寄存器信号的译码器使能控制位。图7-3 寄存器译码C字段中的P(1) P(4) 是四个测试位,其功能是根据机器指令及相应微代码进行译码,使微程序转入相应的微地址入口,从而实现微程序的顺序、分支、循环运行,其原理如图7-4所示,图中17-12为指令寄存器的7-2位输出,SE5-SE1为微控器单元微地址锁存器的强置端输出。AR为算术运算是否影响进位及判零标志控制位,其为零有效。图7-4 指令译码 实验步骤(1)本实验采用五条机器指令:IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、JMP(无条件转移),其指令格式如下(前4位为操作码): 其中IN为单字长(8位),其余为双字长指令,为addr对应的二进制地址码。 为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三个控制台操作微程序。 存储器读操作(KRD):拨动总清开关CLR后,控制台开关SWB、SWA为00时,按START微动开关,可对RAM连续手动读操作。 存储器写操作(KWE):拨动总清开关CLR后,控制台开关SWB、SWA置为01时,按START微动开关可对RAM进行连续手动写入。 启动程序:拨动总清开关CLR后,控制台开关SWB、SWA置为11时,按START微动开关,即可转入到第01号取指微指令,启动程序运行。 上述三条控制台指令用两个开关SWB、SWA的状态来设置,其定义如下:图7-5为所设计的几条机器指令对应的参考微程序流程图,将全部微程序按微指令格式变成二进制代码,可得到表7-2的二进制代码表。图7-5中一个举行方框表示一条微指令,方框中的内容为该指令执行的微操作,右上角的数字是该条指令的微地址,为表示方便,所有微地址使用八进制表示。向下的箭头指出了下一条要执行的指令。P(1)-P(4)为测试字,根据条件使微程序产生分支。表7-2 二进制微代码表微地址S3 S2 S1 S0 M CN WE A9 A8ABCA5A00 00 0 0 0 0 0 0 1 10 0 00 0 01 0 00 1 0 0 0 00 10 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 0 0 1 00 20 0 0 0 0 0 0 0 11 0 00 0 00 0 10 0 1 0 0 00 30 0 0 0 0 0 0 0 11 1 00 0 00 0 00 0 0 1 0 00 40 0 0 0 0 0 0 0 10 1 10 0 00 0 00 0 0 1 0 10 50 0 0 0 0 0 0 1 10 1 00 0 10 0 00 0 0 1 1 00 61 0 0 1 0 1 0 1 10 0 11 0 10 0 00 0 0 0 0 10 70 0 0 0 0 0 0 0 11 1 00 0 00 0 00 0 1 1 0 11 00 0 0 0 0 0 0 0 00 0 1 0 0 00 0 00 0 0 0 0 11 10 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 0 0 1 11 20 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 0 1 1 11 30 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 1 1 1 01 40 0 0 0 0 0 0 1 11 1 01 1 01 1 00 1 0 1 1 01 50 0 0 0 0 0 1 0 10 0 00 0 10 0 00 0 0 0 0 11 60 0 0 0 0 0 0 0 11 1 00 0 00 0 00 0 1 1 1 11 70 0 0 0 0 0 0 0 10 1 00 0 00 0 00 1 0 1 0 12 00 0 0 0 0 0 0 1 11 1 01 1 01 1 00 1 0 0 1 02 10 0 0 0 0 0 0 1 11 1 01 1 01 1 00 1 0 1 0 02 20 0 0 0 0 0 0 0 10 1 00 0 00 0 00 1 0 1 1 12 30 0 0 0 0 0 0 1 10 0 00 0 00 0 00 0 0 0 0 12 40 0 0 0 0 0 0 0 00 1 00 0 00 0 00 1 1 0 0 02 50 0 0 0 0 1 1 1 00 0 01 0 10 0 00 0 0 0 0 12 60 0 0 0 0 0 0 0 11 0 10 0 01 1 00 0 0 0 0 12 70 0 0 0 0 1 1 1 00 0 01 0 1 0 0 00 1 0 0 0 03 00 0 0 0 0 1 1 0 10 0 01 0 1 0 0 00 1 0 0 0 1(2)按图7-6连接实验线路,仔细查线无误后接通电源。图7-6 微控器实验接线图(3)观测时序信号用双踪示波器(或用联机软件的PC示波器功能)观察方波信号源的输出端H23,调节电位器W1,使输出波形的频率最慢。将时序电路中的STOP开关置为RUN,STEP开关置为EXEC。按动START按键,测量TS1、TS2、TS3、TS4各点的波形,比较它们的相互关系,画出其波形,并标注测量所得的脉冲宽度,见图7-7。图7-7 时序状态图(4)观察微程序控制器的工作原理a)编程 1)将编程开关置为PROM(编程)状态。 2)将实验板上STATE UNIT中的STEP置为STEP,STOP置为RUN状态。 3)用二进制模拟开关置微地址MA5-MA0。4)在MK24-MK1开关上置微代码,24位开关对应24位显示灯,开关量为0时灯灭,开关量为1时灯灭。5)启动时序电路(按动启动按钮START),即将微代码写入到EEPROM2816的相应地址对应的单元中。6)重复3)-5)步骤,将表5-2的微代码写入2816。b)校验1)将编程开关置为READ(校验)状态。2)将实验板的STEP开关置为STEP状态。STOP开关置为RUN状态。3)用二进制开关置好微地址MA5-MA0。4)按动START键,启动时序电路,读出微代码。观察显示灯MD24-MD1的状态(灯亮为0,灯灭为1),检查读出的微代码是否与写入的相同。如果不同,则将开关置于PROM编程状态,重新执行a)编程步骤即可。c)单步运行1)将编程开关置于RUN(运行)状态。2)实验板的STEP及STOP开关保持原状。3)操作CLR开关(拨动开关在实验板右下角)使CLR信号1-0-1,微地址寄存器MA5-MA0清零,从而明确本机的运行入口微地址为000000(二进制)。4)按动START键,启动时序电路,则每按动一次启动键,读出一条微指令后停机,此时实验台上的微地址显示灯和微命令显示灯将显示所读出的一条指令。 注意:在当前条件下,可将MICRO-CONTROLLER单元的SE6-SE1接至SWITCH UNIT中的S3-Cn对应二进制开关上,可通过强置端SE1-SE6人为设置分支地址。首先将SE1-SE6对应二进制开关置为1,当需要人为设置分支地址时,将某个或几个二进制开关置0,相应的微地址位即被强置为1,从而改变下一条微指令的地址。(二进制开关置为0,相应的微地址位将被强置为0)d)连续运行 1)将编程开关置为RUN(运行)状态。2)将实验板的单步开关STEP置为EXEC状态。3)使CLR从1-0-1,此时微地址寄存器清“0”,从而给出取指微指令的入口地址为000000(二进制)。4)启动时序电路,则可连续读出微指令。实验八 基本模型机的设计与实现(4课时)实验目的在掌握部件单元电路实验的基础上,进一步将其组成系统构造一台基本模型计算机为其定义五条机器指令,并编写相应的微程序,具体上机调试掌握整机概念实验设备TDN-CM+或TDN-CM+教学实验系统一套 PC微机一台实验原理 部件实验过程中,各部件单元的控制信号是认为模拟产生的,而本次试验将在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,及一条机器指令对应一段微程序。本实验采用五条机器指令:IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、JMP(无条件转移),其指令格式如下(前4位为操作码): 其中IN为单字长(8位),其余为双字长指令,为addr对应的二进制地址码。 为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三个控制台操作微程序。 存储器读操作(KRD):拨动总清开关CLR后,控制台开关SWB、SWA为00时,按START微动开关,可对RAM连续手动读操作。 存储器写操作(KWE):拨动总清开关CLR后,控制台开关SWB、SWA置为01时,按START微动开关可对RAM进行连续手动写入。 启动程序:拨动总清开关CLR后,控制台开关SWB、SWA置为11时,按START微动开关,即可转入到第01号取指微指令,启动程序运行。 上述三条控制台指令用两个开关SWB、SWA的状态来设置,其定义如下: 根据以上要求设计数据通路框图,如图8-1,微代码定义如表8-1所示。 系统涉及到的微程序流程图见图8-2,这里取指是公用微指令,为了能确定不同机器指令有各自不同的微程序转向,我们在这里以指令寄存器的前4位(IR7-IR4)作为测试条件,引入了P(1)指令测试字段,如此,对于5条机器指令,就可以有5路P(1)测试分支,对于每一指令分别予以微程序解释。 控制台操作为P(4)测试,它以控制台开关SWB、SWA作为测试条件,出现了3路分支,占用3个固定微地址单元。当分支微地址单元固定后,剩下的其它地方就可以一条微指令占用控存一个微地址单元随意填写。注意:微程序流程图上的单元地址为八进制。 当全部微程序设计完毕后,应将每条微指令代码化,表8-2即为将图8-2的微程序流程图按微指令格式转化而成的“二进制微代码表”。下面介绍指令寄存器(IR):指令寄存器用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存取到指令寄存器中,然后对其进行译码、执行。指令划分为操作码和地址码字段,由二进制数构成,为了执行任何给定的指令,必须对操作码进行测试【P(1)】,通过节拍脉冲T4的控制以便识别所要求的操作。“指令译码器”(实验板上标有“INS DECODE”的芯片)根据指令中的操作码译码强置微控器单元的微地址,使下一条微指令指向相应的微程序首地址。本系统有两种外部I/O设备,一种是二进制代码开关,它作为输入设备(INPUT DEVICE);另一种是数码块,它作为输出设备(OUTPUT DEVICE)。例如:输入时,二进制开关数据直接经过三态门送到总线上,只要开关状态不变,输入的信息也不便。输出时,将输出数据送到数据总线上,当写信号(W/R)有效时,将数据打入输出锁存器,驱动数码块显示。本实验设计及其指令程序如下:实验步骤(1) 按图8-3连接实验线路。(2) 写程序 方法一:手动写入A) 先将及其指令对应的微代码正确写入2816中,由于在实验五微程序控制实验中已将微代码写入EEPROM芯片中,对照表8-2校验正确后就可使用。B) 使用控制台KWE和KRD微程序进行机器指令程序的装入和检查。a) 使编程开关处于RUN,STEP为“STEP”状态,STOP为“RUN”状态。b) 拨动总清开关CLR(1-0-1),微地址寄存器清零,程序计数器清零。然后使控制台SWB、SWA开关置为01,按动一次启动开关START,微地址显示灯显示010001,再按动一次START,微地址灯显示010100,此时数据开关的内容置为要写入的机器指令,安东路iangciSTART键后,即完成该条指令的写入。若仔细阅读KWE的流程,就不难发现,机器指令的首地址总清后为零,以后每个循环PC会自动加1,所以,每次按动START,只有在微地址灯显示010100时,才设置内容,知道所有机器指令写完。c) 写完程序后须进行校验。拨动总清开关CLR(1-0-1)后,微地址清零。PC计数器清零,然后使控制台开关SWB、SWA为00,按动启动START,微地址灯将显示010000,再按START,微地址灯显示为010010,第三次按START,微地址灯显示为010111,再按START后,此时输出单元的数码管显示为该首地址中的内容。不断按动START,以后每个循环PC会自动加1,可检查后续单元内容。每次在微地址灯显示为010000时,是将当前地址中的机器指令写入到输出设备中显示。 方法二:联机读/写程序 按照规定格式,将机器指令及表8-2微指令二进制表编辑成十六进制的如下格式文件。微指令格式中的微指令代码为将表8-2中的24位微代码从左到右分成3个8位,将此三个8位二进制代码化为相应的十六进制数即可。 用联机软件的“转储-装载”功能将该格式文件装载入实验系统即可。(3) 运行程序A) 单步运行程序a) 使编程开关处于RUN状态,STEP为STEP状态,STOP为RUN状态。b) 拨动总清开关CLR(0-1),微地址清零,程序计数器清零。程序首地址为00H。c) 单步运行一条微指令,每按动一次START键,即单步运行一条微指令。对照微程序流程图,观察微地址显示灯是否和流程一致。d) 当运行结束后,可检查存数单元(0BH)中的结果是否和理论值一致。B) 连续运行程序a) 使STATE UNIT中的STEP开关置为EXEC状态。STOP开关置为RUN状态。b) 拨动CLR开关,清微地址及程序计数器,然后按动START,系统连续运行程序,稍后将STOP拨至“STOP”时,系统停机。c) 停机后,可检查存数单元(0BH)结果是否正确。C) 若联机运行程序时,进入DEBUG调试界面,总清开关CLR(0-1)清零后,程序首地址为00H,按相应功能键即可联机运行、调试程序。(软件使用说明请看用户手册)
展开阅读全文