第6章-控制系统与CPU-课件1_第1页
第6章-控制系统与CPU-课件1_第2页
第6章-控制系统与CPU-课件1_第3页
第6章-控制系统与CPU-课件1_第4页
第6章-控制系统与CPU-课件1_第5页
已阅读5页,还剩124页未读 继续免费阅读

下载本文档

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

文档简介

第6章控制系统与CPU控制器的功能与组成控制方式与时序系统CPU的总体结构组合逻辑控制器设计微程序控制器设计2020/10/2816.1控制器概述指令执行的基本步骤取指令分析指令执行指令根据指令地址(PC提供),从存储器中取出所要执行的指令到指令寄存器IR。对指令进行译码分析,确定指令应完成的操作,产生相应操作的控制电位来参与形成该指令功能所需要的全部微操作控制信号。根据寻址方式的分析和指令功能要求,形成操作数的有效地址,并按此地址取出操作数据或形成转移地址。根据操作控制信号和形成的有效地址,按一定的算法形成指令操作控制步序列,控制有关部件完成指令规定的功能。一条指令执行结束,若没有异常情况和特殊请求,则顺序取出并执行下一条指令。2020/10/282精品资料3启动取指令PC增量PC分析指令寻址?计算有效地址转移指令?取操作数执行指令,保存结果转移地址PC异常情况或特殊请求?转去处理NYYNYN指令执行的一般过程2020/10/2842.控制器的基本功能控制指令的正确执行取指令、分析指令、执行指令控制程序和数据的输入及结果的输出异常情况和特殊请求的处理中断、数据请求2020/10/285需解决的一些问题指令的流出控制(取指令)从主存中取出所要执行的指令。基本步骤如下:(PC)

MAR,读主存(PC)增量PC(MDR)

