第6章 中央处理机组织课件_第1页
第6章 中央处理机组织课件_第2页
第6章 中央处理机组织课件_第3页
第6章 中央处理机组织课件_第4页
第6章 中央处理机组织课件_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

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

文档简介

1、第6章 中央处理机组织 CPU概念概念:控制并执行指令的部件,该部:控制并执行指令的部件,该部件不仅要与计算机的其它功能部件进行信件不仅要与计算机的其它功能部件进行信息交换,还要控制它们的操作。息交换,还要控制它们的操作。 CPU基本功能基本功能:读取并执行指令,它通常:读取并执行指令,它通常包括包括控制器控制器与与运算器运算器两大部分。两大部分。6.1 CPU的结构与功能的结构与功能 指令存放在连续的主存单元中,当未遇到转移或跳步指令存放在连续的主存单元中,当未遇到转移或跳步指令时,指令时,CPU将按照指令在主存中的存放顺序逐条将将按照指令在主存中的存放顺序逐条将其读出并执行。其读出并执行。

2、CPU用一个专门的寄存器,即用一个专门的寄存器,即程序计程序计数器(数器(PC),以存放下一条指令所在主存单元的地址。,以存放下一条指令所在主存单元的地址。6.1.1 CPU的组成与操作地址线地址线指令译码器指令译码器MDRMDRMARMARPCPCIRIR数据线数据线存储器总线存储器总线R0R0Y YR(n-1)R(n-1)Z ZALUALU加加减减1 1 C C0 0ALUALU控制控制图图6.1 CPU6.1 CPU内部单总线组织的数据通路内部单总线组织的数据通路. CPU的组成的组成(图图6.1) CPU至少应有以下四种基本功能:至少应有以下四种基本功能: 读取某一主存单元的内容,并将

3、其装入某一个读取某一主存单元的内容,并将其装入某一个CPU寄存器;寄存器; 把一个数据字从某一把一个数据字从某一CPU寄存器存入某个给定的主存单元中;寄存器存入某个给定的主存单元中;1从内存读取一个字从内存读取一个字(1) MARR1(2) Read(3) WMFC ;等待;等待MFC信号(信号(Wait MFC)(4) R2MDR 把一个数据字从某一把一个数据字从某一CPU寄存器送到另一个寄存器或者寄存器送到另一个寄存器或者ALU; 进行一个算术运算或逻辑运算,将结果送入某一进行一个算术运算或逻辑运算,将结果送入某一CPU寄存器。寄存器。通常,在通常,在CPU发出地址信息和读信号之后发出地址

4、信息和读信号之后,必须等待,直到主存完成读操作时为止。,必须等待,直到主存完成读操作时为止。所谓读操作完成,是指数据已从主存中读出并放在所谓读操作完成,是指数据已从主存中读出并放在存储器总线的数据线上。存储器总线的数据线上。 CPU和主存之间通信的方式有和主存之间通信的方式有“同步同步”和和“异步异步”两两种。种。 “异步异步”方式即指一个设备(如方式即指一个设备(如CPU)启动一个传)启动一个传送操作(如送出一个读信号),然后等待另一个设送操作(如送出一个读信号),然后等待另一个设备(如存储器)回答备(如存储器)回答“操作完成操作完成”,此次传送操作,此次传送操作即可完成。即可完成。同步方式

5、即指在同步方式即指在CPU和主存之间建立公共的定时时和主存之间建立公共的定时时钟。一个时钟周期完成一次主存访问。钟。一个时钟周期完成一次主存访问。2把一个字写入主存把一个字写入主存 (1) MARR1 (2) MDRR2 (3) Write (4) WMFC.R(n-1)R(n-1)Y Y.YinYinA AB BALUALUZ ZZoutZoutYoutYoutR R (n-1)out(n-1)outZinZin图图6.2 6.2 寄存器的输入门和输出门寄存器的输入门和输出门R(n-1)inR(n-1)in3通用寄存器之间传送数据通用寄存器之间传送数据 R1out,R4in4完成算术、逻辑运

6、算完成算术、逻辑运算 (1) R1out,Yin (2) R2out,Add,Zin (3) Zout,R3in 接通三态接通三态 总线传总线传 通过通过ALU 保持保持 门时间门时间 输时间输时间 的延时的延时 建立时间建立时间 时间时间 t0 t1 t2 t3 t4 t5 有效数据有效数据 下一操下一操 进入寄存器进入寄存器Z 作开始作开始 准备下一操作的控制信号准备下一操作的控制信号 图图6.3 加法操作期间控制信号的时序加法操作期间控制信号的时序6.1.2 CPU时序控制方式 控制器的主要任务控制器的主要任务: :能够按正确的时序产生操作能够按正确的时序产生操作 控制信号。控制信号。

7、控制器三种时序控制方式控制器三种时序控制方式:同步、异步和联合控制方式。:同步、异步和联合控制方式。1同步控制方式同步控制方式 同步控制方式同步控制方式是指控制序列中每步的执行,都由确定是指控制序列中每步的执行,都由确定的具有基准时标的时序信号来控制。每个时序信号的的具有基准时标的时序信号来控制。每个时序信号的结束就意味着所要求的操作已经完成。结束就意味着所要求的操作已经完成。 同步方式的时序信号通常由同步方式的时序信号通常由周期周期、节拍节拍和和脉冲脉冲组成。组成。 周期是指令运行过程中相对独立的阶段,也被称为工周期是指令运行过程中相对独立的阶段,也被称为工作状态。作状态。 指令的运行过程可

8、分为取指令、读取操作数及执行指令的运行过程可分为取指令、读取操作数及执行( (包括写结果包括写结果) )三个基本工作周期。三个基本工作周期。 以主存的工作周期为基础来确定以主存的工作周期为基础来确定CPU周期。周期。 一个周期划分成若干节拍,以控制不同操作一个周期划分成若干节拍,以控制不同操作控制步的顺序执行。控制步的顺序执行。 为了产生操作控制信号并使某些操作能在一拍的时为了产生操作控制信号并使某些操作能在一拍的时间内配合工作,常在一拍之内再设置一个或多个工间内配合工作,常在一拍之内再设置一个或多个工作脉冲。作脉冲。周期周期节拍节拍P P0 0P1P1P2P2P3P3周期周期C C0 0C1

9、C1C2C2C3C3图图6.4 6.4 周期、节拍和脉冲的关系图周期、节拍和脉冲的关系图2异步控制方式异步控制方式 异步控制方式异步控制方式,不仅要区分不同指令所对,不仅要区分不同指令所对应的操作序列的长短,而且要区分其中每应的操作序列的长短,而且要区分其中每个操作的繁简,按每条指令、每个操作的个操作的繁简,按每条指令、每个操作的需要而占用时间的一种控制方式。需要而占用时间的一种控制方式。 各操作之间是用各操作之间是用“结束结束”或或“就绪就绪”“起始起始”的方式衔接起来的。的方式衔接起来的。3联合控制方式联合控制方式 联合控制方式联合控制方式是同步和异步控制方式的结合。是同步和异步控制方式的

10、结合。 现代计算机大多采用同步控制方式或联合控制方式。现代计算机大多采用同步控制方式或联合控制方式。6.1.3 CPU控制流程 计算机进行信息处理的过计算机进行信息处理的过程就是不断地程就是不断地取指令取指令、分分析指令析指令和和执行指令执行指令这样一这样一个周而复始的过程。个周而复始的过程。程序执行完了吗?程序执行完了吗?取出指令取出指令启动启动分析指令分析指令执行指令执行指令是否有中断请求?是否有中断请求?转中断处理程序转中断处理程序返回返回否否是是是是图图6.5 CPU6.5 CPU控制流程控制流程否否等待等待 图图6.5给出了给出了CPU控制流程控制流程 对异常情况和某些请求通对异常情

11、况和某些请求通过中断处理。过中断处理。 6.1.4 控制器的组成启停控制线启停控制线操作控制信号形成部件操作控制信号形成部件时序信号产生部件时序信号产生部件指令译码器指令译码器指令寄存器指令寄存器程序计数器程序计数器脉冲源脉冲源状态寄存器状态寄存器通用寄存器通用寄存器ALUALU 总线控制逻辑总线控制逻辑中断机构中断机构+1+1转移转移地址地址地址总线地址总线数据总线数据总线控制总线控制总线图图6.6 6.6 控制器组成框图控制器组成框图(1)程序计数器()程序计数器(PC): (2)指令寄存器()指令寄存器(IR): (3)指令译码器)指令译码器: (4)脉冲源及启停控制线路)脉冲源及启停控

