No.5控制器综述综述_第1页
No.5控制器综述综述_第2页
No.5控制器综述综述_第3页
No.5控制器综述综述_第4页
No.5控制器综述综述_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

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

文档简介

计算机组成原理第5章控制器第5章控制器学习内容:第1节基本概念第2节指令周期第3节硬连线控制器第4节微程序控制器学习目标与要求:掌握CPU的功能及组成方式掌握控制器的控制方式掌握组合逻辑控制器的工作原理和设计方法掌握微程序控制器的工作原理和设计方法5.1基本概念要使计算机系统完成具体的任务,就要各部件协调工作。CPU的功能就是控制计算机系统各部件协调地工作,具体可归结为以下四个方面:1.指令控制若要计算机解决某个问题,程序员就要编制解题程序,而程序是指令的有序集合。按照“存储程序控制”的概念,程序被装入主存后,计算机应能按其预先设定的要求有条不紊地执行指令,方可完成具体的任务。因此,严格控制程序的执行顺序,是CPU的首要任务。5.1基本概念2.操作控制一条指令的执行,要涉及计算机中的若干个部件。控制这些部件协同工作,要靠各种操作信号的有机配合。因此,CPU产生操作信号传送给被控部件,并能检测各个部件发送来的信号,是协调各个工作部件按指令要求完成规定任务的基础。时序控制要使计算机有条不紊地工作,对各种操作信号的产生时间、稳定时间、撤销时间及相互之间的关系都应有严格的要求。对操作信号施加时间上的控制,称为时序控制。只有严格的时序控制,才能保证各功能部件组合构成有机的计算机系统。5.1基本概念3.数据加工要完成具体的任务,就不可避免地涉及数值数据的算术运算、逻辑变量的逻辑运算以及其他非数值数据(如字符、字符串)的处理。这些运算和处理,称为数据加工。数据加工处理是完成程序功能的基础,因此,它是CPU的根本任务。4.异常处理和中断处理对CPU内部出现的意外情况进行处理。此外还具有存储器管理、总线管理、电源管理等扩展管理。5.1基本概念CPU由运算器和控制器两大部件组成。控制器从内存中取指令,计算下一条指令在内存中的地址。对指令进行译码,产生相应的操作控制信号。控制指令执行的步骤和数据流动方向。运算器算术逻辑单元(ALU)、累加器、数据缓冲寄存器、寄存器组和状态寄存器组成,它是数据加工处理部件。运算器接受控制器的命令完成具体的数据加工任务。运算器对累加器和数据缓冲寄存器的内容进行算术运算或逻辑运算,运算的结果保存到累加器中,并建立相应的状态标志存放到状态寄存器中。5.1基本概念2.CPU的寄存器(1)指令寄存器(IR)指令寄存器用来存放从存储器中取出的指令。当指令从主存取出暂存于指令寄存器之后,在执行指令的过程中,指令寄存器的内容不允许发生变化,以保证实现指令的全部功能。(2)程序计数器(PC)程序计数器又称指令计数器,用来存放正在执行的指令地址或接着要执行的下条指令地址。对于顺序执行的情况,PC的内容应不断地增量(加“1”),以控制指令的顺序执行。这种加“1”的功能,有些机器是程序计数器本身具有的,也有些机器是借助运算器来实现的。在遇到需要改变程序执行顺序的情况时,将转移的目标地址送往PC,即可实现程序的转移。有些情况下除改变PC的内容外,还需要保留改变之前的内容,以便返回时使用。⑶存储器数据寄存器(DR)存储器数据寄存器用来暂时存放由主存储器读出的一条指令或一个数据字;反之,当向主存存入一条指令或一个数据字时,也暂时将它们存放在存储器数据寄存器中。(4)存储器地址寄存器(MAR)存储器地址寄存器用来保存当前CPU所访问的主存单元的地址。由于主存和CPU之间存在着操作速度上的差别,所以必须使用地址寄存器来保持地址信息,直到主存的读写操作完成为止。当CPU和主存进行信息交换,无论是CPU向主存存取数据时,还是CPU从主存中读出指令时,都要使用存储器地址寄存器和数据寄存器。⑸状态寄存器(SR)状态标志寄存器用来存放程序状态字(PSW)。程序状态字的各位表征程序和机器运行的状态,是参与控制程序执行的重要依据之一。它主要包括两部分内容:一是状态标志,如进位标志(C)、结果为零标志(Z)等,大多数指令的执行将会影响到这些标志位;二是控制标志,如中断标志、陷阱标志等。状态标志寄存器的位数往往等于机器字长,各类机器的状态标志寄存器的位数和设置位置不尽相同。5.1基本概念数据通路:信息传送的基本路径。CPU内部的数据通路通常是指运算器与寄存器之间的信息传输通道。数据通路结构直接影响着CPU内各种信息的传送路径。数据通路不同,指令执行过程的微操作序列的安排也不同,它将直接影响到微操作信号形成部件的设计。数据通路的建立:总线结构和专用通路指令译码/控制器IRPCARDRR0Rn-1YALUZ存储器地址总线数据总线控制信号SR总线控制信号单总线CPU结构中,控制信号可表示为:PCout,PCin...,寄存器的名字加下标表示,下标为in代表写操作,下标为out代表读操作。专用通路结构中,数据通路是每个部件专用的,不需要进行输出控制。可以减少输出控制信号。指令周期:从一条指令的启动到下一条指令的启动的间隔时间。取指阶段(取指令)执行阶段(分析指令、执行指令)机器周期:所有指令执行过程中的一个基准时间时钟周期:时钟周期是控制计算机操作的最小单位时间,计算机的主频周期。控制信号举例PCIRACCU时钟ALU………控制信号标志控制信号C0C1C2C3C4取指周期以ADD@X为例PCIRCU1.专用通路结构PCPCPC