IR2020/10/286分析指令(译码)形成地址操作数地址的形成——寻址方式指令地址的形成——顺序、转移时序控制计算机的解题过程是指令序列的执行过程(程序控制),是微操作(一些简单基本的操作)的执行过程(指令控制)。有些微操作可以同时进行,有些必须按严格的时间顺序进行。因此必须对各个微操作在时间上加以控制,为各个微操作进行定时。2020/10/287微操作控制不同指令完成不同的功能,控制器必须对不同的指令在不同的时间,产生一组不同的控制信号,以控制计算机各部件完成不同的操作。所以,每一条指令都对应一组唯一的操作控制信号序列,控制其微操作序列的实现。2020/10/288微操作控制信号形成部件时序信号发生器指令译码器ID启停电路控制台脉冲源中断机构程序状态寄存器通用寄存器组…程序计数器PC操作码寻址方式地址码…微操作控制信号……至MAR…至MAR或ALU...指令寄存器IR3.控制器的组成ALU…地址形成部件I/O状态信息DBAB指令部件时序控制部件2020/10/2894.控制器的组成方式主要指微操作控制信号形成部件的组成方式组合逻辑型(硬联逻辑/硬布线逻辑)优点——速度快缺点——微操作信号发生器结构不规整,设计、调试、维修较困难,难以实现设计自动化。一旦控制部件构成之后,无法增加新的控制功能。2020/10/2810②存储逻辑型——微程序控制器用存储逻辑来实现的,将微操作控制信号代码化,每条机器指令对应一段微程序,存于控制存储器中,微操作控制信号由微指令产生。优点——设计规整,调试、维修以及更改、扩充指令方便的优点,易于实现自动化设计,已成为当前控制器的主流。缺点——由于它增加了一级控制存储器,所以指令的执行速度比组合逻辑控制器慢。2020/10/2811③组合逻辑和存储逻辑结合型PLA控制器,实际上也是一种组合逻辑控制器,但它的程序可以编制,某一微操作控制信号由PLA的某一输出函数产生。PLA控制器是组合逻辑技术和存储逻辑技术结合的产物,它克服了两者的缺点,是一种较有前途的方法。2020/10/28126.2控制器的控制方式与时序系统时序系统控制器的心脏,为指令的执行提供各种定时信号。通常,设计时序系统主要是针对同步控制方式的。指令周期与机器周期指令周期——完成一条指令所需的全部时间取指令、分析指令、执行指令机器周期(CPU周期/基本周期)指令周期中某一工作阶段(基本操作)所需的时间。在指令执行过程中,各机器周期相对独立。2020/10/2813不同指令的指令周期和机器周期取指阶段取指周期执行阶段执行周期(取指、分析)(执行指令)指令周期一般指令(加法)取指周期指令周期空操作/无条件转移乘法指令取指周期执行周期指令周期…2020/10/2814具有间接寻址的指令周期取指周期间址周期指令周期执行周期2020/10/2815每个机器周期设置一个周期状态触发器与之对应,机器运行于哪个周期,与其对应的周期状态触发器被置为“1”。任何时刻都只能建立一个周期状态,因此同一时刻只能有一个周期状态触发器被置为“1”。不同机器周期所占的时间可以不等。CPU内部操作速度快,而CPU访存所花时间较长,所以许多计算机系统往往以主存周期为基础来规定机器周期。2020/10/2816②节拍一个机器周期内要完成若干个微操作,这些微操作有一定的先后次序。因此在同步控制方式中,把一个机器周期等分成若干时间区间——节拍,一个节拍对应一个电位信号,控制一个或几个微操作的执行。一个节拍电位信号的宽度取决于CPU完成一个基本操作的时间。节拍提供了一项基本操作所需的时间分段。2020/10/2817③脉冲(定时脉冲)有些操作需要严格确定在哪一时刻进行;节拍的切换,也需要严格的同步定时,所以在一个节拍内需要设置一个或几个工作脉冲,用于寄存器的复位和接收数据等。常见的设计是在每个节拍的末尾发一次工作脉冲,脉冲前沿用来打入/传送运算结果,脉冲后沿则实现周期切换。2020/10/2818周期、节拍、脉冲构成了三级时序系统。图中包括两个机器周期M1、M2每个周期包含四个节拍W0~W3每个节拍内有一个脉冲P。M1M2W0W1W2W3P指令周期机器周期机器周期节拍节拍节拍节拍节拍节拍节拍节拍2020/10/28192.控制方式同步控制异步控制联合控制同步控制方式任何指令的运行或指令中各个微操作的执行,均由确定的具有统一基准时标的时序信号所控制。2020/10/2820典型的同步控制——以微操作序列最长的指令和执行时间最长的微操作为标准,把一条指令执行过程划分为若干个相对独立的阶段(周期)或若干个时间区间(节拍),采用完全统一的周期(或节拍)控制各条指令的执行。优点——时序关系简单,控制方便缺点——浪费时间(比较简单的指令有很多节拍是不用的,处于等待)例:某系统有4条指令,对应的微操作序列分别为10、12、7、5,每条指令中最长的微操作时间分别为2、1、4、6,则划分周期时,以微操作序列=12的指令为标准,划分节拍时,以时间=6的微操作为标准。2020/10/2821常用的同步控制方法(1)采用中央控制与局部控制相结合的方法中央控制:对节拍的统一控制根据大多数指令的微操作序列情况,设置一个统一的节拍数,使大多数指令均能在统一节拍内完成。局部控制:对节拍的延长控制少数在统一节拍内不能完成的指令,采用延长节拍或增加节拍数,使之在延长节拍内完成,执行完毕再返回中央控制。2020/10/2822例:某计算机的指令通常用8个节拍完成,即8个中央节拍W0~W7,当某指令在8个节拍中不能完成时,就插入若干局部节拍W6*,之后再返回中央节拍W7。中央节拍W0W1W2W3W4W5W6W7局部节拍W6*W6*…W6*指令周期2020/10/2823(2)采用不同的机器周期和延长节拍的方法把一条指令执行过程划分为若干机器周期。执行不同指令选取不同的机器周期数。在节拍安排上,每个周期划分为固定的节拍,每个节拍都可根据需要延长/增加。例:在Intel8088/8086的指令执行过程中有读写周期、内部周期等,其中读写周期为4个节拍,但若读写过程不能如期完成,可以延长若干个节拍。2020/10/2824(3)采用分散节拍的方法分散节拍运行不同指令时,需要多少节拍,时序部件就发生多少节拍。优点——可完全避免节拍轮空,提高指令运行速度缺点——使时序部件复杂化,还不能解决节拍内简单的微操作因等待所浪费的时间2020/10/2825②异步控制方式无统一的同步信号,采用问答方式进行时序协调,将前一操作的回答信号作为下一操作的启动信号。优点——时间无浪费,效率高异步控制方式不仅要区分不同指令对应的微操作序列长短,而且要区分每个微操作的繁简,每条指令、每个微操作需要多少时间就占用多少时间。缺点——设计复杂,使用设备多2020/10/2826③联合控制方式将同步控制和异步控制相结合功能部件内部采用同步方式或以同步方式为主的控制方式;功能部件之间采用异步方式。现代计算机大多数都采用联合控制方式。例:在微机系统中,CPU内部基本时序采用同步控制,当通过总线与主存或其他外设交换数据时,采用异步控制方式。2020/10/28276.3CPU的总体结构CPU组成包含运算器和控制器。CPU的主要功能程序控制——保证程序按所要求的次序正确执行操作控制——产生每条指令所需的操作控制信号序列,送往有关部件,控制完成指令所规定的操作时序控制——对各微操作实施时间上的控制,使计算机有条不紊地连续自动工作数据加工——对数据进行算术/逻辑运算处理2020/10/28281.CPU寄存器的设置在CPU中一般都设置下列寄存器指令寄存器

