计算机组成原理课件汇编_第1页
计算机组成原理课件汇编_第2页
计算机组成原理课件汇编_第3页
计算机组成原理课件汇编_第4页
计算机组成原理课件汇编_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

1、第八章第八章 CPU CPU 的结构和功能的结构和功能8.1 CPU 的结构的结构8.3 指令流水指令流水8.2 指令周期指令周期一、一、 CPU 的功能的功能中央处理器简称中央处理器简称CPU,是计算机系统的核心。,是计算机系统的核心。主要功能:程序的执行(指令控制),信息的处理(数据加工)主要功能:程序的执行(指令控制),信息的处理(数据加工),操作控制,时间控制,操作控制,时间控制,I/O设备的控制。设备的控制。1、控制器的功能、控制器的功能1取指令取指令 ;MCPU(IR)2分析指令分析指令 ;IR ID3执行指令执行指令 ;(2)对数据加工的控制)对数据加工的控制(1)控制指令的操作

2、过程)控制指令的操作过程1取操作数取操作数 (I、M、R)放入)放入ALU2加工操作数加工操作数ALU3存放操作数存放操作数ALU(O、M、R)(3)状态的检测与处理)状态的检测与处理(4)总线管理)总线管理(5)处理异常情况和特殊请求)处理异常情况和特殊请求2、运算器的功能、运算器的功能实现算术运算和逻辑运算实现算术运算和逻辑运算二、二、CPU 结构框图结构框图PC IR指令控制指令控制操作控制操作控制时间控制时间控制数据加工数据加工处理中断处理中断ALU 寄存器寄存器中断系统中断系统1. CPU 与系统总线与系统总线CU 时序电路时序电路寄存器寄存器ALU 中断中断 系统系统CUCPU控制

3、总线控制总线数据总线数据总线地址总线地址总线2. CPU 的内部结构的内部结构 算术和算术和布尔逻辑布尔逻辑取反取反移位移位状态标志状态标志内部内部 数据总线数据总线CPU寄存器寄存器CU中断中断系统系统ALU控制信号控制信号三、运算器三、运算器 运算器是加工处理数据的功能部件。运算器是加工处理数据的功能部件。 运算器主要由下列部件组成:运算器主要由下列部件组成: 算术逻辑单元(算术逻辑单元(ALU) 完成二进制信息的定点算术运算,逻辑运算,移位完成二进制信息的定点算术运算,逻辑运算,移位操作。操作。 通用寄存器通用寄存器GR和状态标志寄存器和状态标志寄存器FR 存放数据,运算的中间、最后结果

4、,各种状态标志。存放数据,运算的中间、最后结果,各种状态标志。 有的有的CPU中包含浮点处理单元中包含浮点处理单元FALU 算术逻辑单元和通用寄存器的位数决定了算术逻辑单元和通用寄存器的位数决定了CPU的字长。的字长。运算器基本结构运算器基本结构四、寄存器组(四、寄存器组(RegisterRegister) 寄存器寄存器R:是:是CPU中的重要组成部分,是中的重要组成部分,是CPU内部的临时内部的临时存储单元。存储单元。 存放内容:数据、地址、控制信息、存放内容:数据、地址、控制信息、CPU的工作状态信的工作状态信息。息。 寄存器数量的增加可以提高寄存器数量的增加可以提高CPU运行速度。运行速

5、度。 分类:数据寄存器、地址寄存器、标志状态寄存器、控分类:数据寄存器、地址寄存器、标志状态寄存器、控制寄存器和一些其它作用的寄存器。但总体可分为通用制寄存器和一些其它作用的寄存器。但总体可分为通用寄存器和专用寄存器两大类。寄存器和专用寄存器两大类。1)通用寄存器组)通用寄存器组 在运算中存储数据与地址在运算中存储数据与地址累加寄存器累加寄存器 AX(Accumulator)低位累加器低位累加器 AL(Low word Accumulator)变址寄存器变址寄存器 XR(Index Register)基址寄存器基址寄存器 BR(Base Register) 以以Intel 80486为例为例(

6、32位机位机),其通用寄存器有:,其通用寄存器有: EAX,EBX,ECX,EDX,EBP,ESP,ESI,EDI (16位机器为位机器为AX,BX,CX,DX,BP,SP,SI,DI) CS,DS,ES,SS,FS,GS (早期早期16位机器只有前位机器只有前4个)个)2 2)专用寄存器)专用寄存器 V D I T N Z A P C15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0进位标志位进位标志位奇偶标志位奇偶标志位辅助进位位辅助进位位零标志位零标志位结果符号位结果符号位单步标志位单步标志位中断允许位中断允许位方向标志位方向标志位溢出标志位溢出标志位 状态标志寄