12、制线路: (5)时序信号产生部件)时序信号产生部件: (6)操作控制信号形成部件)操作控制信号形成部件: (7)中断机构)中断机构: (8)总线控制逻辑)总线控制逻辑: 6.1.5 一条完整指令的执行 考虑一条比较简单的指令:考虑一条比较简单的指令: Add (R3),),R1 执行这条指令需要下列动作执行这条指令需要下列动作( (图图6.7 ):(1)取指令;)取指令;(2)取第一个操作数)取第一个操作数( (由由R3所指出的存储单元的内容所指出的存储单元的内容) );(3)完成加法运算;)完成加法运算;(4)结果存入)结果存入R1中。中。步步 动作动作 说明说明 1 PCout,MARin

13、,Read,Clear Y,1=C0,Add,Zin ;取指,;取指,(PC)+1 2 Zout,PCin,WMFC ;(PC)+1 = PC 3 MDRout,IRin ;指令;指令 = IR 4 R3out,MARin,Read ;取数据;取数据 5 R1out,Yin,WMFC ;(R1) = Y 6 MDRout,Add,Zin ;相加;相加 7 Zout,R1in,End ;结果;结果 = R1 图图6.7 指令指令Add (R3),R1的执行控制序列的执行控制序列步步 动作动作1 PCout,MARin,Read,Clear Y, 1 = C0 ,Add,Zin2 Zout,PCi

14、n,WMFC3 MDRout,IRin4 PCout,Yin5 (IR的偏移字段的偏移字段)out,Add,Zin6 Zout,PCin,End 图图6.8 无条件转移指令的控制序列无条件转移指令的控制序列 条件转移的情况条件转移的情况 图图6.8中第中第4步应改为:步应改为: If N=0 then End If N=1 then PCout,Yin6.1.6 CPU性能设计 决定决定CPU性能最重要的三个因素性能最重要的三个因素:指令:指令的功能强弱、时钟周期的长短、执行每的功能强弱、时钟周期的长短、执行每条指令所需时钟周期数。条指令所需时钟周期数。 指令流水执行过程中,采用相对简单的指令

15、会更合指令流水执行过程中,采用相对简单的指令会更合适;适; 时钟速度取决于所采用的电子电路的速度和功能部时钟速度取决于所采用的电子电路的速度和功能部件(如件(如ALU)的实现技术;)的实现技术; 在过去的二十年间,微处理器芯片的时钟频率从几在过去的二十年间,微处理器芯片的时钟频率从几兆已经发展到几百兆、几千兆。兆已经发展到几百兆、几千兆。1. 多总线组织多总线组织 为了达到更高的性能,每条指令的执行时钟为了达到更高的性能,每条指令的执行时钟周期尽量少,最理想的是一个时钟周期;周期尽量少,最理想的是一个时钟周期; 单总线只允许在一个时钟周期内传输一个数单总线只允许在一个时钟周期内传输一个数据;有