IR程序计数器PC累加寄存器

AC程序状态寄存器

PSR地址寄存器MAR数据/缓冲寄存器

MDR/MBR通用寄存器——程序可以直接访问的多功能寄存器暂存器——程序不能直接访问,用于暂存操作数据或中间结果的寄存器。用户可用2020/10/28292.数据通路结构及指令流程分析1)数据通路CPU内部信息传送的基本路径。通常指运算器与寄存器之间的信息传输通道。数据通路规定了各种信息的传送路径,它直接影响着指令执行步骤的安排。指令流程的决定因素(1)总线结构 (4)寻址规则(2)数据通路 (5)ALU功能(3)指令功能2020/10/28302)指令流程分析

ADD (R1),R0 R1源操作数地址,R0目的地址 R1采用寄存器间接寻址,R0采用寄存器寻址。……PCR0R1R1+内存指令XX2020/10/2831IROUTTEMPTEMPinTEMPOUT单总线结构①(1)(PC)MAR,Read,PCY③②(2)MMDRIR,(Y)+1Z①②(3)(Z)PC(4)(R1)MAR,Read①(5)MMDRY

(6)(Y)+(R0)Z①R1(7)(Z)R02020/10/2832双总线模型机指令系统指令格式双操作数指令1512119865320OP寻址方式RS寻址方式RD4位3位3位3位3位源地址ES目的地址ED2020/10/2833转移类指令转移指令采用相对寻址:转移地址=(PC)+DD采用补码,进行运算时,需进行符号扩展转子指令操作:(SP)-1→SP,PC→(SP),(PC)+D→PC1512110OP位移量D4位12位2020/10/2834②指令系统指令名称操作码指令功能传送MOV0000(ES)ED加法ADD0001(ED)+(ES)ED减法SUB0010(ED)-(ES)ED逻辑与AND0011(ED)∧(ES)ED逻辑或OR0100(ED)∨(ES)ED异或EOR0101(ED)(ES)ED加1INC0110(ED)+1ED取反COM0111EDED2020/10/2835指令名称操作码指令功能左移ROL1000(ED)左移1位ED,移位方式由指令第6~8位决定右移ROR1001(ED)右移1位ED,移位方式由指令第6~8位决定无条件转移JP1010(PC)+位移量DPC有进位转移JC1011若CC=1,则(PC)+DPC结果零转移JZ1100若CZ=1,则(PC)+DPC转子程序JSR1101(PC)入栈,(PC)+DPC返回RTS1110从栈顶弹出返回地址PC停机HLT1111停机2020/10/28362.寄存器(16位)程序可用寄存器内部寄存器编号/寄存器地址寄存器名寄存器名000R0MAR001R1MDR010R2IR011R3TEMP100SPY111PC2020/10/28373.寻址方式方式编码表示方式有效地址寄存器寻址000Rn无需访存寄存器间址001@Rn或(Rn)E=(Rn)自增型寄存器间址010(Rn)+E=(Rn),(Rn)+1Rn自减型寄存器间址011-(Rn)E=(Rn)-1,(Rn)-1Rn变址寻址100X(Rn)E=X+(Rn)2020/10/2838除自减型寄存器间址不能使用PC外,其余寻址方式可以使用所有可编程寄存器。自增型寄存器间址中若Rn=SP,则(SP)+为弹出堆栈的寻址若Rn=PC,则(PC)+为立即寻址,立即数在该指令的下一单元自减型寄存器间址中若Rn=SP,则-(SP)为压入堆栈的寻址K指令码K+1Data2020/10/2839变址寻址中的变址值X,存放在指令的下一单元。需两次访存,第一次取指令,第二次取X。取X执行以下微操作序列:

