文档库 最新最全的文档下载
当前位置:文档库 › 计组实验三 微程序控制器实验

计组实验三 微程序控制器实验

计组实验三 微程序控制器实验
计组实验三 微程序控制器实验

计算机学院计算机科学与技术专业班______组、学号

姓名_ __协作者___________ 教师评定_____________

实验题目_ 微程序控制器实验__________________

1. 实验目的与要求:

1.理解时序产生器的原理,了解时钟和时序信号的波形。

2.掌握为程序控制器的功能。

3.掌握微指令格式和各字段的功能。

4.掌握微程序的编制,写入,观察微程序的运行,学习基本指令

的执行流程。

5.理解微程序控制器的电路。

2.实验方案:

一.对于时钟信号的测试方法:

用计算机组成原理实验联机软件与仪器一起测量。先用一根导线把SINGAL UNIT的H24和STA TE UNIT的Φ连接起来,然后用探笔按颜色分别查到实验仪左上角的CH1和CH2,黑插头插CH1,红插头插CH2,将探笔分别插到TS1针和Φ上。然后讲STOP开关设置为RUN,STEP设置为EXEC,按START开关,打开软件,就可以显示出两个波形和测量时钟周期。

二.观察微程序控制器的工作原理:

按照实验指导书的图3-6进行接线,仔细检查无误后打开电源。然后按编程,校验和运行几个步骤进行实验。

编程:

A.将编程开关(MJ20)设置为PROM状态。

B.将实验板上的STA TE UNIT的STEP设置为STEP状态,STOP设置为RUN状态,SWITCH UNIT中CLR开关置为

“1“状态。

C.在UA5-UA0开关上设置要写入的微地址,然后在MK24-MK1开关上写入24位微代码,按动启动按钮START

计入数据。然后不断重复此步骤,直到把所有指令写入。

校验:

A将编程开关设置为READ状态。

B.将实验板上的STA TE UNIT的STEP设置为STEP状态,STOP 设置为RUN状态,SWITCH UNIT中CLR开关置为“1“状态。

C.在开关UA5-UA0上设置好要读的某个微地址,按动START 开关,就能读出微代码,检查读出的微代码是够与写入的一样,如果不同,则要重新写入。

最后,按照实验指导书要求完成相关的实验。

3. 实验结果和数据处理:

Φ

TS1

TS2

TS3

TS4

周期T=7.82-3.94=3.88ms

4. 实验结果分析:

1.从周期图表可以看出TS1 TS2 TS3 TS4它们都是一个紧跟着一个

执行的TS1结束后,TS2就开始执行,就好像一条流水线工作的原理一样。

2.微程序控制器的功能就是按照不断地寻找微地址,读出下一条指

令的微地址,然后不断地执行这样的过程。

3.写出你掌握了的控制信号的作用

STEP信号:单步执行信号。当它设置为EXEC状态,时序TS1-TS4会周而复始地发送;当设置为STEP状态,它就会单步执行,只发送一个CPU的周期信号。

STOP信号:停机信号,用来控制程序是否运行。

STRA T信号:启动信号。

MJ20开关:可以设置编程,校验和运行三个不同的功能。

4.结论

1.对于时序信号,它是一个周而复始的过程,从TS1到TS4不断重

复地运行,但是彼此互不干扰。

2.微程序控制器的思想就在于,把所有控制信号汇集在一起编程所

谓的“微指令“,存放在EPROM内,系统运行时,一条又一条地读出这些微指令,产生执行部件所需要的各种控制信号,从而驱动执行部件进行规定的操作。

3.对于控制信号,每一个都有其相应的功能,保证我们的程序能够

编写,检验和进行相关的操作。

5.问题与讨论及实验总结

这次实验里面,我们开始使用计算机组成原理实验模拟软件,对于这个软件的使用我还不是熟悉,有待提高。

这个实验里面我觉得很容易有一些小的错误,如输入错误,我自己测试的时候就发现有一个地方出了点小错误,但是这个小错误就足以让整个程序运行出错了,跳转错了地方,那就达不到我们预期的目的了。

6.思考选择题:(单选题)

1、( A )2、( C )3、( A )4、( A )5、( B ) 6 、( C ) 7、( B ) 8、( A )9、( A ) 10、( B ) 11、( C )

微程序控制器的设计与实现

微程序控制器的设计与实现 一、设计目的 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、右

硬件基础-微程序控制器实验报告

大学 HUNAN UNIVERSITY 硬件基础实验2 实验报告 一、实验预习 1.书中的图形实现微程序控制器,中间的映射逻辑究竟是怎么实现的? 答:但出现分支时,预设端信号由IR决定。IR为1时信号有效,输出为1. 通过IR的值映射为下址的低三位,从而产生下址。 2.书中设计用到了强写强读,为什么要设计这个功能? 答:满足用户因为没有初始化mif文件时输入数据的需要。

