实验六、微程序设计实验
微程序的设计与仿真实验报告

微程序的设计与仿真实验报告一、实验目的1.了解微程序原理及其设计方法。
2.掌握微程序的设计方法。
3.通过仿真实验加深对微程序的理解。
二、实验原理微程序是指一组存放在 ROM 中的程序,用于控制 CPU 的操作,并达到执行指令的目的。
微程序控制器的设计是建立在单周期 CPU 的基础上,实现了对指令执行的分段处理,每个微指令对应一个硬件操作控制信号,通过更改微程序可实现CPU 的不同功能。
三、实验设备1.计算机2.微程序分析器3.ROM4.模拟器四、实验步骤1.根据指令集设计微程序。
2.将微程序写入 ROM。
3.在微程序分析器中进行仿真,验证微程序的正确性及指令执行的正确性。
4.通过模拟器执行各类指令。
五、实验数据和结果实验中,我们以实现 add 指令为例,设计微程序,并将其写入ROM 中。
微程序如下:其中,微地址 m 的范围是 0~31;程序计数器 PC 的值在ADDR 寄存器中;指令寄存器 IR 保存当前指令;A、B、S、T、D、S1、S2 寄存器用于保存数据,根据指令需要选择是否使用;ALU 作为运算单元,根据指令选择运算方式;各控制信号用于控制微程序中的各信号。
我们将编写一个简单的测试程序,包括初始化寄存器和执行add 指令。
测试程序如下:```beginLDI R1, 1LDI R2, 2ADD R1, R2, R3end```通过微程序分析器的仿真功能,我们可以看到执行指令过程如下:可以发现,当执行 add 指令时,微程序依次执行了以下操作:1.将指令地址写入 PC,将指令加载入 IR。
2.将操作码从IR 中提取出来,并对R1、R2、R3 进行初始化。
3.将 R1 和 R2 的值送入 ALU 中,并选择加法运算。
4.将 ALU 的运算结果送入 R3 中。
实验六微程序控制单元实验

实验六 微程序控制单元实验一、实验目的1. 熟悉微程序控制器的工作原理。
2. 掌握微程序编制及微指令格式。
二、实验要求按照实验步骤完成实验项目,熟悉微程序的编制、写入、观察运行状态。
三、实验原理⒈ 微程序控制电路微程序控制器的组成见图6-1,其中控制存储器采用4片6116静态存储器 ,微命令寄存器32位,用三片8D 触发器(273)和一片4D(175)触发器组成。
微地址寄存器6位,用三片正沿触发的双D 触发器(74)组成,它们带有清零端和置位端。
在不判别测试的情况下,T2时刻打入微地址寄存器的内容即为下一条微指令地址。
当T4时刻进行测试判别时,转移逻辑满足条件后输出的负脉冲通过置位端将某一触发器输出端置为“1”状态,完成地址修改。
⒉ 微指令格式表6-1A 字段B 字段A 、B 二译码字段,分别由6个控制位译码输出多位。
B 段中的PX3、PX2、PX1 三个测试字位。
其功能是根据机器指令及相应微代码进行译码,使微程序转入相应的微地址入口,从而实现微程序的顺序、分支、循环运行。
⒊微程序流程与代码图6-2为几条机器指令对应的参考微程序流程图,将全部微程序按微指令格式变成二进制代码,可得到模型机(一)所例举的8位指令代码。
图6-2微程序流程图四、实验内容(一)微程序的编写为了解决微程序的编写,本装置设有微程序读写命令键,学生可根据微地址和微指令格式将微指令代码以快捷方式写入到微程序控制单元。
具体的操作方法是按动位于本实验装置右中则的红色复位按钮使系统进入初始待令状态。
再按动【增址】命令键使工作方式提示位显示“H”。
微程序存贮器读写的状态标志是:显示器上显示8个数字,左边1、2位显示实验装置的当前状态,左边3、4位显示区域号(区域的分配见表7-2),左边5、6位数字是微存贮单元地址,硬件定义的微地址线是ua0~ua5共6根,因此它的可寻址范围为00H~3FH;右边2位数字是该单元的微程序,光标在第7位与第8位之间,表示等待修改单元内容。
计算机原理实验室实验报告