(PC)MAR,Read ;送X的地址,读X (PC)+1PC ;PC增量 MMDRY ;取X值到Y (Y)+(Rn)MAR,Read ;形成有效地址,读操作数变址寻址中,若Rn=PC,则为相对寻址K指令码K+1变址值X2020/10/2840ADD(R1),R0指令码0001001001010000功能——(R0)+((R1))R0ALU——A+B,A+1ADDR1R0寄存器间址源地址目的地址指令功能寄存器寻址2020/10/2841双总线结构GON×(1)(PC)MAR,Read(2)(PC)+1PC(3)MMDRIR(4)(R1)MAR,Read(5)MMDRY(6)(Y)+(R0)R0发送总线接收总线①GON②③④⑤①②①③①③①③②2020/10/2842SUBX(R1),(R2)+指令码0010100001001010功能——((R2))-((R1)+X)(R2)ALU——A+B,A-B,A+1SUBR1R2变址寻址源地址目的地址指令功能自增型寄存器寻址2020/10/2843指令执行示意…………PCR2R1R1+X-内存指令源数1X值PC+1源数2+R22020/10/2844双总线结构GON×发送总线接收总线①GON②③④⑤①②①③①③①②②(1)(PC)MAR,Read(2)(PC)+1PC(3)MMDRIR(4)(PC)MAR,Read(5)(PC)+1PC(6)MMDRY(7)(Y)+(R1)MAR,Read(8)MMDRTEMP(9)(R2)MAR,Read(10)(R2)+1R2(11)MMDRY(12)(Y)-(TEMP)MDR②①③(13)MDRM,Write①③2020/10/2845JCD指令码1011XXXXXXXXXXXX功能——进位C=1,(PC)+位移(PC)ALU——A+B,A+1JC位移量指令功能2020/10/2846双总线结构GON×发送总线接收总线2020/10/28476.5组合逻辑控制器的设计基本原理根据每条指令的操作序列列出每步操作所需的控制信号对每个控制信号进行综合、归纳、化简,得到每个控制信号的逻辑表达式——F(指令、时序信号、状态条件)用大量门电路构成的组合逻辑网络实现2020/10/28482.组合逻辑控制器的设计步骤分析指令的执行步骤,绘制指令操作流程图确定指令执行的具体步骤,决定所需的控制命令编排指令操作时间表把各微操作具体落实到各机器周期的相应节拍和脉冲中,并以微操作控制信号的形式编排成一张表进行微操作综合对各微操作控制信号按其条件进行归纳综合,并进行适当的调整化简,得到比较合理的逻辑表达式2020/10/2849设计微操作控制信号形成部件根据各个微操作控制信号的逻辑表达式,用硬件逻辑电路加以实现。实现方法根据逻辑表达式画出逻辑电路图,用组合逻辑网络实现直接根据逻辑表达式用PLD器件如PLA、PAL、GAL等实现。2020/10/2850组合逻辑控制器的基本结构控制信号函数:F(指令、时序信号、状态条件)控制信号形成电路(组合逻辑网络)指令译码器指令寄存器...I1Ip节拍电位/脉冲发生器M1M2 ……MiT1……Tm启动停止时钟复位…状态条件……C1C2Cn2020/10/2851组合逻辑控制器设计例某系统有4条指令MOV/ADD/SUB/INC每条指令平均为4个机器周期T0~T3每个机器周期为4个节拍W0~W3每个节拍一个脉冲若某控制信号X出现在MOV和ADD的第二周期T1的第三节拍W2,以及SUB和INC的第四周期T3的第一节拍W0,则X=MOV·T1·W2+ADD·T1·W2+SUB·T3·W0+INC·T4·W02020/10/28526.6微程序控制器设计微程序控制的概述例:在模型机上执行指令ADD(R0),R1

指令流程控制信号序列(PC)→MAR,Read,(PC)→Y PC→B,F=B,F→MAR,Read,F→Y(Y)+1→PC F=A+1,F→PC(MDR)→IR MDR→B,F=B,F→IR(R0)→MAR,Read R0→B,F=B,F→MAR,Read(MDR)→Y MDR→B,F=B,F→Y(Y)+(R1)→R1 R1→B,F=A+B,F→R12020/10/2853微程序控制的基本原理存储——把一条指令的微操作序列,以二进制编码字(微指令)的形式编制成程序(微程序),存放在一个存储器(控制存储器)中。执行——依次读取一条条微指令,产生一组组操作控制信号,完成一组组微操作,从而完成一条指令的功能。每一条指令对应着一段微程序,执行相应的微程序,完成指令的功能。2020/10/2854微程序设计实质是将软件设计技术应用到硬件设计中。优点——应用灵活,控制规整,便于计算机设计自动化,易于修改和扩充。2020/10/28551)基本概念微命令——控制信号序列的最小单位,指直接作用于部件或控制门电路的控制命令。如PCB、F=B、FMAR等控制信号都称为微命令。微操作——由微命令控制实现的最基本的操作。如微操作(PC)MAR、(MDR)IR等。微指令——控制完成一组微操作的二进制编码字,用以产生一组微命令。微程序——一系列微指令的有序集合称为微程序。2020/10/2856微周期——从控制存储器中读取一条微指令并执行相应的微操作所需的时间,通常取一个时钟周期。控制存储器(CM)——存放微程序的存储器,也称为微程序存储器。2020/10/28572)微程序控制器的模型及其工作过程微指令寄存器每个单元存放一条微指令代码,图中每条横线表示一个单元,其中每个交叉点表示微指令的一位,有“•”表示该位为1,无“•”表示该位为0存放从控存中取出的微指令操作控制字段——译码产生一组微命令或直接产生一组微命令地址控制字段——指示下条微指令地址或地址形成方式产生起始微地址和后继微地址,保证微程序的连续执行接收微地址形成电路送来的控存地址对微地址寄存器中的微地址进行译码,找到被访问的控存单元驱动控存单元进行读取操作,读取微指令并存放于微指令寄存器中2020/10/28583)微程序执行过程(微程序控制器的工作过程)

