《基本模型机设计说明书毕业设计(论文)word格式.doc》由会员分享,可在线阅读,更多相关《基本模型机设计说明书毕业设计(论文)word格式.doc(37页珍藏版)》请在三一办公上搜索。
1、前 言通过对计算机组成原理及实验的学习,设计14条机器指令,并编写相应的微程序,完成由基本单元电路构成一台基本模型机,再经过调试指令和模型机使其在微程序的控制下自动产生各部件单元的正常工作控制信号。在设计基本模型机5的实验过程中,个别部件单元的控制信号是人为模拟产生的,而本课程设计将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期,全部由微指令组成的序列来完成,即一条机器指令对应一条微程序。本课程设计以DVCC计算机组成原理教学实验系统为平台设计完成。1、 根据任务要求设
2、计整机系统的方案。2、 存储系统:使用模型机的存储模块,说明存储器的输入输出时序,模块连接方式等。3、 运算器:使用模型机的器件,组成带有片间串行进位8位移位运算功能的运算器。4、 微程序控制器模块:使用教学机的系统,设计微程序控制器。5、 设计模型机指令系统:(含设计微指令格式、微程序流程图,每条指令所对应的微程序等)。6、 了解并说明教学模型机的输入输出模块。7、 在自己设计的指令系统基础上,编制一个汇编语言小程序并进行调试通过。8、 整机设计分模块进行,说明模块中数据和控制信号的来源、去向、功能、时序,以及模块间数据和控制信号的来源、去向、功能、时序等。本设计的规定项目采用14条机器指令
3、:IN.OUT.STA.LDA.JMP.BZC.CLR.MOV.CMP.SUB.DEC.HLT.RL.RLC。摘 要本次课程设计课题是基本模型机的设计与实现,该设计要求根据计算机组成原理课程所学知识,设计、开发一套简单的模型计算机。通过对一个简单计算机的设计,以达到对计算机的基本组成、部件的功能与设计、微程序控制器的设计、微指令和微程序的编制与调试等过程有更深的了解,加深对理论课程的理解。通过模型机的设计和调试,连贯运用计算机组成原理课程学到的知识,建立计算机整机概念,加深计算机时间和空间概念的理解。部件实验过程中,本课程设计将能在微程序控制下自动产生各部件单元的控制信号,实现特定指令的功能,
4、通过设计流程图,编写机器指令,微指令和控制信号程序。首先向存储器中装入数据和程序,然后检查写入是否正确,启动程序执行,并将实验结果显示输出。关键词:模型机 运算器 存储系统 指令系统 微程序指令目录前 言2摘 要3一 设计的目的及设计原理51 设计的目的52 设计的原理5二 总体设计10三 详细设计131 运算器的物理结构132 存储器的组成与说明143 指令系统的设计与格式分析154 微程序控制器的逻辑机构及功能255 微程序的设计与实现27四.系统调试报告33五 设计总结36六 设计(论文)的主要参考文献37七 致谢38一 设计的目的及设计原理1 设计的目的计算机组成原理课程设计是“计算机
5、组成原理”课程的后续设计性课程,通过设计一台模型计算机,可更好地理解计算机组成原理课程的基本内容,掌握模型计算机设计与实现的基本方法,培养实验动手能力和创新意识,为以后进行计算机应用系统的设计与开发奠定基础。设计一个8位模型计算机系统,包括运算器,微程序控制器,存储器,简单输入输出接口和设备,时序和启停控制等电路。定义一套简单的指令系统,制定系统的设计方案和实现方法,画出所设计的模型机系统的电路原理图。在计算机组成原理与系统结构实验系统上搭建模型计算机系统,完成微程序控制器的实验调试过程,并用所设计的指令系统编写一个实现简单功能的程序,在搭建的模型机系统上输入、调试和运行程序。最后总结实验结果
6、,完善所设计的模型机系统方案和电路图,写出设计报告。2 设计的原理(1)基本模型机的设计与实现部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本次实验将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。此基本模型机的设计主要包括存储器、运算器、输入/输出设备、微控器和指令系统五个模块组成。其中运算器主要由运算器U3、U4(74LS181)、暂存器U1、U2(74LS273)、输出缓冲器U5(74LS245)
7、、移位器(74LS299)以及进位控制和判零标志控制电路等构成。存储器存储该主存储器采用一级cache-存储器结构。输入/输出设备主要有两种外部I/O设备,一种是键盘,它作为输入设备INPUT;另一种是字符显示块,它作为输出设备OUTPUT。控制器它主要由控制存储器、微指令寄存器和地址转移逻辑三大部分组成,其中微指令寄存器分为微地址寄存器和微命令寄存器两部分。一台计算机中所有机器指令的集合,成为这台计算机的指令系统,它是计算机系统设计的一个核心问题,它不仅与计算机的硬件结构紧密相关,而且直接关系到用户的使用需要。指令从内存的中读出,首先放到IR指令寄存器中,再送入到微控器中进行译码,再由微控器
8、输出各种控制信号给各功能部件,执行相应的操作。指令和数据统统放在内存中,从形式上看,它们都是二进制代码,。一般来讲,取值周期从内存中读出的信息流是指令流,它指向控制器;而在执行周期中从内存中读出的信息流是数据流,它由内存流向运算器。指令从存储器中得到,送到指令寄存器中。由指令得到相应的控制信号,从控制器输出控制信号来控制计算机的运行。(2)各模块功能为:a.存储器存储器的功能是保存或“记忆”各种数据。在存放到存储器以前,他们全部变成0或1表示的二进制代码。采用半导体器件来存放大量的0,1.一个半导体触发器由于有0和1两种状态,可以记忆一个二进制代码。一个数据假定用8位二进制代码来表示,那么就需
9、要8各触发器来保存这些代码。通常,在存储器中保存一个数的8个触发器称为一个存储单元。存储器是由许多存储单元组成的,每一个存储单元都有编号,称为地址。存储器的所有存储单元的总数称为存储器的存储容量。b.运算器运算器就好像是一个由电子线路构成的算盘,它的主要功能就是进行加、减、乘、除等运算。还可以进行逻辑运算。电子器件的特性,计算机中通常采用二进制数。其运算规律非常简单。0+0+0,0+1=1,1+0=1,1+1=10,00=0,01=0,10=0,11=1。该模块中算术运算是由2片74LS181构成,是运算器的核心。74LS181功能表如表1-1所示 表1-1 74LS181功能表4位ALUS3
10、 S2 S1 S0M0(算术运算)M1 (逻辑运算)Cn=1 无进位Cn=0 有进位L L L LL L L HL L H LL L H HL H L LL H L HL H H LL H H HH L L LH L L HH L H LH L H HH H L LFAFA+BFA+/BF2的补FA加(A*/B)F(A+B)加(A*/B)FA减B减1F(A*/B)减1FA加A*BFA加BF(A+/B)加A*BFA*B减1FA加AFA加1F(A+B)加1F(A+/B)加1F0 FA加(A*/B)加1F(A+B)加(A*/B)加1 FA减B F(A*/B) FA加AB加1FA加B加1F(A+/B)
11、加A*B加1FAB FA加A加1 F/AF/(A+B) F/A*B F0 F/(A*B) F/B F(A B) F(A*/B) F/A+B F/(A B) FBFAB F=1 进位输入信号来自于两个方面:其一对运算器74LS181的进位输出/CN+4进位倒相所得CN4;其二由移位寄存器74LS299的选择参数S0、S1、AQ0、AQ7决定所得,移位寄存器74LS299主要用于带进位左、右移位操作。c.控制器控制器是计算机中发号施令的部件,它控制计算机的各部件有条不紊的进行工作。更具体地讲,控制器的任务就是从内存中取出解题步骤加以分析,然后执行某种操作。d.输入/输出设备 本系统有两种外部I/O
12、设备,一种是键盘,它作为输入设备INPUT;另一种是字符显示块,它作为输出设备OUTPUT。e.指令系统指令系统控制计算机系统有条不紊的工作f.寄存器介绍 指令寄存器用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存取到缓冲寄存器中,然后再传送到指令寄存器。指令划分为操作码和地址码字段,由二进制构成,为了执行任何一条给定的指令,必须对操作码进行测试P(1),通过节拍脉冲T4的控制以便识别所要求的操作。“指令译码器”根据指令中的操作码进行译码,强置微控器单元的微地址,使下一条微指令指向相应的微程序首地址。数据寄存器用来存放从内存中读出的数据或是从输入设备输入的数据,然后将数据送到运算
13、器等功能部件,起了暂存的作用。PC为指令指针计数寄存器,用来存放下一条将要执行指令的地址。SP为堆栈指针计数寄存器,用来在堆栈寻址方式中指示栈顶指针的位置。(3)带移位运算的模型机的设计与实现 在基本模型机的基础上搭接移位控制电路,实现移位控制运算。实验中新增4条移位运算指令:RL(左环移)、RLC(带进位左环移)、RR(右环移)、RRC(带进位右环移),其指令格式如下: 操作码 RR 01010000 RRC 01100000 RL 01110000 RLC 10000000以上4条指令都为单字长(8位)。RR为将R0寄存器中的内容循环右移1位。RRC为将R0寄存器中的内容带进位右移1位,它
14、将R0寄存器中的数据右边第1位移入进位,同时将进位寄存器的数移至R0寄存器的最左位。RL为将R0寄存器中的数据循环左移1位。 RLC为将R0寄存器中的数据带进位循环左移1位。为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还设计了3个控制台操作微程序。存储器读操作(KRD):拨动总清开关CLR后,控制台开关SWB,SWA为“00”时,按START启动纽,可对RAM连续手动读操作。存储器写操作(KWE):拨动总清开关CLR后,控制台开关SWB,SWA置为“01”时,按动START启动纽可对RAM进行连续手动写入。启动程序:拨动总清开关CLR后控制台开关SWB,SWA置为“11”
15、时,按动启动键,即可转入到第01号“取址”微指令上述三条控制台指令用两个开关SWB、SWA的状态来设置,其定义如下表1-2: 表1-2SWB SWA 控制台指令001011读内存(KRD)写内存(KWE)启动程序(RP) 二 总体设计本次实验将能在微程序控制下自动产生各部件单元的控制信号,实验特定指令的功能。在制定设计方案的时候,首先要理解所设计的模拟机各个部件的作用及功效,弄清楚他们可以干什么,怎么样去干。这样才能更好的完成设计达到我们设计的目的和通过实验所要继续深化的知识点。计算机数据通路的控制是由微程序控制器来实现的,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令
16、组成的序列来完成,即一条机器指令对应一个微程序。而每一条微指令都是由我们自己根据CPU要完成的功能设计的。总体设计框图如下:实验仪的总体结构框图(图2-1)(1)控制信号说明:1S3,S2,S1,S0 有微程序控制器输出的ALU操作选择信号,以控制执行16种算术操作或16种逻辑操作中的一种操作。2M 微程序控制器输出的ALU操作方式选择信号端,M0执行算术操作;M1执行逻辑操作。3/CN 微程序控制器输出的进位标志信号。/CN0表示ALU运算时最低位加进位1;/CN1则表示无进位。4ALUBUS 微程序控制器的输出信号,控制运算器的运算结果是否送到总线BUS,低电平有效。5LDDR1 微程序控
17、制器的输出信号,控制把总线上的数据打入运算暂存器DR1。6LDDR2 微程序控制器的输出信号,控制把总线上的数据打入运算暂存器DR2。7RBUS 微程序控制器的输出信号,控制寄存器R0的内容是否送到总线BUS,低电平有效。8LDR 微程序控制器的输出信号,控制把总线上的数据打入寄存器R0。9PCBUS 微程序控制器的输出信号,控制程序计数器的内容是否送到总线BUS,低电平有效。10LDPC 微程序控制器的输出信号,控制PC加1。11LDAR 微程序控制器的输入信号,将程序计数器的内容打入到地址寄存器AR中,产生RAM的地址。12LDIR 微程序控制器的输出信号,控制把总线上的数据(指令)输入到
18、指令寄存器IR中。13SWBUS 微程序控制器的输出信号,控制8位数据开关SW7SW0的开关量是否送到总线,低电平有效。14OUT 微程序控制器的输出信号,控制和数据总线上的数据是否送到发光二极管上,低电平有效。(2)框图部件概述:1.运算器(使用可编程器件74LS181实现):运算器是用来完成各种运算的部件,通常将运算分成算术运算和逻辑运算两大类:算术运算是指需要考虑进位的加、减、乘、除运算。逻辑运算是指位对位的运算。运算器中除了包含一个能完成算术和逻辑运算功能的算术逻辑运算单元(ALU)之外,还要有可存放参加运算的操作数和运算结果的寄存器,以及在它们之间传送数据的通道。2.微程序控制器:控
19、制器是整个系统的指挥中心,由它向系统内的各个部件发出各种控制命令,使系统构成一个有机的整体。通常将运算器和控制器合起来称之为“中央处理器”简称CPU。3.存储器:存储器主要由6116芯片及相应的缓冲芯片和控制线路实现的。存储器是用来存放各类信息的部件,所有能在机内运行的程序和所需的数据都要存放在存储器中,通常被称作主存储器或内存储器。一般说来,主存储器的容量越大,计算机功能越强。通常将CPU和主存储器合起来称之为计算机的“主机”。4.简单输入输出设备:输入由铅笔开关实现,输出由发光晶体管组成。输入设备是用来完成输入功能的部件。所有需要输入到机内的程序或数据,都是经输入设备输入的。输出设备是用来
20、完成输出功能的部件,所有需要从计算机内输出的运算结果或在机内运行的程序、数据均可通过输出设备输出。三 详细设计1 运算器的物理结构运算器模块主要由运算器U31、U32(74LS181)、暂存器U29、U30(74LS273)、输出缓冲器U33(74LS245)以及进位控制和判零标志控制电路等构成。下面以8位机为例说明运算器模块的工作原理:该模块中算术运算是由2片74LS181(U31、U32)构成,它是运算器的核心。它可以对两个8位的二进制数进行多种算术或逻辑运算,具体由74LS181的功能控制条件M、CN、S3、S2、S1、S0来决定,详见表11。两个参加运算的数分别来自于暂存器U29和U3
21、0,运算结果直接输出到输出缓冲器U33,由输出缓冲器发送到系统的数据总线上,以便进行移位操作或参加下一次运算。 运算器组成原理图(图3-1) 运算器是在 ALU UNIT 单元电路上进行 ,控制信号、数据、时序信号由实验仪的逻辑开关电路和时序发生器提供。 SW7SW0 八个逻辑开关用于产生数据,由BUSSW控制发送到总线上。DR1,DR2 为运算暂存器 ,LDDR1,LDDR2为运算暂存器的输入控制信号,将总线上的数据输入到暂存器 DRl,DR2;通过 S3、S2、Sl、S0、M、/Cn 的选择,可实现对 ALU 算术操作和逻辑操作。在BUSALU控制信号作用下将运算结果送到总线 BUS上。S
22、3、S2、S1、S0、M、/Cn、LDDR1、 LDDR2、BUSALU信号、BUSSW信号,本次实验中这些控制信号与对应逻辑开关都已接好,由逻辑开关模拟这些控制信号 。 LDDR1、LDDR2由T4 信号进行定时。当T4信号上升沿到来时 LDDR1、LDDR2 才起作用。2 存储器的组成与说明主存储器单元电路主要用于存放实验机指令,它的数据总线挂在外部数据总线EXD0EXD7上。它的地址总线由地址寄存器单元的地址寄存器74LS245(U37)给出,地址值由8个LED灯LAD0LAD7显示,高电平亮,低电平灭;在手动方式下,输入数据由8位数据开关KD0KD7提供,并进一三态门74LS245(U
23、51)连至外部数据总线EXD0EXD7,实验时将外部数据总线的EXD0EXD7用8芯排线练到内部数据总线BUSD0BUSD7,分时给出地址和数据。它的读信号直接就地;它的写信号和片选信号由写入方式确定。该存储器中机器指令的读写分别控制CPU的P1.2提供,片选信号由控制CPU的P1.1提供。由于地址寄存器为8位,故接入6264的地址为A0A7,而高4位A8A12接地,所以其实际使用容量为256字节。6264有控制线:CS1 第一片选线,CS2第二片选线,OE 读线,WE 写线。CS1 片选线由W/R控制,CS2直接+5V.信号线LDAR由开关LDAR提供,手动方式实验时,跳线器LDAR拨在左边
24、,脉冲信号T3由实验机上时序电路模式TS3提供,实验时只需J22跳线器连上即可,T3的脉冲宽度可调。原理图如下: 存储器原理图(图3-2)3 指令系统的设计与格式分析1 指令系统的设计与格式:(1)数据格式模型机规定采用定点补码表示法表示数据,且字长为8位,其格式如下: D7 D6 D0符号尾数 表3-1其中第7位为符号位,数值表示范围是:1X1。 (2)指令格式本模型机共有13条基本指令,其中算术运算类指令4条(ADD、SUB、MOVE、CLR),访问内存指令和程序控制指令4条(STA、LDA、JMP、BZC),I / O指令2条(IN、OUT),位操作指令3条(AND、OR、XOR),各指
25、令格式如下所示。1) 算术逻辑指令设计4条算术运算指令(ADD、SUB、MOVE、CLR)并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下: D7 D4 D3 D2 D1 D0 OP-CODERSRD 表3-2其中,OPCODE为操作码,RS为源寄存器,RD为目的寄存器,并规定: RS或RD选定的寄存器000110R0R1R2 表3-32) 访问内存指令和程序控制指令 模型机设计访问内存指令和程序控制指令4条(存数STA、取数LDA、无条件转移JMP、有进位转移指令BZC)。指令格式为: D7 D6 D5 D4 D3 D2 D1 D00 0MOP-CODERDD 表3-4其中,OPCOD
26、E 为操作码,RD为目的寄存器地址(LDA、STA 指令使用)。D为位移量(正负均可),M为寻址模式,其定义如下: M有效地址说明00011011E=DE=(D)E=(RI)+DE=(PC)+D直接寻址间接寻址RI变址寻址相对寻址 表3-5本模型机规定变址RI指定为寄存器R2。 3) I / O指令 输入IN和输出OUT指令采用单字节指令,其格式如下: D7 D4 D3 D2 D1 D0OP-CODEaddrRD 表3-6addr=01时,选中键盘作为输入设备;addr=10时,选中字符显示器作为输出设备。(3)预设指令:A: IN为单字节长指令,含义是将输入设备输入的数据放入R0中 指令格式
27、: 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为双字节长指令,含义是使程序跳转
28、到指定的地址执行。 指令格式: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)
29、-(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)位
30、(4)指令系统是设计计算机的依据 ,拟订指令系统将涉及基本字长、指令格式、指令种类、寻址方式等内容。基本字长:程序设计平台中配置的存储器容量为256*8,可知道基本字长定为8位。指令格式:指令格式可有单字长和双字长指令两种,在双字长格式中,第二字节一般定义为操作数或操作数地址。14条指令用单字节表示,寻址方式采用寄存器直接寻址,其格式如表3-7所示:表3-7 算数逻辑指令格式7 6 5 43 21 0OP-CODERSRD对于预设指令可设计操作码如下:IN 操作码: 0000 0000 OUT 操作码: 0011 0000 STA 操作码: 0010 0000 LDA 操作码: 0001 00
31、00 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 操作码: 0111 0000RLC 操作码: 1000 0000(5)微指令流程图: 运行:PC-ARPC+1RAM-BUSBUS-IRP(1)SW-R0PC-ARPC+1PC-ARPC+1PC-ARPC+1PC-ARPC+1PC-ARPC+1RAM-BUSBUS-ARRAM-BUS
32、BUS-DR1DR1-LEDRAM-BUSBUS-ARRAM-BUSBUS-ARRAM-BUSBUS-PCR0-BUSBUS-RAMRAM-BUSBUS-R0DR1-MRAM-BUSBUS-ARRAM-BUSBUS-DR1 01 02 10 IN OUT STA LDA JMP BZC 10 11 12 13 14 15 01 01 01 01 01 010-R0PC-ARPC+1PC-ARPC+1PC-ARPC+1PC-ARPC+1RAM-BUSBUS-ARRAM-BUSBUS-ARR0-BUSBUS-RAMRAM-BUSBUS-ARRAM-BUSBUS-ARRAM-BUSBUS-ARR0-
33、BUSBUS-DR2RAM-BUSBUS-DR2RAM-BUSBUS-DR2DR1-LEDR0-DR1R0-DR1DR1-DR2-R0R0-DR1DR1-LEDDR1-DR2-R0R0-DR1DR1-LEDR0-DR1DR1-DR2-R0 CLR MOV CMP SUB DEC HLT 16 17 18 19 20 21 01 01 01 01 01 R0-299R0-299不带进位左移DR1-LEDDR1-LED299-R0R0-DR1带进位循环左移299-R0R0-DR1 RL RLC 22 23 01 012指令格式分析:(1)微指令格式表表3-8:微指令格式表2322212019181
34、7161514131211S3S2S1S0M/CNLOADCEWELDROLDDR1LDDR2LDIR选择运算器运算模式打入PCRAM片选RAM写打入R0打入DR1打入DR2打入IR109876543210LDPCLDARALUBUSPCBUSR0BUSSWBUSP(1)UA4UA3UA2UA1UA0PC1打入AR运算器结果送总线PC内容送总线R0内容送总线开关内容送总线判别字下一微指令地址24位代码的含义:S3,S2,S1,S0,M,Cn: 为运算器74LS181芯片的控制信号,详见74LS181功能表1-1。 WE :为W/R信号对RAM和OUT进行写操作,高电平为写有效。 B1,B0 :
35、 为对外部设备(RAM,OUTPUT,INPUT)地址进行译码,B1B0=00时,INPUT(即SWB)选中;B1B0=01时,RAM(即CE)选中;B1B0=10时, OUTPUT(即LEDB)选中,B1B0=11时,外部设备都不选中。A字段: 表3-9151413选择000001LDRi 010LDDR1011LDDR2100LDIR101LOAD110LDARLDRi:寄存器输入选中,具体选择同指令寄存器(IR)的最低2位(I1,I0)配合,当I1,I0=00时为输入到R0寄存器;I1,I0=01时为R1;I1,I0=10时为R2。 LDDR1:暂存器DR1选中。 LDDR2:暂存器DR
36、2选中。 LDIR:指令寄存器IR选中。 LOAD:总线数据直接装载到PC计数器。 LDAR:地址寄存器AR选中。 B字段: 表3-10121110选择000001RS-B 010RD-B011RI-B100299-B101ALU-B110PC-BRS-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=1
37、0时为R2。 RI-B:为变址寄存器选中。本机定固定为R2 。 299-B:移位寄存器输出选中。 ALU-B:逻辑运算单元结果输出。 PC-B :PC计数器输出。 C字段: 表3-11987选择000001P(1) 010P(2)011P(3)100P(4)101AR110LDPCP(1):分支判断1,和指令寄存器(IR)的高四位(IR7-IR4)作为测试条件。可分16个分支。 P(2):分支判断2,和指令寄存器(IR)的三四位(IR3,IR2)作为测试条件,有4个分支。 P(3):分支判断3,和CY或ZI作为测试条件,有两个分支。 P(4):分支判断4,和开关SWB,SBA作为测试条件,有4
38、个分支。用于控制台控制区 (读程序,写程序,和运行程序) AR:进行算术运算时是否影响进位和判零标志的控制位。 选中时进行带进位运算。 LDPC:为PC计数信号选中。 UA5UA0: 为下一步微地址。4 微程序控制器的逻辑机构及功能(1)逻辑结构:采用微程序控制方式的控制器称为微程序控制器。所谓微程序控制方式是指微命令不是由组合逻辑电路产生的,而是由微指令译码产生。一条机器指令往往分成几步执行,将每一步操作所需的若干位命令以代码形式编写在一条微指令中,若干条微指令组成一端微程序,对应一条及其指令。在设计CPU时,根据指令系统的需要,事先编制好各段微程序 ,且将它们存入一个专用存储器中。微程序控
39、制器由指令寄存器IR、程序计数器PC、程序状态字寄存器PSW、时序系统、控制存储器CM、微指令寄存器以及微地址形成电路。微地址寄存器等部件组成。执行指令时,从控制存储器中找到相应的微程序段,逐次取出微指令,送入微指令寄存器,译码后产生所需微命令,控制各步操作完成。微控制器结构框图如下:它由控制存储器、微地址寄存器、微命令寄存器和地址转移逻辑几部分组成。微地址寄存器和微命令寄存器两者的总长度即为一条微指令的长 度,二者合在一起称为微指令寄存器。 图3-3(2)微程序控制器功能:A控制存储器(ROM):ROM中存放微程序,也就是全部的微指令。ROM的容量取决于微指令的总数。假如控制器需要128条微指令,则微地址寄存器长度为7位。ROM的字长取决于微指令长度。