计算机组成原理实验报告记录3微程序控制器实验
计算机组成原理-微程序控制器实验报告

计算机组成原理实验之微程序控制器实验一、实验目的1.掌握时序发生器的组成原理。
2.掌握微程序控制器的组成原理。
二、实验内容1.实验电路(1)时序发生器电路本实验所用的时序电路见图4.1。
电路由一个500KHz晶振、2片GAL22V10、一片74LS390组成,可产生两级等间隔时序信号T1-T4、W1-W3,其中一个W由一轮T1-T4组成,相当于一个微指令周期或硬连线控制器的一拍,而一轮W1-W3可以执行硬连线控制器的一条机器指令。
另外,供数字逻辑实验使用的时钟由MF经一片74LS390分频后产生。
图4.1 时序信号发生器(2)微程序控制器电路图4.2微程序控制器电路微地址转移逻辑表达式:A5=D5=μA5;A4=D4=C•P2+μA4;A3=D3=IR7•P1+μA3;A2=D2=IR6•P1+SWC•P0+μA2;A1=D1=IR5•P1+SWB•P0+μA1;A0=D0=IR4•P1+SWA•P0+μA0。
2.一些关键技术(1)微指令格式图4.3微指令格式(3)上述8条指令的微程序流程图如图4.4所示图4.4微程序流程图(4)微程序代码表表4-2微程序代码表微指令KT RRF WRF RRM WRM PR当前微地址00 0C 1E 06 07 0B 1D 0D 0E 0A 02 03 09 04 05 08 0F 下一微地址08 1E 06 07 1E 1D 0D 0E 1D 02 03 02 04 05 04 0F 10P0 1 . . . . . . . . . . . . . . . .P1 . . . . . . . . . . . . . . . . 1P2 . . . . . . . . . . . . . . . . .备用. . . . . . . . . . . . . . . . .TJ . 1 . . 1 1 . 1 1 . 1 . 1 . 1 . .LDIR . . . 1 . . . 1 . . . . . . . . 1PC+1 . . . . . . . . . . . . . . . . .LDPC# . 1 . . . 1 . . . . . . . . . 1AR+1 . . . . . . . . . . . 1 . . 1 . .LDAR# . 1 . . . 1 . . . 1 . . 1 . . . . LDDR1 . . . . . . . . . . . . . . . . . LDDR2 . . . . . . . . . . . . . . . . . LDRi . . . . . . . . 1 . . . . . . . .SW_BUS# . 1 1 . . 1 1 . 1 1 . . 1 1 . 1 . RS_BUS# . . . . 1 . . . . . . . . . . . . ALU_BUS# . . . . . . . . . . . . . . . . . RAM_BUS# . . . . . . . . . . 1 . . . . . . CER# . . . 1 . . . 1 . . . . . . . . 1 CEL# . . 1 . . . 1 . . . 1 . . 1 . . . LR/W# . . 0 . . . 0 . . . 1 . . 0 . . . Cn# . . . . . . . . . . . . . . . . .M . . . . . . . . . . . . . . . . .S0 . . . . . . . . . . . . . . . . .S1 . . . . . . . . . . . . . . . . .S2 . . . . . . . . . . . . . . . . .S3 . . . . . . . . . . . . . . . . .表4-2微程序代码表(续)微指令ADD SUB AND STA LDA JC STP OUT当前微地址10 18 11 19 12 1A 13 1B 14 1C 15 1F 16 17 下一微地址18 0F 19 0F 1A 0F 1B 0F 1C 0F 0F 0F 0F 0FP0 . . . . . . . . . . . . . .P1 . . . . . . . . . . . . . .P2 . . . . . . . . . . 1 . . .备用. . . . . . . . . . . . . .TJ . . . . . . . . . . . . 1 1LDIR . . . . . . . . . . . . . .PC+1 . 1 . 1 . 1 . 1 . 1 1 . 1 1LDPC# . . . . . . . . . . . 1 . .AR+1 . . . . . . . . . . . . . .LDAR# . . . . . 1 . 1 . . . . .LDDR1 1 . 1 . 1 . 1 . . . . . . .LDDR2 1 . 1 . 1 . . . . . . . . .LDRi . 1 . 1 . 1 . . . 1 . . . .SW_BUS# . . . . . . . . . . . . . .RS_BUS# . . . . . . 1 . 1 . . 1 . 1ALU_BUS# . 1 . 1 . 1 . 1 . . . . . .RAM_BUS# . . . . . . . . . 1 . . . .CER# . . . . . . . . . . . . . .CEL# . . . . . . . 1 . 1 . . . .LR/W# . . . . . . 0 . 1 . . . .Cn# . . . 1 . . . . . . . . . .M . 0 . 0 . 1 . 0 . . . . . .S0 . 1 . 0 . 1 . 0 . . . . . .S1 . 0 . 1 . 1 . 0 . . . . . .S2 . 0 . 1 . 0 . 0 . . . . . .S3 . 1 . 0 . 1 . 0 . . . . . .注:后缀为#的信号都是低电平有效信号,为了在控存ROM中用“1”表示有效,这些信号在控制器中经过反相后送往数据通路。
计算机组成原理微指令实验报告