启动取指令微程序(PC)→MAR,读出机器指令→IR,PC增量根据IR中的指令码,通过微地址形成电路产生该指令的微程序的起始微地址,并送入μMAR中。

μMAR中微地址经译码驱动,从被选的控存单元中取出一条微指令并送入μIR。微指令的操作控制字段经译码产生或直接产生一组微命令送往有关的功能部件。2020/10/2859微指令的地址控制字段及有关状态条件送往微地址形成电路,产生下条微指令地址。循环③~⑤,直到一条机器指令的微程序全部执行完毕。循环①~⑥,直到所有指令全部执行完毕。2020/10/28604)微程序控制机器的两个层次高级语言层(虚机器)汇编语言层(虚机器)操作系统层(虚机器)传统机器语言机器(实机器)微程序机器层(实机器)硬件操作时序(实机器)应用语言层(虚机器)第6级第5级第4级第3级第2级第1级第0级由硬件直接执行微指令用微程序解释机器指令(微指令系统)用机器语言解释操作系统翻译(成机器语言,汇编)翻译(成汇编语言,编译)翻译(应用软件包)软硬件交界面使用机器语言的程序员用机器指令编程序,完成某一任务。程序存放在主存储器中。硬件设计者用微指令编微程序,用以完成一条机器指令的功能。微程序存放在控制存储器中。2020/10/28615)微程序控制器说明在组合逻辑控制器中,一条指令的功能是直接由硬件解释实现的;而在微程序控制器中,指令的功能是由微程序解释实现的。微程序实质上定义了机器的指令系统。只要修改控存中的微程序,就可以修改机器的指令系统,在相同的硬件中实现不同的指令系统。一条指令可能多次访问控存,所以控存的速度直接影响机器的速度,常由快速的ROM组成。2020/10/2862微程序控制器设计的关键微指令的结构格式及编码方法如何用一个二进制编码表示和产生各个微命令微程序的寻址——微程序的顺序控制同一机器指令中微指令之间的衔接不同机器指令所对应的微程序之间的逻辑衔接微指令执行方式解决如何提高微指令的执行速度的问题2020/10/28632.微指令的编译方法解决问题——微指令的格式和译码如何对微指令的操作控制字段进行编码来表示各个微命令如何把编码译码成相应的微命令设计微指令的结构格式时主要考虑的问题如何有利于缩短微指令字长如何有利于缩短微程序,减少所需的控存空间如何有利于提高微程序执行速度2020/10/28641)直接控制法(不译法)微指令操作控制字段的每一位都直接表示一个微命令,该位为“1”,表示执行这个微命令,为“0”表示不执行该微命令。优点——结构简单,并行性强,操作速度快缺点——微指令字太长,信息效率低例:某模型机中共有35个微命令,因此微指令的操作控制字段长度应为

。35位2020/10/28652)最短编码法将所有的微命令进行统一编码,每条微指令只定义一个微命令。若微命令总数为N,操作控制字段的长度为L,则

L≥log2N优点——微指令字长大大缩短缺点——1)通过译码才能得到微命令2)各微命令不能并行,使微程序很长例:某模型机中共有35个微命令,因此微指令的操作控制字段长度应为

。6位2020/10/28663)字段直接编码法将微指令操作控制字段划分为若干个子字段子字段内的所有微命令统一编码——最短编码不同子字段表示不同的微命令——直接控制2020/10/2867子字段的划分原则互斥的微命令划分在同一字段内,相容的微命令划分在不同字段内。字段的划分应与数据通路结构相适应。每个子字段留出一个编码状态表示本字段不发任何微命令。每个子字段所定义的微命令数不宜太多。2020/10/2868例:某模型机的CPU内部结构图如下所示。假设每次仅有一个寄存器可接收数据,即CPR0、CPR1、CPR2互斥。(1)用字段直接编码方法设计微指令的操作控制字段。(2)写出下列微操作对应的微指令①(R0)+(R1)→R1

②2[(R0)-(R1)]→R2移位器DM直送RS右移LS左移加法器C0A选择R0→AR1→AR2→AB选择R0→BR1→BR2→BR0→BR1→BR2→BR0R1R2CPR0CPR1CPR2ADDINC分析:互斥部分移位器——3控制互斥加法器——2控制互斥A选择器——3控制互斥B选择器——6控制互斥寄存器接收——3控制互斥相容部分进位C0,互斥5部分都相容2位2位2位3位2位2020/10/2869移位器加法器A选择B选择寄存器接收进位操作控制字段格式00-直送01-左移10-右移00-ADD01-INC00-R0A01-R1A10-R2A000-R0B001-R1B010-R2B011-R0B100-R1B101-R2B00-CPR001-CPR110-CPR20-C0=01-C0=1①(R0)+(R1)→R1R0AR1BADD直送CPR1C0=0操作控制字段 00

