版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2020/8/12,1,第 6 章 控制器原理,2020/8/12,2,本章学习内容,控制器的功能与组成 控制方式与时序系统 CPU的总体结构与指令流程分析 组合逻辑控制器与微程序控制器,2020/8/12,3,6.1 控制器的基本概念,控制器和运算器一起组成中央处理器,即CPU。 控制器是计算机的指挥和控制中心,由它把计算机的运算器、存储器、I/O设备等联系成一个有机的系统,并根据各部件具体要求,适时地发出各种控制命令,控制计算机各部件自动、协调地进行工作。 控制器的功能是根据事先编好并存放在存储器中的解题程序,控制各部件有条不紊地、自动协调地进行工作。,2020/8/12,4,计算机运行程
2、序的基本过程: 1.取指令: 根据指令地址(由PC提供),从存储器中取出所要执行的指令。 2.分析指令: 对取出的指令进行译码分析。确定指令应完成的操作,产生相应操作的控制电位去参与形成该指令功能所需要的全部控制命令(微操作控制信号)。 根据寻址方式的分析和指令功能要求,形成操作数的有效地址,并按此地址取出操作数据(运算型指令)或形成转移地址(转移类指令)以实现程序转移。,6.1.1 指令执行的基本步骤,2020/8/12,5,3.执行指令: 根据指令分析所产生的操作控制信号和形成的有效地址,按一定的算法形成指令操作控制序列,控制有关部件完成指令规定的功能。 一条指令执行结束,若没有异常情况和
3、特殊请求,则按程序顺序,再去取出并执行下一条指令。 控制器的主要功能就是按取指令、分析指令、执行指令这样的步骤进行周而复始的控制过程,直到完成程序所规定的任务并停机为止。,2020/8/12,6,ADD A, R7的执行过程,2020/8/12,7,6.1.2 控制器的基本功能,1控制指令的正确执行 包括指令流出的控制,分析指令和执行指令的控制,指令流向的控制。 指令流出控制(对取指令的控制) 取指令时需进行的操作 (PC)MAR,Read ;给出指令地址,并向MEM发 出读命令 (MDR)IR ;读出的指令经MDR存放到指 令寄存器IR中 (PC)增量PC ;为取下一条指令作准备,2020/
4、8/12,8, 分析指令和执行指令的控制 IR中的指令经指令译码器(ID)译码分析,确定操作性质,判明寻址方式并形成操作数的有效地址。 控制器根据分析的结果和形成的有效地址产生相应的操作控制信号序列,控制有关的部件完成指令所规定的操作功能。 例:设某指令的IR15IR120000时为MOV指令,则 MOV 的控制信号为:,2020/8/12,9, 指令流向的控制 指令流向控制即下条指令地址的形成控制。 按指令序列顺序执行时,通过PC自动增量形成下条指令的地址。 当需要改变指令流向时,需改变程序计数器PC中的内容。 转移指令的执行:把形成的转向地址送入PC; 转子指令的执行:把子程序入口地址送入
5、PC; 中断处理:将中断服务程序入口地址送入PC。 为了正确返回,转子和中断还需保留PC被改变之前的内容(即返回地址)。,2020/8/12,10,2.控制程序和数据的输入及结果的输出 为完成某项任务而编制的程序及所需数据,必须通过某些输入设备预先存放在存储器中,运算结果要用输出设备输出。所以必须由控制器统一指挥,完成程序和数据的输入及结果的输出。 3异常情况和特殊请求的处理 机器在运行程序过程中,往往可能会遇到一些异常情况(如电源掉电、运算溢出等)或某些特殊请求(如打印机请求传送打印字符等)。这些异常和请求往往是事先无法预测的,控制器必须具有检测和处理这些异常情况和特殊请求的功能。,2020
6、/8/12,11,宏观上每条指令的执行过程均是取指、译码、执行,但每条指令有不同的操作序列,需要在不同时间产生不同的控制序列,并有严格的时序要求。控制器必须根据不同指令产生不同的控制序列。 控制器的主要任务 根据不同的指令、不同的状态条件,在不同的时间,产生不同的控制信号,控制计算机的各部件自动、协调地进行工作。,2020/8/12,12,指令执行的一般流程,2020/8/12,13,6.1.3 控制器的组成,2020/8/12,14,指令部件的主要功能是完成取指令和分析指令。 程序计数器 PC (指令计数器、指令地址寄存器) 程序计数器用于保证程序按规定的序列正确运行,并提供将要执行指令的指
7、令地址。 由于PC可以指向主存中任一单元的地址,因此它的位数应能表示主存的最大容量并与主存地址寄存器MAR的位数相同。 在CPU中可以单独设置程序计数器,也可以指定通用寄存器中的某一个作为PC使用。 程序顺序执行时的PC增量可以通过PC本身的计数逻辑实现,也可以由运算器的ALU实现。不同机器,实现方法可有所不同。,1指令部件,2020/8/12,15,(2) 指令寄存器 IR 指令寄存器用于存放当前正在执行的指令。 当指令从主存取出后,经MDR传送到指令寄存器中,以便实现对一条指令执行的全部过程的控制。 (3) 指令译码器 ID 指令译码器是指令分析部件,对指令寄存器中的指令操作码进行译码分析
8、,产生相应操作的控制电位,提供给微操作控制信号形成部件。对寻址方式字段进行译码分析,以控制操作数有效地址的形成。 (4) 地址形成部件 根据机器所规定的各种寻址方式,形成操作数有效地址。 在一些微、小型机中,为简化硬件逻辑,通常不设置专门的地址形成部件,而是借用运算器实现有效地址的计算。,2020/8/12,16,2时序控制部件,时序控制部件:用于产生一系列时序信号,为各个微操作定时,以保证各个微操作的执行顺序。 从宏观(即程序控制)上看,计算机的解题过程实质上是指令序列即一条条指令的执行过程。 从微观(即指令控制)上看,计算机的解题过程是微操作序列即一个个(或一组组)微操作的执行过程。 微操
9、作:机器最简单的基本操作 一条指令的执行过程可以分解为若干微操作。这些微操作有着严格的时间顺序要求,不可随意颠倒。,2020/8/12,17,(1)脉冲源 脉冲源用于产生一定频率的主时钟脉冲。一般采用石英晶体振荡器作为脉冲源。计算机电源一接通,脉冲源立即按规定频率给出时钟脉冲。 (2)启停电路 启停电路用于控制整个机器工作的启动与停止。实际上是保证可靠地送出或封锁主时钟脉冲,控制时序信号的发生与停止。 (3)时序信号发生器 时序信号发生器用于产生机器所需的各种时序信号,以便控制有关部件在不同的时间完成不同的微操作。 不同的机器,有着不同的时序信号。在同步控制的机器中,一般包括周期、节拍、脉冲等
10、三级时序信号。,2020/8/12,18,微操作控制信号形成部件:根据指令部件提供的操作控制电位、时序部件所提供的各种时序信号以及有关的状态条件,产生机器所需要的各种微操作控制信号。 不同的指令,完成不同的功能,需要不同的微操作控制信号序列。每条指令都有自己对应的微操作序列。控制器必须根据不同的指令,在不同的时间,产生并发出不同的微操作控制信号,控制有关部件协调工作,完成指令所规定的任务。 4中断控制逻辑(中断机构) 用于实现异常情况和特殊请求的处理。,3微操作控制信号形成部件,2020/8/12,19,程序状态寄存器:用于存放程序的工作状态和指令执行的结果特征(如结果为零、结果溢出等),把它
11、所存放的内容称为程序状态字(PSW)。PSW表明了系统的基本状态,是控制程序执行的重要依据。不同的机器,PSW的格式及内容不完全相同。 例:8086 CPU中的PSW的格式 CF:进位 PF:奇偶 AF:半进位 ZF:结果为0 SF:符号 TF:单步 IF:中断允许 DF:地址增/减量 OF:溢出,5程序状态寄存器 PSR,2020/8/12,20,控制台用于实现人与机器之间的通信联系,如启动或停止机器的运行、监视程序运行过程、对程序进行必要的修改或干预等。 早期有硬件控制台,用于设置地址和指令。现在,在大型机中有软件控制台。通过控制台命令,控制机器的启停,干预机器的工作。,6控制台,2020
12、/8/12,21,控制器的组成方式主要是指微操作控制信号形成部件采用何种组成方式产生微操作控制信号。 根据产生微操作控制信号的方式不同,控制器可分为组合逻辑型、存储逻辑型、组合逻辑与存储逻辑结合型三种,它们的根本区别在于微操作信号发生器的实现方法不同,而控制器中的其他部分基本上是大同小异的。,6.1.4 控制器的组成方式,2020/8/12,22,1组合逻辑型,组合逻辑控制器是根据控制要求和状态,采用组合逻辑技术来实现的。其微操作信号发生器是由门电路组成的复杂树形网络构成的。 组合逻辑控制器也称为硬联逻辑或硬布线逻辑。 组合逻辑控制器的设计目标:使用最少器件数和取得最高操作速度。 优点:速度快
13、 缺点:微操作信号发生器结构不规整,设计、调试、维修较困难,难以实现设计自动化。一旦控制部件构成之后,要想增加新的控制功能是不可能的。,2020/8/12,23,2存储逻辑型,存储逻辑型控制器称为微程序控制器。它是采用存储逻辑来实现的。 存储逻辑型控制器的实现方法: 把微操作信号代码化,使每条机器指令转化成为一段微程序存入控制存储器中。执行指令时,读出控存中的微指令,由微指令产生微操作控制信号。 优点: 设计规整,调试、维修以及更改、扩充指令方便的优点,易于实现自动化设计,已成为当前控制器的主流。 缺点:由于它增加了一级控制存储器,所以指令的执行速度比组合逻辑控制器慢。,2020/8/12,2
14、4,3组合逻辑和存储逻辑结合型,组合逻辑和存储逻辑结合型控制器称为PLA控制器,它是吸收前两种的设计思想来实现的。 PLA控制器实际上也是一种组合逻辑控制器,但它的输出程序可编的,某一微操作控制信号由PLA的某一输出函数产生。 PLA控制器是组合逻辑技术和存储逻辑技术结合的产物,它克服了两者的缺点,是一种较有前途的方法。,2020/8/12,25,以上几种控制器的设计方法是不同的,但产生的微操作命令的功能是相同的,并且各个控制条件基本上也是一致的,都是由时序电路、操作码译码信号,以及被控部件的反馈信息有机配合而成的。 从功能上看,这几种控制器只是微操作信号发生器的结构和原理不同,而外部的输入条
15、件和输出结果几乎完全相同。,2020/8/12,26,微操作信号发生器,2020/8/12,27,6.2 控制器的控制方式与时序系统,计算机执行指令的过程实际上是执行一系列的微操作的过程。每一条指令都对应着一个微操作序列,这些微操作中有些可以同时执行,有些则必须按严格的时间关系执行。 控制器的控制方式需解决的问题是: 如何在时间上对各种微操作信号加以控制。 6.2.1 控制方式 常用的控制方式有同步控制、异步控制和联合控制。,2020/8/12,28,1同步控制方式,同步控制方式:任何指令的运行或指令中各个微操作的执行,均由确定的具有统一基准时标的时序信号所控制。 即所有的操作均由统一的时钟控
16、制,在标准的时间内完成。 在同步控制方式下,每个时序信号的结束就意味着安排完成的工作已经完成,随即开始执行后续的微操作或自动转向下条指令的运行。,2020/8/12,29,典型的同步控制方式是: 以微操作序列最长的指令和执行时间最长的微操作为标准,把一条指令执行过程划分为若干个相对独立的阶段(称为周期)或若干个时间区间(称为节拍),采用完全统一的周期(或节拍)控制各条指令的执行。 优点:时序关系简单,控制方便 缺点:浪费时间。 因为对比较简单的指令,将有很多节拍是不用的,处于等待。所以,在实际应用中都不采用这种典型的同步控制方式,而是采用某些折衷的方案。,2020/8/12,30,2异步控制方
17、式,异步控制方式:没有统一的同步信号,采用问答方式进行时序协调,将前一操作的回答信号作为下一操作的启动信号。 异步控制方式不仅要区分不同指令对应的微操作序列的长短,而且要区分其中每个微操作的繁简,每条指令、每个微操作需要多少时间就占用多少时间。 这种方式不再有统的周期、节拍,各个操作之间采用应答方式衔接,前一操作完成后给出回答信号,启动下一个操作。,2020/8/12,31,这种方式可根据每条指令的操作的实际需要而分配时间,所以没有时间上的浪费,效率高。但设计复杂且费设备。,2020/8/12,32,3联合控制方式,联合控制方式:将同步控制和异步控制相结合。 联合控制方式通常的设计思想:在功能
18、部件内部采用同步方式或以同步方式为主的控制方式;在功能部件之间采用异步方式。 例如,对可以统一的微操作采用同步控制,对难以统一的微操作采用异步控制。 实际上现代计算机中几乎没有完全采用同步或完全采用异步的控制方式,大多数都采用联合控制方式。,2020/8/12,33,6.2.2 时序系统,时序系统是控制器的心脏,由它为指令的执行提供各种定时信号。通常,设计时序系统主要是针对同步控制方式的。 1指令周期与机器周期 指令周期:从取指令、分析指令到执行完一条指令所需的全部时间。 由于各种指令的操作功能不同,繁简程度不同,因此各种指令的指令周期也不尽相同。 机器周期(CPU周期):指令周期中的某一工作
19、阶段所需的时间。在指令执行过程中,各机器周期相对独立。 一条指令的指令周期由若干个机器周期所组成,每个机器周期完成一个基本操作。所以机器周期也称为基本周期。,2020/8/12,34,一般机器的CPU周期有取指周期、取数周期、执行周期,中断周期等。 每个机器周期设置一个周期状态触发器与之对应,机器运行于哪个周期,与其对应的周期状态触发器被置为“1”。显然,机器运行的任何时刻都只能建立一个周期状态,因此同一时刻只能有一个周期状态触发器被置为“1”。 不同工作周期所占的时间可以不等。由于CPU内部操作速度快,而CPU访存所花时间较长,所以许多计算机系统往往以主存周期为基础来规定CPU周期,以便二者
20、工作协调配合。,2020/8/12,35,节拍:把一个机器周期等分成若干个时间区间,每一时间区间称为一个节拍。一个节拍对应一个电位信号,控制一个或几个微操作的执行。 在一个机器周期内,要完成若干个微操作,这些微操作不但需要占用一定的时间,而且有一定的先后次序。因此,在同步控制方式中,基本的控制方法就是把一个机器周期等分成若干个节拍,每一个节拍完成一步基本操作,如一次传送、一次加减运算等。 一个节拍电位信号的宽度取决于CPU完成一个基本操作的时间。,2节拍,2020/8/12,36,节拍提供了一项基本操作所需的时间分段,但有的操作如打入寄存器,还需严格的定时脉冲,以确定在哪一时刻打入。节拍的切换
21、,也需要严格的同步定时。所以在一个节拍内,有时还需要设置一个或几个工作脉冲,用于寄存器的复位和接收数据等。 脉冲:一个节拍内设置的一个或几个工作脉冲。,3. 脉冲(定时脉冲),2020/8/12,37,常见的设计是在每个节拍的末尾发一次工作脉冲,脉冲前沿可用来打入运算结果(或传送),脉冲后沿则实现周期的切换。 也有的计算机,在一个节拍中先后发出几个工作脉冲,有的脉冲位于节拍前端,可用作清除脉冲;有的脉冲位于中部,用作控制外围设备的输入/输出脉冲;有的脉冲位于尾部,前沿用作CPU内部的打入,后沿实现周期切换。,2020/8/12,38,周期、节拍、脉冲构成了三级时序系统,它们之间关系如下图所示。
22、图中包括两个机器周期M1、M2,每个周期包含四个节拍W0W3,每个节拍内有一个脉冲P。,2020/8/12,39,微型机中常用的时序系统与上述三级时序系统有所不同,称之为时钟周期时序系统。下图所示的是一典型指令的基本时序,一个指令周期包含三个机器周期:取指周期、存储器读周期和存储器写周期,三个周期中分别包含4个、3个、3个时钟周期。,2020/8/12,40,理清几个概念,外频:超频超的就是这个,主板上石英晶体振荡器,基准时钟频率 内存频率:依赖于外频,DDR,DDR2 前端总线FSB:CPU与北桥之间的传输速度,QDR(Quad Date Rate)技术(4倍并发) 双通道内存:在北桥芯片有
23、两个内存控制器 主频:外频*倍频 倍频:一般主板锁定 南桥芯片和北桥芯片:前者接口,如声卡等;后者内存、显卡等,2020/8/12,41,6.3 CPU的总体结构,CPU即中央处理器,它包含运算器和控制器两个部分。其功能为: 程序控制:标准程序按所要求的次序正确执行。 操作控制:管理何产生每条指令所需的操作信号,送往有关部件,控制完成指令规定的操作。 时序控制:对各种操作实施时间上的定时,使计算机有条不紊地工作。 数据加工:对数据进行算逻运算处理。,2020/8/12,42,6.3.1 寄存器的设置,不同计算机的CPU结构存在差别,但在CPU中一般都设置下列寄存器: (1)指令寄存器 IR (
24、2)程序计数器 PC (3)累加寄存器 AC:用于暂存操作数据和操作结果。 (4)程序状态寄存器 PSR (5)地址寄存器 MAR (6)数据缓冲寄存器 MDR(或MBR) 其中、是用户可用的,、是用户不可用的。 CPU中还常设置一些程序不能直接访问,用于暂存操作数据或中间结果的寄存器,称为暂存器。,2020/8/12,43,通用寄存器:一组程序可访问的、具有多种功能的寄存器。 在指令系统中,为通用寄存器分配了编号(寄存器地址),可以编程指定使用其中的某个寄存器。,2020/8/12,44,6.3.2 数据通路结构及指令流程分析,数据通路:信息传送的基本路径。 CPU内部的数据通路通常是指运算
25、器与寄存器之间的信息传输通道。 数据通路结构直接影响着CPU内各种信息的传送路径。数据通路不同,指令执行过程的微操作序列的安排也不同,它将直接影响到微操作信号形成部件的设计。,2020/8/12,45,1总线结构, 单总线结构 CPU内部采用单总线将寄存器和算术逻辑运算部件连接起来。 在单总线结构中,CPU内部的任何两个部件间的数据传送都必须经过单总线,控制比较简单,但传送速度受到限制。在一些微、小型机中常采用这种结构。 双总线结构 CPU内部采用两条总线,将寄存器和算术逻辑运算部件连接起来。各寄存器可通过控制门,建立寄存器与总线之间的联系。,2020/8/12,46,2. 指令流程分析,指令
26、流程:指令的操作过程。 对指令流程的影响因素:指令功能、寻址方式、数据通路、ALU的功能、指令执行的基本步骤等。 指令功能不同,操作数的数量不同,指令流程不同。 寻址方式不同,寻找操作数的过程不同。 数据通路不同,传送数据时的控制过程不同。 ALU的功能不同,指令的执行步骤不同。 不同的指令,执行时的基本步骤不同。如访存指令,需要访问存储器;RR型指令不需要访存。,2020/8/12,47,例:分析单总线结构的CPU中,指令 ADD (R1),R0的指令流程。设前一操作数地址为源地址,后一个为目的地址。 指令功能: (R1) ( R0)R0 ALU的功能如下:F=A+B, F=A-B, F=A
27、+1, F=A-1, F=B+1, F=B-1,1,2020/8/12,48,指令流程如下: (1)(PC)MAR,Read,(PC)1Z ;送指令地址,读主存 (2) (Z)PC ;(PC)1PC (3) MMDRIR ;取指令到IR (4)(R1)MAR,Read ;送源操作数地址 (5) MMDRY ;取出源操作数到Y中 (6)(Y)(R0)Z ;执行加法运算,结果暂存Z (7)(Z)R0 ;加法结果送回目标寄存器,2020/8/12,49,ID,IR,PC,R0,R1,MAR,MDR,TEMP,Y,Z,IRout,IRin,PCout,PCin,R0out,R0in,R1out,R1i
28、n,MARin,MARout,MDRin,TEMPout,TEMPin,Yin,Zout,Zin,主 存,Read,Write,ABUS,DBUS,A,B,2020/8/12,50,例:分析单总线结构的CPU中指令ADD X(R1),(R2)+ 的指令流程和控制信号序列。 解:指令格式为两字节指令,第二字节为变址值X。 源操作数采用变址寻址,目的操作数采用自增型变址寻址。 指令功能:(X+(R1)+(R2)(R2), (R2)+1R2,2020/8/12,51,2020/8/12,52,2020/8/12,53,例:分析双总线结构的CPU中,下列指令的流程 ADD (R1),R0。 指令功能:
29、 (R1) ( R0)R0 SUB X(R1),(R2)+ 设ALU的功能有: FAB(ADD),FAB(SUB),FA1(INC),FA1(DEC),FA 可通过总线连接器G将总线B的信息直接传到F总线。其控制信号为Gon。,2020/8/12,54,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,2020/8/12,55,202
30、0/8/12,56,如果没有总线连接器G,则ALU需要增加功能: FB 可以将Gon信号改为FB。,2020/8/12,57,例:在双总线结构的机器中,分析转子指令:JSR X的执行过程。设机器中没有总线连接器,ALU的功能为: FAB,FAB, FA1,FA1, FA,FB 分析:JSR为双字节指令,X为子程序入口地址,在第二字节。 转子指令的功能:将断点地址保存到堆栈中,将X送入PC,实现程序转移。,2020/8/12,58,ID,IR,PC,R0,R1,MAR,MDR,TEMP,Y,IRB,PCB,R0B,R1B,FMAR,MARB,TEMPB,FY,ADD,SUB,A,主存,Read,
31、Write,R7,R7B,ABUS,DBUS,INC,DEC,B,FTEMP,FMDR,FR7,FR!,FR0,FPC,FIR,F,B,2020/8/12,59,2020/8/12,60,上题中,如果ALU的功能增加为 FAB,FAB, FA1,FA1, FB1,FB1, FA,FB 则控制序列可以进一步简化。 即指令执行过程与指令功能、寻址方式、数据通路、ALU功能等紧密相关。,2020/8/12,61,2020/8/12,62,6.6 微程序控制器原理,6.6.1 微程序控制器的基本概念 组合逻辑控制器的缺点 繁琐、杂乱,缺乏规律性,设计效率低,不利于检查调试。 不易修改和扩充,缺乏灵活性
32、。 因为设计结果用印刷电路板(硬连逻辑)固定下来以后,就很难再修改与扩充。,2020/8/12,63,例: 微操作: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,2020/8/12,64,将指令要执行的控制信号用二进制编
33、码字编码后依次存入存储器。执行指令时,顺序读出编码字,产生控制命令,即可控制有关部件完成规定的操作。 这种控制思想称为微程序控制。 微程序设计将软件设计技术应用到硬件设计中,其优点是:应用灵活,控制规整,便于计算机设计自动化,并易于修改和扩充。 CISC系列的小、微型机多采用微程序控制方法设计控制器。,2020/8/12,65,微程序设计的实质是:用程序设计的思想方法来组织操作控制逻辑,用规整的存储逻辑代替繁杂的组合逻辑。 因为微程序控制是将微操作控制信号以编码字(即微指令)的形式存放在控制存储器中。执行指令时,通过依次读取一条条微指令,产生一组组操作控制信号,控制有关功能部件完成一组组微操作
34、。因此,又称为存储逻辑。,2020/8/12,66,在微程序控制机器中,涉及到两个层次。 一个层次是使用机器语言的程序员所看到的传统机器级 机器指令。用机器指令编制工作程序,完成某一处理任务。CPU执行的程序存放在主存储器中。 另一个层次是硬件设计者所看到的微程序级微指令。用微指令编制微程序,用以完成一条机器指令的功能。微程序存放在控制存储器中。微指令用于产生一组控制命令,称为微命令,控制完成一组微操作。,2020/8/12,67,1. 基本概念, 微命令;直接作用于部件或控制门电路的控制命令。是构成控制信号序列的最小单位。 例如模型机中的PCBUS1,R0BUS1、CPIR、R/W等控制信号
35、都称为微命令。 微操作;由微命令控制实现的最基本的操作。 微操作的定义可大可小 例:微操作:(PC)MAR ;是在一组微命令 PCBUS1、S3S2S1S0M、DM、CPMAR的控制下实现的。 微操作:打开PC与BUS1之间的控制门;是在一个微命令PCBUS1的控制下实现的。,2020/8/12,68, 微指令:用以产生一组微命令,控制完成一组微操作的二进制编码字称为微指令。 微指令存放在控制存储器中。一条微指令通常控制实现数据通路中的一步操作过程。 微程序:一系列微指令的有序集合称为微程序。 在微程序控制的机器中,一条机器指令对应着一段由若干条有序的微指令构成的微程序;通过解释执行一段微程序
36、,可以实现相应的一条机器指令的功能。,2020/8/12,69, 微周期:从控制存储器中读取一条微指令并执行相应的微操作所需的时间称为微周期。 在微程序控制的机器中,微周期是它的主要时序信号。通常一个时钟周期为一个微周期。 微指令的执行采用同步方式,每个微周期的时间相同。在模型机中,一个微周期相当于一个节拍。 控制存储器(CM):存放微程序的存储器。也称为微程序存储器。 一般计算讥指令系统是固定的,因而实现指令系统的微程序也是固定的,所以控制存储器通常用只读存储器实现。,2020/8/12,70,2. 微程序控制器的模型及其工作过程,2020/8/12,71,在微程序控制器组成框图中,PC、I
37、R、PSR等的功能与组合逻辑控制器中的功能一致。 微程序控制器与组合逻辑控制器的主要区别在于微操作控制信号形成部件的不同。 组合逻辑控制器中的复杂组合逻辑网络在微程序控制器被规整的存储逻辑所替代。 存储逻辑中包含了存放微程序的控制存储器。,2020/8/12,72,3. 微程序控制器的主要部分, 控制存储器CM:简称控存。控存的每个单元存放一条微指令代码。 图中每条横线表示一个单元,其中每个交叉点表示微指令的一位,有“”表示该位为1,无“”表示该位为0。 微指令寄存器IR:存放从控存中读取的微指令。 微指令通常分为两大字段: 操作控制字段:经译码或直接产生一组微命令,控制有关部件完成微指令所规
38、定的微操作。 地址控制字段:指示下条微指令地址的形成方式或直接给出下条微指令地址。,2020/8/12,73, 微地址形成电路:用于产生起始微地址和后继微地址,保证微程序的连续执行。 微地址寄存器MAR:接受微地址形成电路送来的地址,为读取微指令准备好控存的地址。 译码与驱动电路:对MAR中的微地址进行译码,找到被访问的控存单元并驱动其进行读取操作,读取微指令并存放于微指令寄存器中。,2020/8/12,74,4.微程序控制器的工作过程, 启动取指令微程序 (PC)MAR,读出机器指令IR,PC增量,为下条指令准备地址。 根据IR中的指令码,通过微地址形成电路产生该指令的微程序的起始微地址,并
39、送入MAR中。 MAR中的微地址经译码、驱动,从被选的控存单元中取出一条微指令并送入IR。 IR中的微指令的操作控制字段经译码或直接产生一组微命令并送往有关的功能部件,控制其完成所规定的微操作。,2020/8/12,75,IR中微指令的地址控制字段及有关状态条件送往微地址形成电路,产生下条微指令的地址,再去读取并执行下条微指令。如此循环,直到一条机器指令的微程序全部执行完毕。 一条指令的微程序执行结束,再启动取指令微指令或微程序,读取下条机器指令。根据该指令码形成起始微地址,又转入执行它的一段微程序。,2020/8/12,76,5. 程序、指令、微程序、微指令、微命令、微操作的关系,2020/
40、8/12,77,说明, 在组合逻辑控制器中,一条指令的功能是直接由硬件解释实现的;而在微程序控制器中,每条指令都对应着一段微程序,指令的功能是由微程序解释实现的,硬件完成的是微指令的功能。 机器设计确定后,指令系统就确定了,所以通常用ROM组成控存。 只要修改控存中的微程序,就可以修改机器的指令系统。从而允许用户编写指令系统以满足特殊要求。 由于一条机器指令的执行过程中,需要多次访问控存,所以控存的速度直接影响到机器的速度。,2020/8/12,78,对于大、巨型机而言,由于要求高速运行,所以多采用组合逻辑实现指令,而不用微程序实现。采用RISC设计思想的机器,为了实现高速,也较少使用微程序实
41、现。,2020/8/12,79,微程序控制器设计的关键, 微指令的结构格式及编码方法,即如何用一个二进制编码字表示各个微命令。 微程序的寻址,即微程序顺序控制的方法。也就是如何解决微程序中微指令之间的衔接和不同机器指令所对应的微程序之间的逻辑衔接,保证微程序的连续执行。 微指令执行方式,解决如何提高微指令的执行速度的问题。,2020/8/12,80,6.6.2 微指令的编译方法,微指令的编译方法:指如何对微指令的操作控制字段进行编码来表示各个微命令,以及如何把编码译成相应的微命令。即微指令的格式应如何设计,应怎样进行微指令的译码。 设计微指令的结构格式时,主要考虑的问题 如何有利于缩短微指令字
42、长 如何有利于缩短微程序,减少所需的控存空间 如何有利于提高微程序执行速度,2020/8/12,81,通用的微指令编译方法,1直接控制法(不译法) 微指令操作控制字段的每一位都直接表示一个微命令,该位为“1”,表示执行这个微命令,为“0”表示不执行该微命令。由于这种方法不需译码,所以也称不译法。 例:在模型机中,若只考虑输入信号,则有35个微命令,因此微指令的操作控制字段应长35位。 设IR的第22位对应于C0,则译码时有C0IR22。,2020/8/12,82,直接控制法的优点:结构简单,并行性强,操作速度快。 直接控制法的缺点:微指令字太长,信息效率低。 因为在这种方法中,有N个微命令,操
43、作控制字段就需N位。在实际机器中,微命令数达几百个,使微指令字长达到难以接受的地步。同时在几百个微命令中有很多是互斥的,不允许同时出现的(如R0BUS1,R1BUS1),将它们安排在同一条微指令内,只会使信息效率降低。 因此在实际机器中,往往与其它方法混合使用,仅部分位采用直接控制法。,2020/8/12,83,2最短编码法,将所有的微命令进行统一编码,每条微指令只定义一个微命令。若微命令总数为N,则最短编码法中操作控制字段的长度L,应满足下列关系: Llog2N 最短编码法所得的微指令字长最短,但要通过微命令译码器译码才能得到所需的微命令。微命令越多,译码器就越复杂。同时这种方法在某一时间只
44、能产生一个微命令,不能充分利用机器硬件所具有的并行性,使微程序很长,所以这种方法很少独立使用。,2020/8/12,84,3字段直接编码法,将微指令操作控制字段划分为若干个子字段,每个子字段的所有微命令进行统一编码。因此在这种方法中,不同的子字段的不同编码,表示不同的微命令。 子字段的划分原则: 把互斥的微命令(即不允许同时出现的微命令)划分在同一字段内,相容的(即允许同时出现)微命令划分在不同字段内。 字段的划分应与数据通路结构相适应。 一般每个子字段应留出一个状态,表示本字段不发任何微命令。 每个子字段所定义的微命令数不宜太多,否则将使微命令译码复杂。,2020/8/12,85,例:RiB
45、US1是互斥的,可以划分在同一字段;RSBUS1和CPRS是相容的,应划分在不同字段。 字段直接编码法的微指令结构,2020/8/12,86,4字段间接编码法,字段间接编码法:指一个字段的某一编码的意义由另一字段的编码来定义。也就是一个字段的编码不能直接独立地定义微命令,它必须与其它字段的编码联合定义。,2020/8/12,87,5常数源字段的设置,在微指令字中,通常还设置一个常数源字段,如同指令字中的立即数一样,用来提供某些常数,如给计数器置初值,为某些数据提供修改量,配合形成微程序转移微地址等。 除上述几种编码方法之外,还有其它一些方法。如分类编码法:将机器指令根据操作类型分为几类,如算术
46、逻辑运算指令、访主存指令、I/O指令及其它指令,不同的指令可以采用不同的微指令格式。 在实际机器中,微指令往往采用几种编码方法,如有些位采用直接控制方法,有些字段采用字段直接编码或字段间接编码,有些位作为常数源字段。,2020/8/12,88,6.6.3 微程序的顺序控制方式,在微程序控制的计算机中,机器指令是通过微程序解释执行的。每一条指令都对应一段微程序,不同指令的微程序存放在控制存储器的不同存储区域内。 微程序顺序控制(或地址控制)需解决的问题是微程序应如何存放和执行,即需考虑初始微地址和后继微地址的各种形成方法。,2020/8/12,89,微程序的初始微地址(微程序的入口地址):指令所
47、对应微程序的第一条微指令所在控制存储器单元的地址。 后继微指令:当前微指令执行完毕后,下一条要执行的微指令。 后继微地址:后继微指令所在控存单元的地址。,2020/8/12,90,1初始微地址的形成,由于每一条机器指令的执行,都必须首先进行取指令操作,所以要有“取指令”微程序,控制从主存中取出一条机器指令,这段微程序(通常由一条或几条微指令组成)是公用的,一般安排在从0号控存单元或其它特定的控存单元开始。机器指令从主存取到IR以后,要由机器指令操作码转换为该指令所对应的微程序入口地址,即形成初始微地址。,2020/8/12,91,初始微地址的几种形成方式,(1) 一级功能转移 一级功能转移:根
48、据指令操作码,直接转移到相应微程序的入口,即指令操作码直接参与形成微程序的入口地址。 当指令操作码的位置与位数均固定时,可直接用操作码作为微地址的低位。 例:模型机有16条指令,操作码对应IR的1512位,令微地址为000 OP,OP为指令操作码。当取出指令后,直接由IRl512。作为微地址的低4位。 一级功能转移适用于指令操作码的位置和长度比较规整的和固定的情况。,2020/8/12,92,2020/8/12,93,(2) 二级功能转移,如果机器指令的操作码的位数和位置不固定,则需采用二级功能转移。 二级功能转移:先按指令类型标志转移,以区分出哪一类指令。在每类指令中假定位置和位数是固定的,
49、在第二级按操作码区分出具体是哪条指令,转移到相应微程序入口。,2020/8/12,94,二级功能转移,2020/8/12,95,(3) 用PLA电路实现功能转移,利用PLA电路实现功能转移:将指令操作码作为可编程逻辑阵列PLA的输入,PLA的输出就是相应微程序入口地址。 这种方法对于变长度、变位置的操作码尤为有效,而且转移速度较快。 例:设有I1、I2、I7共8条指令,其操作码分别为000、001、111,对应的微程序入口地址分别为020H、031H、146H。可用PLA实现微程序入口地址的寻址。,2020/8/12,96,2020/8/12,97,2后继微地址的形成,找到初始微地址后,开始执
50、行相应的微程序。每条微指令执行完毕,都要根据要求形成后继微地址,以保证微程序的正常执行。 后继微地址的形成方法对微程序编制的灵活性影响很大,主要有两种基本类型:增量方式和断定方式。,2020/8/12,98,(1) 增量方式,微地址的控制方式与程序地址控制方式相似,也有顺序执行、转移、转子之分。 增量方式:当微程序按地址递增顺序一条条地执行微指令时,后继微地址是现行微地址加上一个增量(通常为1)。 (PC)增量PC PC是微程序计数器,微程序控制器中为节省设备,也可将MAR做成具有计数功能的寄存器,与PC合为一个寄存器。 (MAR)增量MAR,2020/8/12,99,在增量方式中,当微程序转
51、移或调用微子程序时,要解决转移微地址的形成问题。 转移微地址的形成方法 由微地址形成电路产生转移微地址 由微地址形成电路根据执行的微指令和当前状态形成转移微地址。 这种方法的电路比较复杂。 由微指令的下地址控制字段设置转移微地址。,2020/8/12,100,通常把微指令的地址控制字段分为两个部分: 转移地址字段BAF:提供转移地址。 转移控制字段BCF:规定地址的形成方式。 微指令执行完毕,根据BCF和BAF中的内容,控制是否转移和转移到何处。 若转移,BAFPC,否则,按PC的现行内容顺序执行。,2020/8/12,101,2020/8/12,102,(2) 断定方式,断定方式:后继微地址
52、可由设计者指定或由设计者指定的测试判定字段控制产生。 采用断定方式的后继微地址一般由两部分组成: 非因变分量:由设计者直接指定的部分,一般是微地址的高位部分。 因变分量:根据判定条件产生的部分,一般对应微地址的低位部分。,2020/8/12,103,例:某机的微指令格式为: A、B为两个判定条件,2020/8/12,104,设:微指令的高位地址为1011011 A:01,B:11 则 后继微指令的微地址为: 1011011 1 S 这是条件转移微指令 若S1,后继微地址为: 101101111 若S0,后继微地址为: 101101110 采用断定方式可以实现快速多路转移,适合于功能转移的需要。
53、缺点是编制微程序时,地址安排比较复杂,微程序执行顺序不直观。在实际机器中,往往增量方式与断定方式混合使用。,2020/8/12,105,举例 1,已知某计算机采用微程序控制方式,其控制存储器的容量为51232bit。微程序可以在整个控制存储器中实现转移,可控制微程序转移的条件有6个,采用直接控制和字段混合编码,后继微指令地址采用断定方式,格式如下:,2020/8/12,106,请说明微指令中3个字段分别应为多少位。 解:从本题的已知条件可以得出: 下条指令的微地址应当为9位(可访问2 9个单元), 若每个判定条件占1位,则测试条件字段共需6位, 剩下的为操作控制字段可用的位数。(3296=17
54、位) 所以3段的位数分配是: 下条指令微地址9位, 转移测试条件6位, 微操作编码17位。,2020/8/12,107,6.7 流水线处理技术 6.7.1 指令的执行方式 根据各条指令之间的衔接关系,指令的行可分为顺序、重叠、流水三种方式 . (1)顺序方式 (2)重叠方式:一次重叠、二次重叠 (3)流水方式,2020/8/12,108,1. 顺序方式,所谓顺序方式是指各条指令之间是顺序串行执行的。即一条指令执行完以后,才取下条指令来执行。如果把一条指令执行过程划分为取指、取数、执行三个步骤,则顺序方式如图所示,2020/8/12,109,顺序控制方式的优点是控制简单,节省设备,但执行速度慢,
55、机器效率低,在时间上不能充分利用各部件。例如在执行运算时主存可能是空闲的。,2020/8/12,110,2. 重叠方式,所谓重叠方式是指前一条指令的解释执行完成之前,就开始下一条指令的解释执行,即相邻两条指令在时间上相互重叠。下图 (a)和 (b)分别示出了两种不同的重叠情况。,2020/8/12,111,2020/8/12,112,在重叠方式中,由于相邻两条指令重叠执行,因而加快了程序的运行速度,但其控制逻辑要比顺序方式复杂,对存储器系统频宽要求要高。一般要求存储器采用多存储体交叉工作的方法,以满足存储器速度要求;另外通常采用指令预取部件,利用主存的空闲时间预取后续指令。,2020/8/12
56、,113,假设一条指令按取址、分析和执行三步解释执行,每步相应的时间分别为T取5纳秒、T分5纳秒和T执2纳秒,分别计算下列几种情况下执行完100条指令所需要的时间: ()顺序方式; ()仅(K+1)取指与K执行重叠; ()仅(K+2)取址、(K+1)分析、K执行重叠。,2020/8/12,114,()100(T取T分T执)1200纳秒;()T取100 T分T执99max(T取,T执)1002纳秒;()T取max(T取,T分)98max(T取,T分,T执)max(T分, T执)T执507纳秒。,2020/8/12,115,3. 流水方式,流水方式是重叠方式的进一步发展,采用类似生产流水线方式控制指令的解释执行。它是把指令的执行过程划分成若干个复杂程度相当、处理时间大致相等的子过程,每个子过程由一个独立的功能部件来完成。同一时间,多个功能部件同时工作,完成对不同子过程的处理。由于流水线上各功能部件并行工作,同时进行对多条指令的解释执行,使机器的处理速度大大提高。图 (a)是一个五段的指令流水线,指令的流水处理过程如图 (b)所示。,2020/8/12,116,2020/8/12,117,从图 (b)中可以看出,由于采用五段流水线对指令解释执行,因此在一个时钟周期内,同时有五条指令
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 班组安全教育培训制度培训课件
- 2025年教育统计数据分析
- 安监部门负责人和人员安全管理职责培训
- 货车司机解约协议书
- 贷款的离婚协议书
- 湖南省怀化市辰溪县湘少版(三起)2024-2025学年六年级下学期期中英语试卷(含答案)
- 蓝色橡皮大疱性痣综合征护理查房
- 赖氏综合征护理查房
- 10万吨植物油分提生产线建设项目可行性研究报告
- 景区双人单车运营方案
- 第13课+资本主义世界殖民体系的建立与亚非拉民族独立运动+2025-2026学年中职高一下学期高教版(2023)世界历史全一册
- 高中生急救知识
- HSK1级课件教学课件
- 2025年中医类别助理全科医生培训结业试题及答案
- 2026年中国化工经济技术发展中心招聘备考题库含答案详解
- (2025版)国家基层高血压防治管理指南2025版解读课件
- 颅内动脉粥样硬化性急性大血管闭塞血管内治疗中国专家共识课件
- 风电场设备运输与储存方案
- 老年人术后谵妄预防与质量控制方案
- 2025年摇滚音乐节举办项目可行性研究报告及总结分析
- (已压缩)广东省工程勘察设计服务成本取费导则(2024版)
评论
0/150
提交评论