微程序控制器实验
实验四 微程序控制器实验

3、TEC-XP 教学机的微指令格式
TEC-XP 教学机的微指令共 48 位,由 16 位的下址字段和 32 位的操作控制字段形成, 其格式如图 4-3 所示。
图 4-3
TEC-XP 教学机的微指令格式
(1)下址字段 a) 8 位的微下址 用于给出下一条将要执行的微指令的地址。 微程序顺序执行, 即把已增 1 后的微指 令地址作为下地址 b) 4 位的测试控制码 CI3~0 用于决定微程序中的微指令寻址方式(顺序寻址、跳跃寻址) 。本实验中只使用到 0000(初始化,使微下址=0) 、0010(指令功能分支,做 MAPROM 映射) 、0011 (条件转移,由 SCC 决定是否转移) 、1110(顺序寻址,将当前微地址加 1 作为微 下址)这四个命令码。
图 4-4
TEC-XP 教学机的数据通路与微命令
实验步骤
请根据每个步骤的详细要求,完成本实验内容。
1、设定工作方式
接通 TEC-XP 教学机的电源,将功能开关拨为 11010,即设为单步、手动执行指令,使 用微程序控制器,联机操作。
2、验证 A 组基本指令——加法指令 ADD R0,R1 的微程序
根据如下所示的 ADD 指令格式,可得到指令 ADD R0 , R1 的机器代码为 00000000 00000001,其中高 8 位为 ADD 指令的操作码(详见代码表 4-1) ,接下来的两个 4 位分别对 应 R0 和 R1 寄存器。
先按下 RESET 按键,复位系统,然后通过 16 位的数据开关 SW 拨入指令代码,再按 下 RESET 按键,此时指示灯 Microp 亮,其它灯全灭。 注意:在本实验中,选择的是微程序控制器,Microp 指示灯会一直点亮。 由附录图 4-5 所示的基本指令流程可知,加法指令 ADD R0 , R1 的整个指令周期包含 6 个 CPU 周期,其中前 3 个 CPU 周期是取指阶段,所有指令都是一样的,第 4 个 CPU 周期 用于指令操作码的地址映射,第 5 个 CPU 周期完成加法指令的功能,第 6 个 CPU 周期用于 判断是否需要执行中断周期, 从而决定该加法指令执行结束后的流向。 该加法指令的微程序 如表 4-6 所示。 在完成以上设置后,接下来每次按下 START 按键,控制器就会执行一条微指令,请在 实验前看懂以下微指令,在实验中验证每条微指令,并记录每条微指令执行时微地址、微 下址指示灯的状态。
微程序控制器的组成与微程序设计实验报告

微程序控制器的组成与微程序设计实验报告1.实验目的了解微程序控制器的组成和工作原理,掌握微程序设计方法。
2.实验器材和仪器-计算机-开发板-逻辑门集成电路3.实验过程a.程序设计首先,需要设计微程序控制器所使用的指令集。
本实验选取了一个简单的指令集,包括加载寄存器、存储器和输入输出操作等指令。
b.微指令设计根据指令集的要求,设计相应的微指令。
每个微指令包含了控制信号的信息,用于控制计算机的不同部件。
c.微程序设计根据微指令的设计,设计相应的微程序。
微程序是一系列的微指令的有序序列,用于控制计算机的指令执行。
d.实验搭建根据设计好的微程序,搭建微程序控制器的电路,并将电路与开发板连接。
e.实验验证将编写好的程序加载到存储器中,并通过控制信号监测计算机的运行情况。
验证微程序控制器的设计是否正确。
4.实验结果与分析经过实验验证,微程序控制器能够正常工作,并且能够按照设计好的微程序执行指令集中的各项操作。
通过观察控制信号的变化,可以得出微程序控制器是否正常工作的结论。
5.实验结论本实验以设计一个简单的微程序控制器为目标,通过设计微指令和微程序,并搭建相应的电路,成功实现了微程序控制器的功能。
通过本实验,我对微程序控制器的组成和设计原理有了更深入的了解。
6.实验总结微程序控制器是计算机中的重要组成部分,通过控制信号的变化,实现了对指令执行的控制。
本实验通过设计微指令和微程序,搭建相应的电路,成功实现了微程序控制器的功能。
通过本实验,我不仅对微程序控制器有了更深入的理解,还提高了我对计算机原理的理解能力和动手实践能力。
微程序控制器_实验报告

