微程序控制器的设计与实现
tec200016位机微程序控制器指令系统的设计与实现
![tec200016位机微程序控制器指令系统的设计与实现](https://img.taocdn.com/s3/m/3fa98caf9e31433238689337.png)
一、设计题目16位机微程序控制器指令系统的设计与实现二、设计目的通过看懂教学计算机组合逻辑控制器中已经设计好并正常运行的几条基本指令(例如ADD、MVRR、OUT、MVRD、JR、RET等指令)的功能、格式和执行流程,然后自己设计微程序控制器中的29条基本指令和19条扩展指令的功能、格式和执行流程,并在教学计算机上实现、调试正确,达到以下目的:1、深入理解计算机控制器的功能、组成知识和各类典型指令的执行过程;2、对指令格式、寻址方式、指令系统、指令分类等建立具体的总体概念;3、学习微程序控制器的设计过程和相关技术。
三、设计说明控制器设计是学习计算机总体组成和设计的重要的部分。
要在TEC—2000教学计算机上完成这项设计,必须清楚懂得:1、TEC—2000教学机的微程序控制器主要由作为选件的微程序控制器小板和教学机大板上的7片GAL20V8组成。
2、TEC—2000教学机微程序控制器上要实现的全部基本指令和扩展指令的控制信号都是由微程序小板上的7片控制存储器给出的。
3、应了解监控程序的A命令只支持基本指令,扩展指令应用E命令将指令代码写入到相应的存储单元中;不能用T、P命令单步调试扩展指令,只能用G命令执行扩展指令。
4、要明白TEC—2000教学机支持的指令格式及指令执行流程分组情况;理解TEC—2000教学机中已经设计好并正常运行的各类指令的功能、格式、执行流程和控制信号的组成。
5、明确自己要实现的指令格式、功能、执行流程设计中必须遵从的约束条件。
6、为了完成扩展指令的功能、格式和执行流程,并在教学计算机上实现、调试正确的实验内容,具体过程包括:1)确定指令格式和功能,要受教学机已有硬件的约束,应尽量与已实现指令的格式和分类办法保持一致;2)划分指令执行步骤并设计每一步的执行功能,设计节拍状态的取值,应参照已实现指令的处理办法来完成,特别要注意的是,读取指令的节拍只能用原来已实现的,其他节拍的节拍状态也应尽可能的与原用节拍的状态保持一致和相近;3)在指令微程序表中填写每一个控制信号的状态值,注意要特别仔细,并有意识地体会这些信号的控制作用;4)将设计好的微码,装入控制存储器的相应单元;5)写一个包含你设计的指令的程序,通过运行该程序检查执行结果的正确性,来初步判断你的设计是否正确;如果有问题,通过几种办法查出错误并改正,继续调试,直到完全正确。
微程序控制器的设计与实现
![微程序控制器的设计与实现](https://img.taocdn.com/s3/m/464d9192dc3383c4bb4cf7ec4afe04a1b071b03d.png)
微程序控制器的设计与实现一、引言微程序控制器是一种用于指令执行的高级控制器,它通过微指令序列来控制计算机的操作。
本文将介绍微程序控制器的设计与实现方法,包括微程序的设计原理、控制存储器的组织结构、微指令的编码和执行过程等。
二、微程序设计原理微程序设计是一种将指令的操作码映射为一系列微指令的方法。
每个微指令对应着计算机的一条基本操作,例如存储器读取、算术运算等。
微指令序列通过微程序计数器来控制,实现指令的顺序执行。
三、控制存储器的组织结构控制存储器是存储微指令序列的重要组成部分。
它通常采用的是RAM (Random Access Memory)的结构,以实现对微指令的随机读取。
控制存储器的地址由微程序计数器提供,通过地址译码器来选择对应的微指令。
四、微指令的编码微指令的编码是将指令的操作码映射为一系列控制信号的过程。
常见的编码方式有水平编码和垂直编码两种。
水平编码将每个控制信号独立编码,占用较多的位数;垂直编码则将多个控制信号合并编码,占用较少的位数。
根据具体的设计需求,可以选择适合的编码方式。
五、微指令的执行过程微指令的执行过程包括指令的获取、解码和执行三个阶段。
指令的获取是通过微程序计数器提供的地址从控制存储器中读取相应的微指令;指令的解码是将微指令中的控制信号解码为具体的操作;指令的执行是根据解码后的控制信号执行相应的操作,例如读取存储器、进行算术运算等。
六、实现微程序控制器的步骤实现微程序控制器的步骤包括微指令的设计、控制存储器的编程、控制信号的生成等。
首先,根据指令集的要求设计微指令的格式和编码方式;然后,根据微指令的格式编程控制存储器,将微指令序列存储其中;最后,根据微指令的编码生成相应的控制信号,控制计算机的操作。
七、实例分析以一个简单的加法指令为例,介绍微程序控制器的实现过程。
首先,设计微指令的格式,包括操作码、源操作数、目的操作数等字段;然后,编程控制存储器,将微指令序列存储其中;最后,根据微指令的编码生成相应的控制信号,例如读取源操作数、读取目的操作数、进行加法运算等。
微程序控制器的设计与实现研究
![微程序控制器的设计与实现研究](https://img.taocdn.com/s3/m/6ddaa23983c4bb4cf7ecd17a.png)
Ju. 1 201 0
文 艺 理 论
LJ TER A R Y TH Eo 只 Y
微程序控制器 的设计与实现研 究
朱 飞
( 南京邮电大学 计算机 学院 , 江苏 南京 2 04 ) 10 6
摘 要: 微程序控制 器同组合逻辑控制 器相 比较 , 具有规 整性 、 活性 、 灵 可维护性等一 系列优点 , 因
微程序控制的基本思想 ,就是仿照通常的解题程序的方
存器 MD 。 R 如果是向内存写数据 : () 1把地址送到 M R再送到访问内存 的地址总线 M a— A , —d
法, 把操作控制信号编成所谓的“ 微指令”存 放到一个 只读存 ,
储器里.当机器运行 时 , 一条又一条地读 出这些微指令 , 从而
产生全机所需要的各种操作控制信号 ,使相应部件执行所规 des供 内存使用。 rs, () 2 处理器把数据加载于 M R, D 再把 M R的内容送 到数 D 定 的操作 , 采用微程序控制方式的控制器称为微程序控 制器 。
微程序控制器 由指令寄存器 I 程序计 数器 P 、 R、 C 程序状态字 寄存器 P w、 S 时序 系统 、 制存储器 C 微指令 寄存 器以及 控 M、 微地址形成 电路。微地址寄存器等部件组成 。 执行指令时, 从 控制存储器 中找到相应 的微程序段 , 逐次取 出微指令 , 送人微
而在计算机设计 中逐渐取代 了早期采 用的组合逻辑控制器,并已被广泛地应用 在计算机 系统
中, 微程序设计技术是利 用软件方法来设计硬件 的一 门技 术。 关键字 : 微程序控制器; P Qur s ; HD C U; aul V L t I
中 图分 类号 : P 3 T 1 文 献标识码 : A 文章编 号 :0 5 5 1 (0 0 1 — 1 8 O 1 0 — 3 2 2 1 )3 0 3 一 1
微程序控制器的设计与实现
![微程序控制器的设计与实现](https://img.taocdn.com/s3/m/9500a53bf342336c1eb91a37f111f18583d00c20.png)
微程序控制器的设计与实现微程序控制器的设计原理是基于指令的操作码来进行控制的。
在计算机系统中,每个指令都有一个唯一的操作码,微程序控制器根据这个操作码来判断下一步应该执行的动作。
因此,微程序控制器的首要任务是建立一套指令操作码和对应控制动作的映射关系。
微程序控制器的设计可以分为两个阶段,即微程序的编写和微程序控制器的实现。
在微程序编写阶段,需要根据计算机系统的指令集架构和系统的需求来编写每一条指令的微程序。
在微程序控制器的实现阶段,先将每条指令的微程序编码成微指令,然后将这些微指令存储在微程序存储器中。
当执行一条指令时,微程序控制器会根据指令的操作码在微程序存储器中找到对应的微指令,并执行相应的控制动作。
微程序控制器的实现方法有多种,其中最常见的是使用ROM(只读存储器)作为微程序存储器。
ROM的每个地址存储一个微指令,可以根据操作码的位数确定ROM的大小。
此外,还可以使用RAM(随机存储器)作为微程序存储器,以便在微程序运行中修改微指令。
为了提高微程序控制器的执行效率,还可以采用流水线技术,将微程序的执行过程划分为多个阶段,并在流水线中同时执行多条指令的微程序。
微程序控制器的设计与实现对计算机系统的性能有着重要的影响。
首先,微程序控制器可以将指令执行过程分解成多个微指令,使得每个微指令只包含一个简单的控制动作,从而提高了指令执行的精确性和可靠性。
其次,微程序控制器对指令执行的控制粒度更细,可以实现更灵活的指令调度和并行处理,提高了指令级并行性。
此外,微程序控制器还可以根据指令的类型、频率和资源需求等特点,进行自适应的指令调度和资源分配,进一步提高系统的性能。
在评价微程序控制器的效果时,需要考虑其控制精确性、执行效率、资源利用率等方面的指标。
控制精确性是指微程序控制器是否能够准确执行指令的操作,以及是否能够正确处理异常情况和中断请求。
执行效率是指微程序控制器每秒钟能够执行多少条指令,衡量了微程序控制器的性能优劣。
计算机组成原理中断实验报告
![计算机组成原理中断实验报告](https://img.taocdn.com/s3/m/7b4e6ec66529647d27285294.png)
北京建筑大学2015/2016 学年第二学期课程设计课程名称计算机组成原理综合实验设计题目微程序控制器设计与实现系别电信学院计算机系班级计141学生姓名艾尼瓦尔·阿布力米提学号完成日期二〇一六年七月八日星期五成绩指导教师(签名)计算机组成综合实验任务书➢实验目的1.融合贯通计算机组成原理课程,加深对计算机系统各模块的工作原理及相互联系(寄存器堆、运算器、存储器、控制台、微程序控制器)。
2.理解并掌握微程序控制器的设计方法和实现原理,具备初步的独立设计能力;3.掌握较复杂微程序控制器的设计、调试等基本技能;提高综合运用所学理论知识独立分析和解决问题的能力。
➢实验电路1. 微指令格式与微程序控制器电路2.微程序控制器组成仍然使用前面的CPU组成与机器指令执行实验的电路图,但本次实验加入中断系统。
这是一个简单的中断系统模型,只支持单级中断、单个中断请求,有中断屏蔽功能,旨在说明最基本的原理。
中断屏蔽控制逻辑分别集成在2片GAL22V10(TIMER1 和TIMER2)中。
其ABEL语言表达式如下:INTR1 := INTR;INTR1.CLK = CLK1;IE := CLR & INTS # CLR & IE & !INTC;IE.CLK= MF;INTQ = IE & INTR1;其中,CLK1是TIMER1产生的时钟信号,它主要是作为W1—W4的时钟脉冲,这里作为INTR1的时钟信号,INTE的时钟信号是晶振产生的MF。
INTS微指令位是INTS机器指令执行过程中从控制存储器读出的,INTC微指令位是INTC机器指令执行过程中从控制存储器读出的。
INTE是中断允许标志,控制台有一个指示灯IE显示其状态,它为1时,允许中断,为0 时,禁止中断。
当INTS = 1时,在下一个MF的上升沿IE变1,当INTC = 1时,在下一个MF的上升沿IE变0。
CLR信号实际是控制台产生的复位信号CLR#。
基于软件模拟技术的微程序控制器的设计与实现
![基于软件模拟技术的微程序控制器的设计与实现](https://img.taocdn.com/s3/m/8b03736addccda38376baf2e.png)
l a 豫 p o d , J l t r 飓DR 0e ,D bz n h H_  ̄ c D
a DD O M O0 R 00 瓤 O1 R DD
: 地 址 的 内 存 摹 凭 内 容 邀 嗣 的案} 黑 R 霄效 存 D 蓍 弹 黑 |) F u 内霉 邀 l 效 地 址 的 内 存 革 元 嵩
O , OO 0 I OD 【l O O l O l OD
01 l 0 l 0 l 0 RS } 0 0l t n
牟移地址 邀P 睾 C 蠕裳为 0 。毒穆地 址送p 时 寿 c
滑 零 。 ” O差 封的 寄 译 嚣 船 j ; 存嚣R 内窑 邀 强的寄存嚣R 臻寄 s D
S ML即模型机的机器语言, 它是模型机能够理解和运行的惟一语言. 为便于控制 , 模型机共设计了 1 条指 6
令 ,包括算逻指令 、I , 0指令 、访存指令和转移控制指令. 指令长度不固定,访存指令和转移指令 占两个字节, 其余指令占—个字节( 模型机内存字长为 8. )指令操作码进行了扩展, 为不等长操作码 ,内存与外设单独编址 . 模型机具体指令设置如图 2 . 对于模型机 的算逻指令 ,采用单字节表示前四位是操作码 ,后四位为操作数字段 ,源在前 ,目的在后 ,采 用寄存器直接寻址 ,模型机设置了 3 个通用寄存器 ,用 R 、 、R 0 R1 2表示 ,规定 当 R s或 R D为 0 时选定 R , 0 0 为 0 时选定 R ,为 1 选定 R . 1 1 0 2 模型机的访存和转移指令 占2 个字节 ,第一字节最高为恒为 0 ,次高两位 M 0 为 寻址模式 , 次低两位为操作码 , 最低两位为 目的寄存器 ;第-+字节 D代表偏移量 ;规定当 M= 0 - 0 时为直接 寻址 ,M= 1 0 时为间接寻址 ,M= 0 1 时为变址寻址 ,变址寄存器为 R ,M= 1 2 I 时为相对 寻址./ I O指令指定的输 入设备为键盘 ,输出设备为显示器.
微程序控制器原理实验报告
![微程序控制器原理实验报告](https://img.taocdn.com/s3/m/d93f0512443610661ed9ad51f01dc281e53a5608.png)
微程序控制器原理实验报告一、引言微程序控制器作为计算机系统的重要组成部分,扮演着指挥和控制计算机操作的关键角色。
本实验报告将对微程序控制器的原理进行探讨,并描述相关实验的设计、步骤、结果和分析。
二、微程序控制器的原理2.1 微程序控制器的概念微程序控制器是一种控制计算机操作的技术,通过将指令集中的每个指令分解为一系列微操作,并以微指令的形式存储在控制存储器中,从而实现指令的执行控制。
2.2 微指令的组成和格式微指令由多个字段组成,每个字段代表一个微操作控制信号。
常见的微指令格式包括微地址字段、条件码字段、操作码字段等。
2.3 微指令的执行过程微指令的执行过程包括指令的取指、译码、执行和写回等阶段。
每个阶段对应微指令的不同部分,通过控制信号的转换和传递,完成相应的操作。
三、微程序控制器的设计与实验3.1 设计思路在进行微程序控制器实验前,需要明确实验的目标和设计思路。
实验通常包括以下几个步骤:确定指令集、确定微指令格式、设计控制存储器、设计控制逻辑电路等。
3.2 实验步骤1.确定指令集:根据实验需求,确定需要支持的指令集。
2.确定微指令格式:根据指令集的要求,设计适合的微指令格式。
3.设计控制存储器:根据微指令格式,设计控制存储器的结构和内容。
4.设计控制逻辑电路:根据微指令的执行过程,设计控制逻辑电路,实现指令的控制和转换。
5.构建实验平台:将设计的控制存储器和控制逻辑电路构建成实验平台,并与计算机系统相连。
6.进行实验:在实验平台上执行指令,观察和记录实验结果。
3.3 实验结果与分析根据实验步骤中的设计和操作,得到了相应的实验结果。
通过比对实验结果和预期效果,可以对微程序控制器的设计和实验进行分析和评估。
四、总结与展望微程序控制器作为计算机系统的关键组成部分,通过微操作的方式实现指令的执行控制。
本实验报告对微程序控制器的原理进行了探讨,并描述了相关实验的设计、步骤、结果和分析。
通过实验,我们深入理解了微程序控制器的工作原理和设计方法。
微程序控制器
![微程序控制器](https://img.taocdn.com/s3/m/e20edd8dab00b52acfc789eb172ded630a1c985d.png)
微程序控制器简介微程序控制器(Microprogram Controller)是一种用于控制计算机硬件执行指令的微处理器,用来实现指令的解码和执行。
在计算机的内部结构中,微程序控制器位于中央处理器(CPU)内部,起到指挥和控制其他部件工作的功能。
工作原理微程序控制器通过一系列微操作指令来控制计算机硬件执行指令,这些微操作指令是由微指令(Microinstruction)组成的。
每条微指令对应着一条机器指令的执行过程,包括指令的分析、解码、操作数寻址和执行等过程。
微程序控制器内部包含一个存储器单元,称为微存储器(Microstore)。
微存储器中存储了一组微程序,每条微程序对应一条机器指令的执行过程。
当计算机执行某条机器指令时,微程序控制器会从微存储器中读取相应的微程序,并按照微程序中的微指令逐步控制各个硬件部件执行指令。
特点与优势微程序控制器具有以下特点和优势:1.模块化设计:微程序控制器是一个独立的硬件模块,可以灵活地与其他硬件部件组合在一起。
这种模块化设计使得微程序控制器可以根据计算机的需求进行定制和扩展。
2.简化指令执行过程:微程序控制器将复杂的机器指令执行过程分解为一系列微操作指令,这些微操作指令更加细化和简化,使得指令的解码和执行更加高效和可靠。
3.易于调试和修改:微程序控制器的微程序可以通过软件进行编写、调试和修改。
当需要新增或修改指令时,只需要修改微程序,而无需对硬件进行改动。
这种灵活性和可修改性极大地方便了软件开发和系统维护。
4.提高指令执行效率:微程序控制器可以根据指令的特点和执行需求进行优化。
通过使用高效的微指令和微操作指令,可以加速指令的执行速度,提高计算机系统的性能。
应用领域微程序控制器广泛应用于各种计算机系统中,尤其适用于复杂指令集计算机(CISC)架构。
它在操作系统、编译器、数据库、图形处理等领域都有重要的应用。
在操作系统中,微程序控制器负责实现指令的解码和执行,协调各个硬件部件的工作,保证操作系统的正常运行。
微程序控制器实验报告
![微程序控制器实验报告](https://img.taocdn.com/s3/m/35f04a348f9951e79b89680203d8ce2f00666594.png)
微程序控制器实验报告微程序控制器实验报告引言微程序控制器是一种常见的计算机控制器,它采用微程序的方式来实现指令的执行。
在本次实验中,我们将学习和探索微程序控制器的工作原理,并通过实验验证其功能和性能。
实验目的本次实验的主要目的是通过设计和实现一个简单的微程序控制器,来深入理解微程序控制器的工作原理和原理图设计。
实验过程1. 设计微指令集在设计微程序控制器之前,首先需要确定微指令集。
微指令集是由一系列微指令组成的,每个微指令对应一个控制信号,用于控制计算机的各个组件的操作。
在本次实验中,我们选择了常见的微指令集,包括存储器读写、算术逻辑运算、数据传输等指令。
2. 设计微指令控制存储器微指令控制存储器是微程序控制器的核心组件,用于存储微指令集。
在本次实验中,我们使用了静态随机存储器(SRAM)来实现微指令控制存储器。
通过将微指令集编码为二进制数,并将其存储在SRAM中的不同地址位置,实现对微指令的存储和读取。
3. 设计微指令解码器微指令解码器用于解析微指令,并产生相应的控制信号。
在本次实验中,我们使用了组合逻辑电路来实现微指令解码器。
通过将微指令的不同位与控制信号相连,实现对微指令的解码和控制信号的生成。
4. 设计微程序计数器微程序计数器用于控制微程序的执行顺序。
在本次实验中,我们使用了计数器和触发器来实现微程序计数器。
通过将微程序计数器的输出与微指令控制存储器的地址输入相连,实现对微指令的顺序读取。
实验结果通过实验,我们成功设计并实现了一个简单的微程序控制器。
在实验中,我们编写了微指令集,并将其存储在微指令控制存储器中。
通过微指令解码器和微程序计数器的协作,我们成功实现了对微指令的解码和执行。
实验结果表明,微程序控制器能够准确地控制计算机的各个组件的操作,并实现指令的执行。
实验总结通过本次实验,我们深入了解了微程序控制器的工作原理和原理图设计。
微程序控制器作为一种常见的计算机控制器,具有灵活性和可扩展性。
微程序控制器的设计与实现
![微程序控制器的设计与实现](https://img.taocdn.com/s3/m/150ec0364b7302768e9951e79b89680202d86b65.png)
微程序控制器的设计与实现微程序控制器是一种基于微程序的控制器,它通过微指令序列来控制计算机的执行流程。
本文将详细介绍微程序控制器的设计与实现。
一、引言微程序控制器是计算机中重要的控制单元之一,它负责将指令转换为微指令序列,并控制计算机的执行流程。
微程序控制器的设计与实现是计算机体系结构中的关键问题之一,本文将从微程序控制器的设计原理、设计方法和实现步骤等方面进行详细介绍。
二、微程序控制器的设计原理1. 微程序控制器的基本原理微程序控制器是一种通过微指令序列来控制计算机的执行流程的控制器。
它将指令的操作码作为输入,通过查找微程序存储器中的微指令序列,生成控制信号,控制计算机的各个部件进行相应的操作。
2. 微程序控制器的工作原理微程序控制器的工作原理是将指令的操作码作为输入,通过查找微程序存储器中的微指令序列,生成控制信号,控制计算机的各个部件进行相应的操作。
微程序存储器中存储了一系列微指令,每个微指令对应一个操作,通过顺序执行这些微指令,实现对计算机的控制。
三、微程序控制器的设计方法1. 微程序控制器的设计流程微程序控制器的设计流程包括以下几个步骤:(1)确定指令集和操作码:根据计算机的需求确定指令集和操作码。
(2)设计微指令格式:根据指令集和操作码设计微指令的格式,包括操作类型、操作数等。
(3)设计微指令序列:根据指令集和操作码设计微指令序列,确定每个微指令对应的操作。
(4)设计微程序存储器:根据微指令序列设计微程序存储器,将微指令序列存储在微程序存储器中。
(5)生成控制信号:根据微指令序列和输入的操作码,通过查找微程序存储器,生成相应的控制信号。
(6)验证和调试:对设计的微程序控制器进行验证和调试,确保其正常工作。
2. 微程序控制器的设计方法微程序控制器的设计方法包括水平微程序控制器和垂直微程序控制器两种。
(1)水平微程序控制器:水平微程序控制器将微指令序列分为多个水平层次,每个水平层次对应一个微指令。
微程序控制器的设计与实现
![微程序控制器的设计与实现](https://img.taocdn.com/s3/m/60cbde44b42acfc789eb172ded630b1c59ee9b00.png)
微程序控制器的设计与实现
微程序控制器是一种用于控制微程序的硬件设备,它通常由控制存储器、控制
逻辑和时序电路组成。
微程序控制器的设计与实现可以分为以下几个步骤:
1. 确定微指令的格式:微指令是微程序的最小执行单位,包含了一系列控制信号,用于控制计算机的各个部件。
在设计微程序控制器之前,需要确定微指令的格式,包括控制信号的位数和编码方式。
2. 设计控制存储器:控制存储器用于存储微程序,每一个微指令对应一个存储
单元。
在设计控制存储器时,需要确定存储单元的数量和位数,以及存储单元的编址方式。
3. 设计控制逻辑:控制逻辑用于根据当前微指令和计算机的状态生成控制信号。
在设计控制逻辑时,需要根据微指令的格式和计算机的功能要求,确定各个控制信号的生成方式和逻辑关系。
4. 设计时序电路:时序电路用于控制微程序的执行顺序和时序要求。
在设计时
序电路时,需要考虑微指令的执行时间和时序要求,确保微程序的执行顺序和时序满足计算机的功能要求。
5. 实现微程序控制器:根据上述设计结果,可以开始实现微程序控制器。
实现
过程包括选择适当的集成电路、设计电路图、布线和焊接等步骤。
6. 调试和测试:完成微程序控制器的实现后,需要进行调试和测试,确保其功
能和性能符合设计要求。
调试和测试过程包括功能验证、时序分析和性能评估等步骤。
总之,微程序控制器的设计与实现需要进行微指令格式的确定、控制存储器的
设计、控制逻辑的设计、时序电路的设计、微程序控制器的实现以及调试和测试等步骤。
这些步骤需要根据计算机的功能要求和设计约束进行综合考虑和实现。
微程序控制实验报告(共10篇)
![微程序控制实验报告(共10篇)](https://img.taocdn.com/s3/m/aa28cbfd541810a6f524ccbff121dd36a32dc46f.png)
微程序控制实验报告(共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)。
微程序实验报告
![微程序实验报告](https://img.taocdn.com/s3/m/4dca5a1a32687e21af45b307e87101f69e31fbb2.png)
一、实验目的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. 微程序编译与仿真结果在仿真软件中加载编译后的机器代码,进行仿真实验。
微程序控制器设计与实现
![微程序控制器设计与实现](https://img.taocdn.com/s3/m/0d3e06173069a45177232f60ddccda38376be1cc.png)
微程序控制器设计与实现一、引言微程序控制器是一种用于实现计算机指令执行的控制单元,它通过微指令的方式来控制计算机的操作。
本文将详细介绍微程序控制器的设计与实现,包括设计原理、实现步骤和性能评估等方面的内容。
二、设计原理微程序控制器的设计原理主要包括微指令的编码和解码、微指令存储器的设计、微指令的执行等方面。
1. 微指令的编码和解码微指令是对计算机指令进行细化和抽象的表示形式,它由一系列控制信号组成。
在微程序控制器中,需要将每个微指令编码为一个唯一的二进制码,并通过解码器将二进制码转换为相应的控制信号。
2. 微指令存储器的设计微指令存储器是存储微指令的关键组件,它通常由一组存储单元组成,每个存储单元存储一个微指令。
微指令存储器的设计需要考虑存储容量、读写速度和可靠性等因素。
3. 微指令的执行微指令的执行是微程序控制器的核心功能,它通过控制信号的传递和处理来实现计算机指令的执行。
在执行过程中,需要根据当前指令的操作码和操作数,从微指令存储器中读取相应的微指令,并按照微指令的要求执行相应的操作。
三、实现步骤微程序控制器的设计与实现可以按照以下步骤进行:1. 确定指令集和指令格式根据计算机的需求和应用场景,确定需要支持的指令集和指令格式。
指令集和指令格式的确定将直接影响微程序控制器的设计和实现。
2. 编码和解码微指令根据指令集和指令格式,设计并实现微指令的编码和解码逻辑。
编码和解码逻辑需要将指令转换为相应的微指令,并将微指令转换为控制信号。
3. 设计微指令存储器根据微指令的数量和存储要求,设计并实现微指令存储器。
微指令存储器的设计需要考虑存储容量、读写速度和可靠性等因素。
4. 实现微指令的执行逻辑根据微指令的要求,设计并实现微指令的执行逻辑。
执行逻辑需要根据当前指令的操作码和操作数,从微指令存储器中读取相应的微指令,并按照微指令的要求执行相应的操作。
5. 验证和调试微程序控制器在实现过程中,需要对微程序控制器进行验证和调试。
试验七微程序控制器的实现试验
![试验七微程序控制器的实现试验](https://img.taocdn.com/s3/m/ecfeb9b169dc5022aaea0000.png)
实验七微程序控制器的实现实验一、实验目的和要求1、掌握时序信号发生电路组成原理。
2、掌握微程序控制器的设计思想和组成原理。
3、掌握微程序的编制、写入,观察微程序的运行。
二、实验内容1、实验原理实验所用的时序电路原理如图7-1所示,可产生4个等间隔的时序信号TS1~TS4,其中SP为时钟信号,由实验机上时钟源提供,可产生频率及脉宽可调的方波信号。
学生可根据实验要求自行选择方波信号的频率及脉宽。
为了便于控制程序的运行,时序电路发生器设计了一个启停控制触发器UN1B,使TS1~TS4信号输出可控。
图中“运行方式”、“运行控制”、“启动运行”三个信号分别是来自实验机上三个开关。
当“运行控制”开关置为“运行”,“运行方式”开关置为“连续”时,一旦按下“启动运行”开关,运行触发器UN1B的输出QT一直处于“1”状态,因此时序信号TS1~TS4将周而复始地发送出去;当“运行控制”开关置为“运行”,“运行方式”开关置为“单步”时,一旦按下“启动运行”开关,机器便处于单步运行状态,即此时只发送一个CPU周期的时序信号就停机。
利用单步方式,每次只运行一条微指令,停机后可以观察微指令的代码和当前微指令的执行结果。
另外,当实验机连续运行时,如果“运行方式”开关置“单步”位置,也会使实验机停机。
2、微程序控制电路与微指令格式①微程序控制电路微程序控制器的组成见图7-2,其中控制存储器采用3片E2PROM 2816芯片,具有掉电保护功能,微命令寄存器18位,用两片8D触发器74LS273(U23、U24)和一片4D触发器74LS175(U27)组成。
微地址寄存器6位,用三片正沿触发的双D触发器74LS74(U14~U16)组成,它们带有清“0”端和预置端。
在不进行判别测试的情况下,T2时刻打入微地址寄存器的内容即为下一条微指令地址。
当T4时刻进行测试判别时,转移逻辑满足条件后输出的负脉冲通过强置端将某一触发器置为“1”状态,完成地址修改。
微程序控制器实验原理
![微程序控制器实验原理](https://img.taocdn.com/s3/m/ad68313053ea551810a6f524ccbff121dd36c5e5.png)
微程序控制器实验原理一、微程序控制器简介微程序控制器是计算机中一个重要的控制单元,它负责解析和执行计算机指令。
在计算机中,指令是由一系列操作码组成的二进制序列,微程序控制器通过对这些操作码进行解析和执行,指导计算机完成各种操作。
本文将详细介绍微程序控制器的实验原理。
二、微程序控制器的工作原理微程序控制器的工作原理主要包括以下几个方面:1. 存储和解析指令微程序控制器首先将存储在存储器中的指令读取到指令寄存器中,然后对指令进行解析。
指令解析过程中,微程序控制器会将指令的操作码和操作数从指令寄存器中提取出来,并根据不同的操作码进行相应的操作。
2. 控制信号的生成微程序控制器根据解析得到的操作码生成相应的控制信号,控制信号通常包括时钟信号、数据写入信号、数据读取信号等。
这些控制信号会被发送给计算机的其他部件,控制其按照指令的要求进行相应的操作。
3. 微指令的执行微程序控制器根据解析得到的操作码和相应的操作数,执行相应的微指令。
微指令是微程序控制器中的最小指令单位,它可以完成一些基本的操作,如数据传输、逻辑运算、算术运算等。
微程序控制器通过执行一系列的微指令来完成整个指令的操作。
4. 微程序的存储和调用微程序控制器中的微指令是存储在微存储器中的,微存储器作为微程序控制器的核心组成部分,它负责存储和调用微指令。
微程序控制器在执行指令时,会根据微指令的地址从微存储器中读取相应的微指令,然后执行。
三、微程序控制器的实验原理微程序控制器的实验原理主要包括以下几个方面:1. 环境准备进行微程序控制器的实验需要准备相应的实验环境。
首先需要搭建一个实验平台,包括微程序控制器、指令存储器、数据存储器等。
同时还需要准备实验所需的指令和数据,可以通过编程的方式生成指令和数据。
2. 设计微程序在进行微程序控制器的实验前,需要先设计相应的微程序。
微程序设计是指根据具体的指令集和指令执行流程,将指令分解为微指令,并确定微指令之间的执行顺序和相互之间的依赖关系。
微程序控制器实验
![微程序控制器实验](https://img.taocdn.com/s3/m/08956ee96bd97f192379e98a.png)
微程序控制器实验一、实验目的1、掌握微程序控制器的原理2、掌握TEC-8模型计算机中微程序控制器的实现方法,微地址转移逻辑的实现方法。
3、理解条件转移对计算机的重要性。
二、实验仪器或设备1、TEC-8计算机硬件综合实验系统2、直流万用表3、逻辑测试笔三、总体设计(设计原理、设计方案及流程等)微程序控制器与硬连线控制器相比,由于其规整性、易于设计以及需要的时序发生器相对简单,在上世纪七、八十年代得到广泛应用。
本实验通过一个具体微程序控制器的实现使学生从实践上掌握微程序控制器的一般实现方法,理解控制器在计算机中的作用。
1、微指令格式根据机器指令功能、格式和数据通路所需的控制信号,TEC-8采用如图4.1所示的微指令格式。
微指令字长40位,顺序字段11位(判别字段P4~P0,后继微地址NµA5~NµA0),控制字段29位,微命令直接控制。
图4.1 微指令格式NµA5~NµA0 下址,在微指令顺序执行的情况下,它是下一条微指令的地址P0=1时,根据后继微地址NµA5~NµA0和模式开关SWC、SWB、SWA确定下一条微指令的地址。
见图4.2微程序流程图P1 =1 时,根据后继微地址NµA5~NµA0 和指令操作码 IR7~IR4 确定下一条微指令的地址。
见图4.2微程序流程图P2 =1 时,根据后继微地址NµA5~NµA0 和进位 C 确定下一条微指令的地址。
见图4.2微程序流程图P3 =1 时,根据后继微地址NµA5~NµA0和结果为0标志Z确定下一条微指令的地址。
见图4.2微程序流程图P4=1 时,根据后继微地址NµA5~NµA0 和中断信号 INT 确定下一条微指令的地址。
模型计算机中,中断信号INT由时序发生器在接到中断请求信号后产生STOP=1时,在T3结束后时序发生器停止输出节拍脉冲T1、T2、T3LIAR=1时,在T3的上升沿,将PC7~PC0写入中断地址寄存器IARINTDI=1时,置允许中断标志(在时序发生器中)为0,禁止TEC-8模型计算机响应中断请求INTEN=1时,置允许中断标志(在时序发生器中)为1,允许TEC-8模型计算机响应中断请求IABUS=1时,将中断地址寄存器中的地址送数据总线DBUSPCADD=1时,将当前的PC值加上相对转移量,生成新的PC由于TEC-8 模型计算机有微程序控制器和硬连线控制器2个控制器,因此微程序控制器产生的控制信号以前缀“A-”标示,以便和硬连线控制器产生的控制信号区分。
微程序控制实验报告
![微程序控制实验报告](https://img.taocdn.com/s3/m/d17384fdf021dd36a32d7375a417866fb84ac0c8.png)
微程序控制实验报告微程序控制实验报告引言:微程序控制是一种通过微指令序列来控制计算机硬件的方法。
通过将指令的操作码映射到微指令序列,可以实现复杂的指令执行过程。
本实验旨在通过设计和实现一个简单的微程序控制器,加深对微程序控制原理的理解。
一、实验目的本实验的主要目的是设计和实现一个8位微程序控制器。
通过该实验,我们将能够:1. 理解微程序控制的工作原理;2. 掌握微程序控制器的设计方法;3. 学习如何使用微指令序列来控制计算机硬件。
二、实验原理微程序控制是一种基于微指令的控制方式,它将指令的操作码映射到一组微指令序列。
这些微指令序列定义了计算机硬件在执行指令过程中的控制信号。
通过微指令序列,我们可以实现复杂的指令执行过程,如数据传输、算术逻辑运算、分支跳转等。
三、实验设计本实验中,我们设计了一个简单的8位微程序控制器。
该控制器包括以下几个模块:1. 指令寄存器(IR):用于存储当前执行的指令;2. 指令译码器(ID):将指令的操作码解码为微指令地址;3. 微指令存储器(MS):存储微指令序列;4. 控制信号发生器(CG):根据微指令地址生成控制信号;5. 数据通路(DP):执行指令的计算机硬件。
四、实验步骤1. 设计微指令序列:根据指令集的要求,设计一组微指令序列,包括数据传输、算术逻辑运算、分支跳转等操作。
2. 实现微指令存储器:使用存储器芯片或其他逻辑门电路实现微指令存储器,并将微指令序列存储其中。
3. 实现指令译码器:设计指令译码器,将指令的操作码解码为微指令地址。
4. 实现控制信号发生器:根据微指令地址生成控制信号,控制数据通路的操作。
5. 实现数据通路:根据指令要求,设计并实现数据通路,包括寄存器、算术逻辑单元等。
6. 连接各个模块:将指令寄存器、指令译码器、微指令存储器、控制信号发生器和数据通路连接起来,形成一个完整的微程序控制器。
五、实验结果与分析经过实验,我们成功实现了一个简单的8位微程序控制器。
微程序控制实验报告
![微程序控制实验报告](https://img.taocdn.com/s3/m/6294086a905f804d2b160b4e767f5acfa1c783c8.png)
微程序控制实验报告微程序控制实验报告一、引言微程序控制是一种基于微指令的计算机控制方式,它将指令的执行过程细化为一系列微操作,通过微指令控制单元来实现。
本实验旨在通过设计和实现一个简单的微程序控制器,加深对微程序控制原理的理解。
二、实验目的1. 掌握微程序控制的基本原理;2. 熟悉微程序控制器的设计和实现方法;3. 实践运用微程序控制器设计一个简单的计算器。
三、实验原理微程序控制器由微指令存储器、微程序计数器、微指令译码器和控制逻辑组成。
微指令存储器存储了一系列微指令,每个微指令对应一个微操作。
微程序计数器用于指示当前执行到的微指令地址。
微指令译码器负责将微指令转换为控制信号,控制逻辑根据控制信号来控制计算机各个部件的工作。
四、实验步骤1. 设计微指令集:根据计算器的功能需求,设计一套适合的微指令集,包括算术运算、存储器读写等操作。
2. 编写微指令存储器的初始化程序:将设计好的微指令集存储在微指令存储器中,为后续的微程序执行做准备。
3. 实现微程序计数器:设计一个计数器电路,用于指示当前执行到的微指令地址,并实现计数器的自增和重置功能。
4. 设计微指令译码器:根据微指令的格式和编码规则,设计一个译码器电路,将微指令转换为控制信号。
5. 实现控制逻辑:根据微指令的控制信号,设计一个控制逻辑电路,控制计算器各个部件的工作。
6. 连接和调试:将各个部件按照设计连接起来,并进行调试和测试,确保微程序控制器能够正常工作。
五、实验结果与分析经过实验,我们成功实现了一个简单的微程序控制器,并用它设计了一个计算器。
该计算器能够进行基本的算术运算和存储器读写操作。
在实验过程中,我们发现微程序控制器的设计和实现相对复杂,需要充分考虑微指令的设计和控制逻辑的编写。
同时,微程序控制器的执行效率相对较低,对于复杂的程序,可能需要较长的执行时间。
六、实验总结通过本次实验,我们深入了解了微程序控制的原理和实现方法。
微程序控制器是一种灵活且可扩展的控制方式,可以根据不同的需求设计不同的微指令集和控制逻辑,具有一定的通用性。
微程序控制器设计实验报告
![微程序控制器设计实验报告](https://img.taocdn.com/s3/m/3d8d3b58842458fb770bf78a6529647d2728343e.png)
微程序控制器设计实验报告竭诚为您提供优质⽂档/双击可除微程序控制器设计实验报告篇⼀:微程序控制器的设计与实现微程序控制器的设计与实现⼀、设计⽬的1、巩固和深刻理解“计算机组成原理”课程所讲解的原理,加深对计算机各模块协同⼯作的认识。
2、掌握微程序设计的思想和具体流程、操作⽅法。
3、培养学⽣独⽴⼯作和创新思维的能⼒,取得设计与调试的实践经验。
4、尝试利⽤编程实现微程序指令的识别和解释的⼯作流程。
⼆、设计内容按照要求设计⼀指令系统,该指令系统能够实现数据传送,进⾏加、减运算和⽆条件转移,具有累加器寻址、寄存器寻址、寄存器间接寻址、存储器直接寻址、⽴即数寻址等五种寻址⽅式。
三、设计具体要求1、仔细复习所学过的理论知识,掌握微程序设计的思想,并根、据掌握的理论写出要设计的指令系统的微程序流程。
指令系统⾄少要包括六条指令,具有上述功能和寻址⽅式。
2、根据微操作流程及给定的微指令格式写出相应的微程序3、将所设计的微程序在虚拟环境中运⾏调试程序,并给出测试思路和具体程序段4、撰写课程设计报告。
四、设计环境1、伟福cop2000型组成原理实验仪,cop2000虚拟软件。
2、Vc开发环境或者Java开发环境。
五、设计⽅案(1)设计思想编写⼀个指令系统,根据所编写的指令的功能来设计相应的微程序。
⾸先利⽤moV传送指令来给寄存器和累加器传送⽴即数,实现⽴即数寻址;利⽤寄存器寻址⽅式,⽤ADDc指令对两者进⾏相加运算;利⽤寄存器间接寻址⽅式,⽤sub指令实现减运算;利⽤累加器寻址⽅式,⽤cpL指令实现对累加器寻址;利⽤存储器寻址⽅式,⽤Jmp指令实现程序的⽆条件跳转。
这样,所要设计的指令系统的功能就全部实现了。
(2)微指令格式采⽤⽔平微指令格式的设计,⼀次能定义并执⾏多个并⾏操作微命令的微指令,叫做⽔平型微指令。
其⼀般格式如下:按照控制字段的编码⽅法不同,⽔平型微指令⼜分为三种:全⽔平型(不译法)微指令,字段译码法⽔平型微指令,以及直接和译码相混合的⽔平型微指令。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微程序控制器的设计与实现一、设计目的1、巩固和深刻理解“计算机组成原理”课程所讲解的原理,加深对计算机各模块协同工作的认识。
2、掌握微程序设计的思想和具体流程、操作方法。
3、培养学生独立工作和创新思维的能力,取得设计与调试的实践经验。
4、尝试利用编程实现微程序指令的识别和解释的工作流程。
二、设计内容按照要求设计一指令系统,该指令系统能够实现数据传送,进行加、减运算和无条件转移,具有累加器寻址、寄存器寻址、寄存器间接寻址、存储器直接寻址、立即数寻址等五种寻址方式。
三、设计具体要求1、仔细复习所学过的理论知识,掌握微程序设计的思想,并根、据掌握的理论写出要设计的指令系统的微程序流程。
指令系统至少要包括六条指令,具有上述功能和寻址方式。
2、根据微操作流程及给定的微指令格式写出相应的微程序3、将所设计的微程序在虚拟环境中运行调试程序,并给出测试思路和具体程序段4、撰写课程设计报告。
四、设计环境1、伟福COP2000型组成原理实验仪,COP2000虚拟软件。
2、VC开发环境或者Java开发环境。
五、设计方案(1)设计思想编写一个指令系统,根据所编写的指令的功能来设计相应的微程序。
首先利用MOV传送指令来给寄存器和累加器传送立即数,实现立即数寻址;利用寄存器寻址方式,用ADDC指令对两者进行相加运算;利用寄存器间接寻址方式,用SUB指令实现减运算;利用累加器寻址方式,用CPL指令实现对累加器寻址;利用存储器寻址方式,用JMP 指令实现程序的无条件跳转。
这样,所要设计的指令系统的功能就全部实现了。
(2)微指令格式采用水平微指令格式的设计,一次能定义并执行多个并行操作微命令的微指令,叫做水平型微指令。
其一般格式如下:按照控制字段的编码方法不同,水平型微指令又分为三种:全水平型(不译法)微指令,字段译码法水平型微指令,以及直接和译码相混合的水平型微指令。
(3)24个微指令的意义COP2000 模型机包括了一个标准CPU 所具备所有部件,这些部件包括:运算器ALU、累加器A、工作寄存器W、左移门L、直通门D、右移门R、寄存器组R0-R3、程序计数器PC、地址寄存器MAR、堆栈寄存器ST、中断向量寄存器IA、输入端口IN、输出端口寄存器OUT、程序存储器EM、指令寄存器IR、微程序计数器uPC、微程序存储器uM,以及中断控制电路、跳转控制电路。
其中运算器和中断控制电路以及跳转控制电路用CPLD 来实现,其它电路都是用离散的数字电路组成。
微程序控制部分也可以用组合逻辑控制来代替。
模型机为8 位机,数据总线、地址总线都为8位,但其工作原理与16位机相同。
相比而言8 位机实验减少了烦琐的连线,但其原理却更容易被学生理解、吸收。
模型机的指令码为8 位,根据指令类型的不同,可以有0 到2 个操作数。
指令码的最低两位用来选择R0-R3 寄存器,在微程序控制方式中,用指令码做为微地址来寻址微程序存储器,找到执行该指令的微程序。
而在组合逻辑控制方式中,按时序用指令码产生相应的控制位。
在本模型机中,一条指令最多分四个状态周期,一个状态周期为一个时钟脉冲,每个状态周期产生不同的控制逻辑,实现模型机的各种功能。
模型机有24 位控制位以控制寄存器的输入、输出,选择运算器的运算功能,存储器的读写。
24 位控制位分别介绍如下: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: X2、X1、X0三位组合来译码选择将数据送到DBUS上的寄存器。
如下表所示:WEN:将数据总线DBUS的值打入工作寄存器W中。
AEN:将数据总线DBUS的值打入累加器A中。
通过S2,S1,S0 来选择运算数据由寄存器A及寄存器W 给出, 运算结果输出到直通门D。
如下表所示:S2 S1 S0 功能0 0 0 A+W 加0 0 1 A-W 减0 1 0 A|W 或0 1 1 A&W 与1 0 0 A+W+C 带进位加1 0 1 A-W-C 带进位减1 1 0 ~A A取反1 1 1 A 输出A(4)微程序的设计一共设计七条微程序,如下:MOV R0,#55H 立即数寻址,数据传送MOV A,#33H 立即数寻址,数据传送MOV @R0,A 将A的值存入以R0为地址的内存单元ADDC A,R0 寄存器寻址,带进位加SUB A,@R0 寄存器间接寻址,减运算CPL A 累加器寻址,求反JMP 0 存储器寻址,无条件跳转在COP2000中的设计如下所截图:这七条指令的流程图如下:1)MOV A, #II 2)MOV R?,#II 3)MOV @R?,A4)ADDC A,R? (5)SUBB A,@R? 6)CPL A7)JMP MM(5)详细设计下面详细分析每条程序的设计:1、_FATCH_只用一个周期状态,程序执行的第一条取指的微指令该指令为一个周期状态,T0状态的设计及可控制信号如下:2、MOV A, #II该指令为两个周期状态T1状态的设计及可控制信号如下:T0状态的设计及可控制信号如下:3、MOV R?,#II该指令为两个周期状态,T1状态的设计及可控制信号如下:T0状态的设计及可控制信号如下:4、MOV @R?,A该指令为三个周期状态,T2状态的设计及可控制信号如下:T1状态的设计及可控制信号如下:T0状态的设计及可控制信号如下:5、ADDC A,R?该指令为三个周期状态,T2状态的设计及可控制信号如下:T1状态的设计及可控制信号如下:T0状态的设计及可控制信号如下:6、SUB A,@R?该指令为四个周期状态,T3状态的设计及可控制信号如下:T2状态的设计及可控制信号如下:T1状态的设计及可控制信号如下:T0状态的设计及可控制信号如下:7、CPL A该指令为两个周期状态,T1状态的设计及可控制信号如下:T0状态的设计及可控制信号如下:7. JMP MM该指令为两个周期状态,T1状态的设计及可控制信号如下:T0状态的设计及可控制信号如下:六、调试过程七条指令编写完成以后,选择菜单[文件|保存指令系统/微程序]功能,将新建的指令系统/微程序保存下来,以便以后调用。
将新的指令系统/微程序保存为“INST33.INS”。
在COP2000的ASM窗口中输入以下几行源程序:MOV A, #66HMOV R0,#33HMOV @R0,AADDC A,R0SUB A,@R0CPL AJMP 0将程序另存为NEW_INST33.ASM,将程序汇编成机器码,观察反汇编窗口,会显示出程序地址、机器码、反汇编指令。
发现程序代码颜色会发生改变,点击复位按钮后进行单微指令的测试,如下图所示ASM 微程序如下:显示出程序地址、机器码、反汇编指令如下图所示:程序地址机器码反汇编指令指令说明00 0466 MOV A,#66 02 0833 MOV R0,#3304 0C MOV @R0,A05 10 ADDC A,R006 14 SUB A,@RO07 18 CPL A08 1C00 JMP 00 (1)微指令运行结果1)MOV A,#66H测试结果如图:说明立即数66已经写入累加器A中。
说明立即数33已经写入寄存器R0中。
3)MOV @R0,A测试结果如图:说明累加器中A的直66已经写入以R0为地址的内存单元中。
先将R0中的33传送的W中。
将A与W通过ALU相加的到99,并把结果通过直通门返回到累加器A 中。
先将R0的地址读出并送入地址寄存器MAR中。
MAR将地址输出到ABUS,EM读出该地址的数据并将该数据66传送到W中。
A与W通过ALU相减得33,得到的结果通过直通门返回到累加器A中。
6)CPL A 累加器寻址,求反结果如下:7)JMPP 0测试结果如下:PC将地址输出到ABUS,EM将值为0打入回PC,说明下条指令从0地址开始运行。
(2)出现问题与解决方案1)程序在运行完中间某个指令后自动中断操作。
解决方案:该指令的最后一个周期的缺少取指令,加上该微指令即可。
2)在进行MOV @R?,A的操作时,无法将A的值写入内存。
解决方案:控制信号中的EM_WR没有置为低电平,将该信号设为有效位即可写入。
3)指令跳转操作在第一次可顺利完成,但在第二次会出现错误。
解决方案:控制信号EM_RD应设为有效位,即允许读内存的信息。
七、心得体会通过本次本次《计算机组成原理》课程设计,我对计算机原理的学习有了更深入的认识。
本次课程设计为计算机组成原理微程序控制器的设计与实现,我们做这次课程设计用的是伟福COP2000型组成原理实验仪和COP2000虚拟软件。
由于对伟福COP2000型组成原理实验仪和COP2000虚拟软件不太了解,通过上网查找资料和再参考计算机组成原理课程设计任务书,知道用户可以通过COP2000计算机组成原理实验软件或组成原理实验仪来设计自己的指令集。
平时做实验用过该软件,但操作还不是很熟练。
经过这些天的琢磨,自己对这个软件也有了一定的认识,所以想用该软件实现多种寻址方式和各种操作并不是很困难的。
对比实验指导书以及上网搜寻相关资料来熟悉该软件的界面以及各种操作,其次再通过本次课程设计的要求来一步步设计微指令,从而更加熟悉用COP2000来实现微程序的设计的方法。
总之,这次课设让我受益匪浅,我感受最深的是不论要进行何种课程设计,必须首先要有一个好的设计思想和设计步骤,如果所使用平台是一个比较陌生的软件环境的话,还要首先熟悉该软件才能在设计时避免由于准备不充分而带来个各种问题。
现在我知道输入这些和汇编语句,计算机会从控存中提取出相应的一段微程序去完成指令所交付的工作。
每一段微程序是由一些微指令的序列构成,而微指令则是由若干无先后顺序的微命令构成,每一个微命令都唯一对应计算机内部的某个部件的专有控制信号。