考研必备:计算机组成原理第9章微程序控制计算机的设计课件_第1页
考研必备:计算机组成原理第9章微程序控制计算机的设计课件_第2页
考研必备:计算机组成原理第9章微程序控制计算机的设计课件_第3页
考研必备:计算机组成原理第9章微程序控制计算机的设计课件_第4页
考研必备:计算机组成原理第9章微程序控制计算机的设计课件_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第9章 微程序控制计算机的设计计算机组成原理2007.7.21计算机组成原理第9章 微程序控制计算机的设计本章主要是为配合前面各章节理论教学而设计的,是理论与应用相结合教学内容的一部分。通过讲述微程序控制计算机的设计方法和过程,加深读者对计算机存储器、微程序控制器、指令系统等内容的理解 2007.7.22计算机组成原理本章要点:计算机整机框图设计指令系统设计微操作信号设计指令微程序设计编写应用程序2007.7.23计算机组成原理第9章 微程序控制计算机的设计 9.1 微程序控制计算机概述 9.2 指令系统设计 9.3 微程序设计 9.4 编写源程序2007.7.24计算机组成原理9.1 微程序

2、控制计算机概述 控制计算机工作的微命令信号主要通过两种方法实现,一种是由设计的微程序产生,另外一种是通过组合逻辑电路产生。计算机控制器构成电路主要是围绕这两种方法进行设计的,二者各有优缺点,详细知识第6章已经讲述,在此通过设计实例主要介绍微程序控制计算机的应用情况 。2007.7.25计算机组成原理9.1 微程序控制计算机概述9.1.1 设计要求与目标 9.1.2 计算机硬件设计2007.7.26计算机组成原理设计一个完整的计算机系统不仅要考虑计算机硬件设计,还要考虑机器字长、指令系统规模、外部设备规模等。详细分析主要包括如下几个方面:(1)机器字长采用8位还是16位。即运算器、数据总线是采用

3、8位还是16位。(2)地址总线的位数。确定计算机寻址空间的大小。(3)计算机运算器采用什么结构(如多通用寄存器结构、多累加器结构等)。1. 设计要求2007.7.27计算机组成原理(4)计算机指令系统规模(共有多少条指令,多少种寻址方式,指令功能等)。(5)计算机是否使用外设(键盘和打印机),以什么方式使用外设(程序查询I/O方式还是中断I/O方式)。2007.7.28计算机组成原理计算机系统采用8位字长,计算机系统的硬件组成应该完备,运算器、控制器、主存、I/O接口及总线等应有一定的典型性,并能驱动简单的I/O设备。此外该计算机系统应具备一定规模的指令系统,能够完成基本的算术逻辑运算以及数据

4、的输入输出控制。2. 设计目标2007.7.29计算机组成原理 计算机的工作过程,实质上是不同的数据流在控制信号作用下在限定的数据通路中进行传送。数据通路不同,指令所经过的操作过程也不同,机器的结构也就不样,因此数据通路的设计是至关重要的。所谓数据通路的设计,也就是确定机器各逻辑部件相对位置的总框图。9.1.2 计算机硬件设计1设计整机逻辑框图2007.7.210计算机组成原理数据通路的设计,目前还没有非常标准的方法。主要是依据设计者的经验,并参考现有机器的几种典型形式(比如单总线、双总线或三总线结构),根据指令系统的要求,可采用试探方法来完成。其主要步骤如下:(1)对指令系统中的各条指令进行

5、分析,得出所需要的指令周期与操作序列,以便决定各器件的类型和数量。2007.7.211计算机组成原理(2)构成一个总框图草图,进行各逻辑部件之间的互相连接,即初步确定数据通路,使得由指令系统所包涵的数据通路都能实现,并满足技术指标的要求。(3)检验全部指令周期的操作序列,确定所需要的控制点和控制信号。(4)检查所设计的数据通路,尽可能降低成本,简化线路。 注:以上过程可以反复进行,以便得到一个较好的方案。2007.7.212计算机组成原理根据设计要求,对计算机模块的硬件资源进行逻辑剪辑组合,便可设计出该计算机的整机数据通路逻辑框图,如图9-1所示。为利于调试,在通路框图上标明了各器件的控制信号