7、存器状态标志寄存器SFR也叫标志寄存器也叫标志寄存器FR。每一位单。每一位单独使用,称为标志位。它反映了独使用,称为标志位。它反映了ALU当前的工作状态当前的工作状态或条件转移指令的转移条件。具体常用如下或条件转移指令的转移条件。具体常用如下: 指令寄存器指令寄存器IRIR(Instruction RegisterInstruction Register) 用于存放将要执行的指令。用于存放将要执行的指令。 指令计数器指令计数器PCPC,又称指令指针寄存器,又称指令指针寄存器IP IP 。 用于产生和存放下条待取指令的地址。用于产生和存放下条待取指令的地址。 堆栈指针寄存器堆栈指针寄存器SPSP

8、指示堆栈栈顶的地址。指示堆栈栈顶的地址。 变址寄存器变址寄存器XRXR 变址寻址中存放基础地址的寄存器,如变址寻址中存放基础地址的寄存器,如SISI、DIDI 段地址寄存器段地址寄存器SRSR 计算机内存大时多把内存存储空间分成段计算机内存大时多把内存存储空间分成段( (例例如如64KB)64KB)来管理,使用时以段为单位进行分配。段地址来管理,使用时以段为单位进行分配。段地址寄存器即是在段式管理中用来存放段地址的寄存器。寄存器即是在段式管理中用来存放段地址的寄存器。其他寄存器其他寄存器 根据根据CPUCPU结构特点而设置的专用寄存器。结构特点而设置的专用寄存器。五、五、 控制器的组成控制器的

9、组成 1)控制器的组成)控制器的组成 控制器是指挥与控制整台计算机各功能部件协同工作、自动控制器是指挥与控制整台计算机各功能部件协同工作、自动执行计算机程序的部件。执行计算机程序的部件。 基本功能基本功能 :取指令、分析解释指令、执行指令(包括控制程:取指令、分析解释指令、执行指令(包括控制程序和数据的输入输出、以及对异常情况和特殊请求的处理)。序和数据的输入输出、以及对异常情况和特殊请求的处理)。计算机不断重复上述三种基本操作,直到遇到停机指令或外计算机不断重复上述三种基本操作,直到遇到停机指令或外来的干预为止。来的干预为止。 组成组成:一般由程序计数器:一般由程序计数器PC(或指令指针寄存

10、器或指令指针寄存器IP)、指令寄、指令寄存器存器IR(或指令队列或指令队列)、指令译码器、指令译码器ID、控制逻辑电路(如启停、控制逻辑电路(如启停电路)和脉冲源及时钟控制电路等组成。电路)和脉冲源及时钟控制电路等组成。 起停线路 脉冲源 操作码 地址码 程序计数器 状态寄存器 时序控制 信号形成部件 指令译码器 数据总线 DB 地址总线 AB 控制总线 CB 存储器 I/O 数据 操作数 地址 指令 地址 转移地址 指令 IR 指令寄存器 Reset CLK PC +1 运 算 器 一、一、 指令周期的基本概念指令周期的基本概念1 . 指令周期指令周期取出并执行一条指令所需的全部时间取出并执

