2023年12月30日发(作者:植物妈妈有办法)
实验一 运算器组成实验
一、实验目的
1.熟悉双端口通用寄存器堆(组)的读写操作。
2.熟悉简单运算器的数据传送通路。
3.验证运算器74LS181的算术逻辑功能。
4.按给定数据,完成指定的算术、逻辑运算。
二、实验原理
上图是本实验所用的运算器数据通路图。参与运算的数据首先通过实验台操作板上的八个二进制数据开关SW7-SW0来设置,然后输入到双端口通用寄存器堆RF中。
RF由一个ispLSI1016实现,功能上相当于四个8位通用寄存器,用于保存参与运算的数据,运算后的结果也要送到RF中保存。双端口寄存器堆模块的控制信号中,RS1、RS0用于选择从B端口(右端口)读出的通用寄存器,RD1、RD0用于选取从A端口(左端口)读出的通用寄存器。而WR1、WR0用于选择写入的通用寄存器。LDRi是写入控制信号,当LDRi=1时,数据总线DBUS上的数据在T3写入由WR1、WR0指定的通用寄存器。RF的A、B端口分别与操作数暂存器DR1、DR2相连:另外,RF的B端口通过一个三态门连接到数据总线DBUS上,因而RF中的数据可以直接通过B端口送到DBUS上。
DR1和DR2各由1片74LS273构成,用于暂存参与运算的数据。DR1接ALU的A输入端口,DR2接ALU的B端口。ALU由两片74LS181构成,ALU的输出通过一个三态门(74LS244)发送到数据总线DBUS上。
图中尾巴上带粗短线标记的信号都是控制信号,其中S3,S2,Sl,S0,M,Cn#,LDDR2,LDDRl, ALU-BUS#,SW-BUS#、LDRi、RS1、RS0、RD1、RD0、WR1、WR0等是电位信号,用电平开关K0—Kl5来模拟。T2、T3是脉冲信号,印制板上已连接到实验台的时序电路上。#为低电平有效。K0—K15是一组用于模拟各控制电平信号的开关,开关向上时为1,开关向下时为0,每个开关无固定用途,可根据实验具体情况选用。
实验中进行单拍操作,每次只产生一组Tl,T2,T3,T4脉冲,需将实验台上的DP,DB开关进行正确设置。将DP开关置l,将DB开关置0,每按一次QD按钮,则顺序产生Tl、T2、T3、T4各一个单脉冲。
三、实验任务
1.按图要求,将运算器模块与实验台操作板上的线路进行连接。
置DP=1,DB=0,编程开关拨到正常位置.
数据通路
电平开关
WR0
K0
WR1
K1
RS0
K2
RS1
K3
SW_BUS# RS_BUS#
K4 K5
LDRi
K6
2.用开关SW7-SW0向通用寄存器堆RF内的R0-R3寄存器置数34H、21H、52H、65H。然后读出R0-R3的内容,在数据总线DBUS上显示出来。
3.令DR1=55H、DR2=0AAH、Cn#=1,验证ALU的正逻辑算术、逻辑运算功能。
四、实验要求
1.做好实验预习。掌握运算器的数据传送通路和ALU的功能特性,并熟悉本实验中所用的控制台开关的作用和使用方法。
2.认真细致完成实验,填写实验一表1、实验一表2。
3.写出实验报告,分析实验结果并简述心得体会。
实验二 双端口存储器原理实验
一 、实验目的
1.了解双端口静态随机存储器IDT7132的工作特性及使用方法。
2.了解半导体存储器怎样存储和读出数据。
3.了解双端口存储器怎样并行读写,并分析冲突产生的情况。
二、实验原理
图示双端口存储器的实验电路图。这里使用了一片IDT7132(2048×8位),两个端口的地址输入A8—Al0引脚接地,因此实际使用存储容量为256字节。左端口的数据部分连接数据总线DBUS7-DBUS0,右端口的数据部分连接指令总线INS7-INS0。
存储器IDT7132有6个控制引脚:CEL#、LR/W#、OEL#、CER#、RR/W#、OER#。CEL#、LR/W#、OEL#控制左端口读、写操作;CER#、RR/W#、OER#控制右端口读、写操作。CEL#为左端口选择引脚,低电平有效。当CER#=1时,禁止左端口读、写操作;当CER#=0时,允许左端口读、写操作。当LR/W#为高时,左端口进行
读操作;当LR/W#为低时,左端口进行写操作。当OER#为低时,将左端口读出的数据放到数据总线DBUS上;当OER#为高时,禁止左端口读出的数据放到数据总线DBUS上。CER#、RR/W#、OER#控制右端口读、写操作的方式与CEL#、LR/W#、OER#控制左端口读、写操作的方式类似,当CEL#=0且LR/W#=l时,左端口进行读操作,同时将读出的数据放到数据总线DBUS上(以后将OEL#称为RAM_BUS#)。
有两点需要说明:(1)右端口读出的数据(更确切的说法是指令)放到指令总线IBUS上而不是数据总线DBUS上。(2)所有数据/指令的写入都使用左端口,右端口作为指令端口处理成一个只读端口(实验台上OER#已固定接地,RR/W#固定接高电平)。
存储器左端口的地址寄存器AR和右端口的地址寄存器PC都使用2片74LS163,具有地址递增的功能。同时,PC在以后的实验当中也起到程序计数器的作用。左右端口的数据和左右端口的地址都有特定的显示灯显示,存储器得知和写入数据都由实验台操作板上的二进制开关分时给出。
当LDAR#=0时,AR在T2时从DBUS接收来自SW7-SW0的地址;当AR+1=1时,在T2存储器地址加1。LDAR#和AR+1不能同时有效。在下一个时钟周期,令CEL#=0、LR/W#=0,则在T2的上升沿开始进行写操作,将SW7-SW0设置的数据经DBUS写入存储器。
三、实验任务
1.按电路图要求,将有关控制信号和二进制开关对应接好,反复检查后接通电源。
编程开关拨到正常位置;置DP=1,DB=0;AR+1和PC+1两个信号接地。
数据通路 LDAR#
电平开关 K0
LDPC#
K1
CEL#
K2
LR/W# RAM_BUS# CER#
K3 K4 K5
SW_BUS#
K6
2.将二进制数码开关SW7-SW0(SW0为最低位)设置为00H,将其他作为存储器地址置入AR;然后将二进制开关的00H作为数据写入RAM中,用这个方法向存储器的10H、20H、30H、40H单元依次写入10H、20H、30H、40H。
3.使用存储器的左端口,依次将第2步存入的5个数据读出,观察各单元中存入的数据是否正确。记录数据。注意:禁止两个或两个以上的数据源同时向数据总线上发送数据!在本实验中,当存储器进行读出操作时,务必将SW_BUS#的三态门关闭。而当向AR送入数据时,双端口存储器也不能被选中。
4.通过存储器的右端口,将第2步存入的5个数据读出,观察结果是否与第3步结果相同。记录数据。
5.双端口存储器的并行读写和访问冲突
将CEL#、CER#同时置为0,使存储器的左右端口同时被选中。当AR和PC的地址不相同时,由于都是读操作,也不会冲突。如果左右端口地址相同,且一个进行读操作,一个进行写操作,就会发生冲突。检测冲突的方法:观察两个端口的"忙"信号输出指示灯BUSYL#和BUSYR#。BUSYL#/BUSYR#灯亮(为0)时,不一定发生冲突,但发生冲突时,BUSYL#/BUSYR#必定亮。
四、实验要求
l.做好实验预习,掌握IDT7132双端口存储器的功能特性和使用方法。
2.完成实验任务2、3、4,分别填写实验二表1、实验二表2、实验二表3。
3.试验双端口存储器的并行读写和访问冲突,并分析原理。
4.写出实验报告,分析实验结果并简述心得体会。
实验三 数据通路组成实验(选作)
一、实验目的
1.进一步熟悉计算机的数据通路
2.将双端口通用寄存器堆和双端口存储器模块连接,构成新的数据通路
3.掌握数字逻辑电路中的一般规律,以及排除故障的一般原则和方法
4.锻炼分析问题和解决问题的能力,在出线故障的情况下,独立分析故障现象,并排除故障
二、实验原理
图示出了数据通路实验电路图,它是将双端口存储器实验模块和一个双端口通用寄存器堆模块(RF)连接在一起形成的。双端口存储器的指令端口不参与本次实验。通用寄存器堆连接运算器模块,本实验涉及其中的操作数寄存器DR1。
由于双端口存储器RAM是三态输出,因而可以将它直接连接到数据总线DBUS上。此外,DBUS上还连接着双端口通用寄存器堆。这样,写入存储器的数据可由通用寄存器提供,而从存储器RAM读出的数据也可送到通用寄存器堆保存。
三、实验任务
1.将实验电路与控制台的有关信号进行连接。
数据通路 RS0 RS1 RD0 RD1 WR0 WR1 LDRi LDDR1
模拟开关 K0 K1 K2 K3 K4 K5 K6 K7
数据通路 RS_BUS# SW_BUS# ALU_BUS# RAM_BUS# LR/W# CEL# LDAR#
模拟开关 K8 K9 K10 K11 K12 K13 K14
数据通路 AR+1 CER# Cn# M S0 S1 S2 S3
模拟开关 地 VCC VCC 地 地 地 地 地
2.用8位数据开关SW7-SW0向RF中的四个通用寄存器分别置入以下数据:R0=OFH,R1=0F0H,R2=55H,R3=0AAH。
3.用8位数据开关向AR送入地址0FH,然后将R0中的数据0FH写入双端口存储器中。用同样的方法,依次将R1、R2、R3中的数据分别置入RAM的0F0H、55H、0AAH单元。
4.分别将RAM的0AAH单元数据写入R0,55H单元数据写入R1,0F0H单元数据写入R2,0FH单元数据写入R3。然后将R0-R3中的数据读出,验证数据的正确性,并记录数据。
5.校验结果。
四、实验要求
1.做好实验预习和准备工作,掌握实验电路的数据通路特点和通用寄存器堆的功能特性。
2.完成实验任务,填写实验三表1、2、3。
3.写出实验报告,分析实验结果并简述心得体会。
实验四 常规型微程序控制器组成实验
一、实验目的
1.掌握时序发生器的组成原理
2.掌握微程序控制器的组成原理
二、实验原理
1.时序发生器
TEC-5计算机组成原理实验系统的时序电路如图所示。电路采用500K晶振、2片GAL22VlO、一片74LS390(分频器),可产生两级等间隔时序信号Tl—T4和Wl—W3,其中一个W由一轮Tl—T4循环组成,它相当于一个微指令周期或硬联线控制器的一拍,而一轮Wl—W3循环可供硬联线控制器执行一条机器指令。
本次实验不涉及硬联线控制器,因此时序产生器中的相关内容也可根据需要放到硬联线控制器实验中进行。
微程序控制器只使用时序信号TI—T4,产生T信号的功能集成在左边GAL22VlO芯片中,另外它还产生节拍信号W1、W2、W3的控制时钟CLK1。
硬联线控制器只使用时序信号Wl—W3,产生W信号的功能集成在右边GAL22VlO芯片中。
左边GAL22VlO芯片的输入信号MF是实验台上晶体振荡器的输出,频率为500KHz。Tl至T4的脉冲宽度为2μS。CLR#为复位信号,低有效。实验台处于任何状态下令CLR#=0,都会使时序发生器和微程序控制器复位(回到初始状态),复位后时序发生器停在T4、W3状态,微程序地址为000000B。建议每次实验仪加电后,先用CLR#复位一次。控制台上有一个CLR#按钮,实验台印制板上已连好控制台CLR#到时序电路的连线。
TJ(停机)是控制器的输出信号之一。连续运行时,如果控制信号TJ=l,会使机器停机,停止发送时序脉冲Tl—T4、Wl—W3,时序停在T4。注意区分在实验台上时序信号发生器的输入信号TJ和控制存储器产生的TJ信号。QD(启动)是来自启动按钮QD的脉冲信号,在GAL22VlO芯片中,对QD用MF进行了同步,产生QDl和QD2。ACT表示QD1上升沿,表达式是QD1&!QD2,脉冲宽度为2μS。QDR是运行标志,QD信号使其为l,CLR#信号将其置O。DP(单拍)是来自控制台的DP开关信号,当DP=l时,机器处于单拍运行状态,按一次启动按钮QD,只发送一条微指令周期的时序信号就停机。利用单拍方式,每次只执行一条微指令,因而可以观察微指令代码和当前微指令的执行结果。
DB、SKIP、CLK1信号以及Wl—W3时序信号都是针对硬联线控制器的。Wl—W3是节拍信号,硬联线控制器执行一条机器指令需要一组Wl—W3信号。DB(单步)信号就是每次发送一组W信号后停机,执行某些机器指令不需要完整的一组W信号,SKIP信号就是用来跳过本指令剩余的W节拍信号的。
2.数据通路
微程序控制器是根据数据通路和指令系统来设计的。这里采用的数据通路综合前面各实验模块。
3.微指令格式
根据给定的8条机器指令功能和数据通路总体图的控制信号,采用的微指令格式如上图。微指令字长31位,其中顺序控制部分9位;判别字段3位,后继微地址6位。操作控制字段22位,各位进行直接控制。
对应微指令格式,微程序控制器的组成如下图:
控制器采用4片E2PROM(HN58C65)组成,HN58C65是8K*8位的,地址输入端有13位(A12-A0),实验中只用到A5-A0,所以A12-A6接地,实际的使用空间为64字节。
微地址寄存器µAR共6位,用一片8D触发器74LS174组成,带有异步清零端。
两级与,或门构成微地址转移逻辑,用于产生下一微指令地址。
在每一个T1的上升沿,新的微指令地址打入微地址寄存器中,控制存储器随即输出该条微指令的控制信号。微地址转移逻辑生成下一微地址,等到下一个T1上升沿,将其打入微地址寄存器中。
微地址转移逻辑的多个输入信号中,SWC、SWB、SWA是控制台指令的定义开关,他们用来决定控制台指令微程序的分支。C是进位信号,IR7-IR4是机器指令的操作码字段,根据他们的值来控制微程序转向某个特定的分支。
4.机器指令与微程序
为简单明了,本实验仪使用8条机器指令,均为单字长(8位)指令。指令功能及格式如下表所示。指令的高4位(IR7-IR4)是操作码,提供给微程序控制器,低4位提供给数据通路。
上述8条指令的微程序流程设计如图所示。每条微指令可按前述的微指令格式转换成二进制代码,然后写入控存中。
控制台指令和机器指令微指令代码表如下:
为了向RAM和寄存储器堆中装入程序和数据,检查写入是否正确,并能启动程序执行,还设计了以下五个控制台操作微程序:(DP=0,DB=0)
启动程序(PR):按下复位按钮CLR#后,置SWC=O,SWB=O,SWA=0,用数据开关SW7—SWO设置内存中程序的首地址,按QD按钮后,启动程序运行。
写存储器(WRM):按下复位按钮CLR#后,微地址寄存器状态为全零。此时置SWC=O,SWB=0,SWA=1。①在SW7-SW0中置好存储器地址,按QD启动按钮将此地址打入AR。②在SW7-SW0中置好数据,按QD启动按钮将此数据写入AR指定的存储器单元,这时AR+1。重复②,直到按复位键CLR#为止。这样就实现了对RAM的连续进行手动写入。
读存储器 (RRM):按下复位按钮CLR#后,置SWC=O,SWB=1,SWA=0。①在SW7-SW0中置好存储器地址,按QD启动按钮将此地址打入AR,RAM中此地址单元的内容读至DBUS显示。②按QD按钮,这时AR+1,RAM中新地址单元的内容读至DBUS显示。重复②,直到按复位键CLR#为止。这样就实现了对RAM的连续读出显示。
寄存器写操作(WRF):按下复位按钮CLR样后,置SWC=O,SWB=l,SWA=l。①在SW7-SW0中置好存储器地址,按QD启动按钮将此地址打入AR寄存器和PC计数器。②在SW1、SW0置好寄存器选择信号WR1、WR0,按QD启动按钮,通过双端口存储器的右端口将WR1、WR0(即SW1、SW0)送到指令寄存器IR的低2
位。③在SW7-SW0中置好要写入寄存器的数据,按QD启动按钮将此数据写入由WR1、WR0指定的寄存器。重复②③,直到按复位键CLR#为止。
寄存器读操作(RRF):按下复位按钮CLR#后,置SWC=l,SWB=O,SWA=O。①在SW7-SW0中置好存储器地址,按QD启动按钮将此地址打入AR寄存器和PC计数器。②在SW3、SW2置好寄存器选择信号RS1、RS0,按QD启动按钮,通过双端口存储器的右端口将RS1、RS0(即SW3、SW2)送到指令寄存器IR的第3、2位。RS1、RS0选中的寄存器数据读出到DBUS上显示出来。重复②,直到按复位键CLR#为止。
三、实验任务
1.按实验要求,连接实验台的电平开关K0-K15,时钟信号源和微程序控制器。连接完成后应仔细检查一遍,然后才可以加上电源。
控制器
模拟开关
C
K0
IR4
K1
IR5
K2
IR6
K3
IR7
K4
时序电路的TJ、SKIP为地(GND)。TJ是时序电路中的TJ,不是控制器中的TJ(该TJ由控制器产生,不能接输入信号),千万不要接错。
注意:本次实验只做微程序控制器本身的实验,故微程序控制器输出的微命令信号与执行部件(数据通路)的连线不连接。
2.熟悉微指令格式的定义,按此定义将微程序流程图所示的全部微程序变换成二进制代码,并列表登记。此表请在预习时完成。
3.控制台操作的功能由SWC、SWB、SWA三个二进制开关的状态配合P0判断来决定。用单拍(DP)方式执行控制台操作微程序,观察判别字段和微地址指示灯的显示,跟踪微指令的执行情况,并与上表数据对照。
4.深刻理解0FH微指令的功能和P1测试状态条件(IR7-IR4),用二进制开关设置IR7-IR4的不同状态,观察ADD至OUT八条机器指令对应微程序的微命令信号,特别是微地址转移的实现,并与上面表格进行对照。
四 、实验要求
l.做好实验预习,掌握微程序控制器和时序产生器的工作原理。在实验进行前填好实验四表1,并列好所有表格数据和理论分析值。
2.根据实验任务所提的要求,实验填写好实验四表2、实验四表3。
3.写出实验报告,分析实验结果并简述心得体会。
实验五 CPU组成与机器指令执行周期实验
一、实验目的
1.将微程序控制器同执行部件(整个数据通路)联机,组成一台模型计算机
2.用微程序控制器控制模型计算机的数据通路
3.通过TEC-5执行由8条机器指令组成的简单程序,掌握机器指令与微指令的关系,牢固建立计算机的整机观念
二、实验原理
本次实验用到前面四个实验中的所有电路,包括运算器、存储器、通用寄存器堆、程序计数器、指令寄存器、微程序控制器等,将几个模块组合成为一台简单计算机。因此,在基本实验中,这是最复杂的一个实验,也是最能得到收获的一个实验。
在前面的实验中,实验者本身作为“控制器”,完成数据通路的控制。而在本次实验中,数据通路的控制将由微程序控制器来完成。cpu从内存取出一条机器指令到执行指令结束的一个机器指令周期,是由微指令组成的序列来完成的,即一条机器指令对应一个微程序。
三、实验任务
1.对下面机器指令组成的简单程序进行译码。将程序按机器指令格式手工汇编成二进制机器代码,填写实验五表1,此项任务请在预习时完成。
ADD R1,R0
JC R3
STA R1,[R2]
LDA R2,[R2]
AND R2,R0
SUB R2,R3
OUT R2
STP
2.参考前面实验电路完成连线,工作量大概是:控制台、时序部件、数据通路和微程序控制器之间的连线。控制器是控制部件,数据通路是执行部件,时序发生器是时序部件。注意通用寄存器堆RF的RD1、RD0、RS1、RS0、WR1、WR0与IR3-IR0间的连线。
控制器、时序部件和数据通路之间的连接QD, DP,DB,CLR#TJT1~T4T1~T4SW_BUS#,LDDR1,CEL#......IR7—IR4,C
接线表:
控制器
数据通路
控制器
数据通路
控制器
数据通路
控制器
数据通路
数据通路
数据通路
LDIR PC+1 LDPC# AR+1 LADR# LDDR1 LDDR2 LDRi
LDIR PC+1 LDPC# AR+1 LADR# LDDR1 LDDR2 LDRi
SW_BUS# Rs_BUS# ALU_BUS# RAM_BUS# CER# CEL#
SW_BUS# Rs_BUS# ALU_BUS# RAM_BUS# CER# CEL#
LR/W# Cn# M S0 S1 S2 S3
LR/W# Cn# M S0 S1 S2 S3
进位C IR7 IR6 IR5 IR4
进位C IR7 IR6 IR5 IR4
IR3 IR2 IR1 IR0 IR1 IR0
RS1 RS0 RD1 RD0 WR1 WR0
再把控制器的TJ连接联接时序电路的TJ,一共接线33条。
接好线后,将编程开关拨到"正常位置",合上电源,按CLR#按钮,使TEC-5实验系统处于初始状态。
3.将任务1中的程序代码用控制台指令存入内存中,并根据程序的需要,用数码开关SW7-SW0设置通用寄存器的数据。注意:由于设置通用寄存器时会破坏存储单元的数据,因此应先设置寄存器中的数据,在设置存储器中的程序和数据。要求使用两组寄存器数据,一组寄存器数据在执行ADD R1,R0指令时产生进位(R0=86H、R1=88H、R2=10H、R3=07H,(10H)=55H),一组寄存器数据在执行ADD
R1,R0指令时不产生进位(R0=35H、R1=43H、R2=10H、R3=07H,(10H)=55H),以观察同一程序的不同执行流程。
4.用单拍(DP)方式执行一遍程序,记录最后得到的四个寄存器的数据,以及由STA指令存入RAM中的数据,与理论分析值比较。执行时注意观察各个指示灯的显示,以跟踪程序执行的详细过程(可观察到每一条微指令的执行过程)。
5.用连续方式再执行程序。这种情况相当于计算机正常的工作。程序执行到STP指令后自动停机。读出寄存器中的运算结果,与理论值比较。
四、实验要求
1.务必做好实验预习。根据实验任务所提要求,实验进行前先列好必要的表格、数据和理论分析值,以便与实验结果相比较。并根据任务1要求填写实验五表1。
2.
运用控制台命令写寄存器WRF、读寄存器RRF、写存储器WRM、读存储器RRM完成实验任务3(详细步骤见实验四说明),并在此基础上单步、连续运行程序完成实验任务4、5,按要求填写实验五表2、3。
3.写出实验报告,分析实验结果并简述心得体会。
实验一表1:将34H、21H、52H、65H分别写入通用寄存器R0-R3;读出R0-R3的内容,在DBUS上显示出来(DP=1,DB=0)
数据通路信号与电平信号开关的连接
序 SW7-
号 SW0
WR0 WR1 RS0 RS1
SW_
BUS#
RS_
BUS#
LDRi
QD 功能
K0
1
2
3
4
34H
0
K1
0
K2
×
K3
×
K4
0
K5
1
K6
1
√
34H→R0 (R0=34H)
读出通用寄存器组RF的内容(R0-R3)
5
6
7
8
×
×
×
0
0
1
0
0
×
DBUS指示灯显示R0=
实验一表2:通过R0向DR2写入0AAH,通过R1向DR1写入55H,验证运算器的算术运算和逻辑运算功能(DP=1,DB=0)
(1)向R0写入0AAH,向R1写入55H
数据通路信号与电平信号开关的连接
序 SW7-
号 SW0
WR0 WR1
SW_
BUS#
ALU_
BUS#
LDRi
QD 功能
1
2
(2)将R0写入DR2,将R1写入DR1
数据通路信号与电平信号开关的连接
序
号
RD0 RD1 RS0 RS1 LDR1 LDR2 LDRi
QD 功能
1
(3)验证运算器的算术运算和逻辑运算功能
逻辑运算:LDRi= 1、LDR1=0、LDR2=0、ALU_BUS#=0、SW_BUS#=1
算术运算:LDRi= 1、LDR1=1、LDR2=1、ALU_BUS#=0、SW_BUS#=1
工作方式输入选择
S3
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
S2
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
S1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
S0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
逻辑运算(M=H,Cn#=1)
运算类型
运算结果
进位C
算术运算(M=L,Cn#=1)
运算类型
运算结果
进位C
实验二表1:向存储器的00H、10H、20H、30H和40H单元依次写入00H、10H、20H、30H和40H (DP=1,DB=0)
数据通路信号与电平信号开关的连接
序 SW7-
号 SW0
LDAR# LDPC# CEL# LR/W#
RAM_
BUS#
CER#
SW_
BUS#
QD 功能
1
2
3
4
5
6
7
8
9
10
00H→AR
00H→(00H)
实验二表2:利用左端口依次将之前写入的5个数据读出
数据通路信号与电平信号开关的连接
序 SW7-
号 SW0
LDAR# LDPC# CEL# LR/W#
RAM_
BUS#
CER#
SW_
BUS#
QD 功能
1
2
3
4
5
6
7
8
9
10
00H→AR
DBUS=00H
实验二表3:利用右端口依次将之前写入的5个数据读出
数据通路信号与电平信号开关的连接
序 SW7-
号 SW0
LDAR# LDPC# CEL# LR/W#
RAM_
BUS#
CER#
SW_
BUS#
QD 功能
1
2
3
4
5
6
7
8
9
10
00H→PC
IBUS=00H
实验三表1:将0FH、0F0H、55H、0AAH分别写入通用寄存器R0、R1、R2、R3
数据通路信号与电平信号开关的连接
序
SW
号
RS_
RS0 RS1 RD0 RD1 WR0 WR1 LDRi LDDR1
BUS# BUS# BUS# BUS#
SW_ ALU_ RAM _
LR/W# CEL# LDAR#
QD 功能
1
2
3
4
0FH→R0
验证数据是否写入RF中(可在数据总线DBUS上显示)
5
6
7
8
R0=
R1=
R2=
R3=
实验三表2:将寄存器R0、R1、R2、R3的数据通过ALU读出后,写入RAM的0FH、F0H、55H、AAH地址单元
数据通路信号与电平信号开关的连接
序
SW
号
RS_
RS0 RS1 RD0 RD1 WR0 WR1 LDRi LDDR1
BUS# BUS# BUS# BUS#
SW_ ALU_ RAM _
LR/W# CEL# LDAR#
QD 功能
1
2
3
4
5
6
7
8
9
10
11
12
0FH→AR
0FH→DBUS
0FH→(0FH)
实验三表3:将存储器的AAH、55H、F0H、0FH地址单元的数据传送到寄存器R0、R1、R2、R3并验证结果
数据通路信号与电平信号开关的连接
序
SW
号
RS_
RS0 RS1 RD0 RD1 WR0 WR1 LDRi LDDR1
BUS# BUS# BUS# BUS#
SW_ ALU_ RAM _
LR/W# CEL# LDAR#
QD 功能
1
2
3
4
5
6
7
8
AAH→AR
(AAH)→R0
验证从存储器送入寄存器的数据
9
10
11
12
R0=
R1=
R2=
R3=
实验四表1:根据微指令格式的定义,将微程序流程图中的全部微指令变成二进制代码,填入控存代码表(请在预习时完成)
微地址
00
01
02
03
04
05
06
07
08
09
0A
0B
0C
0D
0E
0F
CM3
00
CM2
00
CM1
00
CM0
48
微地址
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D
1E
1F
CM3
CM2
CM1
CM0
实验四表2:控制台操作命令微指令(置DP=1,DB=0,时序电路的TJ、SKIP为地GND)
操作名称
SWC SWB SWA
写存储器WRM
SWC SWB SWA
0 0 1
CLR#
√
读存储器RRM
SWC SWB SWA
写寄存器WRF
SWC SWB SWA
读寄存器RRF
SWC SWB SWA
启动程序 PR
SWC SWB SWA
QD
√
微指令地址
μA5-μA0
00H
微指令代码
CM3 CM2 CM1 CM0
00 00 00 48
功能
复位,读操作台命令
实验四表3:机器指令微指令(DP=1,DB=0,SWC=0,SWB=0,SWA=0,时序电路的TJ、SKIP为地GND)
机器指令
IR7 IR6 IR5 IR4
CLR#
√
ADD
IR7 IR6 IR5 IR4
0 0 0 0
SUB
IR7 IR6 IR5 IR4
AND
IR7 IR6 IR5 IR4
STA
IR7 IR6 IR5 IR4
QD
√
微指令地址
μA5-μA0
00H
微指令代码
CM3 CM2 CM1 CM0
00 00 00 48
功能
复位,读操作台命令
续上表
机器指令
IR7 IR6 IR5 IR4
CLR#
LDA
IR7 IR6 IR5 IR4
JC
IR7 IR6 IR5 IR4
STP
IR7 IR6 IR5 IR4
OUT
IR7 IR6 IR5 IR4
QD
微指令地址
μA5-μA0
微指令代码
CM3 CM2 CM1 CM0
功能
实验五表1:将8条指令组成的简单程序按照指令格式汇编成机器代码(请在预习时完成)
内存地址
00H
01H
02H
03H
04H
05H
06H
07H
机器指令
ADD R1,R0
JC R3
STA R1,[R2]
LDA R2,[R2]
AND R2,R0
SUB R2,R3
OUT R2
STP
指令功能
机器代码
(二进制表示)
机器代码
(十六进制)
实验五表2:运用控制台命令将程序代码存入内存,将程序运行时用到的数据存入寄存器,单步及连续执行。
(1)向寄存器写入R0=35H,R1=43H,R2=10H,R3=07H,并验证是否正确(DP=0,DB=0,SWC=0,SWB=1,SWA=1)
序号
1
2
3
4
5
6
7
8
9
SW7
1
SW6
1
SW5
1
SW4
1
SW3
1
SW2
1
SW1
1
SW0
1
QD
√
功能
用不常用的地址(如FF)写入AR、PC
指定寄存器号R0,写入指令寄存器IR
第一个数值写入IR指定的R0寄存器
使用读寄存器控制台命令RRF,验证写入通用寄存器的数据是否正确。(DP=0,DB=0,SWC=1,SWB=0,SWA=0)
(2)向存储器写入程序机器代码和10H单元初值55H,并验证数据是否正确(DP=0,DB=0,SWC=0,SWB=0,SWA=1)
序号
1
2
3
4
5
6
7
8
9
10
11
SW7
SW6
SW5
SW4
SW3
SW2
SW1
SW0
QD
功能
使用读存储器控制台命令RRM,验证写入RAM的程序和初值是否正确。(DP=0,DB=0,SWC=0,SWB=1,SWA=0)
(3)用单拍方式执行一遍程序,记录四个寄存器数据,以及存入RAM的数据。(DP=1,DB=0,SWC=0,SWB=0,SWA=0)
序号
1
2
3
4
5
6
7
8
机器指令
ADD R1,R0
JC R3
STA R1,[R2]
LDA R2,[R2]
AND R2,R0
SUB R2,R3
OUT R2
STP
指令功能
QD AR PC
μA5-
IR C
μA0
R0
R1
R2
R3
10H
(4)用连续方式运行程序,并读R0-R3、10H单元的结果。
①重写R1、R2、(10H)单元的内容(单拍执行时已破坏)
②置DP=0、DB=0、SWC=0、SWB=0、SWA=0(连续运行状态)
③置SW7-SW0为00H(程序从地址00H处开始执行)
④按CLR#按钮,使实验系统处于初始状态
⑤按QD运行程序,程序自动运行到地址为07H的STP命令
⑥按CLR#按钮,通过控制台命令读寄存器和存储器的结果
R0= R1= R2= R3= (10H)=
实验五表3:令R0=86H、R1=88H、R2=10H、R3=07H,(10H)仍为55H,这时产生进位C,JC指令将跳转
(1)运用控制台命令将第二组数据存入寄存器(R0=86H、R1=88H、R2=10H、R3=07H),并验证是否正确
序号
1
2
3
4
5
6
7
8
9
SW7
SW6
SW5
SW4
SW3
SW2
SW1
SW0
QD
功能
用不常用的地址(如FF)写入AR、PC
指定寄存器号R0,写入指令寄存器IR
第一个数值写入IR指定的R0寄存器
使用读寄存器控制台命令RRF,验证写入通用寄存器的数据是否正确。
(2)向存储器写入程序机器代码和10H单元初值55H,并验证数据是否正确
序号
1
2
3
4
5
6
7
8
9
10
11
SW7
SW6
SW5
SW4
SW3
SW2
SW1
SW0
QD
功能
使用读存储器控制台命令RRM,验证写入RAM的程序和初值是否正确。
(3)用单拍方式执行程序,记录四个寄存器数据,以及存入RAM的数据。观察、跟踪程序执行的详细过程
序号
1
2
3
4
5
6
7
8
机器指令
ADD R1,R0
JC R3
STA R1,[R2]
LDA R2,[R2]
AND R2,R0
SUB R2,R3
OUT R2
STP
QD AR PC
μA5-
IR C
μA0
R0
R1
R2
R3
10H
(4)用连续方式运行程序,并读R0-R3、10H单元的结果。
①重写R1、R2、(10H)单元的内容(单拍执行时已破坏)
②置DP=0、DB=0、SWC=0、SWB=0、SWA=0(连续运行状态)
③置SW7-SW0为00H(程序从地址00H处开始执行)
④按CLR#按钮,使实验系统处于初始状态
⑤按QD运行程序,程序自动运行到地址为07H的STP命令
⑥按CLR#按钮,通过控制台命令读寄存器和存储器的结果
R0= R1= R2= R3=
(10H)=
本文发布于:2023-12-30 00:17:56,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/zhishi/a/1703866677245292.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:计算机组成原理实验说明分解.doc
本文 PDF 下载地址:计算机组成原理实验说明分解.pdf
留言与评论(共有 0 条评论) |