计算机组成原理实验书 - 图文

更新时间:2024-02-26 08:51:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

计算机组成与结构实验指导书

Experimental Guide for Computer Organization and Architecture

TEC—4计算机组成原理实验系统

TEC—4计算机组成原理实验系统由北京邮电大学计算机学院、清华同方教学仪器设备公司、深圳拓普威电子技术有限公司联合研制。它是一个8位计算机模型实验系统,可用于大专、本科、硕士研究生计算机组成原理课程、计算机系统结构课程的教学实验,对提高学生的动手能力、提高学生对计算机整体和各组成部分的理解、提高学生的计算机系统综合设计能力都会有很大帮助。

一、TEC—4计算机组成原理实验系统特点

1.计算机模型简单、实用,运算器数据通路、控制器、控制台各部分划分清晰。

2.计算机模型采用了数据总线和指令总线双总线体制,能够实现流水控制。 3.控制器有微程序控制器或者硬布线控制器两种类型,每种类型又有流水和非流水两种方案。

4.寄存器堆由1片ispLSI1016组成,运算器由1片ispLSI1024组成,设计新颖。

5.实验台上包括了1片系统编程芯片ispLSI1032,学生可用它实现硬布线控制器。

6.该系统能做运算器组成、双端口存储器、数据通路、微程序控制器、中断、CPU组成与机器指令执行、流水微程序控制器、硬布线控制器、流水硬布线控制器等多种实验。

7.电源部分采用模块电源,重量轻,具有抗电源对地短路能力。 8.采用自锁紧累接接线方式,接线可靠。

二、TEC—4计算机组成原理实验系统的组成

TEC—4计算机组成原理实验系统由下述六部分组成:

1.控制台 2.数据通路 3.控制器

4.用户自选器件试验区 5.时序电路 6.电源部分

下面分别对各组成部分予以介绍。 三、电源

电源部分由一个模块电源、一个电源插座、一个电源开关和一个红色指示灯组成。电源模块通过四个螺栓安装在实验台下面。它输出+5V电压,最大负载电流3安培,内置自恢复保险功能,具有抗+5V对地短路能力。电源插座用于接交流220伏市电,插座内装有保险丝。电源开关用于接通或者断开交流220伏市电。当电源模块输出+5V时,点亮+5V红色指示灯。

四、时序发生器

时序发生器产生计算机模型所需的时序。时序电路由一个1MHz 晶体振荡器、2片GAL22V10(U6和U7)组成,位于控制存储器的右边。根据本机设计,执行一条微指令需要4个时钟周期T1、T2 、T3、T4,执行一条指令通常需要取指、送操作数、运算、写结果四个节拍,因此本机的基本时序如下:

图1 基本时序图

1

图中,MF是晶体振荡器产生的1MHz基本时钟,T1、T2、T3、T4是数据通路和控制器中各寄存器的时钟脉冲,印制板上已将它们和有关的寄存器连接。T1、T2、T3、T4既供微程序控制器时使用,也供硬布线控制器使用。W1、W2、W3、W4只供硬布线控制器作指令节拍信号使用。

五、数据通路

数据通路的设计是TEC—4计算机组成原理实验系统最有特色的部分。首先它采用了数据总线和指令总线双总线形式,使得流水实验能够实现。它还使用了大规模可编程器件作为运算器和寄存器堆,使得设计简单明了,可修改性强。数据通路位于实验系统中部。

下图是数据通路总体图,下面介绍图中各主要部件的作用。

图2 数据通路总体图

1.运算器ALU

运算器ALU由一片ispLSI1024(U47)组成,在选择端S2、S1、S0控制下,对数据A和B进行加、减、与、直通、乘五种运算,功能如下:

2

表1 运算器功能表

进位C只在加法运算和减法运算时产生。加运算中,C表示进位;减运算中,C代表借位。加、减运算产生的进位(借位)在T4的上升沿送入C寄存器保存。与、乘、直通操作不影响进位C的状态,即进位C保持不变。

当ALU_BUS = 1时,运算结果送往数据总线DBUS。加、减运算产生的进位(借位)C与控制台的C指示灯相连。

2.DR1和DR2

DR1和DR2是运算操作数寄存器,DR1和ALU的B数据口相连,DR2和ALU的A数据口相连。DR1 和DR2各由2片74HC298(U23、U24、U21、U22)组成。U23是DR1 的低4位,U24是DR1的高4位;U21是DR2的低4位,U22是DR2的高4位。当M1=0且LDDR1=1时,在T3的下降沿,DR1接收来自寄存器堆B端口的数据;当M1=1且LDDR1=1时,在T3的下降沿,DR1 接收来自数据总线DBUS的数据。当M2=0且LDDR2=1时,在T3的下降沿,DR2接收来自寄存器堆A端口的数据;当M2=1且LDDR2=1时,在T3的下降沿,DR2接收来自数据总线DBUS的数据。

3

3.多端口通用寄存器堆RF

多端口通用寄存器堆RF由1片ispLSI1016(U32)组成,它的功能和MC14580类似。寄存器堆中包含4个8位寄存器(R0、R1、R2、R3),有三个控制端口。其中两个端口控制读操作,一个端口控制写操作,三个端口可同时操作。RD1、RD0选择从A端口读出的寄存器,RS1、RS0 选择从B端口读出的寄存器,WR1、WR0选择被写入的寄存器。WRD控制写操作。当WRD=0时,禁止写操作;当WRD=1时,在T2的上升沿将来自ER寄存器的数据写入由WR1、WR0选中的寄存器。

A端口的数据直接送往操作数寄存器DR2,B端口的数据直接送往操作数寄存器DR1。除此之外,B端口的数据还通过1片74HC244(U15)送往数据总线DBUS。当RS_BUS#=0时,允许B端口的数据送到数据总线DBUS上;当RS_BUS#=1时,禁止B端口的数据送到数据总线DBUS。

4.暂存寄存器ER

暂存寄存器ER(U14)是1片74HC374,主要用于暂时保存运算器的运算结果。当LDER=1时,在T4的上升沿,将数据总线DBUS上的数据打入暂存寄存器ER。ER的输出送往多端口通用寄存器堆RF,作为写入数据使用。

5.开关寄存器SW_BUS

开关寄存器SW_BUS(U38)是1片74HC244,用于将控制台开关SW7—SW0的数据送往数据总线DBUS。当SW_BUS#=1时,禁止开关SW7—SW0 的数据送往数据总线DBUS;当SW_BUS#=0时,允许开关SW7—SW0的数据送往数据总线DBUS。

