第6章控制器原理_第1页
第6章控制器原理_第2页
第6章控制器原理_第3页
第6章控制器原理_第4页
第6章控制器原理_第5页
已阅读5页,还剩369页未读 继续免费阅读

下载本文档

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

文档简介

第6章控制系统与CPU

2/5/20231©2011第7版本章学习内容控制器的功能与组成控制方式与时序系统CPU的总体结构组合逻辑控制器设计微程序控制器设计2/5/202326.1控制器概述

控制器和运算器一起组成中央处理器,即CPU(CentralProcessUnit)。控制器的功能根据事先编好并存放在存储器中的解题程序,控制各部件有条不紊地、自动协调地进行工作。2/5/20233控制器是计算机的指挥和控制中心,由它把计算机的运算器、存储器、I/O设备等联系成一个有机的系统,并根据各部件具体要求,适时地发出各种控制命令,控制计算机各部件自动、协调地进行工作。2/5/20234计算机运行程序的基本过程:1.取指令根据指令地址(由PC提供),从存储器中取出所要执行的指令6.1.1指令执行的基本步骤

2/5/202352.分析指令①对取出的指令进行译码分析。确定指令应完成的操作,产生相应操作的控制电位,参与形成该指令功能所需要的全部控制命令(微操作控制信号)。②根据寻址方式的分析和指令功能要求,形成操作数的有效地址,并按此地址取出操作数据(运算型指令)或形成转移地址(转移类指令),以实现程序转移。2/5/202363.执行指令:根据指令分析所产生的操作控制信号和形成的有效地址,按一定的算法形成指令操作控制序列,控制有关部件完成指令规定的功能。一条指令执行结束,若没有异常情况和特殊请求,则按程序顺序,再去取出并执行下一条指令。2/5/20237控制器的任务按取指令、分析指令、执行指令这样的步骤进行周而复始的控制过程,直到完成程序所规定的任务并停机为止。2/5/20238指令ADDA,R7的执行过程

2/5/20239程序的执行过程设有程序:MOVAL,07HADDAL,0AHMOV[20H],AL(1)指令长度均为2字节,其中第一字节为操作码部分,第二字节为形式地址部分。(2)程序存放在以00H开始的区域内。2/5/202310程序执行过程演示2/5/2023116.1.2控制器的基本功能1.控制指令的正确执行包括指令流出的控制,分析指令和执行指令的控制,指令流向的控制。⑴指令流出控制(对取指令的控制)取指令时需进行的操作(PC)→MAR,Read;给出指令地址,并向MEM发

出读命令(MDR)→IR;读出的指令经MDR存放到指

令寄存器IR中(PC)增量→PC;为取下一条指令作准备2/5/202312⑵分析指令和执行指令的控制IR中的指令经指令译码器(ID)译码分析,确定操作性质,判明寻址方式并形成操作数的有效地址。控制器根据分析的结果和形成的有效地址产生相应的操作控制信号序列,控制有关的部件完成指令所规定的操作功能。例:设某指令的IR15~IR12=0000时为MOV指令,则MOV的控制信号为:2/5/202313⑶指令流向的控制指令流向控制即下条指令地址的形成控制。①按指令序列顺序执行时,通过PC自动增量形成下条指令的地址。②当需要改变指令流向时,需改变程序计数器PC中的内容。转移指令的执行:把形成的转向地址送入PC;转子指令的执行:把子程序入口地址送入PC;中断处理:将中断服务程序入口地址送入PC。为了正确返回,转子和中断还需保留PC被改变之前的内容(即返回地址)。2/5/2023142.控制程序和数据的输入及结果的输出为完成某项任务而编制的程序及所需数据,必须通过某些输入设备预先存放在存储器中,运算结果要用输出设备输出。所以必须由控制器统一指挥,完成程序和数据的输入及结果的输出。3.异常情况和特殊请求的处理机器在运行程序过程中,往往可能会遇到一些异常情况(如电源掉电、运算溢出等)或某些特殊请求(如打印机请求传送打印字符等)。这些异常和请求往往是事先无法预测的,控制器必须具有检测和处理这些异常情况和特殊请求的功能。2/5/202315宏观上每条指令的执行过程均是取指、译码、执行,但每条指令有不同的操作序列,需要在不同时间产生不同的控制序列,并有严格的时序要求。控制器必须根据不同指令产生不同的控制序列。控制器在工作时,需要根据不同的指令、不同的状态条件,在不同的时间,产生不同的控制信号,控制计算机的各部件自动、协调地进行工作。2/5/202316指令执行的一般流程2/5/2023176.1.3控制器的组成2/5/202318指令部件的主要功能是完成取指令和分析指令。⑴程序计数器PC(指令计数器、指令地址寄存器)PC用于保证程序按规定的序列正确运行,并提供将要执行指令的地址。由于PC可以指向主存中任一单元的地址,因此它的位数应能表示主存的最大容量并与主存地址寄存器MAR的位数相同。1.指令部件2/5/202319在CPU中可以单独设置程序计数器,也可以指定通用寄存器中的某一个作为PC使用。程序顺序执行时的PC增量可以通过PC本身的计数逻辑实现,也可以由运算器的ALU实现。不同机器,实现方法可有所不同。2/5/202320(2)指令寄存器IR指令寄存器用于存放当前正在执行的指令。当指令从主存取出后,经MDR传送到指令寄存器中,以便实现对一条指令执行的全部过程的控制。2/5/202321(3)指令译码器ID指令译码器是指令分析部件,对指令寄存器中的指令操作码进行译码分析,产生相应操作的控制电位,提供给微操作控制信号形成部件。对寻址方式字段进行译码分析,以控制操作数有效地址的形成。(4)地址形成部件根据机器所规定的各种寻址方式,形成操作数有效地址。在一些微、小型机中,为简化硬件逻辑,通常不设置专门的地址形成部件,而是借用运算器实现有效地址的计算。2/5/2023222.时序控制部件时序控制部件:用于产生一系列时序信号,为各个微操作定时,以保证各个微操作的执行顺序。从宏观(即程序控制)上看,计算机的解题过程实质上是指令序列即一条条指令的执行过程。从微观(即指令控制)上看,计算机的解题过程是微操作序列即一个个(或一组组)微操作的执行过程。微操作:机器最简单的基本操作一条指令的执行过程可以分解为若干微操作。这些微操作有着严格的时间顺序要求,不可随意颠倒。2/5/202323(1)脉冲源脉冲源用于产生一定频率的主时钟脉冲。一般采用石英晶体振荡器作为脉冲源。计算机电源一接通,脉冲源立即按规定频率给出时钟脉冲。(2)启停电路启停电路用于控制整个机器工作的启动与停止。实际上是保证可靠地送出或封锁主时钟脉冲,控制时序信号的发生与停止。2/5/202324(3)时序信号发生器时序信号发生器用于产生机器所需的各种时序信号,以便控制有关部件在不同的时间完成不同的微操作。不同的机器,有着不同的时序信号。在同步控制的机器中,一般包括周期、节拍、脉冲等三级时序信号。2/5/202325微操作控制信号形成部件:根据指令部件提供的操作控制电位、时序部件所提供的各种时序信号以及有关的状态条件,产生机器所需要的各种微操作控制信号。不同的指令,完成不同的功能,需要不同的微操作控制信号序列。每条指令都有自己对应的微操作序列。控制器必须根据不同的指令,在不同的时间,产生并发出不同的微操作控制信号,控制有关部件协调工作,完成指令所规定的任务。3.微操作控制信号形成部件2/5/2023264.中断控制逻辑(中断机构)用于实现异常情况和特殊请求的处理。2/5/202327程序状态寄存器:用于存放程序的工作状态(如管态、目态等)和指令执行的结果特征(如结果为零、结果溢出等),把它所存放的内容称为程序状态字(PSW)。PSW表明了系统的基本状态,是控制程序执行的重要依据。不同的机器,PSW的格式及内容不完全相同。5.程序状态寄存器PSR2/5/202328例:8086CPU中的PSW的格式CF:进位PF:奇偶AF:半进位ZF:结果为0SF:符号TF:单步(陷阱)IF:中断允许DF:地址增/减量OF:溢出1514131211109876543210OFDFIFTFSFZFAFPFCF2/5/202329