成绩:计算机原理实验室实验报告课程:计算机组成原理姓名:专业:网络工程学号:日期:计算机工程系实验一:运算器实验实验环境PC机+Win 2003+emu8086+proteus仿真器实验日期2015年.10 一.实验内容1.熟悉proteus仿真系统2.设计并验证4位算数逻辑单元的功能3.实现输入输出锁存4.实现8位算数逻辑单元二.理论分析或算法分析实验原理:算术逻辑运算单元的核心是由74LS181 构成,它可以进行二进制数的算术逻辑运算,74LS181 的各种工作方式可通过设置其控制信号来实现。
当正确设置74LS181的各个控制信号,74LS181 会运算数据锁存器内的数据。
由于数据锁存器已经把数据锁存,只要74LS181的控制信号不变,那么74LS181 的输出数据也不会发生改变。
输出缓冲器采用74LS245,当控制信号为低电平时,74LS245导通,把74LS181 的运算结果输出到数据总线,高电平时,74LS245 的输出为高阻。
实验中所用的运算器数据通路如图所示。
其中运算器由两片74LS181以并/串形式构成8位字长的ALU。
运算器的输出经过一个三态门(74LS245)以8芯扁平线方式和数据总线相连,运算器的2个数据输入端分别由二个锁存器(74LS273)锁存,锁存器的输入亦以8芯扁平线方式与数据总线相连,数据开关(INPUT DEVICE)用来给出参与运算的数据,经一三态门(74LS245)以8芯扁平线方式和数据总线相连,数据显示灯(BUS UNIT)已和数据总线相连,用来显示数据总线内容。
三.实现方法(含实现思路、程序流程图、实验电路图和源程序列表等)实现电路图:1.设计并验证4位算数逻辑单元的功能2.实现8位算数逻辑单元四.实验结果分析(含执行结果验证、输出显示信息、图形、调试过程中所遇的问题及处理方法等)(一)验证了基本要求,实现了设计并验证4位算数逻辑单元、实现输入输出锁存、实现8位算数逻辑单元的功能.运行结果:图一图二:(二)思考问题:单总线,双总线和三总线结构在设计上的异同答:单总线结构:对这种结构的运算器来说,在同一时间内,只能有一个操作数放在单总线上。
微程序控制器组与微程序设计实验报告

微程序控制器组与微程序设计实验报告实验目的:1.了解微程序控制器组的组成和工作原理;2.掌握微程序设计的基本方法;3.学习使用微程序设计语言进行微程序编写;4.验证微程序的功能和正确性。
实验仪器:1.微程序控制器组;2.计算机。
实验原理:实验步骤:1.设计微指令集:根据实验要求,设计微指令的功能,并确定每个微指令的格式和编码方式。
2.设计微程序地址译码器:根据微指令的编码方式,设计地址译码器,将微指令的编码转化为实际的地址。
3.设计微程序存储器:根据微指令的格式和编码方式,设计存储器,存储微指令。
可以选择使用只读存储器或者随机存储器。
4.设计微指令执行器:根据微指令的格式和编码方式,设计执行器,执行微指令的功能操作。
可以使用组合逻辑电路或者微控制器实现。
5.进行微程序编写:使用微程序设计语言,根据微指令集的功能要求,编写微程序,并存储到微程序存储器中。
6.连接实验仪器:将微程序控制器组和计算机连接起来,确保数据传输的正确性。
7.运行实验程序:根据实验要求,执行微程序,并通过计算机输出结果。
实验结果:经过实验,微程序控制器组成功控制了计算机的各个部件的操作和数据流。
微程序设计也能够正确的控制计算机的运行,并输出了预期的结果。
实验总结:通过本次实验,我对微程序控制器组的组成和工作原理有了更深入的了解。
微程序设计是一种灵活、可扩展的指令级程序设计方法,可以根据需求设计出各种功能强大的微程序。
通过实验,我学会了使用微程序设计语言进行微程序编写,并验证了微程序的功能和正确性。
微程序控制器组的应用范围广泛,不仅可以用于计算机中,还可以应用于其他各种控制系统中。
本次实验让我对计算机控制系统的理论和实践有了更深入的了解,提高了我在计算机控制领域的专业技能。
微程序控制器的组成与微程序设计实验报告

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

实验六实验报告模板 CPU组成与机器指令执行周期实验(1)课程计算机组成原理实验名称 CPU组成与指令周期实验专业:计算机班级:3 学号:105032021118 姓名:林加明实验日期 2021 年 6 月 10 日报告退发 (订正、重做)实验六 CPU组成与指令周期实验一、实验目的1.用微程序控制器控制数据通路,将相应的信号线连接,构成一台能运行测试程序的模型计算机。
2.执行一个简单的程序,掌握机器指令与微指令的关系。
3.理解计算机如何取出指令、如何执行指令、如何在一条指令执行结束后自动取出下一条指令并执行,牢固建立的计算机整机概念。
二、实验内容及说明1.实验电路及说明ZMS0S1S2S3CINC数据总线DBUSINS7―INS0ABUSALUA端口A7―A04选1选择器ARD0RD1B端口B7―B04选1选择器B LDCLDZT3MBUSMEMWT2D7L―D0LD7R―D0R双端口RAMA7L―A0LA7R―A0RPC7―PC0CLR#PCADDLPCPCINCT3IR3―IR0IRBUSRS0RS1AR7―AR0CLR#L ARARINCT3DBUSRD1RD0LR0LR1LR2LR3SWDRD0RD1RS0数据开关SD7―SD0A组控制信号B组控制信号独立K15-K0IR7―IR4RS1W3INTQW1W2T1T2T3ZCCLR#T3ZCCLR#T3MFCLR#QDSTOPDPINTENINTDIINTPSHOR T LONG本实验将前面几个实验中的所有电路,包括时序发生器、通用寄存器组、算术逻辑运算部件、存储器、微程序控制器等模块组合在一起,构成一台能够运行程序的简单处理机。
数据通路的控制由微程序控制器完成,由微程序解释指令的执行过程,从存储器2―4译码器ARPCR0DBUSSBUSLR0DRWT3R1LR1DRWT3R2LR2DRWT3R3LR3DRWT3LIARIABUST3IARIRPC7―PC0LIRT3控制信号控制信号切换电路控制转换微程序控制器硬连线控制器W3―W1IR7―I R42选1选择器IR3―IR0SELCTLSEL3―SEL0IRBUS时序发生器SWC―SWA图6.1 TEC-8模型计算机框图1取出一条指令到执行指令结束的一个指令周期,是由微程序完成的,即一条机器指令对应一个微程序序列。
微程序实验报告