二、实验目的 微程序控制器实验的主要任务:生成CPU里的控制信号,并使程序按正确的顺序执行。核心部分是ROM,存放机器指令的微程序。 1、掌握微程序控制器的组成、工作原理; 2、掌握微程序控制器的基本概念和术语:微命令、微操作、微指令、微 程序等; 3、掌握微指令、微程序的设计及调试方法; 4、通过单步运行若干条微指令,深入理解微程序控制器的工作原理; 二、实验电路 图1 附:电路图过大,请放大观察详情 三、实验原理 将机器指令的操作(从取指到执行)分解为若干个更基本的微操作序列,并将有关的控制信息(微命令)以微码的形式编成微指令输入到控制存储器中。这样,每条机器指令将与一段微程序对应,取出微指令就产生微命令,以实现机器指令要求的信息传送与加工。

四、实验步骤及概述 1)设计状态机部分 a、编写VHDL代码如下 LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY zhuangtaiji IS PORT ( reset : IN STD_LOGIC := '0'; clock : IN STD_LOGIC; qd : IN STD_LOGIC := '0'; dp : IN STD_LOGIC := '0'; tj : IN STD_LOGIC := '0'; t1 : OUT STD_LOGIC; t2 : OUT STD_LOGIC; t3 : OUT STD_LOGIC; t4 : OUT STD_LOGIC ); END zhuangtaiji; ARCHITECTURE BEHAVIOR OF zhuangtaiji IS TYPE type_fstate IS (idle,st1,s_st2,st4,st2,st3,s_st4,s_st3); SIGNAL fstate : type_fstate; SIGNAL reg_fstate : type_fstate; BEGIN PROCESS (clock,reset,reg_fstate) BEGIN IF (reset='1') THEN fstate <= idle; ELSIF (clock='1' AND clock'event) THEN fstate <= reg_fstate; END IF; END PROCESS; PROCESS (fstate,qd,dp,tj) BEGIN t1 <= '0'; t2 <= '0'; t3 <= '0'; t4 <= '0'; CASE fstate IS WHEN idle => IF (NOT((qd = '1'))) THEN reg_fstate <= st1;

计组实验报告

计算机组成原理实验报告 实验1:VERILOG 设计基础 专业班级:14级计算机二班 学号:14048001 姓名:杨娜 学号:14048003 姓名:周蓉 实验地点:理工楼901 实验时间:2016年5月14日

实验十VGA显示控制器的设计 一、实验目的 1、学习VERILOG的基本语法和编程规则 2、掌握通用寄存器等常用基本数字模块的VERILOG描述和基本设计方法 3、理解带使能控制和异步清零的8位寄存器的设计原理 4、掌握使用VERILOG设计和验证带使能控制和异步清零的8位寄存器的方法 5、掌握移位寄存器的设计方法 二、实验任务 1、设计一个带使能控制和异步清零的8位寄存器REG8X,实现8位输入的锁存,在时钟的上升沿处得到一个8位的输出和一个8位的反向输出,将结果显示在发光二极管。 模块的端口描述如下: 模块的参考物理结构如下: R7 R6 R i R 0 7 6 i 0 带使能控制和异步清零的8位寄存器 模块的使用注意事项

1.数据源D(7..0)一直加在寄存器的数据输入端; 2.周期性的时钟信号Clock一直加在寄存器的时钟输入端 3.使能信号Enable控制寄存器是否接受数据。当Enable = '0'时,寄存器不 接受数据,保持原来的状态不变;当Enable = '1'时,在时钟信号Clock正 跳变时,寄存器接受并保存当时D(7..0)的数据; 4.本寄存器其它方面的功能与上述的寄存器相同。 完成的参考电路图如下:dout=q 2、设计一个有左、右移位功能的8位寄存器REGSHIFT8,并仿真验证。

三、实验内容 1、通过输入数据先进行计算,并通过实验进行验证REG8X。 (1)、将清零信号Resetn(sw17)设为0,将输入信号D(sw7~sw0)设为10101010,观察输出信号Q(ledr7~ledr0)和Qb(ledg7~ledg0),观察并记录输出。 (2)、将清零信号Resetn(sw17)设为1,在时钟信号处输入一个上升沿(按下key0),观察并记录输出。 (3)、将输入信号D(sw7~sw0)设为01010101,观察并记录输出。 (4)、在时钟信号处输入一个上升沿(按下key0),观察并记录输出。 (5)、自行完善设计表格,观察并记录测试输出。 实验数据表 2、通过输入数据先进行计算,并通过实验进行验证REGSHIFT8。 (1)、测试清零信号Resetn (2)、测试移位功能 (3)、测试寄存功能 (4)、自行设计表格观察并记录测试输出。 实验数据表

微程序控制器实验2

实 验 项 目 微程序控制器实验实验时间2015年10月31日 实验目的(1) 掌握微程序控制器的组成原理。 (2) 掌握微程序的编制、写入,观察微程序的运行过程。 实 验 设 备 PC机一台,TD-CMA实验系统一套 实验原理 微程序控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能转换成可以控制的硬件逻辑部件工作的微命令序列,完成数据传送和各种处理操作。它的执行方法就是将控制各部件动作的微命令的集合进行编码,即将微命令的集合仿照机器指令一样,用数字代码的形式表示,这种表示称为微指令。这样就可以用一个微指令序列表示一条机器指令,这种微指令序列称为微程序。微程序存储在一种专用的存储器中,称为控制存储器,微程序控制器原理框图如图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”状态,完成地址修改。

在实验平台中设有一组编程控制开关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(01H),由IN 单元开关依次给出该控存单元数据的低8 位、中8 位和高8 位配合每次开关ST 的两次按动,即可完成对后续单元的编辑。

计组-加法器实验报告

半加器、全加器、串行进位加法器以及超前进位加法器 一、实验原理 1.一位半加器 A和B异或产生和Sum,与产生进位C 2.一位全加器 将一位半加器集成封装为halfadder元件,使用两个半加器构成一位的全加器 3.4位串行进位加法器 将一位全加器集成封装为Fulladder元件,使用四个构成串行进位加法器

4.超前进位加法器(4位) ⑴AddBlock 产生并行进位链中的ti(即Cthis)和di(即Cpass),以及本位结果Sum ⑵进位链(Cmaker) 四位一组并行进位链,假设与或非门的级延迟时间为1.5ty,与非门的延迟时间为1ty,在di和ti产生之后,只需2.5ty就可产生所有全部进位

⑶超前进位加法器 将以上二者结合起来即可完成,A和B各位作为各个AddBlock的输入,低一位的进位Ci-1作为本位AddBlock的C-1的输入。各个AddBlock输出的C_this和C_pass作为对应的Cmaker的thisi和passi的输入。

二、实验器材 QuartusII仿真软件,实验箱 三、实验结果 1.串行进位加法器结果 2.超前进位加法器结果

四、实验结果分析 1.实验仿真结果显示串行加法器比超前进位加法器快,部分原因应该是电路结构优化 不到位。另外由于计算的位数比较少,超前进位加法链结构较复杂,所以优势没体现出来,反倒运作的更慢一点。当位数增加的时候,超前进位加法器会比串行的更快。 2.波形稳定之前出现上下波动,应该与“竞争冒险”出现的情况类似,门的延迟和路径 的不同导致了信号变化时到达的时间有先有后,因此在最终结果形成前出现了脉冲尖峰和低谷;另外也可能部分原因由于电路结构优化的不到位所致

微程序控制器实验

计算机科学与技术系 实验报告 专业名称计算机科学与技术 课程名称计算机组成原理 项目名称微程序控制器实验 班级

学号 姓名 同组人员 实验日期 一、实验目的与要求 实验目的 (1)掌握微程序控制器的组成原理 (2)掌握微程序控制器的编制、写入,观察微程序的运行过程 实验要求 (1)实验之前,应认真准备,写出实验步骤和具体设计内容,否则实验效率会很低,一次实验时间根本无法完成实验任务,即使基本做对了,也很难说懂得了些什么重要教学内容; (2)应在实验前掌握所有控制信号的作用,写出实验预习报告并带入实验室; (3)实验过程中,应认真进行实验操作,既不要因为粗心造成短路等事故而损坏设备,又要仔细思考实验有关内容,把自己想不明白的问题通过实验理解清楚; (4)实验之后,应认真思考总结,写出实验报告,包括实验步骤和具体实验结果,遇到的问题和分析与解决思路。还应写出自己的心得体会,也可以对教学实验提出新的建议等。实验报告要交给教师评阅后并给出实验成绩; 二、实验逻辑原理图与分析 画实验逻辑原理图

逻辑原理图分析 微程序控制器的基本任务是完成当前指令的翻译个执行,即将当前指令的功能转换成可以控制的硬件逻辑部件工作的微命令序列,完成数据传送和各种处理操作。 它的执行方法就是将控制各部件动作的微命令的集合进行编码,即将微命令的集合仿照机器指令一样,用数字代码的形式表示,这种表示成为微指令。这样就可以用一个微指令序列表示一条机器指令,这种微指令序列称为微程序。微程序存储在一种专用的存储器中,称为控制存储器。 三、数据通路图及分析(画出数据通路图并作出分析) (1)连接实验线路,检查无误后接通电源。如果有警报声响起,说明有总线竞争现象,应关闭电源,检查连线,直至错误排除。 (2)对微控制器进行读写操作,分两种情况:手动读写和联机读写。 1、手动读写

计组-4位乘法器实验报告

实验4位乘法器实验报告 姓名:X XX 学号:X XX 专业:计算机科学与技术课程名称:计算机组成同组学生姓名:无 实验时间:实验地点:指导老师:XXX 一、实验目的和要求 1.熟练掌握乘法器的工作原理和逻辑功能 二、实验内容和原理 实验内容: 根据课本上例3-7的原理,来实现4位移位乘法器的设计。 具体要求:1. 乘数和被乘数都是4位 2. 生成的乘积是8位的 3. 计算中涉及的所有数都是无符号数 4.需要设计重置功能 5.需要分步计算出结果(4位乘数的运算,需要四步算出结果) 实验原理: 1.乘法器原理图

2.本实验的要求: 1.需要设计按钮和相应开关,来增加乘数和被乘数 2.每按一下M13,给一个时钟,数码管的左边两位显示每一步的乘 积 3.4步计算出最终结果后,LED灯亮,按RESET重新开始计算 三、主要仪器设备 1.Spartan-III开发板1套 2.装有ISE的PC机1台 四、操作方法与实验步骤 实验步骤: 1.创建新的工程和新的源文件 2.编写verilog代码(top模块、display模块、乘法运算模块、去抖动模块以及 UCF引脚) 3.进行编译 4.进行Debug 工作,通过编译。

5.. 生成FPGA代码,下载到实验板上并调试,看是否与实现了预期功能 操作方法: TOP: module alu_top(clk, switch, o_seg, o_sel); input wire clk; input wire[4:0] switch; output wire [7:0] o_seg; // 只需七段显示数字,不用小数点 output wire [3:0] o_sel; // 4个数码管的位选 wire[15:0] disp_num; reg [15:0] i_r, i_s; wire [15:0] disp_code; wire o_zf; //zero detector initial begin i_r <= 16'h1122; //0x1122 i_s <= 16'h3344; //0x3344 end alu M1(i_r, i_s, switch[4:2], o_zf, disp_code); display M3(clk, disp_num, o_seg, o_sel); assign disp_num = switch[0]?disp_code:(switch[1] ? i_s : i_r); endmodule

微程序控制器的基本原理

微程序控制器的基本原理 1、控制存储器:控制存储器是微程序控制器中的核心部件,通常由只读存储器ROM 器件实现,简称控存。 2、微指令:控制存储器中的一个存储单元(字)表示了某一条指令的某一操作步骤的控制信号,以及下一步骤的有关信息,称该字为微指令。 作用:准确提供了指令执行中的每一步要用的操作信号及下一微指令的地址。 3、微程序:全部微指令的集合称为微程序。 4、微程序控制器的基本工作原理:根据IR(指令寄存器)中的操作码,找到与之对应的控存中的一段微程序的入口地址,并按指令功能所确定的次序,逐条从控制存储器中读出微指令,以驱动计算机各部件正确运行。 5、得到下一条微指令的地址的有关技术:要保证微指令的逐条执行,就必须在本条微指令的执行过程中,能得到下一条微指令的地址。 形成下条微指令地址(简称下地址)可能有下列五种情况: ①下地址为本条微指令地址加1; ②微程序必转某一微地址,可在微指令中给出该微地址值; ③根据状态标志位,选择顺序执行或转向某一地址; ④微子程序的调用及返回控制,要用到微堆栈; ⑤根据条件判断转向多条微指令地址中的某一地址,比③更复杂的情况。 如:若C=1,转移到 A1 微地址; 若S=1,转移到 A2 微地址; 若Z=1,转移到 B1 微地址; 这种情况,在微指令中直接给出多个下地址是不现实的,应找出更合理的解决方案。

微指令的格式和内容: 下地址字段控制命令字段 补充:微指令编码的方法 (1)直接表示法(水平型微指令):操作控制字段中的每一位带代表一个微操作控制信号。如教学实验计算机的微指令56位 (2)编码表示法(垂直型微指令):把一组相斥性的微命令信号组成一个小组,通过小组字段译码器对每一个微命令信号进行译码。 (3)混合表示法:将直接表示法与编码表示法相混合使用。 下地址字段的内容 得到下地址的方法 由指令操作码得到 微指令顺序执行 在微指令下地址字段中表示清楚: 使用哪种方法 哪个判断条件,

微程序控制器实验审批稿

微程序控制器实验 YKK standardization office【 YKK5AB- YKK08- YKK2C- YKK18】

评语: 课中检查完成的题号及题数: 课后完成的题号与题数: 成绩: 自评成绩: 实验报告 实验名称:微程序控制器实验 日 期: 班级:学号: 姓 名: 一、实验目的: 1.掌握微程序控制器的组成原理。 2.掌握微程序的编制、写入,观察微程序的运行过程。 二、实验内容: 1.了解如何将微码加载到微控存中,了解指令并运行。 2.通过微程序控制器实验能得简单运算结果。 3.设计并修改电路,编写用微程序实现存储器中两个单字节十六进制数的加法运算,结果输出至OUT单元。 三、项目要求及分析: 要求:操作数由IN单元输入至MEM,在由MEM中读出操作数并在ALU中运算。 四、具体实现: 1. 按图1-3-10 所示连接实验线路,仔细查线无误后接通电源。如果有‘滴’报警声,说明总线有竞争现象,应关闭电源,检查接线,直到错误排除。

图1-3-10 实验接线图 2. 对微控器进行读写操作,分两种情况:手动读写和联机读写。 1) 手动读写 进行手动读或是写,都需要手动给出地址,系统专门安排了一个ADDR 单元,做为地址输入。ADDR 单元原理如图1-3-11 所示,可以看出本单元实为一个加减计数器。当开关为‘加1’档时,在T2 的下沿计数器进行加1 计数,当开关为‘减1’档时,在T2 的下沿计数器进行减1计数,当开关置为‘置数’档时,计数器置初值,其作用相当于直通,SA7…SA0 的输出值就是二进制开关组的值。 在实验中选择什么档位,取决于写入数据的地址是否连续,如果是连续地址,选 择‘加1’或是‘减1’档会方便一些。如果是离散地址,选择‘置数’档会方便一些。

