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

微程序控制器实验报告

微程序控制器实验

预习报告

1. 微程序控制器的组成和工作原理。

微程序控制器主要由控制存储器、微指令寄存器和地址转移逻辑三大部分组成。

其工作原理分为:一、将程序和数据通过输入设备送入存储器;二、启动运行

后,从存储器中取出程序指令送到控制器去识别,分析该指令要求什么事;三、

控制器根据指令的含义发出相应的命令(如加法、减法),将存储单元中存放的

操作数据取出送往运算器进行运算,再把运算结果送回存储器指定的单元中;四、运算任务完成后,就可以根据指令将结果通过输出设备输出

2.微程序、微指令、微命令之间的关系。

一系列微指令的有序集合称为微程序。

在微程序控制方式之下,从控制存储器中取出,完成一个或几个微操作的命令

称为微指令。

控制部件通过控制线向执行部件发出各种控制命令,通常把这种控制命令叫做微

命令。

所以总的来说:微程序包含微指令,而每条微指令包含的微命令控制。

3.微指令、微程序的设计及调试。

在微程序流程图中,根据每个状态的微指令,将其进行编码,设计出所需硬件

及执行效率较高的微程序控制电路,然后进行调试。

思考题:

1. 举例说明实验中出现的基本概念:微命令、微操作、微指令、微程序?

微命令:控制器发出的每个控制信号,如对运算单元的控制m cn s3 s2

s1 s0发出的010101等。

微操作:由微命令控制实现的最基本的操作称为微操作。如发出运算器加

运算的微命令后,运算器进行加法计算,就称为微操作。

微指令:完成一个或几个微操作的指令。如控制器进行存数据的命令后,

需要有we信号有效,pc保持,来控制这些的指令即为微指令。

微程序:微程序包含微指令。如微程序流程中包括很多微指令控制,进行

一些加减运算,存储数据,地址自加一等等。

2. 解释并比较微程序控制器的几种设计方法?

微序列控制器通过吧控制信号存储在一个查找Rom,(1)用水平编码生成微

操作(2)用垂直编码生成微操作(3)从微代码直接产生控制信号。

3. 微程序控制器的控制对象、手段及方法?控制器如何取指令?

微程序控制器控制对象分为硬件方面和软件方面,硬件方面为数据通路的

控制信号,软件方面为测试程序的控制信号。

控制器根据状态机的不同状态进行指令读取,在不同状态下取得的指令也

不同。

4. 控制器的功能?如何取指令、分析指令、执行指令?

通过下址取得指令,根据控制信号进行不同信号的开启或关闭也就是分析

指令,然后再在控制信号的作用下执行指令。

5. 下址的产生方法?常用的有哪些,实验中用到了哪些?

A:计数器方式――在顺序执行微指令时,后续微指令地址由现行微指令

加上一个增量来产生;在非顺序执行微指令时,必须在执行现行微指令后,转去执行指定后续微指令地址的下一条微指令。

B:增量方式与断定方式的结合――微指令的顺序控制字段分成两部分:条件选择字段与转移地址字段. 由这两个字段结合,当转移条件满足时,将转移地址字段作下一个微地址;若无转移要求,则直接从微程序计数器中取得下一条微指令. 一般用于微指令执行时,需要外部判断条件的场合。

C:多路转移方式――当微程序不产生分支时,后续微地址直接由微指令

的顺序控制字段给出;否则有若干个后续地址可以选择,此时必须由顺序

控制字段的"判别测试"和"状态条件"信息来选择其中一个微地址.

一般用于有多个转移且可以使用组合逻辑设计转移地址逻辑的场合。实

验中用到了多路转移方式。

6. 每条机器指令的指令码如何与其入口微地址对应?微程序分支如何处理?

通过编码方式,将指令码的状态分成不同的几个,再运用微地址进行编码,对不同的指令码编程不同的地质,一一对应。

在不同分支出现时利用临时寄存器IR对几个分支进行编码,映射为不同

状态。

7. 如何简化微程序流程图,使其ADD、AND指令在部分微指令中合并?(如AR→RAM、RAM→DR2、R5→DR1)