11、行一条指令所需的全部时间完成一条指令完成一条指令执行执行取指、分析取指、分析取指阶段取指阶段取指周期取指周期执行阶段执行阶段执行周期执行周期(取指、分析)(取指、分析)(执行指令)(执行指令)指令周期指令周期取指周期取指周期执行周期执行周期2. 每条指令的指令周期不同每条指令的指令周期不同取指周期取指周期指令周期指令周期取指周期取指周期 执行阶段执行阶段指令周期指令周期取指周期取指周期执行周期执行周期指令周期指令周期NOPADD mem MUL mem二、二、CPU的工作周期的工作周期 CPU访问一次存储器的时间称为访问一次存储器的时间称为CPU的工作周期。根的工作周期。根据据CPU访存的目的

12、不同,可将访存的目的不同,可将CPU的工作周期分别命名的工作周期分别命名1、取指周期、取指周期从存储器中取出指令并保存在指令寄存器从存储器中取出指令并保存在指令寄存器IR中。中。2、间址周期、间址周期取有效地址取有效地址3、执行周期、执行周期取或存操作数取或存操作数4、中断周期、中断周期为了保护程序断点为了保护程序断点三、指令周期流程三、指令周期流程取指周期取指周期执行周期执行周期有间址吗?有间址吗?有中断吗?有中断吗?间址周期间址周期中断周期中断周期是是是是否否否否四四. CPU 工作周期的标志工作周期的标志取取 指令指令取取 地址地址取取 操作数操作数存存 程序断点程序断点取指周期取指周期

13、间址周期间址周期执行周期执行周期中断周期中断周期FEDINDDINTDCLK1FE1IND1EX1INTEXDCPU 的的4个工作周期个工作周期 为了便于控制单元为了便于控制单元CU的设计的设计(特别是组合逻辑设计特别是组合逻辑设计),分,分别用四个触发器对应这四个工作周期。若不采用指令流水技别用四个触发器对应这四个工作周期。若不采用指令流水技术,则四个工作周期是不会重叠的。术,则四个工作周期是不会重叠的。1. 取指周期数据流取指周期数据流五、五、 指令周期的数据流指令周期的数据流MDRCUMARPCIR存储器存储器CPU地址总线地址总线数据总线数据总线控制总线控制总线IR+1 PCMAR A

14、B MCU CB MRDM DB MDR IRDATA2. 间址周期数据流间址周期数据流MDRCUMARCPU地址总线地址总线数据总线数据总线控制总线控制总线PCIR存储器存储器MDRAd(IR)(或或MDR) MAR AB MCU CB MRDM DB MDR(存有效地址存有效地址)DATA3. 执行周期数据流执行周期数据流4 . 中断周期数据流中断周期数据流不同指令的执行周期数据流不同不同指令的执行周期数据流不同MDRCUMARCPU地址总线地址总线数据总线数据总线控制总线控制总线PC存储器存储器(SP)-1 SP MAR AB MCU CB MWRPC MDR DB M一、如何提高机器速

15、度一、如何提高机器速度1. 提高访存速度提高访存速度2. 提高提高 I/O 和主机之间的传送速度和主机之间的传送速度 提高整机处理能力提高整机处理能力高速芯片高速芯片Cache多体并行多体并行多总线多总线DMAI/O 处理机处理机通道通道高速器件高速器件改进系统结构改进系统结构 ,开发系统的并行性,开发系统的并行性中断中断3. 提高运算器速度提高运算器速度高速芯片高速芯片改进算法改进算法快速进位链快速进位链二、系统的并行性二、系统的并行性时间上互相重叠时间上互相重叠2. 并行性的等级并行性的等级指令级(指令之间)指令级(指令之间)过程级(程序、进程)过程级(程序、进程)两个或两个以上事件在两个