微程序控制器实验报告 (2)

组成原理No、4实验--- 微程序控制器实验 组员: 组号:21号 时间:周二5、6节?

【实验目的】 (1)掌握时序发生器的组成原理。 (2)掌握微程序控制器的组成原理。 (3)掌握微程序的编制、写入、观察微程序的运行情况 【实验设备】 TDN-CM++, 【实验原理】 微程序控制器的基本任务就是完成当前指令的翻译与执行,即将当前指令的功能转换成可以控制硬件逻辑部件工作的微命令序列,以完成数据传输与各种处理操作。它的执行方法就就是将控制各部件动作的微命令的集合进行编码,即将微命令的集合仿照机器指令一样,用数字代码的形式表示,这种表示称为微指令。这样就可以用一个微指令序列表示一条机器指令,这种微指令序列称为微程序。微程序存储在一种专用的存储器中,该存储器称为控制存储器。 实验所用的时序控制电路框图如图1 所示, 可产生四个等间隔的时序信号TS1~TS4。在 图1中,为时钟信号,由实验台左上方的 方波信号源提供,可产生频率及脉宽可调额 方波信号;STEP就是来自实验板上方中部的 一个二进制开关STEP的模拟信号;START 键就是来自实验板上方左部的一个微动开关 START的按键信号。当STEP开关为EXEC(0)时,一旦按下START启动键,时序信号TS1~TS4将周而复始地发送出去。当STEP为STEP(1)时,按下START启动键,机器便处于单步运行状态,即此时只发送一个CPU周期的时序信号就停机了。利用单步方式,每次只读一条微指令,可以观察微指令的代码与当前微指令的执行结果。另外,如果STEP开关置“STEP”,会使机器停机,CLR开关执行1→0→1操作可以使时序清零。时序状态图如下图所示。 ?由于时序电路的内部线路已经连好,因此只需将时序电路与方波信号源连接,即将时序电路的时钟脉冲输入端接至方波信号发生器输入端H23上,按动启动 键START后,就可产生时序信号TS1~TS4、时序电路的CLR已接至CLR 模拟开关上。 ?编程开关具有三种状态:PROM(编程)、READ(校验)与RUN(运行)。 微指令格式如 下: 【实验步骤】

