计算机组成原理实验报告3微程序控制器实验稻谷书苑_第1页
计算机组成原理实验报告3微程序控制器实验稻谷书苑_第2页
计算机组成原理实验报告3微程序控制器实验稻谷书苑_第3页
计算机组成原理实验报告3微程序控制器实验稻谷书苑_第4页
计算机组成原理实验报告3微程序控制器实验稻谷书苑_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验三 微程序控制器实验一. 实验目的与要求:实验目的:1. 理解时序产生器的原理,了解时钟和时序信号的波形;2. 掌握微程序控制器的功能,组成知识;3. 掌握微指令格式和各字段功能;4. 掌握微程序的编制,写入,观察微程序的运行,学习基本指令的执行流程。实验要求:1. 实验前,要求做好实验预习,并复习已经学过的控制信号的作用;2. 按练习一要求完成测量波形的操作,画出ts1,ts2,ts3,ts4的波形,并测出所用的脉冲周期。按练习二的要求输入微指令的二进制代码表,并单步运行五条机器指令。二. 实验方案:按实验图在实验仪上接好线后,仔细检查无误后可接通电源。1. 练习一:用联机软件的逻辑示波

2、器观测时序信号,测量,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)探头一端接实

3、验仪左上角的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开关

4、置为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开

5、关置为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-

6、d0置为“111111”,d7和d6开关任意,(置0或者1都可以)4、 将清零开关clr从高拔到低,再从低拔到高,即将开关clr置101,可以发现后续微地址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,这表示下一个

7、要读的微指令从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人为强置修改分支地址;1

8、0、 执行完每个指令的最后一条微指令后,都会回到01微指令,这样才表示执行完了一条指令,同时也表示可以执行新的指令了;11、 按照上述方法,把所有分支都执行一遍。三. 实验结果和数据处理:测量并画出时钟和时序信号波形,比较它们的相互关系。波形图: cpu 周期ts1ts2ts3ts4时钟脉冲与ts1、ts2、ts3、ts4脉冲的波形,比较时钟脉冲与ts1、ts2、ts3、ts4脉冲的相互关系:时钟脉冲的一个cpu周期的时间,是ts1、ts2、ts3、ts4脉冲的时间之和,即节拍脉冲把一个cpu周期划分成几个较小的时间间隔。四. 实验结果分析:分析add的每条微指令的指令格式和功能:1)pcar

9、;pc+1:指令格式:微地址s3 s2 s1 s0 m cn we a9 a8abcua5 . ua0110 0 0 0 0 0 0 1 1110110110000011功能:根据abc字段发出的信号,we=0,读取内存内容,将pc的内容送到地址寄存器中ar,程序计数器加1,做好取下一条机器指令的准备。2)rambus;busar:指令格式:微地址s3 s2 s1 s0 m cn we a9 a8abcua5 . ua003000000001110000000000100功能:根据微地址03,ram进行读操作,发出存数控制信号,把ram的内容送到总线上,再送到地址寄存器ar中,程序计数器加1,

10、做好取下一条机器指令的准备。3)rambus,busdr2:指令格式:微地址s3 s2 s1 s0 m cn we a9 a8abcua5 . ua004000000001011000000000101功能:根据微地址04,ram进行读操作,发出lddr2信号,把ram的内容送到数据总线上,再送到dr2寄存器中,程序计数器加1,做好取下一条机器指令的准备。4)r0dr1: 指令格式:微地址s3 s2 s1 s0 m cn we a9 a8abcua5 . ua005000000011010001000000110功能:根据微地址05,发出rs-b信号,把寄存器r0中的内容送到dr1寄存器中,程

11、序计数器加1,做好取下一条机器指令的准备。5)dr1+dr2r0: 指令格式:微地址s3 s2 s1 s0 m cn we a9 a8abcua5 . ua006100101011001101000000001功能:根据微地址06,发出alu-b信号,把dr1和dr2相加,结果放r0寄存器中,回到01微指令。五. 写出掌握了的控制信号的作用:j we控制信号的功能:we是存储器ram的写命令信号,we=1时,ram进行写操作,we=0时,ram进行读操作。j 当step开关为0时态,一旦按下启动键,运行触发器cr一直处于1状态,因此时序ts1-ts4将周而复始地发送出去;当step为1时,一旦

12、按下启动键,机器便处于单步运行状态,即此次只读一条指令,可以观察微指令的代码与当前微指令的执行结果。j s3,s2,s1,s0,m,cn控制信号共同起到选择alu进行哪种运算。j load是pc加1信号,p(1)-p(4)是四个测试判别信号,其功能是根据机器指令及相应微代码进行译码,使微程序输入相应的微地址入口,从而实验微程序的顺序,分支,循环运行。j ldri控制信号,其功能是根据机器指令来进行三个工作寄存器.r0,r1及r2的选择存入译码。j rs-b,rd-b,ri-b分别为源寄存器选通输出信号,目的寄存器选通输出信号及变址寄存器选通输出信号,其功能是根据机器指令来进行三个工作寄存器r0

13、,r1,r2的选通输出译码。六.结论:j 根据实验操作步骤,所得的实验结果与理论值一致。七.问题与讨论:j 练习二的实验里在执行add指令时,在分支处强置修改分支地址,并且以后每次都强置修改,运行完以后,发现结果是错误的,检查步骤,与同学讨论,分析原因,原来是当微程序不产生分支时,后继微地址直接由微指令的顺序控制字段给出。当微程序出现分支时,意味着微程序出现条件转移,这时,可通过se6-se1强制端去修改微地址寄存器的内容,并按改好的内容读出下一条微指令,然后继续往下执行。八.实验总结:j 心得体会:通过该实验让我较好地掌握了微程序控制器的功能,组成知识,微指令格式和各字段功能,微程序的编制,

14、写入,观察微程序的运行,学习基本指令的执行流程,遇到问题,可以通过实验,分析,讨论,请教老师解决问题,基本达到学习的目的。j 问题分析:在实验过程中遇到问题时,首先检查线路是否连接准确,然后再查看步骤,有无漏做或做错的步骤,分析可能出错的原因,与同学讨论,若仍无法解决,就请教老师,请指导老师查看指正。九.思考题:j 本次实验共设计了几条指令?分别是什么指令?答: 本次实验共设计了五条指令,分别是in (输入),add(二进制加法),sta(存数),out(输出),jmp(无条件转移)。j s3,s2,s1,s0,m,cn控制信号共同起到什么作用?答: s3,s2,s1,s0,m,cn控制信号共

15、同起到选择alu进行哪种运算。j 写出we控制信号的功能。答: we控制信号的功能:we是存储器ram的写命令信号,we=1时,ram进行写操作,we=0时,ram进行读操作。j a.b.c字段主要能译出什么信号?分别写出来。答: a字段中,主要是寄存器的打入信号,b字段中主要是寄存器的输出信号,c字段中,主要是测试信号。j ua5-ua0是当前微地址还是后继微地址?答: ua5-ua0是当前后继微地址。j 06微指令功能是什么?06微指令s3,s2,s1,s0.m.cn的值为“100101”代表什么运算?a字段“001”和b字段“101”分别选中哪个控制信号,信号的功能分别是什么?06微指令中ua5-ua0中“000001”代表什么含义?答:06微指令功能是将dr1寄存器中的内容和dr2寄存器中的内

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论