控制台用于实现人与机器之间的通信联系,如启动或停止机器的运行、监视程序运行过程、对程序进行必要的修改或干预等。早期有硬件控制台,用于设置地址和指令。现在,在大型机中有软件控制台。通过控制台命令,控制机器的启停,干预机器的工作。6.控制台2/5/202330控制器的组成方式主要是指微操作控制信号形成部件采用何种组成方式产生微操作控制信号。根据产生微操作控制信号的方式不同,控制器可分为组合逻辑型、存储逻辑型、组合逻辑与存储逻辑结合型三种,它们的根本区别在于微操作信号发生器的实现方法不同,而控制器中的其他部分基本上是大同小异的。6.1.4控制器的组成方式2/5/2023311.组合逻辑型组合逻辑控制器也称为硬联逻辑或硬布线逻辑。组合逻辑控制器是根据控制要求和状态,采用组合逻辑技术来实现的。其微操作信号发生器是由门电路组成的复杂树形网络构成的。组合逻辑控制器的设计目标:使用最少器件数和取得最高操作速度。优点:速度快。巨型机和RISC机为了追求高速度采用组合逻辑控制器。

缺点:微操作信号发生器结构不规整,设计、调试、维修较困难,难以实现设计自动化。一旦控制部件构成之后,要想增加新的控制功能是不可能的。2/5/2023322.存储逻辑型存储逻辑型控制器称为微程序控制器。它是采用存储逻辑来实现的。存储逻辑型控制器的实现方法:把微操作信号代码化,使每条机器指令转化成为一段微程序存入控制存储器中。执行指令时,读出控存中的微指令,由微指令产生微操作控制信号。优点:设计规整,调试、维修便利,更改、扩充指令方便,易于实现自动化设计。缺点:由于增加了一级控制存储器,所以指令的执行速度比组合逻辑控制器慢。2/5/2023333.组合逻辑和存储逻辑结合型组合逻辑和存储逻辑结合型控制器称为PLA控制器。PLA控制器是吸收前两种的设计思想来实现的。PLA控制器实际上也是一种组合逻辑控制器,但它的输出程序可编的,某一微操作控制信号由PLA的某一输出函数产生。PLA控制器是组合逻辑技术和存储逻辑技术结合的产物,它克服了两者的缺点,是一种较有前途的方法。2/5/202334以上几种控制器的设计方法是不同的,但产生的微操作命令的功能是相同的,并且各个控制条件基本上也是一致的,都是由时序电路、操作码译码信号,以及被控部件的反馈信息有机配合而成的。从功能上看,这几种控制器只是微操作信号发生器的结构和原理不同,而外部的输入条件和输出结果几乎完全相同。2/5/202335微操作信号发生器2/5/202336

6.2控制器的控制方式与时序系统计算机执行指令的过程实际上是执行一系列的微操作的过程。每一条指令都对应着一个微操作序列,这些微操作中有些可以同时执行,有些则必须按严格的时间关系执行。控制器的控制方式需解决的问题:如何在时间上对各种微操作信号加以控制。2/5/2023376.2.1控制方式常用的控制方式有同步控制、异步控制和联合控制。1.同步控制方式任何指令的运行或指令中各个微操作的执行,均由确定的具有统一基准时标的时序信号所控制。即所有的操作均由统一的时钟控制,在标准的时间内完成。在同步控制方式下,每个时序信号的结束就意味着安排完成的工作已经完成,随即开始执行后续的微操作或自动转向下条指令的运行。2/5/202338典型的同步控制方式:以微操作序列最长的指令和执行时间最长的微操作为标准,把一条指令执行过程划分为若干个相对独立的阶段(称为周期)或若干个时间区间(称为节拍),采用完全统一的周期(或节拍)控制各条指令的执行。优点:时序关系简单,控制方便缺点:浪费时间。因为对比较简单的指令,将有很多节拍是不用的,处于等待。所以,在实际应用中都不采用这种典型的同步控制方式,而是采用某些折衷的方案。2/5/202339(1)采用中央控制与局部控制相结合的方法中央控制:统一节拍的控制根据大多数指令的微操作序列的情况,设置一个统一的节拍数,使之大多数指令均能在统一的节拍内完成。局部控制:在延长节拍内的控制对于少数在统一节拍内不能完成的指令,采用延长节拍或增加节拍数,使之在延长节拍内完成,执行完毕再返回中央控制。2/5/202340例:设某计算机的指令通常用8个节拍完成,即有8个中央节拍W7~W0,当某指令在8个节拍中不能完成时,就插入若干局部节拍W6*,经过若干局部节拍W6*后,再返回中央节拍W7。2/5/202341(2)采用不同的机器周期和延长节拍的方法把一条指令执行过程划分为若干机器周期,如取指、取数、执行等周期。根据所执行指令的不同需要,选取不同的机器周期数。在节拍安排上,每个周期划分为固定的节拍,每个节拍都可根据需要延长一个节拍。这种方法可以解决执行不同的指令所需时间不统一问题。在Intel8088的指令执行过程中有读写周期、内部周期等,其中读写周期为4个节拍,但可以延长若干个节拍。2/5/202342(3)采用分散节拍的方法分散节拍:运行不同指令时,需要多少节拍,时序部件就发生多少节拍。这种方法可完全避免节拍轮空,是提高指令运行速度的有效方法,但这种方法使时序部件复杂化。同时还不能解决节拍内那些简单的微操作因等待所浪费的时间。2/5/2023432.异步控制方式没有统一的同步信号,采用问答方式进行时序协调,将前一操作的回答信号作为下一操作的启动信号。异步控制方式不仅要区分不同指令对应的微操作序列的长短,而且要区分其中每个微操作的繁简,每条指令、每个微操作需要多少时间就占用多少时间。这种方式不再有统—的周期、节拍,各个操作之间采用应答方式衔接,前一操作完成后给出回答信号,启动下一个操作。2/5/202344数据间隔可变发送准备好数据已接受这种方式可根据每条指令的操作的实际需要而分配时间,所以没有时间上的浪费,效率高。但设计复杂且费设备。2/5/2023453.联合控制方式联合控制是将同步控制和异步控制相结合。联合控制方式的设计思想:在功能部件内部采用同步方式或以同步方式为主的控制方式;在功能部件之间采用异步方式。通常对可以统一的微操作采用同步控制,对难以统一的微操作采用异步控制。2/5/202346例如,在微、小型机中,CPU内部基本时序采用同步控制方式,当CPU通过总线与主存或其它外设交换数据时,转入异步控制。当CPU访问外设时,只需给出起始信号,主存或外部设备即按自己的时序信号去安排操作,一旦操作结束,则向CPU发结束信号,以便CPU再安排它的后继工作。2/5/202347同步与异步时序的衔接关系当CPU要访主存时,在发读信号READ同时发“等待”信号,等待信号使时序由同步转入异步操作并冻结同步时序,使节拍间的相位关系不再发生变化,直到存储器按自己速度操作结束,并向CPU发回答信号MOC才解除对同步时序的冻结,机器回到同步时序按原时序关系继续运行。2/5/2023482/5/202349实际上现代计算机中几乎没有完全采用同步或完全采用异步的控制方式,大多数都采用联合控制方式。2/5/2023506.2.2时序系统时序系统是控制器的心脏,由它为指令的执行提供各种定时信号。通常,设计时序系统主要是针对同步控制方式的。1.指令周期与机器周期指令周期:从取指令、分析指令到执行完一条指令所需的全部时间。由于各种指令的操作功能不同,繁简程度不同,因此各种指令的指令周期也不尽相同。2/5/202351机器周期(CPU周期):指令周期中的某一工作阶段所需的时间。在指令执行过程中,各机器周期相对独立。一条指令的指令周期由若干个机器周期所组成,每个机器周期完成一个基本操作。所以机器周期也称为基本周期。一般机器的CPU周期有取指周期、取数周期、执行周期,中断周期等。2/5/202352每个机器周期设置一个周期状态触发器与之对应,机器运行于哪个周期,与其对应的周期状态触发器被置为“1”。显然,机器运行的任何时刻都只能建立一个周期状态,因此同一时刻只能有一个周期状态触发器被置为“1”。不同工作周期所占的时间可以不等。由于CPU内部操作速度快,而CPU访存所花时间较长,所以许多计算机系统往往以主存周期为基础来规定CPU周期,以便二者工作协调配合。2/5/202353把一个机器周期等分成若干个时间区间,每一时间区间称为一个节拍。一个节拍对应一个电位信号,控制一个或几个微操作的执行。在一个机器周期内,要完成若干个微操作,这些微操作不但需要占用一定的时间,而且有一定的先后次序。因此,在同步控制方式中,基本的控制方法就是把一个机器周期等分成若干个节拍,每一个节拍完成一步基本操作,如一次传送、一次加减运算等。一个节拍电位信号的宽度取决于CPU完成一个基本操作的时间。2.节拍2/5/202354

