计算机组成原理课程设计 模型机设计.doc
计算机组成原理课程设计题 目: 模型机设计 前言通过计算机组成原理理论课和几次实验的学习,尝试设计十四条机器指令,并编写相应的微程序,完成由基本单元电路构成一台基本模型机,再经过调试指令和模型机使其在微程序的控制下自动产生各部件单元的正常工作控制信号。 在设计基本模型机5的实验过程中,个别部件单元的控制信号是人为模拟产生的,而本课程设计将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期,全部由微指令组成的序列来完成,即一条机器指令对应一条微程序。本课程设计以DVCC计算机组成原理教学实验系统为平台设计完成。1. 按给定的数据格式和指令系统,理解程序控制器的设计原理。2. 设计给定机器指令系统以及微程序流程图,由指令格式写出微程序的微指令代码3. 连接逻辑电路,完成启动、测试、编程、校验和运行,并观测运行过程及结果。4. 将微程序控制器模块与运算器模块、存储器模块联机,组成一台模拟计算机。5. 用微程序控制器控制模型机的数据通路。6. 通过在模型机上运行由机器指令组成的简单程序,掌握机器指令与微指令的关系,建立计算机的整机概念,掌握计算机的控制机制。7. 按指定应用项目进行汇编指令格式及功能设计,并设计相应的机器指令代码,按照模型及数据通路设计实现机器指令功能的微程序。在PC机上编辑机器指令和微程序,装载代码到DVCC实验系统并运行,实现应用要求。本课程设计要求实现十四条机器指令:IN(输入),LDA,CLR,SUB(减法指令), OUT(输出),JMP,MOV(数据传送指令),DEC(减1指令), STA(存数),BZC,CMP(比较指令),HTL,RL,RLC(循环左移)的输入,输出。重点主要在逻辑运算的设计中。摘要“计算机组成原理”是计算机专业和网络工程专业的重要专业基础课,“计算机组成原理课程设计”是理解和巩固计算机组成的基本理论、原理和方法的重要实践环节。本课程的目的是通过课程设计,使学生对所学习过的计算机组成原理课程内容加以理解和巩固。通过实验使学生掌握计算机由哪些部件所组成,各部件间又是如何进行协调工作的。部件实验过程中,各部件单元的控制信号是人为模拟产生的,本课程设计将能在微程序控制下自动产生各部件单元的控制信号,实现特定指令的功能,通过设计流程图,编写机器指令,微指令和控制信号程序。首先向存储器(RAM)中装入数据和程序,然后检查写入是否正确,启动程序执行。另外,还需设计三个控制台操作微程序:存储器读操作(READ),存储器写操作(WRITE),运行程序(RUN)。以上各微指令设计完毕后,连接线路在DVCC计算机组成原理教学实验箱运行程序,并将实验结果显示输出。关键词:计算机组成原理,微指令,机器指令, DVCC教学实验计算机目录前言1摘要2第一章 设计的目的及设计原理41.1设计的目的41.2设计的原理5第二章 总体设计8第三章 详细设计103.1运算器的物理结构103.2存储器系统的组成与说明133.3指令系统的设计与指令分析143.4微程序控制器的逻辑结构及功能173.5微程序的设计与实现21第四章 系统调试报告30设计总结32参考文献33致谢34第一章 设计的目的及设计原理1.1设计的目的本课程设计的教学目的是在掌握计算机系统组成及内部工作机制、理解计算机各功能部件工作原理的基础上,深入掌握信息流和控制信息流的流动过程,进一步加深计算机系统各模块间相互关系的认识和整机的概念,培养开发和调试计算机的技能。再设计实践中提高应用所学专业知识分析问题和解决问题的能力。本次课程设计主要是为其定义六条机器指令,编写相应的微程序,并上机调试运行,形成整机概念。用微程序控制器实现以下指令功能,设计各指令格式以及编码,并实现各机器指令微代码,根据定义的机器指令,自拟编写加ADD,减SUB,循环左移RLC的应用程序。全部微指令设计完毕后,编写二进制代码,即使每条指令代码化。连接线路在DVCC计算机组成原理教学实验箱上运行,并显示输出实验结果。1.2设计的原理(一)基本模型机的设计与实现部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本次实验将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能,这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三个控制台操作微程序.存储器读操作:拨动总清开关CLR后,控制台开关SWB,SWA 为”0 0”时,按START微动开关,可对RAM连续手动读操作.存储器写操作:拨动总清开关CLR后,控制台开关SWB SWA置为”0 1”时,按START微动开关可对RAM进行连续手动写入.启动程序:拨动总清开关CLR后,控制台开关SWB SWA置为“1 1”时,按START微动开关,既可转入到第01号“取址”微指令,启动程序运行.上述三条控制台指令用两个开关SWB SWA 的状态来设置,其定义如下表1-1读写变化SWBSWA控制台指令001011读内存(KRD)写内存(KWE)启动程序(RP)微代码定义如表1-2所示。2423222120191817161514 1312 11 109 8 7654321S3S2S1S0MCnWEA9A8 A B CuA5uA4uA3uA2uA1uA0A字段 B字段 C字段 表1-2根据以上要求设计数据通路框图如下:系统涉及到的微程序流程见图1-1,当拟定“取址”微指令时,该微指令的判别测试字段为P(1)测试。由于“取址”微指令是所有微程序都使用的公用微指令,因此P(1)的测试结果出现多路分支。本机用指令寄存器的前4位(IR7-IR4)作为测试条件,出现5路分支,占用5个固定微地址单元。控制台操作为P(4)测试,它以控制台开关SWB、SWA作为测试条件,出现了3路分支,占用3个固定微地址单元。当分支微地址单元固定后,剩下的其他地方就可以一条微指令占用一个微地址单元随意填写。图1-1 数据通路框图(二)带移位运算的模型机的设计与实现在基本模型机的基础上搭接移位控制电路,实现移位控制运算。实验中新增4条移位运算指令:RL(左环移)、RLC(带进位左环移)、 RR(右环移)、RRC(带进位右环移),其指令格式如下: 操作码 RR 01010000 RRC 01100000 RL 01110000 RLC 10000000 以上4条指令都为单字长(8位)。 RR为将R0寄存器中的内容循环右移1位。 RRC为将R0寄存器中的内容带进位右移1位,它将R0寄存器中的数据右边第1位移入进位,同时将进位寄存器的数移至R0寄存器的最左位。 RL为将R0寄存器中的数据循环左移1位。 RLC为将R0寄存器中的数据带进位循环左移1位。 为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还设计了3个控制台操作微程序。 存储器读操作(KRD):拨动总清开关CLR后,控制台开关SWC,SWA为“00”时,按START启动纽,可对RAM连续手动读操作。 存储器写操作(KWE):拨动总清开关CLR后,控制台开关SWC,SWA置为“01”时,按动START启动纽可对RAM进行连续手动写入。启动程序:拨动总清开关CLR后控制台开关SWC,SWA置为“11”时,按动启动键,即可转入到第01号“取址”微指令上述3条控制台指令用两个开关SWC,SWA的状态来设置。表1-3 SWC SWA 控制台指令001011读内存(KRD)写内存(KWE)启动程序(RP)实验数据通路框图入图1-2所示(可忽略其中的R1和R2)。微代码定义与上一个试验相同。第二章 总体设计此模型机是由运算器,控制器,存储器,输入设备,输出设备五大部分组成。运算器由算术逻辑单元(ALU)、累加寄存器、数据缓冲寄存器和状态条件寄存器组成,它是数据加工处理部件。相对控制器而言,它是执行部件。运算器有两个主要功能: (1)执行所有的算术运算;(2)执行所有的逻辑运算,并进行逻辑测试,如零值测试或两个值的比较。控制器根据指令操作码和时序信号,产生各种操作控制信号,以便正确地建立数据通路,从而完成取指令和执行指令的控制。存储器作为计算机的记忆部件,用于存放程序和数据。输入设备为键盘,计算机键盘的功能就是及时发现被按下的键,并将该按键的信息送入计算机。输出设备为显示器将输出的信息以字符的形式显示出来。模型机运行的主要过程为首先将程序计数器PC的内容装入地址寄存器AR;然后程序计数器的内容加1,为下一条程序做准备;接着地址寄存器的内容放到地址总线上;从而使存储单元的内容传送的缓冲寄存器DR;然后将缓冲寄存器的内容传送到指令寄存器。到这里完成了取指令。比如现在要做的操作为执行CLA指令,操作控制器送一控制信号给ALU,接着ALU响应控制信号对AC清零。如果接下来执行ADD操作,取指令与上面相同,然后从内存中读取操作数,操作数与累加器相加后存入累加器。图2-1 数据通路图计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。数据的通路从程序计数器PC的地址送到主存的地址寄存器,根据地址寄存器的内容找到相应的存储单元。存储器中的数据是指令时,那么数据是从RAM送到总线,再从总线送到IR中。存储器中的数据是需要加工的数据时,那么数据是从RAM送到总线,再动总线送到通用寄存器中等待加工。数据加工过程中,两个数据是从总线上将数据分别分时压入两个暂存器中,等待运算部件的加工,在数据加工完成以后。运算结果是通过三态门送到总线上。三态门的控制时由微控制器来控制。第三章 详细设计3.1运算器的物理结构运算器模块主要由两片74LS181、暂存器两片74LS273等构成。其中74LS181可通过控制器相应的控制指令来进行某种运算,具体由S0、S1、 S2、S3、S4、M来决定。T4是它的工作脉冲,正跳变有效。寄存器堆模块为实验计算机提供了2个8位通用寄存器。它们用来保存操作数及其中间运算结果,它对运算器的运算速度、指令系统的设计等都有密切的关系。 下面是芯片74LS181的控制逻辑引脚的功能表以及逻辑引脚图如表3-1所示:表3-1:74LS181的控制逻辑引脚的功能表 Cn+4 A0A3 F0F3 74LS181B0B3 Cn M S0 S1 S2 S3图3-1:74LS181的逻辑引脚图其中各个引脚的功能如下所示:M:算术/逻辑运算选择输入M=0算术运算 M=1逻辑运算Cn:带或不带进位运算选择输入Cn =0带进位 Cn =1不带进位S3S0:函数选择输入,A3A0:4位输入数据,B3B0:4位输入数据F3F0:4位表示运算结果的输出,C n+4:进位输出Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q874LS273D0 D1 D2 D3 D4 D5 D6 D7 CLK CLR图3-2:74LS273的引脚图其中,Q0-Q7表示寄存器的8位数据输出,D0D7表示向寄存器中输入8位数据的引脚,CLK是用来进行寄存器的选定操作,当其为高电位时和T4信号一起选定哪个寄存器进行数据输入。8位运算器的结构框图如图3-3所示:图3-3:8位运算器的结构框图在该运算器中,有两片74LS181组成算术和逻辑运算。数据的来源由74LS273寄存器提供,74LS273产生8位数据,分别送入到74LS181运算器中进行相应的运算,而如何进行数据的传送是由LDDR1和LDDR2以及T4信号控制的,当LDDR1和T4都为高电平时,选定相应的寄存器来进行数据输入,同理,LDDR2和T4。然后经过相应的运算之后将产生的结果通过总线送回到寄存器中。整个数据的运送过程有相应的控制信号提供,S0、S1、 S2、S3、S4、M都是通过控制器的相关指令来控制。让其进行某种算数运算和逻辑运算。整个数据和指令都是通过数据总线,控制总线和地址总线来进行传送。3.2存储器系统的组成与说明图3-5:存储器的结构框图说明:该主存储器采用一级cache-存储器结构。主要用于存放试验机的机器指令。它的数据总线挂在外部数据总线EXD0EXD7上;它的地址总线由地址寄存器单元电路中的地址寄存器74LS273(U37)给出,地址值由8个LED灯LAD0LAD7显示,高电平亮,低电平灭;在手动方式下,输入数据由8位数据开关KD0KD7提供,并经一三态门74LS245(U51)连至外部数据总线EXD0EXD7,实验时将外部数据总线EXD0EXD7用8芯排线连到内部数据总线BUSD0BUSD7,分时给出地址和数据。它的读信号直接接地;它的写信号和片选信号由写入方式确定。该存储器中机器指令的读写分手动和自动两种方式。手动方式下 ,写信号由W/R 提供,片选信号由CE提供;自动方式下,写信号由控制CPU的P1.2提供,片选信号由控制CPU的P1.1提供。由于地址寄存器为8位,故接入6264的地址为A0A7,而高4位A8A12接地,所以其实际使用容量为256字节。6264有四个控制线:CS1 第一片选线、CS2第二片选线、OE读线、WE写线。CS1片选线由CE控制(对应开关CE)、OE读线直接接地、WE写线由W/R控制(对应开关WE)、CS2直接接+5V。信号线LDAR由开关LDAR提供,手动方式实验时,跳线器LDAR拨在左边,脉冲信号T3由实验机上时序电路模式TS3提供,实验时只需J22跳线器连上即可,T3的脉冲宽度可调。3.3指令系统的设计与指令分析本模型机共有14条基本指令,其中算术指令8条,访存指令和程序控制指令4条,输入输出指令2条。(1)预设指令:A: IN为单字节长指令,含义是将输入设备输入的数据放入R0中 指令格式: IN R0, INPUTDEVICE 指令功能:“INPUTDEVICE”->R0B: OUT为单字节长指令,含义是根据指令提供的地址,将内存中的数据取出由数码管进行显示。指令格式:OUT Bus,(ADD)指令功能:将内存中的ADD为地址的数据读到总线上。C:STA为双字节长指令,第二个字节是要存放的地址,含义是将R0中的内容存储到第二字为地址的内存单元中。指令格式:STA(ADD),R0指令功能:将R0寄存器的内容存到以ADD为地址的内存单元中。D:LDA为双字节指令,含义是将内存单元的地址存储于R0中。指令格式:LDA 指令功能:RAM->R0E: JMP为双字节长指令,含义是使程序跳转到指定的地址执行。 指令格式:JMP (jmp) 指令功能:RAM->PCF:BZC为单字长指令,其中M为寻址模式字段,D为偏移地址。 指令格式:BZC M,D指令功能:当CY=1或ZI=1,E->PCG:CLR系统总清开关,低电平有效。 指令格式:CLR R0 指令功能:R0=0 H: MOV是双字节长指令,第二字节是要存放的间接地址,含义是将R0中的内容存储到第二字为间接地址的内存单元中。 指令格式:MOV AX,R0 指令功能:(AX)=R0I:CMP比较指令,与SUB指令一样执行减法操作,但不保存结果,只是根据结果设置条件标志位。 指令格式:CMP OPR1,OPR2 指令功能:(OPR1)-(OPR2)J:SUB指令(subtract byte or word)字节或字相减.指令格式:SUB DST,SRC指令功能:(DST)(SRC)=(DST) 将内存中的DST为地址单元内数与SRC的内容相减结果送DST。K:DEC减1指令。 指令格式:DEC OPR 指令功能:(OPR)-1=(OPR)L: HLT为空转指令,保持执行结束状态,并不在执行任何操作。M: RL是左移指令,参加左移的数是8个位。 指令格式:RL AL,CL 指令功能:将AL中的数左移(CL)位N:RLC是带进位位的左移,参加左移的共有9个位 指令格式:RLC AL,CL 指令功能:将AL中的数带进位左移(CL)位(2)指令系统是设计计算机的依据 ,拟订指令系统将涉及基本字长、指令格式、指令种类、寻址方式等内容。基本字长:程序设计平台中配置的存储器容量为256*8,可知道基本字长定为8位。指令格式:指令格式可有单字长和双字长指令两种,在双字长格式中,第二字节一般定义为操作数或操作数地址。操 作 码 目 的 操 作 数源 操 作 数 7 6 5 4 3 2 1 0 IN 操作码: 0000 0000 OUT 操作码: 0001 0000 STA 操作码: 0010 0000 LDA 操作码: 0011 0000 JMP 操作码: 0100 0000 BZC 操作码: 0101 0000 CLR 操作码: 0110 0000 MOV 操作码: 0111 0000 CMP 操作码: 1000 0000 SUB 操作码: 1001 0000 DEC 操作码: 1010 0000 HLT 操作码: 1011 0000 RL 操作码: 1100 0000RLC 操作码: 1101 00002指令格式分析:(1)控制信号说明:1S3,S2,S1,S0 有微程序控制器输出的ALU操作选择信号,以控制执行16种算术操作或16种逻辑操作中的一种操作。2M 微程序控制器输出的ALU操作方式选择信号端,M0执行算术操作;M1执行逻辑操作。3/CN 微程序控制器输出的进位标志信号。/CN0表示ALU运算时最低位加进位1;/CN1则表示无进位。4ALUBUS 微程序控制器的输出信号,控制运算器的运算结果是否送到总线BUS,低电平有效。5LDDR1 微程序控制器的输出信号,控制把总线上的数据打入运算暂存器DR1。6LDDR2 微程序控制器的输出信号,控制把总线上的数据打入运算暂存器DR2。7RBUS 微程序控制器的输出信号,控制寄存器R0的内容是否送到总线BUS,低电平有效。8LDR 微程序控制器的输出信号,控制把总线上的数据打入寄存器R0。9PCBUS 微程序控制器的输出信号,控制程序计数器的内容是否送到总线BUS,低电平有效。10LDPC 微程序控制器的输出信号,控制PC加1。11LDAR 微程序控制器的输入信号,将程序计数器的内容打入到地址寄存器AR中,产生RAM的地址。12LDIR 微程序控制器的输出信号,控制把总线上的数据(指令)输入到指令寄存器IR中。13SWBUS 微程序控制器的输出信号,控制8位数据开关SW7SW0的开关量是否送到总线,低电平有效。14OUT 微程序控制器的输出信号,控制和数据总线上的数据是否送到发光二极管上,低电平有效。在微程序流程图中总共涉及到14条机器指令它们分别是: IN OUT STA LDA JMP BZCMOV ADD SUB DEC CMP HLT RL RLC其中的指令的格式在上面已经介绍。这些机器指令指令都是遵循从 取址 译码 执行 访存 写回 5个步骤。在取址总它们都有相同的的操作如图中标号 01H 的作用是从地址指针寄存器中得到指令地址根据指令地址得出取出指令。这个取址过程是所用的指令的需要执行的公操作。图中在执行完公操作后又给“P(1)”的功能就是译码。这里的译码工作是使用微控制器的外围电路中分支的方式。得到下一条微指令的地址。指令中的STA、 LDA JMP BZC 是四条双字长的指令。他们有四种寻址方式分别是直接、间接、变址、相对。指令在操作地址的时候都是先得到地址然才能操作。在这里设计的过程使用的也是同样的思想。在指令译码的过程中对这四条指令使用的方式不是直接判断应该执行什么指令,而是先判断应该使用怎样的寻址方式先找到应该操作的主存地址再进行操作。3.4微程序控制器的逻辑结构及功能微程序控制器的结构与微指令的格式密切相关。 微程序控制器的结构框图如图3-5所示。它由控制存储器、微地址寄存器、微命令寄存器和地址转移逻辑几部分组成。微地址寄存器和微命令寄存器两者的总长度即为一条微指令的长度,二者合在一起称为微指令寄存器。图3-6:微程序控制器的结构框图1控制存储器ROM中存放微程序,也就是全部的微指令。ROM的容量取决于微指令的总数。假如控制器需要128条微指令,则微地址寄存器长度为7位。ROM的字长取决于微指令长度。如果微指令为32位,则ROM的字长就是32位。实际应用中ROM可采用EPROM或E2PROM、EAROM,用户写入和修改微程序比较方便。2微命令寄存器微命令寄存器暂存由控制存储器中读出的当前微指令中控制字段与测试判别字段信息,可由8D寄存器组成。3微地址寄存器微地址寄存器暂存由控制存储器读出的当前微指令的下址字段信息。它可由带RD、SD强置端的D触发器组成。其中时钟端和D端配合用做ROM的读出打入,用SD进行下址修改。4地址转移逻辑微指令由ROM读出后直接给出下一条微指令的地址,这个地址就放在微地址寄存器中。当微程序出现分支时通过地址转移逻辑去修改微地址寄存器内容,并按修改好的微地址读出下条微指令。地址转移逻辑是一个组合逻辑电路,其输入是当前微指令的判别测试字段Pi、执行部件反馈的“状态条件”及时间因素T4。5控制时序信号上图中标明了一个基本机器周期中的控制时序信号。例如用上一周期的T4时间按微地址寄存器内容从ROM中读一条微指令,经过一段时间后被读出,用当前周期的T1时间打入到微指令寄存器。T2、T3时间用来控制执行部件进行操作。T4时间修改微地址寄存器内容并读出下一条微指令。微控制器寄存器使用的是两片74LS273和一片74LS175构成它们从微命令存储器中读出并保存,为后续模块提供信息。它是根据节拍信号进行读的。 地址转移部分是由一个74LS245作为6的带强制端的触发器构成寄存器和构成在强制端没有输入时使用的是从微存储器读出下一条地址。如果强制端有输入就是强制端给定的地址。强制端给地址主要是在分支的时候给出。还有三个74LS138够成地址译码部分。分别对应A,B,C字段。微控制器的物理设计微控制器的设计中根据其要求,使用的微控制的微控存使用的是3片2816构成。其中每一片使用的是256个字节并没有全使用。这主要考虑到是整个模型机都使用的都是8位的。三片2816实现的位扩张,构成24长度微指令。因此根据起设计的要求物理设计的逻辑图如图3-7所示: 图3-7 物理设计的逻辑图3.5微程序的设计与实现3.5.1指令格式微指令长共24位,其控制位顺序如表3-7所示:表3-7:微指令的格式微程序242322212019181716151413控制信号3210MCNWEB1B0 A微程序121110987654321控制信号 B CuA5uA4uA3uA2uA1uA0A字段 B字段 C字段对表3-7解释: S3 S2 S1 S0 M 微运算器74LS181芯片的控制信号,详见表3-7。 微WR信号对RAM和OUT进行写操作,高电平为写有效。 B1,B0: 为对外部设备(RAM, OUTPUT, INPUT)地址进行译码,B0B1=00时, INPUT 选中; B0B1 =01时,RAM(CE)选中;B0B1=10的,OUTPUT选中; B0B1=11时,外部设备不选中。A字段:LDRi:寄存器输入选中,具体选择同指令寄存器(IR)的最低2位(I1,I0)配合,当I1,I0=00时为输入到R0寄存器;I1,I0=01时为R1;I1,I0=10时为R2。 LDDR1:暂存器DR1选中。 LDDR2:暂存器DR2选中。 LDIR:指令寄存器IR选中。 LOAD:总线数据直接装载到PC计数器。 LDAR:地址寄存器AR选。B字段 :RS-B:为源寄存器输出选中。具体选择同指令寄存器(IR)的3,4位(I3,I2)配合,当I3,I2=00时为输入到R0寄存器;I3,I2=01时为R1;I3,I2=10时为R2。 RD-B:为目的寄存器输出选中。具体选择同指令寄存器(IR)的最低2位(I1,I0)配合,当I1,I0=00时为输入到R0寄存器;I1,I0=01时为R1;I1,I0=10时为R2。 RI-B:为变址寄存器选中。本机定固定为R2 。 299-B:移位寄存器输出选中。 ALU-B:逻辑运算单元结果输出。 PC-B :PC计数器输出。C字段 :P(1):分支判断1,和指令寄存器(IR)的高四位(IR7-IR4)作为测试条件。可分16个分支。 P(2):分支判断2,和指令寄存器(IR)的三四位(IR3,IR2)作为测试条件,有4个分支。 P(3):分支判断3,和CY或ZI作为测试条件,有两个分支。 P(4):分支判断4,和开关SWB,SBA作为测试条件,有4个分支。用于控制台控制区 (读程序,写程序,和运行程序)。 AR:进行算术运算时是否影响进位和判零标志的控制位。 选中时进行带进位运算。 LDPC:为PC计数信号选中。 UA5UA0:为下一步微地址。指令的后续地址的产生方法是:在没有跳转的指令中后六位就是下一条微指令的入口地址。在有跳转的指令根据跳转的条件微控制器根据相应的条件和地址将下地址直接送到为控制器的地址强制端得到下一条指令的地址。 微程序是按顺序在在为控存中存放在系统初始化的是时候指令是从00H地址开始的00H地址中存放的是一条跳转指令直接可以跳转到01H的中存放的就是真正在控制程序功能的指令。机器就根据指令一条的执行。在微控制器的控制下让机器根据指令的来进行有条不紊的工作。为指令的入口地址的形成是根据机器指令的高四位进行判断后得出的。每一条微指令都对应相应的一个地址。地址的编制和每一微指令是一一对应。不存在冲突。设计复杂模型机的监控软件,详细如下:地址内容助记符说明0000000000000000IN R0“输入开关量”到R00000000100010000SUB0DHR00DH到R000000010000011010000001110000000RL0000010000000000IN R0“输入开关量”到R00000010101100000RLC0000011001110000RL0000011100100000STA 0EH0000100000001110R0到0EH0000100100110000OUT 0EH00001010000011100EH到BUS0000101101000000JMP 00H00H 到PC00001100000000000000110101000000自定义数据00001110结果存放单元(1)微程序流程图:图3-8微程序流程图(2)微程序设计:设计与分析:1).IN指令微地址S3S2S1S0MCNWEB1B0ABCUA5UA0十六进制030000010000010000000000010110042).OUT指令微地址S3S2S1S0MCNWEB1B0ABCUA5UA0十六进制040000011100000100000000010104073) STA指令微地址S3S2S1S0MCNWEB1B0ABCUA5UA0十六进制05000001011110110110100010A2ED051800000100111000000010001123E004190000011010000010000000010182064) LDA指令微地址S3S2S1S0MCNWEB1B0ABCUA5UA0十六进制06000001011110110110100100A4ED051A00000100111000000010010125E0041B00000111101000000000000101A0075) JMP指令微地址S3S2S1S0MCNWEB1B0ABCUA5UA0十六进制07000001011110110110100101A5ED051C00000100110100011000000181D1046) BZC指令微地址S3S2S1S0MCNWEB1B0ABCUA5UA0十六进制08000001011110110110100111A7ED051D00000111101000000010100028A0071E00000100110100011000000181D1041F0000010110000000000000010180057).CLR指令微地址S3S2S1S0MCNWEB1B0ABCUA5UA0十六进制10001111011001101000000001019A3D8).MOV指令微地址S3S2S1S0MCNWEB1B0ABCUA5UA0十六进制110000010110010010000000010192059).CMP指令微地址S3S2S1S0MCNWEB1B0ABCUA5UA0十六进制120000010