只对ALU部分的下址进行区分,其他部分用同样的下址即可,这样可以省

去一个IR的编码状态。

8. 电路设计过程中如果出现多个状态机怎么办?

将不同状态机的控制信号进行区分,在不同控制信号作用下进行多个状态机的

控制。

实验日志

11月10日

对微指令的复习和理解,明白了下址的控制方法但是对电路中P1的意义不太理解。

经过看微程序流程图,发现P1在ldir需要进行下载时有效,所以P1即为控制临时存储器IR的控制信号,该控制信号由流程图中第四步中有效,来控制IR 的下址是否有效。

11月12日

编写ROM时发现P1具体为1的状态不同会出现不能强读强写,所以将P1为1

改为当RAM数据传到IR时令其有效,得到正确波形。

11月18日

仿真时发现ar的第一个地址不正确,应该为00H但是却是个不是个确定的值。经分析发现第一个ar值应该为sw输入到总线上,而总线的值没有k输入,所以将k的输入设定为00H,得到的仿真结果正确。

实验报告

ROM部分代码(只显示编码部分):

Sw r4b r5b alu pcbus dr1 dr2 r4l r5l m cn s3s2s1s0 we rd pclr pcld pcen ldar ldir p1下址五位"0111100000000000010100000001" when address="00000" ELSE--SW-->PC "1111000000000000011110000010" when address="00001" ELSE--PC-->AR PC=PC+1 "1111100000000000110001101000" when address="00010" ELSE--RAM-->IR "1111000000000000011110010101" when address="01001" ELSE--LDA1:PC-->AR PC=PC+1 "1111100000000000110010010110" when address="10101" ELSE--LDA2: RAM--> AR "1111100010000000110000000001" when address="10110" ELSE--LDA3:RAM-->R5 "1111000000000000011110010111" when address="01010" ELSE--STA1: PC-->AR PC=PC+1 "1111100000000000110010011000" when address="10111" ELSE--STA2:RAM --> AR "1101100000000001010000000001" when address="11000" ELSE--STA3:R5-->RAM "1111000000000000011110011001" when address="01011" ELSE--OUT1: PC-->AR PC=PC+1 "1111100000000000110010011010" when address="11001" ELSE--OUT2: RAM --> AR "1111100000000000110000000001" when address="11010" ELSE--OUT3:RAM-->BUS "1101110000000000010000011011" when address="01100" ELSE--COM1 :R5-->DR1 "1110100011000000010000000001" when address="11011" ELSE--COM2:/ALU-->R5 "1111000000000000011110011100" when address="01101" ELSE--JMP1:PC-->AR PC=PC+1 "1111100000000000110100000001" when address="11100" ELSE--JMP2:RAM-->PC "1111000000000000011110000011" when address="01110" ELSE--ADD1:PC-->AR PC=PC+1 "1111100000000000110010000100" when address="00011" ELSE--ADD2:RAM-->AR "1111101000000000110000000101" when address="00100" ELSE--ADD3:RAM-->DR2 "1101110000000000010000000110" when address="00101" ELSE--ADD4:R5-->DR1 "1110100010110010010000000001" when address="00110" ELSE--ADD5:ALU--R5 加"1111000000000000011110011101" when address="01111" ELSE--AND1:PC-->AR PC=PC+1 "1111100000000000110010011110" when address="11101" ELSE--AND2:RAM-->AR "1111101000000000110000011111" when address="11110" ELSE--AND3:RAM-->DR2 "1101110000000000010000000111" when address="11111" ELSE--AND4:R5-->DR1 "1110100011010110010000000001"when address="00111"ELSE--AND5:ALU--R5 101011and

"0111100000000000010100010001" when address="10000" ELSE--KWE1:SW-->PC "1111000000000000011110010010" when address="10001" ELSE--KWE2:PC-->AR PC=PC+1 "0111100000000001010000010001" when address="10010" ELSE--KWE3:SW-->RAM "0111100000000000010100010011" when address="01000" ELSE--KWE1:SW-->PC "1111000000000000011110010100" when address="10011" ELSE--KWE2:PC-->AR PC=PC+1 "1111100000000000110000010011" when address="10100" ELSE--KWE3:RAM-->BUS "1111100000000000100010000000";

