


免费预览已结束,剩余34页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘 要本次课程设计通过设计一套简单计算机模型的方案,微指令、微程序的设计实现计算机的基本功能、经过不断调试最终达到了设计要求,从而较为系统地掌握计算机中的运算器、寄存器、译码电路、存储器、和存储微指令等硬件组成的相关知识,实现知识融会贯通的目的。设计中使用的运算器是74LS181,存储器是6264,与相应的译码电路、锁存电路以及输入输出电路组成了模型机的硬件基础。当然光有硬件电路不是一个完整的计算机,本设计还设计了相应的微指令和微程序组成具有一定功能的指令系统,包括IN,OUT,STA,LDA,JMP,BZC,CLR,MOV,AND,OR,HLT。为了测试指令系统的正确性,设计中还编写了小程序来验证指令。关键词:计算机组成;微指令;微程序;控制存储器;移位运算目录摘 要1目录2前言3第一章 模型机设计概述41.1设计目的41.2设计任务41.3设计要求51.4设计原理5第二章 模型机总体设计82.1模型机的逻辑结构82.1.1运算器的物理结构82.1.2存储器系统的组成与说明92.1.3 微程序控制器逻辑结构及功能102.2模型机的工作过程102.3带进位运算的模型机监控软件设计102.4数据通路图112.5 连接线路图13第三章 详细设计143.1运算器设计143.1.1运算器中各芯片的连接图143.1.2运算器功能及说明143.2存储器设计163.3指令系统设计173.3.1指令寻址方式173.3.2指令格式183.4微程序控制器设计与实现213.4.1微程序控制器的原理213.4.2微程序流程图223.4.3二进制微代码表设计243.4.4微指令格式设计253.4.5后续地址产生方法273.4.6微程序入口地址的形成283.4.7微程序283.5输入输出模块30第四章 系统调试及运行报告334.1汇编小程序334.2系统调试334.3调试时的问题及解决33总结35参考文献36致谢37前言随着社会科技的发展,计算机被应用到各行各业,人们步入自动化、智能化的生活阶段。本次课程设计课题是基本模型机的设计与实现,它正体现了这一点。利用CPU与简单模型机来实现计算机组成原理课程及实验中所学到的实验原理和编程思想,硬件设备自拟,编写指令的应用程序,用微程序控制器实现了一系列的指令功能,最终达到将理论与实践相联系。本次设计完成了各指令的格式以及编码的设计,实现了各机器指令微代码,形成具有一定功能的完整的应用程序。部件实验过程中,各部件单元的控制信号是人为模拟产生的,本课程设计将能在微程序控制下自动产生各部件单元的控制信号,实现特定指令的功能,通过设计流程图,编写机器指令,微指令和控制信号程序。首先向存储器(RAM)中装入数据和程序,然后检查写入是否正确,启动程序执行。另外,还需设计三个控制台操作微程序:存储器读操作(READ),存储器写操作(WRITE),运行程序(RUN)。以上各微指令设计完毕后,连接线路在计算机组成原理教学实验箱运行程序,并将实验结果显示输出。第一章 模型机设计概述1.1设计目的通过课程设计加深对计算机各功能部件的理解;掌握数据信息流和控制信息流的流动和实现过程,建立起整机概念;培养设计、开发和调试计算机的能力。融会贯通计算机组成原理课程中各章的内容,通过知识的综合运用,加深对计算机系统各模块的工作原理及相互联系的认识,特别是对硬连线控制器的认识,建立清晰的整机概念。对计算机的基本组成、部件的设计、部件间的连接、微程序控制器的设计、微指令和微程序的编制与调试等过程有更深的了解,加深对理论课程的理解。在掌握部件单元电路实验的基础上,进一步将其组成系统地构造一台基本模型计算机。(1)在掌握部件单元电路实验的基础上,进一步将其组成系统构造一台基本模型计算机。(2)为其定义十二条机器指令,并编写相应的微程序,具体上机调试掌握整机概念。(3)掌握微程序控制器的组成原理。(4)掌握微程序的编写、写入,观察微程序的运行。(5)通过课程设计,使学生将掌握的计算机组成基本理论应用于实践中,在实际操作中加深对计算机各部件的组成和工作原理的理解,掌握微程序计算机中指令和微指令的编码方法,深入理解机器指令在计算机中的运行过程。1.2设计任务计算机系统设计的总体目标是设计模型机系统的总体结构、指令系统和时序信号。该设计要求根据计算机组成原理课程所学知识,设计、开发一套简单的模型计算机。以教学实验用模型机为背景,通过调研、分析现有的模型机,建立带有8位移位运算指令的整机模型。通过对一个简单计算机的设计,以达到对计算机的基本组成、部件的功能与设计、微程序控制器的设计、微指令和微程序的编制与调试等过程有更深的了解,加深对理论课程的理解。通过模型机的设计和调试,连贯运用计算机组成原理课程学到的知识,建立计算机整机概念,加深计算机时间和空间概念的理解。1.3设计要求根据理论课程所学的知识,设计出简单计算机系统的总体方案,结合各单元实验积累和课堂上所学知识,选择适当芯片,设计简单的模型机,具体要求如下:(1)利用各单元实验和课堂上所学知识,选择适当的芯片,设计简单的计算机系统;(2)在完成数据通路设计并验证数据通路功能的基础上增加指令和微指令控制的功能;(3)以手动方式产生各指令执行过程中所需要的微命令,控制指令的执行;(4)以自己所设计的计算机系统为硬件环境,设计出完成指定功能的各指令周期流程图,并设计出相应的微命令;(5)设计时序列电路,产生满足指令周期和指令执行所需要的多级时序信号;设计控存,将各指令的微程序存放在CM中,经过适当的时序控制,通过微程序自动控制指令的执行(当采用微程序控制器时)。1.4设计原理部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本次设计将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。实验系统中模型机的运行是在微程序的控制下进行的,在实验平台中,模型机从内存中取出、解释、执行机器指令都将由微指令和与之相配合的时序来完成。计算机中CPU是核心,它是通过指令和微指令的执行来工作的。指令是计算机要完成的某一项功能。它对应到执行的过程中是一段微程序。一段微程序含多条为指令,而一条微指令又含多个微命令。一个微命令驱动某个硬件部件执行某种操作。通过这样一个关系,从而达到由计算机指令来驱动计算机各个硬部件的协调工作以实现一条指令的执行。计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应与一个微程序。模型机包括运算器,存储器,微控器,输入设备,输出设备以及寄存器。这些部件的动作控制信号都有微控制器根据微指令产生。需要特别说明的是由机器指令构成的程序存放在存储器中,而每条机器指令对应的微程序存储在微控制器的存储器中。(1)运算器。运算器又由运算逻辑单元、数据暂存器、通用寄存器组成。ALU、ALU_G和74299组成运算逻辑单元,其中ALU是由4个4位的74LS181串联成16位的运算器,ALU_G是ALU-G实现用于控制ALU的运算结果的输出,74299用74LS299实现用于对ALU的运算结果进行移位运算;数据暂存器由DR1和DR2组成,DR1和DR2都是用74LS273实现,它们用于存储运算器进行运算的两个操作数;通用寄存器由R0、R1和R2组成,R0、R1和R2都是用74LS374实现,它们用作目的寄存器和源寄存器。(2)控制器。控制器由微程序控制器、指令寄存器、地址寄存器和程序计数器组成。微程序控制器里面存放了指令系统对应的全部微程序,微程序控制器是由微控制存储器和3个138译码器实现(A138、B138和P138),用于产生控制信号来控制各个组件的工作状态;在图1中指令寄存器表示为IR,指令寄存器由一个74LS273实现,用于存放当前正在执行的指令;在图1中地址寄存器表示为AR,地址寄存器由一个74LS273实现,在读取或者写入存储器时用于指明要读取或写入的地址;程序计数器由PC_G和PC组成,其中PC是由八位二进制同步计数器实现,用于产生程序指针pc的下一个值,PC_G由PC-G实现,用于存储程序的程序指针pc的值。(3)存储器。存储器用静态随机存储器6116实现,用来存储用户程序和数据。(4)数据总线。数据总线用于连接运算器、存储器、输入输出等模块。(5)输入输出。输入输出类似于键盘和显示器。(6)时序产生器。T1、T2、T3和T4等控制信号都是由时序产生器生产,时序产生器一个周期中产生四个脉冲信号T1T4,这四个脉冲信号用于控制组件的执行顺序,组件在这些信号的控制下有序的执行,一个周期中完成一条微指令的执行。本设计采用12条机器指令:IN(输入)、LDA(取数)、STA(存数)、OUT(输出)、AND(逻辑与)、JMP(无条件转移)、BZC(为零或有进位转移)、MOV(数据传送)、CLR(位清零)、OR(逻辑或)、NOT(逻辑非)、HLT(处理器暂停指令)、ADD(加法)为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三个控制台操作微程序。存储器读操作(KRD):拨动总清开关CLR后,控制台开关SWB、SWA为00时,按START微动开关,可对RAM连续手动读操作。存储器写操作(KWE):拨动总清开关CLR后,控制台开关SWB、SWA为01时,按START微动开关,可对RAM进行连续手动写入。启动程序:拨动总清开关CLR后,控制台开关SWB、SWA置为11时,按START微动开关,即可转入到第01号取址微指令,启动程序运行。第二章 模型机总体设计2.1模型机的逻辑结构简单的模型计算机是由运算器、控制器、存储器、总线、输入输出和时序产生器组成。在模型机中,我们将要实现RAM的读写指令,寄存器的读写指令,跳转指令,ALU的加、减、与、或指令。把通用寄存器作为累加器A,进行左、右移等指令,整体构成一个单累加器多寄存器的系统。模型机组成结构图如下所示:图2.1 模型机组成结构图2.1.1运算器的物理结构运算器模块主要由四片74LS181、暂存器两片74LS273等构成。其中74LS181可通过控制器相应的控制指令来进行某种运算,具体由S0、S1、 S2、S3、S4、M来决定。T4是它的工作脉冲,正跳变有效。寄存器堆模块为实验计算机提供了2个8位通用寄存器。它们用来保存操作数及其中间运算结果,它对运算器的运算速度、指令系统的设计等都有密切的关系。在该运算器中,有两片74LS181组成算术和逻辑运算。数据的来源由74LS273寄存器提供,74LS273产生16位数据,分别送入到74LS181运算器中进行相应的运算。运算器结构图如下:ALU通用寄存器专用寄存器缓冲器专用寄存器图2.2 运算器结构图2.1.2存储器系统的组成与说明主存储器单元电路主要用于存放实验机的机器指令,它的数据总线挂在外部数据总线EXD0EXD7上;它的地址总线由地址寄存器单元电路中的地址寄存器74LS273(U37)给出,地址值由8个LED灯LAD0LAD7显示,高电平亮,低电平灭;在手动方式下,输入数据由键盘提供,并经一三态门74LS245(U51)连至外部数据总线EXD0EXD7,实验时将外部数据总线EXD0EXD7用8芯排线连到内部数据总线BUSD0BUSD7,分时给出地址和数据。它的读信号直接接地;它的写信号和片选信号由写入方式确定。该存储器中机器指令的读写分手动和自动两种方式。手动方式下 ,写信号由W/R 提供,片选信号由CE提供;自动方式下,写信号由控制CPU的P1.2提供,片选信号由控制CPU的P1.1提供。2.1.3 微程序控制器逻辑结构及功能微程序控制器的结构与微指令的格式密切相关。它由控制存储器、微地址寄存器、微命令寄存器和地址转移逻辑几部分组成。微地址寄存器和微命令寄存器两者的总长度即为一条微指令的长度,二者合在一起称为微指令寄存器。微控制器寄存器使用的是两片74LS273和一片74LS175构成它们从微命令存储器中读出并保存,为后续模块提供信息。它是根据节拍信号进行读的。2.2模型机的工作过程模型机的工作过程可以归纳如下:(1) 控制器把PC中的指令地址送往地址寄存器AR,并发出读命令。存储器按给定的地址读出指令,经由存储器数据寄存器MDR送往控制器,保存在指令寄存器IR中。(2) 指令译码器ID对指令寄存器IR中的指令进行译码,分析指令的操作性质,并由控制电路向存储器、运算器等有关部件发出指令所需要的微命令。(3) 当需要由存储器向运算器提供数据时,控制器根据指令的地址部分,形成数据所在的存储单元地址,并送往地址寄存器AR,然后向存储器发出读命令,从存储器中读出的数据经由存储器数据寄存器MDR送往运算器。(4) 当需要由运算器向存储器写入数据时,控制器根据指令的地址部分,形成数据所在的存储单元地址,并送往存储器地址寄存器AR,再将欲写的数据存入存储器数据寄存器MDR,最后向存储器发出写命令,MDR中的数据即被写入由MAR指示地址的存储单元中。(5) 一条指令执行完毕后,控制器就要接着执行下一条指令。为了把下一条指令从存储器中取出,通常控制器把PC的内容加上一个数值,形成下一条指令的地址,但在遇到“转移”指令时,控制器则把“转移地址”送入PC。控制器不断重复上述过程的(1)到(5),每重复一次,就执行了一条指令,直到整个程序执行完毕。2.3带进位运算的模型机监控软件设计本模型机监控软件主要完成从输入设备读入数据,进行算术运算、移位运算后,将结果存入呢村的某个单元,最后通过输出设备输出结果。监控软件详细如下:地址内容助记符说明0000000000000000IN“输入开关量” R00000000100010000ADD0DHR0 0DH R000000010000011010000001110000000RLC0000010000000000IN“输入开关量” R00000010101100000RRC0000011001110000RL0000011100100000STA 0EH0000100000001110R00EH0000100100110000OUT 0EH00001010000011100EH BUS0000101101000000JMP 00H00HPC00001100000000000000110101000000自定义数据00001110结果存放单元表2.1监控软件详细表2.4数据通路图2.5 连接线路图图2.4 模型机实现线路图第三章 详细设计3.1运算器设计3.1.1运算器中各芯片的连接图 74LS182 G74LS181 (2) PCn G74LS181 (1) PCn G74LS181 (0) PCnS3S0 G74LS181 (3) PCnS3S0S3S0S3S0P3 G3P2 G2 Cn+zP1 G1 Cn+yP0 G0 Cn+xCnCnMMMMPGF4F7F0F3F8F11F12F15B0B3A0A3B4B7A4A7B8B11A8A11B12B15A12A15图3.1 16位运算器电路图3.1.2运算器功能及说明1.运算器功能:加工信息包括算术运算和逻辑运算。74LS181功能如表所示:表3-1 74LS181的控制逻辑引脚的功能表2.设计先行进位的16位算数或逻辑运算功能的运算器专用的先行进位产生器用于将多片运算电路之间的进位信号连接成并行进位结构。74LS182的引出端信号分别为:进位输入端Cn,进位产生输入端G0G3,进位传输输入端P0P3,进位输出端Cn+x、Cn+y、Cn+z,进位产生输出端G,进位传输输出端P。控制端M用来控制ALU进行算术运算还是逻辑运算,当M=0时,M对进位信号没有任何影响。此时Fi不仅与本位的被操作数Yi和操作数Xi有关,而且与向本位的进位值Cn+i有关,因此M=0时,进行算术操作;当M=1时,封锁了各位的进位输出,即Cn+i=0,因此各位的运算结果Fi仅与Yi和Xi有关,故M=1时,进行逻辑操作。此次设计的16位运算器由四片74LS181以并行构成16位字长的ALU。它可以对16两个位的二进制数进行多种算数或逻辑运算,具体由74LS181的功能控制条件S0、S1、 S2、S3、Cn、M来决定,详见74LS181功能表,两个参加运算的数分别来自暂存器U29和U30,运算结果直接输出到输出缓冲器U33,有输出缓冲器发送到系统的数据总线上,以便进行移位操作或参加下一次运算。低8位运算器的输出经过一个三态门74LS245(U33)到ALUO1插座,实验时用8芯排线和内部数据总线BUSD0D7插座BUS16中的任一个相连,低8位数据总线通过LZD0LZD7显示灯显示;高8位运算器的输出经过一个三态门74LS245(U33)到ALUO1插座,实验时用8芯排线和高8位数据总线BUSD8D15插座KBUS1或KBUS2相连,高8位数据总线通过LZD8LZD15显示灯显示;参与运算的四个数据输入端分别由四个锁存器74LS273(U29、U30、U29、U30、)锁存,实验时四个锁存器的输入并联后用8芯排线连至外部数据总线EXD0D7插座EXJ1EXJ3中的任一个;参与运算的数据源来自于8位数据开并KD0KD7,并经过一三态门74LS245(U51)直接连至外部数据总线EXD0EXD7,输入的数据通过LD0LD7显示。进位输入信号来自于两个方面:其一对运算器74LS181(U31、U32)的进位输出进行倒向所得Cn;其二由移位寄存器74LS299的选择参数S0、S1、A0A7决定所得。3.2存储器设计因为Intel 6264的片容量为8k8b(8kB),因此需要2片Intel 6264存储器芯片。主存储器单元电路主要用于存放实验机的机器指令,它的数据总线挂在外部数据总线EXD0EXD7上;它的地址总线单元电路中的地址寄存器74LS273(U37)给出,地址值由8个LED灯LAD0LAD7显示,高电平亮,低电平灭。它的读信号直接接地;它的写信号和片选信号由写入方式确定。该存储器中机器指令的读写分手动和自动两种方式。手动方式下,写信号由W/R提供,片选信号由CE提供;自动方式下,写信号由控制CPU的P1.2提供,片选信号由控制CPU的P1.1提供。存储器用静态随机存储器6116实现,用来存储用户程序和数据。存储器部分由两片6116构成16位存储器,地址总线只有低八位有效,因而其存储空间为00HFFH。6116有三个控制线:CE(片选线)OE(读线)、WE(写线),当CE=0、WE=0时进行写操作,CE=0、WE=1时进行读操作,其写时与脉冲宽度一致。EPROM2732:0000H0FFFH;1000H1FFFH;SRAM6116:2000H27FFH;28002FFFH存储器中的数据是指令时,那么数据是从RAM送到总线,再从总线送到IR中;存储器中的数据是需要加工的数据时,那么数据是从RAM送到总线,再动总线送到通用寄存器中等待加工。存储器连接图如下:MREQA15A14A13RDWRD0D7G1G2AG2BCBAY7Y2Y1Y0A11A0CEOED0D72片2732A10A0OEWECE2片6116A12.。74LS138扩展用D0D7VccA12CPU图3.2 存储器连接图3.3指令系统设计3.3.1指令寻址方式模型机的寻址方式分五种:累加器寻址:操作数为累加器A,例如“CPL A”是将累加器A 值取反,还有些指令是隐含寻址累加器A,例如“OUT”是将累加器A的值输出到输出端口寄存器OUT。寄存器寻址:参与运算的数据在R0-R3 的寄存器中,例如 “ADD A,R0”指令是将寄存器R0 的值加上累加器A的值,再存入累加器A中。寄存器间接寻址:参与运算的数据在存储器EM 中,数据的地址在寄存器R0-R3中,如 “MOV A,R1”指令是将寄存器R1 的值做为地址,把存储器EM 中该地址的内容送入累加器A中。存储器直接寻址:参与运算的数据在存储器EM 中,数据的地址为指令的操作数。例如“AND A,40H”指令是将存储器EM 中40H 单元的数据与累加器A的值做逻辑与运算,结果存入累加器A。立即数寻址:参与运算的数据为指令的操作数。例如 “SUB A,#10H”是从累加器A中减去立即数10H,结果存入累加器A。3.3.2指令格式本模型机共有12条基本指令,其中算术指令7条,访存指令和程序控制指令4条,输入输出指令2条。下表列出了各条指令的格式,汇编符合,指令功能。汇编符号指令格式功能CLR rdMOV rs rd0111 00 rd0110 rs rd0rdrsrdAND rs rdOR rs rd1011 rs rd1100 rs rdrsrdrdrsrdrdLDA M D rdSTA M D rdJMP M DBZC M D00 M 00 rd00 M 01 rd00 M 10 rd00 M 11 rd(E)rdrd(E)EPC当cy=1时 EPCIN addr rdOUT addr rd0100 01 rd 0101 10 rdaddrrdrdaddrHALT0110 00 11 停机表3-2 指令操作格式1.算术逻辑指令设计8条算术逻辑指令用单字长表示,寻址方式采用寄存器直接寻址,其格式如下:7 6 5 43 21 0OPCODERSRD表3.3 算术逻辑指令格式其中,OP-CODE 为操作码,RS 为源寄存器,RD 为目的寄存器,并规定如下表:RS 或 RD选定的寄存器00R001R110R2表3.4 算术逻辑指令设计2.访问指令及转移指令模型机设计 2 条访问指令,即存数(STA)、取数(LDA),1条转移指令,即无条件转移(JMP),用双字长表示,指令格式为:7 6 5 43 21 0OP-CODE MRDD表3.5 访问指令及转移指令格式其中,OP-CODE 为操作码,RD 为目的寄存器地址(LDA、STA 指令使用)。D 为位移量(正负均可),M 为寻址模式,其定义如下:寻址模式 M有效地址 E说 明00E=D直接寻址01E=(D)间接寻址10E=(RI)+DRI变址寻址11E=(PC)+D相对寻址表3.6 访问指令及转移指令设计本模型机规定变址寄存器 RI 指定为寄存器 R2。3.I/0指令输入(IN)和输出(OUT)指令采用单字长指令,其格式如下:7 6 5 43 21 0OP-CODEADDRRD表3.7 I/0指令格式其中,ADDR=01 时,选中“INPUT DEVICE”中的开关组作为输入设备,ADDR=10 时,选中“OUTPUT DEVICE” 中的数码块作为输出设备。 本模型机共有 13条基本指令,其中算术逻辑指令8条,访问内存指令和程序控制指令3条,输入输出指令2条。指令系统如下所示:助记符号指令格式功能CLR RDMOV RS,RDAND RS,RDSUB RS,RD011100RD1000RSRD1001RS RD1010RSRD0RDRSRDRS&RD RDRS-RD-CY RDRR RS,RDRL RS,RDRRC RS,RDRLC RS,RD1011RDRD1100RSRD1110RSRD1110RSRDCRRSCRRCCYRSCYRSLDA M,D,RDSTA M,D,RDJMP M,D00M00RD00M00RD00M00RDERSRDEEPC表3.8 I/0指令设计3.4微程序控制器设计与实现3.4.1微程序控制器的原理1.微程序控制的基本思想:就是仿照通常解题程序的方法,把操作控制信号编制成所谓的“微指令”,存放到只读存储器里。当机器运行时一条有一条的读出这些微指令,从而产生全机所需要的各种操作控制信号,使相应部件执行所规定的操作。2.基本组成:控制存储器,微指令寄存器,微地址寄存器,地址转移逻辑3.微程序控制器的工作过程: 开始运行程序时a.CPU 自动将取指令的微程序入口地址送入 uAR ,启动控制存储器进行读操作,将微指令送入 uIR 。b. 指令的操作码部分经译码器产生一组微命令,送到有关部件控制完成一组微操作。c. 由微地址产生逻辑或微指令的下字址给出下一条微指令的地址。再按取微指令,执行微指令的过程重复。微程序控制器组成原理框图如下:控制存储器地址译码微地址寄存器地址转移逻辑P字段控制字段状态条件微命令信号指令寄存器IROP微指令寄存器图3.3 微程序控制器组成原理框图3.4.2微程序流程图当拟定“取址”微指令时,该微指令的判别测试字段为P(1)测试。由于“取址”微指令是所有微程序都使用的公用微指令,因此P(1)的测试结果出现多路分支。控制台操作为P(3)测试,它以控制台开关SWC、SWA作为测试条件,出现了3路分支,占用3个固定微地址单元。当分支微地址单元固定后,剩下的其它地方就可以一条微指令占用一个微地址单元随意填写。注意:微程序流程图上的单元地址为十六进制。控制台操作的微指令流程图如图所示:100102O3PCARPC+1RAMBUSBUSAR110400(直接)0508PCARPC+1RAMBUSBUSARDR1+DR2BUSAR122O60701(间接)RAMBUSBUSDR1PCARPC+1DR1+DR2BUSARR2DR110(变址)11(相对)132090A0BPCARPC+1RAMBUSBUSDR1PCDR2DR1+DR2BUSARBUSDR10CP(2)142SWEBUSBUSRDSTALDAJMPBZC0C0D0E0FRBUSBUSRAMRAMBUSBUSRRAMBUSBUSPCRAMBUSBUSDR1P(3)DR1BUSBUSAR01OUT2IN2152RDLED16MOVRSRDP(1)20ALU0RDCLRPCARPC+1RAMBUSBUSIR171819RSBUSBUSDR1RDBUSBUSDR2DR1*DRABUSRD1A1B1CRSBUSBUSDR1RDBUSBUSDR2DR1+DR2BUSRD1DSTOPHLTORAND1E0101010101010101010101图3.4微指令流程图3.4.3二进制微代码表设计当完成上述全部微程序设计后,对每条微指令进行代码化,即将微程序流程图按微指令格式转化而成的,转化成为如下的“二进制微代码表”。微地址S3 S2 S1 S0 M CN WE B1 B0ABCUA5UA000 0 0 0 0 0 1 0 1 1 000000 1000010000100000101111011011000001002000001001100000000010000030000010011100000000001000400000100101100000000010105000001011010001000000110061001010110011010000000010700000100111000000000111108000001011110110110001010090000010111101101100011000A0000010010100000000011100B0000010110000000000000010C0000010000100000000011010D0000011010001010000010000E0000011100001010000010000F000001101000001000000001100000010000010000000000011100000101111011011000001112000001011110110110000111130000010111101101100110011400000101111011011001110015001101011000001000011101160011010110000010000111111700110101100000100010000118001101011000001000100011190000010111101101010000011A0000010111101101100110011B0000010110101010000000011C0000010111100000000110101D0000010011100000000110101E0000011110100000000110111F000001110000101000000001200000010011010001100000012100100101100010000001111022000001011001100000000001230010110110001000001000002400000101100110000000000125000101011000100000100010260000010110011000000000012700011101100010000010010028000001011001100000000001290000010011100000000110102A0000010010110000000110112B0000010110100010000111002C01101011001101000000001表3.9 二进制微代码表3.4.4微指令格式设计一条微指令的一般格式是如下图:判别测试下地址操作控制顺序控制微指令格式:微指令长共24位,其控制位顺序如下:表3.10 微指令基本格式S3,S2,S1,S0,M,Cn:为运算器74LS181芯片的控制信号。 WE : 为W/R信号对RAM和OUT进行写操作,高电平为写有效。 B1,B0 : 为对外部设备(RAM,OUTPUT,INPUT)地址进行译码,B1B0=00时,INPUT选中;B1B0=01时,RAM(即CE)选中;B1B0=10时,OUTPUT(即LEDB)选中,B1B0=11时,外部设备都不选中。151413选择000001LDRi010LDDR1011LDDR2100LDIR101LOAD110LDAR表3.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选中。121110选择000001RS-B010RD-B011RI-B100299-B101ALU110PC-B表3.12 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计数器输出。 987选择000001P(1)010P(2)011P(3)100P(4)101AR110LDAR表3.13 C字段3.4.5后续地址产生方法在没有跳转的指令中后六位就是下一条微指令的入口地址。在有跳转的指令根据跳转的条件微控制器根据相应的条件和地址将下地址直接送到为控制器的地址强制端得到下一条指令的地址。由于本系统中指令系统规模不大,功能较简单,微指令采用全水平、不编码的方式,每一个微操作控制信号由一位微代码来表示,24位微代码至少可表示24个不同的微操作控制信号。用增量方式来控制微代码的运行顺序,每一条指令的微程序连续存放在微指令存储器连续的单元中。在本系统内,MLD为置微地址的控制信号,MCK为工作脉冲。当MLD=0、MCK有上沿时,把MD0MD7的值作为微程序的地址,打入微地址寄存器。当MLD=1、MCK有上升沿时,微地址计数器自动加1。微指令的运行顺序为下地址确定法,即采用计数增量方法,每条微指令执行过后微地址自动加1,指向下一条微指令地址。例如,确定了一条程序的微程序入口地址微07H,那么当执行完07H这条微指令后微地址加1,指向08H微地址。微地址寄存器由2片74LS161组成。在模型机停止状态下,微地址被清零。在实验平台开始运行时,微地址从00H开始运行。且00H放置一条取指指令,根据程序开始地址从内存中读出第一条指令。微程序是按顺序在为控存中存放在系统初始化的时候指令是从00H地址开始的00H地址中存放的是一条跳转指令直接可以跳转到01H的中存放的就是真正在控制程序功能的指令。机器就根据指令一条的执行。在微控制器的控制下让机器根据指令的来进行有条不紊的工作。3.4.6微程序入口地址的形成微指令的入口地址的形成是根据机器指令的高四位进行判断后得出的。每一条微指令都对应相应的一个地址。地址的编制和每一微指令是一一对应。不存在冲突。在本实验平台的硬件设计是采用的24位微指令,若微指令采用全水平不编码纯控制场的格式,那么至多可有24个微操作控制信号,可由微代码直接实现。若采用多组编码译码,那么24位的微代码通过二进制译码可实现2n个互斥的微操作控制信号。由于模型机指令系统规模较小,功能也不太复杂,所以采用全水平不编码纯控制场的微指令格式。在模型机中,用指令操作码的高4位作为核心扩展成8位的微程序入口地址MD0-MD7。3.4.7微程序根据微程序流程图设计程序并转化成十六进制文件格式,具体内容如下:程序:$P00 00$P01 10$P02 0D$P03 80$P04 00$P05 60$P06 70$P07 20$P08 0E$P09 30$P0A 0E$P0B 40$P0C 00$P0D 40微程序:M00 088105M01 82ED05M02 50C004M03 04E004M04 05B004M05 06A205M06 09A95M07 0FE004M08 8AED05M09 8CED05M0A 0EA004M0B 018005M0C 0D2004M0D 098A06M0E 080A07M0F 018206M10 011004M11 83ED05M12 87ED05M13 99ED05M14 9CED05M15 1D8235M16 1F8235M17 218235M18 238235M19 1AE004M1A 1BA004M1B 010A07M1C 81D104M1D 1E8825M1E 019805M1F 20882DM20 019805M21 228815M22 019805M23 24881DM24 0198053.5输入输出模块1.I/O设备的数据传送方式1.1.CPU与外设每种输入输出设备都要通过一个硬件接口或控制器和CPU相连,这些接口和控制器都能支持输入输出指令IN,OUT与外部设备交换信息。这些信息包括控制、状态和数据三种不同性质的信息,它们必须按不同的端口地址分别传送,控制信息输出到I/O端口,通知接口和设备要做什么动作,状态信息从I/O接口输入到CPU,表示I/O设备当前所处的状态,数据信息是I/O设备和CPU真正要交换的信息。外设和接口之间的数据信息可以是串行的,也可以是并行的,相应地要使用串行接口或并行接口1.2.直接存储器存取(DMA)方式DMA方式主要是用于一些高速的I/O设备,如磁带、磁盘、模数转换器等设备。DMA方式能使I/O设备直接和存储器进行成批数据的快速传送。每个字节一到达端口就直接从接口送到存储器,同样,接口和它的DMA控制器也能直接从存储器取出字节并把它送到I/O设备中DMA控制器一般包括四个寄存器:控制寄存器、状态寄存器、地址寄存器和字节寄存器,这些寄存器在信息传送之前应进行初始化,即系统程序在地址寄存器中设置要传送的数据块的首地址,在字节寄存器中设置要传送的数据长度,在状态控制寄存器中设置控制字,指出数据是输入还是输出,并启动DMA操作。每个字节传送后,地址寄存器增1,字节寄存器减1系统完成DMA传送的主要步骤如下:DMA控制器向CPU发出HOLD信号,请求使用总线;CPU发出响应信号HOLD给DMA控制器,并把总线让出,这时CPU放弃了对总线的控制,而DMA控制器获得了总线控制权;传输数据的存储器地址(在地址寄存器中)通过地址总线发出;传输的数据字节通过数据总线进行传送;地址寄存器增1,以致向下一个要传送的字节;字节计数器减1;如字节计数器非0,转向第3步;否则,DMA控制器撤销总线请求信号HOLD,结束传送。2.程序直接控制I/O方式2.1.I/O端口计算机的外部设备和大容量存储设备都是通过接口连接到系统上,每个接口由一组寄存器组成,这些寄存器都分配有一个
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 航空航天零部件高精度加工技术2025年市场前景与挑战报告
- 葡萄酒行业产区特色品牌国际化:2025年全球市场机遇分析报告
- 2025届滁州凤阳县联考七下英语期末检测试题含答案
- 2025年电商平台内容营销与种草经济在电商区块链技术应用报告
- 2025年医药行业合规运营策略与信息化建设深度分析报告
- 2025年BIM技术在建筑行业工程项目施工进度调整与优化报告
- 2025年医药企业研发外包(CRO)模式下的临床试验数据安全报告
- 2025年医药流通行业供应链优化与成本控制策略分析报告
- 继教培训课件模板
- 广东省东莞市五校2025届七年级英语第二学期期中学业水平测试模拟试题含答案
- 江西省上饶市广信区2023-2024学年七年级下学期6月期末考试数学试卷(含答案)
- 数据标注教学课件
- 2025年山东高考化学真题及答案
- 2025-2030年中国鱼胶原蛋白肽行业市场现状供需分析及投资评估规划分析研究报告
- 涉密项目保密管理制度
- 形势与政策(2025春)超星学习通章节测试、考试及完整答案(夺冠)
- 东莞市招聘事业编制教职员笔试真题2024
- 广东省中山市2023-2024学年七年级下学期期末数学试题(含答案)
- 小学数学老师德育论文
- CJ/T 303-2008稳压补偿式无负压供水设备
- 2025年人教部编版语文五年级下册期末检测真题及答案(2套)
评论
0/150
提交评论