资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2019/11/6,NJUT,#,2025/2/4 周二,NJUT,1,本章学习,内容,控制器的功能与组成,控制方式与时序系统,CPU,的总体结构,组合逻辑控制器设计,微程序控制器设计,第,1,页,/,共,258,页,2025/2/4 周二,NJUT,2,6.1,控制器的基本概念,控制器和运算器一起组成中央处理器,即,CPU,。,控制器是计算机的指挥和控制中心,由它把计算机的运算器、存储器、,I/O,设备等联系成一个有机的系统,并根据各部件具体要求,适时地发出各种控制命令,控制计算机各部件自动、协调地进行工作。,控制器根据事先编好并存放在存储器中的解题程序,控制各部件有条不紊地、自动协调地进行工作。,第,2,页,/,共,258,页,2025/2/4 周二,NJUT,3,计算机运行程序的基本过程:,1.,取指令,:,根据指令地址(由,PC,提供),从存储器中取出所要执行的指令。,2.,分析指令,:,对取出的指令进行译码分析。确定指令应完成的操作,产生相应操作的控制电位去参与形成该指令功能所需要的全部控制命令(微操作控制信号)。,根据寻址方式的分析和指令功能要求,形成操作数的有效地址,并按此地址取出操作数据(运算型指令)或形成转移地址,(,转移类指令,),以实现程序转移。,6.1.1,指令执行的基本步骤,第,3,页,/,共,258,页,2025/2/4 周二,NJUT,4,3.,执行指令,:,根据指令分析所产生的操作控制信号和形成的有效地址,按一定的算法形成指令操作控制序列,控制有关部件完成指令规定的功能。,一条指令执行结束,若没有异常情况和特殊请求,则按程序顺序,再去取出并执行下一条指令。,控制器的主要功能就是按取指令、分析指令、执行指令这样的步骤进行周而复始的控制过程,直到完成程序所规定的任务并停机为止。,第,4,页,/,共,258,页,2025/2/4 周二,NJUT,5,ADD A,R7,的执行过程,(,图,6-1a),第,5,页,/,共,258,页,2025/2/4 周二,NJUT,6,6.1.2,控制器的基本功能,1,控制指令的正确执行,包括指令流出的控制,分析指令和执行指令的控制,指令流向的控制。,指令流出控制(对取指令的控制),取指令时需进行的操作,(PC)MAR,,,Read,;给出指令地址,并向,MEM,发 出读命令,(MDR)IR,;读出的指令经,MDR,存放到指 令寄存器,IR,中,(PC),增量,PC,;为取下一条指令作准备,第,6,页,/,共,258,页,2025/2/4 周二,NJUT,7,分析指令和执行指令的控制,IR,中的指令经指令译码器,(ID),译码分析,确定操作性质,判明寻址方式并形成操作数的有效地址。,控制器根据分析的结果和形成的有效地址产生相应的操作控制信号序列,控制有关的部件完成指令所规定的操作功能。,例:设某指令的,IR,15,IR,12,0000,时为,MOV,指令,则,MOV,的控制信号为:,第,7,页,/,共,258,页,2025/2/4 周二,NJUT,8,指令流向的控制,指令流向控制即下条指令地址的形成控制。,按指令序列顺序执行时,通过,PC,自动增量形成下条指令的地址。,当需要改变指令流向时,需改变程序计数器,PC,中的内容。,转移指令的执行:把形成的转向地址送入,PC,;,转子指令的执行:把子程序入口地址送入,PC,;,中断处理:将中断服务程序入口地址送入,PC,。,为了正确返回,转子和中断还需保留,PC,被改变之前的内容,(,即返回地址,),。,第,8,页,/,共,258,页,2025/2/4 周二,NJUT,9,2.,控制程序和数据的输入及结果的输出,为完成某项任务而编制的程序及所需数据,必须通过某些输入设备预先存放在存储器中,运算结果要用输出设备输出。所以必须由控制器统一指挥,完成程序和数据的输入及结果的输出。,3,异常情况和特殊请求的处理,机器在运行程序过程中,往往可能会遇到一些异常情况(如电源掉电、运算溢出等)或某些特殊请求(如打印机请求传送打印字符等)。这些异常和请求往往是事先无法预测的,控制器必须具有检测和处理这些异常情况和特殊请求的功能。,第,9,页,/,共,258,页,2025/2/4 周二,NJUT,10,宏观上每条指令的执行过程均是取指、译码、执行,但每条指令有不同的操作序列,需要在不同时间产生不同的控制序列,并有严格的时序要求。控制器必须根据不同指令产生不同的控制序列。,控制器的主要任务,:,根据不同的指令、不同的状态条件,在不同的时间,产生不同的控制信号,控制计算机的各部件自动、协调地进行工作。,第,10,页,/,共,258,页,2025/2/4 周二,NJUT,11,指令执行的一般流程,(,图,6-1b),第,11,页,/,共,258,页,2025/2/4 周二,NJUT,12,6.1.3,控制器的组成,(,图,6-2),第,12,页,/,共,258,页,2025/2/4 周二,NJUT,13,指令部件的主要功能是完成取指令和分析指令。,程序计数器,PC,(指令计数器、指令地址寄存器),程序计数器用于保证程序按规定的序列正确运行,并提供将要执行指令的指令地址。,由于,PC,可以指向主存中任一单元的地址,因此它的位数应能表示主存的最大容量并与主存地址寄存器,MAR,的位数相同。,在,CPU,中可以单独设置程序计数器,也可以指定通用寄存器中的某一个作为,PC,使用。,程序顺序执行时的,PC,增量可以通过,PC,本身的计数逻辑实现,也可以由运算器的,ALU,实现。不同机器,实现方法可有所不同。,1,指令部件,第,13,页,/,共,258,页,2025/2/4 周二,NJUT,14,(2),指令寄存器,IR,指令寄存器用于存放当前正在执行的指令。,当指令从主存取出后,经,MDR,传送到指令寄存器中,以便实现对一条指令执行的全部过程的控制。,(3),指令译码器,ID,指令译码器是指令分析部件,对指令寄存器中的指令操作码进行译码分析,产生相应操作的控制电位,提供给微操作控制信号形成部件。对寻址方式字段进行译码分析,以控制操作数有效地址的形成。,(4),地址形成部件,根据机器所规定的各种寻址方式,形成操作数有效地址。,在一些微、小型机中,为简化硬件逻辑,通常不设置专门的地址形成部件,而是借用运算器实现有效地址的计算。,第,14,页,/,共,258,页,2025/2/4 周二,NJUT,15,2,时序控制部件,时序控制部件,:用于产生一系列时序信号,为各个微操作定时,以保证各个微操作的执行顺序。,从宏观,(,即程序控制,),上看,计算机的解题过程实质上是指令序列即一条条指令的执行过程。,从微观,(,即指令控制,),上看,计算机的解题过程是微操作序列即一个个,(,或一组组,),微操作的执行过程。,微操作,:机器最简单的基本操作,一条指令的执行过程可以分解为若干微操作。这些微操作有着严格的时间顺序要求,不可随意颠倒。,第,15,页,/,共,258,页,2025/2/4 周二,NJUT,16,(1),脉冲源,脉冲源用于产生一定频率的主时钟脉冲。一般采用石英晶体振荡器作为脉冲源。计算机电源一接通,脉冲源立即按规定频率给出时钟脉冲。,(2),启停电路,启停电路用于控制整个机器工作的启动与停止。实际上是保证可靠地送出或封锁主时钟脉冲,控制时序信号的发生与停止。,(3),时序信号发生器,时序信号发生器用于产生机器所需的各种时序信号,以便控制有关部件在不同的时间完成不同的微操作。,不同的机器,有着不同的时序信号。在同步控制的机器中,一般包括周期、节拍、脉冲等三级时序信号。,第,16,页,/,共,258,页,2025/2/4 周二,NJUT,17,微操作控制信号形成部件,:根据指令部件提供的操作控制电位、时序部件所提供的各种时序信号以及有关的状态条件,产生机器所需要的各种微操作控制信号。,不同的指令,完成不同的功能,需要不同的微操作控制信号序列。每条指令都有自己对应的微操作序列。控制器必须根据不同的指令,在不同的时间,产生并发出不同的微操作控制信号,控制有关部件协调工作,完成指令所规定的任务。,4,中断控制逻辑(中断机构),用于实现异常情况和特殊请求的处理。,3,微操作控制信号形成部件,第,17,页,/,共,258,页,2025/2/4 周二,NJUT,18,程序状态寄存器:用于存放程序的工作状态,(,如管态、目态等,),和指令执行的结果特征,(,如结果为零、结果溢出等,),,把它所存放的内容称为程序状态字,(PSW),。,PSW,表明了系统的基本状态,是控制程序执行的重要依据。不同的机器,,PSW,的格式及内容不完全相同。,例:,8086 CPU,中的,PSW,的格式,CF,:进位,PF,:奇偶,AF,:半进位,ZF,:结果为,0 SF,:符号,TF,:单步,IF,:中断允许,DF,:地址增,/,减量,OF,:溢出,5,程序状态寄存器,PSR,第,18,页,/,共,258,页,2025/2/4 周二,NJUT,19,控制台用于实现人与机器之间的通信联系,如启动或停止机器的运行、监视程序运行过程、对程序进行必要的修改或干预等。,早期有硬件控制台,用于设置地址和指令。现在,在大型机中有软件控制台。通过控制台命令,控制机器的启停,干预机器的工作。,6,控制台,第,19,页,/,共,258,页,2025/2/4 周二,NJUT,20,控制器的组成方式主要是指微操作控制信号形成部件采用何种组成方式产生微操作控制信号。,控制器的组成方式主要是指微操作控制信号形成部件的组成方式。,根据产生微操作控制信号的方式不同,控制器可分为,组合逻辑型、存储逻辑型、组合逻辑与存储逻辑结合型,三种,它们的根本区别在于微操作信号发生器的实现方法不同,而控制器中的其他部分基本上是大同小异的。,6.1.4,控制器的组成方式,第,20,页,/,共,258,页,2025/2/4 周二,NJUT,21,1,组合逻辑型,组合逻辑控制器,是根据控制要求和状态,采用组合逻辑技术来实现的。其微操作信号发生器是由门电路组成的复杂树形网络构成的。,组合逻辑,控制器也称为硬联逻辑或硬布线逻辑。,组合逻辑,控制器的设计目标:使用最少器件数和取得最高操作速度。,优点,:速度快,缺点,:微操作信号发生器结构不规整,设计、调试、维修较困难,难以实现设计自动化。一旦控制部件构成之后,要想增加新的控制功能是不可能的。,第,21,页,/,共,258,页,2025/2/4 周二,NJUT,22,2,存储逻辑型,存储逻辑型,控制器称为,微程序控制器,。它是采用存储逻辑来实现的。,存储逻辑型,控制器的实现方法:,把微操作信号代码化,使每条机器指令转化成为一段微程序存入控制存储器中。执行指令时,读出控存中的微指令,由微指令产生微操作控制信号。,优点:,设计规整,调试、维修以及更改、扩充指令方便的,优点,,易于实现自动化设计,已成为当前控制器的主流。,缺点,:由于它增加了一级控制存储器,所以指令的执行速度比组合逻辑控制器慢。,第,22,页,/,共,258,页,2025/2/4 周二,NJUT,23,3,组合逻辑和存储逻辑结合型,组合逻辑和存储逻辑结合型控制器称为,PLA,控制器,它是吸收前两种的设计思想来实现的。,PLA,控制器实际上也是一种组合逻辑控制器,但它的输出程序可编的,某一微操作控制信号由,PLA,的某一输出函数产生。,PLA,控制器是组合逻辑技术和存储逻辑技术,结合,的产物,它克服了两者的缺点,是一种较有前途的方法。,第,23,页,/,共,258,页,2025/2/4 周二,NJUT,24,以上几种控制器的设计方法是不同的,但产生的微操作命令的功能是相同的,并且各个控制条件基本上也是一致的,都是由时序电路、操作码译码信号,以及被控部件的反馈信息有机配合而成的。,从功能上看,,这几种控制器只是微操作信号发生器的结构和原理不同,而外部的输入条件和输出结果几乎完全相同。,第,24,页,/,共,258,页,2025/2/4 周二,NJUT,25,微操作信号发生器,(,图,6-3),第,25,页,/,共,258,页,2025/2/4 周二,NJUT,26,6.2,控制器的控制方式与时序系统,计算机执行指令的过程实际上是执行一系列的微操作的过程。每一条指令都对应着一个微操作序列,这些微操作中有些可以同时执行,有些则必须按严格的时间关系执行。,控制器的控制方式,需解决的问题,是:,如何在时间上对各种微操作信号加以控制,。,6.2.1,控制方式,常用的控制方式有同步控制、异步控制和联合控制。,第,26,页,/,共,258,页,2025/2/4 周二,NJUT,27,1,同步控制方式,同步控制方式:,任何指令的运行或指令中各个微操作的执行,均由确定的具有统一基准时标的时序信号所控制。,即所有的操作均由统一的时钟控制,在标准的时间内完成。,在,同步控制方式下,,每个时序信号的结束就意味着安排完成的工作已经完成,随即开始执行后续的微操作或自动转向下条指令的运行。,第,27,页,/,共,258,页,2025/2/4 周二,NJUT,28,典型的同步控制方式是:,以微操作序列最长的指令和执行时间最长的微操作为标准,把一条指令执行过程划分为若干个相对独立的阶段(称为周期)或若干个时间区间(称为节拍),采用完全统一的周期(或节拍)控制各条指令的执行。,优点,:时序关系简单,控制方便,缺点,:浪费时间。,因为对比较简单的指令,将有很多节拍是不用的,处于等待。所以,在实际应用中都不采用这种典型的同步控制方式,而是采用某些折衷的方案。,第,28,页,/,共,258,页,2025/2/4 周二,NJUT,29,(1),采用中央控制与局部控制相结合的方法,中央控制,:统一节拍的控制,根据大多数指令的微操作序列的情况,设置一个统一的节拍数,使之大多数指令均能在统一的节拍内完成。,局部控制,:在延长节拍内的控制,对于少数在统一节拍内不能完成的指令,采用延长节拍或增加节拍数,使之在延长节拍内完成,执行完毕再返回中央控制。,第,29,页,/,共,258,页,2025/2/4 周二,NJUT,30,例:设某计算机的指令通常用,8,个节拍完成,即有,8,个中央节拍,W,0,W,7,,当某指令在,8,个节拍中不能完成时,就插入若干局部节拍,W,6,*,,经过若干局部节拍,W,6,*,后,再返回中央节拍,W,7,。,第,30,页,/,共,258,页,2025/2/4 周二,NJUT,31,(2),采用不同的机器周期和延长节拍的方法,把一条指令执行过程划分为若干机器周期,如取指、取数、执行等周期。根据所执行指令的不同需要,选取不同的机器周期数。在节拍安排上,每个周期划分为固定的节拍,每个节拍都可根据需要延长一个节拍。,这种方法可以解决执行不同的指令所需时间不统一问题。,在,Intel 8088,的指令执行过程中有读写周期、内部周期等,其中读写周期为,4,个节拍,但可以延长若干个节拍。,第,31,页,/,共,258,页,2025/2/4 周二,NJUT,32,(3),采用分散节拍的方法,分散节拍:运行不同指令时,需要多少节拍,时序部件就发生多少节拍。,这种方法可完全避免节拍轮空,是提高指令运行速度的有效方法,但这种方法使时序部件复杂化。同时还不能解决节拍内那些简单的微操作因等待所浪费的时间。,第,32,页,/,共,258,页,2025/2/4 周二,NJUT,33,2,异步控制方式,异步控制方式:没有统一的同步信号,采用问答方式进行时序协调,将前一操作的回答信号作为下一操作的启动信号。,异步控制方式,不仅要区分不同指令对应的微操作序列的长短,而且要区分其中每个微操作的繁简,每条指令、每个微操作需要多少时间就占用多少时间。,这种方式不再有统,的周期、节拍,各个操作之间采用应答方式衔接,前一操作完成后给出回答信号,启动下一个操作。,第,33,页,/,共,258,页,2025/2/4 周二,NJUT,34,数据,间隔可变,发送准备好,数据已接受,这种方式可根据每条指令的操作的实际需要而分配时间,所以没有时间上的浪费,,效率高,。,但设计复杂,且费设备。,第,34,页,/,共,258,页,2025/2/4 周二,NJUT,35,3,联合控制方式,联合控制方式:,将同步控制和异步控制相结合。,联合控制方式,通常的,设计思想,:在,功能部件内部采用同步方式,或以同步方式为主的控制方式;在,功能部件之间采用异步方式,。,例如,对可以统一的微操作采用同步控制,对难以统一的微操作采用异步控制。,实际上,现代计算机中,几乎没有完全采用同步或完全采用异步的控制方式,大多数都,采用联合控制,方式。,第,35,页,/,共,258,页,2025/2/4 周二,NJUT,36,6.2.2,时序系统,时序系统是控制器的心脏,由它为指令的执行提供各种定时信号。通常,设计时序系统主要是针对同步控制方式的。,1,指令周期与机器周期,指令周期,:从取指令、分析指令到执行完一条指令所需的全部时间。,由于各种指令的操作功能不同,繁简程度不同,因此各种指令的指令周期也不尽相同。,机器周期(,CPU,周期),:指令周期中的某一工作阶段所需的时间。在指令执行过程中,各机器周期相对独立。,一条指令的指令周期由若干个机器周期所组成,,每个机器周期完成一个基本操作,。所以机器周期也称为基本周期。,第,36,页,/,共,258,页,2025/2/4 周二,NJUT,37,一般机器的,CPU,周期有取指周期、取数周期、执行周期,中断周期等。,每个机器周期设置一个周期状态触发器与之对应,机器运行于哪个周期,与其对应的周期状态触发器被置为,“,1,”,。显然,机器运行的任何时刻都只能建立一个周期状态,因此同一时刻只能有一个周期状态触发器被置为,“,1,”,。,不同工作周期所占的时间可以不等。由于,CPU,内部操作速度快,而,CPU,访存所花时间较长,所以许多计算机系统往往以主存周期为基础来规定,CPU,周期,以便二者工作协调配合。,第,37,页,/,共,258,页,2025/2/4 周二,NJUT,38,节拍,:把一个机器周期等分成若干个时间区间,每一时间区间称为一个,节拍,。一个节拍对应一个电位信号,控制一个或几个微操作的执行。,在一个机器周期内,要完成若干个微操作,这些微操作不但需要占用一定的时间,而且有一定的先后次序。因此,在同步控制方式中,基本的控制方法就是把一个机器周期等分成若干个节拍,,每一个节拍完成一步基本操作,,如一次传送、一次加减运算等。,一个节拍电位信号的宽度取决于,CPU,完成一个基本操作的时间。,2,节拍,第,38,页,/,共,258,页,2025/2/4 周二,NJUT,39,节拍提供了一项基本操作所需的时间分段,但有的操作如打入寄存器,还需严格的定时脉冲,以确定在哪一,时刻,打入。节拍的切换,也需要严格的同步定时。,所以在一个节拍内,有时还需要设置一个或几个工作脉冲,用于寄存器的复位和接收数据等。,脉冲,:一个节拍内设置的一个或几个工作脉冲。,3.,脉冲(定时脉冲),第,39,页,/,共,258,页,2025/2/4 周二,NJUT,40,常见的设计是在每个节拍的末尾发一次工作脉冲,脉冲前沿可用来打入运算结果(或传送),脉冲后沿则实现周期的切换。,也有的计算机,在一个节拍中先后发出几个工作脉冲,有的脉冲位于节拍前端,可用作清除脉冲;有的脉冲位于中部,用作控制外围设备的输入,/,输出脉冲;有的脉冲位于尾部,前沿用作,CPU,内部的打入,后沿实现周期切换。,第,40,页,/,共,258,页,2025/2/4 周二,NJUT,41,周期、节拍、脉冲构成了三级时序系统,它们之间关系如下图所示。图中包括两个机器周期,M,1,、,M,2,,每个周期包含四个节拍,W,0,W,3,,每个节拍内有一个脉冲,P,。,(,图,6-6),第,41,页,/,共,258,页,2025/2/4 周二,NJUT,42,微型机中常用的时序系统与上述三级时序系统有所不同,称之为时钟周期时序系统。下图所示的是一典型指令的基本时序,一个指令周期包含三个机器周期:取指周期、存储器读周期和存储器写周期,三个周期中分别包含,4,个、,3,个、,3,个时钟周期。,(,图,6-7),第,42,页,/,共,258,页,2025/2/4 周二,NJUT,43,6.3 CPU,的总体结构,CPU,即中央处理器,它包含运算器和控制器两个部分。,CPU,的功能为:,程序控制,:标准程序按所要求的次序正确执行。,操作控制,:管理如何产生每条指令所需的操作信号,送往有关部件,控制完成指令规定的操作。,时序控制,:对各种操作实施时间上的定时,使计算机有条不紊地工作。,数据加工,:对数据进行算术逻逻运算处理。,第,43,页,/,共,258,页,2025/2/4 周二,NJUT,44,6.3.1,寄存器的设置,不同计算机的,CPU,结构存在差别,但在,CPU,中一般都设置下列寄存器:,(1),指令寄存器,IR,(2),程序计数器,PC,(3),累加寄存器,AC,(4),程序状态寄存器,PSR,(5),地址寄存器,MAR,(6),数据缓冲寄存器,MDR,(,或,MBR),其中、是用户可用的,、是用户不可用的。,CPU,中还常设置一些程序不能直接访问,用于暂存操作数据或中间结果的寄存器,称为暂存器。,第,44,页,/,共,258,页,2025/2/4 周二,NJUT,45,通用寄存器,:一组程序可访问的、具有多种功能的寄存器。,在指令系统中,为通用寄存器分配了编号(寄存器地址),可以编程指定使用其中的某个寄存器。,通用寄存器自身的逻辑往往很简单并且比较统一,甚至是快速的小规模存储器的一些单元,但通过编程与运算器配合,可指定其实现多种功能,如提供操作数、保存中间结果(即作累加器用),或用作地址指针、基址寄存器、变址寄存器、计数器等。,第,45,页,/,共,258,页,2025/2/4 周二,NJUT,46,6.3.2,数据通路结构及指令流程分析,数据通路,:信息传送的基本路径。,CPU,内部的数据通路通常是指运算器与寄存器之间的信息传输通道。,数据通路结构直接影响着,CPU,内各种信息的传送路径。数据通路不同,指令执行过程的微操作序列的安排也不同,它将直接影响到微操作信号形成部件的设计。,第,46,页,/,共,258,页,2025/2/4 周二,NJUT,47,1,总线结构,单总线结构,CPU,内部采用单总线,IBUS,将寄存器和算术逻辑运算部件连接起来。,CPU,、主存、,I/O,设备也通过一组单总线(系统总线)连接起来。,在单总线结构中,,CPU,内部的任何两个部件间的数据传送都必须经过单总线,IBUS,,因此单总线结构的控制比较简单,但传送速度受到限制。在一些微、小型机中常采用这种结构。,双总线结构,CPU,内部采用两条总线(,B,总线和,F,总线),将寄存器和算术逻辑运算部件连接起来。各寄存器可通过控制门,建立寄存器与总线之间的联系。,CPU,通过地址总线,ABUS,和数据总线,DBUS,与主存、,I/O,设备连接。,第,47,页,/,共,258,页,2025/2/4 周二,NJUT,48,单总线结构的,CPU (,图,6-8),第,48,页,/,共,258,页,2025/2/4 周二,NJUT,49,双 总 线 结 构 的,CPU,(,图,6-9),第,49,页,/,共,258,页,2025/2/4 周二,NJUT,50,2.,指令流程分析,指令流程:指令的操作过程。,对指令流程的影响因素:指令功能、寻址方式、数据通路、,ALU,的功能、指令执行的基本步骤等。,指令功能功能不同,操作数的数量不同,指令流程不同。,寻址方式不同,寻找操作数的过程不同。,数据通路不同,传送数据时的控制过程不同。,ALU,的功能不同,指令的执行步骤不同。,不同的指令,执行时的基本步骤不同。如访存指令,需要访问存储器;,R,R,型指令不需要访存。,第,50,页,/,共,258,页,2025/2/4 周二,NJUT,51,例,6-1,:分析单总线结构的,CPU,中,,ADD(R,1,),,,R,0,指令的指令流程。设前一操作数地址为源,后一操作数地址为目的。,解:指令功能:,(R,1,),(R,0,)R,0,1,第,51,页,/,共,258,页,2025/2/4 周二,NJUT,52,指令流程如下:,(1),(PC)MAR,,,Read,,,(PC),1Z,;送指令地址,读主存,(2),(Z)PC,;,PC,1PC,(3),MMDRIR,;取指令到,IR,(4)(R,1,)MAR,,,Read,;送源操作数地址,(5)MMDRY,;取出源操作数到,Y,中,(6)(Y),(R,0,)Z,;执行加法运算,结果暂存,Z,(7)(Z)R,0,;加法结果送回目标寄存器,注:教材上,(2)(3),二步顺序有些不同。,或:表,6-1,6-2,中,(,前三步是取指令,公共操作,意思相同),(1),(PC)MAR,,,Read,(2),(PC),1PC,(3),MMDRIR,第,52,页,/,共,258,页,2025/2/4 周二,NJUT,53,例:分析单总线结构的,CPU,中,转移指令,JC D,的指令流程。,解:指令功能:,IF C,1 THEN(PC),DPC,指令流程如下:,(1)(PC)MAR,,,Read,,,(PC),1Z,;送指令地址,读主存,(2),(Z)PC,;,PC,1PC,(3),MMDRIR,;取指令到,IR,(4)IF C,1(PC)Y,;送当前指令地址,(5)Y,IR(D,部分,)Z,;计算转移地址,(6)(Z)PC,;下条指令实现转移,操作码,D,第,53,页,/,共,258,页,2025/2/4 周二,NJUT,54,根据指令流程还需要作进一步的控制信息分析,例:分析单总线结构的,CPU,中指令,ADD X(R1),(R2),+,的指令流程和控制信号序列。,解:指令格式为两字节指令,第二字节为变址值,X,。,源操作数采用变址寻址,目的操作数采用自增型变址寻址。,指令功能:,(X+(R1)+(R2)(R2),(R2)+1R2,操作码,X,第,54,页,/,共,258,页,2025/2/4 周二,NJUT,55,ID,IR,PC,R0,R1,MAR,MDR,TEMP,Y,Z,IR,out,IR,in,PC,out,PC,in,R0,out,R0,in,R1,out,R1,in,MAR,in,MAR,out,MDR,in,TEMP,out,TEMP,in,Y,in,0Y,Z,out,ADD,SUB,1C,in,Z,in,主,存,Read,Write,第,55,页,/,共,258,页,2025/2/4 周二,NJUT,56,指令流程,控制信号流程,操作功能,(1)(PC)MAR,,,Read,,,(PC),1Z,PCout,,,MARin,,,Read,,,0Y,,,1Cin,,,ADD,,,Zin,读指令操作码,(2)(Z)PC,Zout,,,PCin,PC,1PC,(3)(MMDR)(MDR)IR,MDRout,,,IRin,(4)(PC)MAR,,,Read,,,(PC),1Z,PCout,,,MARin,,,Read,,,0Y,,,1Cin,,,ADD,,,Zin,(5)(Z)PC,Zout,,,PCin,读,X,,写入暂存器,Y,(6)(MDR)Y,MDRout,,,Yin,PC,1PC,(7)(Y)+(R1)Z,R1out,,,ADD,,,Zin,计算源操作数变址值,(8)(Z)MAR,,,Read,Zout,,,MARin,,,Read,读源操作数,第,56,页,/,共,258,页,2025/2/4 周二,NJUT,57,(9),空白,等待读存储器,(10)(MDR)TEMP,MDRout,,,TEMPin,源操作数送临时寄存器,(11)(R2)MAR,,,Raad,,(,R2)+1Z,R2out,,,MARin,,,Raed,,,0Y,,,1Cin,,,ADD,,,Zin,读目的操作数,,R2,自增送,Z,(12)(Z)R2,Zout,,,R2in,(R2)+1R2,(13)MDRY,MDRout,,,Yin,目的操作数送,Y,(14)(Y)+(TEMP)Z,TEMPout,,,ADD,,,Zin,两操作数相加,(15)(Z)MDR,,,Write,Zout,,,MDRin,,,Write,按现行地址写回结果,(16),空白,空一个节拍,等待稳定写入,第,57,页,/,共,258,页,2025/2/4 周二,NJUT,58,例:分析双总线结构的,CPU,中,指令,ADD X(R1),(R2),+,的指令流程和控制信号。,设,ALU,的功能有:,F,A,B,(,ADD,),,F,A,B,(,SUB,),,F,A,1,(,INC,),,F,A,1,(,DEC,),,F,A,可通过总线连接器,G,将总线,B,的信息直接传到,F,总线。其控制信号为,Gon,。,第,58,页,/,共,258,页,2025/2/4 周二,NJUT,59,ID,IR,PC,R0,R1,MAR,MDR,TEMP,Y,G,IRB,PCB,R0B,R1B,FMAR,MARB,TEMPB,FY,ADD,SUB,A,主存,Read,Write,R7,R7B,ABUS,DBUS,INC,DEC,B,Gon,FTEMP,FMDR,FR7,FR!,FR0,FPC,FIR,F,B,第,59,页,/,共,258,页,2025/2/4 周二,NJUT,60,指令流程,控制信号流程,操作功能,(1)(PC)MAR,,,Read,,,(PC)Y,PCB,,,Gon,,,FMAR,,,Read,,,FY,读指令操作码,(2)(Y),1PC,INC,,,FPC,PC,1PC,(3)(MDR)IR,MDRB,,,Gon,,,FIR,(4)(PC)MAR,,,Read,,,(PC)Y,PCB,,,Gon,,,FMAR,,,Read,,,FY,(5)(Y),1PC,INC,,,FPC,读,X,,写入暂存器,Y,(6)(MDR)Y,MDRB,,,Gon,,,FY,(7)(Y)+(R1)MAR,R1B,,,ADD,,,FMAR,,,Read,计算源操作数变址值,读源操作数,(8),空白,等待读存储器,(9)(MDR)TEMP,MDRB,,,Gon,,,FTEMP,源操作数送临时寄存器,第,60,页,/,共,258,页,2025/2/4 周二,NJUT,61,(10)(R2)MAR,,,Raad,,(,R2)Y,R2B,,,Gon,,,FMAR,,,Read,,,FY,读目的操作数,,R2,自增送,Z,(11)(Y),1R2,INC,,,FR2,(R2)+1R2,(12)MDRY,MDRB,,,Gon,,,FY,目的操作数送,Y,(13)(Y)+(TEMP)MDR(MDR)MEM,,,Write,TEMPB,,,ADD,,,FMDR Write,两操作数相加,按现行地址写回结果,(14),空白,空一个节拍,等待稳定写入,如果没有总线连接器,G,,则,ALU,需要增加功能:,F,B,可以将,Gon,信号改为,F,B,。,第,61,页,/,共,258,页,2025/2/4 周二,NJUT,62,例:在双总线结构的机器中,分析转子指令:,JSR X,的执行过程。设机器中没有总线连接器,,ALU,的功能为:,F,A,B,,,F,A,B,,,F,A,1,,,F,A,1,,,F,A,,,F,B,分析:,JSR,为双字节指令,,X,为子程序入口地址,在第二字节。,转子指令的功能:将断点地址保存到堆栈中,将,X,送入,PC,,实现程序转移。,JSR,X,第,62,页,/,共,258,页,2025/2/4 周二,NJUT,63,ID,IR,PC,R0,R1,MAR,MDR,TEMP,Y,IRB,PCB,R0B,R1B,FMAR,MARB,TEMPB,FY,ADD,SUB,A,主存,Read,Write,R7,R7B,ABUS,DBUS,INC,DEC,B,FTEMP,FMDR,FR7,FR!,FR0,FPC,FIR,F,B,第,63,页,/,共,258,页,2025/2/4 周二,NJUT,64,指令流程,控制信号流程,操作功能,(1)(PC)MAR,,,Read,,,(PC)Y,PCB,,,F,B,,,FMAR,,,Read,,,FY,读指令操作码,(2)(Y),1PC,F,A,1,,,FPC,PC,1PC,(3)(MDR)IR,MDRB,,,F,B,,,FIR,(4)(PC)MAR,,,Read,,,(PC)Y,PCB,,,F,B,,,FMAR,,,Read,,,FY,读,X,,写入暂存器,(5)(Y),1PC,F,A,1,,,FPC,TEMP,(6)(MDR)TEMP,MDRB,,,F,B,,,FTEMP,PC,1PC,(7)(SP)Y,SPB,,,F,B,,,FY,(8)(Y),1SP,F,A,1,,,FSP,,,FMAR,SP,1SP,(9)(PC)MEM,,,Write,PCB,,,F,B,,,FMDR,,,Write,断点压入堆栈,(10,),TEMPPC,TEMPB,,,F,B,,,FPC,XPC,,实现转移,第,64,页,/,共,258,页,2025/2/4 周二,NJUT,65,上题中,如果,ALU,的功能增加为,F,A,B,,,F,A,B,,,F,A,1,,,F,A,1,,,F,B,1,,,F,B,1,,,F,A,,,F,B,则控制序列可以进一步简化。,即指令执行过程与指令功能、寻址方式、数据通路、,ALU,功能等紧密相关。,第,65,页,/,共,258,页,2025/2/4 周二,NJUT,66,指令流程,控制信号流程,操作功能,(1)(PC)MAR,,,Read,,,PCB,,,F,B,,,FMAR,,,Read,读指令操作码,(2)(PC),1PC,PCB,,,F,B,1,,,FPC,PC,1PC,(3)(MDR)IR,MDRB,,,F,B,,,FIR,(4)(PC)MAR,,,Read,,,(PC)Y,PCB,,,F,B,,,FMAR,,,Read,,,FY,读,X,,写入暂存器,Y,(5)(PC),1PC,PCB,,,F,B,1,,,FPC,(6)(MDR)Y,MDRB,,,F,B,,,FY,PC,1PC,(7)(SP),1SP,SPB,,,F,B,1,,,FSP,,,FMAR,SP,1SP,(8)(PC)MEM,,,Write,PCB,,,F,B,,,FMDR,,,Write,断点压入堆栈,(9,),YPC,F,A,,,FPC,XPC,,实现转移,第,66,页,/,共,258,页,2025/2/4 周二,NJUT,67,6.4,模型机的总体结构,以模型机为例,进一步了解控制器的控制原理和设计方法,建立计算机的整机结构。,第,67,页,/,共,258,页,2025/2/4 周二,NJUT,68,第,68,页,/,共,258,页,2025/2/4 周二,NJUT,69,6.4.1,模型机的数据通路,1.,字长:,16,位,2.,总线结构:,内部总线:双总线结构,BUS,1,:输入总线,,BUS,2,:输出总线,:输出控制门信号,如,MDRBUS1,CP,:输入控制信号,如,CPY,系统总线:,地址总线:,ABUS,,数据总线:,DBUS,I/O,与主存共享总线,用,MREQ,控制访存;用,IOREQ,控制访问,I/O,,,R/W=1,,读,,R/W=0,,写,第,69,页,/,共,258,页,2025/2/4 周二,NJUT,70,3.,寄存器,(,大多数采用,D,触发器,),程序可用寄存器,内部寄存器,编号,寄存器名,寄存器名,000,R,0,MAR,001,R,1,MDR,010,R,2,IR,011,R,3,TEMP,100,SP,Y,111,PC,第,70,页
展开阅读全文