MDR

MAR

MDR

MARPCIRACCU时钟ALU………控制信号标志控制信号

MDR

MAR控制信号举例1.专用通路结构C1C2C3C5ADD@X间址周期IR

MDR

MDR

MARPCIRACCU时钟ALU………控制信号标志控制信号

MDR

MAR控制信号举例1.专用通路结构C1C2C5ADD@X执行周期C7C6C8ACALU…控制信号

MDR

MAR

MDRMDRMDRCU(1)ADD@X取指周期

PC

CU

发读命令1R

MDROP(IR)(PC)+1PCIRPCMARAC

YALUZ…控制信号IRiIRiPCOPCOMARiMARiMDROMDRO…数据线数据线控制信号CPU

内部总线时钟2.采用CPU内部总线方式地址线地址线MARMDRIRCUIRPCPCMDRMARCUIRPCPCCU(2)ADD@X间址周期

MDR1R

MDR有效地址

Ad(IR)MDROMDRO数据线数据线时钟CUIRPCMARMDRACYALUZ…控制信号…控制信号CPU

内部总线MDRIRMARi

MARi地址线地址线MARIRiIRiMARMDRIRMDRMDRMDROMDROMDROMDROMDRO形式地址MAR

CU时钟CUIRPCMARMDRACYALUZ…控制信号CPU

内部总线MDROMDRO(3)ADD@X执行周期1R

MDR

Z

AC(AC)+(Y)

MDR控制信号…MARMDR地址线地址线数据线数据线MARMDRYMDRMDRMDROMDROMDROMDROMDROMDROMDROYiYi

YALUACACOACOALUiALUiALUALUACZZZZOZOACiACiACACACACMARi