16、必要考虑在据;有必要考虑在CPU内部采用多总线结构。内部采用多总线结构。如如Pentium处理器就采用了分层次多总线结处理器就采用了分层次多总线结构。构。指令译码器指令译码器TEMPTEMP寄存器堆寄存器堆PCPCIRIRMARMARMDRMDRALUALU地址线地址线数据线数据线存储器总线存储器总线图图6.9 CPU6.9 CPU的三总线组织的三总线组织A AC CB B 多总线结构的实现多总线结构的实现 所有通用寄存器都被放入所有通用寄存器都被放入一个被称为一个被称为寄存器堆寄存器堆(register file)的单独模块)的单独模块中。中。 在在VLSI技术技术中,实现这些中,实现这些寄

17、存器最有效的方法是采寄存器最有效的方法是采用用存储元件阵列存储元件阵列。 图图6.9 CPU三总线组织三总线组织 考虑以下三操作数指考虑以下三操作数指令的例子:令的例子: OP Rsrc1, Rsrc2, Rdst2. 指令流水指令流水 指令流水(指令流水(instruction pipelining)技)技术术: CPU能够将指令的取指周期和执行能够将指令的取指周期和执行周期重叠起来,会极大地改善周期重叠起来,会极大地改善CPU性性能。能。 一条指令流水线可由如下一条指令流水线可由如下5段组成:段组成:(图图6.10) S1,取指令,取指令(IF):由:由cache或主存取指令;或主存取指令

18、; S2,指令译码,指令译码(ID):生成指令将要完成的操作;:生成指令将要完成的操作; S3,取操作数,取操作数(OF):确定存储器操作数地址,读取:确定存储器操作数地址,读取 存储器操作数和寄存器操作数;存储器操作数和寄存器操作数; S4,执行,执行(EX):对操作数完成指定操作;:对操作数完成指定操作; S5,写回,写回(WB):修改目标操作数。:修改目标操作数。 后一指令的第后一指令的第i功能步与前一指令的第功能步与前一指令的第i+1功能步同时进行。功能步同时进行。取指取指IFIF译码译码IDID取操作数取操作数OFOF执行执行EXEX写回写回WBWBS S1 1S S2 2S S3

19、3S S4 4S S5 5输入输入输出输出IFIFEXEXWBWBEXEXOFOFIDIDOFOFIDIDIFIFEXEXOFOFIDIDIFIFEXEXOFOFIDIDIFIFWBWBWBWBWBWB指令指令 i i1 1 i i4 4 i i2 2i i3 32 28 81 17 76 65 54 43 3时钟时钟图图6.10 6.10 一个一个5 5段的指令流水线段的指令流水线 上图中,完成上图中,完成4条指令的执行只用了条指令的执行只用了8个个时钟周期;若是非流水线的顺序处理则时钟周期;若是非流水线的顺序处理则需要需要20个时钟周期。个时钟周期。3. 指令发射与完成策略指令发射与完成策

20、略 指令发射指令发射(instruction issue)是指启动指令进入执行)是指启动指令进入执行的过程;的过程; 指令发射策略指令发射策略是指发射所使用的协议或规则;是指发射所使用的协议或规则; 指令的发射和完成策略主要用于流水线的调度,对于指令的发射和完成策略主要用于流水线的调度,对于充分利用指令级的并行度,提高处理器性能十分重要。充分利用指令级的并行度,提高处理器性能十分重要。 当指令按程序的指令次序发射时,称之为当指令按程序的指令次序发射时,称之为按序发射按序发射(in-order issue);); 为改善流水线性能,可以将有(结构、控制、数据)为改善流水线性能,可以将有(结构、控

21、制、数据)冒险的指令推后发射,而将后面的无冒险的指令提前发冒险的指令推后发射,而将后面的无冒险的指令提前发射,即不按程序原次序发射指令,称之为射,即不按程序原次序发射指令,称之为乱序发射乱序发射或或无无序发射序发射(out-of-order issue)。)。 有三种指令发射与完成策略:有三种指令发射与完成策略: 按序发射按序完成;按序发射按序完成; 按序发射无序完成;按序发射无序完成; 无序发射无序完成。无序发射无序完成。 Pentium处理器采用的是按序发射按序完成策略;处理器采用的是按序发射按序完成策略; Pentium/处理器采用的是按序发射无序完成策处理器采用的是按序发射无序完成策略

22、,而以按序回收来保证程序最终结果的正确性。略,而以按序回收来保证程序最终结果的正确性。 无论采用哪种策略对流水线进行调度,都要保证程无论采用哪种策略对流水线进行调度,都要保证程序运行最终结果的正确性。序运行最终结果的正确性。4. 动态执行技术动态执行技术 动态执行(动态执行(dynamic execution)技术)技术是是通过预测程序流来调整指令的执行,并通过预测程序流来调整指令的执行,并且分析程序的数据流来选择指令执行的且分析程序的数据流来选择指令执行的最佳顺序。最佳顺序。 动态执行技术由以下动态执行技术由以下3方面组成:方面组成: 利用利用转移预测技术转移预测技术(通常预测正确率高达(通

23、常预测正确率高达90%):允许程序):允许程序的几个分支流同时在处理器中进行;的几个分支流同时在处理器中进行; 数据流分析数据流分析(dataflow analysis):通过分析指令之间的数据):通过分析指令之间的数据相关性,产生优化的重排序的指令调度;相关性,产生优化的重排序的指令调度; 推测执行推测执行(speculative execution):将多个程序流向的指令):将多个程序流向的指令序列,以调度好的优化顺序送往处理器的执行部件去执行,序列,以调度好的优化顺序送往处理器的执行部件去执行,尽量保持多端口多功能的执行部件始终为尽量保持多端口多功能的执行部件始终为“忙忙”,以充分发,以