6、及必要的输出信号。图9-1中设计了运算器ALU、移位发生器 (74299)、数据寄存器(DR1、DR2等)、寄存器组(R0、R1、R2)、内存RAM、微程序控制器单元CU、地址加法器、指令寄存器IR、程序计数器PC以及输入/输出设备等单元模块。2007.7.213计算机组成原理 图9-1 计算机整机逻辑框图2007.7.214计算机组成原理(1)移位发生器单元如图9-2所示,该电路使用了一片74LS299作为移位发生器,其中8位输入输出和8位数据总线连接。299-B信号控制其使能端(0有效),T4为时序节拍脉冲。由S0、S1、M控制信号设置其运行状态,其控制特性见表9-1所示。2单元模块详细设

7、计2007.7.215计算机组成原理表9-1 移位发生器控制状态表299-BUSS1S2M功能000任意保持0100循环右移0101带进位循环右移0011带进位循环左移任意11任意装数2007.7.216计算机组成原理 图9-2 移位发生器电路图2007.7.217计算机组成原理受设计复杂度的限制,在计算机整机框图中时序启停模块并没有画出,但对于计算机系统来说,控制计算机工作的时序信号是极为重要的。如图9-3时序启停电路原理所,其中时序电路由1/2片74LS74、1片74LS175及6个二输入与门、2个二输入与非门和3个反向器构成。可产生4个等间隔的时序信号T1T4,其中“时钟”信号由“脉冲源

8、”提供。为了便于控制程序的运行,时序电路发生器也设置了一个启停控制触发器CR,使T1T4信号输出可控。 (2)时序启停电路单元2007.7.218计算机组成原理 图中给出了“运行方式”、“停机”和启动控制位,用来分别管理时序信号T1T4将周而复始地发送或单步发送。时序信号T1T4连续发送,机器就可以连续执行微程序;机器仅发送单周期4拍制时序信号,便单步运行状态,机器每次只执行一条微指令,这样,可以观察微控制状态与当前微指令的执行结果。2007.7.219计算机组成原理图9-3 时序启停电路图2007.7.220计算机组成原理用示波器观察时序波形,可看到时序信号T1T4的波形,如图9-4所示。图

9、9-4 时序信号T1T4的波形图2007.7.221计算机组成原理在计算机进行算术运算、逻辑运算或移位运算时,运算结果的状态主要依靠标志寄存器来显示,因此设计计算机系统时,设计合理的标志位锁存电路十分必要。如电路图9-5所示,其中181的8位输出端逻辑或非后进入74LS74锁存器D端,该端的状态由AR和T4信号控制,当AR=1时,在时序T1T4处于单步执行状态下,在T4节拍把当前零(ZQ)状态锁存到零标志锁存器中。(3)标志位锁存单元2007.7.222计算机组成原理图9-5 标志位锁存电路图2007.7.223计算机组成原理如电路图9-6所示,使用2片74LS163组成8位程序计数器PC,其

10、8位输入/输出公用端与总线(BUS) 接口相连接。通过LDPC、LOAD信号和脉冲T3来控制对程序计数器PC装载数据和加1操作。当LOAD=1、LDPC=1时,在时序T3上升沿把数据开关的内容装入PC。当LOAD=0、LDPC=1时,在单周期四节拍时序的T2时刻打开PC-B三态门,在T3时刻PC值通过总线打入地址寄存器、同时PC值加1。(4)程序计数器单元2007.7.224计算机组成原理图9-6 程序计数器电路图2007.7.225计算机组成原理(5)指令寄存器单元 如图9-7所示,1片74LS273作为指令寄存器单元,其8位输入端与BUS总线已作连接,其输出端与微程序存储器地址(SE5SE

11、0)接口连接。 指令数据寄存器IR(74LS273)的LDIR为电平正跳变时,把来自数据总线的数据打入寄存器IR,IR的输出就作为本系统内的8位指令I7I0。在本系统内由这8位指令(可最多译码256条不同的指令),通过编码可对应这些指令在微程序存储器中的入口地址,并且输出相应的微控制指令。2007.7.226计算机组成原理图9-7 指令寄存器电路图2007.7.227计算机组成原理(6)输入/输出单元计算机系统中所用的输入/输出设备如电路图9-8、9-9所示。其中输入设备有8位带显示数据开关经一个三态门(74LS245)8位数据总线相连。输出设备经一锁存器(74LS273)实现,该锁存器的8位

12、输入端和8位数据总线相连,其锁存输出端与8个发光二极管的显示接口相连,该显示接口以二进制方式显示输出结果(灯亮表示该输出位为1,灯灭表示该输出位为0)。2007.7.228计算机组成原理说明:在本设计中8位数据开关就是简单的输入设备,一次只能向计算机输入8位 二进制;8个发光二极管是简单的输出设备,一次能显示一个字节的结果。图9-8 输入设备电路图2007.7.229计算机组成原理图9-9 输出设备电路图2007.7.230计算机组成原理说明:运算器、存储器及微程序控制器工作原理分别在前面第2章、第4章 和第6章已讲述,它们设计及应用内容在第10章实训部分还会详细介绍,此处不再重点讲述。 思考