MARiALUACCU5.2指令周期CPU要执行的指令及处理的数据都以二进制代码的形式存放在主存中,从形式上看,数据和指令很难区别。然而,CPU却能区分出哪些是指令,哪些是数据,根据指令的操作要求对数据实现处理。CPU之所以能够自动地识别指令和数据,又能自动地执行指令,是因为它能按程序中的指令序列取指,并对指令进行译码、执行。CPU取指令、执行指令的序列如下图所示,即CPU在执行程序的过程中,先按程序计数器(PC)的值从主存中取得一条指令,然后译码、执行(执行过程包括从主存中取必要的数据)。紧接着又取下一条指令,译码、执行。依此重复,直至遇到停机指令。CPU每进行一种操作,都需要时间的开销。因此,CPU取指令、译码、执行需要一定的时间,这一系列操作的时间称为指令周期,指令周期就是CPU从主存中取出一条指令到执行完这条指令所需的时间。不同的指令,所需要的操作不相同,有的复杂,有的简单,因此,它们的操作时间也不相同。例如,一条寄存器间址的数据传送指令的指令周期与一条从主存取数指令的指令周期是不同的。5.2指令周期5.2.1运算指令周期一条运算指令的执行在专用数据通路需要四个阶段:1.取指令PCMARPC+1PC(计算下一条指令地址)DBUSMDR,MDRIR2.指令译码及读取操作数3.执行4.写回5.2.1运算指令周期一条运算指令的执行在单总线需要六步:1.送指令地址PCMAR2.计算下一条指令地址PC+1PC3.读入指令DBUSMDR,MDRIR4.把一个操作数送入运算器。5.把另一个操作数送入运算器6.把结果送入指令的计算器5.2.1运算指令周期写出在单总线结构中,将R1和R2的数据相加,结果送入R3的指令ADDR3,R1,R2的执行过程。1.送指令地址PCMAR2.计算下一条指令地址PC+1PC3.读入指令DBUSMDR,MDRIR4.把一个操作数送入运算器。R1Y5.把另一个操作数送入运算器。R2+YZ6.把结果送入指令的计算器。ZR35.2指令周期5.2.2访存指令周期一条读存储器数据的指令的执行过程:1.取指令2.指令译码3.计算地址4.访存5.写回PCMARPC+1PC(计算下一条指令地址)DBUSMDR,MDRIR5.2指令周期5.2.2访存指令周期一条写存储器数据的指令的执行过程:1.取指令2.指令译码3.计算地址4.访存PCMARPC+1PC(计算下一条指令地址)DBUSMDR,MDRIR5.2.2访存指令周期写出在单总线的CPU结构中,执行读存储器数据到寄存器的指令LOADR1,mem的过程。解:(1)PCMAR(2)PC+1PC(3)DBUSMDR,MDRIR(4)IR(地址字段)MAR,读存储器(5)DBUSMDR(6)MDRR15.2.2访存指令周期写出在单总线的CPU结构中,执行写存储器数据到寄存器的指令STORER1,mem的过程。解:(1)PCMAR(2)PC+1PC(3)DBUSMDR,MDRIR(4)IR(地址字段)MAR(5)R1MDR,写存储器5.2.3控制指令周期条件转移指令有三种安排方法:1.条件码方法。由ALU操作设置特定的位作为条件码,这个条件码放在专门的寄存器中。每条指令执行完成时将它的结果条件写入状态存储器,以便于下一条指令进行判断。2.条件寄存器方法将条件码放入通用寄存器中,测试带比较结果的任意通用寄存器。3.比较与转移方法比较操作是条件转移指令的一部分功能。一条转移指令的操作过程是:1.取指令2.指令译码3.更新指令地址5.2.3控制指令周期相对转移的目标地址:指令中的地址码+PC绝对转移的目标地址:指令中的地址码例写出在单总线结构的计算机中执行相对转移指令JMPoffs时的操作步骤(offs是相对转移地址)。解:(1)PCMAR(2)PC+1PC(3)DBUSMDR,MDRIR(4)PCY(5)Y+IR(地址码)Z(6)ZPC试写出单总线的CPU结构中指令的执行步骤:(1)ADDR1,R2;R1+R2R1(2)ADD(R1),R2;(R1)+R2(R1)(3)MOVER1,R2;R1R2(4)MOVEmem1,mem2;(mem1)mem2解:取指令操作都是一样的:PCMARPC+1PCDBUSMDR,MDRIR(1)R1Y;Y+R2Z;ZR1(2)R1MAR,读存储器;DBUSMDR;MDRY;Y+R2Z;ZMDR,写存储器(3)MOVER1,R2;R1R2R1R2(4)MOVEmem1,R2;(mem1)R2IR(地址字段)MAR,读存储器;DBUSMDR;MDRMAR,读存储器;DBUSMDR;MDRR2以单总线的CPU数据通路结构为背景,试拟出加法指令ADDR3,B(R2)的读取和执行流程。其中R3表示目的寻址为寄存器寻址;B(R2)表示源寻址为变址寻址,B是偏移量,R2是变址寄存器。PC→MARPC+1→PCDBUS→MDR,MDR→IRB(IR地址段)→YR2+Y→ZZ→MARDBUS→MDR,MDR→YR3+Y→ZZ→R3以单总线的CPU数据通路结构为背景,试拟出转移指令JMP#A的读取和执行流程。答案:PC→MARPC+1→PCDBUS→MDR,MDR→IRIR(地址段)→PC5.3硬连线控制器硬连线控制器采用基本的门电路实现控制器的逻辑。根据时钟信号和指令译码后的信号产生控制各个部件操作的信号。硬连线控制器设计步骤:根据每条指令功能,确定每条指令的执行步骤,画出指令执行的流程图。列出每条指令在每个操作步骤(机器周期)中所需的控制信号。写出每个控制信号的逻辑表达式。画出控制器的逻辑框图,图上标出每个信号的名称。5.3.1指令周期流程图方框表示一个机器周期中可完成的操作。条件判断的菱形框可省略。取指操作时每条指令共同的操作步骤,在指令流程图中是一个公共的流程段。执行阶段的操作是各指令互不相同的操作,可以给每条指令安排一个分支流程。开始PCMAR,PC+1PCDBUSMDR,MDRIRR1YIR(地)