24、充分发挥此部件的效能。挥此部件的效能。5. 一个完整的一个完整的CPU(图图6.11)图6.11 一个完整的CPU指令部件指令cache浮点部件整数部件总线接口数据cache系统总线系统总线输入/输出主存CPUCPU CPU、微处理器,其工作主要还是进、微处理器,其工作主要还是进行行标量处理标量处理; 采用多功能部件和流水线技术,可以在采用多功能部件和流水线技术,可以在一个时钟周期内完成多条指令的取指和一个时钟周期内完成多条指令的取指和执行。这种处理器被称为执行。这种处理器被称为超标量流水线超标量流水线处理器处理器(superscalar pipelining processor)。)。6.1

25、.7 典型CPU举例1Pentium处理器处理器 Pentium是是Intel公司公司x86系列的第五代微处理器;系列的第五代微处理器; 主要寄存器为主要寄存器为32位宽,是一个位宽,是一个32位微处理器;位微处理器; 连接存储器的外部数据总线宽度为连接存储器的外部数据总线宽度为64位,每次可同时传输位,每次可同时传输8个个字节;字节; Pentium外部地址总线宽度是外部地址总线宽度是36位,一般使用位,一般使用32位,故物理地位,故物理地址空间为址空间为4GB。 Pentium采用采用U,V两条指令流水线的超标量结构,内部有分两条指令流水线的超标量结构,内部有分立的立的8KB指令指令cac

26、he和和8KB数据数据cache,外部还可接,外部还可接256512KB的二级的二级cache; 大多数简单指令是用硬连接技术实现,一个时钟周期执行完;大多数简单指令是用硬连接技术实现,一个时钟周期执行完; Pentium的的CISC特征是主要的,属于特征是主要的,属于CISC结构处理器结构处理器。 Pentium有四类寄存器组:有四类寄存器组: 基本结构寄存器组基本结构寄存器组 通用寄存器通用寄存器 段寄存器段寄存器 指令指针指令指针 标志寄存器标志寄存器 系统级寄存器组系统级寄存器组 系统地址寄存器系统地址寄存器 控制寄存器控制寄存器 浮点部件寄存器组浮点部件寄存器组 数据寄存器堆数据寄存

27、器堆 控制寄存器控制寄存器 状态寄存器状态寄存器 标记字标记字 事故寄存器事故寄存器 调试和测试寄存器组调试和测试寄存器组 图图6.12 Pentium CPU结构框图结构框图 Pentium有有4个方面的新型体系结构特点:个方面的新型体系结构特点: (图图6.12)(1) 超标量流水线超标量流水线 超标量流水线是超标量流水线是Pentium系统结构的核心。由系统结构的核心。由U,V两条指令两条指令流水线构成,每条流水线都有自己的流水线构成,每条流水线都有自己的ALU、地址生成电路和、地址生成电路和与数据与数据cache的接口。的接口。(2) 分设的指令分设的指令cache和数据和数据cach

28、e Pentium内有分立的内有分立的8KB指令指令cache和和8KB数据数据cache; 指令指令cache向指令预取缓冲器提供指令代码;向指令预取缓冲器提供指令代码; 数据数据cache与与U、V流水线交换数据;流水线交换数据; 它们对它们对Pentium的超标量结构提供了强有力的支持。的超标量结构提供了强有力的支持。(3) 先进的浮点运算部件先进的浮点运算部件 Pentium的浮点运算采用的浮点运算采用8段流水线,前段流水线,前4段段在在U、V流水线中完成,后流水线中完成,后4段在浮点运算部段在浮点运算部件中完成。件中完成。浮点部件内有专用的加法器、乘法器和除法器,有浮点部件内有专用的

29、加法器、乘法器和除法器,有8个个80位寄存器组成的寄存器堆,内部的数据总线为位寄存器组成的寄存器堆,内部的数据总线为80位宽。位宽。对于常用的浮点运算指令如对于常用的浮点运算指令如LOAD、ADD、MUL等等采用了新的算法,并用硬件实现。采用了新的算法,并用硬件实现。 (4) 以以BTB(branch target buffer)实现的动态转移预测实现的动态转移预测 Pentium采用动态转移预测技术,来减少由于过程相关性引采用动态转移预测技术,来减少由于过程相关性引起的流水线性能损失。起的流水线性能损失。 Pentium的后续产品的后续产品Pentium MMX、Pentium Pro、Pe

30、ntium II、Pentium III更是集成了更是集成了MMX技术技术,增强了音频、,增强了音频、视频和图形等多媒体应用的处理能力,视频和图形等多媒体应用的处理能力,加速了数据加密和数据压缩与解压的过加速了数据加密和数据压缩与解压的过程;程; 具有包括数据流分析、转移预测和推测执行在内的动态执行具有包括数据流分析、转移预测和推测执行在内的动态执行技术能力;技术能力; 采用双重独立的总线结构和采用双重独立的总线结构和SEC(Single Edge Contact)单)单边接触封装技术。边接触封装技术。 Pentium III首次采用了首次采用了Intel公司自行开发的流式单指令多公司自行开发

