计算机组成原理实验报告三:微程序控制器实验
20##-05-06 01:00:09| 分类: 实验报告 | 标签:实验 微程序 字段 微指令 信号 |字号大中小 订阅
实验三:微程序控制器实验
一、实验目的与要求:
实验目的:1、掌握时序产生器的原理和具体操作。
2、掌握微程序控制器的功能、组成知识。
3、掌握微程序的编制、写入、观察微程序的运行,学习基本指令的执行流程。
要求:做好实验预习,掌握进位控制运算器的原理。实验之前,应认真准备,写出实验步骤和具体分析内容,否则实验效率会特别低,一次实验时间根本无法完成实验任务,即使基本做对了,也很难说学懂了些什么重要教学内容。
二、 实验方案:
【1】、连接好实验线路,检查无误后接通电源。
【2】、 编程:
(1)将编程开关(MJ20)置为PROM(编程)状态;
(2)将STATE UNIT中的STEP置为"STEP"状态,STOP置为"RUN"状态;
(3)在UA5-UA0开关上置要写的某个微地址(八进制);
(4)在MK24-MK1开关上置要写的微地址相应的24位微代码,24位开关对应24位显示灯,开关量为"1"灯亮,为"0"灯灭;
(5)启动时序电路(按动启动按钮START),即将微代码写入到E2PROM2816的相应地址对应的单元中;
(6)重复(3)~(5)步骤将每一条微指令写入E2PROM2816。
【3】、校验:
(1)将编程开关置为READ状态;
(2)将STEP开关置为"STEP"状态,STOP开关置为"RUN"状态;
(3)在开关UA5~UA0上置好要读的某个微地址;
(4)按动START键,启动时序电路,观察显示灯MD24-MD1的状态,检查读出的微代码是否已写入的相同。如果不同在将开关置于PROM编程状态,重新执行编程步骤;
(5)重复(3)、(4)步骤将每一条微指令从E2PROM2816中读出。
【4】、单步运行:
(1)将编程开关置于"RUN"状态;
(2)STEP置为"STEP"状态,STOP置为"RUN"状态;
(3)"AW-BUS"开关置为0,将二进制开关INPUT DEVICE区域内的D5-D0全为1;
(4)操作CLR开关使信号系统1→0→1;
(5)按动"START",启动时序电路,则每按动一次启动键,读出一条微指令,当读到某些指令时需通过强制端强制转换后读出指令。同理把所有分支后执行一遍。
三、 实验结果和数据处理:
从示波器上比较可观察TS1、TS2、TS3、TS4各点的波形,画出的波形如下:
四、 实验结果分析:
分析ADD的每条微指的指令格式和功能:
ADD:为双字长指令。第一字为操作码,第二字为操作数地址,其含义是将R0寄存器的内容与内存中以A为地址单元的数相加,结果放R0寄存器中。
ADD加法指令由11(PC→AR ,PC+1)、03(RAM→BUS, BUS→AR) 、04(RAM→BUS ,BUS→DR2) 、05(RO→DR1) 、06 ((DR1)+(DR2)→RO)共8条微指令组成。
(1)、 11微指令功能是RAM赋给BUS,BUS赋给DR2; S3 S2 S1 S0 M CN 的值为"000000"代表进行自加1运算;A字段"110"代表选择LDAR操作,B字段"110"是选择PC-B操作;UA5-UA0中"000011"代表下一指令的地址为"011"。
(2)、 03微指令功能是RAM赋给BUS,BUS赋给DR2; S3 S2 S1 S0 M CN 的值为"000000"代表进行自加1运算;A字段"110"代表选择LDAR操作,B字段"000"是无选择操作;UA5-UA0中"000100"代表下一指令的地址为"100"。
(3)、 04微指令功能是RAM赋给BUS,BUS赋给DR2; S3 S2 S1 S0 M CN 的值为"000000"代表进行自加1运算;A字段"011"代表选择LDDR2操作,B字段"000"是无选择操作;UA5-UA0中"000101"代表下一指令的地址为"101"。
(4)、05微指令功能是RO赋给DR1; S3 S2 S1 S0 M CN 的值为"000000"代表进行自加1运算;A字段"010"代表选择LDDR1操作,B字段"001"是选择RS-B操作;UA5-UA0中"000110"代表下一指令的地址为"110"。
(5)、06微指令功能是DR1+DR2的和赋给R0; S3 S2 S1 S0 M CN 的值为"100101"代表进行加法运算;A字段"001"代表选择LDDRi操作,B字段"101"是选择PC-B操作;UA5-UA0中"00000001"代表下一指令的地址为"01"。
五、写出你掌握了的控制信号的作用
①S3、S2、S1、S0、M、CN是算术逻辑运算器ALU的运算选择控制信号,选择ALU进行哪种运算。
②WE是存储器RAM的写明信号,WE=1时,RAM进行写操作,WE=0时,RAM进行读操作。
③A8、A9是2:4译码器(74LS139)的输入端,Y0、Y1、Y2、Y3是译码器输出端。当A8=0、A9=0时 选中Y0,当 A8=1、A9=0时 选中Y1,当A8=0、A9=1时 选中Y2,当 A8=1、A9=1时选中Y3。(其中Y0为控制三态门控制信SW-B,Y1为RAM的片选信号CE,Y2为数码管输出信号LED-B,Y3为空)
④A、B、C三个译码字段,通过3:8译码器分别译出多位控制信号。A字段中,主要是寄存器的打入信号,B字段中主要是寄存器的输出信号,C字段中,主要是测试信号,其中C字段的AR为算术运算是否影响进位及判零标志控制,其为零有效。
⑤SW-B是输入三态门控制信号,CE是RAM的片选信号,LED是数码管输出信号。
⑥UA5-UA0为6位的后续微地址。
⑦LOAD是PC加1信号,P(1)-P(4)是四个测试判别信号,其功能是根据机器指令及相应微代码译码,使微程序输入相应的微程序进行译码,使微程序输入相应的微地址入口,从而实现微程序的顺序、分支、循环运行。
六、结论
实验所用的时序电路可产生各等间隔的时序信号TS1-TS4,其中Φ为时钟信号。为了便于控制程序的运行,时序电路发生器设置了一个启停控制触发器Cr,使TS1-TS4信号输出可控。其中STEP(单步)、STOP(停机)分别是来自实验板上的两个二进制开关STEP、STEP的模拟信号。利用单步方式,每次只读出一条微指令,可以观察微指令的代码与当前微指令的执行结果。另外,当机器连续运行时,如果STOP开关置"1",也会使机器停机。
七、 问题与讨论及实验总结
本次实验难度较高,而且实验量大,所以首先预习工作要做好,否则很难按时按要求完成实验。实验分两部分进行,前面部分是微程序的编制、写入、观察微程序的运行,学习基本指令的执行流程。在这过程中,难点就是要掌握如何通过强制端设置分支地址,在实验过程中,不知道是因为接线的问题还是仪器的问题一度不能成功,录入了数据但是跳转不到要去的地方。我们以为是输入数据时出错,重新输了好多遍,但是都还是一样的结果。经过请教同学的帮助之后终于得出了正确的结果。后半部分就是用联机软件的逻辑示波器观察时序信号。这个相对简单,连接好操作起来也很快。
随后就很顺利地完成了实验。这次实验使我懂得要认真弄清楚每一步实验的原理和所需要的知识点,这样才可以有速度完成实验,同时也知道做实验需要持之以恒的恒心、信心与耐心。 通过本次实验我掌握了微程序控制器的功能、组成知识,掌握了指令格式和各字段功能,掌握了微程序的编制、写入、观察微程序的运行,学习了基本指令的执行流程。
从实验中总结出的几点:
(1)这次实验最重要的是如何执行五条机器指令,分别是IN(输入),ADD(二进制加法),STA(存数),OUT(输出),JMP(无条件转移)。
(2)S3、S2、S1、S0、M、CN是算术逻辑运算器ALU的运算选择控制信号,选择ALU执行哪种运算。通过改变S3、S2、S1、S0、M、CN控制信号,能够实现操作数与被操作数的算术运算或逻辑运算。
(3)WE信号是写命令信号。
(4)A、B、C分别能译出第15、14、13、12、11、10、9、8 、7位信号。A字段中,主要是寄存器的打入信号。B字段中,主要是寄存器的输出信号。C字段中,主要是测试信号。
(6)UA5-UA0是后继微地址
八、 思考选择题:(单选题)
1、( A ) 2、( C ) 3、( A ) 4、( A )
5、( B ) 6 、( C ) 7、( B ) 8、( A )
9、( A ) 10、( B ) 11、( C )
计算机组成原理实验报告之一:算术逻辑运算器
第二篇:实验四 微程序控制器原理实验
信息与管理科学学院计算机与科学技术系
实验报告
课程名称: 计算机组成原理与系统结构
实验名称: 微程序控制器原理实验
姓 名: 学 号: 1110101043
班 级: 计科11-2班 实 验 室: 紫竹地下实验室
指导教师: 日 期: 2013.4.19
实验四 微程序控制器原理实验
一、实验目的:
掌握微程序控制器的组成及工作过程。
二、实验环境:
EL-JY-II型计算机组成原理实验系统一台,连接线若干。
三、实验内容:
往EEPROM里任意写24位微代码,并读出验证其正确性。
四、实验操作过程
Ⅰ、单片机键盘操作方式实验
在进行单片机键盘控制实验时,必须把K4开关置于“OFF”状态,否则系统处于自锁状态,无法进行实验。
1. 实验连线:
实验连线图如图4-11所示。
连线时应按如下方法:对于横排座,应使排线插头上的箭头面向自己插在横排座上;对于竖排座,应使排线插头上的箭头面向左边插在竖排座上。
图4-11 实验四键盘实验接线图
2. 写微代码:
将开关K1K2K3K4拨到写状态即K1 off、K2 on、K3 off、K4 off,其中K1、K2、K3在微程序控制电路,K4在24位微代码输入及显示电路上。
(1) 在监控指示灯滚动显示【CLASS SELECt】状态下按【实验选择】键,显示【ES--_ _ 】输入04或4,按【确认】键,显示为【ES04】,表示准备进入实验四程序,也可按【取消】键来取消上一步操作,重新输入。
(2) 再按下【确认】键,显示为【CtL1=_】,表示对微代码进行操作。输入1显示【CtL1_1】,表示写微代码,也可按【取消】键来取消上一步操作,重新输入。按【确认】。
(3) 监控显示【U-Addr】,此时输入【000000】6位二进制数表示的微地址,然后按【确认】键,监控指示灯显示【U_CodE】,这时输入微代码【000001】,该微代码是用6位十六进制数来表示前面的24位二进制数,注意输入微代码的顺序,先右后左,此过程中可按【取消】键来取消上一次输入,重新输入。按【确认】键则显示【PULSE】,按【单步】完成一条微代码的输入,重新显示【U-Addr】提示输入表4-1第二条微代码地址。
(4) 按照上面的方法输入表4-1微代码,观察微代码与微地址显示灯的对应关系(注意输入微代码的顺序是由右至左)。
表4-1 实验四微代码表
3、读微代码:
(1) 先将开关K1K2K3K4拨到读状态即K1 off、K2 off、K3 on、K4 off,按【RESET】按钮复位,使监控指示灯滚动显示【CLASS SELECt】状态。
(2) 按【实验选择】键,显示【ES--_ _ 】输入04或4,按【确认】键,显示【ES04】。按【确认】键。
(3) 监控显示【CtL1=_】时,输入2,按【确认】显示【U_Addr】,此时输入6位二进制微地址,进入读微代码状态。再按【确认】显示【PULSE】,此时按【单步】键,监控显示【U_Addr】,微地址指示灯显示输入的微地址,微代码显示电路上显示该地址对应的微代码,至此完成一条微指令的读过程。观察黄色微地址显示灯和微代码的对应关系,对照表4-1表检查微代码是否有错误,如有错误,可按步骤2重写这条微代码。
Ⅱ、开关控制操作方式实验
本实验中所有控制开关拨动,相应指示灯亮代表高电平“1”,指示灯灭代表低电平“0”。 为了避免总线冲突,首先将控制开关电路的所有开关拨到输出高电平“1”状态,所有对应的指示灯亮。连线时应注意:对于横排座,应使排线插头上的箭头面向自己插在横排座上;对于竖排座,应使排线插头上的箭头面向左边插在竖排座上。
1、按图4-12接线图接线:
图4-12 开关控制电路接线
2、实验步骤:
1) 观测时序信号:
用双踪示波器观察脉冲源及时序电路的“f/4”、“T1、T2、T3、T4”端,按动【启动】按钮,观察“f/4”、“T1、T2、T3、T4”各点的波形,比较它们的相互关系,画出其波形,并与图4-9比较。
2)写微代码 (以写表4-1的微代码为例) :
首先将微程序控制电路上的开关K1K2K3拨到写入状态,即K1 off、K2 on、K3 off,然后将24位微代码输入及显示电路上的开关K4拨到on状态。置控制开关UA5 …… UA0=“000000”,输入微地址“000000”, 置24位微代码开关MS24---MS1为:“00000000 00000000 00000001”,按脉冲源及时序电路的【单步】,黄色微地址灯显示“000 000”,表明已写入微代码。保持K1K2K3K4状态不变,写入表4-1的所有微代码。
3)读微代码并验证结果:
将微程序控制电路上的开关K1K2K3拨到读出状态,即K1 off、K2 off、K3 on,然后将24位微代码输入及显示电路上的开关K4拨到off状态。置控制开关UA5 …… UA0=“000000”,输入微地址“000000”, 按脉冲源及时序电路的【单步】,黄色微地址灯显示“000 000”,24位微代码显示“00000000 00000000 00000001”,即第一条微代码。保持K1K2K3K4状态不变,改变UA5 …… UA0微地址的值,读出相应的微代码,并和表4-1的微代码比较,验证是否正确
五.实验结果及结论
结果与预期实验完全一致,结论正确。
六.实验心得:
通过写微代码、读微代码这一实验,我对微程序控制器的组成以及工作过程有了更近一步的了解,一开始还不是很了解,后来实验了几次,终于弄成了,有一种豁然开朗的感觉。
七、指导教师评议
成绩: (百分制)
指导教师签名: