《计算机组成原理-中央处理机组织.ppt》由会员分享,可在线阅读,更多相关《计算机组成原理-中央处理机组织.ppt(116页珍藏版)》请在三一办公上搜索。
1、,本章学习导读:(1)中央控制器(CPU)的结构、功能、时序控制方式及指令执行过程。(2)CPU的3种实现方式:组合逻辑、PLA和微程序控制。(3)为提高计算机系统性能,CPU逻辑结构的若干新技术:VLIW、EPIC、多核多线性等。,第6章 中央处理机组织,主流硬件,1,主板:一线品牌:华硕P5E,微星P35,技嘉P35C 其他品牌:昂达A78GT,捷波悍马HAO4,斯巴达 克黑潮BI-100,映泰TA780G2,CPU:INTEL四核,双核:酷睿 Core2 Quad Q6600,Core2 Duo E8200,奔腾 Pentium E2160 AMD四核,双核:羿龙9500,速龙64X2,
2、Athlon,在IntelCPU名称中,Core 2产品表示采用的是酷睿2核心,Duo 表示双核设计,Quad表示四核设计。Core2 Duo E8200主频2.66GHZ 外频333MHZ 倍频为8X一级数据缓存32KB 共享6MB二级缓存由4.1亿个晶体管组成。Cor2 Quad Q6600主频2.4GHZ 外频266MHZ 倍频为9X高速缓存8MB,Centrino迅驰移动计算技术,它是英特尔于2003年3月12日,面向笔记本电脑推出的无线移动计算技术的品牌名称。迅驰(Centrino)是:Centre(中心)与Neutrino(中微子)两个单词的缩写。它由三部分组成:移动式处理器(CP
3、U)、相关芯片组以及无线网络功能模块。迅驰品牌,是英特尔首次将一系列技术用一个名字来命名。英特尔“迅驰”移动计算技术是新一代笔记本电脑使用的创新技术。Intel Pentium M处理器 Intel 855系列芯片组 Intel 802.11 PRO/无线网络连接,优雅HP570神舟笔记本(迅驰),英特尔45nm core2 双核2.0G处理器P7350英特尔GM45+ICH9M芯片组集成Intel GMA X4500HD 显卡14.1高亮宽屏2G DDR-2 内存250G SATA 硬盘DVDRW刻录光驱内置200W像素摄像头/阵列式麦克风内置intel5100AN无线网卡6芯锂电池 399
4、8元(09年暑假),1是整合音效芯片,2是I/O控制芯片,3是光驱音源插座,4是外接音源辅助插座,5是SPDIF插座,6是USB插头,7是机箱被开启接头,8是PCI插槽,9是AGP4X插槽,10是机箱前端通用USB接口,11是BIOS,12是机箱面板接头,13是南桥芯片,14是IDE1插口,15是IDE2插口,16是电源指示灯接头,17是清除CMOS记忆跳线,18是风扇电源插座,19是电池,20是软驱插座,21是ATX电源插座,22是内存插槽,23是风扇电源插座,24是北桥芯片,25是CPU风扇支架,26是CPU插座,27是12VATX电源插座,28是第二组音源插座,29是PS/2键盘及鼠标插
5、座,30是USB插座,31是并串口,32是游戏控制器及音源插座,33是SUP_CEN插座。,CPU概念:控制并执行指令的部件,该部件不仅要与计算机的其它功能部件进行信息交换,还要控制它们的操作。CPU基本功能:读取并执行指令,它通常包括控制器与运算器两大部分。,6.1 CPU的结构与功能,6.1.1 CPU的组成与操作,CPU的组成(图6.1),CPU中的寄存器可分为通用寄存器和专用寄存器两大类:通用寄存器(R0,R1,;AX,BX,)专用寄存器专用寄存器是专门用来完成某一种特殊功能的寄存器。CPU中至少要有5个专用的寄存器。它们是:程序计数器(PC)、指令寄存器(IR)、存储器地址寄存器(M
6、AR)、存储器数据寄存器(MDR)、状态标志寄存器(PSWR)。,CPU的主要寄存器,(1)程序计数器(PC)Program Counter又称指令计数器,用来存放接着要执行的下条指令所在主存单元的地址。对于顺序执行的情况,PC的内容应不断地加“1”,以控制指令的顺序执行。这种加“1”的功能,有些机器是程序计数器本身具有的,也有些机器是借助运算器来实现的。(2)指令寄存器(IR)Instruction Register用来存放从存储器中取出的指令。当指令从主存取出并暂存于指令寄存器之后,在执行指令的过程中,指令寄存器的内容不允许发生变化,以保证实现指令的全部功能。,(3)存储器数据寄存器(MD
7、R)Memory Data Register来暂时存放由主存储器读出的一条指令或一个数据字;反之,当向主存存入一条指令或一个数据字时,也暂时将它们存放在存储器数据寄存器中。(4)存储器地址寄存器(MAR)Memory Address Memory用来保存当前CPU所访问的主存单元的地址。由于主存和CPU之间存在着操作速度上的差别,所以必须使用地址寄存器来保持地址信息,直到主存的读写操作完成为止。,(5)状态标志寄存器(PSWR)Program Status Word Register主要包括两部分内容:一是状态标志,如进位标志(C)、结果为零标志(Z),大多数指令的执行将会影响到这些标志位;二
8、是控制标志,如中断标志、陷阱标志等。例如:8086微处理器的状态标志寄存器有16位,如图6-1所示,一共包括9个标志位,其中6个为状态标志,3个为控制标志。,6个状态标志为:进位标志位(CF),Carry Flag 表示本次操作是否向高位有进位(借位),通常用于无符号数;辅助进位标志位(AF),Auxiliary Flag 表示第3号位是否向第4号位有进位(借位);溢出标志位(OF),Overflow Flag 表示本次运算结果是否溢出,通常用于带符号数;零标志位(ZF),Zero Flag 表示本次运算结果是否为零;符号标志位(SF),Sign Flag 表示本次运算结果的符号(正负);校验
9、标志位(PF),Parity Flag 表示数据校验位是0或1。,3个控制标志为:方向标志(DF),Direction Flag表示串操作指令中字符串操作的方向;中断允许标志位(IF),Interrupt Flag表示CPU是否能够响应外部的可屏蔽中断请求;陷阱标志位(TF),Trap Flag为了方便程序的调试,使处理器的执行进入单步方式而设置的控制标志位。,CPU(CU+ALU)至少应有以下四种基本功能:,读取某一主存单元的内容,并将其装入某一个CPU寄存器;把一个数据字从某一CPU寄存器存入某个给定的主存单元中;,1从内存读取一个字(1)MARR1(2)Read(3)WMFC;等待MFC
10、信号(Wait for Memory Function Complete)(4)R2MDR,把一个数据字从某一CPU寄存器送到另一个寄存器或者ALU;进行一个算术运算或逻辑运算,将结果送入某一CPU寄存器。,2把一个字写入主存(1)MARR1(2)MDRR2(3)Write(4)WMFC,3通用寄存器之间传送数据 R1out,R4in,4完成算术、逻辑运算(1)R1out,Yin(2)R2out,Add,Zin(3)Zout,R3in,6.1.2 控制器的控制方式,1.同步控制方式(集中控制方式):对机器的所有指令采用统一的时序信号.用相同数目的机器周期,相同数目的节拍脉冲来形成每条指令的控制
11、操作序列.特点:时序关系简单,但以牺牲速度为代价.2.异步控制方式(分散控制方式):每条指令、每个微操作需要多少时间就占用多少时间,不采用统一的周期和节拍,时间上的衔接通过应答通讯方式(握手方式)实现.特点:无时间浪费,但时序控制比较复杂.3.联合控制方式:同步控制与异步控制相结合.,同步控制方式:对机器的所有指令采用统一的时序信号。特点:a)以微操作序列最长的指令为标准,确定控制微操作运行的节拍数b)控制器产生统一的,顺序固定的,周而复始的节拍脉冲c)微操作序列短的指令可空着一部分不用优点:电路简单缺点:运行速度慢,异步控制方式:采用“结束起始”的工作方式,无统一的时序信号。特点:a)每条指
12、令按实际需要产生节拍数b)指令执行完毕,发出“结束”信号c)控制器收到“结束”信号,开始执行下条指令优点:运行速度快缺点:控制电路比较复杂,联合控制方式:将同步控制方式与异步控制方式结合使用。特点:a)大部分指令按同步控制执行中央控制b)小部分特殊指令(过长、过短),采用异步控制方式执行局部控制优点:能保证一定的运行速度缺点:电路设计相对复杂,6.1.3 CPU控制流程,计算机进行信息处理的过程就是不断地取指令、分析指令和执行指令这样一个周而复始的过程。,图6.5给出了CPU控制流程 对异常情况和某些请求通 过中断处理。,控制器的组成,6.1.5 一条完整指令的执行,考虑一条比较简单的指令:A
13、dd(R3),R1,执行这条指令需要下列动作(图6.7):(1)取指令;(2)取第一个操作数(由R3所指出的存储单元的内容);(3)完成加法运算;(4)结果存入R1中。,步 动作 说明 1 PCout,MARin,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的执行控
14、制序列,步 动作1 PCout,MARin,Read,Clear Y,1=C0,Add,Zin2 Zout,PCin,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,Yin,6.1.6 CPU性能设计,决定CPU性能最重要的三个因素:指令的功能强弱、时钟周期的长短、执行每条指令所需时钟周期数。,指令流水执行过程中,采用相对简单的指令会更合适;时钟速度取决于所采用的电子电路
15、的速度和功能部件(如ALU)的实现技术;在过去的二十年间,微处理器芯片的时钟频率从几兆已经发展到几百兆、几千兆。,1.多总线组织 为了达到更高的性能,每条指令的执行时钟周期尽量少,最理想的是一个时钟周期;单总线只允许在一个时钟周期内传输一个数据;有必要考虑在CPU内部采用多总线结构。如Pentium处理器就采用了分层次多总线结构。,多总线结构的实现 所有通用寄存器都被放入一个被称为寄存器堆(register file)的单独模块中。在VLSI技术中,实现这些寄存器最有效的方法是采用存储元件阵列。图6.9 CPU三总线组织,考虑以下三操作数指令的例子:OP Rsrc1,Rsrc2,Rdst,2.
16、指令流水 指令流水(instruction pipelining)技术:CPU能够将指令的取指周期和执行周期重叠起来,会极大地改善CPU性能。,一条指令流水线可由如下5段组成:(图6.10)S1,取指令(IF):由cache或主存取指令;S2,指令译码(ID):生成指令将要完成的操作;S3,取操作数(OF):确定存储器操作数地址,读取 存储器操作数和寄存器操作数;S4,执行(EX):对操作数完成指定操作;S5,写回(WB):修改目标操作数。,后一指令的第i功能步与前一指令的第i+1功能步同时进行。,上图中,完成4条指令的执行只用了8个时钟周期;若是非流水线的顺序处理则需要20个时钟周期。,就一
17、条指令而言,执行速度并没有加快。但流水线技术是通过硬件并行工作,加快指令执行速度的技术。流水线对机器性能的改善程度取决于能把处理过程分解成相等时间步数的多少。流水线处理技术是在重叠控制基础上发展起来的。它将一个复杂过程分解成多个子过程,每个过程段都具有专用的功能部件,因而可以使所有子过程同时对不同数据进行处理。流水线技术特点为:一个流水过程,可以包括多个子过程,每个子过程都有专门的功能段来完成;各功能段所需的时间是相同的。适合于大量的重复性处理。,3.指令发射与完成策略 指令发射(instruction issue)是指启动指令进入执行的过程;指令发射策略是指发射所使用的协议或规则;指令的发射
18、和完成策略主要用于流水线的调度,对于充分利用指令级的并行度,提高处理器性能十分重要。,当指令按程序的指令次序发射时,称之为按序发射(in-order issue);为改善流水线性能,可以将有(结构、控制、数据)冒险的指令推后发射,而将后面的无冒险的指令提前发射,即不按程序原次序发射指令,称之为乱序发射或无序发射(out-of-order issue)。,有三种指令发射与完成策略:按序发射按序完成;按序发射无序完成;无序发射无序完成。,Pentium处理器采用的是按序发射按序完成策略;Pentium/处理器采用的是按序发射无序完成策略,而以按序回收来保证程序最终结果的正确性。,无论采用哪种策略对
19、流水线进行调度,都要保证程序运行最终结果的正确性。,4.动态执行技术 动态执行(dynamic execution)技术是通过预测程序流来调整指令的执行,并且分析程序的数据流来选择指令执行的最佳顺序。,动态执行技术由以下3方面组成:利用转移预测技术(通常预测正确率高达90%):允许程序的几个分支流同时在处理器中进行;,数据流分析(dataflow analysis):通过分析指令之间的数据相关性,产生优化的重排序的指令调度;,推测执行(speculative execution):将多个程序流向的指令序列,以调度好的优化顺序送往处理器的执行部件去执行,尽量保持多端口多功能的执行部件始终为“忙”
20、,以充分发挥此部件的效能。,5.一个完整的CPU(图6.11),CPU、微处理器,其工作主要还是进行标量处理取指令、编译和执行指令;采用多功能部件和流水线技术,可以在一个时钟周期内完成多条指令的取指和执行。这种处理器被称为超标量流水线处理器(superscalar pipelining processor)。超标量技术是指在每个时钟周期内同时并发多条独立指令,即两条或两条以上指令并行编译、执行。超流水线技术是将一些流水线寄存器插入到流水线段中,对流水管道再分,使每段的长度近似相等,以便现有的硬件在每个周期内使用多次,即每个超流水线段都以数倍于基本时钟频率的速度工作。,6.1.7 典型CPU举例
21、,1Pentium处理器 Pentium是Intel公司x86系列的第五代微处理器;主要寄存器为32位宽,是一个32位微处理器;连接存储器的外部数据总线宽度为64位,每次可同时传输8个字节;Pentium外部地址总线宽度是36位,一般使用32位,故物理地址空间为4GB。,Pentium采用U,V两条指令流水线的超标量结构,内部有分立的8KB指令cache和8KB数据cache,外部还可接256512KB的二级cache;,大多数简单指令是用硬连接技术实现,一个时钟周期执行完;Pentium的CISC特征是主要的,属于CISC结构处理器。,Pentium有四类寄存器组:,基本结构寄存器组 通用寄
22、存器 段寄存器 指令指针 标志寄存器,系统级寄存器组 系统地址寄存器 控制寄存器,浮点部件寄存器组 数据寄存器堆 控制寄存器 状态寄存器 标记字 事故寄存器,调试和测试寄存器组,图6.12 Pentium CPU结构框图,Pentium有4个方面的新型体系结构特点:(图6.12),(1)超标量流水线 超标量流水线是Pentium系统结构的核心。由U,V两条指令流水线构成,每条流水线都有自己的ALU、地址生成电路和与数据cache的接口。,(2)分设的指令cache和数据cache Pentium内有分立的8KB指令cache和8KB数据cache;指令cache向指令预取缓冲器提供指令代码;数
23、据cache与U、V流水线交换数据;它们对Pentium的超标量结构提供了强有力的支持。,(3)先进的浮点运算部件 Pentium的浮点运算采用8段流水线,前4段在U、V流水线中完成,后4段在浮点运算部件中完成。,(4)以BTB(branch target buffer)实现的动态转移预测(分支目标缓冲器)。Pentium采用动态转移预测技术,来减少由于过程相关性引起的流水线性能损失。,Pentium的后续产品Pentium MMX、Pentium Pro、Pentium II、Pentium III更是集成了MMX技术,增强了音频、视频和图形等多媒体应用的处理能力,加速了数据加密和数据压缩与
24、解压的过程;具有包括数据流分析、转移预测和推测执行在内的动态执行技术能力;采用双重独立的总线结构和SEC(Single Edge Contact)单边接触封装技术。Pentium III首次采用了Intel公司自行开发的流式单指令多数据扩展SSE(Streaming SIMD Extensicm);,SSE技术使得Pentium III处理器在三维图像处理、语言识别、视频实时压缩等方面都有很大进步,而在互联网应用中最能体现这些进步;,多处理器技术、虚拟分页扩展技术、单指令多数据流(SIMD)技术等融入处理器芯片,使PC的系统结构朝着更便于处理多媒体和互联网络的信息方向发展。,Pentium I
25、I/III处理器采用了层次化的两级(L1和L2)cache技术;L1cache是指令与数据分立的哈佛结构,采用写无效式的MESI监听协议;,Pentium II/III已将CISC的指令在处理器内部翻译成一组RISC的微操作来执行,并实现了超标量、超级流水(14段)的指令流水线。,6.2 组合逻辑控制与PLA控制,控制器的核心部件“操作控制信号形成部件”产生指令所需要的操作控制信号序列,用以控制计算机各部分的操作,它是整个控制器的核心,也是最复杂的部件。,该部件的组成可用微程序方式,也可用组合逻辑方式或PLA方式,即通过逻辑电路直接产生控制信号(又称硬布线方式)。,6.2.1 组合逻辑控制,产
26、生需要的操作控制信号由下列因素确定:控制步计数器的内容(时序信号);指令寄存器的内容;条件码和其它状态标志的内容。状态标志是指CPU中各部分状态以及连到各控制部件的信号,如MFC信号等。,图6.14中所有输出到编码器的信号共同产生各种控制信号Yin,Zin,PCout,Add,End等;,组合逻辑控制部件,是基于时钟信号CLK驱动的计数器来控制每个控制步的,它产生的控制信号序列可完成各类指令需要的控制步。计数器的每个计数值,对应着图6.7和图6.8的每一步。,图6.14 简化的组合逻辑控制器,图6.15是编码器结构电路的一个例子。电路实现逻辑功能:Zin=T1+T6ADD+T5BR+,图6.1
27、6给出了End控制信号产生电路,其逻辑功能:End=T7ADD+T6BR+(T6N+T4N)BRN+,组合逻辑控制器,又叫硬布线控制器,主要由组合逻辑网络(即编码器)、指令寄存器和指令译码器、步(即节拍)计数器和译码器等组成。组合逻辑网络产生计算机所需的全部操作命令,是控制器的核心。其输入信号有3个来源:1,来自指令操作码译码器的输出INS1,INS2。译码器每根输出线表示一条指令,反映当前正在执行的指令。2,来自执行部件反馈信息Si。3,来自时序产生器的时序信号T1T2。,组合逻辑控制器的设计步骤:,(1)根据给定的CPU数据通路和指令功能,排列出每条指令的操作控制步序列(微操作序列)。,(
28、2)确定机器的状态周期、节拍与工作脉冲。根据指令的功能和器件的速度,确定指令执行过程中的周期及节拍的基本时间。,(3)列出每个操作控制信号的逻辑表达式。确定了每条指令在每一状态周期中各个节拍内所完成的操作,也就得出了相应操作控制信号的表达式;该表达式由指令操作码、时序状态(周期、节拍和工作脉冲)以及状态条件信息(允许有空缺)等因子组成;只须节拍电位控制的信号不用考虑脉冲。,优点:速度快,可用于速度要求较高的机器中.缺点:(1)缺乏规整性:将几百个微操作的执行逻辑组合在一起,构成的微操作产生部件,是计算机中最复杂、最不规整的逻辑部件.不适合于指令复杂的机器.(2)缺乏灵活性:各微命令的实现是用硬
29、连的逻辑电路完成,改动不易,设计困难.,组合逻辑控制器的特点,6.2.2 PLA控制,可编程逻辑阵列(PLA)产生指令执行操作控制信号,PLA控制器,又叫门阵列控制器 由大量与门、或门阵列器件设计的操作控制器。典型代表产品有:可编程逻辑阵列PLA,通用阵列逻辑GAL,其工作原理与组合逻辑控制器基本相同,用门阵列器件代替组合逻辑网络。,PLA逻辑控制原理,1、PLA含义PLA称为可编程逻辑阵列。PLA是由一个“与”阵列和一个“或”阵列构成的。“与”阵列和“或”阵列均可编程,具有“与,或,非”的逻辑控制,均可以用PLA结构实现。2、“与”门和“或”门 D1 D1 A A B F B F D2 D2
30、“与”门“或”门,3、举例:,图6.18是一个简单的PLA模型 第一级为AND阵列,水平线为输入变量,a、b、c、d可以是指令操作码,也可以是控制步计数(时序信号)或标志;垂直线为输出乘积项;,第二级为OR阵列,垂直线为“或”的输入端,水平线为“或”的输出。,PLA控制器的设计步骤与组合逻辑控制器相同,只是实现方法不同,它采用PLA阵列(Programmed Logic Array).从设计思想来看是组合逻辑控制器,从实现方法来看,是存储逻辑控制器.特点:可使杂乱无章的组合逻辑规整化、微型化,而且可以利用PLA的可编程特性,用存储逻辑部分地取代组合逻辑,增加了一定的灵活性。,PLA控制器,组合
31、逻辑电路一经实现,不能变动其逻辑关系,必要时,必须改变其连线或重新设计。微程序控制方法:把指令执行所需要的所有控制信号存放在控制存储器中,需要时从这个存储器中读取,存储逻辑可以修改ROM存放的数据,从而修改逻辑功能,速度略慢,有一个寻址和读数据的过程.微程序控制的特点:灵活性好,速度略慢,其实质是用程序设计的思想方法来组织操作控制逻辑。,6.3 微程序控制器,6.3.1 Wilkes微程序控制(1951年提出)。,与组合逻辑的控制方法相比,大大减少了控制器的复杂性和非标准化程度,从而把硬件的用量限制在狭小范围内。,主要缺点是:它要比相同或相近半导体技术的硬布线式控制器(如PLA方式)慢一些。,
32、当代大部分计算机采用硬布线式控制器;也有不少计算机(特别是60-70年代的计算机)采用微程序控制器。,微程序控制器的基本思想概括起来说有如下两点:(1)将控制器所需的微命令以代码形式编成微指令,存入一个用ROM构成的控制存储器(CM)中。在CPU执行程序时,从控制存储器中取出微指令,其中包含了微命令控制的有关操作。与组合逻辑控制方式不同,它由存储逻辑事先存储与提供微命令。这一思想的关键就是将存储逻辑引入了CPU。,(2)将各种机器指令的操作分解成若干个微操作序列。每条微指令包含的微命令控制实现一步操作。若干条微指令组成一小段微程序,解释执行一条机器指令。针对整个指令系统的需要,编制出一套完整的
33、微程序,事先存入控制存储器中。这一思想是利用程序技术去编排指令的解释与执行,也就是将程序技术引入CPU的构成级。,生成控制信号的方法硬布线方式(包括组合逻辑控制和PLA控制)通过逻辑电路直接产生控制信号。用组合逻辑电路或PLA阵列,将时序信号、指令译码信息、条件信号等输入逻辑信号转换成一组各部件需要的控制信号。微程序控制方式将指令的微操作信号编成微指令,存放在控制存储器中。当机器运行时,一条一条读出这些微指令,从而产生各部件需要的控制信号。,6.3.2 基本概念,1.基本术语,微命令:微命令是微操作的控制信号,而微操作是微命令的操作内容。,一条指令的功能是通过执行一系列操作控制步完成的;这些控
34、制步中的基本操作称为微操作。,微指令:可以同时执行的一组微命令组成一条微指令,完成一个基本运算或传送功能。也将微指令称作控制字(CW),其中每一位代表一个微命令。,微程序:完成指定任务的微指令序列称为微程序。一条机器指令其功能可由一段微程序解释完成。,微程序控制的基本思想是把机器指令的每一操作控制步编成一条微指令。每条机器指令对应一段微程序。当执行机器指令时,只要从控制存储器中顺序取出这些微指令,即可按所要求的次序产生相应的操作控制信号。,微程序存储器(控制存储器):存放计算机指令系统所对应的所有微程序的一个专门存储器。,图6.20 对应于图6.7的微程序的例子,二、工作过程 微程序控制器的工
35、作过程实质上就是在微程序控制器的控制之下,计算机执行机器指令的过程:1、从控制存储器中运行取指令微程序,完成从主存储器中取得机器指令的工作;2、根据机器指令的操作码,得到相应机器指令的微程序入口;3、逐条取出微指令,完成相关微操作控制;4、执行下一条机器指令。,微程序控制器基本结构,2微程序控制器,基本组成1、控制存储器CM(Control Memory)用来存放微程序。2、微指令寄存器IR(Micro Instruction Register)用来存放从控制存储器中取得的微指令。3、微地址形成部件AG(Micro Address Generation)用来产生机器指令的首条微指令地址和后续地
36、址。4、微地址寄存器AR(Micro Address register)接收微地址形成部件送来的微地址。,(1)微程序定义了计算机的指令系统;可以借助改变微程序存储器的内容来改变指令系统。,总结:,(2)不经常改变微程序存储器的内容,通常用只读存储器ROM充当微程序存储器。,(3)任何机器指令的执行都将多次访问控制存储器,控制存储器的速度起着主要的作用。,3.微程序控制器工作流程,微程序控制器的工作流程就是不断地执行取指令的微程序和执行相应功能指令的微程序。,【问】一会儿取机器指令,一会儿取微指令,它们之间到底是什么关系?1.抽象级别不同。一条机器指令对应一个微程序,这个微程序是由若干条微指令
37、序列组成的。因此,一条机器指令的功能是由若干条微指令组成的序列来实现的。简言之,一条机器指令所完成的 操作划分成若干条微指令来完成,由微指令进行解释和执行。2.从指令与微指令,程序与微程序,地址与微地址的一一对应关系来看,前者与内存储器有关,后者与控制存储器有关。格式不同。机器指令包括操作码和操作数地址码字段,微指令根据编译法的不同有多种情况,一般包括微操作信息和下地址字段。,【问】什么是微指令和微操作?微程序和机器指令有何关系?微程序和程序有何关系?答:微指令是控制计算机各部件完成某个基本微操作的命令。微操作是指计算机中最基本的、不可再分解的操作。微指令和微操作是一一对应的,微指令是微操作的
38、控制信号,微操作是微指令的操作过程。微指令是若干个微命令的集合。微程序是机器指令的实时解释器,每一条机器指令都对应一个微程序。微程序和程序是两个不同的概念。微程序是由微指令组成的,用于描述机器指令,实际上是机器指令的实时解释器,微程序是由计算机的设计者事先编制好并存放在控制存储器中的,一般不提供给用户;程序是由机器指令组成的,由程序员事先编制好并存放在主存放器中。,6.3.3 微指令的格式与编码,微指令格式可分为两种:水平型微指令和垂直型微指令。,1,水平型微指令 能最大限度地表示微操作的并行性;需要使用较长的代码,少则几十位,多则上百位;较长的代码能充分利用硬件并行性所带来速度上的潜在优势,
39、也使微程序中所包含的微指令条数减至最少,所以适用于要求较高速度的场合;水平型微指令的码空间利用率较低,并且编制最佳水平微程序难度较大。,2,垂直型微指令 采用短格式,一条微指令只能控制一、二个微操作;设有微操作码字段,由微操作码确定微指令的功能;包含的地址码用来指定微操作数所在的寄存器地址或微指令转移地址,也可表示立即数或标志码等。,用垂直型微指令编写的微程序称垂直微程序;垂直微程序不着重于微操作的并行性,并以此换取较短的微指令长度和较高的码空间利用率;编写垂直微程序的方法和传统的程序设计方法更为接近;垂直型微指令面向算法描述而水平型微指令面向处理机内部控制逻辑的描述。,3水平型微指令与垂直微
40、指令的比较(1)水平型微指令并行操作能力强,效率高,灵活性强,垂直型微指令则差。(2)水平型微指令执行一条指令的时间短,垂直型微指令执行时间长。(3)由水平型微指令解释指令的微程序,具有微指令字比较长,但微程序短的特点。垂直型微指令则相反,微指令字比较短而微程序长。(4)水平型微指令用户难以掌握,而垂直型微指令与指令格式比较相似,相对来说,比较容易掌握。水平型微指令与机器指令差别很大,一般需要对机器的结构、数据通路、时序系统以及微命令很精通才能设计。,水平型微指令编码设计,1)直接表示法 在微指令的微命令字段中,每个二进制位表示一个 微命令。,这种方法直观、不必译码、控制电路简单、速度快;通常
41、微命令的个数很多,使得微指令字长多达几百位,实现上非常困难;只有极个别的计算机采用这种直接表示法。,图6.20是直接表示法编码的例子,2)字段直接编码法,微指令中相容的微命令分配在不同字段;微指令中相斥的微命令组合在一起,编成一个字段;,微命令字段中所包含的小字段数目,是在一条微指令中最多可同时发出微命令的个数;可以把微指令中的微命令长度压缩到直接表示法的二分之一到三分之一。,只要求少量级数不多的译码器,对微指令的执行速 度影响不大;它为多数微程序控制的计算机所采用。,3)字段间接编码法,某一小字段可以表示多个微命令组,到底代表哪一组微命令,则由另一小字段的二进制码确定。,4)水平型微指令的直
42、接编码和分段编码的差别,直接编码(图6.20)通常所需要的控制信号数量非常大,这种采用一位表示一个控制信号的方法将导致微指令长度很长;造成控制存储器的空间极大地浪费。,分段编码(图6.24)控制信号分组,将那些互斥的信号分在同一组,而相容信号分在不同组;在一条微指令中每一组只能有一个微操作信号有效;,图6.24,6.3.4 微指令地址的生成,获得下面将要执行的微指令地址有如下三种情况:由指令寄存器IR确定 下一顺序地址 转移 必须根据当前微指令、条件标志和指令寄存器内容,产生下一微指令的控制存储器地址。,微指令地址生成”的任务是如何来得到下一条微指令的地址。,常见的微指令地址生成技术有计数器法
43、和下地址字段法两种,1)计数器法,只按顺序执行微指令,由PC负责生成下一微指令的地址(PC+1PC);,转移分支很多时,通常采用PLA可编程逻辑阵列来实现;,微程序的转移由专门的“转移微指令”来实现,通过微地址发生器以及相应的条件码和标志,生成转移地址送PC;,将每条机器指令的操作码通过PLA翻译成对应的微程序入口地址,这时微指令可写为:PC(PLA)。,2)下址字段法 在微指令中设置一个专门的地址字段用以指出下一条微指令的地址;,优点是消除了专门的转移微指令,而且在给微指令分配地址时简直没有什么限制;,缺点是增加了微指令的长度,有时还会对控制存储器的设计带来影响。,以PC为基础所建立的地址生
44、成技术最大的缺点在于当存在着较大量的转移微指令时,这将严重影响计算机的工作速度。,6.3.6 微程序应用,微程序控制技术从60年代以来在许多方面得到应用 计算机实现,仿真(emulation):通过使用微程序在一个机器执行原本为另一类机器所编写的程序的过程;普遍用途在于不同种机器间的软件移植。,操作系统支持 微程序在操作系统支持方面主要用来实现部分原语;这种技术能简化操作系统的实现并能改善其性能。,专用设备实现 微程序在嵌入式系统的专用设备的实现上有不少用途;将一些软件功能用微程序(固件)实现可增强系统的性能。,高级语言支持 将高级语言中常用的一些函数和数据类型直接以固件实现,将更利于编译优化
45、,这是微程序应用另一富有成果的领域。,微诊断 微程序能用于支持监督、确定、隔离和修复系统错误,这被称为微诊断(micro-diagnostics)。此办法允许系统测出故障,重新配置自己。例如当一个高速乘法器无效时,一个微程序式乘法器可马上接替。,用户加工“用户加工”指的是提供一种RAM控制存储器,让用户来编写微程序。此时一般提供给用户一种很垂直化的、易使用的微指令集,允许用户“裁剪”机器功能,以适合某些特定要求的应用。,6.4 微处理器的若干新技术,1提高微处理器主频的速度降低功耗、解决散热问题成了进一步提高计算机速度的瓶颈之一。,2超级流水线技术指令级并行ILP(Instruction Le
46、vel Parallel)进一步提高ILP不仅会使流水线清空时的代价增大,对指令执行过程中的分支预测提出更高的要求,从而会增加CPU实现的复杂性,反而会带来性能的下降。,3数据级的并行性单指令多数据技术SIMD(Single Instruction Multi Data)向量处理 MMX指令和SSE/SSE2指令 操作数长度128位(Streaming Single instruction multi data Extended),4超长指令字VLIW和显式并行指令计算EPIC(Very Long Instruction Word)(Explicity Parallel Instruction
47、 Computing)适用于64位微处理器体系结构的新技术,它采用软、硬件协同开发技术来完成指令级并行,特别是依赖于编译器的开发。,5多核多线程技术传统CPU:单线程指令级并行前沿CPU:多线程/进程级的并行 SMT(Simultaneous Multithreading)同时多线程技术 复制处理器结构,让同一处理器上多个线程同步执行,并共享处理器的执行资源。CMP(Chip Multiprocessor)单芯片多处理器(多核)在一个芯片内集成多个微处理器内核,通过多核并行执行的方式实现多线程/进程级并行。,本章小结,中央处理器CPU是计算机的核心部件,具有程序控制、操作控制、时间控制、数据加
48、工等基本技能。CPU从储存器取出一条指令并执行这条指令的时间称为指令周期。由于各种指令的操作功能不同,各种指令的指令周期是不尽相同的。划分指令周期,是设计操作控制器的重要依据。计算机的基本过程主要是指执行指令的过程,可以分为三个阶段:取指令;分析指令;执行指令。时序系统的功能是为指令的执行提供各种操作定时信号。时序部件是计算机的机内时钟,它用其产生的周期状态、节拍电位及时标脉冲去对指令周期进行时间划分,刻度和标定。CPU控制方式有同步控制、异步控制、同异步控制方式三种。微程序设计技术是利用软件方法设计控制器操作的一门技术,具有规整性、灵活性、可维护性等一系列优点。流水CPU是以时间并行性为原理
49、构造的处理器,是一种非常经济而实用的并行技术。,1,一条微指令可划分为(A)字段和(B)字段,微指令基本格式可分为(C)和(D)。微操作控制,微地址,垂直型微指令,水平型微指令2,微程序控制器中的控制存储器用来存放()。A,机器指令和数据 B,微程序和数据C,机器指令和微程序 D,微程序 D3,同步控制是()的控制方式。A,只适合于CPU B,只适合于外部设备C,由统一时序信号控制 D,所有指令执行时间现同 C4,CU的功能是()。从主存读取指令,分析指令并产生有关的操作控制信号,用二进制码表示的指令和数据都放在内存里,那 么CPU是怎样识别出它们是数据还是指令呢?1,从时间上来说,取指令事件
50、发生在指令周期的第一个CPU周期中,即发生在“取指令”阶段,而取数据事件发生在指令周期的后面几个CPU周期中,即发生在“执行指令”阶段。2,从空间上来说,如果取出的代码是指令,那么一定送往指令寄存器,如果取 出的代码是数据,那么一定送往运算器。,1,组合逻辑控制器 与微控制器主要区别是()。A,ALU结构不同 B,数据通路不同C,寄存器组织不同 D,微操作信号发生器构成方式不同 D2,简要说明指令周期、CPU周期和时钟周期的关系。解:指令周期是取出并执行一条指令所用的时间,常用若干个CPU周期数来表示。由于CPU内部操作速度较快,而CPU访问一次主存所花时间较长,故CPU周期规定为从主存读取一