微程序控制器_实验报告本次实验使用的是微程序控制器,主要涵盖了微程序控制器的概念、微指令的设计、微指令的执行以及测试和调试方法等。
首先,我们需要了解什么是微程序控制器。
微程序控制器是一种专门用于控制计算机操作的控制器,其中的微指令由微程序控制器产生。
微程序控制器的主要优点是提高了计算机系统的可控性和可编程性,可避免在操作过程中出现复杂的电路切换。
在实验中,我们主要是操作微指令的设计和执行。
微指令需要根据指令的类型以及相应的操作码进行设计,确保计算机能够正确地执行指令。
在设计微指令过程中,我们要考虑到指令执行时需要进行的操作、信号的传递以及各个部分之间的协调。
在微指令设计完成后,需要进行微指令的执行。
微指令执行的过程也是十分关键的,这需要对微指令的执行顺序进行精密设计以保证整个计算机发挥最大的性能。
实验中我们了解了基本的微指令执行步骤,包括状态存储器、微指令计数器、微指令发生器以及微指令存储器等。
除了微指令设计和执行外,测试和调试也是实验中比较重要的步骤。
这一步骤旨在确保整个计算机系统能够正常运行,同时也可以在测试过程中发现和纠正存在的错误。
在测试过程中,我们需要编写测试程序,通过输入不同的指令类型和操作码来测试微指令是否能够正确地执行。
在调试过程中,我们需要通过检查微指令执行的每个步骤,找到代码中存在的错误并进行修正,以保证计算机的正常运行。
在实验中,学习了微程序控制器的基本知识,包括微指令的设计和执行以及测试和调试方法。
这些知识对于计算机专业的学生非常重要,可以帮助他们深入了解计算机系统的运行原理及其基本结构。
同时也可以为今后的工作和研究提供基础知识和经验。
微程序控制器实验报告

微程序控制器实验报告微程序控制器实验报告引言微程序控制器是一种常见的计算机控制器,它采用微程序的方式来实现指令的执行。
在本次实验中,我们将学习和探索微程序控制器的工作原理,并通过实验验证其功能和性能。
实验目的本次实验的主要目的是通过设计和实现一个简单的微程序控制器,来深入理解微程序控制器的工作原理和原理图设计。
实验过程1. 设计微指令集在设计微程序控制器之前,首先需要确定微指令集。
微指令集是由一系列微指令组成的,每个微指令对应一个控制信号,用于控制计算机的各个组件的操作。
在本次实验中,我们选择了常见的微指令集,包括存储器读写、算术逻辑运算、数据传输等指令。
2. 设计微指令控制存储器微指令控制存储器是微程序控制器的核心组件,用于存储微指令集。
在本次实验中,我们使用了静态随机存储器(SRAM)来实现微指令控制存储器。
通过将微指令集编码为二进制数,并将其存储在SRAM中的不同地址位置,实现对微指令的存储和读取。
3. 设计微指令解码器微指令解码器用于解析微指令,并产生相应的控制信号。
在本次实验中,我们使用了组合逻辑电路来实现微指令解码器。
通过将微指令的不同位与控制信号相连,实现对微指令的解码和控制信号的生成。
4. 设计微程序计数器微程序计数器用于控制微程序的执行顺序。
在本次实验中,我们使用了计数器和触发器来实现微程序计数器。
通过将微程序计数器的输出与微指令控制存储器的地址输入相连,实现对微指令的顺序读取。
实验结果通过实验,我们成功设计并实现了一个简单的微程序控制器。
在实验中,我们编写了微指令集,并将其存储在微指令控制存储器中。
通过微指令解码器和微程序计数器的协作,我们成功实现了对微指令的解码和执行。
实验结果表明,微程序控制器能够准确地控制计算机的各个组件的操作,并实现指令的执行。
实验总结通过本次实验,我们深入了解了微程序控制器的工作原理和原理图设计。
微程序控制器作为一种常见的计算机控制器,具有灵活性和可扩展性。
微程序控制器原理实验