6.双端口存储器RAM

双端口存储器由一片IDT7132(U36)及少量附加控制电路组成。IDT7132是2048字节的双端口静态随机存储器,本机实际使用256字节。IDT7132两个端口可同时进行读、写操作。在本机中,左端口的数据连接总线DBUS,可进行读、写操作,右端口数据和指令总线INS连接,输出到指令寄存器IR,作为只读端口使用。存储器IDT7132有6个控制引脚:CEL#、LRW、OEL#、CER#、RRW、OER#。CEL#、LRW、OEL#控制左端口读、写操作,CER#、RRW、OER#控制右端口读、写操

4

NC0、NC1、NC2 备用 、NC3、NC4

上述控制信号连同时序电路提供的时序、控制信号位于控制器的下边。

2.微地址寄存器μAR(74HC273)

微地址寄存器μAR(74HC273)对控制存储器提供微程序地址。当CLR#=0时,将其复位到零,使微程序从000000B地址开始执行。在T1的上升沿将新的微程序地址μD0—μD5打入微地址寄存器μAR。控制台开关SWC直接连到74HC273,作为μD6,用于实现读寄存器操作KRR。

3.跳转开关JUMP

这是一组6个跳转开关(J1)。当用短路子将它们连通时,微地址寄存器μAR从本实验系统提供的微程序地址译码电路得到新的微程序地址μD0—μD5。当他们被断开时,用户提供自己的新微程序地址μD0—μD5。这样用户能够使用自己设计的微程序地址译码电路。

4.微程序地址译码电路DECORDER

微程序地址译码电路DECORDER产生后继微程序地址,它由2片74HC32(U2、U3)和2片74HC08(U4、U5)构成。微程序地址译码电路数据来源是:控制存储器产生的后继微程序地址μA0—μA5,控制存储器产生的标志位P0—P3,指令操作码IR4—IR7,进位标志C,中断请求标志INTQ,控制台方式标志位SWA、SWB。

七、控制台

控制台位于TEC—4计算机组成原理实验系统的下部,主要由若干指示灯和若干拨动开关组成,用于给数据通路置数、设置控制信号、显示各种数据。

1.SW7—SW0

数据开关,直接接到数据通路部分的数据总线DBUS上,用于向数据通路中

10

的器件置数。开关拨到上面位置时输出1,拨到下面位置时输出0。SW7 是最高位,SW0是最低位。

2.K15—K0

双位拨动开关。开关拨到上面位置时输出1,拨到下面位置时输出0。实验中用于模拟数据通路部分所需的电平控制信号。例如,将K0与LDDR1连接,则K0向上时,表示置LDDR1为1;K0向下时,表示置LDDR1为0。

3.数据指示灯D7—D0

8个红色发光二极管,用于显示数据总线DBUS或者指令寄存器IR的状态。D7是最高位,D0是最低位。双位开关IR/DBUS拨到IR位置时,显示指令寄存器IR的状态;双位开关IR/DBUS拨到DBUS位置时,显示数据总线DBUS状态。

4.地址指示灯A7—A0

8个绿色发光二极管,用于显示双端口存储器的地址寄存器内容。A7是最高位,A0是最低位。双端口存储器IDT7132有两个地址端口,地址寄存器AR1提供左端口地址A7L—A0L,地址寄存器AR2提供右端口地址A7R—A0R。当双位开关AR2/AR1拨到AR1的位置时,显示地址寄存器AR1的内容;当双位开关AR2/AR1拨到AR2位置时,显示地址寄存器AR2的内容。

5.微地址指示灯μ_A5—μ_A0

6个黄色发光二极管,用于显示控制存储器的地址μ_A5—μ_A0。μ_A5是最高位,μ_A0是最低位。

6.其他指示灯P3、P2、P1、P0、IE、C

6个黄色发光二极管用于显示P3、P2、P1、P0、IE、C的值。P3、P2、P1、P0是控存的微代码位,用于条件分支产生下一个微地址。C是加、减运算时产生的进/借位值。IE是中断允许标志。当IE=1时,允许中断;当IE=0时,禁止中断。

11

7.微动开关CLR#、QD、INTR

这三个微动开关用于产生CLR#、QD、INTR单脉冲。按一次按钮CLR#,产生一个负的单脉冲CLR#,对全机进行复位,使全机处于初始状态,微程序地址置为000000B。CLR#到时序和控制器的连接已在印制板上实现,控制存储器和数据通路部分不使用复位信号CLR#。按一次QD按钮,产生一个正的QD启动脉冲。QD和时序部分的连接已在印制板上实现。按一次INTR按钮,产生一个正的单脉冲,可用于作为中断请求信号。INTR到时序部分的连接已在印制板上实现。这三个单脉冲都有插孔对外输出,供用户设计自己的控制器和时序电路时使用。

8.单步、单拍、单指开关DB、DP、DZ

DB(单步)、DP(单拍)、DZ(单指)是三种特殊的非连续工作方式。当DP=1时,计算机处于单拍方式,按一次QD按钮,每次只执行一条微指令,发送一组T1、T2、T3、T4时序脉冲。当DZ=1时,计算机处于单指方式。单指方式只对微程序控制器适用。在单指方式下,按一次QD按钮,计算机执行一条指令。当DB=1时,机器处于单步方式。单步方式只对硬布线控制器适用。在单步方式下,按一次启动按钮QD,发送一组W1、W2、W3、W4时序脉冲。在使用硬布线控制器时,每条指令需要一组W1、W2、W3、W4时序脉冲,因此单步方式实际上是硬布线控制器下的单指方式。DB、DP、DZ这三个双位开关,任何时刻都只允许一个开关置1,决不允许两个或三个开关同时置1。当DB=0且DP=0且DZ=0时,机器处于连续工作方式。

9.控制台方式开关SWC、SWB、SWA

控制台方式开关SWC、SWB、SWA定义了TEC—4计算机组成原理实验系统的五种工作方式,出厂时存在控存中,五种工作方式定义如下:

SWC SWB SWA 工作方式 0 0 0 PR,启动程序 0 0 1 KRD,读双端口存储器 0 1 0 KWE,写双端口存储器 0 1 1 KLD,加载寄存器堆 1 0 0 KRR,读寄存器堆

12

在按CLR#按钮复位后,根据SWC、SWB、SWA选择工作方式。

PR是启动程序方式。在此方式下,首先在SW7—SW0指定启动地址,按启动按钮QD后,启动程序运行。