FPGA一位全加器设计实验报告

题目:1位全加器的设计 一.实验目的 1.熟悉QUARTUSII软件的使用; 2.熟悉实验硬件平台的使用; 3.掌握利用层次结构描述法设计电路。 二.实验原理 由于一位全加器可由两个一位半加器与一个或门构成,首先设计半加器电路,将其打包为半加器模块;然后在顶层调用半加器模块组成全加器电路;最后将全加器电路编译下载到实验箱,其中ain,bin,cin信号可采用实 验箱上SW0,SW1,SW2键作为输入,并将输 入的信号连接到红色LED管 LEDR0,LEDR1,LEDR2上便于观察,sum,cout 信号采用绿色发光二极管LEDG0,LEDG1来 显示。 三.实验步骤 1.在QUARTUSII软件下创建一工程,工程名为full_adder,芯片名为EP2C35F672C6; 2.新建Verilog语言文件,输入如下半加器Verilog语言源程序; module half_adder(a,b,s,co); input a,b; output s,co; wire s,co; assign co=a & b; assign s=a ^ b; Endmodule 3.保存半加器程序为,进行功能仿真、时序仿真,验证设计的正确性。 其初始值、功能仿真波形和时序仿真波形分别如下所示

4.选择菜单File→Create/Update→Create Symbol Files for current file,创建半加器模块; 5.新建一原理图文件,在原理图中调用半加器、或门模块和输入,输出引脚,按照图1所示连接电路。并将输入ain,bin,cin连接到FPGA的输出端,便于观察。完成后另保存full_adder。 电路图如下 6.对设计进行全编译,锁定引脚,然后分别进行功能与时序仿真,验证全加器的逻辑功能。其初始值、功能仿真波形和时序仿真波形分别如下所示

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