节拍提供了一项基本操作所需的时间分段,但有的操作如打入寄存器,还需严格的定时脉冲,以确定在哪一时刻打入。节拍的切换,也需要严格的同步定时。所以在一个节拍内,有时还需要设置一个或几个工作脉冲,用于寄存器的复位和接收数据等。脉冲:一个节拍内设置的一个或几个工作脉冲。3.脉冲(定时脉冲)2/5/202355常见的设计是在每个节拍的末尾发一次工作脉冲,脉冲前沿可用来打入运算结果(或传送),脉冲后沿则实现周期的切换。也有的计算机,在一个节拍中先后发出几个工作脉冲,有的脉冲位于节拍前端,可用作清除脉冲;有的脉冲位于中部,用作控制外围设备的输入/输出脉冲;有的脉冲位于尾部,前沿用作CPU内部的打入,后沿实现周期切换。2/5/202356周期、节拍、脉冲构成了三级时序系统,它们之间关系如下图所示。图中包括两个机器周期M1、M2,每个周期包含四个节拍W0~W3,每个节拍内有一个脉冲P。2/5/202357微型机中常用的时序系统与上述三级时序系统有所不同,称之为时钟周期时序系统。下图所示的是一典型指令的基本时序,一个指令周期包含三个机器周期:取指周期、存储器读周期和存储器写周期,三个周期中分别包含4个、3个、3个时钟周期。2/5/2023586.3CPU的总体结构CPU即中央处理器,它包含运算器和控制器两个部分。其功能为:⑴程序控制:控制程序按所要求的次序正确执行。⑵操作控制:管理何时产生每条指令所需的操作信号,送往有关部件,控制完成指令规定的操作。⑶时序控制:对各种操作实施时间上的定时,使计算机有条不紊地工作。⑷数据加工:对数据进行算术逻辑运算处理。2/5/202359CPU结构模型示意图2/5/202360

6.3.1寄存器的设置不同计算机的CPU结构存在差别,但在CPU中一般都设置下列寄存器:(1)指令寄存器IR(2)程序计数器PC(3)累加寄存器AC(4)程序状态寄存器PSR(5)地址寄存器MAR(6)数据缓冲寄存器MDR(或MBR)(7)堆栈指针SP2/5/202361其中⑵、⑶、⑷、(7)是用户可用的,⑴、⑸、⑹是用户不可用的。CPU中还常设置一些程序不能直接访问、用于暂存操作数据或中间结果的寄存器,称为暂存器。2/5/202362通用寄存器通用寄存器:一组程序可访问的、具有多种功能的寄存器。在指令系统中,为通用寄存器分配了编号(寄存器地址),可以编程指定使用其中的某个寄存器。通用寄存器自身的逻辑往往很简单并且比较统一,甚至是快速的小规模存储器的一些单元,但通过编程与运算器配合,可指定其实现多种功能,如提供操作数、保存中间结果(即作累加器用),或用作地址指针、基址寄存器、变址寄存器、计数器等。2/5/2023636.3.2数据通路结构及指令流程分析数据通路:信息传送的基本路径。CPU内部的数据通路通常是指运算器与寄存器之间的信息传输通道。数据通路结构直接影响着CPU内各种信息的传送路径。数据通路不同,指令执行过程的微操作序列的安排也不同,它将直接影响到微操作信号形成部件的设计。2/5/202364

1.单总线结构CPU内部采用单总线IBUS将寄存器和算术逻辑运算部件连接起来。CPU、主存、I/O设备也通过一组单总线(系统总线)连接起来。在单总线结构中,CPU内部的任何两个部件间的数据传送都必须经过单总线IBUS,因此单总线结构的控制比较简单,但传送速度受到限制。在一些微、小型机中常采用这种结构。2/5/202365单总线结构的CPU2/5/2023662.

双总线结构CPU内部通过B总线(接收总线)和F总线(发送总线),将寄存器和算术逻辑运算部件连接起来。各寄存器可通过控制门,建立寄存器与总线之间的联系。CPU通过地址总线ABUS和数据总线DBUS与主存、I/O设备连接。2/5/202367双总线结构的CPU2/5/2023683.指令流程分析指令流程:指令的操作过程。对指令流程的影响因素:指令功能、寻址方式、数据通路、ALU的功能、指令执行的基本步骤等。2/5/202369①指令功能功能不同,操作数的数量不同,指令流程不同。②寻址方式不同,寻找操作数的过程不同。③数据通路不同,传送数据时的控制过程不同。④ALU的功能不同,指令的执行步骤不同。⑤不同的指令,执行时的基本步骤不同。如访存指令,需要访问存储器;R—R型指令不需要访存。2/5/202370例6.1分析单总线结构的CPU中,指令