KRD是读双端口存储器方式。在此方式下,(1)首先在SW7—SW0置好存储器地址:按QD按钮,则将此地址打入地址寄存器AR1,并读出该地址存储器内容到数据总线DBUS。(2)每按一次QD按钮,地址寄存器AR1加1,并读出新地址存储器内容到数据总线DBUS。依次进行下去,直到按复位按钮CLR#为止。

KWE是写双端口存储器方式。在此方式下,(1)首先在SW7—SW0置好存储器地址:按QD按钮,则首先将此地址打入地址寄存器AR1,然后等待输入数据。(2)在SW7—SW0置好数据,按QD按钮,首先写数据到AR1指定的存储器单元,然后地址寄存器AR1加1,等待新的输入数据。依次进行下去,直到按复位按钮CLR#为止。

KLD是加载寄存器堆方式。此方式用于对寄存器堆加载。(1)首先在SW7—SW0置好存储器地址,按QD按钮,则将此地址打入地址寄存器AR1和地址寄存器AR2。(2)在SW7—SW0置好数据,数据的低2位D1、D0为寄存器堆中的寄存器号,按一次QD按钮,则写数据到AR1指定的存储器单元;然后将写入的数据从右端口读出,并送入指令寄存器IR。(3)在SW7—SW0置好数据,该数据为写入寄存器的数据,寄存器号由IR低2位指定。按QD按钮,则首先将此数据写入寄存器ER,然后将ER中的数据写入指定的寄存器。(4)返回(2),依次进行下去,直到按复位按钮CLR#为止。

KRR是读寄存器堆方式。此方式用于读寄存器堆中的寄存器。(1)首先在SW7—SW0置好存储器地址,按QD按钮,则将此地址打入地址寄存器AR1和地址寄存器AR2。(2)在SW7—SW0置好数据,数据的D3、D2位为寄存器堆中的寄存器号,按一次QD按钮,则写数据到AR1指定的存储器单元;然后将写入的数据从右端口读出,并送入指令寄存器IR。同时将IR3、IR2指定的寄存器送往数据总线DBUS。拨动开关IR/DBUS可看到IR的值和IR指定的寄存器的值。(3)返回(2),依次进行下去,直到复位按钮CLR#为止。

八、用户自选器件试验区

13

本计算机组成原理实验系统提供了一个用户自选器件试验区,供流水微程序控制器实验、硬布线控制实验、流水硬布线控制器实验使用。自选器件试验区包括了1个ispLSI1032器件及下载插座,把PC机和下载插座用出厂时提供的下载电缆相连,在PC机上运行ispEXPERT软件,即可对ispLSI1032器件编程和下载。利用ispLSI1032器件,可满足这三个实验中应用的逻辑电路需要。另外,为了增加灵活性,用户自选器件试验区还提供了10个双列直插插座,其中包括2个24引脚插座,3个20引脚插座,2个16引脚插座,3个14引脚插座。

除此之外,TEC—4计算机组成原理实验系统中还提供了3个接地点,供用示波器和万用表测试时使用。

14

据指示灯上,应为80H。照此方法,可依次读出存储器单元l0H、20H、30H、40H的数据 。

(3)读出存储器的数据,写入IR。