计算机组成原理实验报告时间:2012.11.26 地点:实验大楼4楼北成绩:班级:xxxxxx 学号:xxxxxx 姓名:xx班级:xxxxxx 学号:xxxxxxx 姓名:xx题目:微程序控制器实验一、实验目的:1.掌握微程序控制器的组成原理;2.掌握微程序的编制、写入,观察微程序的运行过程。
二、实验内容及要求:3.熟悉微指令的编写方式,编码格式,了解机器指令与微指令之间的关联。
4.设计微指令,以实现从存储器中读出8位二进制数并进行加法计算的功能。
三、实验步骤、观察与思考:实验步骤:1.连线,将实验电路板上的所需单元用排线连接起来,以实现数据通路。
2.对微控制器的读写操作(1)手动读写:(默认为已实现线路连接)进行手动读或写,都需要手动给出地址,系统专门安排了一个ADDR单元,作为地址输入。
ADDR单元实为一个加减计数器。
当开关为“加1”挡时,在T2的下沿计数器进行加1计数;当开关为“减1”挡时,在T2的下沿计数器进行减1计数;当开关置为“置数”挡时,计数器置初值,其作用相当于直通,SA7…SA0的输出值就是二进制开关组的值。
在实验中选择什么挡位,取决于写入数据的地址是否连续,如果是连续地址,选择“加1”或是“减1”挡会方便一些。
如果是离散地址,选择“置数”挡会方便一些。
1)手动对微控制器进行编程(写)。
a.修改连线,以方便实现手动控制(完成读写操作后恢复);b.将MC单元编程开关置为“编程”挡,时序单元状态开关置为“单步”挡,ADDR单元状态开关置为“置数”挡。
c.使用ADDR单元的低六位SA5…SA0给出微地址MA5…MA0,微地址可以通过MC单元的MA5…MA0微地址灯显示。
d.CON单元SD27…SD20,SD17…SD10,SD07…SD00开关上置24位微代码,待写入值由MC单元的M23…M0 24位LED灯显示。
e.启动时序电路(按动一次TS按钮),即将微代码写入到EEPROM2816的相应地址对应的单元中。
计算机组成原理课程实习报告 流水微程序控制器