微程序实验报告微程序实验报告概述:微程序是一种指令执行的方式,它将指令集的操作分解为一系列微操作,通过微指令控制器逐步执行。
本次实验旨在通过设计和实现一个简单的微程序,深入理解微程序的工作原理和应用。
实验目的:1. 理解微程序的基本概念和原理;2. 学习如何设计和实现一个简单的微程序;3. 掌握微程序在指令执行过程中的作用和优势。
实验过程:1. 确定微指令集的操作和控制信号:根据实验要求,我们选择了一些常见的指令,如加法、减法、乘法等,并为每个指令定义了相应的微操作和控制信号。
2. 设计微指令控制器:根据微指令集的操作和控制信号,我们设计了一个简单的微指令控制器,用于逐步执行指令。
控制器包括状态寄存器、微指令存储器和控制逻辑电路等组件。
3. 实现微程序:根据设计的微指令控制器,我们编写了相应的微程序。
微程序是一系列微操作的有序序列,通过控制信号的变化逐步执行指令。
4. 运行实验样例:我们选择了几个实验样例,分别测试了加法、减法和乘法指令的执行过程。
通过观察指令执行的结果,验证了微程序的正确性和有效性。
实验结果:通过实验,我们成功设计和实现了一个简单的微程序,并验证了其在指令执行过程中的作用和优势。
微程序能够将复杂的指令集操作分解为一系列微操作,使得指令的执行过程更加灵活和高效。
结论:微程序是一种重要的指令执行方式,通过将指令集的操作分解为微操作,能够提高指令执行的效率和灵活性。
本次实验使我深入理解了微程序的工作原理和应用,掌握了微程序的设计和实现方法,为进一步研究和应用微程序打下了良好的基础。
展望:微程序作为一种重要的指令执行方式,在计算机体系结构和指令集设计中有着广泛的应用前景。
未来,我将进一步研究微程序的优化方法和应用场景,探索微程序在提高计算机性能和节约能源方面的潜力。
同时,我也期待能够参与更多的微程序设计和实现项目,不断提升自己在计算机体系结构领域的研究能力和创新能力。
总结:通过本次实验,我深入了解了微程序的工作原理和应用,掌握了微程序的设计和实现方法。
微程序控制器的组成与微程序设计实验报告

信息学院实验报告学号:姓名:班级:课程名称:计算机组成原理实验名称:微程序控制器的组成与微程序设计实验实验性质:①综合性实验②设计性实验③验证性实验实验时间:实验地点:一、实验目的1、掌握微程序控制器的组成原理;2、掌握微程序的编制、写入,观察微程序的运行;3、为整机实验打好基础。
二、实验内容编制微程序并观察其运行过程。
三、实验仪器1、ZY15Comp12BB计算机组成原理教学实验系统一台2、排线若干四、实验原理实验所用的时序电路原理可以参考时序实验。
由于时序电路的内部线路已经连好(时序电路的CLR已接到实验板中下方的CLR清零开关上),所以只需将时序电路与方波信号源连接即可。
1、微程序控制电路微程序控制器的组成见图1-13。
其中控制存储器采用3片2816 E2PR0M,具有掉电保护功能。
微命令寄存器18位,用两片8D触发器(74LS273)和一片4D(74LS175)触发器组成。
微地址寄存器6位,用三片上升沿触发的双D触发器(74LS74)组成,它们带有清“0”端和置“1”端。
在不进行判别测试的情况下,T2时刻打入微地址寄存器的内容即为下一条微指令地址。
当T4时刻进行判别测试时,转移逻辑满足条件后输出的负脉冲通过强置端将某一触发器设置为“1”状态,完成地址修改。
在该实验电路中,在CONTROL UNIT有一个编程开关SP06,它具有三种状态:WRITE(编程)、READ(校验)、RUN(运行)。
当处于“编程状态”时,实验者可根据微地址和微指令格式将微指令二进制代码写入到控制存储器2816中。
当处于“校验状态”时,可以对写入控制存储器中的二进制代码进行验证,从而可以判断写入的二进制代码是否正确。
当处于“运行状态”时,只要给出微程序的入口微地址,则可根据微程序流程图自动执行微程序。
图中微地址寄存器输出端增加了一组三态门74LS245,目的是隔离触发器的输出,增加抗干扰能力,并用来驱动微地址显示灯。
微程序控制器原理实验报告