没有加数据通路部分时的仿真波形:

波形分析:

将状态机定为单步运行状态,dp为1,qd每次进行启动。

CLR由1->0->1,清零作用使微地址A4~0为00000。

执行第一个单拍,执行将输入值传给pc,得到下址00001

执行第二个单拍,执行微地址为00001的微指令,PC->AR,pc自加一,地址计数加1变为01H,得到下址00010。

执行第三个单拍,将00地址的值读出来赋给IR,在T3时序信号到来时,执行将RAM中存放的数据(指令)送到IR(指令寄存器),此处运用手动输入的方法,同时给出判别信号P及下一条微指令的地址01000,在T4有效时,P1 为1,IR7,IR6,IR5可以手动输入010将微地址改为01010,产生下条微指令的地址。然后即可进入STA指令操作。

然后下址为10111,开始执行RAM-〉AR操作。从其他输出信号看产生的

输出也是正确的。

下一个操作进行强读信号的执行。在之前将CLR信号置为0,进行清零

才行,得到00000地址。然后将KRD信号从1到0再到1,使得a[3] 强置数为1,可以将地址从00000变为01000,该地址产生下址1

0011,即为强读控制信号。

加入数据通路部分进行仿真:

说明:数据通路加上后应该修改部分控制信号,以满足状态机在不

同状态下控制ar,alu,pc等的正确执行。修改如下:

T2时刻由于要将RAM的数据送出,同时dr1或者dr2得到数据,然后进行逻辑或算术运算,故RAMclk应该有效,lddr及lddr2有效。

T3时刻将地址送入ar或将dr1及dr2的运算结果存入R4或R5,故lddr4和lddr5有效,ar的clk有效。

波形如下:

波形分析:(125为显示电路时钟信号,a|g为七段译码器各管,Eq为四个驱动灯控制信号,此处不做讨论)

1、初始状态clr为0,将a[4..0]清零,然后将qd从1变为0再到1,dp定

为1,使状态机进入单步运行状态(或者qd一直为1,为连续循环运行

状态)。可以看出t的变化从0000到1000循环。

2、随着一个单步周期a从00001到00010变化。200ns到300ns,pc变为101

置数状态,将sw-->pc执行。

3、地址a为00001,执行pc-->AR,pc变为111,ar为00H,使得RAM得到

00H的地址为下一指令输出该地址的数据做准备,进行加计数得到总线

数据位01H,同时产生下址00010。

4、地址为00010时,执行RAM-->IR指令,总线上显示00H,同时产生下址

01000且令p1为1,使得IR在下一周期得到总线上高三位的地址。(不

再采用单步运行仿真,令qd=1连续运行)

5、地址为01000时,总线数据位00H单元的数据20H,其二进制高三位为

001,由于P1为1,使得1.2us到1.3us时t4有效将ir送入a的低三

位产生新的地址01001,开始进行LDA指令操作,往后依次类推。

6、地址为01001时进行PC-->AR ,PC=PC+1操作,产生的下址为10101,总线

显示为01H后,ar得到01H单元数据0D作为新的地址,然后送入RAM (RAM -->AR),pc的值为100及111也符合状态。

7、地址为10101产生的下址为10110,执行RAM-->R5,此时ar地址已经为

0DH(见上一步骤产生原因)

8、在该单步运行周期结束后,下一周期t1变为1后送到数据通路部分进行执

行,在数据总线显示55H后,再有一个时钟将总线数据打入R5,R5显示正确。10110产生下址00001。

9、地址为00001时,pc加计数从02H变为03H,同时得到下址02H送到ar产

生下址00010。

10、地址为00010时,第三个节拍,ar得到02H地址,在下一单步运行周期

的第二节拍将02H地址的数据送出到总线,总线显示C0H,产生下址

01000。

11、Pc保持100,此时p1为1,同时LDIR有效,取得总线数据高三位110