2015 年 5 月 24 日 课程名称:计算机组成原理实验名称:微程序控制器原理实验 班级:学号:姓名: 指导教师评定:_________________ 签名:_____________________ 一、实验目的: 1.掌握微程序控制器的组成及工作过程; 2.通过用单步方式执行若干条微指令的实验,理解微程序控制器的工作原理。 二、预习要求: 1.复习微程序控制器工作原理; 2.预习本电路中所用到的各种芯片的技术资料。 三、实验设备: EL-JY-II型计算机组成原理实验系统一台,连接线若干。 四、电路组成: 微程序控制器的原理图见图4-1(a)、4-1(b)、4-1(c)。 图4-1(a)控制存储器电路

图4-1(b)微地址形成电路 图4-1(c)微指令译码电路 以上电路除一片三态输出8D触发器74LS374、三片EFPROM2816和一片三态门74LS245,其余逻辑控制电路均集成于EP1K10内部。28C16、74LS374、74LS245

芯片的技术资料分别见图4-2~图4-4. 图4-2(a )28C16引脚 图4-2(b ) 28C16引脚说明 工作方式 /CE /OE /WE 输入/输出 读 后 备 字 节 写 字节擦除 写 禁 止 写 禁 止 输出禁止 L L H H × × L H L L 12V L × × H × L × × H × 数据输出 高 阻 数据输入 高 阻 高 阻 高 阻 高 阻 图4-2(c )28C16工作方式选择 图4-5(a )74LS374引脚 图4-5(b )74LS374功能