目录1.实习的目的和任务 (1)1.1目的 (1)1.2任务 (1)2.实习要求 (1)3.实习地点 (1)4.主要仪器设备 (1)5.实习内容 (1)5.1计算机整机 (1)5.2计算机外设 (2)5.3流水型微程序控制器的设计与调试 (2)5.3.1实验原理 (2)5.3.2 CPLD设计程序 (7)5.3.3实验步骤 (7)5.3.4调试 (10)5.3.5性能分析对比 (10)6.问题讨论与分析 (10)7.结束语 (11)参考文献 (11)计算机组成原理课程实习1.实习的目的和任务1.1目的进一步融会贯通教材内容,掌握计算机各功能模块的工作原理、相互联系和来龙去脉,完整地建立计算机整机概念;激发学生的学习热情和主动性,培养学生的独立工作能力,在实践活动中,将所知识综合运用,增长才干,并积累经验;培养严谨的科研作风,使学生利用先修课和计算机组成原理课程的理论知识和实验技能,在该课程所涉及的工程技术范围内,创造性地完成部件及系统的分析、设计、组装和调试,进一步加强实验技能的训练。
1.3任务(1)分析计算机整机系统;分析计算机外设与主机的关系。
(2)在基本模型机的基础上,进一步将其构成一台具有流水功能的模型机。
(3)学习掌握流水微程序控制器的设计原理。
2.实习要求(1)按照实习要求完成相应的实习任务;(2)实现实习目的;(3)完成实习报告。
3.实习地点田家炳4044.主要仪器设备(实验用的软硬件环境)(1)ZY15CompSys12BB计算机组成原理及系统结构实验箱一台(2)排线若干(3)PC机一台5.实习内容5.1计算机整机计算机系统是一个由硬件、软件组成的多层次结构,它通常由微程序级、一般机器级、操作系统级、高级语言级组成,每一级上都能进行程序设计,且得到下面各级的支持。
计算机的硬件是由有形的电子器件等构成的,它包括运算器、存储器(硬盘、U盘、移动硬盘等)、控制器、适配器、输入输出设备(键盘、鼠标器、激光印字机等)。
计算机组成原理实验报告三微程序控制器实验

微程序控制器实验报告一、实验目的(1)掌握微程序控制器的功能、组成知识。
(2)掌握为程序的编制、写入、观察微程序的运行二、实验设备:PC机一台,TD-CM3+实验系统一套三、实验原理:微程序控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能转换成可以控制的硬件逻辑部件的为命令序列,完成数据传送和个汇总处理操作,他的执行方法是将控制各部件的微命令的集合进行编码,即将微命令的集合仿照及其指令一眼,用数字代码的形式表示,这种表示陈伟微指令。
这样就可以用一个微指令序列表示一条机器指令,这种为指令序列称作为程序。
微程序存储在一种专用的存储器中,成为控制储存器四、实验步骤1.对为控制器进行读写操作:(1)手动读写:①按图连线:②将MC单元编程开关置为“编程”档,时序单元状态开关置为“单步”档,ADDR 单元状态开关置为“置数”档③使用ADDR单元的低六位SA5…SA0给出微地址MA5…MA0,微地址可以通过MC 单元的MA5…MA0微地址灯显示④CON单元SD27…SD20,SD17…SD10,SD07…SD00开关上置24位微代码,待写入值由MC单元的M23…M024位LED灯显示⑤启动时序电路(按动一次TS按钮),即将微代码写入到E2PROM2816的相应地址对应单元中⑥重复③④⑤三步,将下图微代码写入2816芯片中二进制代码表(2)联机读写:①将微程序写入文件,联机软件提供了微程序下载功能,以代替手动读写微控制器,但微程序得以指定的格式写入本次试验的微程序如下:://************************************************************// :// // :// 微控器实验指令文件 // :// // ://************************************************************// ://***************Start Of MicroController Data****************//$M 00 000001;NOP$M 01 007070;CON(INS)->IR,P<1>$M 04 002405;R0->A$M 05 04B201;R0->B$M 30 001404;A加B->RO$M 32 183001;IN->R0$M 33 280401;R0->OUT$M 35 000035;NOP;//***************End Of MicroController Data*******************// ②写入微程序用联机软件的“【转存】-【装载数据】”功能将改格式文件装载入试验系统。
计算机组成原理微程序控制器