ADD(R1),R0

的指令流程。设第一操作数源操作数,第二操作数目的操作数。指令功能:((R1))+(R0)→R0运算器功能:F=A+B,F=A-B,F=A+1,F=A-12/5/202371单总线结构的CPU2/5/202372指令流程如下:(1)(PC)→MAR,Read,(PC)+1→Z

;送指令地址,读主存(2)(Z)→PC;PC+1→PC(3)M→MDR→IR;取指令到IR(4)(R1)→MAR,Read;送源操作数地址(5)M→MDR→Y;取出源操作数到Y中(6)(Y)+(R0)→Z;执行加法运算,结果暂存Z(7)(Z)→R0;加法结果送回目标寄存器2/5/202373例:分析单总线结构的CPU中,转移指令JCD的指令流程。解:指令功能:IFC=1THEN(PC)+D→PC指令流程如下:(1)(PC)→MAR,Read,(PC)+1→Z

;送指令地址,读主存(2)(Z)→PC;PC+1→PC(3)M→MDR→IR;取指令到IR(4)IFC=1(PC)→Y;送当前指令地址(5)(Y)+IR(D部分)→Z;计算转移地址(6)(Z)→PC

;下条指令实现转移操作码D2/5/202374根据指令流程还需要作进一步的控制信息分析例:分析单总线结构的CPU中指令ADDX(R1),(R2)+

的指令流程和控制信号序列。指令格式为两字节指令,第二字节为变址值X。源操作数采用变址寻址,目的操作数采用自增型变址寻址。指令功能:(X+(R1))+((R2))→(R2),(R2)+1→R2指令码X控制信息分析2/5/202375IDIRPCR0R1MARMDRTEMPYZIRoutIRinPCoutPCinR0outR0inR1outR1inMARinMARoutMDRinTEMPoutTEMPinYin0→YZoutADDSUB1→CinZin主存ReadWrite…AB2/5/202376指令流程控制信号流程操作功能(1)(PC)→MAR,Read,

(PC)+1→ZPCout,MARin,Read,0→Y,1→Cin,ADD,Zin读指令操作码(2)(Z)→PCZout,PCinPC+1→PC(3)(M→MDR)(MDR)→IRMDRout,IRin(4)(PC)→MAR,Read,(PC)+1→ZPCout,MARin,Read,0→Y,1→Cin,ADD,Zin读变址值X,写入暂存器YPC+1→PC(5)(Z)→PCZout,PCin(6)(MDR)→YMDRout,Yin(7)(Y)+(R1)→ZR1out,ADD,Zin计算源操作数变址值(8)(Z)→MAR,ReadZout,MARin,Read读源操作数2/5/202377(9)(MDR)→TEMPMDRout,TEMPin源操作数送临时寄存器(10)(R2)→MAR,Raad,(R2)+1→ZR2out,MARin,Raed,0→Y,1→Cin,ADD,Zin读目的操作数,R2自增送Z(11)(Z)→R2Zout,R2in(R2)+1→R2(12)MDR→YMDRout,Yin目的操作数送Y(13)(Y)+(TEMP)→ZTEMPout,ADD,Zin两操作数相加(14)(Z)→MDR,WriteZout,MDRin,Write按现行地址写回结果2/5/202378例6.2分析双总线结构的CPU中,执行加法指令:ADD(R1),R0的操作流程和控制信号序列。

ALU的功能有:F=A+B(ADD),F=A-B(SUB),

F=A+1(INC),F=A-1(DEC),指令功能:(R0)+((R1))→R0

分析:在执行本条加法指令时,从取指令到产生结果,共需访问存储器2次,第1次读取指令,第2次读取源操作数。2/5/202379双总线结构的CPU2/5/202380操作流程和控制信号序列

2/5/202381例6.3分析双总线结构的CPU中,指令

SUBX(R1),(R2)+的指令流程和控制信号序列。ALU的功能有:F=A+B(ADD),F=A-B(SUB),

F=A+1(INC),F=A-1(DEC)指令格式为两字节指令,第二字节为变址值X。源操作数的有效地址:E1=X+(R1)目的操作数的有效地址:E2=(R2),(R2)+1→R2。指令功能:(E2)-(E1)→E2可通过总线连接器G将总线B的信息直接传到F总线。其控制信号为Gon。指令码X2/5/2023822/5/202383(1)~(3)为取指令阶段,(4)~(6)是取变址值X的流程,(7)~(8)计算形式地址,取出源操作数(9)~(11)为取目的数阶段(12)~(13)进入指令的执行阶段。整个指令流程执行结束后,共访问存储器5次。如果双总线结构的CPU中没有总线连接器G,则ALU需要增加功能:F=B在控制信号流程中,可以将Gon信号改为F=B。2/5/202384作业P3046.5(3)2/5/202385例:在双总线结构的机器中,分析转子指令:JSRX的执行过程。设机器中没有总线连接器,ALU的功能为:F=A+B,F=A-B,F=A+1,F=A-1,

F=A,F=BJSR为双字节指令,X为子程序入口地址,在第二字节。转子指令的功能:将断点地址保存到堆栈中,将X送入PC,实现程序转移。JSRX2/5/202386指令流程控制信号流程操作功能(1)(PC)→MAR,Read,(PC)→YPC→B,F=B,F→MAR,Read,F→Y读指令操作码(2)(Y)+1→PCF=A+1,F→PCPC+1→PC(3)(MDR)→IRMDR→B,F=B,F→IR(4)(PC)→MAR,Read,(PC)→YPC→B,F=B,F→MAR,Read,F→Y读X,写入暂存器(5)(Y)+1→PCF=A+1,F→PCTEMP(6)(MDR)→TEMPMDR→B,F=B,F→TEMPPC+1→PC(7)(SP)→YSP→B,F=B,F→Y(8)(Y)-1→SPMARF=A-1,F→SP,F→MARSP-1→SP(9)(PC)→MDR,WritePC→B,F=B,F→MDR,Write断点压入堆栈(10)(TEMP)→PCTEMP→B,F=B,F→PCX→PC,实现转移2/5/202387上题中,如果ALU的功能增加为F=A+B,F=A-B,

F=A+1,F=A-1,

F=B+1,F=B-1,

