曹红根《计算机组成原理》第6章控制器原理.ppt_第1页
曹红根《计算机组成原理》第6章控制器原理.ppt_第2页
曹红根《计算机组成原理》第6章控制器原理.ppt_第3页
曹红根《计算机组成原理》第6章控制器原理.ppt_第4页
曹红根《计算机组成原理》第6章控制器原理.ppt_第5页
已阅读5页,还剩196页未读 继续免费阅读

下载本文档

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

文档简介

2019/6/17,1,第 6 章 控制系统与CPU,2019/6/17,2,本章学习内容,控制器的功能与组成 控制方式与时序系统 CPU的总体结构 组合逻辑控制器设计 微程序控制器设计 流水线处理技术,2019/6/17,3,6.1 控制器的基本概念,控制器和运算器一起组成中央处理器,即CPU。 控制器是计算机的指挥和控制中心,由它把计算机的运算器、存储器、I/O设备等联系成一个有机的系统,并根据各部件具体要求,适时地发出各种控制命令,控制计算机各部件自动、协调地进行工作。 控制器的功能是根据事先编好并存放在存储器中的解题程序,控制各部件有条不紊地、自动协调地进行工作。,2019/6/17,4,计算机运行程序的基本过程: 1.取指令: 根据指令地址(由PC提供),从存储器中取出所要执行的 指令。 2.分析指令: 对取出的指令进行译码分析。确定指令应完成的操 作,产生相应操作的控制电位去参与形成该指令功 能所需要的全部控制命令(微操作控制信号)。 根据寻址方式的分析和指令功能要求,形成操作数的 有效地址,并按此地址取出操作数据(运算型指令) 或形成转移地址(转移类指令)以实现程序转移。,6.1.1 指令执行的基本步骤,2019/6/17,5,3.执行指令: 根据指令分析所产生的操作控制信号和形成的有效地址, 按一定的算法形成指令操作控制序列,控制有关部件完成 指令规定的功能。 一条指令执行结束,若没有异常情况和特殊请求,则按程 序顺序,再去取出并执行下一条指令。 控制器的主要功能就是按取指令、分析指令、执行指令这 样的步骤进行周而复始的控制过程,直到完成程序所规定 的任务并停机为止。,2019/6/17,6,ADD A, R7的执行过程,2019/6/17,7,6.1.2 控制器的基本功能,1控制指令的正确执行 包括指令流出的控制,分析指令和执行指令的控 制,指令流向的控制。 指令流出控制(对取指令的控制) 取指令时需进行的操作 (PC)MAR,Read ;给出指令地址,并向MEM发 出读命令 (MDR)IR ;读出的指令经MDR存放到指 令寄存器IR中 (PC)增量PC ;为取下一条指令作准备,2019/6/17,8, 分析指令和执行指令的控制 IR中的指令经指令译码器(ID)译码分析,确定操作性质, 判明寻址方式并形成操作数的有效地址。 控制器根据分析的结果和形成的有效地址产生相应的操作 控制信号序列,控制有关的部件完成指令所规定的操作功 能。 例:设某指令的IR15IR120000时为MOV指令,则 MOV 的控制信号为:,2019/6/17,9, 指令流向的控制 指令流向控制即下条指令地址的形成控制。 按指令序列顺序执行时,通过PC自动增量形成下条指 令的地址。 当需要改变指令流向时,需改变程序计数器PC中的内 容。 转移指令的执行:把形成的转向地址送入PC; 转子指令的执行:把子程序入口地址送入PC; 中断处理:将中断服务程序入口地址送入PC。 为了正确返回,转子和中断还需保留PC被改变之前的 内容(即返回地址)。,2019/6/17,10,2.控制程序和数据的输入及结果的输出 为完成某项任务而编制的程序及所需数据,必须通过某 些输入设备预先存放在存储器中,运算结果要用输出设 备输出。所以必须由控制器统一指挥,完成程序和数据 的输入及结果的输出。 3异常情况和特殊请求的处理 机器在运行程序过程中,往往可能会遇到一些异常情况 (如电源掉电、运算溢出等)或某些特殊请求(如打印 机请求传送打印字符等)。这些异常和请求往往是事先 无法预测的,控制器必须具有检测和处理这些异常情况 和特殊请求的功能。,2019/6/17,11,宏观上每条指令的执行过程均是取指、译码、执行,但每条指令有不同的操作序列,需要在不同时间产生不同的控制序列,并有严格的时序要求。控制器必须根据不同指令产生不同的控制序列。 控制器的主要任务 根据不同的指令、不同的状态条件,在不同的时间,产生不同的控制信号,控制计算机的各部件自动、协调地进行工作。,2019/6/17,12,指令执行的一般流程,2019/6/17,13,6.1.3 控制器的组成,2019/6/17,14,指令部件的主要功能是完成取指令和分析指令。 程序计数器 PC (指令计数器、指令地址寄存器) 程序计数器用于保证程序按规定的序列正确运行,并提供将要执行 指令的指令地址。 由于PC可以指向主存中任一单元的地址,因此它的位数应能表示主 存的最大容量并与主存地址寄存器MAR的位数相同。 在CPU中可以单独设置程序计数器,也可以指定通用寄存器中的某 一个作为PC使用。 程序顺序执行时的PC增量可以通过PC本身的计数逻辑实现,也可以 由运算器的ALU实现。不同机器,实现方法可有所不同。,1指令部件,2019/6/17,15,(2) 指令寄存器 IR:用于存放当前正在执行的指令。 当指令从主存取出后,经MDR传送到指令寄存器中,以便 实现对一条指令执行的全部过程的控制。 (3) 指令译码器 ID:是指令分析部件。 对指令寄存器中的指令操作码进行译码分析,产生相应操 作的控制电位,提供给微操作控制信号形成部件。对寻址 方式字段进行译码分析,以控制操作数有效地址的形成。 (4) 地址形成部件:根据寻址方式,形成有效地址。 在一些微、小型机中,为简化硬件逻辑,通常不设置专门 的地址形成部件,而是借用运算器实现有效地址的计算。,2019/6/17,16,2时序控制部件,时序控制部件:用于产生一系列时序信号,为各个微操作 定时,以保证各个微操作的执行顺序。 从宏观(即程序控制)上看,计算机的解题过程实质上是指令序列即一条条指令的执行过程。 从微观(即指令控制)上看,计算机的解题过程是微操作序列即一个个(或一组组)微操作的执行过程。 微操作:机器最简单的基本操作 一条指令的执行过程可以分解为若干微操作。这些微操作 有着严格的时间顺序要求,不可随意颠倒。,2019/6/17,17,(1)脉冲源:用于产生一定频率的主时钟脉冲。 一般采用石英晶体振荡器作为脉冲源。计算机电源一接通,脉冲源立即按规定频率给出时钟脉冲。 (2)启停电路:控制整个机器工作的启动与停止。 实际上是保证可靠地送出或封锁主时钟脉冲,控制时序信 号的发生与停止。 (3)时序信号发生器:用于产生机器所需的各种时序信 号,以便控制有关部件在不同的时间完成不同的微操作。 不同的机器,有着不同的时序信号。 在同步控制的机器中,一般包括周期、节拍、脉冲等三级 时序信号。,2019/6/17,18,微操作控制信号形成部件:根据指令部件提供的操作控制电位、时序部件所提供的各种时序信号以及有关的状态条件,产生机器所需要的各种微操作控制信号。 不同的指令,完成不同的功能,需要不同的微操作控制信号序列。每条指令都有自己对应的微操作序列。控制器必须根据不同的指令,在不同的时间,产生并发出不同的微操作控制信号,控制有关部件协调工作,完成指令所规定的任务。 4中断控制逻辑(中断机构) 用于实现异常情况和特殊请求的处理。,3微操作控制信号形成部件,2019/6/17,19,程序状态寄存器:用于存放程序的工作状态(如管态、目态等)和指令执行的结果特征(如结果为零、结果溢出等),把它所存放的内容称为程序状态字(PSW)。 例:8086 CPU中的PSW的格式,5程序状态寄存器 PSR,2019/6/17,20,控制台用于实现人与机器之间的通信联系,如启动或停止机器的运行、监视程序运行过程、对程序进行必要的修改或干预等。 早期有硬件控制台,用于设置地址和指令。现在,在大型机中有软件控制台。通过控制台命令,控制机器的启停,干预机器的工作。,6控制台,2019/6/17,21,控制器的组成方式主要是指微操作控制信号形成部件采用何种组成方式产生微操作控制信号。 控制器的组成方式主要是指微操作控制信号形成部件的组成方式。 根据产生微操作控制信号的方式不同,控制器可分为组合逻辑型、存储逻辑型、组合逻辑与存储逻辑结合型三种,它们的根本区别在于微操作信号发生器的实现方法不同,而控制器中的其他部分基本上是大同小异的。,6.1.4 控制器的组成方式,2019/6/17,22,1组合逻辑型,组合逻辑控制器是根据控制要求和状态,采用组合逻辑技术来实现的。其微操作信号发生器是由门电路组成的复杂树形网络构成的。 组合逻辑控制器也称为硬联逻辑或硬布线逻辑。 组合逻辑控制器的设计目标:使用最少器件数和取得最高操作速度。 优点:速度快 缺点:微操作信号发生器结构不规整,设计、调试、维修较困难,难以实现设计自动化。一旦控制部件构成之后,要想增加新的控制功能是不可能的。,2019/6/17,23,2存储逻辑型,存储逻辑型控制器称为微程序控制器。它是采用存储逻辑来实现的。 存储逻辑型控制器的实现方法: 把微操作信号代码化,使每条机器指令转化成为一段微程序存入控制存储器中。执行指令时,读出控存中的微指令,由微指令产生微操作控制信号。 优点:设计规整,调试、维修以及更改、扩充指令方便的优点,易于实现自动化设计,已成为当前控制器的主流。 缺点:由于它增加了一级控制存储器,所以指令的执行速度比组合逻辑控制器慢。,2019/6/17,24,3组合逻辑和存储逻辑结合型,组合逻辑和存储逻辑结合型控制器称为PLA控制器,它是吸收前两种的设计思想来实现的。 PLA控制器实际上也是一种组合逻辑控制器,但它的输出程序可编的,某一微操作控制信号由PLA的某一输出函数产生。 PLA控制器是组合逻辑技术和存储逻辑技术结合的产物,它克服了两者的缺点,是一种较有前途的方法。,2019/6/17,25,以上几种控制器的设计方法是不同的,但产生的微操作命令的功能是相同的,并且各个控制条件基本上也是一致的,都是由时序电路、操作码译码信号,以及被控部件的反馈信息有机配合而成的。 从功能上看,这几种控制器只是微操作信号发生器的结构和原理不同,而外部的输入条件和输出结果几乎完全相同。,2019/6/17,26,微操作信号发生器,2019/6/17,27,6.2 控制器的控制方式与时序系统,计算机执行指令的过程实际上是执行一系列的微操作的过程。每一条指令都对应着一个微操作序列,这些微操作中有些可以同时执行,有些则必须按严格的时间关系执行。 控制器的控制方式需解决的问题是: 如何在时间上对各种微操作信号加以控制。 6.2.1 控制方式 常用的控制方式有同步控制、异步控制和联合控制。,2019/6/17,28,1同步控制方式,同步控制方式:任何指令的运行或指令中各个微操作的执行,均由确定的具有统一基准时标的时序信号所控制。 即所有的操作均由统一的时钟控制,在标准的时间内完成。 在同步控制方式下,每个时序信号的结束就意味着安排完成的工作已经完成,随即开始执行后续的微操作或自动转向下条指令的运行。,2019/6/17,29,典型的同步控制方式是: 以微操作序列最长的指令和执行时间最长的微操作为标准,把一条指令执行过程划分为若干个相对独立的阶段(称为周期)或若干个时间区间(称为节拍),采用完全统一的周期(或节拍)控制各条指令的执行。 优点:时序关系简单,控制方便 缺点:浪费时间。 因为对比较简单的指令,将有很多节拍是不用的,处于等待。所以,在实际应用中都不采用这种典型的同步控制方式,而是采用某些折衷的方案。,2019/6/17,30,(1)采用中央控制与局部控制相结合的方法,中央控制:统一节拍的控制 根据大多数指令的微操作序列的情况,设置一个统一的节拍数,使之大多数指令均能在统一的节拍内完成。 局部控制:在延长节拍内的控制 对于少数在统一节拍内不能完成的指令,采用延长节拍或增加节拍数,使之在延长节拍内完成,执行完毕再返回中央控制。,2019/6/17,31,例:设某计算机的指令通常用8个节拍完成,即有8个中央节拍 W0W7,当某指令在8个节拍中不能完成时,就插入若干局部节拍 W6*,经过若干局部节拍 W6*后,再返回中央节拍 W7。,2019/6/17,32,(2) 采用不同的机器周期和延长节拍的方法,把一条指令执行过程划分为若干机器周期,如取指、取数、执行等周期。根据所执行指令的不同需要,选取不同的机器周期数。在节拍安排上,每个周期划分为固定的节拍,每个节拍都可根据需要延长一个节拍。 这种方法可以解决执行不同的指令所需时间不统一问题。 在Intel 8088 的指令执行过程中有读写周期、内部周期等,其中读写周期为4个节拍,但可以延长若干个节拍。,2019/6/17,33,(3) 采用分散节拍的方法,分散节拍:运行不同指令时,需要多少节拍,时序部件就发生多少节拍。 这种方法可完全避免节拍轮空,是提高指令运行速度的有效方法,但这种方法使时序部件复杂化。同时还不能解决节拍内那些简单的微操作因等待所浪费的时间。,2019/6/17,34,2异步控制方式,异步控制方式:没有统一的同步信号,采用问答方式进行时序协调,将前一操作的回答信号作为下一操作的启动信号。 异步控制方式不仅要区分不同指令对应的微操作序列的长短,而且要区分其中每个微操作的繁简,每条指令、每个微操作需要多少时间就占用多少时间。 这种方式不再有统的周期、节拍,各个操作之间采用应答方式衔接,前一操作完成后给出回答信号,启动下一个操作。,2019/6/17,35,3联合控制方式,联合控制方式:将同步控制和异步控制相结合。 联合控制方式通常的设计思想:在功能部件内部采用同步方式或以同步方式为主的控制方式;在功能部件之间采用异步方式。 例如,对可以统一的微操作采用同步控制,对难以统一的微操作采用异步控制。 实际上现代计算机中几乎没有完全采用同步或完全采用异步的控制方式,大多数都采用联合控制方式。,2019/6/17,36,6.2.2 时序系统,时序系统是控制器的心脏,由它为指令的执行提供各种定时信号。通常,设计时序系统主要是针对同步控制方式的。 1指令周期与机器周期 指令周期:从取指令、分析指令到执行完一条指令所需的全部时间。 由于各种指令的操作功能不同,繁简程度不同,因此各种指令的指令周期也不尽相同。 机器周期(CPU周期):指令周期中的某一工作阶段所需的时间。在指令执行过程中,各机器周期相对独立。 一条指令的指令周期由若干个机器周期所组成,每个机器周期完成一个基本操作。所以机器周期也称为基本周期。,2019/6/17,37,一般机器的CPU周期有取指周期、取数周期、执行周期,中断周期等。 每个机器周期设置一个周期状态触发器与之对应,机器运行于哪个周期,与其对应的周期状态触发器被置为“1”。显然,机器运行的任何时刻都只能建立一个周期状态,因此同一时刻只能有一个周期状态触发器被置为“1”。 不同工作周期所占的时间可以不等。由于CPU内部操作速度快,而CPU访存所花时间较长,所以许多计算机系统往往以主存周期为基础来规定CPU周期,以便二者工作协调配合。,2019/6/17,38,节拍:把一个机器周期等分成若干个时间区间,每一时间区间称为一个节拍。一个节拍对应一个电位信号,控制一个或几个微操作的执行。 在一个机器周期内,要完成若干个微操作,这些微操作不但需要占用一定的时间,而且有一定的先后次序。因此,在同步控制方式中,基本的控制方法就是把一个机器周期等分成若干个节拍,每一个节拍完成一步基本操作,如一次传送、一次加减运算等。 一个节拍电位信号的宽度取决于CPU完成一个基本操作的时间。,2节拍,2019/6/17,39,节拍提供了一项基本操作所需的时间分段,但有的操作(如打入寄存器),还需严格的定时脉冲,以确定在哪一时刻打入。节拍的切换,也需要严格的同步定时。所以在一个节拍内,有时还需要设置一个或几个工作脉冲,用于寄存器的复位和接收数据等。 脉冲:一个节拍内设置的一个或几个工作脉冲。,3. 脉冲(定时脉冲),2019/6/17,40,常见的设计是在每个节拍的末尾发一次工作脉冲,脉冲前沿可用来打入运算结果(或传送),脉冲后沿则实现周期的切换。 也有的计算机,在一个节拍中先后发出几个工作脉冲,有的脉冲位于节拍前端,可用作清除脉冲;有的脉冲位于中部,用作控制外围设备的输入/输出脉冲;有的脉冲位于尾部,前沿用作CPU内部的打入,后沿实现周期切换。,2019/6/17,41,周期、节拍、脉冲构成了三级时序系统,它们之间关系如下图所示。图中包括两个机器周期M1、M2,每个周期包含四个节拍W0W3,每个节拍内有一个脉冲P。,2019/6/17,42,微型机中常用的时序系统与上述三级时序系统有所不同,称之为时钟周期时序系统。下图所示的是一典型指令的基本时序,一个指令周期包含三个机器周期:取指周期、存储器读周期和存储器写周期,三个周期中分别包含4个、3个、3个时钟周期。,2019/6/17,43,6.3 CPU的总体结构,CPU即中央处理器,它包含运算器和控制器两个部分。其功能为: 程序控制:标准程序按所要求的次序正确执行。 操作控制:管理何产生每条指令所需的操作信号,送往有关部件,控制完成指令规定的操作。 时序控制:对各种操作实施时间上的定时,使计算机有条不紊地工作。 数据加工:对数据进行算逻运算处理。,2019/6/17,44,6.3.1 寄存器的设置,不同计算机的CPU结构存在差别,但在CPU中一般都设置下列寄存器: (1)指令寄存器 IR (2)程序计数器 PC (3)累加寄存器 AC (4)程序状态寄存器 PSR (5)地址寄存器 MAR (6)数据缓冲寄存器 MDR(或MBR) 其中、是用户可用的,、是用户不可用的。 CPU中还常设置一些程序不能直接访问,用于暂存操作数据或中间 结果的寄存器,称为暂存器。,2019/6/17,45,通用寄存器:一组程序可访问的、具有多种功能的寄存器。 在指令系统中,为通用寄存器分配了编号(寄存器地址),可以编程指定使用其中的某个寄存器。 通用寄存器自身的逻辑往往很简单并且比较统一,甚至是快速的小规模存储器的一些单元,但通过编程与运算器配合,可指定其实现多种功能,如提供操作数、保存中间结果(即作累加器用),或用作地址指针、基址寄存器、变址寄存器、计数器等。,2019/6/17,46,6.3.2 数据通路结构及指令流程分析,数据通路:信息传送的基本路径。 CPU内部的数据通路通常是指运算器与寄存器之间的信息传输通道。(总线) 数据通路结构直接影响着CPU内各种信息的传送路径。数据通路不同,指令执行过程的微操作序列的安排也不同,它将直接影响到微操作信号形成部件的设计。,2019/6/17,47,1总线结构, 单总线结构 CPU内部采用单总线IBUS将寄存器和算术逻辑运算部件连接起来。CPU、主存、I/O设备也通过一组单总线(系统总线)连接起来。 在单总线结构中,CPU内部的任何两个部件间的数据传送都必须经过单总线IBUS,因此单总线结构的控制比较简单,但传送速度受到限制。在一些微、小型机中常采用这种结构。,2019/6/17,48,单总线结构的CPU,2019/6/17,49, 双总线结构,CPU内部采用两条总线(B总线和F总线),将寄存器和算术逻辑运算部件连接起来。各寄存器可通过控制门,建立寄存器与总线之间的联系。CPU通过地址总线ABUS和数据总线DBUS与主存、I/O设备连接。,2019/6/17,50,双总线结构的CPU,2019/6/17,51,2. 指令流程分析,指令流程:指令的操作过程。 对指令流程的影响因素:指令功能、寻址方式、数据通路、ALU的功能、指令执行的基本步骤等。 指令功能功能不同,操作数的数量不同,指令流程不同。 寻址方式不同,寻找操作数的过程不同。 数据通路不同,传送数据时的控制过程不同。 ALU的功能不同,指令的执行步骤不同。 不同的指令,执行时的基本步骤不同。如访存指令,需要访问存储器;RR型指令不需要访存。,2019/6/17,52,例:分析单总线结构的CPU中,指令 ADD (R1),R0的指令流程。设前一操作数地址为源,后一操作数地址为目的。 解:指令功能: (R1) ( R0)R0,1,2019/6/17,53,指令流程如下: (1) (PC)MAR,Read,PCY ;送指令地址,读主存 (2) M MDR IR,(Y)+1 Z ;取指令到IR,PC+1暂存于Z (3) (Z) PC ; PC1PC (4) (R1)MAR,Read ;送源操作数地址 (5) MMDRY ;取出源操作数到Y中 (6) (Y)(R0)Z ;执行加法运算,结果暂存Z (7) (Z)R0 ;加法结果送回目标寄存器,2019/6/17,54,例:分析单总线结构CPU中,转移指令 JC D 的指令流程。 解:指令功能: IF C1 THEN (PC)DPC 指令流程如下: (1)(PC)MAR,Read,(PC)1Z ;送指令地址读主存 (2) (Z)PC ;PC1PC (3) MMDRIR ;取指令到IR (4) IF C1 (PC)Y ;送当前指令地址 (5) YIR(D部分)Z ;计算转移地址 (6)(Z)PC ;下条指令实现转移,2019/6/17,55,根据指令流程还需要作进一步的控制信息分析 例:分析单总线结构的CPU中指令ADD X(R1),(R2)+ 的指令流程和控制信号序列。 设:指令格式为两字节指令,第二字节为变址值X。 源操作数采用变址寻址,目的操作数采用自增型变址寻址。 指令功能:(X+(R1)+(R2)(R2), (R2)+1R2 解:指令流程和微控制信号序列如下表所示,2019/6/17,56,ID,IR,PC,R0,R1,MAR,MDR,TEMP,Y,Z,IRout,IRin,PCout,PCin,R0out,R0in,R1out,R1in,MARin,MARout,MDRin,TEMPout,TEMPin,Yin,0Y,Zout,ADD,SUB,1Cin,Zin,主 存,Read,Write,2019/6/17,57,2019/6/17,58,2019/6/17,59,例:分析双总线结构的CPU中,指令 ADD X(R1),(R2)+ 的指令流程和控制信号。 设ALU的功能有: FAB(ADD),FAB(SUB), FA1(INC),FA1(DEC),FA 可通过总线连接器G将总线B的信息直接传到F总线。其控 制信号为Gon。,2019/6/17,60,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,2019/6/17,61,2019/6/17,62,如果没有总线连接器G,则ALU需要增加功能: FB 可以将Gon信号改为FB。,2019/6/17,63,例:在双总线结构的机器中,分析转子指令:JSR X的执 行过程。设机器中没有总线连接器,ALU的功能为: FAB,FAB, FA1,FA1, FA,FB 分析:JSR为双字节指令,X为子程序入口地址,在第二字 节。 转子指令的功能:将断点地址保存到堆栈中,将X送入 PC,实现程序转移。,2019/6/17,64,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,2019/6/17,65,2019/6/17,66,上题中,如果ALU的功能增加为 FAB,FAB, FA1,FA1, FB1,FB1, FA,FB 则控制序列可以进一步简化。 即指令执行过程与指令功能、寻址方式、数据通路、ALU功能等紧密相关。,2019/6/17,67,2019/6/17,68,6.4 模型机的总体结构,以模型机为例,进一步了解控制器的控制原理和设计方法,建立计算机的整机结构。,2019/6/17,69,2019/6/17,70,6.4.1 模型机的数据通路,1.字长:16位 2.总线结构: 内部总线:双总线结构 BUS1:输入总线, BUS2:输出总线 :输出控制门信号,如MDRBUS1 CP:输入控制信号,如CPY 系统总线: 地址总线:ABUS,数据总线:DBUS I/O与主存共享总线,用 MREQ 控制访存;用IOREQ 控制访问I/O R/W=1,读, R/W=0,写,2019/6/17,71,3. 寄存器 (大多数采用D触发器),2019/6/17,72,4. ALU 由SN74181构成,在控制信号S3S0及M、C0的控制 下,可完成16种逻辑运算和16种算术运算。 M0:算术运算 M1:逻辑运算,2019/6/17,73,说明:在算术运算中, 当 M=0,C0=1时, 0110 A-B=A+B+1 1111A+1,2019/6/17,74,5. 状态标志 用于记录运算结果特征,可作为转移判断条件 Cc:进位标志,打入脉冲:CPCc Cz:为零标志,打入脉冲:CPCz 6.移位器:采用斜送方式实现移位传递,直送方式实现直接传递。,1,Fn,An1,SL,An1,An,DM,SR,2019/6/17,75,7.模型机的编址 主存按字编址,容量64K字,字长16位,16位地址可寻址 64K。,2019/6/17,76,6.4.2 模型机的指令系统,1.指令格式与指令类型 双操作数指令 包括:MOV、ADD、SUB、AND、OR、EOR,源地址ES,目的地址ED,2019/6/17,77,包括:INC、COM、ROL、ROR,目的地址ED, 单操作数指令,2019/6/17,78,转移指令采用相对寻址:转移地址(PC)D D采用补码,进行运算时,需进行符号扩展 包括:JP(无条件转移)、JC(C1转移)、JZ (Z1转 移) 、JSR(转子) 转子指令操作: (SP)-1SP,PC(SP),(PC)+DPC, 转移指令,2019/6/17,79, 返回与停机指令,返回与停机指令均为零地址指令 RTS 返回指令的功能是:从子程序返回主程序 返回地址PC,即(SP)PC,(SP)1SP HALT 停机指令的功能是:0RUN,将时钟信号截断。,特征,特征,2019/6/17,80,2019/6/17,81,2.寻址方式,除自减型寄存器间址不能使用PC外,其余寻址方式可以使用所有可编程寄存器。,2019/6/17,82,自增型寄存器间址中 若RnSP,则(SP)为堆栈中的弹出数据操作。 若RnPC,则为立即寻址,立即数保存在该指令的下一单 元中。 注意:如果目的操作数采用立即寻址,则有可能使指令数 据不安全。 自减型寄存器间址中 若RnSP,则(SP) 为堆栈中的压入数据操作。,2019/6/17,83,变址寻址指令为双字,取指后需两次访存才能得到操作数。 取指令操作码后 (PC)MAR,Read ;送X的地址,读X (PC)1PC ;PC增量 MMDRY ;取X值到Y (Y)(Rn)MAR ,Read ;形成有效地址,读操作数 变址寻址中,若RnPC,则为相对寻址。,2019/6/17,84,6.4.3 模型机的时序系统,模型机采用同步控制方式、三级时序逻辑系统,即利用周 期、节拍、脉冲构成控制时序。 1. 机器周期 每个机器周期内可以完成一次主存的读/写操作。 模型机设置六种机器周期,2019/6/17,85,取指周期 FT:完成取指、分析、(PC)1PC 取源周期 ST:执行双操作数指令时,完成源操作数的寻 址,取源操作数。(寄存器寻址时不用) 取目的周期 DT:完成目的操作数的寻址,取目的操作数。 (寄存器寻址时不用) 执行周期 ET:完成指令操作,并保存结果。 中断周期 IT:处理中断请求 DMA周期 DMAT:实现DMA传送。,本章暂不讨论,2019/6/17,86,CPU中任何时候都只能有一个周期存在,可以用六个状态标志表示CPU当前进入了哪一个周期。 可用六个触发器表示六种不同的周期状态。 TEND P为各触发器的打入脉冲,表示在每个机器周期的最后一个时钟脉冲时,发出打入脉冲。,2019/6/17,87,2.节拍,节拍用于在一个周期中产生不同的微操作信号。 每个周期中设置四个节拍T0、T1、T2、T3。 为节省节拍,在取目的周期 DT 和执行周期 ET中安排两种节拍,即根据微操作的需要,可选择两个节拍,也可选择四个节拍。 每个节拍内设置一个脉冲,用于寄存器接收代码,如CPIR、CPPC等均为脉冲信号。寄存器接收数据使用脉冲的前沿。脉冲的后沿用于周期、节拍的转换。,2019/6/17,88,3. 脉冲,模型机在每个节拍内设置一个脉冲,其作用是: 用于寄存器接收代码。如各寄存器的CP脉冲。 用于周期、节拍的转换。通常利用脉冲的前沿接收数 据,用脉冲的后沿进行周期、节拍的转换。,2019/6/17,89,2019/6/17,90,PCBUS1,CPPC,BUSi,BUS1,BUS2,CPMAR,BUSi,ALU,A,移位器,DM,i,S3S0 M,例:(PC)MAR 所需信号 PCBUS1=1 S3S2S1S0M=11111 DM=1 CPMAR 是电位信号,需在一个节拍内有效;是脉冲信号,其前沿将数据打入,后沿变换节拍。,节拍,脉冲,2019/6/17,91,6.5 组合逻辑控制器的设计,用组合逻辑方法设计控制器的微操作控制信号形成部件,需要根据每条指令的要求,让节拍电位和脉冲有步骤地去控制机器的有关部件,一步一步地依次执行指令所规定的微操作序列,从而在一个指令周期内完成一条指令所规定的全部操作功能。,2019/6/17,92,6.5.1 组合逻辑控制器的设计步骤,在设计控制器之前,需由计算机系统结构设计人员设计好机器的指令系统、数据表示、时序系统,在此基础上,才能进行控制器的硬件线路设计。 组合逻辑控制器设计的设计步骤: 1.分析指令的执行步骤,绘制指令操作流程图 分析指令操作流程的目的是确定指令执行的具体步骤,决定各步所需的控制命令。,2019/6/17,93,指令操作流程图:根据机器指令的结构格式、数据表示方式及各种运算的算法,把每条指令的执行过程分解成若干功能部件能实现的基本微操作,并以图的形式排列成有先后次序、相互衔接配合的流程。 指令流程图可以比较形象、直观地表明一条指令的执行步骤和基本过程。,2019/6/17,94,绘制指令流程图的两种思路。 以指令为线索,按指令类型分别绘制各条指令的流程。 这种方法对一条指令的全过程有清晰的线索,易于理解。 以周期为线索,按机器周期拟定各类指令在本周期内的操作流程,再以操作时间表形式列出各个节拍内所需的控制信号及它们的条件。 这种方法便于微操作控制信号的综合、化简,容易取得优化结果。 为理解控制器设计方法,模型机设计基本采用了后一种方法。,2019/6/17,95,指令操作时间表:把指令流程图中的各个微操作具体落实到各个机器周期的相应节拍和脉冲中去,并以微操作控制信号的形式编排成一张表。 指令操作时间表用于形象地表明控制器应该在什么时间,根据什么条件发出哪些微操作控制信号。指令操作时间表是指令流程图的进一步具体化。,2. 编排指令操作时间表,3. 进行微操作综合,对操作时间表中各个微操作控制信号分别按其条件进行归纳、综合,列出其综合的逻辑表达式,并进行适当的调整、化简,得到比较合理的逻辑表达式。,2019/6/17,96,4.设计微操作控制信号形成部件,根据各个微操作控制信号的逻辑表达式,用硬件逻辑电路加以实现。 实现方法: 根据逻辑表达式画出逻辑电路图,用组合逻辑网络实现 直接根据逻辑表达式用PLD器件如PLA、PAL、GAL等实现。,2019/6/17,97,6.5.2 模型机的指令流程图及操作时间表,1取指周期(FT)操作流程图 因为任何指令都必须进入取指周期,所以取指操作也称为 取指公操作。 对于涉及访存的周期通常需要有4个节拍,其中3个节拍用 于访存取数,1个节拍用于操作和判断。各节拍的操作为: T0:将访存地址送入MAR T1:发访存请求信号和读信号,从主存读出信息送入MDR T2:将读出信息从MDR传送到有关寄存器。 T3:进行相关操作和判断,2019/6/17,98,在取指周期内,各节拍的操作为: FT0:指令地址MAR FT1:读指令MDR,PC1PC FT2:将MDR中的现行指令传送到IR,并由ID进行译码。 FT3:根据指令译码结果进行判断,以确定下面应进入哪 个机器周期。,2019/6/17,99,2019/6/17,100,在FT3节拍中,首先判断所取指令是否为转移类指令。模型机中共定义了4条转移指令:,直接进入执行周期ET JUMPIR15(IR14IR13),2019/6/17,101,如果源(SR)和目的(DR)操作数均采用寄存器寻址,也 可以直接进入执行周期ET;否则,如果为双操作数指令需 进入取源周期ST;如果为单操作数指令需进入取目的周期 DT。 指令有源操作数SR时:IR11IR10IR9表示寻址方式 指令有目的操作数DR时:IR5IR4IR3表示寻址方式 令SR IR11IR10IR9 DR IR5IR4IR3,2019/6/17,102,进入ST,进入DT,进入ET,2019/6/17,103,各节拍中的控制信号,TENDP,P表示时钟脉冲的前沿(上升沿)起作用。 P表示时钟脉冲的后沿(下降沿)起作用。,2019/6/17,104,2取源周期(ST)的操作流程图,双操作数指令的源寻址方式为非寄存器寻址时,需进入取源周期,完成源操作数寻址并取源操作数。取出的源操作数暂存在暂存器TEMP中。 不同寻址方式有效地址形成方法不同,因此操作流程也不同。,2019/6/17,105,2019/6/17,106,源操作数寻址方式的判断条件: 寄存器间接寻址:(RS) IR11IR10IR9 自增型寄存器间接寻址:(RS) IR11IR10IR9 自减型寄存器间接寻址:(RS) IR11IR10IR9 变址寻址:XS IR11IR10IR9,2019/6/17,107,取源时间表,2019/6/17,108,2019/6/17,109,2019/6/17,110,3. 取目的周期(DT)的操作流程图,当双操作数指令和单操作数指令的目的寻址方式为非寄存器寻址时,进入取目的周期完成目的操作数地址的寻址并读取目的操作数。 由于目的操作数在执行周期才送入ALU的A输入端运算,所以取出的目的操作数暂不传送,而保留在MDR中,因此对于非变址寻址的寻址方式只安排两个节拍即可完成操作。 MOV指令的目的寻址为非寄存器寻址时,也需进入目的周期,但因MOV指令只需传送目的地址而不需取目标操作数,因而操作比较简单。,2019/6/17,111,非MOV指令,2019/6/17,112,MOV指令,2019/6/17,113,取目的时间表,2019/6/17,114,2019/6/17,115,2019/6/17,116,4. 执行周期(ET)的操作流程图,由于不同指令具有不同的操作功能,不同的寻址方式,操作数有不同的来源,因此不同指令在执行周期的操作流程也各不相同,需要按不同的指令绘制执行周期的操作流程图。 对于多数指令,执行周期的操作均可在两拍内完成,所以多数指令的执行周期内只设两个节拍。 但对于JSR、RTS以及双操作数指令的目的寻址为非寄存器寻址(即DR0)时,因为需要访存,所以在执行周期内设四个节拍来完成。 在模型机的节拍发生器中,通过控制触发器C2的T输入端,可以选择执行周期的节拍数。,2019/6/17,117,模型机严格按照周期、节拍工作,根据各指令所需的周期 数和各周期所需的节拍数,可以计算每条指令所需的节拍 数。 例:计算指令 ADD R0,R1所需的周期和节拍数。 解: R0,R1采用寄存器寻址,需要取指和执行两个周期。 FT周期需4个节拍,ET周期需2个节拍 共需6个节拍,2019/6/17,118,例:计算指令 ADD X1(R0),X2(R1)所需的周期和节拍数。 解:,2019/6/17,119,CPU控制流程(一条指令的控制流程),2019/6/17,120,6.5.3 微操作控制信号综合,指令操作时间表根据指令流程、时序系统和数据通路结构,列出了实现整个指令系统的全部操作控制信号。将同一种控制信号在不同时间下产生的条件进行归纳、综合、化简后,就可写出该控制信号的综合逻辑表达式。 逻辑表达式中包括下列因素: 微操作控制信号F(周期、节拍、脉冲、指令、状态条件),2019/6/17,121,例:读信号(R/W)的逻辑表达式 例:脉冲信号CPTEMP的逻辑表达式 例:脉冲信号PCBUS1的逻辑表达式,2019/6/17,122,可用一个触发器产生重复周期信号Repeat Reset信号使Repeat0。 进入ST或DT后,若需要重复周期,就使CPRepeat有效,Repeat1。,2019/6/17,123,在重复周期还需要CP脉冲,使Repeat翻转为 0。 CPRepeat的逻辑表达式,2019/6/17,124,设计控制信号形成电路,将逻辑表达式经逻辑综合、化简得到各个微操作控制信号 的比较合理的表达式后,即可设计实现电路。 1. 用组合逻辑电路实现 将各微操作控制信号用组合逻辑电路实现,就构成了组合 逻辑控制器的微操作控制信号形成部件。 在实际设计过程中,用硬件实现逻辑电路图时,有时受逻 辑门的扇入系数限制,需要修改逻辑表达式,此时就可能 要增加逻辑电路。如果信号所经过的级数也增加的话,还 将增加延迟时间。另外在实现时还有负载问题。,2019/6/17,125,例:读信号(R/W)的逻辑电路图,2019/6/17,126,2 用PLA器件实现,可编程逻辑阵列PLA电路是由与阵列和或阵列组成,电路的输出为输入项的与或式。 经微操作综合而得到的微操作控制信号的逻辑表达式基本上都是与或表达式,因而可很方便地用PLA电路实现。 例:用PLA器件实现下列逻辑函数,2019/6/17,127,2019/6/17,128,当用PLA器件实现模型机控制信号逻辑时,则将指令码、机器周期、节拍、脉冲及某状态条件作为PLA器件的与阵列输入信号,按微操作信号综合所得的逻辑表达式分别对与阵列、或阵列进行编程,即可由或阵列输出各个控制信号。,2019/6/17,129,2019/6/17,130,6.6 微程序控制器设计,6.6.1 微程序控制器的基本概念 组合逻辑控制器的缺点 繁琐、杂乱,缺乏规律性,设计效率低,不利于检查 调试。 不易修改和扩充,缺乏灵活性。 因为设计结果用印刷电路板(硬连逻辑)固定下来以后,就 很难再修改与扩充。 因此,我们可将微命令编成代码,存入ROM中,需要时取出.,2019/6/17,131,例:模型机中指令 ADD R1,R2的指令执行过程及控制信号。,(PC)MAR,读主存 (PC)1PC,(MDR)IR,1ET,FT0,FT1,FT2,FT3,PCBUS1,S3S2S1S0M,DM,CPMAR,MRQ,R/W=1,PCBUS1,S3S2S1S0M,C0,DM,CPPC,MDRBUS1,S3S2S1S0M,DM,CPIR,1ET,CPET,(R1)Y,ET0,ET1,R0BUS1,S3S2S1S0M,DM,CPR0,CPCC,CPCZ,R1BUS1,S3S2S1S0M,DM,CPY,(R0)+(Y)R0 END,2019/6/17,132,可以利用二进制编码描述操作系列。,2019/6/17,133,2019/6/17,134,例: 微操作:PCBUS1,S3S2S1S0M,DM,CPMAR 对应的控制信 号编码为: 111 11111 0 00 10 000 1 00 微操作:MRQ,R/W=1,PCBUS1,S3S2S1S0M,C0,DM,CPPC 对应的控制信号编码为: 111 11110 1 00 00 111 1 01 微操作:MDRBUS1,S3S2S1S0M,DM,CPIR 对应的控制信 号编码为: 101 11111 0 00 01 000 00,2019/6/17,135,将指令要执行的控制信号用二进制编码字编码后依次存入存储器。执行指令时,顺序读出编码字,产生控制命令,即可控制有关部件完成规定的操作。 这种控制思想称为微程序控制。 微程序设计将软件设计技术应用到硬件设计中,其通道是:应用灵活,控制规整,便于计算机设计自动化,并易于修改和扩充。 CISC系列的小、微型机多采用微程序控制方法设计控制器。,2019/6/17,136,微程序设计的实质是:用程序设计的思想方法来组织操作控制逻辑,用规整的存储逻辑代替繁杂的组合逻辑。 因为微程序控制是将微操作控制信号以编码字(即微指令)的形式存放在控制存储器中。执行指令时,通过依次读取一条条微指令,产生一组组操作控制信号,控制有关功能部件完成一组组微操作。因此,又称为存储逻辑。,2019/6/17,137,在微程序控制机器中,涉及到两个层次。 一个层次是使用机器语言的程序员所看到的传统机器级 机器指令。用机器指令编制工作程序,完成某一处理任务。CPU执行的程序存放在主存储器中。 另一个层次是硬件设计者所看到的微程序级微指令。用微指令编制微程序,用以完成一条机器指令的功能。微程序存放在控制存储器中。微指令用于产生一组控制命令,称为微命令,控制完成一组微操作。,2019/6/17,138,1.

温馨提示

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

评论

0/150

提交评论