任课教师:张芳、许建龙《计算机组成原理》(2013-2014学年第2学期)实验报告学号:姓名:班级:微程序控制器实验报告一、实验目的:1)了解TEC-2机控制器部件的组成2)熟练掌握56位微指令中各字段的含义3)可以通过微码自己用监控程序编程序,实现两数相加和相减,以及更复杂的操作二、实验仪器:主机一台三、简要原理:1.TEC-2机的控制器部件的组成TEC-2机控制器部件的关键内容包括:(1)由7片LS6116随机读写存储器芯片组成的56位字长的微程序控制存储器,用于存放TEC-2机的微程序。
其内容在刚加电时不定,加电后将首先从2片ROM(LS2716芯片)中读出固化的、用于实现53条机器指令的微程序,经组织后写入这一控制存储器,这一过程称为装入微码。
装入完成后,将从监控程序的零地址执行指令,完成TEC-2机的启动过程。
这之后,还可以用LDMC指令按规定的办法向控制存储器写入新的微程序,以实现新的机器指令。
从简化逻辑框图上可以看到,控制存储器的地址为μRA9~μRA0,读出的信息送微指令流水线寄存器PLR。
(2)微指令寄存器PLR由7片8位的寄存器芯片(6片LS374和1片LS273)组成,用于存放当前微指令的内容,更具体的说明将在后面给出。
(3)微程序定序器AM2910芯片(其内部结构、引脚信号和运行原理等稍候详细说明),是微程序控制器中非常关键、也是稍微难懂一点的部分。
在学习中要正确理解。
它的核心功能是依据机器的运行状态与当前微指令的有关内容等,正确地形成下一条微指令的地址,以保证微程序按要求的微指令序列关系自动地逐条衔接执行。
(4)程序计数器PC和当前指令地址寄存器IP,是用运算器通用寄存器组中的两个选定的寄存器R5和R6实现的,这在图上见不到。
(5)指令寄存器IR,用于存放当前正在执行的指令内容。
(6)为AM2910提供输入地址信号的配套线路,包括:①由两片LS2716 ROM芯片组成的MAPROM,它将指令寄存器中的操作码转换成一段微程序的入口地址;②由l片LS125和1片LS244组成的接收内部总线的IB9~IB0信号的选择门电路,它把由水平板上的开关提供的微指令地址送AM2910的地址输入端;③由1片LS125和微指令寄存器的PLR55~48组成的一组地址输入,把当前微指令中的后续地址B55~46送入AM2910的地址输入端;请注意,1片LS125(共4位独立的输入和输出端)分成两组(每组两位)分别用于②和③两项用途。
计算机组成原理综合性实验报告

一、实验目的1、掌握微程序控制器的组成原理2、掌握微程序的编制,写入,观察微程序的运行3、掌握时序发生器,rom,寄存器的组成原理二、实验内容3、详细设计首先是微指令的编写,本次实验需要编写三条微指令:BADD,ADD 和STA。
如下表:AD LDR2 R1-X R2-Y + - P NAD 000 0 0 0 0 0 0 0 1 1 0 0 1 0 1 10 000 001 1 1 1 0 1 0 0 0 0 0 0 0 0 0 00 010 010 1 0 1 1 1 0 0 0 0 0 0 0 0 0 01 000 011 1 0 1 1 0 1 0 0 0 0 0 0 0 0 00 000 100 1 1 1 0 1 0 0 0 0 0 0 0 0 0 00 000 101 0 0 0 0 0 0 0 0 0 1 0 0 1 0 00 110 110 0 0 0 0 0 0 1 0 1 0 1 0 0 0 00 000 CPU周期与时序脉冲的分配:每条指令执行一个cpu周期,分为4个时序脉冲。
T(1)时进行取指令。
T(2)时将后继地址存到微地址寄存器中,并将p字段和控制字段存入微命令寄存器。
T(3)时将进行地址逻辑转移,若p字段为00或11则不用改变微地址寄存器中的地址,其他情况则需要通过判断op字段或进位标志c来改变微地址寄存器的值。
T(4)时将该条微命令输出。
4、测试结果以下是仿真波形:1、时序脉冲2、BADD(C=0)3、BADD(C=1)4、ADD5、STA测试结果准确5、实验总结这次实验,难度不在怎么写那些模块上,而是在对整个微程序控制器的运行过程的理解上和时序脉冲的分配上。
在读过书中的相关内容和与同学讨论后,我对这个实验的大概流程有了比较清楚的思路。
于是开始写代码。
这个过程算是很顺利,因为只要用到vhdl的基本语法就可以了。
写完后编译通过,开始仿真,才真正开始出现问题。
首先是清零信号,在一个时序脉冲后清零信号还是有效,无法将控存中的微指令存入寄存器,然后是输出的微命令持续的时间不对,有的持续一个cpu周期,有的持续两个cpu周期,通过增加输出,在仿真波形中查看op,c,地址转移逻辑的输出addr1,微地址寄存器的输出addr2等的波形,发现是时钟信号出现问题:我将时钟设为clk=‘1’了,于是将时钟改为rising_edge(clk)。
计算机组成原理 微程序控制器实验