作为a的后三位。产生下址01110,进入ADD操作环节。

总结一下:此时R5存储55H,R4,R2,R1都没有值。下一步将要从RAM 中取得数据直接送入R2,再将R5的送入R1,运用ALU部分进行加运算。

12、

13、地址为00011前,数据通路部分执行上个周期的指令PC-->AR PC=PC+1。总线上03H变为04H,与上次执行相同的指令,将03H地址给 ar。同时

产下下址00100。

地址为00100时,数据通路部分执行上个周期的指令,得到03H单元的

数据0EH作为地址,送入ar中,产生下址00101。

14、

15、地址为00101时,数据通路部分执行上个周期的指令,得到0EH单元数据8AH,总线显示出了该单元的数据即为8AH。产生下址00110。地址为00110时,执行上个周期指令,将8AH送入R2寄存器。R2寄存

器显示数据位8AH,正确。同时产生下址00001。

16、

17、地址为00001时,执行上一周期操作,将R5的数据送入到R1,看到R1显示数据可以得知该显示为正确的。然后进行ALU加运算,得到加的结果为DFH,送入到R5。总线显示计算结果正确,同时R5得到数据DFH。产生下址00010

地址为00010时再次重复之前操作,此处不再分析。

18、

19、在地址为01000时,与之前一样,但是此时pc加计数并且送到ar使其地址为04H,然后得到04H单元数据40H,其二进制高三位为下址低三位。所以得到下址为01010,进入STA指令操作。

地址为10111时,执行上条指令的操作PC-->AR PC=PC+1,将地址05H 送入ar,pc自加一变为06H,显示在总线上。然后下址为11000。

20、

21、

22、地址为11000时,操作上一步指令,将05H单元数据10H送入AR,作为新的地址,产生下址00001。

地址为00001时,上一步操作将R5数据存入地址为10H的Ram中,总线显示数据位DFH,操作正确,同时产生下址00010。

接下来的操作与之前相同,不再赘述。

23、

24、同样的经过几个节拍脉冲,将地址a到01000状态,此时总线高三位是011,在p1为1,ldir有效时得到下址01011。进入OUT操作分支。与STA操作相同,只是在最后a地址为11010时产生下址00001。同时执行RAM到AR的操作,此时RAM的07H单元数据位10H,将该数据继续作为AR,显示RAM10H地址的数据。

25、

地址为 00001 时执行上步操作,将 Ram 的 0H 地址的数据显示出来为

DFH ,可见数据写入成功。

余下的将进行如下操作:

将 R5 的数据 DFH 与 Ram 中 0FH 单元数据 F0H 进行相与运算得到 D0H ,送至 R5, 再对其取反的 2FH 。最后无条件返回 00H 单元地址。不再进行波形分析。 下载验证时引脚分配如下:

K 的输入可以直接置为低电平,不再分配。

最后为模拟机部分:

运算公式为(A+B)’andC’,其中 ABC 分别为 01H

如下图: ,02H ,03H 。模拟机修改内存值

程序运行步骤为:

先进行取 A 的值,到 R5,然后加上 12 单元内部数据(B 的值),存入 R5,再运 用 com 指令进行取反,得到的值存入 R5 及 RAM14H 单元。然后取得 13H 单元 数据到 R5,进行取反运算后存到 R5,再将 14H 单元数据存到 R2,R5 到 R1, 进行 and 运算,最后结果存入 R5 及 15H 单元,用 JMP 指令跳回至 00H 单元。 单步运行结果如下:

1、14H 单元存入的数据应该为 FFFC ,即 A+B 取反的结果,从图中可以看出是

正确的。

2、15H单元数据位14H单元与03H取反后相与的结果,即FCH and FCH,结果仍为FCH。是正确的。

总结:

本实验较好的理解了简单CPU 的运行计算机制,并能够基本学会修改微程序,进行不同运算式子的操作。提高了能力。

微程序控制器实验

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

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

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

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

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

微程序控制器设计与调试实验报告

济宁医学院信息工程学院 微程序控制器模型计算机的设计与调试 09级计本2班 200907010211 李秋生