00

00

001

01

0②2[(R0)-(R1)]→R2R0AADD左移CPR2C0=1R1B操作控制字段 01

00

00

100

10

12020/10/28704)字段间接编码法一个字段的编码不能直接独立地定义微命令,必须与其它字段的编码联合,它的意义由另一字段的编码来定义。2020/10/28715)常数源字段的设置微指令字中通常还设置一个常数源字段,类似于指令字中的立即数,用来提供某些常数(置计数器初值、为某些数据提供修改量),配合形成微程序转移微地址等。2020/10/2872除上述编码方法外还有一些其它方法,如分类编码法(将机器指令根据操作类型分为几类,不同的指令可以采用不同的微指令格式)。实际机器中,微指令往往采用混合编码方法,如有些位采用直接控制方法,有些字段采用字段直接编码或字段间接编码,有些位作为常数源字段。2020/10/28733.微程序的顺序控制方式每一条指令对应一段微程序,不同指令的微程序存放在控制存储器的不同存储区域内。微程序顺序控制微程序如何存放——初始微地址的形成微程序如何执行——后继微地址的形成(地址控制)即微程序的入口地址,指令所对应微程序的第一条微指令所在控制存储器单元的地址。即下一条要执行微指令所在控制存储器单元的地址。2020/10/28741)初始微地址的形成每一条机器指令的执行,都必须首先进行取指令操作——由取指令微程序,控制从主存中取出一条机器指令。取指令微程序是公用的,一般安排在从0号控存单元或其它特定的控存单元开始。机器指令从主存取到IR以后,要由机器指令操作码转换为该指令所对应的微程序入口地址,即形成初始微地址。2020/10/2875初始微地址的形成方式一级功能转移根据指令操作码直接转移到相应微程序的入口适用于当指令操作码的位置与位数均固定时,可直接用操作码作为低位微地址。OP码地址码IROP码高位入口微地址由设计者指定2020/10/2876例:假设控存共32个单元,模型机有4条指令取指微程序一级功能转移00:ADD01:SUB10:MOV11:HLT入口微地址μMAR4~2=001001000010100110001112020/10/2877②二级功能转移转移步骤第一级按指令类型标志转移,区分出是哪一类指令(设类型标志在指令中位置和位数是固定的)第二级按操作码区分出具体是哪条指令,转移到相应微程序入口适用于机器指令的操作码的位数和位置不固定2020/10/2878取指微程序一级功能转移二级功能转移二级功能转移二级功能转移DRDRADD…SUB…单操作数双操作数…MOV二级功能转移示意(按指令类型标志转移)(按操作码转移)2020/10/2879③用PLA电路实现功能转移PLA的输入——指令操作码PLA的输出——相应微程序入口地址特别适用于变长度、变位置的操作码,转移速度快2020/10/2880例:I1、I2、…、I78条指令,其操作码分别为000、001、…、111,对应的微程序入口地址分别为020H、031H、…、146H。用PLA实现初始微地址的寻址。与阵列001001100012020/10/28812)后继微地址的形成微程序运行初始微地址执行微指令形成后继微地址后继微地址的形成方法增量方式断定方式2020/10/2882①增量方式顺序执行时——后继微地址=现行微地址+增量(通常为1)增设微程序计数器μPC,(μPC)+1→μPC微程序控制器中可将μMAR与μPC合二为一(μMAR)+1→μMAR转移或转子程序时由微地址形成电路产生转移微地址由微指令的地址控制字段产生转移微地址2020/10/2883增量方式下微指令格式操作控制字段OCFBCFBAF转移控制字段规定地址的形成方式转移地址字段提供转移地址2020/10/2884CZ:结果为0标志CC:进位标志CT:循环计数器RR:返回地址寄存器2020/10/2885微地址控制原理框图01102020/10/2886②断定方式采用断定方式的后继微地址一般由两部分组成非因变分量——由设计者直接指定的部分,一般是微地址的高位部分。因变分量——根据判定条件产生的部分,一般对应微地址的低位部分。断定方式可以实现快速多路转移,但编制微程序时地址安排比较复杂,微程序执行顺序不直观。在实际机器中,往往增量方式与断定方式混合使用。2020/10/2887例:某机的微指令格式为:μIROCF微地址高位ABA断定微地址次低位B断定微地址低位000→μMAR1000→μMAR0011→μMAR1011→μMAR010T1→μMAR110T3→μMAR011T2→μMAR111T4→μMAR0(A、B为判定条件)微地址高位后继微地址(μMAR)若μIROCF001011011μMAR00101T1T4T1T4μMAR0000101000100101011000101101100101112020/10/2888例6.4已知某计算机采用微程序控制方式,其控制存储器的容量为512×32bit。微程序可以在整个控制存储器中实现转移,可控制微程序转移的测试条件有6个,采用直接控制,后继微指令地址采用断定方式,格式如下:请说明微指令中3个字段分别应为多少位。解:1)下条指令的微地址应当为______ 2)每个判定条件占1位,则测试条件字段需______ 3)微操作编码______9位6位17位2020/10/28894.微指令的执行方式执行一条微指令的过程将微指令从控制存储器中取出——取微指令执行微指令规定的微操作——执行微指令根据取后继微指令和执行现行微指令之间的时间关系,微指令有两种执行方式串行执行并行执行2020/10/28901)串行执行方式取微指令和执行微指令是顺序、串行执行的,一条微指令取出并执行完毕后,才能取下一条微指令。2020/10/28912)并行执行方式将取指令操作和执行微指令操作重叠起来。取微指令——控存执行微指令——数据通路在执行本条微指令的同时预取下一条微指令。2020/10/2892假设取微指令时间比执行微指令短,因而将执行微指令时间作为微周期。并行方式执行速度比串行快,设备效率高,但控制也更加复杂。微指令的预取可能会无效,如有时需在微周期末尾根据运算结果特征转移,若转移成功,预取的微指令无效。微周期2020/10/28935.微程序设计方法微指令格式的设计是微程序设计的主要部分它的设计和指令设计一样,除了要实现计算机的整个指令系统之外,还要考虑具体的数据通路、控存速度以及微程序编制等因素。微指令格式通常可分为两大类水平型微指令垂直型微指令2020/10/28941)水平型微指令与微程序设计一次能定义并执行多个微命令的微指令。格式特点