深圳大学实验报告课程名称:操作系统实验项目名称:微程序控制器实验学院:计算机与软件学院专业:软件工程指导教师:报告人:学号:班级:实验时间:实验报告提交时间:教务处制一、实验目的:通过看懂教学计算机中已经设计好并正常运行的数条基本指令(例如,ADD、MVRR、OUT、MVRD、JR、RET等指令)的功能、格式和执行流程,然后自己设计几条指令的功能、格式和执行流程,并在教学计算机上实现、调试正确。
其最终要达到的目的是:1.深入理解计算机微程序控制器的功能、组成知识;2.深入地学习计算机各类典型指令的执行流程;3.对指令格式、寻址方式、指令系统、指令分类等建立具体的总体概念;4.学习微程序控制器的设计过程和相关技术。
二、实验要求1.实验之前,应认真准备,写出实验步骤和具体设计内容,否则实验效率会特别低,一次实验时间根本无法完成实验任务,即使基本做对了,也很难说学懂了些什么重要教学内容;2.应在实验前掌握所有控制信号的作用,在脱机运算器实验中,已给出了与运算器有关的控制信号的作用,16 位机微程序控制器用到的控制信号的功能表可参见《技术说明与实验指导》的相关内容。
需要注意的是中断用到了DC23,在T4~T0= 0 0010一拍时DC23为1,其余节拍均为0;3.实验过程中,应认真进行实验操作,既不要因为粗心造成短路等事故而损坏设备,又要仔细思考实验有关内容,提高学习的主动性和创造性,把自己想不太明白的问题通过实验理解清楚,争取最好的实验效果,力求达到教学实验的主要目的;4.实验之后,应认真思考总结,写出实验报告,包括实验步骤和具体实验结果,遇到的主要问题和分析与解决问题的思路。
大家应该认识到,遇到一些问题是好事情,通过分析与解决这些问题,才提高了自己的工作能力,学习到更多的知识。
还未理解清楚,但实验结果正确了就匆忙结束实验,并没有达到教学实验的目的。
实验报告中,还应写出自己的学习心得和切身体会,也可以对教学实验提出新的建议等。
实验三:微程序控制器实验