一台模型计算机的设计 一、教学目的、任务与实验设备 1.教学目的 (1)融会贯通本课程各章节的内容,通过知识的综合运用,加深对计算机系统各模块的工作原理及相互联系的认识,加深计算机工作中“时间—空间”概念的理解,从而清晰地建立计算机的整机概念。 (2)学习设计和调试计算机的基本步骤和方法,提高使用软件仿真工具和集成电路的基本技能。 (3)培养科学研究的独立工作能力,取得工程设计与组装调试的实践和经验。 2.设计与调试任务 (1)按给定的数据格式和指令系统,在所提供的器件范围内,设计一台微程序控制的模型计算机。 (2)根据设计图纸,在MAX+PLUS 平台上进行仿真,并下载到EL教学实验箱上进行调试成功。 (3)在调试成功的基础上,整理出设计图纸和其他文件。包括:①总框图(数据通路图);②微程序控制器逻辑图;②微程序流程图;④微程序代码表;⑤元件排列图(或VHD程序清单);⑥设计说明书;⑦调试小结。 2.实验设备 (1) PC机一台 (2) EL教学实验箱 (3) MAX+PLUS Ⅱ配套软件 二、数据格式和指令系统 本模型机是一个8位定点二进制计算机,具有四个通用寄存器:R 0~R 3 ,能 执行11条指令,主存容量为256KB。 1.数据格式 数据按规定采用定点补码表示法,字长为8位,其中最高位(第7位)为符 数值相对于十进制数的表示范围为: -1≤X≤1―2―7 三、总体设计 总体设计的主要任务是 (1) 选定CPU中所使用的产要器件; (2) 根据指令系统、选用的器件和设计指标,设计指令流的数据通路; (3) 根据指令系统、选用的器件和设计指标,设计数据流的数据通路。 计算机的工作过程,实质上是不同的数据流在控制信号作用下在限定的数据通路中进行传送。数据通路不同,指令所经过的操作过程也不同,机器的结构也

微程序控制器实验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 的两次按动,即可完成对后续单元的编辑。

计算机组成原理微程序控制单元实验报告

姓名 学号 班级 ******************年级 指导教师 《计算机组成原理》实验报告 实验名称微程序控制单元实验、指令部件模块实验、时序与启停实验 实验室实验日期 实验七微程序控制单元实验 一、实验目的 ⒈ 掌握时序产生器的组成方式。 ⒉ 熟悉微程序控制器的原理。 ⒊ 掌握微程序编制及微指令格式。 二、实验原理 图 7- 7- 1

图 7-7-4 微地址控制原理图 微程序控制单元实验原理就是人为的给出一条微指令的地址,人为的去打开测试开关,观察机器怎么运行,打个比方就是我要你执行我下的某条命令,我先告诉你命令写在哪页纸上, 你找到纸后,分析命令是什么之后再去执行。 观察机器微程序控制器的组成见图7-1-1 ,微地址的打入操作就是由操作者给出一条微指令 的地址(同上面的例子就是仅仅告诉你我让你跑的这条命令写在哪页纸上,而没有告诉你 命令的具体内容),不需要做测试去判断这是什么指令,所以由图7-7-1 ,其中微命令寄存器 32 位,用三片 8D 触发器 (273) 和一片 4D(175) 触发器组成。它们的清零端由CLR来控制微控制器的清零。它们的触发端CK接 T2,不做测试时 T2 发出时钟信号,将微程序的内容 打入微控制寄存器(含下一条微指令地址)。打入了微指令的地址(即告诉你命令在哪页纸上,此时你需要先找到这页纸并判断命令是叫你做什么,然后执行),进行测试,T4 发出时钟信号,转移逻辑满足条件后输出的负脉冲通过置位端将某一触发器输出端置为“1”状态,按图 7-7-4 所示,微地址锁存器的置位端R 受 SE5~SE0控制,当测试信号 SE5~SE0输出负脉冲时,通过锁存器置位端R将某一锁存器的输出端强行置“1”,实现微地址的修改与转移,此时的地址指的是指令的操作码的地址(即你已经知道命令是跑,此时做的是跑的行为)。再由数据开关置入微地址的值,再做测试,再跳到指令的操作码的地址准备开始执行 指令,这就是微程序控制单元实验的原理。

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

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来到