MARIR(地)

MARPCYR2+YZZR3R1

MDRDBUS

MDRY+IR(地)ZMDR

R1Z

PCADDSTORELOADJMP例单总线结构的写出加法操作指令在执行过程中的控制信号。PCMAR,PC+1PCDBUSMDR,MDRIRR1YR2+YZZR3T1:PCout,MemRead,PC+1,MARinT2:MDRout,IRinT3:R1out,YinT4:R2out,Zin,+T5:Zout,R3in5.3.2硬连线控制器各个操作的定时控制构成了操作控制信号的时间特征,各种不同部件的操作所需要的不同操作信号构成计算机操作控制信号的空间特征。时间特征由控制信号的定时来体现;控制信号的空间特征由控制信号的逻辑组合来体现。组合电路的硬连线控制器由时钟源、环形脉冲发生器、控制信号的编码器电路、指令译码逻辑电路构成。时钟源为环形脉冲发生器提供频率稳定的时钟脉冲信号。指令译码器对操作码进行译码,产生表示不同指令的信号,以便于编码器产生所需的控制信号。Ci=T1*(INS1+INS2+...)+T2*(INS1+INS2+...)+...例某计算机中有ADD指令和JMP指令。ADD指令每个时钟周期内的控制信号为:T1:PCout,MARin,PC+1,ReadT2:MDRout,IRinT3:R1out,YinT4:R2out,Zin,+T5:Zout,R3inJMP指令每个时钟周期内的控制信号为:T1:PCout,MARin,PC+1,ReadT2:MDRout,IRinT3:PCout,YinT4:IRout,Zin,+T5:Zout,PCin写出控制信号的逻辑表达式。解:PCin=T5*JMPPCout=T1*(ADD+JMP)+T3*JMPYin=T3*(ADD+JMP)+=T4*(ADD+JMP)Zin=T4*(ADD+JMP)Zout=T5*(ADD+JMP)5.4微程序控制器5.4.1微程序和微指令完成一条机器指令微操作命令1微操作命令2微操作命令n…微指令110100000微指令n微程序00010010存储逻辑一条机器指令对应一个微程序…存入ROM程序、指令、微程序、微指令、微命令、微操作的关系M+1MM+2P+1KK+2PP+2K+1…取指周期微程序对应LDA操作的微程序对应STA操作的微程序顺序控制操作控制微指令基本格式①在组合逻辑控制器中,一条指令的功能是直接由硬件解释实现的;而在微程序控制器中,每条指令都对应着一段微程序,指令的功能是由微程序解释实现的,硬件完成的是微指令的功能。②机器设计确定后,指令系统就确定了,所以通常用ROM组成控存。③微程序实质上定义了机器的指令系统。只要修改控存中的微程序,就可以修改机器的指令系统。因此可以通过修改微程序,在相同的硬件中实现不同的指令系统。这样就可以允许用户编写指令系统以满足特殊要求。④由于一条机器指令的执行过程中,需要多次访问控存,所以控存的速度直接影响到机器的速度。5.4.2微程序控制器原理译码器顺序控制逻辑控制存储器微地址寄存器控制码译码器操作码状态码μARμIR控制信号控制存储器:存放实现全部指令系统的所有微程序。微指令寄存器:存放由控制存储器读出的一条微指令信息。微地址寄存器:存放将要访问的下一条微指令的微地址。BCF:转移控制字段BAF:转移地址字段5.4.3微程序设计技术微指令的设计目标:缩短微指令长度减小控制存储器的容量提高微程序的执行速度便于微指令的修改便于微程序设计的灵活性5.4.3微程序设计技术1.控制字的编码直接编码(直接控制)方式在微指令的操作控制字段中,每一位代表一个微操作命令顺序控制字段…控制信号操作控制简单直观、速度最快直接编码(直接控制)方式微指令操作控制字段的每一位都直接表示一个微命令,该位为“1”,表示执行这个微命令,为“0”表示不执行该微命令。由于这种方法不需译码,所以也称不译法。例:在模型机中,若只考虑输入信号,则有35个微命令,因此微指令的操作控制字段应长35位。设μIR的第22位对应于C0,则译码时有C0=μIR22。直接编码(直接控制)方式直接控制法的优点:结构简单,并行性强,操作速度快。直接控制法的缺点:微指令字太长,信息效率低。因为在这种方法中,有N个微命令,操作控制字段就需N位。在实际机器中,微命令数达几百个,使微指令字长达到难以接受的地步。同时在几百个微命令中有很多是互斥的,不允许同时出现的(如R0→BUS1,R1→BUS1),将它们安排在同一条微指令内,只会使信息效率降低。因此在实际机器中,往往与其它方法混合使用,仅部分位采用直接控制法。5.4.3微程序设计技术1.控制字的编码编码表示法将微指令的控制字段分成若干“段”,每段经译码后发出控制信号每个字段中的命令是互斥

