基本运算器
一、实验目的
1.掌握运算器的组成及工作原理;
2.了解4位函数发生器74LS181的组合功能,熟悉运算器执行算术操作和逻辑操作的具体实现过程;
3.验证带进位控制的74LS181的功能。
二、实验环境
EL-JY-II型计算机组成原理实验系统一套,排线若干。
三、实验内容
验证74LS181运算器的逻辑运算功能和算术运算功能。
四、实验操作过程
Ⅰ、单片机键盘操作方式实验
注:在进行单片机键盘控制实验时,必须把开关K4置于“OFF”状态,否则系统处于自锁状态,无法进行实验。 1、实验连线(键盘实验): 实验连线如图1-6所示。
(连线时应按如下方法:对于横排座,应使排线插头上的箭头面向自己插在横排座上;对于竖排座,应使排线插头上的箭头面向左边插在竖排座上。注意:F4只用一个排线插头孔)
2、实验过程:
拨动清零开关CLR,使其指示灯灭。再拨动CLR,使其指示灯亮。
在监控滚动显示【CLASS SELECt】时按【实验选择】键,显示【ES--_ _ 】输入01或1,按【确认】键,监控显示为【ES01】,表示准备进入实验一程序,也可按【取消】键来取消上一步操作,重新输入。
再按【确认】键,进入实验一程序,监控显示【InSt--】,提示输入运算指令,输入两位十六进制数(参考表1-3和表1-1),选择执行哪种运算操作,按【确认】键。
监控显示【Lo=0】,此处Lo相当于表1-1中的M,默认为“0”,进行算术运算,也可以输入“1”,进行逻辑运算。按【确认】,显示【Cn=0】,默认为“0”,由表1-1可见,此时进行带进位运算,也可输入“1”,不带进位运算(注:如前面选择为逻辑运算,则Cn不起作用)。按【确认】,显示【Ar=1】,使用默认值“1”,关闭进位输出。也可输入“0”,打开进位输出,按【确认】。 监控显示【DATA】,提示输入第一个数据,输入十六进制数【1234H】,按【确认】,显示【DATA】,提示输入第二个数据,输入十六进制数【5678H】,按【确认】键,监控显示【FINISH】,表示运算结束,可从数据总线显示灯观察运算结果,CY指示灯显示进位输出的结果。按【确认】后监控显示【ES01】,可执行下一运算操作。 运算指令( S3 S2 S1 S0) 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 输入数据(十六进制) 00或0 01或1 02或2 03或3 04或4 05或5 06或6 07或7 08或8 09或9 0A或A 0B或B 0C或C 0D或D 1 1 1 0 1 1 1 1 0E或E 0F或F 表1-3 运算指令关系对照表
在给定LT1=1234H、LT2=5678H的情况下,改变运算器的功能设置,观察运算器的输出,填入表中,并和理论值进行比较和验证:
LT1
LT2 M=0(算术运算) S3S2S1S0 Cn=1(无进位) Cn= 0(有进位) F= 00或0 F= F= 01或1 F= F= 02或2 F= F= 03或3 F= F= 04或4 F= F= 05或5 F= F= 06或6 F= F= 07或7 F= F= 08或8 F= F= 09或9 F= F= 0A或A F= F= 0B或B F= F= 0C或C F= F= 0D或D F= F= 0E或E F= F= 0F或F F= M=1(逻辑运算)
F= F= F= F= F= F= F= F= F= F= F= F= F= F= F= F= Ⅱ、开关控制操作方式实验
注:为了避免总线冲突,首先将控制开关电路的ALU-G和C-G拨到输出高电平“1”状态(所对应的指示灯亮。)本实验中所有控制开关拨动,相应指示灯亮代表高电平“1”,指示灯灭代表低电平“0”。 1、按图1-7接线图接线:
连线时应注意:为了使连线统一,对于横排座,应使排线插头上的箭头面向自己插在横排座上;对于竖排座,应使排线插头上的箭头面向左边插在竖排座上。
运算器接口 S3S2S1S0MCn ALU-G AR LDR1 LDR2 BD15 ……. BD8 数据总线 BD7 ……. BD0
DIJ1 DIJ-G DIJ2 C-G
S3S2S1S0MCn ALU-G AR LDR1 T+ fin LDR2 f/8
数据输入电路 控制开关电路控制总线 T4
脉冲源及时序电路 图1-7 实验一 开关实验 接线图
2、通过数据输入电路的拨开关开关向两个数据暂存器中置数:
注意:本实验中ALU-G和C-G不能同时为0,否则造成总线冲突,损坏芯片!故每次实验时应时刻保持只有一路与总线相通。
1)拨动清零开关CLR,使其指示灯。再拨动CLR,使其指示灯亮。置ALU-G
=1:关闭ALU的三态门;再置C-G=0:打开数据输入电路的三态门; 2) 向数据暂存器LT1(U3、U4)中置数:
(1)设置数据输入电路的数据开关“D15„„D0”为要输入的数值;
(2)置LDR1=1:使数据暂存器LT1(U3、U4)的控制信号有效,置 LDR2=0:使 数据暂存器LT2(U5、U6)的控制信号无效;
(3)按一下脉冲源及时序电路的【单脉冲】按钮,给暂存器LT1送时钟,上升沿有效,把数据存在LT1中。 3)向数据暂存器LT2(U5、U6)中置数:
(1)设置数据输入电路的数据开关“D15„„D0”为想要输入的数值; (2)置LDR1=0:数据暂存器LT1的控制信号无效;置LDR2=1:使数
据暂存器LT2的控制信号有效。
(3)按一下脉冲源及时序电路的“单脉冲”按钮,给暂存器LT2送时钟,上升沿有效,把数据存在LT2中。
(4)置LDR1=0、LDR2=0,使数据暂存器LT1、LT2的控制信号无效。
4 )检验两个数据暂存器LT1和LT2中的数据是否正确:
(1)置C-G=1,关闭数据输入电路的三态门,然后再置ALU-G=0,打开
ALU的三态门 ;
(2)置“S3S2S1S0M”为“11111”,数据总线显示灯显示数据暂存器LT1
中的数,表示往暂存器LT1置数正确;
(3)置“S3S2S1S0M”为“10101”,数据总线显示灯显示数据暂存器LT2
中的数,表示往暂存器LT2置数正确。
3、验证74LS181的算术和逻辑功能: LT1 LT2 S3S2S1S0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 M=0(算术运算) F= F= F= F= F= F= F= F= F= F= F= F= F= F= F= F= F= F= F= F= F= F= F= F= F= F= F= F= F= F= F= F= M=1(逻辑运算) F= F= F= F= F= F= F= F= F= F= F= F= F= F= F= F= Cn=1(无进位) Cn= 0(有进位) 1234H 5678H 按实验步骤2往两个暂存器LT1和LT2分别存十六进制数“1234H”和“5678H”,在给定LT1=1234H、LT2=5678H的情况下,通过改变“S3S2S1S0MCn”的值来改变运算器的功能设置,通过数据总线指示灯显示来读出运算器的输出值F,填入上表中,参考表1-1的功能表,分析输出F值是否正确。分别将“AR”开关拨至“1”和“0”的状态,观察进位指示灯“CY”的变化并分析原因。
五、实验结果及结论
实验结果如图所示:
LT1 LT2 S3S2S1S0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 M=0(算术运算) F=FF00 F=FFFF F=FF00 F=FFFF F=FE00 F=FFFF F=FC00 F=FFFF F=FF00 F=FFFF F=FF00 F=FFFF F=FF00 F=F0FF F=FF00 F=00FF F=FF01 F=FE00 F=FF01 F=0000 F=FE01 F=FF00 F=FF01 F=FF00 F=FF01 F=FF00 F=FF01 F=0000 F=FF00 F=FF00 F=FFFF F=FFF0 M=1(逻辑运算) F=00FF F=0000 F=00FF F=0000 F=FFFF F=FF00 F=FFFF F=FF00 F=00FF F=0000 F=00FF F=0000 F=FFFF F=FF00 F=0000 F=FF00 Cn=1(无进位) Cn= 0(有进位) 1234H 5678H 结论:1、掌握了运算器的组成及工作原理;
2、了解了4位函数发生器74LS181的组合功能,熟悉了运算器执行算术操作和逻辑操作的具体实现过程;
六、心得体会
通过本次试验我掌握运算器的组成及工作原理,了解4位函数发生器74LS181的组
合功能,熟悉运算器执行算术操作和逻辑操作的具体实现过程。加强了对课本教材的理解,增加了自己的动手实践能力,通过与我的队友的通力合作,我更深刻的体会到了团队力量的重要性。
实验报告二
静态随机存储器
一、实验目的及要求
1.掌握静态随机存储器RAM工作特性及; 2.掌握数据的读写方法。
二、实验准备
1.接线:MBUSB连US2;
EXJ1连BUS3;
跳线器J22的T3连TS3; 跳线器J16的SP连H23。
2.跳线器SWB、CE、WE、LDAR拨在左边(手动位置)。 3.接通电源。
三、实验内容
1.形成时钟脉冲信号T3。在时序电路模块中有两个二进制开关“运行控制”和“运
行方式”。将“运行控制”开关置为“运行”状态、“运行方式”开关置为“单步” 状态,每按动“启动运行”开关,则T3输出一个正单脉冲,其脉冲宽度与连续方式相同。 2.给存储器的00地址单元中写入数据11。SWB=1;KD0~KD7=00000000;SWB=0;CE=1;SWB=0;CE=1;LDAR=1;T3启动运行;SWB=1;KD0~KD7=00010001;SWB=0;LDAR=0;SWB=0;CE=0;WE=1;LDAR=0;T3启动运行; 3.读出刚才写入的00地址单元的内容,观察内容是否与写入的一致。SWB=1;KD0~KD7=00000000;SWB=0;CE=1;SWB=0;CE=1;LDAR=1;T3启动运行;SWB=1;CE=0;WE=0;LDAR=0。
图1 SRAM 6116引脚图 由于存储器(MEM)最终是要挂接到CPU 上,所以其还需要一个读写控制逻辑,使得CPU 能控制MEM 的读写,实验中的读写控制逻辑如图2-1-2 所示,由于T2 的参与,可以保证MEM 的写脉宽与T2 一致,T2 由时序单元的TS2 给出(时序单元的介绍见附录2)。IOM 用来选择是 对I/O 还是对MEM 进行读写操作,RD=1 时为读,WR=1 时为写。
实验原理图如图 2-1-3 所示,存储器数据线接至数据总线,数据总线上接有8 个LED
A0 的内容, 地址由地址锁存器(74LS273,位于PC&AR 单元)给出。数据开关(位于IN 单元)经一个三 态门(74LS245)连至数据总线,分时给出地址和数据。地址寄存器为8 位,接入6116 的地址A7„A0,6116 的高三位地址A10„A8 接地,所以其实际容量为256 字节。 图3 存储器实验原理图 实验箱中所有单元的T1、T2
都连接至MC 单元的T1、T2,CLR 都连接至CON 单元的CLR 按钮。实验时T2 由时序单元给出,其余信号由CON 单元的二进制开关模拟给出,其中IOM 应 为低(即MEM 操作),RD、WR 高有效,MR 和MW 低有效,LDAR 高有效。
四.实验结果与分析 (1)向存储器存数时,先存一个地址,接着是存在该
地址存储的内容。然后才是第二个地址,第二个地址的内容。在读出存储器的内容时,要先输入要读取内容的地址,才可以读取该地址的内容。只有先完成写地址操作才知道数据存在哪里,即不能先连续输入所有的地址,再连续输入所有的内容或连续读出所有的内容。因为一个地址要对应一个内容,如果先连续输入所有地址再输入数据内容,会造成数据混乱,造成实验失败。若连续输入地址数据要输入正确则要每次输入完数据后读出下一个正确的地址再输入数据。 (2)SW-B、CE为低电平有效(SW-B=0,CE=0时有效),LDAR、WE为高电平有效(LDAR=1,WE=1时有效)。 (3)做写地址和写内容时都要脉冲信号。 (4)写地址操作完成后,要关闭LDAR。因为LDAR是AR地址寄存器的存数控制信号,
若不关闭LDAR,输入的数据会把原来AR地址寄存器的数据冲刷掉,导致数据错误。 实验成绩:
五、实验结论和体会
1.通过本次实验,我掌握了静态随机存储器RAM工作特性,还掌握了数据的读写方法。 2.本次实验按照老师的要求,我选取了如下三组数: 1) 0100 0100 0011 0011 2) 1000 1000 1110 1110 3) 1100 1100 0001 0001
先将设计数据依次存入到相应地址中,并成功读取了写入地址单元的内容,内容与写入的一致。
3.本次实验还让我学到了团队合作的重要性,线路是我和搭档两个人接的,我们两个人很好的合作,最后,成功地完成了实验,本次实验,我受益匪浅。
实验报告三
微程序操作
2.掌握微程序控制器的功能、组成知识;
3掌握微指令格式和各字段功能;
4.掌握微程序的编制、写入、观察微程序的运行,学习基本指令的执行流程。
1. 实验目的与要求:
实验目的:1.理解时序产生器的原理,了解时钟和时序信号的波形;
实验要求:按练习一要求完成测量波形的操作,画出TS1、TS2、TS3、
TS4的波形,并测出所有的脉冲Φ的周期。按练习二的要求输入微指令的二
进制代码表,并单步运行五条机器指令。
2.
实验方案:
1.用联机软件的逻辑示波器观测时序信号: 测量Φ、TS1、TS2、TS3、TS4信号的方法: (1)按图接线,接一根即可;
(2)把探笔的探头端按颜色分别插到试验仪左上角的CH1、CH2,黑探头插CH1,红探头插
CH2,将黑探笔的探头插在Φ接线的上孔,将红探笔的探针夹在TS1两针之间; (3)将实验仪的STOP开关置为RUN、STEP开关置为EXEC,“SWITCH UNIT”中CLR开关置
为1状态,按动START按键;
(4)启动“组成原理联机软件”,点击“调试”菜单下的“显示逻辑示波器窗口”,点击示
波器开关,即可在屏幕上看到波形。使用“步数”或“速度”调整波形,波形调整好后,不要用同步通道来稳定波形,应该单击示波器开关,这样整个波形都停下来; (5)鼠标停留在波形线上,会有时间提示,两者相减可以算出波形周期;
(6)测完Φ 和TS1后,接着测量TS1和TS2,把黑红探针分别夹在TS1两根针之间和TS2
两根针之间,相互比较,可以测量TS1和TS2之间相位关系。同理通过测量TS2、TS3可以测量出TS2和TS3之间相位关系,同理通过测量TS3、TS4可以测量出TS3和TS4之间相位关系。
2.观察微程序控制器的工作原理:
(1)关掉实验仪电源,拔掉前面测时序信号的接线,按图连接实验电路,仔细检查无误后
接通电源;
(2)编程写入E2PROM 2816
A.将编程开关(MJ20)置为PROM状态;
B.将实验板上STATE UNIT中的STEP置为“STEP”状态,STOP置为“RUN”状态,“SWITCH
UNIT”中CLR开关置为1状态;
C.在右下角的“SWITCH UNIT”中UA5-UA0开关上表3.2中某个要写的微地址; D.在MK24-MK1开关上置表3.2中要写的微地址后面的24位微代码,24位开关对应24
位显示灯,开关置为“1”时灯亮,开关置为“0”时灯灭;
E.启动时序电路(按动启动按钮START),即将微代码写入到E2PROM 2816的相应地址
对应的单元中;
F.重复C-E步骤,将表3.2的每一行写入E2PROM 2816。 (3)校验
A.将编程开关置为READ状态;
B.保持STEP、STOP、CLR开关状态不变,即实验板的STEP开关置为“STEP”状态,STOP
开关置为“RUN”状态,“SWITCH UNIT”中CLR开关置为1状态; C.在开关UA5-UA0上按表3.2置好要读的某个微地址;
D.按动START键,启动时序电路,就能读出微代码,观察显示灯MD24-MD1的状态,检
查读出的微代码是否与写入的相同。如果不同,将开关置为PROM编程状态,重新执
行;
E.重复C-D步骤,将表3.2的每一行从E2PROM28 16中读出来。
单步运行五条机器指令:
A. 将编程开关置为“RUN”状态;
B. 将STEP置为“STEP”状态,STOP置为”RUN“状态,”SWITCH UNIT”中的CLR
开关置为1状态;
C. 将“SW-BUS”开关置为“0”,左下方开关D5-D0置为“111111”,D6和D7开关任
意;
D. 将清零开关CLR从高拔到低,再从低拔到高,即将开关CLR置为1——>0——>1,
可发现后续微地址UA5-UA0灯变为000000,000000是微指令运行启始地址; E. 按动“START”键,UA5-UA0灯变为010000,这是在读00条微指令,给出下一条
要读的微指令是20。以后每按动一次启动键“START”,都会读出后续微地址指定的一条微指令,微命令显示灯和微地址显示灯显示着正在所读出的微指令; F. 在UA5-UA0灯变为010000时,可通过实验仪左下方开关D7-D0人为强置设置分支
地址,将D5-D0置为“111111”——>“111100”——>“111111”,可发现UA5-UA0灯从010000变为010011,表示下一个要读的微指令从010000修改为了010011; G. 在UA5-UA0灯为010011时,也就是23时,对照微程序流程图,按动一下“START”
键,UA5-UA0灯会变成000001,也就是01,表示读出了23条微指令,给出了下一条要读的是01条微指令;
H. 在UA5-UA0灯为000001时,也就是01时,对照微程序流程图,按动一下“START”
键,UA5-UA0灯会变成000010,也就是02,表示读出了01条微指令,下一步要的是02条微指令;
I. 按动“START”键,读出02条微指令时,UA5-UA0灯显示为001000时,在当前条
件下,可通过强置端SE1-SE6相接的D5-D0人为强置修改分支地址;
J. 执行完每个指令的最后一条微指令后,都会回到01微指令,这样才表示执行完了
一条指令,同时也表示可以执行新的指令了; K. 按照上述方法,把所有分支执行一遍。
3. 实验结果和数据处理:
通
过比较各波形的相互关系可得:脉冲Ф的周期是TS1,TS2,TS3,TS4各点的周期的1/4,而且在时间为T的条件下,TS1与TS2, TS2与TS3, TS3与TS4各自之间相差1/4周期。 4.
实验结果分析:
微地址 00 01 02 03 04 05 06 07 10 11 12 13 14 15 16 17 20 21 22 23 24 25 S3S2S1SOMCNWEA9A8 000000011 000000011 000000001 000000001 000000001 000000011 100101011 000000001 000000000 00000001l 0000000l1 000000011 000000011 000000101 000000001 000000001 0000000l1 000000011 000000001 000000011 000000000 000001110 A 000 110 100 110 011 010 001 110 001 110 110 110 110 000 110 010 110 110 010 000 010 000 B 000 110 000 000 000 001 101 000 000 110 110 110 110 001 000 000 110 110 000 000 000 101 C 100 110 001 000 000 000 000 000 000 110 110 110 110 000 000 000 110 110 000 000 000 000 UA5„UA0 010000 000010 001000 000100 000l0l 000110 00000l 001101 000001 000011 000l11 001110 010110 000001 001111 0l010l 010010 010100 010111 00000l 011000 000001 二进制 000000 000001 000010 000011 000100 000101 000110 000111 001000 001001 001010 001011 001100 001101 001110 001111 010000 010001 010010 010011 010100 010101 010110 010111 011000
26 27 30 000000001 000001l10 000001101 101 000 000 000 101 101 110 000 000 00000l 010000 010001 ADD加法指令为双字长指令,第一字为操作码,第二字为操作地址,其含义是将R寄存器的内容与内存中以A为地址单元的数相加,结果放R寄存器。ADD加法指令由7条微指令组成,分别为:01、02、11、03、04、05、06。
以微指令06为例:微指令功能是DR1+DR2;06微指令S3 S2 S1 S0 M CN的值为“100101”代表算术运算A加B;A字段“001”起的作用是选择LDRi,B字段“101”起的作用是选择ALU-B;06微指令中UA5-UA0中“00000001”代表的含义是后继执行的微地址。(其他指令的功能均按以上方式解读)
5. 写出你掌握了的控制信号的作用
1. 时钟时序电路
时序电路可产生4个等间隔的时序信号Tsi-TS4,其中Ф为钟信号,由实验台左上方的方波信号源提供,可产生频率及脉宽可调的方波信号。可根据实验自行选择方波信号的频率及脉宽。为了便于控制程序的运行,时序电路发生器也设置了一个启停控制触发器Cr,使TSl—TS4信号输出可控。 2.微程序控制电路
微程序控制器的组成,本实验装置的微程序放在二片2816的E2PROM中,只有掉电保护功能,微命令寄存器为18位,由三片8D触发器(273)和1片4D触发器(175)组成;微地址寄存器6位,用三片正沿触发的双D触发器(74)组成。它们带有清“0”端和预置端。在不判别测试的情况下,T2时刻打入微地址寄存器的内容即为下一条微指令地址。当T4时刻进行测试判别时,转移逻辑满足条件后输出的负脉冲通过强置端将某—触发器置为“1”状态,完成地址修改。
在该实验电路中设有一个编程开头(位于实验板右上方),它具有二种状态:PROM(编程)、READ(校验)、RUN(运行)。当处于“编程状态”时,可根据微地址和微指令格将微指令二进制代码写入到控制存储器2816中。当处于“校验状态”时,可以对写入控制存储器中的二进制代码进行验证,从而可以断写入的二进制代码是否正确。当处于“运行状态”时,只要给出微程序的入口微地址,则可根据微程序流程图自动执行微程序。图中微地址寄存器输出端增加了一组三态门,目的是隔离触发器的输出,增加抗干扰能力,并用来驱动微地址显示灯。 3.微指令格式
一个完整的程序是由若干条指令语句组成的,一条指令义由若干条微指令组成,而每一条微指令义由若干微命令及下一条微地址信号组成。其中UA5—UA0为6位的后续微地址,A、B、C三个译码字段,分别有二个控制位译码出多位。C字段中的AR为算术运算是否影响进位及判零标控控制位,其为零有效。P(1)-P(4)是四个测试字位,其功能是根据机器指令及相应微代码进行译码,使微程序输入相应的微地址入口,从而实现微程序的顺序、分支、循环运行, I7—I2为指令寄存器的第7—2位输出,SE5—SEl为微控器单元微地址锁存器的强置端输出。B字段中的RS—B、R0-B、R1—B分别为源寄存器选通信号、目的寄存器选通信号及变址寄存器选通信号,其功能是根据机器指令来进行三个工作寄存器R0、R1及R2的选通译码, 10-14为指令寄存器的第0-4位,LDRi打入工作寄存器信号的泽码器位能控制位。P(1)判别指令代码前四位(I7、I6、I5、I4);P(2)判别指令代码I2、I3位:P(3)判别是否有进位或值是否为零:P(4)判别控制台指令(SWA、SWB)。LDRi与指令代码I0、I1译出LDR0、LDRI、LDR2;RD-B与指令代
码Io、I1译出目的通用寄存器:RS—B与指令代码I2、I3译出源通用寄存器:RI-B控制R2-B输出。
6. 结论
通过实验,能按照如《计算机组成原理实验指导书》给出的步骤输入微指令的二进制代码表并单步运行五条机器指令,且能精确得出计算机组成原理中所推出的结果。
7. 问题与讨论及实验总结
问题与讨论:
在练习二所要求的输入微指令的二进制代码表的五条机器指令时,没有将编程开关置为READ(校验)状态,致使在校验的时候,读出的微代码一直不变,后经过改正,实验得以完成。 实验总结:
通过本次实验,我掌握了微程序的编制及写入,学习了基本指令的执行流程。掌握了时序产生器的原理和具体操作,掌握了一些微程序控制器的功能和组成知识。在实验过程中,我基本能按步骤完成实验,但因为控制信号繁多而未能熟练地进行操作,最终还是能勉强完成实验。因此,做实验时一定要认真仔细,课前更应做好充分的预习工作。
实验报告四
系统总线和具有基本输入输出功能的总线接口实验
一 实验目的和要求
1.理解总线的概念及其特性。 2.掌握控制总线的功能和应用。
二 实验环境
PC机一台,TD-CMA 实验系统一套
三 实验原理:
由于存储器和输入、输出设备最终是要挂接到外部总线上,所以需要外部总线提供数据信号、地址信号以及控制信号。在该实验平台中,外部总线分为数据总线、地址总线、和控制总线,分别为外设提供上述信号。外部总线和CPU 内总线之间通过三态门连接,同时实现了内外总线的分离和对于数据流向的控制。地址总线可以为外部设备提供地址信号和片选信号。由地址总线的高位进行译码,系统的I/O地址译码原理见图4-1-1(在地址总线单元)。由于使用A6、A7进行译码,I/O地址空间被分为四个区,如表4-1-1所示
首先将时序与操作台单元的开关KK1、KK3置为‘运行’档,开关KK2置为‘单拍’档, 按动CON单元的总清按钮CLR,并执行下述操作。
① 对MEM进行读操作(WR=0,RD=1,IOM=0),此时E0灭,表示存储器读功能信号有效。
② 对MEM进行写操作(WR=1,RD=0,IOM=0),连续按动开关ST,观察扩展单元数据指示灯,指示灯显示为T3时刻时,E1灭,表示存储器写功能信号有效。
③ 对I/O进行读操作(WR=0,RD=1,IOM=1),此时E2灭,表示I/O读功能信号有效。
④ 对I/O进行写操作(WR=1,RD=0,IOM=1),连续按动开关ST,观察扩展单元数据指示灯,指示灯显示为T3时刻时,E3灭,表示I/O写功能信号有效。 为了实现对于MEM和外设的读写操作,还需要一个读写控制逻辑,使得CPU能控制MEM和I/O设备的读写,实验中的读写控制逻辑如图4-1-2 所示,由于T3的参与,可以保证写脉宽与T3一致,T3由时序单元的TS3给出。IOM用来选择是对I/O设备还是对MEM进行读写操作,IOM=1时对I/O设备进行读写操作,IOM=0时对MEM进行读写操作。RD=1时为读,WR=1时为写
四 实验步骤:
1. 读写控制逻辑设计实验。
1) 按照图4-1-4 实验接线图进行连线。
2) 具体操作步骤图示如下:
首先将时序与操作台单元的开关KK1、KK3置为‘运行’档,开关KK2置为‘单拍’档,按动CON单元的总清按钮CLR,并执行下述操作。 [1] 对MEM进行读操作(WR=0,RD=1,IOM=0),此时E0灭,表示存储器读功
能信号有效。
[2] 对MEM进行写操作(WR=1,RD=0,IOM=0),连续按动开关ST,观察扩展
单元数据指示灯,指示灯显示为T3时刻时,E1灭,表示存储器写功能信号有效。 [3] 对I/O进行读操作(WR=0,RD=1,IOM=1),此时E2灭,表示I/O读功能信
号有效。
[4] 对I/O进行写操作(WR=1,RD=0,IOM=1),连续按动开关ST,观察扩展 单元数据指示灯,指示灯显示为T3时刻时,E3灭,表示I/O写功能信号有效。 2. 基本输入输出功能的总线接口实验
1) 根据挂在总线上的几个基本部件,设计一个简单的流程:
[1] 输入设备将一个数打入R0寄存器。 [2] 输入设备将另一个数打入地址寄存器。
[3] 将R0寄存器中的数写入到当前地址的存储器中。 [4] 将当前地址的存储器中的数用LED数码管显示。 2) 按照图4-1-5 实验接线图进行连线。 3) 具体操作步骤图示如下: 将时序与操作台单元的开关KK1、KK3置为‘运行’档,开关KK2置为‘单拍’档,CON单元所有开关置0(由于总线有总线竞争报警功能,在操作中应当先关闭应关闭的输出开关,再打开应打开的输出开关,否则可能由于总线竞争导致实验出错), 按动CON单元的总清按钮CLR,然后通过运行程序,在数据通路图中观测程序的执行过程。 [1] 输入设备将20H打入R0寄存器。
[2] 将R0中的数据20H打入存储器32H单元。 [3] 将当前地址的存储器中的数写入到R0寄存器中 [4] 将R0寄存器中的数用LED数码管显示
五、实验总 结
1、存储器和输入、输出设备最终是要挂接到外部总线上,因此需要外部总线提供数据信 号、地址信号以及控制信号。
2、外部总线和 CPU 内总线之间通过三态门连接,同时实现了内外总线的分离和对于数据流向的控制。
而地址总线可以为外部设备提供地址信号和片选信号。 3.为了实现对于 MEM 和外设的读写操作,还需要一个读写控制逻辑,使得 CPU 能控制 MEM和 I/O 设备的读写
4、WR=0,RD=1,IOM=0时 E0 灭,表示存储器读功能信号有效。 WR=1,RD=0,IOM=0) 连续按动开关ST,当指示灯显示为 T3 时刻时,E1 灭,表示存储器写功能信号有效。 WR=0,RD=1,IOM=1时,E2 灭,表示 I/O 读功能信号有效。
WR=1,RD=0,IOM=1)时,观察扩展单元数据指示灯,指示灯显示为 T3 时刻时,E3 灭,表示 I/O 写功能信号有效。
5、在接线时为了方便,可将管脚接到 CON 单元闲置的开关上,若开关打到 1,等效于接到VCC;若开关打到0,等效于接到GND
因篇幅问题不能全部显示,请点此查看更多更全内容