31、的流式单指令多数据扩展数据扩展SSE(Streaming SIMD Extensicm);); SSE技术使得技术使得Pentium III处理器在三维图像处处理器在三维图像处理、语言识别、视频实时压缩等方面都有很大理、语言识别、视频实时压缩等方面都有很大进步,而在互联网应用中最能体现这些进步;进步,而在互联网应用中最能体现这些进步; Pentium II/III处理器采用了层次化的两级处理器采用了层次化的两级(L1和和L2) cache技技术;术; L1cache是指令与数据分立的哈佛结构,采用写无效式的是指令与数据分立的哈佛结构,采用写无效式的MESI监听协议;监听协议; Pentium

32、II/III已将已将CISC的指令在处理器内部翻译成一组的指令在处理器内部翻译成一组RISC的微操作来执行,并实现了超标量、超级流水(的微操作来执行,并实现了超标量、超级流水(14段)段)的指令流水线。的指令流水线。多处理器技术、虚拟分页扩展技术、单指多处理器技术、虚拟分页扩展技术、单指令多数据流(令多数据流(SIMD)技术等融入处理器芯)技术等融入处理器芯片,使得片,使得PC的系统结构朝着更便于处理多的系统结构朝着更便于处理多媒体和互联网络的信息方向发展。媒体和互联网络的信息方向发展。 2. PowerPC处理器处理器 PowerPC是是IBM联合联合Motorola和和Apple共同推出共

33、同推出的典型的典型RISC风格的超标量结构的系列微机风格的超标量结构的系列微机; 601是最早推出的是最早推出的32位机位机,603是面向低是面向低端的台式机和便携机,也是端的台式机和便携机,也是32位机;位机; 604是采用了先进的超标量设计技术的是采用了先进的超标量设计技术的面向中档台式机和中、低端服务器的面向中档台式机和中、低端服务器的32位机;位机; 620是面向高端服务器的全是面向高端服务器的全64位结构的位结构的PowerPC。 以以PowerPC 601 为例,它的内部结构为例,它的内部结构(如图如图6.13所示所示)指令队列指令队列(8(8单元单元) )和发送和发送整数单元整数

34、单元分支处理单元分支处理单元浮点单元浮点单元32KB 32KB 指令指令/ /数据数据cachecache存储管理单元存储管理单元总线接口单元总线接口单元(128(128位位) )图图6.13 PowerPC 601 6.13 PowerPC 601 的结构图的结构图256位3232646.2 组合逻辑控制与PLA控制 “操作控制信号形成部件操作控制信号形成部件”产生指令所需要的操作产生指令所需要的操作控制信号序列,用以控制计算机各部分的操作,它控制信号序列,用以控制计算机各部分的操作,它是整个控制器的核心,也是最复杂的部件。是整个控制器的核心,也是最复杂的部件。 该部件的组成可用微程序方式,

35、也可用组合逻辑方该部件的组成可用微程序方式,也可用组合逻辑方式或式或PLA方式,即通过逻辑电路直接产生控制信号方式,即通过逻辑电路直接产生控制信号(又称硬布线方式)。(又称硬布线方式)。6.2.1 组合逻辑控制 产生需要的操作控制信号由下列因素确定:产生需要的操作控制信号由下列因素确定: 控制步计数器的内容控制步计数器的内容(时序信号时序信号); 指令寄存器的内容;指令寄存器的内容; 条件码和其它状态标志的内容。条件码和其它状态标志的内容。 状态标志是指状态标志是指CPU中各部分状态以及连到各控制部中各部分状态以及连到各控制部件的信号,如件的信号,如MFC信号等。信号等。 图图6.14中所有输

36、出到编码器的信号共同产生各种控制中所有输出到编码器的信号共同产生各种控制信号信号Yin,Zin,PCout,Add,End等;等; 图图6.14给出了组合逻辑控制部件,是基于时钟信号给出了组合逻辑控制部件,是基于时钟信号CLK驱动的计数器来控制每个控制步的,它产生的驱动的计数器来控制每个控制步的,它产生的控制信号序列可完成各类指令需要的控制步。控制信号序列可完成各类指令需要的控制步。 计数器的每个计数值,计数器的每个计数值,对应着图对应着图6.7和图和图6.8的每一步。的每一步。图图6.14 简化的组合逻辑控制器简化的组合逻辑控制器 图图6.15是编码器结构电路的一个例子。电路实现逻辑功能:是

37、编码器结构电路的一个例子。电路实现逻辑功能: Zin=T1+T6ADD+T5BR+ 图图6.16给出了给出了End控制信号产生电路,其逻辑功能:控制信号产生电路,其逻辑功能: End=T7ADD+T6BR+(T6N+T4N)BRN+ 组合逻辑控制器的设计步骤:组合逻辑控制器的设计步骤:(1) 根据给定的根据给定的CPU数据通路和指令功能,排列出每条数据通路和指令功能,排列出每条指令的操作控制步序列指令的操作控制步序列(微操作序列微操作序列)。(2) 确定机器的状态周期、节拍与工作脉冲。根据指令确定机器的状态周期、节拍与工作脉冲。根据指令的功能和器件的速度,确定指令执行过程中的周期的功能和器件的

38、速度,确定指令执行过程中的周期及节拍的基本时间。及节拍的基本时间。(3) 列出每个操作控制信号的逻辑表达式。列出每个操作控制信号的逻辑表达式。 确定了每条指令在每一状态周期中各个节拍内所完成的操确定了每条指令在每一状态周期中各个节拍内所完成的操作,也就得出了相应操作控制信号的表达式作,也就得出了相应操作控制信号的表达式; 该表达式由指令操作码、时序状态该表达式由指令操作码、时序状态(周期、节拍和工作脉冲周期、节拍和工作脉冲)以及状态条件信息(允许有空缺)等因子组成以及状态条件信息(允许有空缺)等因子组成; 只须节拍电位控制的信号不用考虑脉冲。只须节拍电位控制的信号不用考虑脉冲。6.2.2 PL