微程序控制器原理实验报告一、引言微程序控制器作为计算机系统的重要组成部分,扮演着指挥和控制计算机操作的关键角色。
本实验报告将对微程序控制器的原理进行探讨,并描述相关实验的设计、步骤、结果和分析。
二、微程序控制器的原理2.1 微程序控制器的概念微程序控制器是一种控制计算机操作的技术,通过将指令集中的每个指令分解为一系列微操作,并以微指令的形式存储在控制存储器中,从而实现指令的执行控制。
2.2 微指令的组成和格式微指令由多个字段组成,每个字段代表一个微操作控制信号。
常见的微指令格式包括微地址字段、条件码字段、操作码字段等。
2.3 微指令的执行过程微指令的执行过程包括指令的取指、译码、执行和写回等阶段。
每个阶段对应微指令的不同部分,通过控制信号的转换和传递,完成相应的操作。
三、微程序控制器的设计与实验3.1 设计思路在进行微程序控制器实验前,需要明确实验的目标和设计思路。
实验通常包括以下几个步骤:确定指令集、确定微指令格式、设计控制存储器、设计控制逻辑电路等。
3.2 实验步骤1.确定指令集:根据实验需求,确定需要支持的指令集。
2.确定微指令格式:根据指令集的要求,设计适合的微指令格式。
3.设计控制存储器:根据微指令格式,设计控制存储器的结构和内容。
4.设计控制逻辑电路:根据微指令的执行过程,设计控制逻辑电路,实现指令的控制和转换。
5.构建实验平台:将设计的控制存储器和控制逻辑电路构建成实验平台,并与计算机系统相连。
6.进行实验:在实验平台上执行指令,观察和记录实验结果。
3.3 实验结果与分析根据实验步骤中的设计和操作,得到了相应的实验结果。
通过比对实验结果和预期效果,可以对微程序控制器的设计和实验进行分析和评估。
四、总结与展望微程序控制器作为计算机系统的关键组成部分,通过微操作的方式实现指令的执行控制。
本实验报告对微程序控制器的原理进行了探讨,并描述了相关实验的设计、步骤、结果和分析。
通过实验,我们深入理解了微程序控制器的工作原理和设计方法。
微程序设计实验报告

计算机组成原理实验报告姓名吕翠学号20081121129 专业计算机科学与技术班级08级师范汉班联系电话150******** Email 602691198@同组实验者梁瑞实验室名称计算机组成原理实验室实验日期2010年11月16日课程名称计算机组成原理实验序号五实验项目微程序设计实验主讲教师侯宏霞辅导教师侯宏霞指导教师侯宏霞实验心得:这次实验是在实验四的基础上做的,主要是验证及了解微程序的运行过程。
而且对于实验的电路连接同实验四,所以在做实验过程中很顺利。
为了让输入数据容易我采用单片机实验,这样我按照实验步骤将微地址及24位微代码写入,都写完后再将输入的读出检查是否输错,结果发现有几个写错的经过改正验证完全正确。
这次实验我们时常忘记改变K1K2K3,结果在实验开始时写入的微地址和微代码都错了,在修改微地址中的微代码时也总忘记修改K1K2K3,这都是因为不细心导致的。
通过做这次实验我对微程序的运行过程有了很深的了解,同时也回顾了实验四的相关知识。
学生签名:吕翠2010 年11 月17日成绩评定及教师评语:成绩:教师签名:年月日一、实验内容将微代码输入并手动单步运行输入的微代码,与微代码流程图对照。
二、实验目的及要求深入学懂计算机各种指令的设计和执行过程,掌握微程序设计的概念。
三、实验原理微程序的设计:1.微指令格式设计微程序指令格式的主要原则是使微指令字短,能表示可并行操作的微命令多,微程序编写方便。
微指令的最基本成分是控制场,其次是下地址场。
控制场反映了可以同时执行的微操作,下地址场指明下一条要执行的微指令在控存的地址。
微指令的编码格式通常只控制场的编码格式,以下几种编码格式较普遍。
1)最短编码格式这是最简单的垂直编码格式,其特点是每条微指令只定义一个微操作命令。
采用此格式的微指令字短,容易编写、规整直观,但微程序长度长,访问控存取微指令次数增多从而使指令执行速度慢。
2)全水平编码格式这种格式又称直接编码法,其特点是控制场每一位直接表示一种微操作命令。
微程序控制器实验报告

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