图4-8(a)74LS245引脚图4-8(b)74LS245功能 五、工作原理: 1.写入微指令 在写入状态下,图4-1(a)中K2须为高电平状态,K3必须接至脉冲/T1端,否则无法写入。MS1-MS24为24位写入微代码,由24位微代码开关(此次实验采用开关方式)。uA5-uA0为写入微地址,采用开关方式则由微地址开关提供。K1须接低电平使74LS374有效,在脉冲T1时刻,uAJ1的数据被锁存形成微地址(如图4-1(b)所示),同时写脉冲将24位微代码写入当前微地址中(如图4-1(a)所示)。 2.读出微指令 在写入状态下,图4-1(a)中K2须为低电平状态,K3须接至高电平。 K1须接低电平使74LS374有效,在脉冲T1时刻,uAJ1的数据被锁存形成微地址uA5-uA0(如图4-1(b)所示),同时将当前微地址的24位微代码由MS1-MS24输出。 3.运行微指令 在运行状态下,K2接低电平,K3接高电平。K1接高电平。使控制存储器2816处于读出状态,74LS374无效因而微地址由微程序内部产生。在脉冲T1时刻,当前地址的微代码由MS1-MS24输出;T2时刻将MS24-MS7打入18位寄存器中,然后译码输出各种控制信号(如图4-1(c)所示,控制信号功能见实验五);在同一时刻MS6-MS1被锁存,然后在T3时刻,由指令译码器输出的SA5-SA0将其中某几个触发器的输出端强制置位,从而形成新的微地址uA5-uA0,这就是将要运行的下一条微代码的地址。当下一个脉冲T1来到

微程序控制器与组合逻辑控制器的区别

微程序控制器的基本原理详细图解 1、控制存储器:控制存储器是微程序控制器中的核心部件,通常由只读存储器ROM器件实现,简称控存。 2、微指令:控制存储器中的一个存储单元(字)表示了某一条指令的某一操作步骤的控制信号,以及下一步骤的有关信息,称该字为微指令。 作用:准确提供了指令执行中的每一步要用的操作信号及下一微指令的地址。 3、微程序:全部微指令的集合称为微程序。 4、微程序控制器的基本工作原理:根据IR(指令寄存器)中的操作码,找到与之对应的控存中的一段微程序的入口地址,并按指令功能所确定的次序,逐条从控制存储器中读出微指令,以驱动计算机各部件正确运行。 5、得到下一条微指令的地址的有关技术:要保证微指令的逐条执行,就必须在本条微指令的执行过程中,能得到下一条微指令的地址。 形成下条微指令地址(简称下地址)可能有下列五种情况: ①下地址为本条微指令地址加1; ②微程序必转某一微地址,可在微指令中给出该微地址值; ③根据状态标志位,选择顺序执行或转向某一地址; ④微子程序的调用及返回控制,要用到微堆栈; ⑤根据条件判断转向多条微指令地址中的某一地址,比③更复杂的情况。 如:若C=1,转移到 A1 微地址; 若S=1,转移到 A2 微地址; 若Z=1,转移到 B1 微地址; 这种情况,在微指令中直接给出多个下地址是不现实的,应找出更合理的解决方案。

计算机的微程序控制器和组合逻辑控制器(硬连线)在组成和运行原理上有何 相同和不同之处?它们各有哪些优缺点? 答:微程序的控制器和组合逻辑的控制器是计算机中两种不同类型的控制器。 共同点:①基本功能都是提供计算机各个部件协同运行所需要的控制信号;②组成部分都有程序计数器PC,指令寄存器IR;③都分成几个执行步骤完成每一条指令的具体功能。 不同点:主要表现在处理指令执行步骤的办法,提供控制信号的方案不一样。微程序的控制器是通过微指令地址的衔接区分指令执行步骤,应提供的控制信号从控制存储器中读出,并经过一个微指令寄存器送到被控制部件。组合逻辑控制器是用节拍发生器指明指令执行步骤,用组合逻辑电路直接给出应提供的控制信号。 微程序的控制器的优点是设计与实现简单些,易用于实现系列计算机产品的控制器,理论上可实现动态微程序设计,缺点是运行速度要慢一些。 组合逻辑控制器的优点是运行速度明显地快,缺点是设计与实现复杂些,但随着EDA 工具的成熟,该缺点已得到很大缓解。 组合逻辑控制器和微程序控制器2011-2-15 来源:深圳市恒益机电设备有限公司>>进入该公司展台组合逻辑控制器和微程序控制器,两种控制器各有长处和短处。组合逻辑控制器设计麻烦,结构复杂,一旦设计完成,就不能再修改或扩充,但它的速度快。微程序控制器设计方便,结构简单,修改或扩充都方便,修改一条机器指令的功能,只需重编所对应的微程序;要增加一条机器指令,只需在控制存储器中增加一段微程序,但是,它是通过执行一段微程。具体对比如下:组合逻辑控制器又称硬布线控制器,由逻辑电路构成,完全靠硬件来实现指令的功能。 组合逻辑控制器的设计步骤 ①设计机器的指令系统:规定指令的种类、指令的条数以及每一条指令的格式和功能。