13、: 结合数字电路知识,请查阅资料分析74LS245、74LS 74、74LS175、74LS299、74LS273芯片的作用及特性。2007.7.231计算机组成原理9.2 指令系统设计设计一个计算机系统需确定计算机的指令系统具体由哪些指令组成,包括哪几种类型指令,指令操作数有哪几种寻址方式,以及指令编码等,要兼顾必要性(编程方便)和可行性(硬件条件)两个条件。2007.7.232计算机组成原理9.2 指令系统设计 9.2.1 指令类型 9.2.2 设计指令执行流程2007.7.233计算机组成原理1. 算术逻辑指令系统共设计9条算术逻辑指令,分别是:寄存器清零指令(CLR)、数据传送指令(M

14、OV)、带进位加法指令(ADC)、借位减法指令(SUC)、自增运算指令INC)、与运算指令(AND)、取反运算指令(COM)、带进位循环右移指令(RRC)和带进位循环左移指令RLC)。这些指令全部用单字节表示,寻址方式采用寄存器直接寻址,其格式如下: 微程序控制计算机设计四大类指令共十六条,其中包括算术逻辑指令、I/O指令、访问及转移指令和停机指令。2007.7.234计算机组成原理D7 D6 D5 D4D3 D2D1 D0OP-CODErsrd 其中,OPCODE为操作码占用4位二进制(D7D4),rs为源寄存器占用2位二进制(D3、D2),rd为目的寄存器占用2位二进制(D1、D0),并规

15、定:rs或rd 选定的寄存器00R001R110R2 9条算术逻辑指令的名称、功能和具体格式见表9-1所示。2007.7.235计算机组成原理2. 访存指令及转移指令系统共设计2条访存指令存数(STA)和取数(LAD),2条转移指令无条件转移 ( JMP )和结果为零或有进位转移指令(JZC),这4条指令长度为2个字节,其指令格式为:D7 D6D5 D4D3 D2D1 D00 0M OP-CODErdD2007.7.236计算机组成原理 其中,OPCODE为操作码,rd为目的寄存器地址(LDA、STA指令使用)。D为偏移量(正负均可),M为寻址模式,其定义如下:寻址模式M有效地址E说明0001

16、1011E=DE=(D)E=(RI)+DE=(PC)+D直接寻址间接寻址RI变址寻址相对寻址本计算机规定变址寄存器RI指定为寄存器R2。2007.7.237计算机组成原理3. I/O指令I/O指令共两个,分别是输入(IN)和输出(OUT)。指令采用单字节指令,其格式如下:D7 D6 D5 D4D3 D2D1 D0OP-CODEaddrrd 其中,addr01时,选中“输入设备”中的开关组作为输入设备,addr10时,选中“输出设备”中的数码显示单元作为输出设备。2007.7.238计算机组成原理4. 停机指令设计一个停机指令HLT,该指令用于实现停机操作。指令格式如下:D7 D6 D5 D4D

17、3 D2D1 D0OP-CODE0000 根据上面介绍,表9-1列出了本计算机系统16条基本指令的格式、汇编符号和指令功能,其中算术逻辑指令9条,访存指令和程序控制指令4条,输入输出指令2条,停机指令1条。2007.7.239计算机组成原理 表9-1 指令详细信息表 汇编指令指令格式指令功能CLR rd0111 00 rd0 rdMOV rs, rd1000 rs rdrs rdADC rs, rd1001 rs rdrs+rd+cy rd(cy是进位值)SUC rs rd1010 rs rdrs-rd-cy rdINC rd1011 rs rdrs+1 rdAND rs, rd1100 rs

18、 rdrs&rd rdCOM rd1101 rs rd求反RRC rs, rd1110 rs rd 带进位的循环右移RLC rs, rd1111 rs rd带进位的循环左移LAD M, D, rd00 M 00 rdE(有效地址单元数据)rdDSTA M, D, rd00 M 01 rdrd E(有效地址单元)DJMP M, D00 M 11 rdE PCDJZC M, D00 M 11 rd当CY=1时或Z=1时E PCDIN addr, rd0100 01 rdaddr rdOUT addr, rd0101 10 rdrd addrHLT0110 00 00停机2007.7.240计算机组