39、A控制 可编程逻辑阵列(可编程逻辑阵列(PLA)产生指令执行操作控制信号)产生指令执行操作控制信号 图图6.18是一个简单的是一个简单的PLA模型模型 第一级为第一级为AND阵列阵列,水平线为输入变量,水平线为输入变量,a、b、c、d可以是可以是指令操作码,也可以是控制步计数指令操作码,也可以是控制步计数(时序信号时序信号)或标志;垂直或标志;垂直线为输出乘积项;线为输出乘积项; 第二级为第二级为OR阵列阵列,垂直线为,垂直线为“或或”的输入端,水平线为的输入端,水平线为“或或”的输出。的输出。控制信号控制信号a ad dc cb b “IR” “IR”或或“时序时序”或或“标志标志”“OR”

40、“OR”阵列阵列“AND”“AND”阵列阵列图图6.18 PLA6.18 PLA模型模型4321FFFFdcbadbcdcabdcba1F abcdcba2F F1F1F3F3F2F2F4F4控制信号控制信号a ad dc cb b “IR” “IR”或或“时序时序”或或“标志标志”“OR”“OR”阵列阵列“AND”“AND”阵列阵列图图6.18 PLA6.18 PLA模型模型bddcbadcab3F bdabcdbc4F 6.3 微程序控制6.3.1 Wilkes微程序控制 Wilkes提出的微程序控制器设计方案如图提出的微程序控制器设计方案如图6.19 与组合逻辑的控制方法相比,大大减少了

41、控制器的与组合逻辑的控制方法相比,大大减少了控制器的复杂性和非标准化程度,从而把硬件的用量限制在复杂性和非标准化程度,从而把硬件的用量限制在狭小范围内。狭小范围内。 主要缺点是:它要比相同或相近半导体技术的硬布主要缺点是:它要比相同或相近半导体技术的硬布线式控制器线式控制器(如如PLA方式方式)慢一些。慢一些。 当代大部分计算机采用硬布线式控制器;也有不少当代大部分计算机采用硬布线式控制器;也有不少计算机计算机(特别是特别是60-70年代的计算机年代的计算机)采用微程序控制器。采用微程序控制器。6.3.2 基本概念 1. 基本术语基本术语 微命令微命令:微命令是微操作的控制信号,而微操作是:微

42、命令是微操作的控制信号,而微操作是微命令的操作内容。微命令的操作内容。 一条指令的功能是通过执行一系列操作控制步完成的;一条指令的功能是通过执行一系列操作控制步完成的;这些控制步中的基本操作称为这些控制步中的基本操作称为微操作微操作。 微指令微指令:可以同时执行的一组微命令组成一条微指令,:可以同时执行的一组微命令组成一条微指令,完成一个基本运算或传送功能。也将微指令称作控制完成一个基本运算或传送功能。也将微指令称作控制字(字(CW),其中每一位代表一个微命令。),其中每一位代表一个微命令。 微程序微程序:完成指定任务的微指令序列称为微程序。一:完成指定任务的微指令序列称为微程序。一条机器指令

43、其功能可由一段微程序解释完成。条机器指令其功能可由一段微程序解释完成。 微程序控制的基本思想是把机器指令的每一操作控微程序控制的基本思想是把机器指令的每一操作控制步编成一条微指令。每条机器指令对应一段微程制步编成一条微指令。每条机器指令对应一段微程序。当执行机器指令时,只要从控制存储器中顺序序。当执行机器指令时,只要从控制存储器中顺序取出这些微指令,即可按所要求的次序产生相应的取出这些微指令,即可按所要求的次序产生相应的操作控制信号。操作控制信号。 微程序存储器(控制存储器)微程序存储器(控制存储器):存放计算机指令系:存放计算机指令系统所对应的所有微程序的一个专门存储器。统所对应的所有微程序

44、的一个专门存储器。 图图6.20 对应于图对应于图6.7的微程序的例子的微程序的例子2微程序控制器微程序控制器译译 码码转移控制转移控制控制存储器控制存储器CSCSPCPC起始和转移地起始和转移地址发生器址发生器IRIRCLKCLK.来自主存来自主存状态标志状态标志条件码条件码.微命令微命令图图6.21 6.21 微程序控制器的微程序控制器的基本组织基本组织IRIR(1)微程序定义了计算机的指令系统;可以借助改变)微程序定义了计算机的指令系统;可以借助改变微程序存储器的内容来改变指令系统。微程序存储器的内容来改变指令系统。 总结:总结:(2)不经常改变微程序存储器的内容,通常用只读存)不经常改

45、变微程序存储器的内容,通常用只读存储器储器ROM充当微程序存储器。充当微程序存储器。(3)任何机器指令的执行都将多次访问控制存储器,)任何机器指令的执行都将多次访问控制存储器,控制存储器的速度起着主要的作用。控制存储器的速度起着主要的作用。3. 微程序控制器微程序控制器工作流程工作流程 微程序控制器的工微程序控制器的工作流程就是不断地作流程就是不断地执行取指令的微程执行取指令的微程序和执行相应功能序和执行相应功能指令的微程序。指令的微程序。取指令微程序的入口地址取指令微程序的入口地址 AR AR从从CSCS读微指令读微指令 IRIR产生下一条微指令的地址产生下一条微指令的地址AR(PC)AR(

46、PC)取指令微程序完了吗?取指令微程序完了吗?经经PLAPLA译码,形成本指令的微译码,形成本指令的微程序入口地址程序入口地址 AR(PC)AR(PC)执行微程序执行微程序本微程序完了码?本微程序完了码?CPUCPU开始执行开始执行取出指令取出指令 IRIR否否否否是是是是图图6.22 6.22 微程序控制器工作流程微程序控制器工作流程6.3.3 微指令的格式与编码 微指令格式可分为两种:微指令格式可分为两种:水平型微指令水平型微指令和和垂直型微垂直型微指令指令。 水平型微指令水平型微指令 能最大限度地表示微操作的并行性;能最大限度地表示微操作的并行性; 需要使用较长的代码,少则几十位,多则上