的译码…译码…译码…顺序控制操作控制控制信号编码表示法将微指令操作控制字段划分为若干个子字段,每个子字段的所有微命令进行统一编码。因此在这种方法中,不同的子字段的不同编码,表示不同的微命令。子字段的划分原则:①把互斥的微命令(即不允许同时出现的微命令)划分在同一字段内,相容的(即允许同时出现)微命令划分在不同字段内。②字段的划分应与数据通路结构相适应。③一般每个子字段应留出一个状态,表示本字段不发任何微命令。④每个子字段所定义的微命令数不宜太多,否则将使微命令译码复杂。例:Ri→BUS1是互斥的,可以划分在同一字段;RS→BUS1和CPRS是相容的,应划分在不同字段。字段直接编码法的微指令结构某计算机控制器的控制信号有:PCout、PC+1、MARin、MDRout、Read、IRin、R1out、Yin、R2out、Add、Zin、Zout、R3in、IRout、R1in、PCin、MDRin、Write微指令ADDT3的操作需要的控制信号是R1out和IRin,设微指令控制字的编码采用直接表示法,写出该微指令的控制字。2.微地址的形成方式在微程序控制的计算机中,机器指令是通过微程序解释执行的。每一条指令都对应一段微程序,不同指令的微程序存放在控制存储器的不同存储区域内。微程序顺序控制(或地址控制)需解决的问题是微程序应如何存放和执行,即需考虑初始微地址和后继微地址的各种形成方法。微程序的初始微地址(微程序的入口地址):指令所对应微程序的第一条微指令所在控制存储器单元的地址。现行微指令:执行微程序过程中,当前正在执行的微指令。现行微地址:现行微指令所在控制存储器单元的地址。后继微指令:现行微指令执行完毕后,下一条要执行的微指令。后继微地址:后继微指令所在控存单元的地址。5.4.3微程序设计技术2.微地址的形成方式计数器方式(增量方式):用微程序计数器来产生下一条微指令的微地址,将微程序中的各条微指令按执行顺序安排在控制存储器中,后续微地址由现行微地址加上一个增量形成。译码器顺序控制逻辑控制存储器微地址计数器控制码译码器操作码状态码μPCμIR控制信号5.4.3微程序设计技术2.微地址的形成方式断定方式:根据机器状态决定下一条微指令的微地址,下一条微指令的微地址包含在当前微指令的代码中。结合方式:断定式与增量式相结合。译码器顺序控制逻辑控制存储器微地址计数器控制码译码器操作码状态码μARμIR选择器5.4.3微程序设计技术微程序控制器的设计步骤:根据每条指令功能,确定每条指令的执行步骤,画出微程序的流程图。列出每条指令在每个操作步骤(机器周期)中所需的控制信号。写出各控制信号以及各伪指令的控制字。在微程序流程图中安排每条微指令存储地址。设计每条指令的格式,写出每条微指令的代码。设计形成多路分支微地址的形成方法。例对于图示的控制器流程图,试写出用微程序实现控制器时的微程序流程图,为每条微指令安排微地址,写出每条微指令的生成微地址的字段并指出多路分支的实现方法。设ADD、LOAD、STORE、JMP指令的操作码分别为00、01、10、11.开始PCMAR,PC+1PCDBUSMDR,MDRIRR1YIR(地)