令K0(CEL#)=l,K1(LRW)=l,K2(CER)=0,K3(LDAR1)=0,K4(LDAR2)=1,K5 (SW_BUS#)=0,K6(LDIR)=0。将IR/DBUS开关拨到IR位置,将ARl/AR2开关拨到AR2位置。置SW7-SW0=01H,按一次QD按钮,将01H写入AR2,绿色的地址指示灯应显示01H。令K4(LDAR2)=0,K2(CER)=l,K6(LDIR)=1,按一次QD按钮,则从右端口读出存储器的01H单元的数据,读出的数据写入指令寄存器IR,显示在IR数据指示灯上,应为80H。照此方法,可从右端口依次读出存储器单元l0H、20H、30H、40H的数据,写入指令寄存器IR。

(4)双端口存储器的并行读写和访问冲突测试

1.令K0(CEL#)=l,K1(LRW)=l,K2(CER)=0,K3(LDAR1)=l,K4(LDAR2)=0,K5 (SW_BUS#)=0,K6(LDIR)=0。将ARl/AR2开关拨到AR1位置。置SW7-SW0=38H,按一次QD按钮,将38H写入AR1,绿色的地址指示灯应显示38H。令K3(LDAR1)=0,K4(LDAR2)= l,K5(SW_BUS#)=0将ARl/AR2开关拨到AR2位置。置SW7-SW0=38H,按一次QD按钮,将38H写入AR2,绿色的地址指示灯应显示38H。

2. 先令K2(CER)=1,K0(CEL#)=1,用示波器探头(或逻辑笔)测试BUSYL插孔,BUSYL应为高电平。保持K2(CER)不变,将K0(CEL#)拨动到0位置,示波器上(逻辑笔)的BUSYL信号从高电平变为低电平; 再将K0(CEL#)拨到1位置,BUSYL信号从低电平变为高电平。

20

3. 先令K0(CEL#)=0,K2(CER)=0,用示波器探头(逻辑笔)测试BUSYR插孔,BUSYR应为高电平。保持K0(CEL#)不变,将K2(CER)拨动到1位置,示波器上(逻辑笔)的BUSYR信号也从高电平变为低电平; 再将K2(CER)拨到0位置,BUSYL信号也从低电平变为高电平。

21

实验二 运算器组成实验

一、实验目的

(1)掌握算术逻辑运算加、减、乘、与的工作原理。 (2)熟悉简单运算器的数据传送通路。

(3)验证实验台运算器的8位加、减、与、直通功能。 (4)验证实验台的4位乘4位功能。

(5)按给定数据,完成几种指定的算术和逻辑运算。

二、实验电路

图5 运算器数据通路实验电路图

22

图5示出了本实验所用的运算器数据通路图。ALU由l片ispLSI1024构成。四片4位的二选一输入寄存器74HC298构成两个操作数寄存器DR1和DR2,保存参与运算的数据。DR1接ALU的B数据输入端口,DR2接ALU的A数据输入端口,ALU的输出在ispLSI1024内通过三态门发送到数据总线DBUS7-DBUS0上,进位信号C保存在ispLSIl024内的一个寄存器中。当实验台下部的IR/DBUS开关拨到DBUS位置时,8个红色发光二极管指示灯接在数据总线DBUS上,可显示运算结果或输入数据。另有一个指示灯C显示运算器进位信号状态。由ispLSI1024构成的8位运算器的运算类型由选择端S2、S1、S0选择,功能如表3所示。

表3 运算器运算类型选择表 选 择 S2 S1 S0 0 0 0 0 1

进位C只在加法运算和减法运算时产生,与、乘、直通操作不影响进位C的状态,即进位C保持不变。减法运算采用加减数的反码再加以1实现。在加法运算中,C代表进位;在减法运算中,C代表借位。运算产生的进位在T4的上升沿送入ispLSIl024内的C寄存器保存。

0 0 1 1 0

0 1 0 1

A & B A & A(直通) A + B A - B 操 作

0 A(低4位) X B(低4位)

23

在SW-BUS#信号为0时,参与运算的数据通过一个三态门74HC244(SW_BUS)送到DBUS总线上,进而送至DR1或DR2操作数寄存器。输入数据可由实验台上的8个二进制数据开关SW0_SW7来设置,其中SW0是最低位,SW7是最高位。开关向上时为l,开关向下时为0。

图中尾巴上带粗短线标记的信号都是控制信号,控制信号均为电位信号。T3、T4是脉冲信号,印制板上已连接到实验台的时序电路产生的T3、T4信号上。S2、S1、S0、ALU_BUS、LDDR2、LDDR1、M1、M2、SW_BUS#各电位控制信号用电平开关K0—K15来模拟。K0—K15是一组用于模拟各控制电平信号的开关,开关向上时为1,开关向下时为0,每个开关无固定用途,可根据实验具体情况选用。S2、S1、S0、ALU_BUS、LDDR2、LDDR1为高电平有效,SW_BUS#为低电平有效。M1 = 1时,DR1选择D1—A1作为数据输入端;M1 = 0时,DR1选择D0—A0作为数据输入端。当LDDR1 = 1时,在T3的下降沿,选中的数据被打入DR1寄存器。M2 = 1时,DR2选择Dl—A1作为数据输入端;M2 = 0时,DR2选择D0—A0作为数据输入端。当LDDR2 = 1时,在T3的下降沿,选中的数据被打入DR2寄存器。

数据总线DBUS有5个数据来源:运算器ALU,寄存器堆RF,控制台开关SW0—SW7,双端口存储器IDT7132和中断地址寄存器IAR。在任何时刻,都不允许2个或者2个以上的数据源同时向数据总线DBUS输送数据,只允许1个(或者没有)数据源向数据总线DBUS输送数据。在本实验中,为了保证数据的正确设置和观察,请令RS_BUS# = 1,LRW = 0,IAR_BUS# = 1。

为了在实验中,每次只产生一组T1、T2、T3、T4脉冲,需将实

24

验台上的DP、DB、DZ开关进行正确设置。将DP开关置1,将DB,DZ开关置0,每按一次QD按钮,则顺序产生T1、T2、T3、T4各一个单脉冲。本实验中采用单脉冲输出。

三、实验设备

(1)TEC-4计算机组成原理实验系统l台 (2)双踪示波器一台 (3)直流万用表一只 (4)逻辑测试笔一支

四、实验任务

(1)按图6所示,正确连接运算器模块与实验台上的电平开关K0—K15。由于运算器的C和C指示灯、8位数据开关SW0—SW7、T3、T4的连线已由印制电路板连好,故接线任务仅仅是完成有关控制信号与电平开关K0—K15的连线。正确设置开关DZ、DB、DP。用数据开关SW0—SW7向DR1和DR2寄存器置数。

1.置ALU_BUS = 0,关闭ALU向数据总线DBUS的输出;置SW_BUS# = 0,开启数据开关SW0—SW7向数据总线DBUS的输出。注意,对于数据总线DBUS(或者其他任何总线),在任一时刻,只能有一个数据源向它输出。置IR/DBUS开关于DBUS位置,在数据开关SW0—SW7上设置各种数据,观察数据指示灯状态是否与数据开关状态一致。

2.置M1 = 1,选择DBUS作为DR1的数据源;置LDDR1 = 1,按QD按钮,则将DBUS的数据打入DR1。置M2 = 1,选择DBUS作

25

为DR2的数据源;置LDDR2 = 1,按QD按钮,则将DBUS的数据打入DR2。向DR1存入01010101,向DR2存入10101010。 3.置SW_BUS# = 1,关闭数据开关SW0—SW7对数据总线DBUS的输出;置ALU_BUS = 1,开启ALU对DBUS的输出。选择S2 = 0,S1 = 0,S0 = 1,使运算器进行直通运算,通过DBUS指示灯验证DR2中的内容是否为第2步设置的值。令S2 = 0,S1= l,S0 = 0,使运算器进行加运算,通过DBUS指示灯验证DR1中的内容是否为第2步设置的值。在表4中填入控制信号状态与DBUS显示状态。

表4 DR1、DR2设置值检查

ALU_BUS SW_BUS# 寄存器内容 S2 S1 S0 DBUS DR1(01010101) DR2(10101010) DR1(01010101) DR2(10101010) (2)验证运算器的算术运算和逻辑运算功能。

1.令DR1 = 01100011B,DR2 = 10110100B,正确选择S2、S1、S0,依次进行加、减、与、直通、乘实验,记下实验结果(数据和进位)并对结果进行分析。

2.令DR1 = 10110100B,DR2 = 01100011B,正确选择S2、S1、S0,依次进行加、减、与、直通、乘实验,记下实验结果(数据和进位)并对结果进行分析。

3.令DR1 = 01100011B,DR2 = 01100011B,正确选择S2、S1、S0,依次进行加、减、与、直通、乘实验,记下实验结果(数据和进位)并对结果进行分析。

26

4.令DR1 = 01001100B,DR2 = 10110011B,正确选择S2、S1、S0,依次进行加、减、与、直通、乘实验,记下实验结果(数据和进位)并对结果进行分析。

5.令DR1 = 11111111B,DR2 = 11111111B,正确选择S2、S1、S0,依次进行加、减、与、直通、乘实验,记下实验结果(数据和进位)并对结进行分析。

(3)Ml、M2控制信号的作用是什么?改变Ml、M2的高低电平,重复第(2)步,观察出现什么问题?

五、实验步骤和实验结果

(1)实验任务(1)的实验步骤及结果如下: 1.接线

将IAR_BUS#接VCC,RS_BUS#接VCC,LRW接GND,禁止中断地址寄存器IAR、寄存器堆RF、双端口存储器向数据总线DBUS送数。也可以通过将CEL#接VCC禁止双端口存储器向数据总线DBUS送数。将SW_BUS#接K0,将ALU_BUS接K1,S0接K2,S1接K3,S2接K4,LDDR1接K5,LDDR2接K6,M1接VCC,M2接VCC。

2.置开关DB = 0,DZ = 0,DP = 1,使实验系统处于单拍状态。 3.合上实验台电源。按复位按钮CLR#,使实验系统处于初始状态。

27

4.置K0(SW_BUS#) = 0,K1(ALU_BUS) = 0。置开关SW7—SW0为01010101B。将开关IR/DBUS拨到DBUS位置,红色数据指示灯应显示01010101B。它指示的是数据总线DBUS的值。

5.置K5(LDDR1) = 1,K6(LDDR2) = 0。按一次QD按钮,将01010101B置入DR1。

6.置K5(LDDR1) = 0,K6(LDDR2) = 1。将数据开关SW7—SW0置为10101010B,红色数据指示灯应显示10101010B。按一次QD按钮,将10101010B置入DR2。

7.置K6(LDDR2) = 0,置K0(SW_BUS#) = 1,关闭数据开关SW0—SW7对数据总线DBUS的输出;置K1(ALU_BUS) = 1,开启ALU对DBUS的输出。置K4(S2) = 0、K3(S1) = 0、K2(S0) = 1,使运算器进行直通运算。红色数据指示灯应显示10101010B。这表示DR2置数正确。置K4(S2) = 0、K3(S1) = l、K2(S0) = 0,使运算器进行加运算,红色数据指示灯应显示 11111111B。这表示DR1中的数确实是01010101B。

注意:运算开始前应将LDDR1和LDDR2关闭,以保证运算结果及C的正确。

(2)以上是实验内容(1)的实验步骤和实验结果,对于实验内容(2),可仿照办理。

欲察看C的值,需按一次QD按钮。实验内容(2)的实验结果如下:

1.令DR1 = 01100011B,DR2 = 10110100B,加的结果是00010111B,C = 1;减的结果是01010001B,C = 0;与的结果是00100000B,C

28

不变;直通的结果是 10110100B,C不变;乘的结果是00001100B(DR1的低4位乘DR2的低4位),C不变。

2.令 DR1 = 10110100B,DR2 = 01100011B,加的结果是00010111B,C = l;减的结果是10101111B,C = l;与的结果是00100000B,C不变;直通的结果是01100011B,C不变;乘的结果是00001100B,C不变。

3.令DR1 = 01100011B,DR2 = 01100011B,加的结果是11000110B,C=0;减的结果是00000000B,C=0;与的结果是01100011B, C不变; 直通的结果是 01100011B,C不变;乘的结果是00001001B,C不变。

4.令DR1=01001100,DR2 = 10110011,加的结果是11111111B,C=0,减的结果是01100111B,C=0;与的结果是00000000B,C不变;直通的结果是10110011B,C不变;乘的结果是 00100100B,C不变。

5.令DR1 = 11111111B,DR2 = 11111111B,加的结果是11111110B,C = 1;减的结果是00000000B, C不变;与的结果是11111111B,C不变;直通的结果是11111111B,C不变;乘的结果是 11100001B,C不变。

(3)M1用于选择 DR1的数据输入源。M1 = 1时,DR1选择D1—A1作为数据输入端;M1 = 0时,DR1选择D0—A0作为数据输入端。M2用于选择DR2的数据输入源。M2 = 1时,DR2选择D1—A1作为数据输入端;M2 = 0时,DR2选择D0—A0作为数据输入端。在做实验内容(2)时,如果将M1或者M2由接VCC改为接GND,则DR1或者DR2选择寄存器堆作为数据输入源。由于没有给寄存器

29

堆中的寄存器置数,因此寄存器的内容处于不可知状态。因此在M1 = 0或者M2 = 0时,进行实验内容(2),结果将是无法预知的。

实验三 数据通路(总线)实验

一 、实验目的

(1)将双端口通用寄存器堆和双端口存储器模块联机; (2)进一步熟悉计算机的数据通路;

(3)掌握数字逻辑电路中故障的一般规律,以及排除故障的一般原则和方法; (4)锻炼分析问题与解决问题的能力,在出现故障的情况下,独立分析故障现象,并排除故障。

二、实验电路

图6示出了数据通路实验电路图,它是将双端口存储器实验模块和一个双端口通用寄存器堆模块(RF)连接在一起形成的。双端口存储器的指令端口不参与本次实验。通用寄存器堆连接运算器模块,本实验涉及其中的操作数寄存器DR2。

由于双端口存储器RAM是三态输出,因而可以将它直接连接到数据总线DBUS上。此外,DBUS上还连接着双端口通用寄存器堆。这样,写入存储器的数据可由通用寄存器提供,而从存储器RAM读出的数据也可送到通用寄存器堆保存。

双端口存储器RAM已在存储器原理实验中做过介绍,DR2运算器实验中使用过。通用寄存器堆RF(U32)由一个ISP1016实现,功能上与两个4位的MC14580并联构成的寄存器堆类似。RF内含四个8位的通用寄存器R0、RI、

30

R2、R3,带有一个写入端口和两个输出端口,从而可以同时写入一路数据,读出两路数据。写入端口取名为WR端口,连接一个8位的暂存寄存器(U14)ER,这是一个74HC374。输出端口取名为RS端口(B端口)、RD端口(A端口),连接运算器模块的两个操作数寄存器DR1、DR2。RS端口(B端口)的数据输出还可通过一个8位的三态门RS0(U15)直接向DBUS输出。

双端口通用寄存器堆模块的控制信号中,RS1、RS0用于选择从RS端口(B端口)读出的通用寄存器,RD1、RD0用于选择从RD端口(A端口)读出的通用寄存器。而WR1、WR0则用于选择从WR端口写入的通用寄存器。WRD是写入控制信号,当WRD=1时,在T2上升沿的时刻,将暂存寄存器ER中的数据写入通用寄存器堆中由WR1、WR0选中的寄存器;当WRD=0时,ER中的数据不写入通用寄存器中。LDER信号控制ER从DBUS写入数据,当LDER=1时,在T4的上升沿,DBUS上的数据写入ER。RS_BUS#信号则控制RS端口到DBUS的输出三态门,是一个低电平有效信号。以上控制信号各自连接一个二进制开关K0—Kl5。

图6 数据通路实验电路图

31

32

三、实验设备

(1)TEC-4计算机组成原理实验仪一台 (2)双踪示波器一台 (3)直流万用表一只 (4)逻辑测试笔一支

四、实验任务

(1)将实验电路与控制台的有关信号进行线路连接,方法同前面的实验。

(2)用8位数据开关向RF中的四个通用寄存器分别置入以下数据:R0=0FH,R1=0F0H,R2=55H,R3=0AAH。

给R0置入0FH的步骤是:先用8位数码开关SW0—SW7将0FH置入ER,并且选择WR1=0、WR0=0、WRD=1,再将ER的数据置入RF。给其他通用寄存器置入数据的步骤与此类似。

(3)分别将R0至R3中的数据同时读入到DR2寄存器中和DBUS上,观察其数据是否是存入R0至R3中的数据,并记录数据。其中DBUS上的数据可直接用指示灯显示,DR2中的数据可通过运算器ALU,用直通方式将其送往DBUS。

(4)用8位数码开关SW0—SW7向AR1送入一个地址0FH,然后将R0中的0FH写入双端口RAM。

用同样的方法,依次将R1至R3中的数据写入RAM中的0F0H,55H,0AAH单元。 (5)分别将RAM中0AAH单元的数据写入R0,55H单元的数据写入R1,0F0H单元写入R2,0FH单元写入R3。然后将R3,R2,R1,R0中的数据读出到DBUS上,通过指示灯验证读出的数据是否正确,并记录数据。

(6)进行RF并行输入输出试验。

1.选择RS端口(B端口)对应R0,RD端口(A端口)对应R1,WR端口对应R2,并使WRD=l,观察并行输入输出的结果。选择RS端口对应R2,验证刚才的写入是否生效。记录数据。

2.保持RS端口(B端口)和WR端口同时对应R2,WRD=1,而ER中置入新的数据,观察并行输入输出的结果,RS端口输出的是旧的还是新的数据?

(7)在数据传送过程中,发现了什么故障? 如何克服的?

33

五、实验步骤与实验结果

(1)接线

IAR_BUS#接VCC,禁止中断地址寄存器IAR向数据总线DBUS送数据。CER接GND,禁止存储器右端口工作。AR1_INC接GND,禁止AR1加1。S2接GND,S1接GND,S0接VCC,使运算器ALU处于直通方式。M2接GND,使DR2选择寄存器堆RF作为数据来源。置DP = 1,DZ = 0,DB = 0,使实验系统开机后处于单拍状态。

K0接SW_BUS#,K1接RS_BUS#,K2接ALU_BUS,K3接CEL#,K4接LRW,K5接LDAR1,K6接LDDR2,K7接LDER,K8接RS0,K9接RS1,K10接RD0,K11接RD1,K12接WR0,K13接WR1,K14接WRD。

合上电源。按CLR#按钮,使实验系统处于初始状态。

(2)向RF中的四个通用寄存器分别置入数据

令K1(RS_BUS#)= 1, K2(ALU_BUS)= 0,K3(CEL#)= 1,K4(LRW)= 1,K5(LDAR1)= 0,K6(LDDR2)= 0,K8(RS0)= 0,K9(RS1)= 0,K10(RD0)= 0,K11(RD1)= 0,K12(WR0)= 0,K13(WR1)= 0,K14(WRD)= 0。

令K0(SW_BUS#)= 0,K7(LDER)= 1。置SW7—SW0为0FH,按一次QD按钮,将0FH写入暂存寄存器ER。令K7(LDER)= 0,K14(WRD)= 1,K12(WR0)= 0,K13(WR1)= 0,按一次QD按钮,将0FH(在ER中)写入R0寄存器。

令K0(SW_BUS#)= 0,K7(LDER)= 1。置SW7—SW0为F0H,按一次QD按钮,将F0H写入暂存寄存器ER。令K7(LDER)= 0,K14(WRD)= 1,K12(WR0)= 1,K13(WR1)= 0,按一次QD按钮,将F0H(在ER中)写入R1寄存器。

令K0(SW_BUS#)= 0,K7(LDER)= 1。置SW7—SW0为55H,按一次QD按钮,将55H写入暂存寄存器ER。令K7(LDER)= 0,K14(WRD)= 1,K12(WR0)= 0,K13(WR1)= 1,按一次QD按钮,将55H(在ER中)写入R2寄存器。

令K0(SW_BUS#)= 0,K7(LDER)= 1。置SW7—SW0为0AAH,按一次QD按钮,将AAH写入暂存寄存器ER。令K7(LDER)= 0,K14(WRD)= 1,K12(WR0)= 1,K13(WR1)= 1,按一次QD按钮,将AAH(在ER中)写入R3寄存器。

34

或硬联线控制器的一拍,而一轮W1-W4循环可供硬联线控制器执行一条机器指令。

本实验不涉及硬联线控制器。微程序控制器只使用时序信号T1-T4,产生T信号的功能集成在GAL22VlO芯片TIMER1(U6)中,另外它还产生节拍信号W1、W2、W3、W4的控制时钟CLK1。

TIMER1的输入信号中,MF接实验台上晶体振荡器的输出,频率为1MHz。T1至T4的脉冲宽度为100ns。CLR(注意,实际上是控制台上的CLR#信号,因为ABEL语言的书写关系改为CLR,仍为低有效信号)为复位信号,低有效。实验仪处于任何状态下令CLR# = 0,都会使时序发生器和微程序控制器复位(回到初始状态),CLR# = l时,则可以正常运行。复位后时序发生器停在T4、W4状态,微程序地址为000000B。建议每次实验仪加电后,先用CLR#复位一次。控制台上有一个CLR#按钮,按一次,产生一个CLR#负脉冲,实验台印制板上已连好控制台CLR#到时序电路CLR的连线。

TJ(停机)是控制器的输出信号之一。连续运行时,如果控制信号TJ = l,会使机器停机,停止发送时序脉冲T1-T4、W1-W4,时序停在T4。在实验台上为了将时序信号发生器的输入信号TJ和控制存储器产生的TJ信号区分开来,以便于连线操作,在实验台上时序信号发生器的输入信号TJ命名为TJI,而控制存储器产生的信号TJ仍命名为TJ。QD(启动)是来自启动按钮QD的脉冲信号,在TIMER1中,对QD用MF进行了同步,产生QD1和QD2。ACT表示QD1上升沿,表达式是QDl&!QD2,脉冲宽度为1000ns。QDR是运行标志,QD信号使其为l,CLR信号将其置0。DP(单拍)是来自控制台的DP开关信号,当DP = l时,机器处于单拍运行状态,按一次启动按钮QD,只发送一条微指令周期的时序信号就停机。利用单拍方式,每次只执行一条微指令,因而可以观察微指令代码和当前微指令的执行结果。DZ(单指)信号是针对微程序控制器的,接控制台开关DZ和P1信号配合使用。Pl是微指令字判断字段中的

40

一个条件信号,从微程序控制器输出。Pl信号在微程序中每条机器指令执行结束时为l,用于检测有无中断请求INTQ,而时序发生器用它来实现单条机器指令停机。在DB = 0且DP = 0的前提下,当DZ = 0时,机器连续运行。当DZ = 1时,机器处于单指方式,每次只执行一条机器指令。

DB、SKIP、CLK1信号以及W1-W4时序信号都是针对硬布线控制器的。W1-W4是节拍信号,硬布线控制器执行一条机器指令需要一组W1-W4信号。DB(单步)信号就是每次发送一组W信号后停机,可见其功能与DZ类似。执行某些机器指令不需要完整的一组W信号周期,SKIP信号就是用来跳过本指令剩余的W节拍信号的。中断允许标志IE由控制存储器的输出信号INTS将其置1,由控制存储器的输出信号INTC将其置0。在TIMER2内部,控制台产生的中断请求用时钟CLK1进行同步,产生了INTR1。只有在INTE = l时,控制台产生的中断请求脉冲INTR才能起作用,即产生向控制器输出中断信号INTQ,INTQ = INTE & INTR1。

2.数据通路

微程序控制器是根据数据通路和指令系统来设计的。这里采用的数据通路是在综合前面各实验模块的基础上,又增加程序计数器PC(U18)、地址加法器ALU2(U17)、地址缓冲寄存器R4(U25、U26)和中断地址寄存器IAR(U19)。PC和ALU2各采用一片GAL22V10,两者配合使用,可完成程序地址的存储、增1和加偏移量的功能。R4由两片74HC298组成,带二选一输入端。IAR是一片74HC374,用于中断时保存断点地址。

3.微指令格式与微程序控制器电路

根据给定的12条机器指令功能和数据通路总体图的控制信号,采用的微指令格式见下图。微指令字长共35位。其中顺序控制部分10位(后继微地址6

41

位,判别字段4位),操作控制字段25位,各位进行直接控制。微指令格式中,信号名带有后缀“#”的信号为低有效信号,不带有后缀“#”的信号为高有效信号。

图8 微指令格式

对应微指令格式,微程序控制器的组成如下图所是示:

图9 微程序控制器的组成

42

控制存储器采用5片EEPROM 28C64(U8,U9,U10,U11,U12)。28C64的输出是D0-D7,分别与引脚11、12、13、15、16、17、18、19相对应,CM0是最低字节,CM4是最高字节。微地址寄存器6位,用一片6D触发器74HC174(U1)组成,带有清零端。两级与门、或门构成微地址转移逻辑,用于产生下一微指令的地址。在每个T1上升沿时刻,新的微指令地址会打入微地址寄存器中,控制存储器随即输出相应的微命令代码。微地址转移逻辑生成下一地址,等下一个T1上升沿时打入微地址寄存器。跳转开关JUMP(J1)是一组6个跳线开关。当用短路子将它们连通时,微地址寄存器μAR从本实验系统提供的微程序地址译码电路得到新的微程序地址μD0-μD5。当他们被断开时,用户提供自已的新微程序地址μD0-μD5。这样用户能够使用自己设计的微程序地址译码电路。5片EEPROM的地址A6(引脚4)直接与控制台开关SWC连接,当SWC = 1时,微地址大于或者等于40H,当SWC = 0时,微地址的范围00H-3FH。SWC主要用于实现读寄存器堆的功能。

微地址转移逻辑的多个输入信号中,INTQ是中断请求,本实验中可以不理会它。SWA、SWB是控制台的两个二进制开关信号,实验台上线已接好。C是进位信号,IR7-IR4是机器指令代码,由于本次实验不连接数据通路,这些信号都接到二进制开关K0—Kl5上。

三 、机器指令与微程序

为了在教学中简单明了,本实验仪使用12条机器指令,均为单字长(8位)指令。

43

表5 指令功能与格式

名 称 助 记 符 功 能 指 令 格 式 IR7 IR6 IR5 IR4 加法 减法 乘法 逻辑与 存数 取数 ADD Rd, Rs SUB Rd, Rs MUL Rd, Rs AND Rd, Rs Rd+Rs->Rd Rd-Rs->Rd Rd*Rs->Rd 0 0 0 0 IR3 IR2 RS1 RS0 IR1 IR0 RD1 RD0 0 0 0 1 RS1 RS0 RD1 RD0 0 0 1 0 RS1 RS0 RD1 RD0 RS1 RS0 RD1 RD0 RS1 RS0 RD1 RD0 RS1 RS0 RD1 RD0 RS1 RS0 X X D3 D2 D1 D0 Rd&Rs->Rd 0 0 1 1 0 1 0 0 0 1 0 1 1 0 0 0 STA Rd, [Rs] Rd->[Rs] LDA Rd, [Rs] [Rs]->Rd [Rs]->PC 无条件转移 JMP [Rs] 条件转移 JC D 若 C = 1 则 1 0 0 1 PC+D->PC 停机 中断返回 开中断 关中断 STP IRET INTS INTC 暂停运行 返回中断 允许中断 禁止中断 0 1 1 0 1 0 1 0 1 0 1 1 1 1 0 0 X X X X X X X X X X X X X X X X 指令功能及格式如表所示。指令的高4位提供给微程序控制器,低4位提供给数据通路。

应当指出,用以上12条指令来编写实际程序是不够的。好在我们的目的不是程序设计,而主要是为了教学,通过CPU执行一些最简单的程序来掌握微程序控制器的工作原理。

上述12条指令的微程序流程设计如下图所示。每条微指令可按前述的微指令格式转换成二进制代码,然后写入5个28C64中。

44

图10 微程序控制流程图

为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还设计了以下五个控制台操作微程序:

存储器写操作(KWE):按下复位按钮CLR#后,微地址寄存器状态为全零。此时置SWC = 0、SWB =1、SWA = 0,按启动按钮后微指令地址转入27H,从而可对RAM连续进行手动写入。

存储器读操作(KRD):按下复位按钮CLR#后,置SWC = 0,SWB = 0,SWA = 1,按启动按钮后微指令地址转入17H,从而可对RAM连续进行读操作。

写寄存器操作(KLD):按下复位按钮CLR#后,置SWC = 0,SWB = 1,SWA = 1,按启动按钮后微指令地址转入37H,从而可对寄存器堆中的寄存器连续进行写操作。

45

读寄存器操作(KRR):按下复位按钮CLR#后,置SWC = 1,SWB = 0,SWA = 0,按启动按钮后微指令地址转入47H,从而可对寄存器堆中的寄存器连续进行读操作。

启动程序(PR):按下复位按钮CLR#后,置SWC = 0,SWB = 0,SWA = 0,用数据开关SW7-SW0设置内存中程序的首地址,按启动按钮后微指令地址转入07H,然后转到“取指”微指令。

应当着重指出,在微指令格式的设计过程中,对数据通路所需的控制信号进行了归并和化简。细心的同学可能已经发现,微程序控制器输出的控制信号远远少于数据通路所需的控制信号。这里提供的微程序流程图是没有经过归并和化简的。仔细研究一下微程序流程图,就会发现有些信号出现的位置完全一样,这样的信号用其中一个信号就可以代表。请看信号LDPC和LDR4,这两个信号都在微程序地址07H,1AH,1FH,26H出现,而在其他的微程序地址都不出现,因此这两个信号产生的逻辑条件是完全一样的。从逻辑意义上看,这两个信号的作用是产生新的PC,完全出现在相同的微指令中是很正常的,因此用LDPC完全可以代替LDR4。还有另一些信号,例如LDDR1和LDDR2,出现的位置基本相同。LDDR2和LDDR1的唯一不同是在地址14H的微指令中,出现了LDDR2信号,但是没有出现LDDR1信号。LDDR1和LDDR2是否也可以归并成一个信号呢?答案是肯定的。微程序流程图中只是指出了在微指令中必须出现的信号,并没有指出出现其他信号行不行,这就要根据具体情况具体分析。在地址14H的微指令中,出现LDDR1信号行不行呢?完全可以。在地址14H出现的LDDR1是一个无用的信号,同时也是一个无害的信号,它的出现完全没有副作用,因此LDDR1和LDDR2可以归并为一个信号LDDR1。根据以上两条原则,我们对下列信号进行了归并和化简:

LDIR(CER) 为1时,允许对IR加载,此信号也可用于作为双端口

存储器右端口选择CER。

46

LDPC(LDR4) 为l时,允许对程序计数器PC加载,此信号也可用于作

为R4的加载允许信号LDR4。

LDAR1(LDAR2) 为l时,允许对地址寄存器AR1加载,此信号也可用于

作为对地址寄存器AR2加载。

LDDR1(LDDR2) 为1时允许对操作数寄存器DR1加载。此信号也可用于

作为对操作数寄存器DR2加载。

Ml(M2) 当M1 = l时,操作数寄存器DR1从数据总线DBUS接

收数据;当M1 = 0时,操作数寄存器DR1从 寄存器堆RF接收数据。此信号也可用于作为操作数寄存器DR2的数据来源选择信号。

在对微指令格式进行归并和化简的过程中,我们有意保留了一些信号,没有化简,同学们可以充分发挥创造性,提出更为简单的微指令格式。

还要说明的是,为什么微指令格式可以化简,而实验台数据通路的控制信号为什么不进行化简?最主要的原因是前面进行的各个实验的需要,例如LDDR1和LDDR2这两个信号,在做运算器数据通路实验时,是不能设计成一个信号的。还有一个原因是考虑到实验时易于理解,对某些可以归并的信号也没有予以归并。

四、实验设备

(1)TEC-4计算机组成原理实验系统一台 (2)直流万用表一只 (3)逻辑测试笔一支

五、实验任务

47

(1)按实验要求,连接实验台的开关K0—K15、按钮开关、时钟信号源和微程序控制器。

注意:本次实验只做微程序控制器本身的实验,故微程序控制器输出的微命令信号与执行部件(数据通路)的连线暂不连接。连线完成后应仔细检查一遍,然后才可加上电源。

(2)熟悉微指令格式的定义,按此定义将控制台指令微程序的8条微指令按十六进制编码,列于下表。三种控制台指令的功能由SWC,SWB,SWA三个二进制开关的状态来指定(KRD = 001B,KWE = 010B,PR = 000B)。

微指令地址 微指令编码 00H 07H 27H 3DH

单拍(DP)方式执行控制台微程序,读出上述八条微指令,用P字段和微地址指示灯跟踪微指令执行情况。并与上表数据对照。

(3)用P3和SWC、SWB、SWA的状态组合,观察验证三种控制台指令KRD、KWE、PR微地址转移逻辑功能的实现。

(4)熟悉05H、10H两条微指令的功能和P2测试的状态条件(IR4-IR7),用二进制开关设置IR7-IR4的不同状态,观察SUB、LDA、STA、JUMP机器指令微地址转移逻辑功能的实现。(用逻辑笔测试有关逻辑电路的电平,分别做出测试记录。)

(5)设置IR7-IR4的不同组合,用单拍方式执行SUB、LDA、STA、JUMP机器指令微程序,用微地址和P字段指示灯跟踪微程序转移和执行情况。用逻辑笔测试小插座上输出的微命令信号,记录SUB、LDA、STA、JUMP四条机

48

微指令地址 微指令编码 3CH 17H 3FH 3EH 0405C8003D 000544003F 0409C0003E 0005C8003F 0005C00207 0005412005 040544003D 000140003C 器指令的微命令信号。

六、实验步骤

(1)接线

跳线开关J1用短路子短接。控制器的输入C接K0,IR4接K1,IR5接K2,IR6接K3,IR7接K4,TJI接K5,SKIP接GND。

合上电源。按CLR#按钮,便实验系统处于初始状态。

(2)用P3和SWC、SWB、SWA的状态组合,观察验证三种控制台指令KWE、KRD、PR微地址转移逻辑功能的实现。

将时序电路的输入TJI与控制存储器的输出TJ连接,置DP = l,DB = 0,DZ = 0。选择SWC = 0、SWB = 0、SWA = l,按QD按钮,验证KRD的微地址转移功能;选择SWC = 0、SWB = l、SWA = 0,按QD按钮,验证KWE的微地址转移功能;选择SWC = 0、SWB = 0、SWA =0,按QD按钮,验证PR的微地址转移功能。这里不再详述。

(3)熟悉地址05H、10H两条微指令的功能和P2测试的状态条件(IR4-IR7),用二进制开关设置IR7-IR4的不同状态,观察SUB、LDA、STA、JUMP机器指令微地址转移逻辑功能的实现。

1.05H微指令的功能是根据程序计数器PC从存储器取指令,送往指令寄存器IR,同时进行PC + 1的操作。05H微指令的下一微指令地址是10H。不过,10H只是一个表面的下一微地址,由于该微指令中P2 = 1,因此实际的微指令地址的低4位要根据IR7-IR4确定,实际微地址为10H + IR7 IR6 IR5 IR4。

49

本文来源:https://www.bwwdw.com/article/pxka.html

Top