微程序控制器实验报告 (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(运行)。 微指令格式如 下: 【实验步骤】

微程序控制器的基本原理

微程序控制器的基本原理 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’档会方便一些。如果是离散地址,选择‘置数’档会方便一些。

五邑大学计算机组成原理实验报告三:微程序控制器实验

《计算机组成原理》 实验报告 学院:计算机学院 专业:计算机科学与技术 班级学号:150801 3115000820 学生姓名:黄家燊 实验日期:2016.12.25 指导老师:李鹤喜 五邑大学计算机学院计算机组成原理实验室

实验一 一、实验名称:微程序控制器实验 二、实验目的 (1)掌握微程序控制器的功能、组成知识。 (2)掌握为程序的编制、写入、观察微程序的运行 二、实验设备: PC机一台,TD-CM3+实验系统一套 三、实验原理: 微程序控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能转换成可以控制的硬件逻辑部件的为命令序列,完成数据传送和个汇总处理操作,他的执行方法是将控制各部件的微命令的集合进行编码,即将微命令的集合仿照及其指令一眼,用数字代码的形式表示,这种表示陈伟微指令。这样就可以用一个微指令序列表示一条机器指令,这种为指令序列称作为程序。微程序存储在一种专用的存储器中,成为控制储存器 四、实验步骤 1.对为控制器进行读写操作: (1)手动读写: ①按图连线:

②将MC单元编程开关置为“编程”档,时序单元状态开关置为“单步”档,ADDR 单元状态开关置为“置数”档 ③使用ADDR单元的低六位SA5…SA0给出微地址MA5…MA0,微地址可以通过MC 单元的MA5…MA0微地址灯显示 ④CON单元SD27…SD20,SD17…SD10,SD07…SD00开关上置24位微代码,待写入值由MC单元的M23…M024位LED灯显示 ⑤启动时序电路(按动一次TS按钮),即将微代码写入到E2PROM2816的相应地址对应单元中 ⑥重复③④⑤三步,将下图微代码写入2816芯片中 二进制代码表 (2)联机读写: ①将微程序写入文件,联机软件提供了微程序下载功能,以代替手动读写微控制器,但微程序得以指定的格式写入 本次试验的微程序如下: ://************************************************************// :// // :// 微控器实验指令文件 // :// // ://************************************************************// ://***************Start Of MicroController Data****************//

微程序控制器实验报告记录

微程序控制器实验报告记录

————————————————————————————————作者:————————————————————————————————日期:

计算机科学与技术系 实验报告 专业名称计算机科学与技术 课程名称计算机组成与结构 项目名称微程序控制器实验 班级 学号 姓名 同组人员无 实验日期 2015-11-11

一、实验目的 1.掌握微程序控制器的组成原理; 2.掌握微程序的编制、写入、观察微程序的运行情况。 二、实验逻辑原理图与分析 2.1 实验逻辑原理图及分析 微程序控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能转换成可以控制硬件逻辑部件工作的微命令序列,以完成数据传输和各种处理操作。它的执行方法就是将控制各部件动作的微命令的集合进行编码,即将微命令的集合仿照机器指令一样,用数字代码的形式表示,这种表示称为微指令。这样就可以用一个微指令序列表示一条机器指令,这种微指令序列称为微程序。微程序存储在一种专用的存储器中,该存储器称为控制存储器,如图所示: 微程序控制器组成原理框图 控制器是严格按照系统时序来工作的,因而时序控制对于控制器的设计是非常重要的,从前面的实验可以很清楚地了解时序电路的工作原理。本实验所用的时序单元来提供,分为四拍TS1、TS2、TS3、TS4。 在微程序控制器的组成中,控制器采用3片2816的E^2PROM,具有掉电保护功能,微命令寄存器18位,用两片8D触发器(273)和一片4D(175)触发器组成。为地址寄存器6位,用三篇正沿触发的双D触发器(74)组成,他们带有清“0”端和预置端。在不判别测试的情况下,T2时刻打入微地址寄存器的内容即为吓一条微指令地址。当T4时刻惊醒测试判别式,转移逻辑满足条件后输出的负脉冲通过强置端将某一触发器置为“1”状态,完成地址修改。

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

实验员述职报告 实验四常规型微程序控制器组成实验 一、实验目的 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' CLK = .C.; "INPUT MF, CLR, QD, DP, TJ, DB PIN 1..6; W3 PIN 7; "OUTPUT T1, T2, T3, T4 PIN 15..18 ISTYPE 'REG'; CLK1 PIN 14 ISTYPE 'COM'; 常用软件课程设计

实验员述职报告 QD1, QD2, QDR PIN ISTYPE 'REG'; ACT PIN ISTYPE 'COM'; S = [T1, T2, T3, T4, QD1, QD2, QDR]; EQUATIONS QD1 := QD; QD2 := QD1; ACT = QD1 & !QD2; QDR := 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; CLK1 = T1 # !CLR & MF; S.CLK = MF; END 节拍电位信号W1-W3只在硬连线控制器中使用,产生W信号的功能集成在右边一片GAL22V10中,用ABEL语言实现。其源程序如下: MODULE TIMER2 //头部 TITLE 'CLOCK GENERATOR W1-W3' DECLARATIONS //说明部 CLK = .C.; "INPUT CLK1, 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输入引脚的连接要慎重,当不需要暂停微程序的运行时,将它接地;常用软件课程设计

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

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

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

计算机组成原理课程设计(微程序)报告

微程序控制器的设计与实现第 1 页共22 页

目录 5 调试过程 (11) 6 心得体会 (12) 第 2 页共22 页

微程序控制器的设计与实现 一、设计目的 1)巩固和深刻理解“计算机组成原理”课程 所讲解的原理,加深对计算机各模块协同工 作的认识 2)掌握微程序设计的思想和具体流程、操 作方法。 3)培养学生独立工作和创新思维的能力, 取得设计与调试的实践经验。 4)尝试利用编程实现微程序指令的识别 和解释的工作流程 二、设计内容 按照要求设计一指令系统,该指令系统能够实现数据传送,进行加、减运算和无条件转移,具有累加器寻址、寄存器寻址、寄存器间接寻址、存 储器直接寻址、立即数寻址等五种寻址方式。 第 3 页共22 页