加法器实验报告

加法器实验报告 篇一:加法器实验报告 实验 __一__ 【实验名称】 1位加法器 【目的与要求】 1. 掌握1位全加器的设计 2. 学会1位加法器的扩展 【实验内容】 1. 设计1位全加器 2. 将1位全加器扩展为4位全加器 3. 使4位的全加器能做加减法运算 【操作步骤】 1. 1位全加器的设计 (1)写出1位全加器的真值表 (2)根据真值表写出表达式并化简 (3)画出逻辑电路 (4)用quartusII进行功能仿真,检验逻辑电路是否正确,将仿真波形截图并粘贴于此 (5)如果电路设计正确,将该电路进行封装以用于下一个环节 2. 将1位全加器扩展为4位全加器 (1)用1位全加器扩展为4位的全加器,画出电路图

(2)分别用两个4位补码的正数和负数验证加法器的正确性(注意这两 个数之和必须在4位补码的数的范围内,这两个数包括符号在内共4位),用quartusII进行功能仿真并对仿真结果进行截图。 3. 将4位的全加器改进为可进行4位加法和减法的运算器 (1)在4位加法器的基础上,对电路进行修改,使该电路不仅能进行加 法运算而且还能进行减法运算。画出该电路 (2)分别用两个4位补码的正数和负数验证该电路的正确性(注意两个 数之和必须在4位补码的数的范围内),用quartusII进行功能仿真并对仿真结果进行截图。 【附录】 篇二:加法器的基本原理实验报告 一、实验目的 1、了解加法器的基本原理。掌握组合逻辑电路在Quartus Ⅱ中的图形输入方法及文本输入方法。 2、学习和掌握半加器、全加器的工作和设计原理 3、熟悉EDA工具Quartus II和Modelsim的使用,能够熟练运用Vrilog HDL语言在Quartus II下进行工程开发、调试和仿真。

计组实验报告.

武汉大学计算机学院计算机科学与技术专业 CPU设计实验报告 实验名称:开放式实验CPU设计课题名称: 计算机组成原理 班级: 指导教师:徐爱萍 组长: 组员: 二零一五年三月

目录 目录 (1) 1 实验环境 (2) 1.1 Quartus Ⅱ介绍 (2) 1.2 硬件描述语言(VHDL) (3) 1.3实验的主要成果 (3) 2 实验要求 (5) 2. 1 指令格式要求 (5) 2. 2 指令流程及微信号序列分析 (6) 2.2.1 ADD指令分析 (6) 2.2.2 ADC指令分析 (7) 2.2.3 SUB指令分析 (7) 2.2.4 SBC指令分析 (7) 2.2.5 INC指令分析 (7) 2.2.6 DEC指令分析 (8) 2.2.7 SHL指令分析 (8) 2.2.8 SHR指令分析 (8) 2.2.9 MOVR指令分析 (8) 2.2.10 MOVD指令分析 (9) 2.2.11 LDRR指令分析 (9) 2.2.12 STRR指令分析 (10) 2.2.13 JMP指令分析 (10) 2.2.14 JRC指令分析 (11) 2.2.15 JRZ指令分析 (11) 2.2.16 JRS指令分析 (11) 2.2.17 CLC指令分析 (11) 2.2.18 STC指令分析 (11) 3.部件仿真实验 (11) 3.1 八个通用寄存器设计与仿真 (11) 3.1.1 设计代码 (11) 3.1.2 RTL连接图 (17) 3.1.3 仿真过程 (17) 3.2算术逻辑单元设计与仿真 (18) 3.2.1 设计代码 (18) 3.2.2 RTL连接图 (21) 3.2.3 仿真过程 (22) 4. CPU设计 (23) 4.1取指设计 (23) 4.2指令译码的设计 (25) 4.3执行部分设计 (28) 4.4存储器部分设计 (31) 4.5通用寄存器组设计 (32)

计算机组成原理微程序控制器