微程序控制器原理实验微程序控制器是一种基于微程序理论的控制器,被广泛应用于计算机系统的控制部分。
微程序控制器利用微指令来完成对计算机硬件的控制,通过将控制指令以微指令的形式存储在控制存储器中,再通过微程序计数器和指令寄存器的协作来实现对计算机中相关硬件的控制。
微程序控制器通过微指令的方式将指令的信息分解成若干微操作,每个微操作对应一个微指令。
每个微指令又由多个微操作组成,通过控制存储器中的微指令的读出来实现对相应的微操作的控制。
在微程序控制器的设计过程中,需要进行微指令的编码和微操作的选择,确保微操作的实现顺序和时序满足设计要求。
微程序控制器的实验可以通过设计一个简单的微程序控制器来进行验证。
首先,需要设计一个微指令的格式,其中包括操作码、操作数、地址等字段。
然后,根据需要控制的硬件模块设计相应的微操作,并将这些微操作编码成微指令。
通过控制存储器将微指令存储起来,并设计一个微程序计数器和指令寄存器来控制微指令的读取和执行过程。
在实验中,可以选择一些简单的指令例如加法指令来进行设计。
首先,设计一个微指令的格式,其中包括操作码字段和操作数字段。
然后,根据加法指令的功能设计相应的微操作,例如从寄存器中读取操作数、将操作数累加等。
将这些微操作编码成微指令,并将微指令存储在控制存储器中。
通过微程序计数器和指令寄存器来控制微指令的读取和执行过程,实现对加法指令的控制。
在实验中,需要设计相应的硬件电路来实现微程序控制器的功能。
这些电路包括控制存储器、微程序计数器、指令寄存器等。
可以使用逻辑门、触发器等基本的数字电路元件来实现这些电路。
通过将这些电路连接起来,形成一个完整的微程序控制器实验样机。
在实验过程中,需要根据设计的微指令格式和微操作进行编码和存储。
通过控制存储器将微指令读取并执行,控制相应的硬件模块进行操作。
通过示波器或LED 等辅助工具来监测和验证微程序控制器的工作状态和正确性。
微程序控制器原理实验可以帮助学生深入理解微程序的工作原理和实现方式。
微程序控制实验报告(共10篇)

微程序控制实验报告(共10篇)微程序控制器实验报告计算机组成原理实验报告一、实验目的:(1)掌握微程序控制器的组成原理。
(2)掌握微程序的编制、写入,观察微程序的运行过程。
二、实验设备:PC 机一台,TD-CMA 实验系统一套。
三、实验原理:微程序控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能转换成可以控制的硬件逻辑部件工作的微命令序列,完成数据传送和各种处理操作。
它的执行方法就是将控制各部件动作的微命令的集合进行编码,即将微命令的集合仿照机器指令一样,用数字代码的形式表示,这种表示称为微指令。
这样就可以用一个微指令序列表示一条机器指令,这种微指令序列称为微程序。
微程序存储在一种专用的存储器中,称为控制存储器,微程序控制器原理框图如图所示:微程序控制器组成原理框图在实验平台中设有一组编程控制开关KK3、KK4、KK5(位于时序与操作台单元),可实现对存储器(包括存储器和控制存储器)的三种操作:编程、校验、运行。
考虑到对于存储器(包括存储器和控制存储器)的操作大多集中在一个地址连续的存储空间中,实验平台提供了便利的手动操作方式。
以向00H 单元中写入332211 为例,对于控制存储器进行编辑的具体操作步骤如下:首先将KK1 拨至‘停止’档、KK3 拨至‘编程’档、KK4 拨至‘控存’档、KK5 拨至‘置数’档,由CON 单元的SD05——SD00 开关给出需要编辑的控存单元首地址(000000),IN 单元开关给出该控存单元数据的低8 位(00010001),连续两次按动时序与操作台单元的开关ST(第一次按动后MC 单元低8 位显示该单元以前存储的数据,第二次按动后显示当前改动的数据),此时MC 单元的指示灯MA5——MA0 显示当前地址(000000),M7——M0 显示当前数据(00010001)。
然后将KK5 拨至‘加1’档,IN 单元开关给出该控存单元数据的中8 位(00100010),连续两次按动开关ST,完成对该控存单元中8 位数据的修改,此时MC 单元的指示灯MA5——MA0 显示当前地址(000000),M15——M8 显示当前数据(00100010);再由IN 单元开关给出该控存单元数据的高8 位(00110011),连续两次按动开关ST,完成对该控存单元高8 位数据的修改此时MC 单元的指示灯MA5——MA0 显示当前地址(000000),M23——M16 显示当前数据(00110011)。
微程序控制器组成实验