一、实验目的1. 理解微程序设计的基本原理和方法。
2. 掌握微程序控制器的设计方法。
3. 提高对计算机组成原理和汇编语言的理解。
二、实验环境1. 操作系统:Windows 102. 开发工具:Keil uVision53. 实验平台:STM32F103C8T6三、实验内容1. 微程序控制器的设计2. 微程序指令集的设计3. 微程序的编译与仿真四、实验步骤1. 微程序控制器的设计(1)确定微程序控制器的基本结构,包括控制单元、指令寄存器、地址计数器、微指令寄存器等。
(2)设计控制单元,实现微指令译码和操作控制功能。
(3)编写微指令序列,实现所需的功能。
2. 微程序指令集的设计(1)根据实验需求,设计微程序指令集,包括指令格式、操作码和操作数。
(2)编写微指令编码表,实现指令集的编码。
3. 微程序的编译与仿真(1)编写微程序代码,实现微程序的功能。
(2)将微程序代码编译成机器代码。
(3)在仿真软件中加载编译后的机器代码,进行仿真实验。
五、实验结果与分析1. 微程序控制器设计结果根据实验需求,设计了一个具有8级微程序的控制器。
控制器包括控制单元、指令寄存器、地址计数器、微指令寄存器等模块。
控制单元根据微指令译码和操作控制信号,实现对微程序的操作。
2. 微程序指令集设计结果根据实验需求,设计了以下微程序指令集:- 立即数加载指令:将立即数加载到指定寄存器。
- 寄存器加载指令:将寄存器内容加载到指定寄存器。
- 立即数存储指令:将立即数存储到指定内存地址。
- 寄存器存储指令:将寄存器内容存储到指定内存地址。
- 立即数加法指令:将立即数与寄存器内容相加,结果存储到寄存器。
- 寄存器加法指令:将寄存器内容与另一个寄存器内容相加,结果存储到寄存器。
- 立即数减法指令:将立即数与寄存器内容相减,结果存储到寄存器。
- 寄存器减法指令:将寄存器内容与另一个寄存器内容相减,结果存储到寄存器。
3. 微程序编译与仿真结果在仿真软件中加载编译后的机器代码,进行仿真实验。
微程序控制实验报告

微程序控制实验报告微程序控制实验报告引言:微程序控制是一种通过微指令序列来控制计算机硬件的方法。
通过将指令的操作码映射到微指令序列,可以实现复杂的指令执行过程。
本实验旨在通过设计和实现一个简单的微程序控制器,加深对微程序控制原理的理解。
一、实验目的本实验的主要目的是设计和实现一个8位微程序控制器。
通过该实验,我们将能够:1. 理解微程序控制的工作原理;2. 掌握微程序控制器的设计方法;3. 学习如何使用微指令序列来控制计算机硬件。
二、实验原理微程序控制是一种基于微指令的控制方式,它将指令的操作码映射到一组微指令序列。
这些微指令序列定义了计算机硬件在执行指令过程中的控制信号。
通过微指令序列,我们可以实现复杂的指令执行过程,如数据传输、算术逻辑运算、分支跳转等。
三、实验设计本实验中,我们设计了一个简单的8位微程序控制器。
该控制器包括以下几个模块:1. 指令寄存器(IR):用于存储当前执行的指令;2. 指令译码器(ID):将指令的操作码解码为微指令地址;3. 微指令存储器(MS):存储微指令序列;4. 控制信号发生器(CG):根据微指令地址生成控制信号;5. 数据通路(DP):执行指令的计算机硬件。
四、实验步骤1. 设计微指令序列:根据指令集的要求,设计一组微指令序列,包括数据传输、算术逻辑运算、分支跳转等操作。
2. 实现微指令存储器:使用存储器芯片或其他逻辑门电路实现微指令存储器,并将微指令序列存储其中。
3. 实现指令译码器:设计指令译码器,将指令的操作码解码为微指令地址。
4. 实现控制信号发生器:根据微指令地址生成控制信号,控制数据通路的操作。
5. 实现数据通路:根据指令要求,设计并实现数据通路,包括寄存器、算术逻辑单元等。
6. 连接各个模块:将指令寄存器、指令译码器、微指令存储器、控制信号发生器和数据通路连接起来,形成一个完整的微程序控制器。
五、实验结果与分析经过实验,我们成功实现了一个简单的8位微程序控制器。
微程序实验

控制存储器 00
ALU
M CN
01 02 03 04 微地址寄存器 05 06 07 08
DR1
LDDR2
DR2 uAR
R0
LDR1 R0R0-B
R1
LDR2 R1R1-B
R2
R2R2-B
P1
LDIR
09 0A 0B 0C 0D 0E 0F
………
IR
指令寄存器
A7~A0 A
内存 LDAR PCPC-B LOAD SWSW-B
ALU
M CN
20 00 60 40 00 80 10 12 00 80 40 20 00 80 08 A0 微地址寄存器 80 00 04 60 40 29 02 80 00 80 40 68 00 00 00 80
DR1
LDDR2
DR2 uAR
R0
LDR1 R0R0-B
R1
LDR2 R1R1-B
AR
地址寄存器
PC
程序计数器
LDPC
SW
数据开关
模型机的微指令格式
实验模型机的微指令格式为32位 23位操作控制位, 实验模型机的微指令格式为32位,23位操作控制位,3位P测试位,6位后续 32 位操作控制位 测试位, 直接地址位. 直接地址位.
M25 C M24 B M23 A M22 AR M21 未用 M20 P3 M19 A9 M18 A8 M17 CE M16 LOAD M15 CN M14 M M13 S0 M12 S1 M11 S2 M10 S3 M9 P2 M8 LDAR
M7 LDPC
M6 LDIR
M5 LDDR2
M4 LDDR1
M3 LDR0
微程序控制实验报告