F=A,F=B没有暂存器TEMP指令执行过程与指令功能、寻址方式、数据通路、ALU功能等紧密相关。2/5/202388指令流程控制信号流程操作功能(1)(PC)→MAR,Read,PC→B,F=B,F→MAR,Read读指令操作码(2)(PC)+1→PCPC→B,F=B+1,F→PC(PC)+1→PC(3)(MDR)→IRMDR→B,F=B,F→IR(4)(PC)→MAR,Read,PC→B,F=B,F→MAR,Read读X,写入暂存器Y(5)(PC)+1→PCPC→B,F=B+1,F→PC(6)(MDR)→YMDR→B,F=B,F→Y(PC)+1→PC(7)(SP)-1→SPMARSP→B,F=B-1,F→SP,F→MAR(SP)-1→SP(8)(PC)→MDR,WritePC→B,F=B,F→MDR,Write断点压入堆栈(9)Y→PCF=A,F→PCX→PC,实现转移2/5/202389作业在双总线结构的机器中,写出转子返回指令RET的操作序列及控制信号序列。设机器中没有总线连接器,ALU的功能为:F=A+B,F=A-B,F=A+1,F=A-1,

F=A,F=B返回地址保存在堆栈中。堆栈为自底向上生长。2/5/202390某计算机的运算器为三总线(B1、B2、B3)结构,B1和B3通过控制信号G连通。算术逻辑部件ALU具有ADD、SUB、AND、OR、XOR等5种运算功能,其中SUB运算时ALU输入端为B1-B2模式,移位器SH可进行直送(DM)、左移一位(SL)、右移一位(SR)3种操作。通用寄存器R0、R1、R2都有输入输出控制信号,用于控制寄存器的接收与发送。2/5/202391试分别写出实现下列功能所需的操作序列。(1)4(R0)+(R1)→R1(2)[(R2)-(R1)]/2→R1(7)0→R0解:(1)①R0→B2,

R0→B1,ADD,SL,Gon②R1

→B2,ADD,DM,B3

→R1(2)R2→B1

R1→B2SUB

SRB3→

R1(3)R0→B1

R0→B2XORDMB3→

R02/5/2023926.4模型机的总体结构以模型机为例,进一步了解控制器的控制原理和设计方法,建立计算机的整机结构。2/5/2023932/5/2023946.4.1模型机的数据通路1.字长:16位2.总线结构:①内部总线:双总线结构BUS1:输入总线,BUS2:输出总线○:输出控制门信号,如MDR→BUS1CP:输入控制信号,如CPY②系统总线:地址总线:ABUS,数据总线:DBUSI/O与主存共享总线,用MREQ控制访存;用IOREQ控制访问I/O,R/W=1,读,R/W=0,写2/5/2023953.寄存器程序可用寄存器内部寄存器编号寄存器名寄存器名000R0MAR001R1MDR010R2IR011R3TEMP100SPY111PC2/5/2023964.ALU的功能由SN74181构成,在控制信号S3~S0及M、C0的控制下,可完成16种逻辑运算和16种算术运算。M=0:算术运算M=1:逻辑运算2/5/2023975.状态标志用于记录运算结果特征,可作为转移判断条件Cc:进位标志,打入脉冲:CPCcCz:为零标志,打入脉冲:CPCz6.移位器采用斜送方式实现移位传递,直送方式实现直接传递。移位控制信号DM直送SL左移一位SR右移一位EX字节交换≥1FnAn+1SLAn-1AnDMSR2/5/2023987.模型机的编址主存按字编址,容量64K字,字长16位,

16位地址可寻址64K。2/5/2023996.4.2模型机的指令系统1.指令格式⑴双操作数指令包括:MOV、ADD、SUB、AND、OR、EOR150OP寻址方式RS寻址方式RD4位3位3位3位3位源地址ES目的地址ED2/5/2023100包括:INC、COM、ROL、ROR150OP000备用寻址方式RD4位指令特征3位3位3位目的地址ED⑵单操作数指令2/5/2023101转移指令采用相对寻址:转移地址=(PC)+DD采用补码,进行运算时,需进行符号扩展包括:JMP(无条件转移)、JC(C=1转移)、JZ(Z=1转移)、JSR(转子)转子指令JSR的操作:(SP)-1→SP、MAR,(PC)→MDR,Write((MDR)→存储器)(PC)+D→PC150OP位移量D4位12位⑶转移指令保存返回地址2/5/2023102⑷返回与停机指令返回与停机指令均为零地址指令OP000未用000未用特征特征2/5/2023103子程序RTS返回指令的功能是:从子程序返回主程序返回指令RTS的操作:

(SP)→MAR,ReadM→MDR→PC(SP)+l→SPHALT停机指令的功能是:0→RUN,将时钟信号截断。返回地址送PC2/5/20231042.指令系统为了简单起见,模型机的指令系统中只有16条指令,包括了传送指令、算逻指令、转移指令、转子与返回指令和停机指令等五类指令。2/5/20231052/5/20231063.寻址方式方式编码表示方式有效地址寄存器寻址000Rn无需访存寄存器间址001@Rn或(Rn)E=(Rn)自增型寄存器间址010(Rn)+E=(Rn),然后(Rn)+1→Rn自减型寄存器间址011-(Rn)E=(Rn)-1,并且(Rn)-1→Rn变址寻址100X(Rn)E=X+(Rn)除自减型寄存器间址不能使用PC外,其余寻址方式均可以使用所有可编程寄存器。2/5/2023107在自增型寄存器间址中若Rn=SP,则(SP)+为堆栈中的弹出数据操作。若Rn=PC,则为立即寻址,立即数保存在该指令的下一单元中。注意:如果目的操作数采用立即寻址,则有可能使指令数据不安全。自减型寄存器间址中若Rn=SP,则-(SP)

为堆栈中的压入数据操作。K操作码K+1X2/5/2023108变址寻址的指令为双字,取指后需两次访存才能得到操作数。取指令操作码后(PC)→MAR,Read;送X的地址,读X(PC)+1→PC;PC增量M→MDR→Y;取X值到Y(Y)+(Rn)→MAR,Read;形成有效地址,读操作数变址寻址中,若Rn=PC,则为相对寻址。K操作码K+1X2/5/20231096.4.3模型机的时序系统模型机采用同步控制方式、三级时序逻辑系统,即利用周期、节拍、脉冲构成控制时序。1.模型机的机器周期

每个机器周期内可以完成一次主存的读/写操作。模型机设置六种机器周期取指周期FT:完成取指、分析、(PC)+1→PC取源周期ST:执行双操作数指令时,完成源操

作数的寻址,取源操作数。

(寄存器寻址时不用)2/5/2023110取目的周期DT:完成目的操作数的寻址,取

目的操作数。执行周期ET:完成指令操作,并保存结果。中断周期IT:处理中断请求DMA周期DMAT:实现DMA传送。本章暂不讨论2/5/2023111CPU中任何时候都只能有一个周期存在,可以用六个状态标志表示CPU当前进入了哪一个周期。可用六个触发器表示六种不同的周期状态。TEND•P为各触发器的打入脉冲,表示在每个机器周期的最后一个时钟脉冲时,发出打入脉冲。2/5/20231122.模型机的节拍与时序