16、或两个以上事件在 同一时刻同一时刻 发生发生两个或两个以上事件在两个或两个以上事件在 同一时间段同一时间段 发生发生并行并行1. 并行的概念并行的概念粗粒度粗粒度软件实现软件实现细粒度细粒度硬件实现硬件实现并发并发同时同时取指令取指令 3执行指令执行指令 3三、指令流水原理三、指令流水原理2.流水线方式流水线方式1. 指令的串行执行指令的串行执行取指令取指令 取指令部件取指令部件 完成完成总有一个部件总有一个部件 空闲空闲执行指令执行指令 执行指令部件执行指令部件 完成完成取指令取指令 2执行指令执行指令 2取指令取指令 1执行指令执行指令 1硬件控制简单,但速度慢,各功能操作部件利用效率低。

17、硬件控制简单,但速度慢,各功能操作部件利用效率低。流水线是将一个较复杂的处理过程分成流水线是将一个较复杂的处理过程分成m个复杂程度相当、个复杂程度相当、处理时间大致相等的子过程,每个子过程由一个独立的功能处理时间大致相等的子过程,每个子过程由一个独立的功能部件来完成,处理对象在各子过程连成的线路上连续流动。部件来完成,处理对象在各子过程连成的线路上连续流动。在同一时间,在同一时间,m个部件同时进行不同的操作,完成对不同子个部件同时进行不同的操作,完成对不同子过程的处理。过程的处理。计算写回计算写回取数取数计算地址计算地址取指取指 流水线每段时间取时间最长段的时间流水线每段时间取时间最长段的时间

18、 把时间较短的几段合并为一段把时间较短的几段合并为一段 把时间较长的段分解为若干段把时间较长的段分解为若干段 采用空间重叠的方法采用空间重叠的方法装入时间装入时间 排空时间排空时间 必须等必须等 上条上条 指令执行结束,才能确定指令执行结束,才能确定 下条下条 指令的地址指令的地址 造成时间损失造成时间损失3. 影响指令流水效率加倍的因素影响指令流水效率加倍的因素(1) 执行时间执行时间 取指时间取指时间 (2) 条件转移指令条件转移指令 对指令流水的影响对指令流水的影响 解决办法解决办法 ?取指令取指令部件部件指令部件指令部件缓冲区缓冲区执行指令执行指令部件部件猜测法猜测法4. 指令的六级流

19、水指令的六级流水六级流水六级流水14 个时间单位个时间单位串行执行串行执行6 9 54 时间单位时间单位完成完成 一条指令一条指令6 个时间单位个时间单位COFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFI指令指令 1指令指令 2指令指令 3指令指令 4指令指令 5指令指令 6指令指令 7指令指令 8指令指令 9 1 2 3 4 5 6 7 8 9 10 11 12 13 14t四、流水线的性能指标四、流水线的性能指标 (1)流水线

20、的吞吐率)流水线的吞吐率 是衡量流水线速度的重要指标。它是指在单位时间内流水线是衡量流水线速度的重要指标。它是指在单位时间内流水线所完成的任务数量,或是输出结果的数量。其公式为:所完成的任务数量,或是输出结果的数量。其公式为:TP=nTP=nT TK K 其中,其中,n n为任务数,为任务数, T TK K 为处理完成为处理完成n n个任务所用的时间。个任务所用的时间。 一条一条K K段线性流水线能够在段线性流水线能够在k+n-1k+n-1个时钟周期内完成个时钟周期内完成n n个任务。个任务。所以所以TP=nTP=nT TK K = n = n(k+n-1k+n-1)t (2)流水线的加速比流

21、水线的加速比 完成同样一批任务,不使用流水线所用的时间与使用流水线完成同样一批任务,不使用流水线所用的时间与使用流水线所用的时间之比。所用的时间之比。S=TS=T0 0 T TK K=kn=knt (k+n-1k+n-1)t =kn =kn(k+n-1)(k+n-1)30五、流水线中的主要问题五、流水线中的主要问题 流水过程中常会出现三种相关冲突,使流水线断流水过程中常会出现三种相关冲突,使流水线断流流/流水阻塞。流水阻塞。1、结构相关、结构相关 指多条指令进入流水线后在同一机器时钟周期内争用指多条指令进入流水线后在同一机器时钟周期内争用同一个功能部件所发生的冲突。同一个功能部件所发生的冲突。

