第2章-中央处理器与指令系统分析课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第2章-中央处理器与指令系统分析课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中央处理器 指令系统 分析 课件
- 资源描述:
-
1、第第2章章 CPU与指令系统与指令系统2.1 基本概念基本概念2.2 指令周期指令周期2.3 指令的执行过程指令的执行过程2.4 指令的流水执行指令的流水执行2.5 指令和数据的寻址方式指令和数据的寻址方式2.6 指令系统分类指令系统分类2.1 CPU基本概念基本概念CPU的的基本功能基本功能 指令控制指令控制 操作控制操作控制 数据运算数据运算 异常和中断处理异常和中断处理CPU的的扩展功能扩展功能 存储管理存储管理 数据缓存数据缓存 总线管理总线管理 功耗管理功耗管理2.1 CPU基本概念基本概念CPU的基本构成:的基本构成: 控制器,运算器,寄存器控制器,运算器,寄存器, cache、M
2、MU寄存器寄存器:用于(临时)存放各种信息。:用于(临时)存放各种信息。 指令寄存器指令寄存器(IR):存放当前执行的指令,为指令译码器提供指令信息。):存放当前执行的指令,为指令译码器提供指令信息。 程序计数器程序计数器(PC):存放指令的地址,从存储器取指令时根据):存放指令的地址,从存储器取指令时根据PC值进行。值进行。 数据寄存器数据寄存器(DR):存放操作数和运算结果,以减少访问存储器的次数。):存放操作数和运算结果,以减少访问存储器的次数。 地址寄存器地址寄存器(AR):存放操作数的地址。):存放操作数的地址。 状态寄存器状态寄存器(SR):存储运算中的状态,作为控制程序的条件。)
3、:存储运算中的状态,作为控制程序的条件。数据通路:数据通路:寄存器与寄存器与ALU之间传递信息的线路。通常有之间传递信息的线路。通常有2种建立方法种建立方法: 用用数据总线数据总线(单总线,双总线,多总线)(单总线,双总线,多总线) 用用专用通路专用通路(如(如MIPS)数据总线结构在各寄存器以及在各寄存器以及ALU之间之间建立一条或几条公共的数建立一条或几条公共的数据总线,寄存器间的数据据总线,寄存器间的数据传输通过这些总线完成。传输通过这些总线完成。一条总线可以连接多个部一条总线可以连接多个部件,件,总线连接方式可以减总线连接方式可以减少线路的数量。少线路的数量。总线上可以有多个部件同总线
4、上可以有多个部件同时接收数据,但任一时刻时接收数据,但任一时刻只能有一个部件向同一条只能有一个部件向同一条总线发送数据。总线发送数据。常用的是常用的是单总线结构单总线结构,即,即数据通路只用一条总线构数据通路只用一条总线构成,一次传输一个数据。成,一次传输一个数据。 指令译码/控制器 IR PC MAR MDR R0 Rn-1 Y SR Z A B ALU 存储器 控制 信号 地址总线 数据总线 专用通路结构在各寄存器与在各寄存器与ALU之间根据指令执行过程中的操作和数据流向来之间根据指令执行过程中的操作和数据流向来安排功能部件并安排功能部件并建立相应的数据传输通路建立相应的数据传输通路。每条
5、数据传输通路都是每条数据传输通路都是专用的,不共享使用专用的,不共享使用。在数据传输和操作中可以做到在数据传输和操作中可以做到互不相关互不相关,控制比较简单控制比较简单,各寄存,各寄存器之间的数据传输可以并行进行,从而达到器之间的数据传输可以并行进行,从而达到较高的性能较高的性能。 x4 4 x4 ALU 符号扩展 PC IR 指令 存储器 数据 存储器 数据 寄存器 I25-0 PC+431-28 PC+4 Target A Dx Rx I20-16 IRWrite PCWrite I25-21 RegDst ALUOp MemWrite MemtoReg MemRead Jump PCSo
6、urce ALUSource RegWrite Ry Add Dy Rz I15-11 Do B Dz Di I15-0 控制器 时间概念 指令周期指令周期 是从一条指令的启动到下一条指令的启动的是从一条指令的启动到下一条指令的启动的时间间隔。时间间隔。 机器周期机器周期 指令周期中包含若干个指令周期中包含若干个基本操作步骤基本操作步骤,如访,如访问存储器和运算等。问存储器和运算等。每个基本操作的时间每个基本操作的时间称称为机器周期。为机器周期。 时钟周期时钟周期 是计算机是计算机时钟主频的周期时钟主频的周期。 一个机器周期可以包含若干个时钟周期一个机器周期可以包含若干个时钟周期2.2 指令的
7、执行过程指令的执行过程例:运算指令的执行过程例:运算指令的执行过程 采用专用通路结构采用专用通路结构:如:如add $1, $2, $3 (1) 取指令取指令。IR = MemoryPC instruction fetchPC = PC + 4 x4 4 x4 ALU 符号扩展 PC IR 指令 存储器 数据 存储器 数据 寄存器 I25-0 PC+431-28 PC+4 Target A Dx Rx I20-16 IRWrite PCWrite I25-21 RegDst ALUOp MemWrite MemtoReg MemRead Jump PCSource ALUSource RegW
8、rite Ry Add Dy Rz I15-11 Do B Dz Di I15-0 控制器 一、运算指令的执行过程一、运算指令的执行过程 专用通路结构:专用通路结构:如如add $1, $2, $3 (2) 指令译码及读取操作数指令译码及读取操作数。A = RIR25:21 B = RIR20:16 图 5-2 专用通路结构 CPU 例子 x4 4 x4 ALU 符号扩展 PC IR 指令 存储器 数据 存储器 数据 寄存器 I25-0 PC+431-28 PC+4 Target A Dx Rx I20-16 IRWrite PCWrite I25-21 RegDst ALUOp MemWri
9、te MemtoReg MemRead Jump PCSource ALUSource RegWrite Ry Add Dy Rz I15-11 Do B Dz Di I15-0 控制器 Instruction decodeOperand fetch一、运算指令的执行过程一、运算指令的执行过程 专用通路结构专用通路结构:如:如add $1, $2, $3 (3) 执行执行。ALUoutput = A + B execution 图 5-2 专用通路结构 CPU 例子 x4 4 x4 ALU 符号扩展 PC IR 指令 存储器 数据 存储器 数据 寄存器 I25-0 PC+431-28 PC+4
10、 Target A Dx Rx I20-16 IRWrite PCWrite I25-21 RegDst ALUOp MemWrite MemtoReg MemRead Jump PCSource ALUSource RegWrite Ry Add Dy Rz I15-11 Do B Dz Di I15-0 控制器 一、运算指令的执行过程一、运算指令的执行过程专用通路结构:专用通路结构:如如add $1, $2, $3(4) 写回写回。RIR15:11 = ALUoutput write back 图 5-2 专用通路结构 CPU 例子 x4 4 x4 ALU 符号扩展 PC IR 指令 存储
11、器 数据 存储器 数据 寄存器 I25-0 PC+431-28 PC+4 Target A Dx Rx I20-16 IRWrite PCWrite I25-21 RegDst ALUOp MemWrite MemtoReg MemRead Jump PCSource ALUSource RegWrite Ry Add Dy Rz I15-11 Do B Dz Di I15-0 控制器 一、运算指令的执行过程一、运算指令的执行过程采用单总线结构采用单总线结构: 如如ADD R3, R1, R2(1) PCMAR(2) PC+1PC图 5-1 单总线 CPU的结构指令译码/控制器IRPCMARM
12、DRR1R3YSRZA BALU存储器控制信号地址总线数据总线R2PCMAR一、运算指令的执行过程一、运算指令的执行过程单总线结构: 如ADD R3, R1, R2(1) PCMAR(2) PC+1PC(3) DBUSMDR(4) MDRIR图 5-1 单总线 CPU的结构指令译码/控制器IRPCMARMDRR1R3YSRZA BALU存储器控制信号地址总线数据总线R2MDRIR指令译码器一、运算指令的执行过程一、运算指令的执行过程单总线结构: 如ADD R3, R1, R2(1) PCMAR(2) PC+1PC(3) DBUSMDR(4) MDRIR(5) R1Y图 5-1 单总线 CPU的
13、结构指令译码/控制器IRPCMARMDRR1R3YSRZA BALU存储器控制信号地址总线数据总线R2R1Y一、运算指令的执行过程一、运算指令的执行过程单总线结构: 如ADD R3, R1, R2(1) PCMAR(2) PC+1PC(3) DBUSMDR(4) MDRIR(5) R1Y(6) R2 + YZ图 5-1 单总线 CPU的结构指令译码/控制器IRPCMARMDRR1R3YSRZA BALU存储器控制信号地址总线数据总线R2R2Z一、运算指令的执行过程一、运算指令的执行过程单总线结构: 如ADD R3, R1, R2(1) PCMAR(2) PC+1PC(3) DBUSMDR(4)
14、 MDRIR(5) R1Y(6) R2 + YZ(7) ZR3图 5-1 单总线 CPU的结构指令译码/控制器IRPCMARMDRR1R3YSRZA BALU存储器控制信号地址总线数据总线R2R3状态寄存器状态寄存器2.4 指令的流水执行 流水技术流水技术用于用于提高指令的执行速度和数据运算速度提高指令的执行速度和数据运算速度。 流水工作方式流水工作方式 将一个计算任务细分成若干个子任务将一个计算任务细分成若干个子任务 每个子任务由专门的部件处理每个子任务由专门的部件处理 多个计算任务依次进行并行处理多个计算任务依次进行并行处理锁存器锁存器CLK锁存器处理部件n处理部件2处理部件1流水周期 2
15、.4 指令的流水执行 计算机流水线中的计算任务可以是计算机流水线中的计算任务可以是可以是一个可以是一个算术逻辑运算操作算术逻辑运算操作,也可以是一条指令的执行也可以是一条指令的执行。 指令级流水线指令级流水线是把一条指令的执行过程分成是把一条指令的执行过程分成多多个子过程个子过程,由各个部件进行,由各个部件进行轮流处理轮流处理后完成执后完成执行过程。行过程。 不必等到上一条指令的完成就可以开始下一条不必等到上一条指令的完成就可以开始下一条指令的执行。指令的执行。 指令的流水线在高性能的微处理器中被普遍采指令的流水线在高性能的微处理器中被普遍采用。用。指令的流水线指令流水线由一系列指令流水线由一
16、系列串联的流水段串联的流水段组成。组成。每个流水段完成指令执行的一个操作步骤。每个流水段完成指令执行的一个操作步骤。各个流水段之间设有缓冲寄存器(各个流水段之间设有缓冲寄存器(流水寄存器流水寄存器),),以暂时保存上一个流水段对指令处理的结果。以暂时保存上一个流水段对指令处理的结果。流水线中的每个流水线中的每个流水段流水段构成流水线的一级。构成流水线的一级。在专用通路结构的在专用通路结构的CPU中,通常采用中,通常采用5个流水段个流水段(5级流水级流水) 取指(取指(IF)-Instruction Fetch 译码(译码(ID)-Instruction Decode 运算执行(运算执行(EX)
17、-Execute 访存(访存(MEM)-Memory 写回(写回(WB)-Write Back流水线的性能1. 吞吐率吞吐率衡量指令流水线的一个重要指标衡量指令流水线的一个重要指标。单位时间内流水线能处理的任务数量单位时间内流水线能处理的任务数量与流水的与流水的节拍时间节拍时间(流水周期)有关。(流水周期)有关。可将流水周期定为各流水段处理时间的最可将流水周期定为各流水段处理时间的最大值,加上流水寄存器的延迟时间。大值,加上流水寄存器的延迟时间。2. 加速比加速比流水方式的工作速度与等效的顺序工作方流水方式的工作速度与等效的顺序工作方式时间的比值式时间的比值时空图时空图-根据流水段来画根据流水
18、段来画 5级流水线在执行级流水线在执行8条指令时条指令时: 时间时间 段号段号 WB MEM EX ID IF 8 8 8 8 8 7 7 7 7 7 6 6 6 6 6 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 2 1 2 2 2 2 1 1 1 1 1 2 3 4 5 6 7 8 9 10 11 12 建立时间:建立时间:从从第一条指令第一条指令进入流水线到离开流水线的时间。进入流水线到离开流水线的时间。排空时间:排空时间:从从最后一条指令最后一条指令进入流水线到离开流水线的时间。进入流水线到离开流水线的时间。无流水时:无流水时:5个个时间节拍处理时间节拍处理1条指令。条
19、指令。有流水时:有流水时:12个时间节拍处个时间节拍处理了理了8条指令条指令流水线的作用流水线的作用 由时空图可见:由时空图可见: 对进入流水线的每条指令,其执行时间都没对进入流水线的每条指令,其执行时间都没有缩短。有缩短。 指令流水通过指令之间的指令流水通过指令之间的重叠重叠来来提高吞吐率提高吞吐率。 在流水线中,当任务饱满时,任务源源不断在流水线中,当任务饱满时,任务源源不断地输入流水线,不论有多少个流水段,地输入流水线,不论有多少个流水段,每隔每隔一个流水周期都能输出一个任务。一个流水周期都能输出一个任务。 从而在宏观上从而在宏观上提高了处理速率。提高了处理速率。时空图时空图-根据指令序
20、列来画(根据指令序列来画(常用常用) 便于分析指令之间的关系便于分析指令之间的关系指令流水线的相关性指令流水线的相关性1. 资源相关(结构相关)资源相关(结构相关) 流水执行的多条指令流水执行的多条指令同时使用同一个部件同时使用同一个部件。 由于硬件资源不够造成的,与硬件结构有关。由于硬件资源不够造成的,与硬件结构有关。2. 数据相关数据相关 流水执行的流水执行的多条指令访问相同的数据多条指令访问相同的数据,使得相关的,使得相关的指令不能并行地执行。指令不能并行地执行。 RAW(读后写)(读后写)WAR(读后写)(读后写)WAW(写后写)(写后写)3. 控制相关控制相关 转移指令引起的相关转移
展开阅读全文