实验五、微程序控制器组成实验一、实验目的1.掌握时序产生器的组成原理。
2.掌握微程序控制器的组成原理。
3.掌握微指令格式的化简和归并。
二、实验设备TEC-4计算机组成原理教学实验仿真系统三、实验电路1.数据通路微程序控制器是根据数据通路和指令系统来设计的。
这里采用的数据通路是在综合前面各实验模块的基础上,又增加程序计数器PC(U18)、地址加法器ALU2(U17)、地址缓冲寄存器R4(U25、U26)和中断地址寄存器IAR(U19),详见第二节的图4。
PC和ALU2各采用一片GAL22V10,两者配合使用,可完成程序地址的存储、增1和加偏移量的功能。
R4由两片74HC298组成,带二选一输入端。
IAR是一片74HC374,用于中断时保存断点地址。
有关数据通路总体的详细说明,请参看第一节。
2.微指令格式与微程序控制器电路图4 微指令格式根据给定的12条机器指令功能和数据通路总体图的控制信号,采用的微指令格式见图4。
微指令字长共35位。
其中顺序控制部分10位:后继微地址6位,判别字段4位,操作控制字段25位,各位进行直接控制。
微指令格式中,信号名带有后缀“#”的信号为低有效信号,不带有后缀“#”的信号为高有效信号。
图5 微程序控制器的组成对应微指令格式,微程序控制器的组成见图5。
控制存储器采用5片EEPROM 28C64(U8、U9、U10、U11、U12)。
28C64的输出是D0—D7,分别与引脚11、12、13、15、16、17、18、19相对应,CM0是最低字节,CM4是最高字节。
微地址寄存器6位,用一片6D触发器74HC174(U1)组成,带有清零端。
两级与门、或门构成微地址转移逻辑,用于产生下一微指令的地址。
在每个T1上升沿时刻,新的微指令地址会打入微地址寄存器中,控制存储器随即输出相应的微命令代码。
微地址转移逻辑生成下一地址,等下一个T1上升沿时打入微地址寄存器。
跳转开关JUMP(J1)是一组6个跳线开关。
微程序控制器实验心得