节拍用于在一个周期中产生不同的微操作信号。每个周期中设置四个节拍T0、T1、T2、T3。为节省节拍,在取目的周期DT和执行周期ET中安排两种节拍产生方式。根据微操作的需要,可选择两个节拍,也可选择四个节拍。2/5/2023113节拍由节拍发生器产生,用两位T型触发器C1、C2构成模4计数器,经译码产生四个节拍电位T0、T1、T2、T3。触发器C1的T端固定接高电位,每来一个脉冲计一次数。触发器C2的T端受或门的输出控制。2/5/20231142/5/2023115通过分析指令流程可知:当现行指令的目标寻址为非变址寻址时,在DT中不进入T2拍,只需T0、T1两个节拍。单操作数指令、MOV指令、双操作数指令的目标寻址为寄存器寻址(DR=1)以及转移类指令、停机指令在执行周期ET中只需两个节拍,不需进入T2。上述情况应封锁C2计数。上图中触发器C1的T端固定接高电位,每来一个脉冲计一次数。触发器C2的T端受或门的输出控制,或门用于控制发出的节拍数。2/5/20231163.脉冲模型机在每个节拍内设置一个工作脉冲。如CPIR、CPPC等均为脉冲信号。脉冲的作用:⑴用于寄存器接收代码。如各寄存器的CP脉冲。⑵用于周期、节拍的转换。脉冲的前沿用于寄存器接收数据。脉冲的后沿用于周期、节拍的转换。2/5/2023117模型机的三级时序关系

2/5/2023118PC→BUS1CPPCBUSiBUS1BUS2PCiDCPCPMARBUSiMARiDCPALUA移位器DMiS3~S0M例:(PC)→MAR所需信号①PC→BUS1=1②S3S2S1S0M=11111③DM=1④CPMAR①②③是电位信号,需在一个节拍内有效;

④是脉冲信号,其前沿将数据打入,后沿变换节拍。节拍脉冲2/5/20231192/5/20231206.5组合逻辑控制器的设计用组合逻辑方法设计控制器的微操作控制信号形成部件,需要根据每条指令的要求,让节拍电位和脉冲有步骤地去控制机器的有关部件,一步一步地依次执行指令所规定的微操作序列,从而在一个指令周期内完成一条指令所规定的全部操作功能。2/5/20231216.5.1组合逻辑控制器的设计步骤在设计控制器之前,需由计算机系统结构设计人员设计好机器的指令系统、数据表示、时序系统,在此基础上,才能进行控制器的硬件线路设计。组合逻辑控制器设计的设计步骤:1.分析指令的执行步骤,绘制指令操作流程图分析指令操作流程的目的是确定指令执行的具体步骤,决定各步所需的控制命令。2/5/2023122指令操作流程图:根据机器指令的结构格式、数据表示方式及各种运算的算法,把每条指令的执行过程分解成若干功能部件能实现的基本微操作,并以图的形式排列成有先后次序、相互衔接配合的流程。指令流程图可以比较形象、直观地表明一条指令的执行步骤和基本过程。2/5/2023123绘制指令流程图的两种思路。①

以指令为线索,按指令类型分别绘制各条指令的流程。这种方法对一条指令的全过程有清晰的线索,易于理解。②

以周期为线索,按机器周期拟定各类指令在本周期内的操作流程,再以操作时间表形式列出各个节拍内所需的控制信号及它们的条件。这种方法便于微操作控制信号的综合、化简,容易取得优化结果。为理解控制器设计方法,模型机设计基本采用了后一种方法。2/5/2023124指令操作时间表:把指令流程图中的各个微操作具体落实到各个机器周期的相应节拍和脉冲中去,并以微操作控制信号的形式编排成一张表。指令操作时间表用于形象地表明控制器应该在什么时间,根据什么条件发出哪些微操作控制信号。指令操作时间表是指令流程图的进一步具体化。2.编排指令操作时间表3.进行微操作综合对操作时间表中各个微操作控制信号分别按其条件进行归纳、综合,列出其综合的逻辑表达式,并进行适当的调整、化简,得到比较合理的逻辑表达式。2/5/20231254.设计微操作控制信号形成部件根据各个微操作控制信号的逻辑表达式,用硬件逻辑电路加以实现。实现方法:①根据逻辑表达式画出逻辑电路图,用组合逻辑网络实现②直接根据逻辑表达式用PLD器件如PLA、PAL、GAL等实现。2/5/20231266.5.2模型机的设计1.指令流程图和指令操作时间顺序涉及访存的周期通常需要有4个节拍,其中3个节拍用于访存取数,1个节拍用于操作和判断。各节拍的操作为:T0:将访存地址送入MART1:发访存请求信号和读信号,从主存读出信息

送入MDRT2:将读出信息从MDR传送到有关寄存器。T3:进行相关操作和判断2/5/2023127因为任何指令都必须进入取指周期,所以取指操作也称为取指公操作。在取指周期内,各节拍的操作为:FT0:指令地址→MARFT1:读指令→MDR,PC+1→PCFT2:将MDR中的现行指令传送到IR,并由ID进行

译码。FT3:根据指令译码结果进行判断,以确定下面应

进入哪个机器周期。1)取指周期(FT)操作流程图2/5/2023128取指公操作流程

指令系统指令格式寻址方式2/5/2023129在FT3节拍中,首先判断所取指令是否为转移类指令。模型机中共定义了4条转移指令:指令操作码IR15IR14IR13IR12JP1010JC1011JZ1100JSR1101直接进入执行周期ETJUMP=JP_op+JC_op+JZ_op+JSR_op=IR15(IR14⊕IR13)2/5/2023130如果源(SR)和目的(DR)操作数均采用寄存器寻址,也可以直接进入执行周期ET;否则,如果为双操作数指令需进入取源周期ST;如果为单操作数指令需进入取目的周期DT。指令有源操作数SR时:IR11IR10IR9表示寻址方式指令有目的操作数DR时:IR5IR4IR3表示寻址方式令SR=IR11IR10IR9DR=IR5IR4IR3SR·DR操作数寻址情况00源和目的均不是寄存器寻址01源不是寄存器寻址,目的是寄存器寻址10源是寄存器寻址,目的不是寄存器寻址11源和目的均是寄存器寻址进入ST进入DT进入ET2/5/2023131取指操作时间表节拍控制电位信号控制脉冲信号FT0PC→BUS1,S3S2S1S0M,DMCPMAR[P]FT1MREQ,R/W=1,PC→BUS1,S3S2S1S0M,C0=1,DMCPPC[P]FT2MDR→BUS1,S3S2S1S0M,DMCPIR[P]FT31→ST[JUMP·SR]1→DT[JUMP·SR·DR]1→ET[JUMP+SR·DR]CPFT[P]CPST[P]CPDT[P]CPET[P]TEND·PP表示时钟脉冲的前沿(上升沿)起作用。P表示时钟脉冲的后沿(下降沿)起作用。运算器功能结构图取指流程2/5/20231322)取源周期(ST)的操作流程图双操作数指令的源寻址方式为非寄存器寻址时,需进入取源周期,完成源操作数寻址并取源操作数。取出的源操作数暂存在暂存器TEMP中。不同寻址方式有效地址形成方法不同,因此操作流程也不同。由于变址寻址是到主存取出变址值,形成有效地址后再取数,需访问两次主存。因此,当源寻址为变址寻址时,取源周期需重复一次。在取源周期ST的T3建立Repeat信号和1→ST信号,可重复进入ST。在重复的ST的T3,将Repeat信号清除,即可进入下一个周期。2/5/20231332/5/2023134⑴源操作数采用寄存器间接寻址:ST0:寄存器中的地址信息→MARST1:读主存数据→MDRST2:(MDR)→TEMPST3:根据是否需要读目的操作数,判断应进入

