《组成原理课程第六章.ppt》由会员分享,可在线阅读,更多相关《组成原理课程第六章.ppt(53页珍藏版)》请在三一办公上搜索。
1、第六章 中央处理器,2,本章知识点,6.1 CPU的功能和基本结构 CPU的基本功能和常见的CPU基本结构6.2 指令执行的过程 1)数据通路的概念及组成 2)指令周期流程图6.3时序与控制器6.4微程序控制器的工作原理 1)微程序控制的基本概念 2)微程序控制器的组成原理 3)微指令的编码方法 4)微程序设计举例6.5硬布线控制器的工作原理 1)硬布线控制器的模型 2)硬布线控制器的基本原理与设计方法,3,6.1 CPU的功能和基本结构,(1)指令执行顺序的控制:控制程序中的指令按事先规定的顺序自动地执行。(2)指令的操作控制:产生指令执行过程中所需要的信号,以控制执行部件按指令规定的操作运
2、行。(3)时间控制:对各控制信号进行定时,以便按规定的时间顺序启动各操作。(4)异常和中断处理:处理运算中的异常及处理外部设备的中断服务请求等。(5)数据加工处理:对数据进行算术、逻辑运算,或将数据在相关部件之间传送。,1.CPU的基本功能,4,2.CPU的基本结构,5,1)控制器中各主要功能部件的作用:程序计数器PC,给出并指示下一条指令的地址,完成顺序控制的功能,内容在取指完成后即可改变,转移指令直接修改PC值,7,保存当前正执行的指令,指令的操作码字段和寻址方式送译码,2)控制器中各主要功能部件的作用:指令寄存器IR,8,对指令的OP字段和寻址方式译码,指出指令的操作方式译码的结果是找到
3、与该指令相关的微程序的入口,3)控制器中各主要功能部件的作用:指令译码器ID,9,产生指令执行过程中所需要的控制信号 实现指令的操作控制功能,4)控制器中各主要功能部件的作用:操作控制器OC,5)控制器中各主要功能部件的作用:时序产生器,对操作控制信号进行同步 实现控制器的时间控制功能,11,6)控制器中各主要功能部件的作用:数据缓冲寄存器DR,保存与主存之间交换的数据,12,7)控制器中各主要功能部件的作用:地址寄存器AR,存放CPU将要访问的主存单元地址,13,6.2 指令执行的过程,1.数据通路的概念及组成,数据通路:数据在功能部件之间传送的路径;数据在数据通路中的传送操作是在控制信号的
4、控制下进行的;数据通路的建立可用总线或专用通路两种方法来构建;不同功能的指令及同一指令在执行的不同阶段的数据通路可不同;数据通路的结构直接影响CPU内各种信息的传送路径、指令执行流程、所需要的微操作控制信号及其时序安排和控制器的设计;,14,2.指令周期流程,1)程序控制的过程,本质上是由控制器根据程序所包含的指令序列,逐条执行指令的过程。,2)指令周期一条指令从取出到执行完成所需时间3)指令周期划分(1)取指令周期:根据PC的值取去主存储取指令;如何形成后续指令地址。(a)顺序执行指令时,将PC内容加当 前指令所占用的主存单元数(b)当出现转移时,根据寻址方式、转移条件、转移的目标地址等内容
5、计算得到。,15,(2)译码/取操作数周期,对指令寄存器中的操作码字段进行译码并识别指令类型根据指令地址码和寻址方式,从寄存器或存储器中读取操作数。不同的寻址方式可能具有不同的取操作数周期。算术运算类指令大都要求双操作数,因此,取操作数流程要经历两次,第一次取源操作数,操作流程由源寻址方式字段确定,第二次取目的操作数,操作流程由目的寻址字段确定。,16,(3)执行周期,控制器向算术逻辑运算单元及数据通路中的其它相关部件发送操作控制命令,完成由指令操作码规定的动作,包括传送结果及记录状态信息。操作结果送到哪里由寻址方式确定;状态信息(如溢出)记录在PSW中;对转移指令还需在执行周期内计算机移地址
6、。,(4)写回,将运算结果写到结果寄存器或存储器。写回存储器时间较长,一般需要多个时钟周期。,17,3.寄存器级传送语言RTL(Register Transfer Language),为统一表示指令执行流程,采用寄存器描述语言表示指令执行过程中的操作,使用RTL的规则如下:1)用()表示读取寄存器或主存地址的内容,如(PC)表示读取PC寄存器中的内容;2)用 表示主存单元地址或寄存器堆中寄存器的编号,则:M6表示主存6号单元,(M6)表示读取主存6号单元的数据;R6表示寄存器堆中6号寄存器,(R6)表示读取寄存器堆中6号寄存器的数据;M(R6)表示寄存器堆中6寄存器内容所指主存单元;(M(R6
7、)表示读取寄存器堆中6寄存器内容所指主存单元的内容。为简化对主存单元的表示和访问,将它们分别简化成MR6和(MR6)。3)用“AB”表示数据传送,其中B为数据源,A为目的端;,18,4.指令操作流程:基于单总线结构的处理器,19,根据指令周期的概念,任何指令第一个CPU周期都是取指周期,取指周期中CPU要完成以下三件事:(1)根据PC的内容取出指令并送指令寄存器IR中保存(本书假定程序首地址已存放在PC中);(2)修改PC的值;(这里假定计算机字长8位,采用单字长指令,主存按字节编址);(3)对指令的操作码进行译码或测试,以确定指令在执行阶段将要具体进行何种操作。,20,(1)LOAD 指令周
8、期流程,R0(M6):将主存6号单元内容送R0,RS型指令,取指阶段的操作 MAR(PC)X(PC)Z ALU PC(Z)MDR(MMAR)IR(MDR),各操作对应的控制信号PCout=ARin=1Xin=1+1Zout=PCin=1Read=DREin=1DRIout=IRin=1,(a)取指CPU周期用到两条数据通路:PC MAR MEM MDR IR PC X ALU Z PC,(b)执行阶段用到的数据通路:IRA MAR MEM MDR R0,21,(1)LOAD 指令周期流程,R0(M6):将主存6号单元内容送R0,RS型指令,执行阶段用到的数据通路:IRA MAR MEM MDR
9、 R0,执行阶段的操作 MAR(IRA)MDR(MMAR)R0(MDR),各操作对应的控制信号IRout=ARin=1Read=DREin=1 DRIout=R0in=1,22,(2)MOVE 指令周期流程,R1(IRA):将来自于IR形式地址字段的立即数10送R1,RR型指令,执行阶段的操作R1(IRA),对应的控制信号IRout=R1in=1,执行CPU周期用到的数据通路:IR R1 指令中的立即数送R1。,23,(3)ADD 指令周期流程,R0(R0)+(R1):将R0和R1相加,结果送R0,RR型指令,执行阶段的操作X(R0)Z ALUR0(Z),对应的控制信号R0out=Xin=1R
10、1out=1=ADD=1Zout=R0in=1,执行CPU周期用到的数据通路:R0 X ALU;R1 ALU 加数和被加数送ALU输入端ALU Z R0 运算结果经Z写回寄存器R0。,24,(4)STORE 指令周期流程,MR2(R0):将R0内容送R2内容所指主存单元保存,RS型指令,执行阶段的操作MAR(R2)MDR(R0)MR2(MDR),对应的控制信号R2out=ARin=1 R0out=DRIin=1DREout=Write=1,执行CPU周期用到的数据通路:R2 MAR 传送地址;R0 MDR MEM 往主存存数据。,指令的执行需要两个CPU周期,执行阶段的第一个CPU送地址,即将
11、寄存器R2的内容MAR;执行阶段第二个CPU周期内将R0的值送MDR,然后存入MAR指向的内存单元,25,(5)JMP 指令周期流程,PC(IRA):将1000送入PC,实现无条件转移,执行阶段的操作 PC(IRA),对应的控制信号IRout=PCin=1,执行CPU周期用到的数据通路:IRA PC,26,6.3时序与控制器,1.中央处理器的时序,过去的计算机采用主状态周期、节拍电位和节拍脉冲三级时序体制来对操作控制信号进行定时控制.,主状态周期:一般对应指令的执行时间节拍电位:对应指令执行的不同周期,如取指周期,以主存的工作周期为基础 节拍脉冲:完成一次微操作所需要的时间,27,2.启停控制
12、电路,启停控制逻辑的作用是保证节拍和脉冲信号的完整性。即启动从第一个CPU周期的第一个节拍脉冲前沿开始工作,停机在一个CPU周期的最后一个节拍脉冲的下降沿结束。只有这样才能保证时序信号脉冲的完整性和指令功能的完整性。,28,6.4 微程序控制器的工作原理,1.微程序控制的基本概念,微程序设计技术是利用软件方法来设计硬件的技术微程序控制的基本思想仿照程序设计的方法,把完成每条指令所需要的操作控制信号编写成微指令,存放到一个只读存储器(控存)中。每条机器指令对应一段微程序,当机器执行程序时依次读出每条指令所对应的微指令,执行每条微指令中规定的微操作,从而完成指令的功能,重复这一过程,直到该程序的所
13、有指令完成.微程序控制器的设计采用了存储技术和程序设计技术,使复杂的控制逻辑得到简化,从而推动了微程序控制器的广泛应用.,29,程序,30,1)微命令和微操作,控制部件与执行部件之间的联系,控制部件,执行部件,控制线,反馈线,微命令控制部件通过控制线向执行部件发出的各种控制信号(打开和关闭控制门)微操作执行部件接受微命令后所进行的操作反馈线的作用向控制部件反馈执行的状态信息,以便控制部件进行状态测试,31,2)微操作的分类,微操作是计算机中最基本的操作,由于数据通路、逻辑功能的关系,微操作可以分为相容性的和相斥性的微操作:相容性的微操作能同时并行执行的微操作相斥性的微操作不能同时并行执行的微操
14、作,32,图中相斥性的微操作有:(+、M)(4、6、8)(5、7、9)图中相容性的微操作有:1、2、3(4、6、8)与(5、7、9)两组中各取一个任意组合,33,1)控制存储器:存放用来实现全部指令的所有微程序,是一种只读存储器,微程序固化在其中,其容量取决于机器指令和每条指令微程序的长度,字长取决于微指令的字长,也与容量有一定关系(!)。要求控制存储器快速。,2.微程序控制器的组成原理,34,2)微指令寄存器(IR)存放从控存中读出的微指令是图中的哪部分?,3)微地址寄存器(AR)存储访问CM的微地址,35,4)微地址产生逻辑用于产生后续微指令地址。能作为后继微指令地址的有下列形式:微程序的
15、入口地址顺序地址转移地址,36,3.微指令的的格式与微命令编码,1)微指令的格式,操作控制字段是微指令的主体,由若干微命令位组成。控制字段中的每一位通常表示一个特定的微命令,微指令是否含某个微命令,由该位的状态1或0决定。判别测试字段指出微指令执行过程中需要测试的外部条件,如进位、运算结果是否为零等;下地址字段给出的地址是下条微指令地址,最终是否按照该地址执行下一条微指令与是否进行条件测试及测试条件是否成立等有关。,37,微命令编码就是微指令中的操作控制字段采用的表示方法(1)直接表示法操作字段的每一位表示一个微命令,优点:简单、直观,缺点:微指令字长、不利于减少控存容量,2)微指令的格式,3
16、8,(2)编码表示法,把一组互斥的信号组成一个小组,然后通过小组译码器译码,译码输出将作为操作控制信号。每次每个小组最多只能有一个有效。,若某小组有4个微命令,则微指令中该字段需要多少位?需要3位,为什么?因为每字段经过译码后,要有一个状态表示不使用本组中的微命令。,39,编码表示法的优点:,大大缩短微指令字的长度,从而减少控存的容量。编码表示法的缺点:增加的译码电路降低了微指令的执行速度。(3)混合表示法综合前面的直接表示法和编码表示法.关于微命令编码的结论:目前一般使用字段直接表示法.,40,4.微程序设计举例,LOAD指令取指周期的操作及控制信号,41,4.微程序设计举例,MOVE指令取
17、指周期的操作及控制信号,42,4.微程序设计举例,ADD 指令取指周期的操作及控制信号,43,4.微程序设计举例,STORE 指令取指周期的操作及控制信号,44,4.微程序设计举例,JMP 指令取指周期的操作及控制信号,45,4.微程序设计举例,各指令操作系列顺序的安排必须保证指令功能的正确实现。如取指令阶段MAR(PC)操作一定要在IR(MDR)之前完成,否则取出出错;同一节拍内不能同时有两个或两个以上的部件向公共总线输出信息。如取指阶段PCout、Zout和DRIout必须被分别安排在不同的节拍内;上述指令微操作序列实现,重在描述实现方法,并不是优化;指令执行不同周期所需要的节拍数可能不同
18、,上述安排采用了同步控制方法,每个周期都分配了四个节拍,因此,部分指令有些周期中存在一些空节拍,没有任何微操作。,46,5.微命令的同步,微程序存放在控存中,每条指令的微程序包含几条微指令(包括取指令微指令)就表示该指令的执行需要几个CPU周期。,微命令自从控存中取出并送入微指令寄存器后就开始生效,直到新的微指令送入微指令寄存器(一个CPU周期的时间),一条微指令的若干个微命令中,大部分微命令只能在一个CPU周的某个T周期有效,必须对微命令进行时间同步后才能与相应执行部件的控制端相连。,47,微命令同步的基本方法就是列出每个微命令的逻辑表达式,并用相应的逻辑电路实现表达式的功能,电路的输入来自
19、微指令的相关位和时序信号(包括节拍电位或节拍脉冲),对应逻辑电路的输出才能与相应执行部件的控制端相连。,下面以Zout为例说明微命令的同步方法。,Zout=M取指周期ZoutT2+ADD M执行周期ZoutT3。,48,6.5硬布线控制器的工作原理,1.硬布线控制器的模型,1)组合逻辑控制单元,是控制器的核心,产生指令执行所需要的控制信号(包括控制电位与打入脉冲),可采用组合逻辑电路或可编程阵列逻辑或ROM实现.输入来自:指令码译码器的输出;条件状态寄存器的状态标志信息;来自时序电路的节拍信号,包括节拍电位信号M1Mi和节拍脉冲信号T1Tm。,49,1.硬布线控制器的模型,2)指令寄存器和指令
20、译码器3)节拍电路4)周期电路5)条件状态寄存器,50,2.硬布线控制器的基本原理与设计方法,分析指令执行的数据通路,列出每条指令在所有寻址方式下的执行操作流程和每一步所需要的控制信号;对指令的操作流程进行细化,将每条指令的每个微操作分配到具体机器周期的各时间节拍上,即对操作控制信号进行同步控制;对每一个控制信号进行逻辑综合,得到每个控制信号的逻辑表达式。在对控制信号进行逻辑综合的过程中,要考虑每一个控制信号在不同指令、不同CPU周期和不同节拍脉冲的有效情况,不能遗漏,否则对应的指令将由于缺少控制信号而不能正确执行。为了防止遗漏,设计时可按信号出现在指令流程图中的先后次序书写,然后进行归纳;最
21、后采用逻辑门或PLA或ROM实现逻辑表达式的功能。,1)硬布线控制器的设计流程,51,Xin在所有指令取指周期的T0节拍和ADD指令取操作数周期的T0节拍有效,对应的逻辑表达式为:Xin=MFTT0+ADDMSTT0 其中MFT和MST分别两个取指周期和取操作数周期;ADD是加法指令OP字段译码器的输出。Zout在所有指令取指周期的T2节拍和ADD指令取操作数周期的T3节拍有效,逻辑表达式为:Zout=MFTT2+ADDMSTT3IRout 在LOAD和MOVE指令的取操作数周期的T0节拍和JMP指令的执行周期的T2节拍有效,逻辑表达式为:IRout=LOADMSTT0+MOVEMSTT0+JMPMETT2=(LOAD+MOVE)MSTT0+JMPMETT2,52,产生Xin、Zout、IRout三个控制信号的硬布线控制器,53,本章小结,6.1 CPU的功能和基本结构6.2 指令执行的过程6.3时序与控制器6.4微程序控制器的工作原理6.5硬布线控制器的工作原理,本章以单总线结构的CPU为例,介绍了下列知识:,教材中还大量介绍了基于专用通路CPU结构的微程序和硬布线控制器的设计方法,请大家课后对照学习。,