微程序控制实验报告微程序控制实验报告一、引言微程序控制是一种基于微指令的计算机控制方式,它将指令的执行过程细化为一系列微操作,通过微指令控制单元来实现。
本实验旨在通过设计和实现一个简单的微程序控制器,加深对微程序控制原理的理解。
二、实验目的1. 掌握微程序控制的基本原理;2. 熟悉微程序控制器的设计和实现方法;3. 实践运用微程序控制器设计一个简单的计算器。
三、实验原理微程序控制器由微指令存储器、微程序计数器、微指令译码器和控制逻辑组成。
微指令存储器存储了一系列微指令,每个微指令对应一个微操作。
微程序计数器用于指示当前执行到的微指令地址。
微指令译码器负责将微指令转换为控制信号,控制逻辑根据控制信号来控制计算机各个部件的工作。
四、实验步骤1. 设计微指令集:根据计算器的功能需求,设计一套适合的微指令集,包括算术运算、存储器读写等操作。
2. 编写微指令存储器的初始化程序:将设计好的微指令集存储在微指令存储器中,为后续的微程序执行做准备。
3. 实现微程序计数器:设计一个计数器电路,用于指示当前执行到的微指令地址,并实现计数器的自增和重置功能。
4. 设计微指令译码器:根据微指令的格式和编码规则,设计一个译码器电路,将微指令转换为控制信号。
5. 实现控制逻辑:根据微指令的控制信号,设计一个控制逻辑电路,控制计算器各个部件的工作。
6. 连接和调试:将各个部件按照设计连接起来,并进行调试和测试,确保微程序控制器能够正常工作。
五、实验结果与分析经过实验,我们成功实现了一个简单的微程序控制器,并用它设计了一个计算器。
该计算器能够进行基本的算术运算和存储器读写操作。
在实验过程中,我们发现微程序控制器的设计和实现相对复杂,需要充分考虑微指令的设计和控制逻辑的编写。
同时,微程序控制器的执行效率相对较低,对于复杂的程序,可能需要较长的执行时间。
六、实验总结通过本次实验,我们深入了解了微程序控制的原理和实现方法。
微程序控制器是一种灵活且可扩展的控制方式,可以根据不同的需求设计不同的微指令集和控制逻辑,具有一定的通用性。
微程序控制器设计实验报告

微程序控制器设计实验报告竭诚为您提供优质⽂档/双击可除微程序控制器设计实验报告篇⼀:微程序控制器的设计与实现微程序控制器的设计与实现⼀、设计⽬的1、巩固和深刻理解“计算机组成原理”课程所讲解的原理,加深对计算机各模块协同⼯作的认识。
2、掌握微程序设计的思想和具体流程、操作⽅法。
3、培养学⽣独⽴⼯作和创新思维的能⼒,取得设计与调试的实践经验。
4、尝试利⽤编程实现微程序指令的识别和解释的⼯作流程。
⼆、设计内容按照要求设计⼀指令系统,该指令系统能够实现数据传送,进⾏加、减运算和⽆条件转移,具有累加器寻址、寄存器寻址、寄存器间接寻址、存储器直接寻址、⽴即数寻址等五种寻址⽅式。
三、设计具体要求1、仔细复习所学过的理论知识,掌握微程序设计的思想,并根、据掌握的理论写出要设计的指令系统的微程序流程。
指令系统⾄少要包括六条指令,具有上述功能和寻址⽅式。
2、根据微操作流程及给定的微指令格式写出相应的微程序3、将所设计的微程序在虚拟环境中运⾏调试程序,并给出测试思路和具体程序段4、撰写课程设计报告。
四、设计环境1、伟福cop2000型组成原理实验仪,cop2000虚拟软件。
2、Vc开发环境或者Java开发环境。
五、设计⽅案(1)设计思想编写⼀个指令系统,根据所编写的指令的功能来设计相应的微程序。
⾸先利⽤moV传送指令来给寄存器和累加器传送⽴即数,实现⽴即数寻址;利⽤寄存器寻址⽅式,⽤ADDc指令对两者进⾏相加运算;利⽤寄存器间接寻址⽅式,⽤sub指令实现减运算;利⽤累加器寻址⽅式,⽤cpL指令实现对累加器寻址;利⽤存储器寻址⽅式,⽤Jmp指令实现程序的⽆条件跳转。
这样,所要设计的指令系统的功能就全部实现了。
(2)微指令格式采⽤⽔平微指令格式的设计,⼀次能定义并执⾏多个并⾏操作微命令的微指令,叫做⽔平型微指令。
其⼀般格式如下:按照控制字段的编码⽅法不同,⽔平型微指令⼜分为三种:全⽔平型(不译法)微指令,字段译码法⽔平型微指令,以及直接和译码相混合的⽔平型微指令。
微程序控制器组与微程序设计实验报告