19、成原理9.2.2 设计指令执行流程指令类型和数量确定后,还需结合计算机整机通路逻辑图(见图9-1)设计出每条指令的执行流程。 我们知道,一条指令从内存取出到执行完毕,需要若干个机器周期(节拍)。任何指令的第一个机器周期都是“取指令周期”,或称为公共操作周期。而条指令共需几个机器周期取决于指令在计算机系统中实现的复杂程度。对于微程序控制的计算机设计指令执行流程时,要保证每条微指令所含微操作的必要性和合理性,防止微操作之间有时序冲突,为此要分析:2007.7.241计算机组成原理(1)哪些微操作信息可以安排在同一条微指令中;(2)哪些微操作信息必须安排在同一条微指令中;(3)哪些微操作信息不能安排

20、在同条微指令中。 另外,还应记住:总线(数据总线DB、地址总线AB、控制总线CB)仅是传输信息的通路而已,无寄存信息的功能;利用总线传输信息时要保证信息的唯一性(即不能有个以上器件向总线发送信息);ALU的输出缓冲器仅是三态传输门电路,无寄存功能。2007.7.242计算机组成原理 下面我们举几个例子说明如何设计指令流程。说明:箭头表示数据信息流向,括号中的T1,T2,T3为工作脉冲。【例9-1】单字节指令 ADC rs,rd(rd是目的寄存器,rs是源寄存器,硬件见图(9-1)该指令功能为rs+rd+cy rd(cy是进位值),需执行的微操作和所需的微操作信号如下:(1)(PC) (AR)

21、RAM ;根据PC访问内存 所需的微操作信号:LDPC,LDAR(T3)(2)RAM DB IR(DB为数据总线) ;读出指令字节送IR 所需的微操作信号: WE,CE ,LDIR(T3)(3)(PC)+1 PC ;PC加l计数,为取下条指令字节准备 所需的微操作信号:PC+1(T3)(4)R0 DR1;R1DR2 ;取两个操作数送数据寄存器为ALU准备好被加数 所需的微操作信号:R0-B,R1-B,RS-BUS,LDDR1,LDDR2(5)(DR1+DR2)+ cy R1 ;ALU执行加法,结果暂存目的寄存器 所需的微操作信号:M,CN,S0,S1,S2,S3,ALU-BUS,LDRi(T2

22、) 2007.7.243计算机组成原理【例9-2】单字节指令MOV rs,rd 该指令功能为rs rd ,需执行的微操作和所需的微操作信号如下:(1)(PC) (AR) RAM ;根据PC访问内存 所需的微操作信号:LDPC,LDAR(T3)(2)RAM DB IR(DB为数据总线) ;读出指令字节送IR 所需的微操作信号: WE,CE ,LDIR(T3)(3)R0 DB ;读出数据到数据总线 所需的微操作信号:R0-B,RS-BUS(4)DB R1 ;数据总线上的数据送R1 所需的微操作信号:LDRi(T2)根据计算机整机数据通路逻辑框图(9-1),参照例9-1和9-2的设计方法,可以完成对

23、INC、AND、RRC 等其余14条指令的微操作流程和所需的微操作信号的设计。详细设计留给读者完成。思考:指令执行过程中微操作信号的作用是什么?2007.7.244计算机组成原理9.3 微程序设计在微程序控制计算机中,源程序指令的执行是建立在微程序的基础之上的。计算机要完成程序执行,必须先设计每条指令的微程序,并且放在微程序控制器的存储器中,这样,计算机就把执行源程序指令的工作通过执行一个微程序来实现。在计算机中指令执行的效率如何和微程序控制、微指令字长以及微程序设计情况密切相关。2007.7.245计算机组成原理9.3.1 微程序控制器微程序控制计算机的数据通路确定后,下一个设计重点就集中在

24、控制器的设计上。控制器逻辑框图,如图9-10所示。图中IR存放的是源程序指令,控制器对源程序指令的操作码译码可以找到该指令的微程序的入口地址,然后送入微程序计数器Upc中,根据微程序的入口地址访问控制存储器就可以读取微程序的第一条微指令,从而开始执行一个微程序完成指令的工作。图中微程序每一条微指令的执行都是在微指令寄存器中完成的。2007.7.246计算机组成原理 图9-10微程序控制逻辑框图 2007.7.247计算机组成原理9.3.2 微程序设计将机器的全部指令系统采用微指令序列实现的过程,叫做微程序设计。一条机器指令对应一个微程序,本系统共有16条机器指令就应当对应有16个微程序。计算机

25、中微程序控制器的强大与否,机器性能如何,取决于如何设计控制流程,并转化为微程序。微程序设计是以微指令设计为基础的。2007.7.248计算机组成原理1.微指令格式本部分设计任务是综合微程序控制计算机指令系统各指令执行流程中涉及到的微操作控制信号,统计总共需多少个微操作控制信号,决定这些信号中在微指令中产生的方式及格式。微指令设计分为水平型微指令和垂直微指令两种。如果计算机系统复杂不高,微指令格式建议采用水平型微指令,微命令编码采用直接表示法和分段直接译码法相结合的混合表示法,以缩短微指令长度。后继地址采用下址字段给出的方式。微指令格式如下:2007.7.249计算机组成原理结合计算机指令系统和

26、数据通路逻辑框图,可以分析系统所需的微命令信号的数目,从而确定微指令中控制字段的长度。比如微指令长24位,若微指令采用全水平不编码直接控制的格式,那么至多可有24个微命令控制信号直接产生。如果采用分组编码译码,那么n位微指令编码通过译码器译码可实现2n个互斥的微命令控制信号(即它们不可能在同一节拍内激活)。系统中微指令格式及微命令信号设计实例如下:控制字段 判别字段下址字段 2007.7.250计算机组成原理微指令字长共24位,其控制位顺序如下:24232221201918171615 14 1312 11 109 8 7654321S3S2S1S0MCnWECELDPCABCuA5uA024

27、16为直接控制字段,共给出9个微命令信号;A、B、C为译码字段,可以分别送3-8译码器,共可以设计出互斥的24个微命令信号;A5A0为下址字段(微指令后继微地址),6位地址可以访问的控制存储器的空间为26,即系统设计的微指令最多不超过64条。2007.7.251计算机组成原理2. 指令流水执行时空表设计指令执行流程时空表应在设计数据通路之前确定,因为具体的流水线是跟时空表紧密相联的。本设计是在已有的数据通路的基础上(该数据通路支持流水),通过改进控制来提升系统性能,因此将时空表放在控制器部分进行设计。表9-2给出的是指令执行过程时空表,表9-3给出的是指令两级流水执行时空表,表9-4给出的是指

28、令四级流水执行时空表。2007.7.252计算机组成原理表9-2 指令执行过程时空表周期 123456789101112131415161718取指12345678执行1122334455667788写回12345678表9-3 指令两级流水执行时空表周期 1234567891011121314151617指令11122334455667788指令211223344556677882007.7.253计算机组成原理表9-2 指令执行过程时空表周期 123456789101112131415指令1123456789101112功能段2123456789101112功能段2123456789101

29、112功能段2123456789101112注意:设计选用的时空表只要设计可以实现即可,不同的时空表直接影响系统的性 能。思考:设计微指令格式时,判别字段的主要作用是什么?2007.7.254计算机组成原理3. 编写各指令的微程序根据指令流程和微指令格式仔细地逐条编写每一个指令的微程序,源程序指令对应的微程序流程图及确定微地址,如图9-11所示。2007.7.255计算机组成原理 图9-11 微程序流程图 2007.7.256计算机组成原理 根据流程图,可以写成二进制表示的微程序,为了书写方便,在此用十六进制书写。十六进制微地址$:表示地址M:表示微指令十六进制表示微程序格式说明 微指令代码:

30、 微指令代码 十六进制微地址$:表示地址M:表示微指令$M 2007.7.257计算机组成原理$M2205DB81$M230180E4$M24018001$M2595AAA0$M2600A027$M2701BC28$M2895EA29$M2995AA0$M2A01B42B$M2B959B41$M2C01A42D$M2D65AB6E$M2E0D9A01$M2F01AA30$M300D8171$M31959B41$M32019A01$M3301B435$M3405DB81$M35B99B41$M360D9A01$M37298838$M38019801$M3919883A$M3A019801$M3B

31、070A08$M3C068A09$M00018108$M0101ED82$M0200C050$M0300A004$M230180E4$M24018001$M2595AAA0$M2600A027$M2701BC28$M2895EA29$M2995AA0$M2A01B42B$M2B959B41$M2C01A42D$M2D65AB6E$M2E0D9A01$M2F01AA30$M300D8171$M31959B41$M32019A01$M3301B435$M3405DB81$M35B99B41$M360D9A01$M37298838$M38019801$M3919883A$M3A019801$M3B070A08$M3C068A09$M0400E0A0$M0500E006$M0600A007$M0700E0A0$M0801ED8A$M0901ED8C$M0A00A03B$M0B018001$M0C00203C$M0D00A00E$M0E01B60F$M0F95EA25$M1001ED83$M1101ED85$M1201ED8D$M1301EDA6$M14001001$M15030401$M160

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论