执行周期还是取目的周期。2/5/2023135⑵源操作数采用变址寻址:由于变址寻址需到主存取出变址值,再形成有效地址,所以需两次访问主存,即需重复执行一次取源周期。①第一取源周期:读变址值→Y,并在T3时,建立Repeat信号和1→ST信号,使之重复进入ST。②重复取源周期:计算有效地址,读入数据→TEMP,并在重复ST的T3时,将Repeat信号清除,以便进入下一个周期。2/5/2023136源操作数寻址方式的判断条件:寄存器间接寻址:(RS)=IR11IR10IR9自增型寄存器间接寻址:(RS)+=IR11IR10IR9自减型寄存器间接寻址:-(RS)=IR11IR10IR9变址寻址:XS=IR11IR10IR92/5/2023137取源操作时间表ST02/5/2023138取源操作时间表ST12/5/2023139取源操作时间表ST2、ST32/5/20231403)取目的周期(DT)的操作流程图当双操作数指令和单操作数指令的目的寻址方式为非寄存器寻址时,进入取目的周期完成目的操作数地址的寻址并读取目的操作数。由于目的操作数在执行周期才送入ALU的A输入端运算,所以取出的目的操作数暂不传送,而保留在MDR中,因此对于非变址寻址的寻址方式只安排两个节拍即可完成操作。MOV指令的目的寻址为非寄存器寻址时,也需进入目的周期,但因MOV指令只需传送目的地址而不需取目标操作数,因而操作比较简单。2/5/2023141非MOV指令的DT周期2/5/2023142MOV指令的DT周期2/5/2023143取目的操作时间表DT02/5/2023144取目的操作时间表DT12/5/2023145取目的操作时间表DT2、DT32/5/20231464)执行周期(ET)的操作流程图由于不同指令具有不同的操作功能,不同的寻址方式,操作数有不同的来源,因此不同指令在执行周期的操作流程也各不相同,需要按不同的指令绘制执行周期的操作流程图。对于多数指令,执行周期的操作均可在两拍内完成,所以多数指令的执行周期内只设两个节拍。但对于JSR、RTS以及双操作数指令的目的寻址为非寄存器寻址(即DR=0)时,因为需要访存,所以在执行周期内设四个节拍来完成。在模型机的节拍发生器中,通过控制触发器C2的T输入端,可以选择执行周期的节拍数。2/5/2023147⑴传送指令的执行周期流程图传送指令在执行周期中的功能是:将源操作数送入目的寄存器或存储单元。传送操作均可在两个节拍内完成。①SR、DR=11或01,目的操作数为寄存器,不用访存。执行:(RS)→RD,或(TEMP)→RD。②SR、DR=10或00,目的操作数为存储器单元,需要访存。执行:(RS)→MDR,或(TEMP)→MDR,写主存。2/5/20231482/5/2023149执行周期的结束,意味着一条指令的执行完毕。在一条指令执行结束时,机器需自动检测有没有意外情况(如电源失效)和特殊请求(如中断请求)发生。若有,需进入相应周期进行处理;若没有,则机器又进入取指周期读取下条指令。流程图中的END框即表示一条指令执行结束,进行结束后的检测。检测操作均在执行周期的最后一个节拍内完成。2/5/20231502/5/2023151⑵双操作数指令的执行周期流程图双操作数指令的执行周期的功能是:将源操作数与目的操作数进行指定的操作后送入目的寄存器或存储单元。①SR、DR=11或01,目的操作数为寄存器,不用访存。执行:(RS)或(TEMP)→Y,(RD)OP(Y)→RD。可在两个节拍内完成。②SR、DR=10或00,目的操作数为存储器单元,需要访存。执行:(RS)或(TEMP)→Y,(MDR)OP(Y)→MDR,写主存。需要在四个节拍内完成。2/5/20231522/5/2023153⑶单操作数指令的执行周期流程图单操作数指令的执行周期的功能是:将目的操作数进行指定的操作后送入目的寄存器或存储单元。操作均可在两个节拍内完成。①DR=1,目的操作数为寄存器,不用访存。执行:(RD)OP→RD。②DR=0,目的操作数为存储器单元,需要访存。执行:(MDR)OP→MDR,写主存。2/5/20231542/5/2023155⑷转移指令的执行周期流程图模型机的转移指令均采用相对寻址。非转子指令的执行周期的功能是:将PC中的内容与指令中给出的位移量相加得到转移目的地址送入PC,实现转移。操作均可在两个节拍内完成。JP:PC→Y,(Y)+IR(D)→PCJC、JZ:先判断CC或CZ,若为1,满足转移条件,则执行(Y)+IR(D)→PC,否则指令执行结束。2/5/20231562/5/2023157⑸转子和返回指令的执行周期流程图转子(JSR)和返回(RTS)指令在执行周期中不仅要改变PC的内容,而且需要进行断点保护或恢复断点的工作。需要在四个节拍内完成。JSR:(SP)-1→SP和MAR,PC→MDR和Y,写主存,(Y)+IR(D)→PCRTS:(SP)→MAR,(SP)+1→SP,读主存,(MDR)→PC2/5/20231582/5/2023159⑹停机指令的执行周期流程图停机指令(HALT)的执行周期的功能是使机器暂停执行。执行:0→RUN2/5/2023160模型机严格按照周期、节拍工作,根据各指令所需的周期数和各周期所需的节拍数,可以计算每条指令所需的节拍数。例:计算指令ADDR0,R1所需的周期和节拍数。解:∵R0,R1采用寄存器寻址,∴需要取指和执行两个周期。∵FT周期需4个节拍,ET周期需2个节拍∴共需6个节拍取指流程执行周期2/5/2023161例:计算指令ADDX1(R0),X2(R1)所需的周期和节拍数。解:周期取指取源(变址,重复)取目的(变址,重复)执行(双操作数,需写主存)共6个周期节拍44,44,24共22个节拍取指流程执行周期取源流程取目周期流程2/5/2023162例:模型机中程序的执行过程。其中内存单元地址和内容均用十六进制表示。寄存器:R0:0200H,PC:0080H主存:地址内容对应指令地址内容对应指令0080H0202HMOV(R0),R20086H03FFH0081H14A7HADD(R2)+,X(PC)0087HFC00H0082H0004H0004H0088H……0083H6012HINC(R2)+0084HC0A8HJZFA8H002DH0081HMOVR2,R10085HF000HHALT0200H0086H2/5/2023163启动机器(PC)→MAR读主存(PC)+1→PC(MDR)→IR1→ST(R0)→MAR读主存FT0FT1FT2FT3ST0ST10080H→MAR0081H→PC0202H→MDR0202H→IR,MOV(R0),R2进入取源周期0200H→MAR0086H→MDR(MDR)→TEMPST20086H→TEMP1→ETST3目的是寄存器寻址进入执行周期2/5/2023164(TEMP)→R2ET0ET10086H→R2取下一条指令1→FT(PC)→MAR读主存(PC)+1→PC(MDR)→IR1→STFT0FT1FT2FT30081H→MAR0082H→PC14A7H→MDR14A7H→IR,ADD(R2)+,X(PC)进入取源周期(R2)→MAR读主存(R2)+1→R2ST0ST10086H→MAR0087H→R203FFH→MDR2/5/2023165(MDR)→TEMPST203FFH→TEMP1→DTST3目的是变址寻址进入取目的周期(PC)→MAR读主存(PC)+1→PCDT0DT10082H→MAR(MDR)→YDT20004H→Y1→DT1→RepeatDT3变址寻址,再次进入取目的周期0083H→PC0004H→MDR(Y)+(PC)→MAR读主存1→ET0→RepeatDT0DT10087H→MARFC00H→MDR进入执行周期2/5/2023166(TEMP)→YET0ET103FFH→YFC00H+03FFH=FFFFH→MDR(MDR)+(Y)→MDRET3取下一条指令1→FT写主存ET2FFFFH→内存0087H单元(PC)→MAR读主存(PC)+1→PC(MDR)→IR1→DTFT0FT1FT2FT30083H→MAR0084H→PC6012H→MDR14A7H→IR,INC(R2)+进入取目的周期2/5/2023167(R2)→MAR读主存(R2)+1→R21→ETDT0DT10087H→MAR0088H→R2FFFFH→MDR进入执行周期(MDR)+1→MDRET0ET1FFFFH+1=0→MDR,1→Z0→内存0087H单元取下一条指令写主存1→FT(PC)→MAR读主存(PC)+1→PC(MDR)→IRFT0FT1FT20084H→MAR0085H→PCC0A8H→MDRC0A8H→IR,JZ0A8H2/5/2023168(PC)→YET0ET10085H→Y0085H+0A8H=0085H+FFA8H