47、百位;需要使用较长的代码,少则几十位,多则上百位; 较长的代码能充分利用硬件并行性所带来速度上的较长的代码能充分利用硬件并行性所带来速度上的潜在优势,也使微程序中所包含的微指令条数减至潜在优势,也使微程序中所包含的微指令条数减至最少,所以适用于要求较高速度的场合;最少,所以适用于要求较高速度的场合; 水平型微指令的码空间利用率较低,并且编制最佳水平型微指令的码空间利用率较低,并且编制最佳水平微程序水平微程序难度较大。难度较大。 垂直型微指令垂直型微指令 采用短格式,一条微指令只能控制一、二个微操作;采用短格式,一条微指令只能控制一、二个微操作; 设有微操作码字段,由微操作码确定微指令的功能;设

48、有微操作码字段,由微操作码确定微指令的功能; 包含的地址码用来指定微操作数所在的寄存器地址包含的地址码用来指定微操作数所在的寄存器地址或微指令转移地址,也可表示立即数或标志码等。或微指令转移地址,也可表示立即数或标志码等。 用垂直型微指令编写的微程序称用垂直型微指令编写的微程序称垂直微程序垂直微程序; 垂直微程序不着重于微操作的并行性,并以此换取垂直微程序不着重于微操作的并行性,并以此换取较短的微指令长度和较高的码空间利用率;较短的微指令长度和较高的码空间利用率; 编写垂直微程序的方法和传统的程序设计方法更为编写垂直微程序的方法和传统的程序设计方法更为接近;接近; 垂直型微指令面向算法描述而水

49、平型微指令面向处垂直型微指令面向算法描述而水平型微指令面向处理机内部控制逻辑的描述。理机内部控制逻辑的描述。 水平型微指令编码设计水平型微指令编码设计1)直接表示法)直接表示法 在微指令的微命令字段中,每个二进制位表示一个在微指令的微命令字段中,每个二进制位表示一个 微命令。微命令。 这种方法直观、不必译码、控制电路简单、速度快;这种方法直观、不必译码、控制电路简单、速度快; 通常微命令的个数很多,使得微指令字长多达几百通常微命令的个数很多,使得微指令字长多达几百位,实现上非常困难;位,实现上非常困难; 只有极个别的计算机采用这种直接表示法。只有极个别的计算机采用这种直接表示法。 图图6.20

50、6.20是是直接表示法直接表示法编码的例子编码的例子2)字段直接编码法)字段直接编码法 微指令中相容的微命令分配在不同字段;微指令中相容的微命令分配在不同字段; 微指令中相斥的微命令组合在一起,编成一个字段;微指令中相斥的微命令组合在一起,编成一个字段; 微命令字段中所包含的小字段数目,是在一条微指微命令字段中所包含的小字段数目,是在一条微指令中最多可同时发出微命令的个数;令中最多可同时发出微命令的个数; 可以把微指令中的微命令长度压缩到直接表示法的可以把微指令中的微命令长度压缩到直接表示法的二分之一到三分之一。二分之一到三分之一。 只要求少量级数不多的译码器,对微指令的执行速只要求少量级数不

51、多的译码器,对微指令的执行速 度影响不大;度影响不大; 它为多数微程序控制的计算机所采用。它为多数微程序控制的计算机所采用。3)字段间接编码法)字段间接编码法 某一小字段可以表示多个微命令组,到底代表哪一组某一小字段可以表示多个微命令组,到底代表哪一组微命令,则由另一小字段的二进制码确定。微命令,则由另一小字段的二进制码确定。4)水平型微指令的直接编码和分段编码的差别)水平型微指令的直接编码和分段编码的差别 直接编码直接编码(图图6.20) 通常所需要的控制信号数量非常大,这种采用一位表通常所需要的控制信号数量非常大,这种采用一位表示一个控制信号的方法将导致微指令长度很长;示一个控制信号的方法

52、将导致微指令长度很长; 造成控制存储器的空间极大地浪费。造成控制存储器的空间极大地浪费。 分段编码分段编码(图图6.24) 控制信号分组,将那些互斥的信号分在同一组,而相控制信号分组,将那些互斥的信号分在同一组,而相容信号分在不同组容信号分在不同组; 在一条微指令中每一组只能有一个微操作信号有效在一条微指令中每一组只能有一个微操作信号有效; 图图6.246.3.4 微指令地址的生成 获得下面将要执行的微指令地址有如下三种情况:获得下面将要执行的微指令地址有如下三种情况: 由指令寄存器由指令寄存器IR确定确定 下一顺序地址下一顺序地址 转移转移 必须根据当前微指令、条件标志和指令寄存器内容必须根

