实验一 系统认识实验 ··················································································· 2 实验二 算术逻辑运算实验 ············································································ 9 实验三 实验四 实验五 实验六 实验七
进位控制实验 ················································································· 12 移位运算实验 ················································································· 14 静态随机存储器实验 ······································································ 16 总线控制器实验
19
微程序控制器实验 ············································································ 21
实验一 系统认识实验
一、实验目的
1 .搭建并操作一个最基本的模型计算机。 2 .建立对计算机组成及其原理的基本认识。
二、实验设备
1.TDN-CM+或 TDN-CM++教学实验系统一套。 2 .PC 微机一台。
三、实验原理
1.一台简单模型计算机的结构
为了更好地理解计算机的各组成部件是如何相互配合进行工作的,我们将设计一个最基 本的模型计算机。根据前面小节的知识,我们将算术逻辑运算器、控制器、寄存器、内部总 线等部件搭接起来构成一个 CPU,然后再加上存储器、输入设备、输出设备即构成一台完整的模型计算机。其逻辑框图见图 1.4-1。
其中 ALU 为运算器、DR1、DR2 为工作暂存器、R0 为通用寄存器、AR 为地址寄存器、 PC 为程序计数器、IR 为指令寄存器、TIME 为时序发生器、MEM 为程序存储器、INPUT 为输入设备、OUTPUT 为输出设备、MC 为微程序控制器。 2 .模型计算机的程序
本系统设计了四条指令,构成了此模型计算机的指令系统,即:
应用该指令系统可以编写一段反映计算机操作的指令序列,它们就构成了所谓的计算机 程序,并将其以二进制存放在主存储器的连续的单元中。计算机通过连续运行该段程序,就 可以解决各种复杂的计算或是控制问题。 3 .微程序Microprogram
为实现以上计算机程序的操作,控制器对应于每一条机器指令都需要进行一系列的微操 作来完成该机器指令的操作。一个微操作则对应一条微指令。如果控制器采用最普遍使用的 微程序控制器,则一条机器指令的操作就需要一系列微指令来完成。它们构成计算机的微程 序并且是以二进制数的形式存放在控制存储器的存储单元中。与以上机器指令对应的微操作 内容如表 1.4-1 所示。
四、实验步骤
1.构造一台模型计算机
首先,参照图 1.4-2,在教学实验系统中使用连接导线(排线)将模型计算机的各个部件连接在一起,构成一台完整的模型计算机。连接图中凡是标有小圆圈的连线都是需要连接
导线的,而未标小圆圈的连线是系统已经连接好的。 连接完成后,请仔细检查,以保证连接的正确性。
2 .我们来编写一段简单程序操作的例子来说明计算机工作的过程。 这个程序要执行的功能是:
1)由输入设备向 CPU 的通用寄存器R0 中输入一个数。 2)将输入的数值与程序中的一个立即数相加。 3)将运算结果输出到输出设备上进行显示。 4)跳转返回到执行第一条指令的状态和位置。 完成以上指令操作的程序内容如表 1.4-2 所示。
3 .模型机操作前的准备工作
使用通讯电缆将实验系统的串行接口与 PC 微机的串行接口相连接,并将实验系统的电源线接到电源插座中。然后启动 PC 微机,进入 Windows 系统,安装本设备提供的应用软件 CMPP。
(安装方法及软件使用可见用户手册)。
4.模型计算机的运行操作
1)打开实验系统的电源开关, 点击图标 CMPP,运行软件。 若联机正常后,将显示如 图 1.4-3 所示界面。
2)未联机正常,也可以进入软件界面,但是所有的菜单里的功能全是灰色不可用(除 “文件”及“端口”菜单),且指令区窗口中的数据也全以星号显示。本软件的默认串口为 1号串口,若通讯电缆连接到 2 号串口上,可进入“【端口】”菜单,选择 2 号串口,然后进行“【端口】-【端口测试】”,若还不正常,请确保打开系统电源及检查通讯电缆的连接。具体排除故障见《使用手册》。 3)进入“【转储】-- 【转载】”,选择系统软件安装时在\\CMPP\\SAMPLE 目录下的一个例程 EX.TXT,点击“打开”后即进行装载。此文件包含有上述设计的模型机要执行的机器指令程序及定义该机器指令系统的微程序。可从“【文件】—【打开】”来打开此文件,可查看模型计算机操作的程序及其微程序。其内容为: 机器指令: $P0000 $P0110 $P0208 $P0320 $P0430 $P0500 微指令:
$M00018001 $M0101ED82
$M0200C048 $M0300B004 $M0401A205 $M05959A01 $M0600D181 $M08001001 $M0901ED83 $M0A070201 $M0B01ED86
机器指令及微指令的描述格式为:
4)装载完成后,选择“【运行】- 【通路图】- 【复杂模型机】”可打开一个对应的数据通路图,如图 1.4-4 所示:
5)在执行指令之前,要将实验系统右下角的 CLR 清零开关向上拨到 0 位再拨回 1 位,以将程序计数器和微地址寄存器清为零,使得程序可从零地址开始运行。 选择“【运行】-【单步微指令】”功能,每按动一次,系统运行一条微指令并在界面中 显示动态数据流及微地址等的变化,仔细观察运行过程,则可了解并掌握计算机的工作过程。 6)每按动一次“【运行】—【单步机器指令】”,则单步执行一条机器指令。一条机器指 令对应一段微程序,每执行一条微指令时,计算机同时显示数据流,执行完这条机器指令对 应的所有微指令后则自动停止。此时可以再继续单步执行下一条机器指令。
当模型计算机执行完一条指令后,PC微机则根据指令的执行过程,在屏幕上显示出其 数据流,图中各部件的有效控制信号则用高亮显示,并将下一条微指令代码显示在下方。这 样就可以形象地看到一条指令的执行过程。 “【运行】—【单步微指令】”的功能是单步执行一条微指令,同时显示其数据流。 “【运行】—【连续运行】”,则连续运行全部程序,同时连续显示整个数据流。当按动 “【运行】—【停止】”时才会停止执行,但不是立即停止,只有当一条机器指令运行 完后才会停止。
7)单步执行机器指令,并对照表 1.4-2,观察对应一条机器指令的一系列微操作的运行过程。
思考问题
1)单步执行微指令,观察应用软件的数据通路图中各部件的有效控制信号 (高亮显示), 思考这些控制信号的作用。并对照图 1-2,找到这些控制信号的来源,并思考它们是如何产生的,它们与微代码的关系。思考微程序控制器在整个模型计算机运行中的作用。
2)单步执行指令 ADD X,R0 ,观察微操作[DR1]+[DR2] R0 执行时,运算器 ALU 的 有效控制信号 S0-S3、M、CN,思考它们对运算器算术逻辑操作的作用。
实验二 算术逻辑运算实验
一、实验目的
1.了解运算器的组成结构。 2 .掌握运算器的工作原理。 3 .学习运算器的设计方法。
4 .掌握简单运算器的数据传送通路。
5 .验证运算功能发生器74LS181 的组合功能。
二、实验设备
TDN-CM+或 TDN-CM++教学实验系统一套。
三、实验原理
实验中所用的运算器数据通路图如图 2.6-1。图中所示的是由两片 74LS181 芯片以并/ 串形式构成的 8 位字长的运算器。右方为低 4 位运算芯片,左方为高 4 位运算芯片。低位芯片的进位输出端 Cn+4 与高位芯片的进位输入端 Cn 相连,使低 4 位运算产生的进位送进高4位运算中。低位芯片的进位输入端 Cn 可与外来进位相连,高位芯片的进位输出引至外部。
两个芯片的控制端 S0~S3 和 M 各自相连,其控制电平按表 2.6-1。
为进行双操作数运算,运算器的两个数据输入端分别由两个数据暂存器 DR1、DR2 (用锁存器 74LS273 实现)来锁存数据。要将内总线上的数据锁存到 DR1 或 DR2 中,则锁存器74LS273 的控制端 LDDR1 或 LDDR2 须为高电平。当 T4 脉冲来到的时候,总线上的数据就被锁存进 DR1 或 DR2 中了。
为控制运算器向内总线上输出运算结果,在其输出端连接了一个三态门(用 74LS245 实现)。若要将运算结果输出到总线上,则要将三态门74LS245 的控制端ALU-B 置低电平。否则输出高阻态。
数据输入单元(实验板上印有 INPUT DEVICE)用以给出参与运算的数据。其中,输入开关经过一个三态门(74LS245)和内总线相连,该三态门的控制信号为 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.6-2 连接实验电路并检查无误。图中将用户需要连接的信号线用小圆圈标明 (其它实验相同,不再说明)。 2 .开电源开关。
3 .用输入开关向暂存器DR1 置数。 ①拨动输入开关形成二进制数 01100101(或其它数值)。(数据显示灯亮为0,灭为 1)。 ②使 SWITCH UNIT单元中的开关 SW-B=0(打开数据输入三态门)、ALU-B=1 (关闭ALU 输出三态门)、LDDR1=1、LDDR2=0。
③按动微动开关 KK2 ,则将二进制数01100101 置入 DR1 中。 4 .用输入开关向暂存器DR2 置数。
①拨动输入开关形成二进制数 10100111(或其它数值)。
②SW-B=0、ALU-B=1 保持不变,改变 LDDR1、LDDR2 ,使LDDR1=0、LDDR2=1。 ③按动微动开关 KK2 ,则将二进制数 10100111 置入 DR2 中。 5 .检验DR1 和 DR2 中存的数是否正确。 ①关闭数据输入三态门(SW-B=1),打开ALU输出三态门(ALU-B=0),并使 LDDR1=0、 LDDR2=0 ,关闭寄存器。
②置 S3、S2、S1、S0、M 为 1 1 1 1 1,总线显示灯则显示DR1 中的数。 ③置 S3、S2、S1、S0、M 为 1 0 1 0 1,总线显示灯则显示DR2 中的数。 6 .改变运算器的功能设置,观察运算器的输出。 ①SW-B=1、ALU-B=0 保持不变。
②按表 2-2 置 S3、S2、S1、S0 、M、Cn 的数值,并观察总线显示灯显示的结果。 例如:置 S3、S2、S1、S0 、M、Cn 为 1 0 0 1 0 1,运算器作加法运算。
置 S3、S2、S1、S0 、M、Cn 为 0 1 1 0 0 0,运算器作减法运算。 7 .验证74LS181 的算术运算和逻辑运算功能(采用正逻辑)
在给定 DR1=65、DR2=A7的情况下,改变运算器的功能设置,观察运算器的输出,填 入下表中,并和理论分析进行比较、验证。
实验三 进位控制实验
一、实验目的
1.了解带进位控制的运算器的组成结构。 2 .验证带进位控制的运算器的功能。
二、实验设备
TDN-CM+或 TDN-CM++教学实验系统一套。
三、实验原理
图2.7-1 所示为进位锁存及其显示电路。运算器最高位进位输出 Cn+4 连接到一个锁存器(用74LS74 实现)的输入端 D,锁存器控制端的控制信号 AR 必须置为低电平,当 T4 脉冲来到时,进位结果就被锁存到进位锁存器中了,发光二极管这时显示为“灭”。同时也将本次的进位输出结果带进了下次的运算中,作为下次运算的进位输入。
四、实验步骤
1.按图2.7-3 连接实验电路并检查无误。 2 .打开电源开关。
3 .用输入开关向暂存器DR1 和 DR2 置数,方法同前。 4 .关闭数据输入三态门(SW-B=1),打开 ALU 输出三态门 (ALU-B=0),并使 LDDR1=0、
LDDR2=0 ,关闭寄存器打入控制门。 5 .对进位标志清零。
实验板上“SWITCH UNIT”单元中的 CLR 开关为标志 CY、ZI 的清零开关,它为零状态时是清零状态,所以将此开关做 101 操作,即可使标志位清零。 注意:进位标志指示灯 CY 亮时表示进位标志为“0”,无进位;标志指示灯CY 灭时表示进位为“1”,有进位。
6 .验证带进位运算及进位锁存功能。 使 Cn=1,AR=0,进行带进位算术运算。
例如做加法运算,使 ALU-B=0 ,S3 S2 S1 S0 M 状态为 1 0 0 1 0,此时数据总线上显示的数据为DR1 加 DR2 加当前进位标志的和,但这时的进位状态位还没有打入进位锁存器中,它是要靠 T4 节拍来打入的。这个结果是否有进位产生,则要按动微动开关 KK2 ,若进位标灯亮,则无进位,反之则有进位。因做加法运算时数据总线一直显示的数据为DR1+DR2+CY ,所以当有进位输入到进位锁存器后,总线显示的数据将为加上当前进位锁存器中锁存的进位位的结果。
实验四 移位运算实验
一、实验目的
1.了解移位发生器74LS299 的功能。 2 .验证移位控制电路的组合功能。
二、实验设备
TDN-CM+或 TDN-CM++教学实验系统一台。
三、实验原理
图2.8-1 所示为移位器及其控制电路。其中使用了一片 74LS299 作为移位发生器,其八位输入/输出端可连接至内总线。74LS299 移位器的片选控制信号为 299-B ,低电平有效。 T4 为其控制脉冲信号,由“W/R UNIT”单元中的 T4 接至“STATE UNIT”单元中的单脉冲发生器 KK2 上而产生,。S0、S1、M 作为移位控制信号,此移位控制逻辑功能如表 2.8-1 所示。
四、实验步骤
1.按图2.8-2 连接实验电路并检查无误。 2 .打开电源开关。
3 .向移位寄存器置数。
①拨动输入开关形成二进制数 01101011(或其它数值)。
②使 SWITCH UNIT 单元中的开关 SW-B=0,打开数据输入三态门。
③使 S0=1、S1=1,并按动微动开关KK2 ,则将二进制数01101011 置入了移位寄存器。
④使 SW-B=1,关闭数据输入三态门。 4 .移位运算操作。
参照表 2.8-1 中的内容,先将 S1、S0 置为 0、0,检查移位寄存器单元装入的数是否正确, 然后通过改变 S0、S1、M、299-B 的状态,并按动微动开关KK2 ,观察移位结果。
实验五 静态随机存储器实验
一、实验目的
掌握静态随机存储器 RAM 工作特性及数据的读写方法。
二、实验设备
1.TDN-CM+或 TDN-CM++教学实验系统一台。
2 .PC 微机(或示波器)一台。
三、实验原理
实验所用的半导体静态存储器电路原理如图3.6-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。具体接线方法和操作步骤如下:
① 接通电源,用示波器接入方波信号源的输出插孔 H23 ,调节电位器W1 及 W2 ,使H23端输出实验所期望的频率及占空比的方波。
② 将时序电路模块(STATE UNIT)单元中的ф和信号源单元(SIGNAL UNIT)中的H23 排针相连。
③ 在时序电路模块中有两个二进制开关“STOP”和“STEP”。将“STOP”开关置为 “RUN”状态、“STEP”开关置为“EXEC”状态时,按动微动开关 START,则TS3 端即输出为连续的方波信号,此时调节电位器 W1 ,用示波器观察,使 T3 输出实验要求的脉冲信号。当 “STOP”开关置为 “RUN”状态、“STEP”开关置为 “STEP”状态时,每按动一次微动开关 START,则T3 输出一个单脉冲,其脉冲宽度与连续方式相同。若用 PC 联机软件中的示波器功能也能看到波形,可以代替真实示波器。 (2) 按图 3.6-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 数据为例)
实验六 总线控制器实验
一 实验目的
(1) 理解总线的概念及其特性。 (2) 掌握总线传输控制特性。 二 实验设备
TDN-CM++计算机组成原理教学实验系统一 ,排线若干。 三 实验内容
1) 总线的基本概念
总线是多个系统部件之间进行数据传送的公共通路,是构成计算机系统的骨架。借助总线连接,计算机在系统各部件之间实现传送地址、数据和控制信息的操作。因此,所谓总线就是指能为多个功能部件服务的一组公用信息线。 2) 实验原理
实验所用总线传输实验框图如图17所示,它将几种不同的设备挂至总线上,有存储器、输入设备、输出设备、寄存器。这些设备都需要有三态输出控制,按照传输要求恰当有序的控制它们,就可进行总线信息传输。 3) 实验要求
根据挂在总线上的几个基本部件,设计一个简单的流程:
总线
W/R LED-B LED-B CS W/R R0-B LDR0 LEAR R0寄 数据输 地址寄 存储器 数码管 存 器 入开关 存器AR RAM 显示LED 图17 总线实验原理图
(1) 输入设备将一个数打入R0寄存器。 (2) 输入设备将另一个数打入地址寄存器。
(3) 将R0寄存器中的数写入到当前地址的存储器中。 (4) 将当前地址的存储器中的数用LED数码管显示。 四 实验步骤
(1) 按照图18实验接线图进行连线。
BUS UNIT D7……D0 D7 D0 SWITCH UNIT INPUT UNIT SW-B LDR0 SW-B LDPC PC-B S3 299-B WE CE 7 D REG UNIT R0-B D0 D7 0W/R OUTPUT DEVICE LED-B D D7 D0 MAIN MEM A7 A0 CS W/R AD7 AD0 EXT UNIT SW-B D7 ADDRESS UNIT LDAR LDAR D0 图18 总线实验原理图 (2) 具体操作步骤图示如下:
初始状态应设为:关闭所有三态门(SW-B=1,CS=1,R0-B=1,LED-B=1),其他控制信号为LDAR=0,LDR0=0,W/R(RAM)=1,W/R(LED)=1。
数据开关 打入寄存 打入寄存 数据开关 三态门 (00100000) 器AR 器R0 (01100011) SW-B=0 LDAR= LDR0=
R0写入存储器打 三态门 三态门 存储器 入LED
W/R(RAM)=1 CS=0 LED-B=0 W/R(LED)= CS=1 R0-B=0 W/R(RAM)=0 CS=0 SW-B=1 R0-B=0 实验七 微程序控制器实验
一、实验目的
1. 掌握时序发生器的组成原理。 2 .掌握微程序控制器的组成原理。
3 .掌握微程序的编制、写入,观察微程序的运行。
二、实验设备
TDN-CM+或 TDN-CM++教学实验系统一台。
三、实验原理
微程序控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能转换成可 以控制硬件逻辑部件工作的微命令序列,完成数据传送和各种处理操作。它的执行方法就是 将控制各部件动作的微命令的集合进行编码,即将微命令的集合仿照机器指令一样,用数字 代码的形式表示,这种表示称为微指令。这样就可以用一个微指令序列表示一条机器指令, 这种微指令序列成为微程序。微程序存储在一种专用的存储器中,称为控制存储器。 实验所用的时序控制电路框图如图4.4-1 所示,可产生4个等间隔的时序信号 TS1~TS4 ,其中Φ为时钟信号,由实验台左上方的方波信号源提供,可产生频率及脉宽可调的方波信号。
学生可根据实验自行选择方波信号的频率及脉宽。图中 STEP(单步)是来自实验板上方中部的一个二进制开关 STEP 的模拟信号。START 键是来自实验板上方左部的一个微动开关START的按键信号。当 STEP 开关为0时 (EXEC),一旦按下 START 启动键,时序信号 TS1~ TS4 将周而复始地发送出去。当 STEP 为1(STEP)时,一旦按下 SATRT 启动键,机器便处于单步运行状态,即此时只发送一个 CPU 周期的时序信号就停机。利用单步方式,每次只读一条微指令,可以观察微指令的代码与当前微指令的执行结果。另外,当机器连续运行时,如果 STEP 开关置“1”(STEP),也会使机器停机,或使 CLR 开关执行 1→0→1 操作也可以使时序清零。时序状态图见图4.4-7。 由于时序电路的内部线路已经连好,所以只需将时序电路与方波信号源连接,即将时序 电路的时钟脉冲输入端ф接至方波信号发生器输出端 H23上,按动启动键 START 后,就可产生时序信号 TS1~TS4。时序电路的CLR 已接至实验板右下方的CLR 模拟开关上。
微程序控制电路与微指令格式 ①微程序控制电路
微程序控制器的组成见图 4.4-2 ,其中控制存储器采用3片2816 的 E2PROM,具有掉
电保护功能,微命令寄存器 18 位,用两片8D 触发器(273)和一片 4D (175)触发器组成。微地址寄存器 6 位,用三片正沿触发的双 D 触发器(74)组成,它们带有清“0”端和预置端。 在不判别测试的情况下,T2时刻打入微地址寄存器的内容即为下一条微指令地址。当 T4 时 刻进行测试判别时,转移逻辑满足条件后输出的负脉冲通过强置端将某一触发器置为“1” 状态,完成地址修改。
在该实验电路中设有一个编程开关(位于实验板右上方),它具有三种状态:PROM (编程)、READ(校验)、RUN(运行)。当处于“编程状态”时,学生可根据微地址和微指令格式将微指令二进制代码写入到控制存储器 2816中。当处于“校验状态”时,可以对写入控制存储器中的二进制代码进行验证,从而可以判断写入的二进制代码是否正确。当处于“运行状态”时,只要给出微程序的入口微地址,则可根据微程序流程图自动执行微程序。图中微地址寄存器输出端增加了一组三态门,目的是隔离触发器的输出,增加抗干扰能力,并用来驱动微地址显示灯。 ②微指令格式
微指令字长共 24 位,其控制位顺序如表 4.4-1 :
其中 UA5~UA0 为 6 位的后续微地址,A、B、C 为三个译码字段,分别由三个控制位译码出多位。C 字段中的 P(1)~P (4)是四个测试字位。其功能是根据机器指令及相应微代码进行译码,使微程序转入相应的微地址入口,从而实现微程序的顺序、分支、循环运行,其原理如图 4.4-3 所示,图中 I7~I2 为指令寄存器的第 7~2 位输出,SE5~SE1 为微控器单元微地址锁存器的强置端输出。AR为算术运算是否影响进位及判零标志控制位,其为零有效。B 字段中的 RS-B、R0-B、RI-B 分别为源寄存器选通信号、目的寄存器选通信号及变址寄存器选通信号,其功能是根据机器指令来进行三个工作寄存器 R0、R1 及 R2 的选通译码,其原理如图 4.4-4 ,图中 I0~I4 为指令寄存器的第 0~4 位,LDRi 为打入工作寄存器信号的译码器使能控制位。
四、实验步骤
(1)图 4.4-5 为所设计的几条机器指令对应的参考微程序流程图,将全部微程序按微指令格式变成二进制代码,可得到表 4.4-2 的二进制代码表。
上图中一个矩形方框表示一条微指令,方框中的内容为该指令执行的微操作,右上角的数字是该条指令的微地址,为表示方便,所有微地址是用 8 进制表示。向下的箭头指出了下一条要执行的指令。P(1)、P(4)为测试字,根据条件使微程序产生分支。
(2)按图 4.4-6 连接实验线路,仔细查线无误后接通电源。
(3) 观测时序信号
用双踪示波器(或用联机软件的 PC 示波器功能)观察方波信号源的输出端 H23 ,调节电位器W1 ,使输出波形的频率最慢。将时序电路中的“STOP”开关置为“RUN”,“STEP” 开关置为“EXEC”。按动 START 按键,测量 TS1、TS2、TS3、TS4 各点的波形,比较它们的相互关系,画出其波形,并标注测量所得的脉冲宽度,见图4.4-7。
(4) 观察微程序控制器的工作原理 ① 编程
A. 将编程开关置为 PROM(编程)状态。
B. 将实验板上“STATE UNIT”中的“STEP”置为“STEP”,“STOP”置为“RUN” 状态。
C. 用二进制模拟开关置微地址 MA5—MA0 。 D. 在 MK24—MK1 开关上置微代码,24 位开关对应 24 位显示灯,开关量为“0” 时灯亮,开关量为“1”时灯灭。
E. 启动时序电路(按动启动按纽“START”),即将微代码写入到E PROM 2816 的相应地址对应的单元中。
F. 重复C-E步骤,将表 4-1-2 的微代码写入 2816。 ② 校验
A. 将编程开关设置为 READ(校验)状态。 B. 将实验板的“STEP”开关置为“STEP”状态。“STOP”开关置为“RUN”状态。 C. 用二进制开关置好微地址 MA5—MA0 。
D. 按动 “START”键,启动时序电路,读出微代码.观察显示灯 MD24—MD1 的状态(灯亮为“0”,灭为“1”),检查读出的微代码是否与写入的相同。如果不同,则将开关置于 PROM 编程状态,重新执行①即可。 ③ 单步运行
A. 将编程开关置于“RUN(运行)”状态。
B. 实验板的“STEP”及“STOP”开关保持原状。
C. 操作 CLR 开关(拨动开关在实验板右下角)使CLR信号1—>0—>1,微地址寄存器ΜA5—ΜA0 清零,从而明确本机的运行入口微地址为000000(二进制)。
D. 按动“START”键,启动时序电路,则每按动一次启动键,读出一条微指令后停机,此时实验台上的微地址显示灯和微命令显示灯将显示所读出的一条指令。 注意:在当前条件下,可将“MICRO-CONTROLLER”单元的 SE6—SE1 接至“SWITCH
UNIT”中的 S3—Cn 对应二进制开关上,可通过强置端 SE1—SE6 人为设置分支地 址。首先将 SE1—SE6 对应二进制开关置为“1”,当需要人为设置分支地址时,将某个或几个二进制开关置“0”,相应的微地址位即被强置为“1”,从而改变下一条微指令的地址(二进制开关置为“0”,相应的微地址位将被强置为“1”) ④ 连续运行
A. 将编程开关置为“RUN(运行)”状态。
B. 将实验板的单步开关“STEP”置为“EXEC”状态。 C. 使CLR从1—>0—>1,此时微地址寄存器清“0”,从而给出取指微指令的入口地址为 000000(二进制)。
D. 启动时序电路,则可连续读出微指令。
因篇幅问题不能全部显示,请点此查看更多更全内容