控制器原理学习.pptx
2023/3/171本章学习内容控制器的功能与组成控制方式与时序系统CPU的总体结构组合逻辑控制器设计微程序控制器设计第1页/共296页2023/3/1726.1 6.1 控制器概述 控制器和运算器一起组成中央处理器,即CPU(CPU-Central Process Unit)。控制器是计算机的指挥和控制中心,由它把计算机的运算器、存储器、I/O设备等联系成一个有机的系统,并根据各部件具体要求,适时地发出各种控制命令,控制计算机各部件自动、协调地进行工作。控制器的功能是根据事先编好并存放在存储器中的解题程序,控制各部件有条不紊地、自动协调地进行工作。第2页/共296页2023/3/173计算机运行程序的基本过程:1.取指令根据指令地址(由PC提供),从存储器中取出所要执行的指令。2.分析指令 对取出的指令进行译码分析。确定指令应完成的操作,产生相应操作的控制电位,参与形成该指令功能所需要的全部控制命令(微操作控制信号)。根据寻址方式的分析和指令功能要求,形成操作数的有效地址,并按此地址取出操作数据(运算型指令)或形成转移地址(转移类指令),以实现程序转移。指令执行的基本步骤 第3页/共296页2023/3/1743.执行指令:根据指令分析所产生的操作控制信号和形成的有效地址,按一定的算法形成指令操作控制序列,控制有关部件完成指令规定的功能。一条指令执行结束,若没有异常情况和特殊请求,则按程序顺序,再去取出并执行下一条指令。控制器的主要功能就是按取指令、分析指令、执行指令这样的步骤进行周而复始的控制过程,直到完成程序所规定的任务并停机为止。第4页/共296页2023/3/175指令ADD AADD A,R R7 7的执行过程 第5页/共296页2023/3/176控制器的基本功能1控制指令的正确执行包括指令流出的控制,分析指令和执行指令的控制,指令流向的控制。指令流出控制(对取指令的控制)取指令时需进行的操作(PC)MAR,Read ;给出指令地址,并向MEM发 出读命令(MDR)IR ;读出的指令经MDR存放到指 令寄存器IR中(PC)增量PC ;为取下一条指令作准备第6页/共296页2023/3/177 分析指令和执行指令的控制IR中的指令经指令译码器(ID)译码分析,确定操作性质,判明寻址方式并形成操作数的有效地址。控制器根据分析的结果和形成的有效地址产生相应的操作控制信号序列,控制有关的部件完成指令所规定的操作功能。例:设某指令的IR15IR120000时为MOV指令,则 MOV 的控制信号为:第7页/共296页2023/3/178 指令流向的控制指令流向控制即下条指令地址的形成控制。按指令序列顺序执行时,通过PC自动增量形成下条指令的地址。当需要改变指令流向时,需改变程序计数器PC中的内容。转移指令的执行:把形成的转向地址送入PC;转子指令的执行:把子程序入口地址送入PC;中断处理:将中断服务程序入口地址送入PC。为了正确返回,转子和中断还需保留PC被改变之前的内容(即返回地址)。第8页/共296页2023/3/1792.控制程序和数据的输入及结果的输出为完成某项任务而编制的程序及所需数据,必须通过某些输入设备预先存放在存储器中,运算结果要用输出设备输出。所以必须由控制器统一指挥,完成程序和数据的输入及结果的输出。3异常情况和特殊请求的处理机器在运行程序过程中,往往可能会遇到一些异常情况(如电源掉电、运算溢出等)或某些特殊请求(如打印机请求传送打印字符等)。这些异常和请求往往是事先无法预测的,控制器必须具有检测和处理这些异常情况和特殊请求的功能。第9页/共296页2023/3/1710宏观上每条指令的执行过程均是取指、译码、执行,但每条指令有不同的操作序列,需要在不同时间产生不同的控制序列,并有严格的时序要求。控制器必须根据不同指令产生不同的控制序列。控制器的主要任务根据不同的指令、不同的状态条件,在不同的时间,产生不同的控制信号,控制计算机的各部件自动、协调地进行工作。第10页/共296页2023/3/1711指令执行的一般流程第11页/共296页2023/3/1712控制器的组成第12页/共296页2023/3/1713指令部件的主要功能是完成取指令和分析指令。程序计数器 PC(指令计数器、指令地址寄存器)程序计数器用于保证程序按规定的序列正确运行,并提供将要执行指令的指令地址。PC的位数应能表示主存的最大容量并与主存地址寄存器MAR的位数相同。程序顺序执行时的PC增量可以通过PC本身的计数逻辑实现,也可以由运算器的ALU实现。1 1指令部件第13页/共296页2023/3/1714(2)指令寄存器 IR指令寄存器用于存放当前正在执行的指令。(3)指令译码器 ID对指令寄存器中的指令操作码进行译码分析,产生相应操作的控制电位,提供给微操作控制信号形成部件。对寻址方式字段进行译码分析,以控制操作数有效地址的形成。(4)地址形成部件根据各种寻址方式,形成操作数有效地址。在一些微、小型机中,为简化硬件逻辑,通常不设置专门的地址形成部件,而是借用运算器实现有效地址的计算。第14页/共296页2023/3/17152 2时序控制部件时序控制部件:用于产生一系列时序信号,为各个微操作定时,以保证各个微操作的执行顺序。从宏观(即程序控制)上看,计算机的解题过程实质上是指令序列即一条条指令的执行过程。从微观(即指令控制)上看,计算机的解题过程是微操作序列即一个个(或一组组)微操作的执行过程。微操作:机器最简单的基本操作一条指令的执行过程可以分解为若干微操作。这些微操作有着严格的时间顺序要求,不可随意颠倒。第15页/共296页2023/3/1716(1)脉冲源脉冲源用于产生一定频率的主时钟脉冲。一般采用石英晶体振荡器作为脉冲源。计算机电源一接通,脉冲源立即按规定频率给出时钟脉冲。(2)启停电路启停电路用于控制整个机器工作的启动与停止。实际上是保证可靠地送出或封锁主时钟脉冲,控制时序信号的发生与停止。第16页/共296页2023/3/1717(3)时序信号发生器时序信号发生器用于产生机器所需的各种时序信号,以便控制有关部件在不同的时间完成不同的微操作。不同的机器,有着不同的时序信号。在同步控制的机器中,一般包括周期、节拍、脉冲等三级时序信号。第17页/共296页2023/3/1718微操作控制信号形成部件:根据指令部件提供的操作控制电位、时序部件所提供的各种时序信号以及有关的状态条件,产生机器所需要的各种微操作控制信号。不同的指令,完成不同的功能,需要不同的微操作控制信号序列。每条指令都有自己对应的微操作序列。控制器必须根据不同的指令,在不同的时间,产生并发出不同的微操作控制信号,控制有关部件协调工作,完成指令所规定的任务。3 3微操作控制信号形成部件第18页/共296页2023/3/17194 4中断控制逻辑(中断机构)用于实现异常情况和特殊请求的处理。第19页/共296页2023/3/1720程序状态寄存器:用于存放程序的工作状态(如管态、目态等)和指令执行的结果特征(如结果为零、结果溢出等),把它所存放的内容称为程序状态字(PSW)。PSW表明了系统的基本状态,是控制程序执行的重要依据。不同的机器,PSW的格式及内容不完全相同。例:8086 CPU中的PSW的格式CF:进位 PF:奇偶 AF:半进位ZF:结果为0 SF:符号 TF:单步(陷阱)IF:中断允许 DF:地址增/减量 OF:溢出5 5程序状态寄存器 PSRPSR1515141413131212111110109 98 87 76 65 54 43 32 21 10 0OFDFIFTFSFZFAFPFCF第20页/共296页2023/3/1721 控制台用于实现人与机器之间的通信联系,如启动或停止机器的运行、监视程序运行过程、对程序进行必要的修改或干预等。早期有硬件控制台,用于设置地址和指令。现在,在大型机中有软件控制台。通过控制台命令,控制机器的启停,干预机器的工作。6 6控制台第21页/共296页2023/3/1722控制器的组成方式主要是指微操作控制信号形成部件采用何种组成方式产生微操作控制信号。根据产生微操作控制信号的方式不同,控制器可分为组合逻辑型、存储逻辑型、组合逻辑与存储逻辑结合型三种,它们的根本区别在于微操作信号发生器的实现方法不同,而控制器中的其他部分基本上是大同小异的。控制器的组成方式第22页/共296页2023/3/17231 1组合逻辑型组合逻辑控制器也称为硬联逻辑或硬布线逻辑。组合逻辑控制器是根据控制要求和状态,采用组合逻辑技术来实现的。其微操作信号发生器是由门电路组成的复杂树形网络构成的。组合逻辑控制器的设计目标:使用最少器件数和取得最高操作速度。优点:速度快。巨型机和RISC机为了追求高速度采用组合逻辑控制器。缺点:微操作信号发生器结构不规整,设计、调试、维修较困难,难以实现设计自动化。一旦控制部件构成之后,要想增加新的控制功能是不可能的。第23页/共296页2023/3/17242 2存储逻辑型存储逻辑型控制器称为微程序控制器。它是采用存储逻辑来实现的。存储逻辑型控制器的实现方法:把微操作信号代码化,使每条机器指令转化成为一段微程序存入控制存储器中。执行指令时,读出控存中的微指令,由微指令产生微操作控制信号。优点:设计规整,调试、维修便利,更改、扩充指令方便,易于实现自动化设计。缺点:由于增加了一级控制存储器,所以指令的执行速度比组合逻辑控制器慢。第24页/共296页2023/3/17253 3组合逻辑和存储逻辑结合型组合逻辑和存储逻辑结合型控制器称为PLA控制器。PLA控制器是吸收前两种的设计思想来实现的。PLA控制器实际上也是一种组合逻辑控制器,但它的输出程序可编的,某一微操作控制信号由PLA的某一输出函数产生。PLA控制器是组合逻辑技术和存储逻辑技术结合的产物,它克服了两者的缺点,是一种较有前途的方法。第25页/共296页2023/3/1726以上几种控制器的设计方法是不同的,但产生的微操作命令的功能是相同的,并且各个控制条件基本上也是一致的,都是由时序电路、操作码译码信号,以及被控部件的反馈信息有机配合而成的。从功能上看,这几种控制器只是微操作信号发生器的结构和原理不同,而外部的输入条件和输出结果几乎完全相同。第26页/共296页2023/3/1727微操作信号发生器第27页/共296页2023/3/1728 6.2 6.2 控制器的控制方式与时序系统计算机执行指令的过程实际上是执行一系列的微操作的过程。每一条指令都对应着一个微操作序列,这些微操作中有些可以同时执行,有些则必须按严格的时间关系执行。控制器的控制方式需解决的问题:如何在时间上对各种微操作信号加以控制。第28页/共296页2023/3/1729控制方式常用的控制方式有同步控制、异步控制和联合控制。1同步控制方式任何指令的运行或指令中各个微操作的执行,均由确定的具有统一基准时标的时序信号所控制。即所有的操作均由统一的时钟控制,在标准的时间内完成。在同步控制方式下,每个时序信号的结束就意味着安排完成的工作已经完成,随即开始执行后续的微操作或自动转向下条指令的运行。第29页/共296页2023/3/1730典型的同步控制方式:以微操作序列最长的指令和执行时间最长的微操作为标准,把一条指令执行过程划分为若干个相对独立的阶段(称为周期)或若干个时间区间(称为节拍),采用完全统一的周期(或节拍)控制各条指令的执行。优点:时序关系简单,控制方便缺点:浪费时间。因为对比较简单的指令,将有很多节拍是不用的,处于等待。所以,在实际应用中都不采用这种典型的同步控制方式,而是采用某些折衷的方案。第30页/共296页2023/3/1731(1)(1)采用中央控制与局部控制相结合的方法中央控制:统一节拍的控制根据大多数指令的微操作序列的情况,设置一个统一的节拍数,使之大多数指令均能在统一的节拍内完成。局部控制:在延长节拍内的控制对于少数在统一节拍内不能完成的指令,采用延长节拍或增加节拍数,使之在延长节拍内完成,执行完毕再返回中央控制。第31页/共296页2023/3/1732例:设某计算机的指令通常用8 8个节拍完成,即有8 8个中央节拍 W W7 7W W0 0,当某指令在8 8个节拍中不能完成时,就插入若干局部节拍 W W6 6*,经过若干局部节拍 W W6 6*后,再返回中央节拍 W W7 7。第32页/共296页2023/3/1733(2)(2)采用不同的机器周期和延长节拍的方法把一条指令执行过程划分为若干机器周期,如取指、取数、执行等周期。根据所执行指令的不同需要,选取不同的机器周期数。在节拍安排上,每个周期划分为固定的节拍,每个节拍都可根据需要延长一个节拍。这种方法可以解决执行不同的指令所需时间不统一问题。在Intel 8088 的指令执行过程中有读写周期、内部周期等,其中读写周期为4个节拍,但可以延长若干个节拍。第33页/共296页2023/3/1734(3)(3)采用分散节拍的方法分散节拍:运行不同指令时,需要多少节拍,时序部件就发生多少节拍。这种方法可完全避免节拍轮空,是提高指令运行速度的有效方法,但这种方法使时序部件复杂化。同时还不能解决节拍内那些简单的微操作因等待所浪费的时间。第34页/共296页2023/3/1735 2 2异步控制方式没有统一的同步信号,采用问答方式进行时序协调,将前一操作的回答信号作为下一操作的启动信号。异步控制方式不仅要区分不同指令对应的微操作序列的长短,而且要区分其中每个微操作的繁简,每条指令、每个微操作需要多少时间就占用多少时间。第35页/共296页2023/3/1736数据间隔可变发送准备好数据已接受这种方式可根据每条指令的操作的实际需要而分配时间,所以没有时间上的浪费,效率高。但设计复杂且费设备。第36页/共296页2023/3/17373 3联合控制方式联合控制是将同步控制和异步控制相结合。联合控制方式的设计思想:在功能部件内部采用同步方式或以同步方式为主的控制方式;在功能部件之间采用异步方式。通常对可以统一的微操作采用同步控制,对难以统一的微操作采用异步控制。第37页/共296页2023/3/1738例如,在微、小型机中,CPU内部基本时序采用同步控制方式,当CPU通过总线与主存或其它外设交换数据时,转入异步控制。当CPU访问外设时,只需给出起始信号,主存或外部设备即按自己的时序信号去安排操作,一旦操作结束,则向CPU发结束信号,以便CPU再安排它的后继工作。第38页/共296页2023/3/1739同步与异步时序的衔接关系当CPU要访主存时,在发读信号READ同时发“等待”信号,等待信号使时序由同步转入异步操作并冻结同步时序,使节拍间的相位关系不再发生变化,直到存储器按自己速度操作结束,并向CPU发回答信号MOC才解除对同步时序的冻结,机器回到同步时序按原时序关系继续运行。第39页/共296页2023/3/1740第40页/共296页2023/3/1741实际上现代计算机中几乎没有完全采用同步或完全采用异步的控制方式,大多数都采用联合控制方式。第41页/共296页2023/3/1742时序系统时序系统是控制器的心脏,由它为指令的执行提供各种定时信号。通常,设计时序系统主要是针对同步控制方式的。1指令周期与机器周期指令周期:从取指令、分析指令到执行完一条指令所需的全部时间。由于各种指令的操作功能不同,繁简程度不同,因此各种指令的指令周期也不尽相同。第42页/共296页2023/3/1743机器周期(CPU周期):指令周期中的某一工作阶段所需的时间。在指令执行过程中,各机器周期相对独立。一条指令的指令周期由若干个机器周期所组成,每个机器周期完成一个基本操作。所以机器周期也称为基本周期。一般机器的CPU周期有取指周期、取数周期、执行周期,中断周期等。第43页/共296页2023/3/1744每个机器周期设置一个周期状态触发器与之对应,机器运行于哪个周期,与其对应的周期状态触发器被置为“1”。显然,机器运行的任何时刻都只能建立一个周期状态,因此同一时刻只能有一个周期状态触发器被置为“1”。不同工作周期所占的时间可以不等。由于CPU内部操作速度快,而CPU访存所花时间较长,所以许多计算机系统往往以主存周期为基础来规定CPU周期,以便二者工作协调配合。第44页/共296页2023/3/1745把一个机器周期等分成若干个时间区间,每一时间区间称为一个节拍。一个节拍对应一个电位信号,控制一个或几个微操作的执行。在一个机器周期内,要完成若干个微操作,这些微操作不但需要占用一定的时间,而且有一定的先后次序。因此,在同步控制方式中,基本的控制方法就是把一个机器周期等分成若干个节拍,每一个节拍完成一步基本操作,如一次传送、一次加减运算等。一个节拍电位信号的宽度取决于CPU完成一个基本操作的时间。2 2节拍第45页/共296页2023/3/1746 节拍提供了一项基本操作所需的时间分段,但有的操作如打入寄存器,还需严格的定时脉冲,以确定在哪一时刻打入。节拍的切换,也需要严格的同步定时。所以在一个节拍内,有时还需要设置一个或几个工作脉冲,用于寄存器的复位和接收数据等。脉冲:一个节拍内设置的一个或几个工作脉冲。3.3.脉冲(定时脉冲)第46页/共296页2023/3/1747周期、节拍、脉冲构成了三级时序系统,它们之间关系如下图所示。图中包括两个机器周期M1、M2,每个周期包含四个节拍W0W3,每个节拍内有一个脉冲P。第47页/共296页2023/3/1748微型机中常用的时序系统与上述三级时序系统有所不同,称之为时钟周期时序系统。下图所示的是一典型指令的基本时序,一个指令周期包含三个机器周期:取指周期、存储器读周期和存储器写周期,三个周期中分别包含4个、3个、3个时钟周期。第48页/共296页2023/3/17496.3 CPU6.3 CPU的总体结构CPU即中央处理器,它包含运算器和控制器两个部分。其功能为:程序控制:控制程序按所要求的次序正确执行。操作控制:控制产生每条指令所需的操作信号,送往有关部件,控制完成指令规定的操作。时序控制:对各种操作实施时间上的定时,使计算机有条不紊地工作。数据加工:对数据进行算逻运算处理。第49页/共296页2023/3/1750 寄存器的设置不同计算机的CPU结构存在差别,但在CPU中一般都设置下列寄存器:(1)指令寄存器 IR(2)程序计数器 PC(3)累加寄存器 AC(4)程序状态寄存器 PSR(5)地址寄存器 MAR(6)数据缓冲寄存器 MDR(或MBR)第50页/共296页2023/3/1751其中、是用户可用的,、是用户不可用的。CPU中还常设置一些程序不能直接访问、用于暂存操作数据或中间结果的寄存器,称为暂存器。第51页/共296页2023/3/1752通用寄存器通用寄存器:一组程序可访问的、具有多种功能的寄存器。在指令系统中,为通用寄存器分配了编号(寄存器地址),可以编程指定使用其中的某个寄存器。通用寄存器自身的逻辑往往很简单并且比较统一,甚至是快速的小规模存储器的一些单元,但通过编程与运算器配合,可指定其实现多种功能,如提供操作数、保存中间结果(即作累加器用),或用作地址指针、基址寄存器、变址寄存器、计数器等。第52页/共296页2023/3/1753数据通路结构及指令流程分析数据通路:信息传送的基本路径。CPU内部的数据通路通常是指运算器与寄存器之间的信息传输通道。数据通路结构直接影响着CPU内各种信息的传送路径。数据通路不同,指令执行过程的微操作序列的安排也不同,它将直接影响到微操作信号形成部件的设计。第53页/共296页2023/3/1754 1 1单总线结构CPU内部采用单总线IBUS将寄存器和算术逻辑运算部件连接起来。CPU、主存、I/O设备也通过一组单总线(系统总线)连接起来。在单总线结构中,CPU内部的任何两个部件间的数据传送都必须经过单总线IBUS,因此单总线结构的控制比较简单,但传送速度受到限制。在一些微、小型机中常采用这种结构。第54页/共296页2023/3/1755单总线结构的CPUCPU第55页/共296页2023/3/17562.2.双总线结构CPU内部通过B总线(接收总线)和F总线(发送总线),将寄存器和算术逻辑运算部件连接起来。各寄存器可通过控制门,建立寄存器与总线之间的联系。CPU通过地址总线ABUS和数据总线DBUS与主存、I/O设备连接。第56页/共296页2023/3/1757双总线结构的CPUCPU第57页/共296页2023/3/17583.3.指令流程分析指令流程:指令的操作过程。对指令流程的影响因素:指令的执行步骤、访问主存的步骤、总线的特点决定了指令流程的分步方式;指令功能不同,操作数的数量不同,指令流程不同。寻址方式不同,寻找操作数的过程不同。数据通路不同,传送数据时的控制过程不同。第58页/共296页2023/3/1759 ALU的功能不同,指令的执行步骤不同。不同的指令,执行时的基本步骤不同。如访存指令,需要访问存储器;RR型指令不需要访存。第59页/共296页2023/3/1760单总线结构中ALU的功能:A+1,A-1,A+B,A-B例6.1 分析单总线结构的CPU中,指令ADD(R1),R0的指令流程。设前一操作数地址为源,后一操作数地址为目的。解:指令功能:(R1)(R0)R0第60页/共296页2023/3/1761指令流程如下:(1)(PC)MAR,Read,(PC)Y(2)(Y)1Z,MMDRIR ;送指令地址,读主存(3)(Z)PC ;PC1PC,取指令到IR(4)(R1)MAR,Read ;送源操作数地址(5)MMDRY ;取出源操作数到Y中(6)(Y)(R0)Z ;执行加法运算,结果暂存Z(7)(Z)R0 ;加法结果送回目标寄存器第61页/共296页2023/3/1762例:分析单总线结构的CPU中,转移指令 JC D 的指令流程。解:指令功能:IF C1 THEN(PC)DPC 指令流程如下:(1)(PC)MAR,Read,(PC)Y(2)(Y)1Z,(MDR)IR ;送指令地址,读主存(3)(Z)PC ;PC1PC,取指令到IR(4)IF C1(PC)Y ;送当前指令地址(5)YIR(D部分)Z ;计算转移地址(6)(Z)PC ;下条指令实现转移操作码操作码D D第62页/共296页2023/3/1763根据指令流程还需要作进一步的控制信息分析例:分析单总线结构的CPU中指令ADD X(R1),(R2)+的指令流程和控制信号序列。指令格式为两字节指令,第二字节为变址值X。源操作数采用变址寻址,目的操作数采用自增型变址寻址。指令功能:(X(R1)(R2)(R2),(R2)1R2指令指令X控制信息分析第63页/共296页2023/3/1764IDIDIRIRPCPCR0R0R1R1MARMARMDRMDRTEMPTEMPY YZ ZIRoutIRinPCoutPCinR0outR0inR1outR1inMARinMARoutMDRinTEMPoutTEMPinYin0YZoutADDSUB1CinZin主存ReadWrite单总线结构中ALU的功能:A+1,A-1,A+B,A-B第64页/共296页2023/3/1765指令流程指令流程控制信号流程控制信号流程操作功能操作功能(1)(PC)MAR(1)(PC)MAR,ReadRead,(PC)(PC)1Z 1Z PCoutPCout,MARinMARin,ReadRead,0Y0Y,1Cin1Cin,ADDADD,Zin Zin 读指令操作码读指令操作码(2)(Z)PC(2)(Z)PC ZoutZout,PCinPCinPCPC1PC1PC(3)(MMDR)(3)(MMDR)(MDR)IR (MDR)IRMDRoutMDRout,IRinIRin(4)(PC)MAR(4)(PC)MAR,ReadRead,(PC)(PC)1Z 1Z PCoutPCout,MARinMARin,ReadRead,0Y0Y,1Cin1Cin,ADDADD,ZinZin(5)(Z)PC(5)(Z)PC ZoutZout,PCinPCin读读X X,写入暂存器,写入暂存器Y Y(6)(MDR)Y(6)(MDR)YMDRoutMDRout,YinYinPCPC1PC1PC(7)(Y)+(R1)Z(7)(Y)+(R1)Z R1outR1out,ADDADD,ZinZin计算源操作数变址值计算源操作数变址值(8)(Z)MAR(8)(Z)MAR,ReadReadZoutZout,MARinMARin,ReadRead读源操作数读源操作数第65页/共296页2023/3/1766(9)(MDR)TEMP(9)(MDR)TEMPMDRoutMDRout,TEMPinTEMPin源操作数送临时寄源操作数送临时寄存器存器(10)(R2)MAR(10)(R2)MAR,RaadRaad,(R2)+1ZR2)+1ZR2outR2out,MARinMARin,RaedRaed,0Y0Y,1Cin1Cin,ADDADD,ZinZin读目的操作数,读目的操作数,R2R2自增送自增送Z Z(11)(Z)R2(11)(Z)R2ZoutZout,R2inR2in(R2)+1R2(R2)+1R2(12)MDRY(12)MDRYMDRoutMDRout,YinYin目的操作数送目的操作数送Y Y(13)(Y)+(TEMP)Z(13)(Y)+(TEMP)ZTEMPoutTEMPout,ADDADD,ZinZin两操作数相加两操作数相加(14)(Z)MDR(14)(Z)MDR,WriteWriteZoutZout,MDRinMDRin,WriteWrite按现行地址写回结按现行地址写回结果果第66页/共296页2023/3/1767例6.2 分析双总线结构的CPU中执行加法指令:ADD (R1),R0的操作流程和控制信号序列。指令功能:(R0)(R1)R0 分析:在执行本条加法指令时,从取指令到产生结果,共需访问存储器2次,第1次读取指令,第2次读取源操作数。双总线结构中ALU的功能:A+1,A-1,A+B,A-B 可通过总线连接器G将总线B的信息直接传到F总线。其控制信号为Gon。第67页/共296页2023/3/1768双总线结构的CPUCPU第68页/共296页2023/3/1769操作流程和控制信号序列 第69页/共296页2023/3/1770例6.3 分析双总线结构的CPU中,指令 SUB X(R1),(R2)+的指令流程和控制信号。指令格式为两字节指令,第二字节为变址值X。源操作数的有效地址:E1X(R1)目的操作数的有效地址:E2(R2),(R2)1R2。指令功能:(E2)(E1)E2可通过总线连接器G将总线B的信息直接传到F总线。其控制信号为Gon。操作码操作码X第70页/共296页2023/3/1771第71页/共296页2023/3/1772(1)(3)为取指令阶段,(4)(6)是取变址值X的流程,(7)(8)计算形式地址,取出源操作数(9)(11)为取目的数阶段(12)(13)进入指令的执行阶段。整个指令流程执行结束后,共访问存储器5次。如果双总线结构的CPU中没有总线连接器G,则ALU需要增加功能:FB在控制信号流程中,可以将Gon信号改为FB。第72页/共296页2023/3/1773作业P304 6.5 (3)第73页/共296页2023/3/1774例:在双总线结构的机器中,分析转子指令:JSR X的执行过程。设机器中没有总线连接器,ALU的功能为:FAB,FAB,FA1,FA1,FA,FBJSR为双字节指令,X为子程序入口地址,在第二字节。转子指令的功能:将断点地址保存到堆栈中,将X送入PC,实现程序转移。JSRJSRX X第74页/共296页2023/3/1775IDIDIRIRPCPCR0R0R1R1MARMARMDRMDRTEMPTEMPY YIRBPCBR0BR1BFMARMARBTEMPBFYADDSUBA主存ReadWriteR7R7R7BABUSDBUSINCDECBFTEMPFMDRFR7FR!FR0FPCFIRF FB BSPSPSPBFSP第75页/共296页2023/3/1776指令流程指令流程控制信号流程控制信号流程操作功能操作功能(1)(PC)MAR(1)(PC)MAR,ReadRead,(PC)Y(PC)Y PCBPCB,F FB B,FMARFMAR,ReadRead,FYFY读指令操作码读指令操作码(2)(Y)(2)(Y)1PC 1PC F FA A1 1,FPCFPCPCPC1PC1PC(3)(MDR)IR(3)(MDR)IRMDRBMDRB,F FB B,FIRFIR(4)(PC)MAR(4)(PC)MAR,ReadRead,(PC)Y(PC)YPCBPCB,F FB B,FMARFMAR,ReadRead,FYFY读读X X,写入暂存器,写入暂存器(5)(Y)(5)(Y)1PC 1PC F FA A1 1,FPCFPCTEMPTEMP(6)(MDR)TEMP(6)(MDR)TEMPMDRBMDRB,F FB B,FTEMPFTEMPPCPC1PC1PC(7)(SP)Y(7)(SP)YSPBSPB,F FB B,FYFY(8)(Y)(8)(Y)1SP 1SP MAR MARF FA A1 1,FSPFSP,FMARFMARSPSP1SP1SP(9)(PC)MDR(9)(PC)MDR,WriteWritePCBPCB,F FB B,FMDRFMDR,WriteWrite断点压入堆栈断点压入堆栈(10(10)(TEMP)PC(TEMP)PCTEMPBTEMPB,F FB B,FPCFPCXPCXPC,实现转移,实现转移第76页/共296页2023/3/1777上题中,如果ALU的功能增加为 FAB,FAB,FA1,FA1,FB1,FB1,FA,FB处理器内部无暂存器TEMP则控制序列可以进一步简化。指令执行过程与指令功能、寻址方式、数据通路、ALU功能等紧密相关。第77页/共296页2023/3/1778指令流程指令流程控制信号流程控制信号流程操作功能操作功能(1)(PC)MAR(1)(PC)MAR,ReadRead,PCBPCB,F FB B,FMARFMAR,ReadRead读指令操作码读指令操作码(2)(PC)(2)(PC)1PC 1PC PCBPCB,F FB B1 1,FPCFPCPCPC1PC1PC(3)(MDR)IR(3)(MDR)IRMDRBMDRB,F FB B,FIRFIR(4)(PC)MAR(4)(PC)MAR,ReadRead,(PC)Y(PC)YPCBPCB,F FB B,FMARFMAR,ReadRead,FYFY读读X X,写入暂存器,写入暂存器Y Y(5)(Y)(5)(Y)1PC 1PC F FA A1 1,FPCFPCPCPC1PC1PC(6)(MDR)Y(6)(MDR)YMDRBMDRB,F FB B,FYFY(7)(SP)(7)(SP)1SP1SP MAR MARSPBSPB,F FB B1 1,FSPFSP,FMARFMARSPSP1SP1SP(8)(PC)MDR(8)(PC)MDR,WriteWritePCBPCB,F FB B,FMDRFMDR,WriteWrite断点压入堆栈断点压入堆栈(9(9)(Y)PC(Y)PCF FA A,FPCFPCXPCXPC,实现转移,实现转移第78页/共296页2023/3/1779作业在双总线结构的机器中,写出转子指令RET的操作序列及控制信号序列。设机器中没有总线连接器,ALU的功能为:FAB,FAB,FA1,FA1,FA,FB返回地址保存在堆栈中。堆栈为自底向上生长。第79页/共296页2023/3/17806.4 6.4 模型机的总体结构以模型机为例,进一步了解控制器的控制原理和设计方法,建立计算机的整机结构。第80页/共296页2023/3/1781第81页/共296页2023/3/1782模型机的数据通路1.字长:16位2.总线结构:内部总线:双总线结构BUS1:输入总线,BUS2:输出总线:输出控制门信号,如MDRBUS1CP:输入控制信号,如CPY 系统总线:地址总线:ABUS,数据总线:DBUSI/O与主存共享总线,用 MREQ 控制访存;用IOREQ 控制访问I/O,R/W=1,读,R/W=0,写第82页/共296页2023/3/17833.寄存器程序可用寄存器程序可用寄存器内部寄存器内部寄存器编号编号寄存器名寄存器名寄存器名寄存器名000000R R0 0MARMAR001001R R1 1MDRMDR010010R R2 2IRIR011011R R3 3TEMPTEMP100100SPSPY Y111111PCPC第83页/共296页2023/3/17844.ALU的功能 由SN74181构成,在控制信号S3S0及M、C0的控制下,可完成16种逻辑运算和16种算术运算。(P242)M0:算术运算 M1:逻辑运算 第84页/共296页2023/3/17855.状态标志用于记录运算结果特征,可作为转移判断条件Cc:进位标志,打入脉冲:CPCcCz:为零标志,打入脉冲:CPCz6.移位器采用斜送方式实现移位传递,直送方式实现直接传递。移位控制信号移位控制信号DM直送直送SL左移一位左移一位SR右移一位右移一位EX字节交换字节交换11FnAn1SLSLAn1AnDMDMSRSR第85页/共296页2023/3/17867.模型机的编址主存按字编址,容量64K字,字长16位,16位地址可寻址64K。第86页/共296页2023/3/1787模型机的指令系统指令系统中共16条指令1.指令格式 双操作数指令包括:MOV、ADD、SUB、AND、OR、EOR15 12 15 12 11 9 11 9 5 35 3OPOP寻址方式寻址方式R RS S寻址方式寻址方式R RD D4 4位位3 3位位3 3位位3 3位位3 3位位源地址ES目的地址ED第87页/共296页2023/3/1788包括:INC、COM、ROL、ROR1515 0 0OPOP000000备用备用寻址方式寻址方式R RD D4 4位位指令特征指令特征3 3位位3 3位位3 3位位目的地址ED 单操作数指令第88页/共296页2023/3/1789转移指令采用相对寻址:转移地址(PC)DD采用补码,进行运算时,需进行符号扩展包括:JMP(无条件转移)、JC(C1转移)、JZ(Z1转移)、JSR(转子)转子指令JSR的操作:(SP)-1SP、MAR,(PC)MDR,Write(MDR)存储器)(PC)DPC15150 0OPOP位移量位移量 D D4 4位位1212位位 转移指令(PC)(SP)(PC)(SP)第89页/共296页2023/3/1790 返回与停机指令返回(RTS)与停机(HALT)指令均为零地址指令OPOP000000未用未用000000未用未用特征特征第90页/共296页2023/3/1791子程序 返回指令(RTS)的功能是:从子程序返回主程序返回指令RTS的操作:(SP)MAR,Read MMDRPC(SP)l SP HALT 停机指令的功能是:0RUN,将时钟信号截断。(SP)PC(SP)PC第91页/共296页2023/3/17922.2.指令系统为了简单起见,模型机的指令系统中只有16条指令,包括了传送指令、算逻指令、转移指令、转子与返回指令和停机指令等五类指令。第92页/共296页2023/3/1793第93页/共296页2023/3/17943.3.寻址方式方式方式编编码码表示方式表示方式有效地址有效地址寄存器寻址寄存器寻址000000 RnRn无需访存无需访存寄存器间址寄存器间址001001 RnRn或或(Rn)(Rn)E E(Rn)(Rn)自增型寄存器间址自增型寄存器间址010010(Rn)