数学学院实验报告课程名称:计算机组成原理Array实验项目名称:微程序控制器组成与微程序设计实验一、实验目的(1) 掌握微程序控制器的组成原理。
(2) 掌握微程序的编制、写入,观察微程序的运行过程。
二、实验设备与器件PC机一台,TD-CMA实验系统一套。
三、实验原理微程序控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能转换成可以控制的硬件逻辑部件工作的微命令序列,完成数据传送和各种处理操作。
它的执行方法就是将控制各部件动作的微命令的集合进行编码,即将微命令的集合仿照机器指令一样,用数字代码的形式表示,这种表示称为微指令。
这样就可以用一个微指令序列表示一条机器指令,这种微指令序列称为微程序。
微程序存储在一种专用的存储器中,称为控制存储器,微程序控制器原理框图如图3-2-1所示。
图3-2-1 微程序控制器组成原理框图控制器是严格按照系统时序来工作的,因而时序控制对于控制器的设计是非常重要的,从前面的实验可以很清楚地了解时序电路的工作原理,本实验所用的时序由时序单元来提供,分为四拍TS1、TS2、TS3、TS4,时序单元的介绍见附录2。
微程序控制器的组成见图3-2-2,其中控制存储器采用3片2816的E2PROM,具有掉电保护功能,微命令寄存器18位,用两片8D触发器(273)和一片4D(175)触发器组成。
微地址寄存器6位,用三片正沿触发的双D触发器(74)组成,它们带有清“0”端和预置端。
在不判别测试的情况下,T2时刻打入微地址寄存器的内容即为下一条微指令地址。
当T4时刻进行测试判别时,转移逻辑满足条件后输出的负脉冲通过强置端将某一触发器置为“1”状态,完成地址修改。
图3-2-2 微程序控制器原理图在实验平台中设有一组编程控制开关KK3、KK4、KK5(位于时序与操作台单元),可实现对存储器(包括存储器和控制存储器)的三种操作:编程、校验、运行。
考虑到对于存储器(包括存储器和控制存储器)的操作大多集中在一个地址连续的存储空间中,实验平台提供了便利的手动操作方式。
实验六_CPU_微程序控制器实验

CPU__微程序控制器实验实验目的1.理解微程序控制器的控制原理2.进一步掌握指令流程和功能3.了解掌握微程序控制器的设计思路和方法实验原理微程序控制器的设计思想是由英国剑桥大学的威尔克斯(Wilkes)教授于1951年提出来的, 即将机器指令的操作(从取指令到执行)分解成若干个更基本的微操作序列, 并将有关的控制信号(微命令)按照一定的格式编成微指令, 存放到一个只读存储器中, 当机器运行时, 一条一条地读出这些微指令, 从而产生全机所需要的各种操作控制信号, 使相应部件执行所规定的操作。
微指令格式:N _µA 0N _µA 1N _µA 2N _µA 3N _µA 4P 0P 1P 2P C _i n cl j _i n s t r u c tc _z _j _f l a gl d _I Ro p _c o d e 0o p _c o d e 1o p _c o d e 2c h a n g e _zc h a n g e _cD R W rs e l _m e m d a t aM e m _W r i t e1234567891011121314151617181920D W _i n s t r u c t实验步骤(1)实验台设置成FPGA-CPU 独立调试模式, REGSEL=0、CLKSEL=1.FDSEL=0.使用实验台上的单脉冲, 即STEP_CLK 短路子短接, 短路子RUN_CLK 断开;(2)将设计在Quartus II 下输入, 编译后下载到TEC-CA 上的FPGA 中;(3)按复位键后, 拨动实验台上的开关SD5~SD0, 改变IR[15…12]、进位标志C 和结果为0标志Z, 观察指示灯R15~R0、A4~A0、A12~A8、A14和A15显示的信号, 追踪每条指令的执行过程并把相应数据填在表6-1中。
(4)观察每条指令的执行过程, 每个节拍进行的微操作和微操作控制信号。
6--实验4---微程序控制的运算器设计