002DH→PC取下一条指令(Y)+IR(D)→PC1→FT…1→ETFT3进入执行周期2/5/20231693.微操作控制信号综合指令操作时间表根据指令流程、时序系统和数据通路结构,列出了实现整个指令系统的全部操作控制信号。将同一种控制信号在不同时间下产生的条件进行归纳、综合、化简后,就可写出该控制信号的综合逻辑表达式。逻辑表达式中包括下列因素:微操作控制信号=F(周期、节拍、脉冲、指令、状态条件)2/5/2023170例:读信号(R/W)的逻辑表达式例:脉冲信号CPTEMP的逻辑表达式例:脉冲信号PC→BUS1的逻辑表达式2/5/2023171可用一个触发器产生重复周期信号RepeatReset信号使Repeat=0。进入ST或DT后,若需要重复周期,就使CPRepeat有效,Repeat=1。QQRepeatCPDRResetCPRepeat2/5/2023172在重复周期还需要CP脉冲,使Repeat翻转为0。CPRepeat的逻辑表达式Repeat信号与其他信号的时间关系2/5/20231734.控制信号形成电路将逻辑表达式经逻辑综合、化简得到各个微操作控制信号的比较合理的表达式后,即可设计实现电路。1)用组合逻辑电路实现将各微操作控制信号用组合逻辑电路实现,就构成了组合逻辑控制器的微操作控制信号形成部件。在实际设计过程中,用硬件实现逻辑电路图时,有时受逻辑门的扇入系数限制,需要修改逻辑表达式,此时就可能要增加逻辑电路。如果信号所经过的级数也增加的话,还将增加延迟时间。另外在实现时还有负载问题。2/5/2023174例:读信号(R/W)的逻辑电路图2/5/20231752)用PLA器件实现可编程逻辑阵列PLA电路是由与阵列和或阵列组成,电路的输出为输入项的与或式。经微操作综合而得到的微操作控制信号的逻辑表达式基本上都是与或表达式,因而可很方便地用PLA电路实现。2/5/2023176例:用PLA器件实现下列逻辑函数2/5/2023177当用PLA器件实现模型机控制信号逻辑时,则将指令码、机器周期、节拍、脉冲及某状态条件作为PLA器件的与阵列输入信号,按微操作信号综合所得的逻辑表达式分别对与阵列、或阵列进行编程,即可由或阵列输出各个控制信号。2/5/20231782/5/20231796.6微程序控制器原理6.6.1微程序控制器概述组合逻辑控制器的缺点①繁琐、杂乱,缺乏规律性,设计效率低,不利于检查调试。②不易修改和扩充,缺乏灵活性。因为设计结果用印刷电路板(硬连逻辑)固定下来以后,就很难再修改与扩充。2/5/2023180微程序设计思想微程序控制的基本概念每一条指令都对应着自己的微操作序列,每一条指令的执行过程,都可以划分为若干基本的微操作。把各条指令的微操作序列,以二进制编码字(称为微指令)的形式编制成程序(称为微程序),并存放在一个存储器(称为控制存储器)中。执行指令时,通过读取并执行相应的微程序实现一条指令的功能,微程序设计的实质用程序设计的思想方法来组织操作控制逻辑,用规整的存储逻辑代替繁杂的组合逻辑。2/5/2023181例:模型机中指令ADDR1,R0的指令执行过程及控制信号。(PC)→MAR读主存(PC)+1→PC(MDR)→IR1→ETFT0FT1FT2FT3PC→BUS1,S3S2S1S0M,DM,CPMARMREQ,R/W=1,PC→BUS1,S3S2S1S0M,C0,DM,CPPCMDR→BUS1,S3S2S1S0M,DM,CPIR1→ET,CPET(R1)→YET0ET1R0→BUS1,S3S2S1S0M,DM,CPR0,CPCC,CPCZR1→BUS1,S3S2S1S0M,DM,CPY(R0)+(Y)→R0END2/5/2023182可以利用二进制编码描述操作系列。3位5位1位2位2位3位1位2位BUSinS3S2S1S0MC0SBUS1outBUS2outR/WIO/MBUSin功能000无001RS→BUS1010RD→BUS1011TEMP→BUS1100SP→BUS1101MDR→BUS1110IR(D)→BUS1111PC→BUS1S3S2S1S0M按74181的规定C0功能0C0=01C0=1S功能00DM01SL10SR11EXBUS1out功能00无01CPIR10CPMAR11CPCZ、CPCC2/5/2023183BUS2out功能000无001CPRS010CPRD011CPY100CPSP101CPMDR110CPTEMP111CPPCR/W功能0写1读IO/M功能00无01MREQ=1访存10MREQ=0访I/O2/5/2023184微操作:PC→BUS1,S3S2S1S0M,DM,CPMAR对应的控制信号编码为:1111111100010000×00微操作:MREQ,R/W=1,PC→BUS1,S3S2S1S0M,C0,DM,CPPC对应的控制信号编码为:1111111010000111101微操作:MDR→BUS1,S3S2S1S0M,DM,CPIR对应的控制信号编码为:1011111100001000×002/5/2023185将指令要执行的控制信号用二进制编码字编码后依次存入控制存储器。执行指令时,顺序读出编码字,产生控制命令,即可控制有关部件完成规定的操作。这种控制思想称为微程序控制。微程序设计将软件设计技术应用到硬件设计中,其特点是:应用灵活,

温馨提示

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

评论

0/150

提交评论