任课教师:张芳、许建龙 《计算机组成原理》 (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,它将指令寄存器中的操作码转换成一段微程序的入口地址;

加法器的基本原理实验报告

一、实验目的 1、了解加法器的基本原理。掌握组合逻辑电路在Quartus Ⅱ中的图形输入方法及文本输入方法。 2、学习和掌握半加器、全加器的工作和设计原理 3、熟悉EDA工具Quartus II和Modelsim的使用,能够熟练运用Vrilog HDL语言在Quartus II下进 行工程开发、调试和仿真。 4、掌握半加器设计方法 5、掌握全加器的工作原理和使用方法 二、实验内容 1、建立一个Project。 2、图形输入设计:要求用VHDL结构描述的方法设计一个半加器 3、进行编译,修改错误。 4、建立一个波形文件。(根据真值表) 5、对该VHDL程序进行功能仿真和时序仿真Simulation 三、实验步骤 1、启动QuartusⅡ 2、建立新工程NEW PROJECT 3、设定项目保存路径\项目名称\顶层实体名称 4、建立新文件Blok Diagram/Schematic File 5、保存文件FILE /SA VE 6、原理图设计输入 元件符号放置通过EDIT_>SYMBOL 插入元件或点击图标 元件复制 元件移动 元件转动 元件删除 管脚命名PIN_NAME 元件之间连线(直接连接,引线连接) 7、保存原理图 8 、编译:顶层文件设置,PROJECT_>Set as Top_Level 开始编译processing_>Start Compilation 编译有两种:全编译包括分析与综合(Analysis&Synthesis)、适配(Fitter)、编程(assembler)时序分析(Classical Timing Analysis)4个环节,而这4个环节各自对应相应菜单命令,可单独发布执行也可以分步执行

实验四 常规型微程序控制器组成实验

实验四常规型微程序控制器组成实验 一、实验目的 1.掌握时序发生器的组成原理。 2.掌握微程序控制器的组成原理。 二、实验电路 1.时序发生器 本实验所用的时序电路见图3.4。电路由一个500KHz晶振、2片GAL22V10、一片74LS390组成,可产生两级等间隔时序信号T1-T4、W1-W3,其中一个W由一轮T1-T4组成,相当于一个微指令周期或硬连线控制器的一拍,而一轮W1-W3可以执行硬连线控制器的一条机器指令。另外,供数字逻辑实验使用的时钟由MF经一片74LS390分频后产生。 图3.4 时序信号发生器 本次实验不涉及硬连线控制器,因此时序发生器中产生W1-W3的部分也可根据需要放到硬连线控制器实验中介绍。 产生时序信号T1-T4的功能集成在图中左边的一片GAL22V10中,另外它还产生节拍信号W1-W3的控制时钟CLK1。该芯片的逻辑功能用ABEL语言实现。其源程序如下:MODULE TIMER1 TITLE 'CLOCK GENERATOR T1-T4' C LK = .C.; "INPUT M F, CLR, QD, DP, TJ, DB PIN 1..6; W3 PIN 7; "OUTPUT T1, T2, T3, T4 PIN 15..18 ISTYPE 'REG'; C LK1 PIN 14 ISTYPE 'COM'; Q D1, QD2, QDR PIN ISTYPE 'REG';

A CT PIN ISTYPE 'COM'; S = [T1, T2, T3, T4, QD1, QD2, QDR]; EQUATIONS Q D1 := QD; Q D2 := QD1; A CT = QD1 & !QD2; Q DR := CLR & QD # CLR & QDR; T1 := CLR & T4 & ACT # CLR & T4 & ! (DP # TJ # DB & W3) & QDR; T2 := CLR & T1; T3 := CLR & T2; T4 := !CLR # T3 # T4 & !ACT & (DP #TJ# DB& W3) # !QDR; C LK1 = T1 # !CLR & MF; S.CLK = MF; END 节拍电位信号W1-W3只在硬连线控制器中使用,产生W信号的功能集成在右边一片GAL22V10中,用ABEL语言实现。其源程序如下: MODULE TIMER2 //头部 TITLE 'CLOCK GENERATOR W1-W3' DECLARATIONS //说明部 C LK = .C.; "INPUT C LK1, CLR, SKIP PIN 1..3; "OUTPUT W1, W2, W3 PIN 16..18 ISTYPE 'REG'; W = [W1, W2, W3]; EQUATIONS //逻辑描述部 W1 := CLR & W3; W2 := CLR & W1 & !SKIP; W3 := !CLR # W2 # W1 & SKIP; W.CLK = CLK1; END TIMER2 //结束部 左边GAL的时钟输入MF是晶振的输出,频率为500KHz。T1-T4的脉宽为2μs。CLR实际上是控制台的CLR#信号,因为ABEL语言的书写关系改为CLR,仍为低有效。CLR#=0将系统复位,此时时序停在T4、W3,微程序地址为000000B。建议每次实验台加电后,先按CLR#复位一次。实验台上CLR#到时序电路的连接已连好。 对时序发生器TJ输入引脚的连接要慎重,当不需要暂停微程序的运行时,将它接地;如果需要的话,将它与微程序控制器的输出微命令TJ相连。QD(启动)是单脉冲信号,在

相关文档
相关文档 最新文档