53、据当前微指令、条件标志和指令寄存器内容,产生下一微指令的控制存储器地址。,产生下一微指令的控制存储器地址。 微指令地址生成微指令地址生成”的任务是如何来得到下一条微指的任务是如何来得到下一条微指令的地址。令的地址。 常见的微指令地址生成技术有计数器法和下地址字常见的微指令地址生成技术有计数器法和下地址字段法两种段法两种1 1)计数器法)计数器法 只按顺序执行微指令,只按顺序执行微指令,用图用图6.21微程序控制器的结构;微程序控制器的结构;由由PC负责生成下一微指令的地址负责生成下一微指令的地址(PC1PC); 转移分支很多时,通常采用转移分支很多时,通常采用PLA可编程逻辑阵列来实可编程逻辑

54、阵列来实现;现; 微程序的转移由专门的微程序的转移由专门的“转移微指令转移微指令”来实现,通过来实现,通过微地址发生器以及相应的条件码和标志,生成转移地微地址发生器以及相应的条件码和标志,生成转移地址送址送PC; 将每条机器指令的操作码通过将每条机器指令的操作码通过PLA翻译成对应的微程翻译成对应的微程序入口地址,这时微指令可写为:序入口地址,这时微指令可写为:PC(PLA)。)。2)下址字段法)下址字段法 在微指令中设置一个专门的地址字段用以指出下一在微指令中设置一个专门的地址字段用以指出下一条微指令的地址;条微指令的地址; 优点优点是消除了专门的转移微指令,而且在给微指令是消除了专门的转移

55、微指令,而且在给微指令分配地址时简直没有什么限制;分配地址时简直没有什么限制; 缺点缺点是增加了微指令的长度,有时还会对控制存储是增加了微指令的长度,有时还会对控制存储器的设计带来影响。器的设计带来影响。 以以PC为基础所建立的地址生成技术最大的为基础所建立的地址生成技术最大的缺点缺点在于在于当存在着较大量的转移微指令时,这将严重影响计当存在着较大量的转移微指令时,这将严重影响计算机的工作速度。算机的工作速度。译 码下址控制存储器CSAR微地址译码IR来自主存状态标志条件码.微命令图6.25 采用下址字段法的微程序控制器组织IR6.3.5微程序设计举例1. VAX-11/780微程序设计微程序

56、设计 美国美国DEC公司公司1978年推出的超年推出的超级小型计算机,采用典型的级小型计算机,采用典型的水平型微指令格式。水平型微指令格式。 包括三部分:只读包括三部分:只读PCS、可写、可写WDCS和和WCS PCS是是CPU的主控存,存放的主控存,存放VAX-11/780指令系统的基本指令系统的基本微程序,容量为微程序,容量为4K99位;位; WCS容量为容量为4K99位,其中位,其中靠近靠近PCS的的1K99位用于诊位用于诊断称可写诊断控制存储器断称可写诊断控制存储器WDCS;存放诊断微程序。;存放诊断微程序。32位32位32位3位PCS(4K)微指令信息值WCS(3K)WDCS(1K)

57、奇偶校验位图6.26 控制存储器组织 VAX-11/780微指令格式(图微指令格式(图6.27) 采用水平型微指令格式,微指令的编码主要采用字采用水平型微指令格式,微指令的编码主要采用字段直接编译法,少量用间接编译法。段直接编译法,少量用间接编译法。USMXUEBMXUCCKUSCKUFEKUVAKUMSCUIEKUJMPUKMXUSI/UACMUQKUSGNUADSUMCTUFSUSPOUPCKUIBC312930232624251922201801217 16 15 1351545557586392434647485042914135343295UAMXUBMXUSHFUDK8284878

58、5887677788081USUBURMXUDTUALUUACFUBEN70717279646566图6.27 VAX-11/780微指令格式UEALUUPCK 整个控制字除下址字段整个控制字除下址字段(UJMP)和校验位外,余下和校验位外,余下83位分成位分成32个字段,表示了个字段,表示了300多个微命令。多个微命令。 整个微指令字分成三部分:整个微指令字分成三部分: 1)顺序控制部分)顺序控制部分: 13位下址字段(位下址字段(UJMP);); 子程序控制字段子程序控制字段(USUB); 条件转移控制字段条件转移控制字段(UBEN); 微程序执行顺序的控制采用下址字段法微程序执行顺序的控

59、制采用下址字段法; 2)PU数据通路控制部分:数据通路控制部分: 指数控制部分:指数控制部分: UEALU 指数加法器控制字段;指数加法器控制字段; USMX 位计数器输入选择字段;位计数器输入选择字段; UEBMX 指数加法器指数加法器B输入端选择字段;输入端选择字段; USCK 移位计数器控制字段;移位计数器控制字段; UFEK 浮点指数寄存器控制字段;浮点指数寄存器控制字段; 运算控制部分:运算控制部分: UALU 加法器运算操作控制字段;加法器运算操作控制字段; UKMX 常数输入选择字段;常数输入选择字段; UAMX 加法器加法器A输入端选择字段;输入端选择字段; UBMX 加法器加

60、法器B输入端选择字段;输入端选择字段; USHF 移位器操作控制字段;移位器操作控制字段; USPO 通用寄存器组存取控制字段通用寄存器组存取控制字段; 地址控制部分:地址控制部分: UPCK 程序计数器输入选择与操作控制字段;程序计数器输入选择与操作控制字段; UIBC 指令地址缓冲器控制字段;指令地址缓冲器控制字段; UVAK 虚拟地址寄存器存取控制字段;虚拟地址寄存器存取控制字段; 数据控制部分:数据控制部分: URMX D、Q寄存器输入选择字段;寄存器输入选择字段; UQK Q寄存器操作和输入选择字段;寄存器操作和输入选择字段; USI 移位器输入控制字段;移位器输入控制字段; UDK

温馨提示

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

评论

0/150

提交评论