字段分配:
μIR15~ IR8:定义为8位操作数
μIR7 μIR6 μIR5 μIR4
:为1,C0=1 为0,C0=0 :为1,产生CPR0 :为1,产生CPR1 :为1,产生CPR2
下面进行μPC的设计。
P109 附 图 10 ,生成 3 位计数器 器 件 COUNT8
L15-8、L7-0用于显示微指令寄存器
μIR7-0的内容。 每当按一次脉冲键便产生一个负脉冲,该脉 冲的作用是:
作为读控存的命令 μRD 。
μIR15-8、
负脉冲当作CPμIR,将读出的微指令代码打入
μIR 负脉冲的上升沿使μ PC+1形成下一条微指令的 地址。 负脉冲反相后的上升沿作为寄存器打入脉冲。
扩充ALU的功能:已有加法、增1功能
增加: 减法?
需三条微指令(每一步骤需一条微指令)
写出微指令二进制代码和十六进制代码形式 键入微指令十六进制代码至控存ROM2#、
ROM1#中,微指令从零号单元开始存放。 将模式开关置于统调
按一次RET2键将 μPC置零。 每按一次脉冲键读出并执行一条微指令。 当微程序执行完时检查并记录结果
实验4 微程序控制的运算器设计
1、设计目的
(1)熟悉串行进位并行加法器的设计。
(2)熟悉简单运算器的结构。 (3)熟悉微命令的产生和时序。
(4)熟悉运算器功能测试。
2、设计简述
设计一个八位串行进位的加法器,具有加法和加
1功能, 两操作数由八位寄存器R0、R1提供,其结果放入 R2中。具体何种操作可由微命令任意设定。
3位计数器的功能:
输入端引脚:i0、i1、i2、ld、en、clk、rst
输出:q2、q1、q0、co 功能:
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验六、微程序设计实验
一、实验目的
了解模型机中微程序控制器的结构、工作原理和控制方法,掌握微程序和微指令的概念,掌握微指令周期和T周期的概念。
二、实验要求
使用CP226实验平台,完成若干条指令的执行,理解微命令和微指令如何控制指令的执行。
三、实验内容
利用模型机的“单微指令运行”功能,分析数据传输、算术运算、逻辑运算、分支转移等指令的微指令控制方法(模型机的微指令集见附件3),并跟踪程序和填写表6-1的内容。
实验用代码如下(说明:下面的指令之间没有必然的逻辑性,只是让大家理解指令与微指令之间的内在关系,以及微命令对微指令的控制作用):
MOV A,#12 ;将12存入累加器A
ADD A,R1 ;寄存器R1的内容和累加器A的内容相加后,结果送入累加器A中
L1: AND A,@R1 ;累加器A的内容和由R1指向的存储单元的内容相“与”后送入A
RL A ;累加器A的内容左移一位
JMP L1 ;无条件跳转到L1的地址处
END
表6-1:程序跟踪结果
下图为模型机CP226微程序控制器的结构图
图6-1 微程序控制器的结构图
四、模型机的状态周期和微控制信号
在本模型机中,一条指令最多分四个状态周期,一个状态周期为一个时钟脉冲,每个状
态周期产生不同的控制逻辑,实现模型机的各种功能。
模型机有24 位控制位以控制寄存器的输入、输出,选择运算器的运算功能,存储器的
读写。
24 位控制位分别介绍如下:
控制字段位D23 D22 D21 D20 D19 D18 D17 D16 微控制命令XRD EMWR EMRD PCOE EMEN IREN EINT ELP 控制字段位D15 D14 D13 D12 D11 D10 D9 D8 微控制命令MAREN MAROE OUTEN STEN RRD RWR CN FEN 控制字段位D7 D6 D5 D4 D3 D2 D1 D0 微控制命令X2 X1 X0 WEN AEN S2 S1 S0 微控制命令的含义如下:
XRD :外部设备读信号,当给出了外设的地址后,输出此信号,从指定外设读数据。
EMWR:程序存储器EM写信号。
EMRD:程序存储器EM读信号。
PCOE:将程序计数器PC的值送到地址总线ABUS上。
EMEN:将程序存储器EM 与数据总线DBUS接通,由EMWR和EMRD决定是将DBUS 数据写到EM中,还是从EM读出数据送到DBUS。
IREN:将程序存储器EM读出的数据打入指令寄存器IR和微指令计数器uPC。
EINT:中断返回时清除中断响应和中断请求标志,便于下次中断。
ELP:PC打入允许,与指令寄存器的IR3、IR2位结合,控制程序跳转。
MAREN:将数据总线DBUS上数据打入地址寄存器MAR。
MAROE:将地址寄存器MAR的值送到地址总线ABUS上。
OUTEN:将数据总线DBUS上数据送到输出端口寄存器OUT里。
STEN:将数据总线DBUS上数据存入堆栈寄存器ST中。
RRD:读寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定。
RWR:写寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定。
CN:决定运算器是否带进位移位,CN=1带进位,CN=0不带进位。
FEN:将标志位存入ALU内部的标志寄存器。
X2、X1、X0三位组合来译码选择将数据送到DBUS上的寄存器。
WEN:将数据总线DBUS的值打入工作寄存器W中。
AEN:将数据总线DBUS的值打入累加器A中。
S2、S1、S0三位组合决定ALU做何种运算。
五、实验接线与控制信号设置
在微程序设计实验中,模型机作为一个整体来工作的,所有微程序的控制信号由微程序存储器uM 输出,而不是由开关输出。
做该实验之前,只要用8 芯电缆连接J1 和J2即可,此时系统处于联机状态(在这种状态下,实验仪的监控系统会自动打开uM的输出允许,微程序的各控制信号就会接到各寄存器、运算器的控制端口,系统自动默认装入缺省指令系统/非流水微指令系统文件:insfile1.mic)。
连接和设置方式如下:
1.拔掉实验仪上所有的手工连接的接线;
2.用8 芯电缆连接J1 和J2;
3.将控制方式开关KC拨到“微程序”方向。
六、实验步骤
请同学按下述步骤操作:
1.关闭实验箱的电源,拔掉实验仪上所有的手工连接的接线,用8 芯电缆连接J1 和
J2,将控制方式开关KC拨到“微程序控制”方向;
2.将实验箱的电源打开,启动实验系统软件,用快捷图标的“连接通信口”功能打开
设置窗口,选择实验仪连接的串行口(选择串口1),然后再点击“OK”按钮接通
到实验仪;
3.在CP226的源程序窗口中输入代码、修改程序、汇编成机器码,并将程序的机器
码下载到实验平台内;
选择“单微指令运行”功能,单步跟踪执行代码,并将执行的结果填写在表6-1中。