《计算机组成原理》实验报告实验三:微程序控制器实验学院:专业:班级:学号:学生姓名:实验日期:指导老师:成绩评定:计算机学院计算机组成原理实验室实 验 三一、 实验名称:微程序控制器实验二、 实验目的:掌握微程序的编制、写入、观察微程序的运行情况 ,了解微程序流程原理。
三、 实验原理:微程序控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能转换成可以控制硬件逻辑部件工作的微命令序列,以完成数据传输和各种处理操作。
它的执行方法就是将控制各部件动作的微命令的集合进行编码,即将微命令的集合仿照机器指令一样,用数字代码的形式表示,这种表示称为微指令。
这样就可以用一个微指令序列表示一条机器指令,这种微指令序列称为微程序。
微程序存储在一种专用的存储器中,该存储器称为控制存储器。
微程序流程图:NOP00指令译码P<1>IN->R0R0->OUT NOPR0->AR0->BA+B->R00130320405333530ADDINOUTHLT01010135四、实验设备:TD-CMA实验系统一套五、实验步骤:1、对微控器进行编程(写)(1)将时序与操作台单元的开关KK1置为‘停止’档,KK3置为‘编程’档,KK4置为‘控存’档,KK5置为‘置数’档。
(2)使用CON单元的SD05-SD00给出微地址,IN单元给出低8位应写入的数据,连续两次按动时序与操作台的开关ST,将IN单元的数据写到该单元的低8位。
(3)将时序与操作台单元的开关KK5置为‘加1’档。
(4)IN单元给出中8位应写入的数据,连续两次按动时序与操作台的开关ST,将IN单元的数据写到该单元的中8位。
IN单元给出高8位应写入的数据,连续两次按动时序与操作台的开关ST,将IN单元的数据写到该单元的高8位。
(5)重复(1)(2)(3)(4)四步,将二进制代码表的微地址(地址和十六进制)写入芯片中。
2、对微控器进行校验(读)(1)将时序与操作台单元的开关KK1置为‘停止’档,KK3置为‘校验’档,KK4置为‘控存’档,KK5置为‘置数’档。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机组成原理实验报告记录3微程序控制器实验————————————————————————————————作者:————————————————————————————————日期:实验三微程序控制器实验一.实验目的与要求:实验目的:1.理解时序产生器的原理,了解时钟和时序信号的波形;2.掌握微程序控制器的功能,组成知识;3.掌握微指令格式和各字段功能;4.掌握微程序的编制,写入,观察微程序的运行,学习基本指令的执行流程。
实验要求:1.实验前,要求做好实验预习,并复习已经学过的控制信号的作用;2.按练习一要求完成测量波形的操作,画出TS1,TS2,TS3,TS4的波形,并测出所用的脉冲Ф周期。
按练习二的要求输入微指令的二进制代码表,并单步运行五条机器指令。
二.实验方案:按实验图在实验仪上接好线后,仔细检查无误后可接通电源。
1.练习一:用联机软件的逻辑示波器观测时序信号,测量Ф,TS1,TS2,TS3,TS4信号的方法如下:(1) TATE UNIT 中STOP开关置为“RUN”状态(向上拨),STEP开关置为“EXEC”状态(向上拨)。
(2) 将SWITCH UNIT 中右下角CLR开关置为“1”(向上拨)。
(3) 按动“START”按钮,即可产生连续脉冲。
(4)调试”菜单下的“显示逻辑示波器窗口,即可出现测量波形的画面。
(5)探头一端接实验仪左上角的CH1,另一端接STATE UNIT中的Ф插座,即可测出时钟Ф的波形。
(6)探头一端接实验仪左上角的CH2,另一端接STATE UNIT中的TS1插座,即可测出TS1的波形;(7)探头一端接实验仪左上角的CH1,另一端接STATE UNIT中的TS2插座,即可测出TS2的波形。
(8)将红色探头一端接实验仪左上角的CH1,另一端接STATE UNIT中的TS3插座,即可测出TS3的波形。
(9)将红色探头一端接实验仪左上角的CH1,另一端接STATE UNIT中的TS4插座,即可测出TS4的波形。
2.观察微程序控制器的工作原理:①关掉实验仪电源,拔掉前面测时序信号的接线;②编程写入E2PROM 2816A.将编程开关(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.启动时序电路,即将微代码写入到E2PROM 2816的相应地址对应的单元中;F.重复C-E步骤,将表3.2的每一行写入E2PROM 2816。
③校验A.将编程开关置为READ(校验)状态;B.保持STEP,STOP,CLR开关状态不变,将实验板上STATE UNIT 中的STEP置为STEP状态,STOP置为RUN状态,SWITCH UNIT中CLR开关置为1状态;C.在开关UA5-UA0上按表3.2置好要读的某个微地址;D.按动START键,启动时序电路,就能读出微代码,观察显示灯MD24-MD1的状态,检查读出的微代码是否与已经写入的相同,若不同,将开关置于PROM编程状态,重新执行;E.重复C-D步骤,将表3.2的每一行从E2PROM 2816读出来。
练习二:步运行五条机器指令。
1、将编程开关置于“RUN”状态;2、实验仪的“STEP”及”STOP”开关保持原状,即STEP置为“STEP”状态,STOP置为”RUN”状态,“SWITCH UNIT”中CLR开关置为1状态;3、实验仪的“SW-BUS”置为0,左下方开关D5-D0置为“111111”,D7和D6开关任意,(置0或者1都可以)4、将清零开关CLR从高拔到低,再从低拔到高,即将开关CLR置1→0→1,可以发现后续微地址UA5-UA0灯变为000000,000000是微指令运行启始地址;5、接着按动一下“START”键,UA5-UA0灯会变为010000,这是在读00(八进制)条微指令,给出了下一条要读的微指令是10(八进制);6、在UA5-UA0灯变为010000时,可通过实验仪左下方开关D7-D0人为强置设置分支地址,将D5-D0置“111111”→“111100”→“111111”,可以发现UA5-UA0灯从010000变为010011,这表示下一个要读的微指令从010000修改为了010011;7、在UA5-UA0灯为010011时,也就是23(八进制)时,对微程序流程图,按动一下“START”键,UA5-UA0灯会变为000001,也就是01(八进制),表示读出了23条微指令,给出了下一条要读的是01条微指令;8、在UA5-UA0灯为000001时,按动一下START键,UA5-UA0灯会变为000010,表示读出了01条微指令,下一条要读出的是02条微指令;9、接着按动一下STRATOR键,读出02条微指令时,UA5-UA0灯显示为001000时,在当前条件下,可通过强置端SE1-SE6相接的D5-D0人为强置修改分支地址;10、执行完每个指令的最后一条微指令后,都会回到01微指令,这样才表示执行完了一条指令,同时也表示可以执行新的指令了;11、按照上述方法,把所有分支都执行一遍。
三.实验结果和数据处理:测量并画出时钟和时序信号波形,比较它们的相互关系。
波形图:CPU 周期ΦTS1TS2TS3TS4时钟Ф脉冲与TS1、TS2、TS3、TS4脉冲的波形,比较时钟Ф脉冲与TS1、TS2、TS3、TS4脉冲的相互关系:时钟Ф脉冲的一个CPU周期的时间,是TS1、TS2、TS3、TS4脉冲的时间之和,即节拍脉冲把一个CPU周期划分成几个较小的时间间隔。
四.实验结果分析:分析ADD的每条微指令的指令格式和功能:1)P C→AR;PC+1:①指令格式:微地址S3 S2 S1 S0 M CN WE A9 A8 A B C UA5 …. UA011 0 0 0 0 0 0 0 1 1 110 110 110 000011②功能:根据ABC字段发出的信号,WE=0,读取内存内容,将PC的内容送到地址寄存器中AR,程序计数器加1,做好取下一条机器指令的准备。
2)RA M→BUS;BUS→AR:①指令格式:微地址S3 S2 S1 S0 M CN WE A9 A8 A B C UA5 …. UA003 000000001 110 000 000 000100②功能:根据微地址03,RAM进行读操作,发出存数控制信号,把RAM的内容送到总线上,再送到地址寄存器AR中,程序计数器加1,做好取下一条机器指令的准备。
3)RA M→BUS,BUS→DR2:①指令格式:微地址S3 S2 S1 S0 M CN WE A9 A8 A B C UA5 …. UA004 000000001 011 000 000 000101②功能:根据微地址04,RAM进行读操作,发出LDDR2信号,把RAM的内容送到数据总线上,再送到DR2寄存器中,程序计数器加1,做好取下一条机器指令的准备。
4)R0→DR1:①指令格式:微地址S3 S2 S1 S0 M CN WE A9 A8 A B C UA5 …. UA005 000000011 010 001 000 000110②功能:根据微地址05,发出RS-B信号,把寄存器R0中的内容送到DR1寄存器中,程序计数器加1,做好取下一条机器指令的准备。
5)DR1+DR2→R0: ①指令格式:微地址S3 S2 S1 S0 M CN WE A9 A8 A B C UA5 …. UA006 100101011 001 101 000 000001②功能:根据微地址06,发出ALU-B信号,把DR1和DR2相加,结果放R0寄存器中,回到01微指令。
五.写出掌握了的控制信号的作用:☺WE控制信号的功能:WE是存储器RAM的写命令信号,WE=1时,RAM进行写操作,WE=0时,RAM进行读操作。
☺当STEP开关为0时态,一旦按下启动键,运行触发器Cr一直处于1状态,因此时序TS1-TS4将周而复始地发送出去;当STEP为1时,一旦按下启动键,机器便处于单步运行状态,即此次只读一条指令,可以观察微指令的代码与当前微指令的执行结果。
☺S3,S2,S1,S0,M,Cn控制信号共同起到选择ALU进行哪种运算。
☺LOAD是PC加1信号,P(1)-P(4)是四个测试判别信号,其功能是根据机器指令及相应微代码进行译码,使微程序输入相应的微地址入口,从而实验微程序的顺序,分支,循环运行。
☺LDRi控制信号,其功能是根据机器指令来进行三个工作寄存器.R0,R1及R2的选择存入译码。
☺RS-B,RD-B,RI-B分别为源寄存器选通输出信号,目的寄存器选通输出信号及变址寄存器选通输出信号,其功能是根据机器指令来进行三个工作寄存器R0,R1,R2的选通输出译码。
六.结论:☺根据实验操作步骤,所得的实验结果与理论值一致。
七.问题与讨论:☺练习二的实验里在执行ADD指令时,在分支处强置修改分支地址,并且以后每次都强置修改,运行完以后,发现结果是错误的,检查步骤,与同学讨论,分析原因,原来是当微程序不产生分支时,后继微地址直接由微指令的顺序控制字段给出。
当微程序出现分支时,意味着微程序出现条件转移,这时,可通过SE6-SE1强制端去修改微地址寄存器的内容,并按改好的内容读出下一条微指令,然后继续往下执行。
八.实验总结:☺心得体会:通过该实验让我较好地掌握了微程序控制器的功能,组成知识,微指令格式和各字段功能,微程序的编制,写入,观察微程序的运行,学习基本指令的执行流程,遇到问题,可以通过实验,分析,讨论,请教老师解决问题,基本达到学习的目的。
☺问题分析:在实验过程中遇到问题时,首先检查线路是否连接准确,然后再查看步骤,有无漏做或做错的步骤,分析可能出错的原因,与同学讨论,若仍无法解决,就请教老师,请指导老师查看指正。
九.思考题:☺本次实验共设计了几条指令?分别是什么指令?答:本次实验共设计了五条指令,分别是IN (输入),ADD(二进制加法),STA(存数),OUT(输出),JMP(无条件转移)。
☺S3,S2,S1,S0,M,Cn控制信号共同起到什么作用?答:S3,S2,S1,S0,M,Cn控制信号共同起到选择ALU进行哪种运算。
☺写出WE控制信号的功能。
答:WE控制信号的功能:WE是存储器RAM的写命令信号,WE=1时,RAM进行写操作,WE=0时,RAM进行读操作。