经过一学期的微程序控制器实验课程学习和实验操作,我积累了不少经验和收获。以下我将分享我的实验心得体会。
一、实验前的准备
在进行微程序控制器实验之前,我首先要熟悉实验器材和实验指导书,了解实验的基本原理和操作步骤。此外,我还需要做好实验器材的调试和连接,确保实验环境的稳定和安全。这些都是实验成功的前提准备工作,也是我在实验中非常重视的环节。
四、实验中的经验和教训
在实验中,我经常会遇到一些小失误,比如接线错误、程序逻辑不清晰等。但通过这些失误,我不断总结经验,提升自己的实验技能。我明白了失败乃成功之母,教训的背后蕴含着宝贵的经验,只有不断总结,才能不断进步。
五、实验中的进步和提升
在实验过程中,我逐渐掌握了实验技能和方法,提高了自己的动手操作能力和实际问题解决能力。我还学会了团队合作和沟通交流的重要性,这些都是我在实验中不断提升和进步的重要体现。
六、实验心得体会
通过微程序控制器实验,我深刻地体会到了理论联系实际的重要性。实验不仅帮助我巩固了课堂知识,还培养了我的动手实践能力和解决问题的能力。我也认识到,实验中的困难和挫折都是成长的过程,只有坚持不懈地克服,才能不断进步。
综上所述,微程序控制器实验是一门非常有意义和价值的课程,通过实验,我不仅学到了专业知识,还培养了自己的实践能力和解决问题的能力。我相信这些收获和经验对我未来的学习和工作都将大有裨益。这也让我更加坚定了要将理论与实践相结合,不断学习和提升自己的信念。
二、实验过程中遇到的困难
在实验过程中,我遇到了不少困难,比如实验器材调试不成功、程序运行出现错误等。针对这些困难,我积极和老师和同学沟通交流,寻求解决方法。有时候,我还会查阅相关资料和书籍,不断摸索和尝试,最终克微程序控制器实验,我不仅加深了对课程知识的理解,还学会了如何正确地使用实验器材和编写程序。我还学会了分析和解决实际问题的能力,培养了动手实践的操作技能。这些收获对我以后的学习和工作都有着积极的影响。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机科学与技术系
实验报告
专业名称计算机科学与技术
课程名称计算机组成原理
项目名称微程序控制器实验
班级
学号
姓名
同组人员
实验日期
一、实验目的与要求
实验目的
(1)掌握微程序控制器的组成原理
(2)掌握微程序控制器的编制、写入,观察微程序的运行过程
实验要求
(1)实验之前,应认真准备,写出实验步骤和具体设计内容,否则实验效率会很低,一次实验时间根本无法完成实验任务,即使基本做对了,也很难说懂得了些什么重要教学内容;
(2)应在实验前掌握所有控制信号的作用,写出实验预习报告并带入实验室;
(3)实验过程中,应认真进行实验操作,既不要因为粗心造成短路等事故而损坏设备,又要仔细思考实验有关内容,把自己想不明白的问题通过实验理解清楚;
(4)实验之后,应认真思考总结,写出实验报告,包括实验步骤和具体实验结果,遇到的问题和分析与解决思路。
还应写出自己的心得体会,也可以对教学实验提出新的建议等。
实验报告要交给教师评阅后并给出实验成绩;
二、实验逻辑原理图与分析
画实验逻辑原理图
逻辑原理图分析
微程序控制器的基本任务是完成当前指令的翻译个执行,即将当前指令的功能转换成可以控制的硬件逻辑部件工作的微命令序列,完成数据传送和各种处理操作。
它的执行方法就是将控制各部件动作的微命令的集合进行编码,即将微命令的集合仿照机器指令一样,用数字代码的形式表示,这种表示成为微指令。
这样就可以用一个微指令序列表示一条机器指令,这种微指令序列称为微程序。
微程序存储在一种专用的存储器中,称为控制存储器。
三、数据通路图及分析(画出数据通路图并作出分析)
(1)连接实验线路,检查无误后接通电源。
如果有警报声响起,说明有总线竞争现象,应关闭电源,检查连线,直至错误排除。
(2)对微控制器进行读写操作,分两种情况:手动读写和联机读写。
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.四步,将下表的微代码写入到2816芯片中。
手动对微控制器进行校验(读)
1、将时序与操作台单元的开关KK1置为“停止”档,KK3置为“校验”档,KK4置为“控存”档,KK5置为“置数”档
2.使用CON单元的SD05——SD00给出微地址,连续两次按动时序与操作台单元的ST,MC单元的指数指示灯M7——M0显示该单元的低8位。
3.将时序与操作台单元的开关KK5置为“加1”档。
4.连续两次按动时序与操作台单元的ST,MC单元的指数指示灯M15——M8显示该单元的中8位。
连续两次按动时序与操作台单元的ST,MC单元的指数指示灯M23——M16显示该单元的高8位。
5.重复1.2.3.4.四步,完成对微代码的校验。
如果检验出微代码写入错误,重新写入、校验、直至确认微指令的输入无误为止。
2、联机读写
四、实验数据和结果分析
实验结果数据
结果数据分析
01 007070:CON(INS)->IR,P<1>
通过给定的微地址01,根据实验数据选择对应的微指令CON(INS)->IR,P<1>,比较A、B、C三个译码字段的值,选择相应的微命令LDR0和P<1>,实现此次的
微指令操作。
04 002405:R0->B
通过给定的微地址04,根据实验数据选择对应的微指令R0->B,比较A、B、C
三个译码字段的值,选择相应的微命令LDB和R0_B,实现此次的微指令操作。
05 04B201: A+B->R0
通过给定的微地址05,根据实验数据选择对应的微指令A+B->R0,比较A、B、C 三个译码字段的值,选择相应的微命令LDR0和ALU_B,实现此次的微指令操作。
30 001404: R0->A
通过给定的微地址30,根据实验数据选择对应的微指令R0->A,比较A、B、C
三个译码字段的值,选择相应的微命令LDA和R0_B,实现此次的微指令操作。
32 183001: IN->R0
通过给定的微地址32,根据实验数据选择对应的微指令IN->R0,比较A、B、C 三个译码字段的值,选择相应的微命令IOR和LDR0,实现此次的微指令操作。
33 080401: R0->OUT
通过给定的微地址33,根据实验数据选择对应的微指令R0->OUT,比较A、B、C 三个译码字段的值,选择相应的微命令R0_B和IOW,实现此次的微指令操作。
35 000035: NOP
通过给定的微地址35,根据实验数据选择对应的微指令NOP,执行停机微命令。
五、实验问题分析、思考题与小结
问题分析
1、手动读写浪费时间很长。
对微控器进行读写操作时,可以手动读写,也可以联机读写。
在第一次实验时,进行的是手动读写,手动读写时需先读IN单元给出低8位数据,然后将时序与操作台单元的开关KK5置为“加1”档,继续读中8位,高8位。
由于操作繁琐,经常读写错误,导致重头开始重新读写,浪费了很多时间。
2、OUT单元的显示值不是01000110。
进行本机运行时,操作不正确,导致OUT单元显示值错误。
思考题
1.当前的数据通路是由哪条微指令实现的?
R0->A。
2.当前微指令有几个微命令有效?
两个微命令有效,分别是R0_B#和LDA。
3.当前微指令的微地址?
30。
4.当前微指令是解释执行哪条机器指令的?
ADD。
5.当前的微程序有几条微指令?
三条。
6.基本模型机实验执行了几个微程序?实现了哪些功能?
四个,实现了IN->R0,R0+R0->R0,R0->OUT,停机等功能。
小结
除了连线错误,出现错误的原因也就是操作,或者是线路出现短路现象,而线不通这一问题是出错很难排查的。
得分(百分制)。