《计算机组成原理ppt电子课件教案第9章微程序控制计算机的设计》由会员分享,可在线阅读,更多相关《计算机组成原理ppt电子课件教案第9章微程序控制计算机的设计(63页珍藏版)》请在金锄头文库上搜索。
1、2007.7.2,计算机组成原理,1,第9章 微程序控制计算机的设计,计算机组成原理,第9章 微程序控制计算机的设计,本章主要是为配合前面各章节理论教学而设计的,是理论与应用相结合教学内容的一部分。通过讲述微程序控制计算机的设计方法和过程,加深读者对计算机存储器、微程序控制器、指令系统等内容的理解,2007.7.2,2,计算机组成原理,本章要点:,计算机整机框图设计 指令系统设计 微操作信号设计 指令微程序设计 编写应用程序,2007.7.2,3,计算机组成原理,第9章 微程序控制计算机的设计, 9.1 微程序控制计算机概述 9.2 指令系统设计 9.3 微程序设计 9.4 编写源程序,200
2、7.7.2,4,计算机组成原理,9.1 微程序控制计算机概述,控制计算机工作的微命令信号主要通过两种方法实现,一种是由设计的微程序产生,另外一种是通过组合逻辑电路产生。计算机控制器构成电路主要是围绕这两种方法进行设计的,二者各有优缺点,详细知识第6章已经讲述,在此通过设计实例主要介绍微程序控制计算机的应用情况 。,2007.7.2,5,计算机组成原理,9.1 微程序控制计算机概述,9.1.1 设计要求与目标 9.1.2 计算机硬件设计,2007.7.2,6,计算机组成原理,设计一个完整的计算机系统不仅要考虑计算机硬件设计,还要考虑机器字长、指令系统规模、外部设备规模等。详细分析主要包括如下几个
3、方面: (1)机器字长采用8位还是16位。即运算器、数据总线是采用8位还是16位。 (2)地址总线的位数。确定计算机寻址空间的大小。 (3)计算机运算器采用什么结构(如多通用寄存器结构、多累加器结构等)。,1. 设计要求,2007.7.2,7,计算机组成原理,(4)计算机指令系统规模(共有多少条指令,多少种寻址方式,指令功能等)。 (5)计算机是否使用外设(键盘和打印机),以什么方式使用外设(程序查询I/O方式还是中断I/O方式)。,2007.7.2,8,计算机组成原理,计算机系统采用8位字长,计算机系统的硬件组成应该完备,运算器、控制器、主存、I/O接口及总线等应有一定的典型性,并能驱动简单
4、的I/O设备。此外该计算机系统应具备一定规模的指令系统,能够完成基本的算术逻辑运算以及数据的输入输出控制。,2. 设计目标,2007.7.2,9,计算机组成原理,计算机的工作过程,实质上是不同的数据流在控制信号作用下在限定的数据通路中进行传送。数据通路不同,指令所经过的操作过程也不同,机器的结构也就不样,因此数据通路的设计是至关重要的。所谓数据通路的设计,也就是确定机器各逻辑部件相对位置的总框图。,9.1.2 计算机硬件设计 1设计整机逻辑框图,2007.7.2,10,计算机组成原理,数据通路的设计,目前还没有非常标准的方法。主要是依据设计者的经验,并参考现有机器的几种典型形式(比如单总线、双
5、总线或三总线结构),根据指令系统的要求,可采用试探方法来完成。其主要步骤如下: (1)对指令系统中的各条指令进行分析,得出所需要的指令周期与操作序列,以便决定各器件的类型和数量。,2007.7.2,11,计算机组成原理,(2)构成一个总框图草图,进行各逻辑部件之间的互相连接,即初步确定数据通路,使得由指令系统所包涵的数据通路都能实现,并满足技术指标的要求。 (3)检验全部指令周期的操作序列,确定所需要的控制点和控制信号。 (4)检查所设计的数据通路,尽可能降低成本,简化线路。注:以上过程可以反复进行,以便得到一个较好的方案。,2007.7.2,12,计算机组成原理,根据设计要求,对计算机模块的
6、硬件资源进行逻辑剪辑组合,便可设计出该计算机的整机数据通路逻辑框图,如图9-1所示。为利于调试,在通路框图上标明了各器件的控制信号及必要的输出信号。 图9-1中设计了运算器ALU、移位发生器 (74299)、数据寄存器(DR1、DR2等)、寄存器组(R0、R1、R2)、内存RAM、微程序控制器单元CU、地址加法器、指令寄存器IR、程序计数器PC以及输入/输出设备等单元模块。,2007.7.2,13,计算机组成原理,图9-1 计算机整机逻辑框图,2007.7.2,14,计算机组成原理,(1)移位发生器单元 如图9-2所示,该电路使用了一片74LS299作为移位发生器,其中8位输入输出和8位数据总
7、线连接。299-B信号控制其使能端(0有效),T4为时序节拍脉冲。由S0、S1、M控制信号设置其运行状态,其控制特性见表9-1所示。,2单元模块详细设计,2007.7.2,15,计算机组成原理,表9-1 移位发生器控制状态表,2007.7.2,16,计算机组成原理,图9-2 移位发生器电路图,2007.7.2,17,计算机组成原理,受设计复杂度的限制,在计算机整机框图中时序启停模块并没有画出,但对于计算机系统来说,控制计算机工作的时序信号是极为重要的。如图9-3时序启停电路原理所,其中时序电路由1/2片74LS74、1片74LS175及6个二输入与门、2个二输入与非门和3个反向器构成。可产生4
8、个等间隔的时序信号T1T4,其中“时钟”信号由“脉冲源”提供。为了便于控制程序的运行,时序电路发生器也设置了一个启停控制触发器CR,使T1T4信号输出可控。,(2)时序启停电路单元,2007.7.2,18,计算机组成原理,图中给出了“运行方式”、“停机”和启动控制位,用来分别管理时序信号T1T4将周而复始地发送或单步发送。时序信号T1T4连续发送,机器就可以连续执行微程序;机器仅发送单周期4拍制时序信号,便单步运行状态,机器每次只执行一条微指令,这样,可以观察微控制状态与当前微指令的执行结果。,2007.7.2,19,计算机组成原理,图9-3 时序启停电路图,2007.7.2,20,计算机组成
9、原理,用示波器观察时序波形,可看到时序信号T1T4的波形,如图9-4所示。,图9-4 时序信号T1T4的波形图,2007.7.2,21,计算机组成原理,在计算机进行算术运算、逻辑运算或移位运算时,运算结果的状态主要依靠标志寄存器来显示,因此设计计算机系统时,设计合理的标志位锁存电路十分必要。如电路图9-5所示,其中181的8位输出端逻辑或非后进入74LS74锁存器D端,该端的状态由AR和T4信号控制,当AR=1时,在时序T1T4处于单步执行状态下,在T4节拍把当前零(ZQ)状态锁存到零标志锁存器中。,(3)标志位锁存单元,2007.7.2,22,计算机组成原理,图9-5 标志位锁存电路图,20
10、07.7.2,23,计算机组成原理,如电路图9-6所示,使用2片74LS163组成8位程序计数器PC,其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.2,24,计算机组成原理,图9-6 程序计数器电路图,2007.7.2,25,计算机组成原理,(5)指令寄存器单元如图9
11、-7所示,1片74LS273作为指令寄存器单元,其8位输入端与BUS总线已作连接,其输出端与微程序存储器地址(SE5SE0)接口连接。 指令数据寄存器IR(74LS273)的LDIR为电平正跳变时,把来自数据总线的数据打入寄存器IR,IR的输出就作为本系统内的8位指令I7I0。在本系统内由这8位指令(可最多译码256条不同的指令),通过编码可对应这些指令在微程序存储器中的入口地址,并且输出相应的微控制指令。,2007.7.2,26,计算机组成原理,图9-7 指令寄存器电路图,2007.7.2,27,计算机组成原理,(6)输入/输出单元 计算机系统中所用的输入/输出设备如电路图9-8、9-9所示
12、。其中输入设备有8位带显示数据开关经一个三态门(74LS245)8位数据总线相连。输出设备经一锁存器(74LS273)实现,该锁存器的8位输入端和8位数据总线相连,其锁存输出端与8个发光二极管的显示接口相连,该显示接口以二进制方式显示输出结果(灯亮表示该输出位为1,灯灭表示该输出位为0)。,2007.7.2,28,计算机组成原理,说明:在本设计中8位数据开关就是简单的输入设备,一次只能向计算机输入8位 二进制;8个发光二极管是简单的输出设备,一次能显示一个字节的结果。,图9-8 输入设备电路图,2007.7.2,29,计算机组成原理,图9-9 输出设备电路图,2007.7.2,30,计算机组成
13、原理,说明: 运算器、存储器及微程序控制器工作原理分别在前面第2章、第4章 和第6章已讲述,它们设计及应用内容在第10章实训部分还会详细介绍,此处不再重点讲述。,思考: 结合数字电路知识,请查阅资料分析74LS245、74LS 74、74LS175、74LS299、74LS273芯片的作用及特性。,2007.7.2,31,计算机组成原理,9.2 指令系统设计,设计一个计算机系统需确定计算机的指令系统具体由哪些指令组成,包括哪几种类型指令,指令操作数有哪几种寻址方式,以及指令编码等,要兼顾必要性(编程方便)和可行性(硬件条件)两个条件。,2007.7.2,32,计算机组成原理,9.2 指令系统设
14、计, 9.2.1 指令类型 9.2.2 设计指令执行流程,2007.7.2,33,计算机组成原理,1. 算术逻辑指令 系统共设计9条算术逻辑指令,分别是:寄存器清零指令(CLR)、数据传送指令(MOV)、带进位加法指令(ADC)、借位减法指令(SUC)、自增运算指令INC)、与运算指令(AND)、取反运算指令(COM)、带进位循环右移指令(RRC)和带进位循环左移指令RLC)。这些指令全部用单字节表示,寻址方式采用寄存器直接寻址,其格式如下:,微程序控制计算机设计四大类指令共十六条,其中包括算术逻辑指令、I/O指令、访问及转移指令和停机指令。,2007.7.2,34,计算机组成原理,其中,OP
15、CODE为操作码占用4位二进制(D7D4),rs为源寄存器占用2位二进制(D3、D2),rd为目的寄存器占用2位二进制(D1、D0),并规定:,9条算术逻辑指令的名称、功能和具体格式见表9-1所示。,2007.7.2,35,计算机组成原理,2. 访存指令及转移指令 系统共设计2条访存指令存数(STA)和取数(LAD),2条转移指令无条件转移 ( JMP )和结果为零或有进位转移指令(JZC),这4条指令长度为2个字节,其指令格式为:,2007.7.2,36,计算机组成原理,其中,OPCODE为操作码,rd为目的寄存器地址(LDA、STA指令使用)。D为偏移量(正负均可),M为寻址模式,其定义如
16、下:,本计算机规定变址寄存器RI指定为寄存器R2。,2007.7.2,37,计算机组成原理,3. I/O指令 I/O指令共两个,分别是输入(IN)和输出(OUT)。指令采用单字节指令,其格式如下:,其中,addr01时,选中“输入设备”中的开关组作为输入设备,addr10时,选中“输出设备”中的数码显示单元作为输出设备。,2007.7.2,38,计算机组成原理,4. 停机指令 设计一个停机指令HLT,该指令用于实现停机操作。指令格式如下:,根据上面介绍,表9-1列出了本计算机系统16条基本指令的格式、汇编符号和指令功能,其中算术逻辑指令9条,访存指令和程序控制指令4条,输入输出指令2条,停机指令1条。,2007.7.2,39,计算机组成原理,表9-1 指令详细信息表,2007.7.2,40,计算机组成原理,9.2.2 设计指令执行流程,指令类型和数量确定后,还需结合计算机整机通路逻辑图(见图9-1)设计出每条指令的执行流程。 我们知道,一条指令从内存取出到执行完毕,需要若干个机器周期(节拍)。任何指令的第一个机器周期都是“取指令周期”,或称为公共操作周期。而条指令共需几个机器周期取决于指令在计算机系统中实现的复杂程度。对于微程序控制的计算机设计指令执行流程时,要保证每条微指令所含微操作的必要性和合理性,防止微操作之间有时序冲突,为此要分析:,