22、解决办法:解决办法:使指令停顿一拍后再启动;使指令停顿一拍后再启动;增设一个功能部件。增设一个功能部件。312 2、数据相关、数据相关 在一个程序中,如果必须等前一条指令执行完毕后,在一个程序中,如果必须等前一条指令执行完毕后,才能执行后一条指令,那么这两条指令就是数据相关才能执行后一条指令,那么这两条指令就是数据相关的。例:的。例: ADD R0, R1, R2 ADD R4, R5, R0 ;第一条指令即将第一条指令即将“写回写回” 第二条指令即将第二条指令即将“执行执行” 解决方法:建立直接数据通道解决方法:建立直接数据通道 ,第一条指令的和已经,第一条指令的和已经计算出,从加法器直接取

23、数计算出,从加法器直接取数32寄存器组寄存器组锁存器锁存器锁存器锁存器ALU 控制相关冲突是由转移指令引起的。当执行转移指令控制相关冲突是由转移指令引起的。当执行转移指令时,依据转移条件的产生结果,可能为顺序取下条指时,依据转移条件的产生结果,可能为顺序取下条指令;也可能转移到新的目标地址取指令,从而使流水令;也可能转移到新的目标地址取指令,从而使流水线线 发生断流。发生断流。 转移处理技术转移处理技术: 延迟转移法延迟转移法 由编译程序重排指令序列来由编译程序重排指令序列来 “先执行再转移先执行再转移”实现。实现。转移预测法转移预测法 用硬件实现,依据指令过去的行为来预测将来的行为用硬件实现

24、,依据指令过去的行为来预测将来的行为3 3、控制相关、控制相关34 不精确断点不精确断点对中断时还未进入流水线的后续指令不允许对中断时还未进入流水线的后续指令不允许其再进入,但已进入流水线的指令仍执行完毕。其再进入,但已进入流水线的指令仍执行完毕。但是某些情况下会导致错误,例如地址错、但是某些情况下会导致错误,例如地址错、存储器错、运算错等中断发生时,后续指令不应存储器错、运算错等中断发生时,后续指令不应该执行。该执行。 精确断点精确断点仅执行完当前指令,不执行流水线中的后续仅执行完当前指令,不执行流水线中的后续指令。指令。六、流水线的多发技术六、流水线的多发技术 1. 超标量技术超标量技术

25、每个时钟周期内可每个时钟周期内可 并发多条独立指令并发多条独立指令 不能调整不能调整 指令的指令的 执行顺序执行顺序配置多个功能部件配置多个功能部件 通过编译优化技术,把可并行执行的指令搭配起来通过编译优化技术,把可并行执行的指令搭配起来IF ID EX WR0 1 2 3 4 5 6 7 8 9 10 11 12 13t2. 超流水技术超流水技术 在在 一个时钟周期一个时钟周期 内内 再分段再分段 ( 3 段)段) 不能调整不能调整 指令的指令的 执行顺序执行顺序在一个时钟周期内在一个时钟周期内 一个功能部件使用多次一个功能部件使用多次( 3 次)次)靠编译程序解决优化问题靠编译程序解决优化问题流水线速度是原来速度的流水线速度是原来速度的 3 倍倍IF ID EX WR0 1 2 3 4 5 6 7 8 9 10 11 12 13t3. 超长指令字超长指令字 采用采用 多个处理部件多个处理部件具有具有 多个操作码字段多个操作码字段 的的 超长指令字超长指令字(可达几百位)(可达几百位) 由编译程序由编译程序 挖掘挖掘 出指令间出指令间 潜在潜在 的的 并行性并行性,将将 多

温馨提示

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

评论

0/150

提交评论