微指令字较长(控存的横向容量大,几十~几百位),使微程序编制困难、复杂,不易实现设计自动化,但编制的微程序短(控存的纵向容量小)一条微指令定义的微命令较多,并行能力强,效率高,微程序执行速度快。控制字段判别测试字段下地址字段2020/10/2895微指令编码简单,一般采用直接控制和字段直接编码法,微命令与数据通路各控制点之间有比较直接的对应关系。

字段间接编码法、直接控制和字段直接编码的混合编码,都属于水平型微指令2020/10/28962)垂直型微指令类似于机器指令格式,在微指令中设置微操作码字段,一次只能控制信息从源部件到目的部件的一、两种信息传送过程。μOP源寄存器Ⅰ源寄存器Ⅱ目的寄存器其它例:某垂直型运算操作的微指令格式为:R1 R2 RD微指令功能:(R1)μOP(R2)→RD2020/10/2897例:某垂直型微程序转移微指令格式为:微指令功能:根据条件测试字段所指定的条件对微指令的执行状态进行测试。若满足条件,微程序按指定的转移微地址转移。微程序转移转移微地址条件测试2020/10/2898垂直型微指令的特点微指令字短(控存的横向容量少,10~20位),微指令直观规整、易于编制微程序及实现设计自动化。但编制的微程序长(控存的纵向容量大)。一条微指令定义的微命令少,微操作并行能力弱,效率较低,微程序执行速度较慢。微指令编码复杂,微操作码字段需经译码产生微命令,微指令的各二进制位与数据通路的各控制点之间不存在直接对应关系,执行速度较慢。2020/10/28993)毫微程序设计设计思想:将水平和垂直两种微程序设计结合微指令1微指令2……微指令n毫微指令1毫微指令2……毫微指令n微程序1毫微程序1解释指令1指令2……指令n程序解释严格顺序的垂直型微指令无序的水平型的毫微指令并行能力不强并行能力强2020/10/28100毫微程序控制器中有两个控制存储器微程序控存(μCM)——存放垂直微程序(横向容量小)毫微程序控存(nCM)——存放毫微程序(纵向容量小)一条微指令可完成自己的操作,还可给出一个nCM地址,以便调用一条毫微指令每条毫微指令都不相同,也没有顺序关系2020/10/28101毫微程序的执行过程执行一条指令时首先进入第一级微程序(垂直型微指令)需要时可由它调用第二级微程序(水平型毫微程序)中的毫微指令,解释该微指令的操作毫微指令执行完毕,再返回第一级微程序2020/10/28102毫微程序设计的优缺点使用少量的控存达到高度的操作并行性。垂直型微指令易编程,易实现微程序设计自动化。微指令调用毫微指令,效率高,可充分利用数据通路。毫微程序之间没有顺序关系,独立性强,修改、增删毫微指令不会影响毫微程序的控制结构。灵活性好,能通过修改垂直微程序方便地修改和扩充指令系统的功能,无需改变毫微程序,具有动态结构。有时执行一条微指令需两次访问控存,影响速度。增加了硬件成本。2020/10/281036.微程序控制器设计步骤确定微指令格式和执行方式采用水平微指令格式还是垂直微指令格式微指令是串行方式执行还是并行方式执行定义微命令集、确定微命令编码方式和微指令排序方式根据机器指令的所有控制信号拟定微命令集确定微命令编码方式和字段的划分选择微指令排序方法(增量式、断定式等)2020/10/28104编制微程序列出机器指令的全部微命令节拍安排按已定的微指令格式编制微程序,并对所有微程序进行优化和代码化。写入程序将二进制表示的全部微程序写入控制存储器。2020/10/28105微程序控制方式的优缺点用规整的存储逻辑代替了复杂的、不规整的硬连逻辑,简化了硬件结构,有利于设计自动化。适宜作系列机的控制器,可以用比较简单的硬件结构实现较复杂的指令系统。微程序控制的计算机在同一系列内,功能的增加主要表现为微程序的增加,即控制存储器容量的增加,其他硬件增加不多,性/价比相对较高。在数据通路结构不变的前提下,易于修改扩充,灵活性、通用性强。可靠性高,易于诊断与维护。2020/10/28106增加了从控存中读取微指令的时间,速度慢。一条微指令的操作比一条机器指令所能定义的操作简单,因而可能会降低并行操作能力,影响执行效率。2020/10/281076.7流水线处理技术指令的执行方式——指令间的衔接关系顺序方式(串行)重叠方式(并行)取指K分析K执行K取指K+1分析K+1执行K+1取指K分析K执行K取指K+1分析K+1执行K+1取指K+1分析K+1执行K+12020/10/28108流水方式(并行)把指令的执行过程划分成若干复杂程度相当,处理时间大致相等的子过程每个子过程由一个独立的功能部件完成通常每个功能部件后都有一个缓冲器/锁存器,保存本段流水的结果,供下段流水使用同一时间,多个功能部件同时工作例:以五段指令流水线为例解释指令执行2020/10/28109取指译码取数执行写回指令流水入口出口功能部件取指部件译码部件取数部件执行部件写回部件设每个功能部件执行功能操作的时间相等=t,则IFKIDKOFKEXKWBKIFK+1IDK+1OFK+1EXK+1WBK+1IFK+2IDK+2OFK+2EXK+2WBK+2IFK+3IDK+3OFK+3EXK+3WBK+3IFK+4IDK+4OFK+4EXK+4WBK+40 1 2 3 4 5 6 7 8 92020/10/281102.流水线的分类按处理级别操作部件级——运算操作流水线(浮点加法器)指令级——执行指令过程按流水线方式处理机级——宏流水线,多用于异构多处理机系统按功能单功能——一种流水线只能完成一种固定功能多功能——流水线各段通过不同的连接方式实现不同的功能2020/10/28111按工作方式静态流水线——同一时间内只能以一种方式工作(单功能或多功能)动态流水线——同一时间内各功能部件以不同的方式连接,完成不同的功能(多功能)按流水线结构线性流水线——流水线中无反馈回路非线性流水线——流水线中有反馈回路2020/10/281123.流水线的性能吞吐率TP单位时间内流水线能完成的指令数或输出结果最大吞吐率TPMAX流水线连续流动达到稳定状态后获得的吞吐率实际吞吐率TP完成n条指令的实际吞吐率2020/10/28113线性流水线时空图31245312453124531245………………………………n-1nn-1nn-1nn-1nT时间S空间(功能段)S4S3S2S1建立时间建立时间:第一条指令输入到完成的时间稳定时间:流水线各段都处于工作状态排空时间:最后一条指令输入到完成的时间稳定时间排空时间2020/10/28114线性流水线时空图31245312453124531245………………………………n-1nn-1nn-1nn-1nT时间S空间(功能段)S4S3S2S1mΔt(n-1)Δt最大吞吐率TP每t出一个结果出一个结果出n-1个结果实际吞吐率TP=n/[mt+(n-1)t]=TPMAX/[1+(m-1)/n]=1/t2020/10/28115加速比SP采用流水线后的工作速度与等效的非流水线的工作速度之比设流水线各段时间为ΔtT=mΔt+(n-1)Δt

完成n条指令在等效的非流水线上共需完成n条指令在m段流水线上共需T’=nmΔt

Sp

=

m+(n-1)nm=nmm+n-1

ΔtΔΔtt

则=m1+(m-1)/n2020/10/28116效率E流水线中各功能段的利用率m(m+n-1)Δt

=mnΔt

流水线各段处于工作时间的时空区流水线中各段总的时空区

效率E=312453124531245312

温馨提示

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

评论

0/150

提交评论