三、设计要求 1)仔细复习所学过的理论知识,掌握微程 序设计的思想,并根据掌握的理论写出要设 计的指令系统的微程序流程。指令系统至少 要包括六条指令,具有上述功能和寻址方式。 2)根据微操作流程及给定的微指令格式 写出相应的微程序 3)将所设计的微程序在虚拟环境中运行 调试程序,并给出测试思路和具体程序段 4)尝试用C或者Java语言实现所设计的 指令系统的加载、识别和解释功能。 5)撰写课程设计报告。 四、设计方案 1)设计思路 按照要求设计指令系统,该指令系统能够实现数据传送,进行加、减运算和无条件转移,具有累加 器寻址、寄存器寻址、寄存器间接寻址、存储器直接第 4 页共22 页

寻址、立即数寻址等五种寻址方式。从而可以想到如 下指令:24位控制位分别介绍如下: XRD :外部设备读信号,当给出了外设的地址后,输出此信号,从指定外 设读数据。 EMWR:程序存储器EM写信号。 EMRD:程序存储器EM读信号。 PCOE:将程序计数器PC的值送到地址总线ABUS上。 EMEN:将程序存储器EM与数据总线DBUS接通,由EMWR和EMRD 决定是将DBUS数据写到EM中,还是 从EM读出数据送到DBUS。 IREN:将程序存储器EM读出的数据打入指令寄存器IR和微指令计数器uPC。 EINT:中断返回时清除中断响应和中断请 求标志,便于下次中断。 第 5 页共22 页

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

任课教师:张芳、许建龙 《计算机组成原理》 (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.掌握时序发生器的组成原理。 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(启动)是单脉冲信号,在

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