MARIR(地)

MARPCYR2+YZZR3R1

MDRDBUS

MDRY+IR(地)ZMDR

R1Z

PCADDSTORELOADJMP解:采用的指令格式为3部分,因为只有1个分支,故BCF为1位。共13个微指令,故下址字段BAF为4位。多路分支时BAF中的高2位根据操作码构成。开始PCMAR,PC+1PCDBUSMDR,MDRIRR1YIR(地)

MARIR(地)

MARPCYR2+YZZR3R1

MDRDBUS

MDRY+IR(地)ZMDR

R1Z

PCADDSTORELOADJMP0000000100100011010001100111101010111110111111000001XX10100000110100000001110000101110000000111111101100微程序设计方法微指令格式的设计是微程序设计的主要部分,它直接影响微程序控制器的结构和微程序的编制,也影响着机器的处理速度和控制存储器的容量。微指令格式的设计除了要实现计算机的整个指令系统之外,还要考虑具体的数据通路、控制存储器速度以及微程序的编制等因素。不同机器有不同的微指令格式,但从其所具有的共性来看,通常可分为两大类。1.水平型微指令水平型微指令是一种广义的说法,并没有统一的确切定义。水平型微指令是指一次能定义并执行多个操作微命令的微指令。水平型微指令一般由控制字段、判别测试字段和下地址字段等3部分组成。水平微指令一般具有以下特点:①微指令字较长,定义的微命令较多,一般为几十位到上百位。如

温馨提示

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

评论

0/150

提交评论