书签 分享 收藏 举报 版权申诉 / 64
上传文档赚钱

类型第2章-中央处理器与指令系统分析课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:2899466
  • 上传时间:2022-06-09
  • 格式:PPT
  • 页数:64
  • 大小:924.50KB
  • 【下载声明】
    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. 控制相关控制相关 转移指令引起的相关转移

    21、指令引起的相关 无法确定那一条指令是后继指令,使得后继指令不无法确定那一条指令是后继指令,使得后继指令不能进入流水线。能进入流水线。指令流水线的资源相关指令流水线的资源相关 Wb Wb Wb Wb Ex Ex1 Ex1 Ex ID ID ID ID IF IF IF IF 流水周期 流水周期 7 7 6 6 5 5 4 4 3 3 2 (b) 当执行部件可流水,无资源相关 (a) 当执行部件不可流水,资源相关 2 1 1 addd $4,$5,$6 addd $4,$5,$6 addd $1,$2,$3 addd $1,$2,$3 Ex2 Ex2 Addd: 双精度加法指令双精度加法指令F2:

    22、 浮点数寄存器浮点数寄存器指令流水线的数据相关指令流水线的数据相关 写后读(写后读(RAW)WWMMExExIdIdIFIF流水周期654321and $12,$2,$5sub $2,$1,$3消除数据相关影响的方法 停顿停顿(硬件措施)(硬件措施) 编译检测编译检测(软件措施)(软件措施) 相关专用通路相关专用通路(硬件措施)(硬件措施)解决数据相关性的方法 流水线的停顿:流水线的停顿:停顿停顿N N个节拍个节拍WWMMExExIdIdIFIF流水周期654321and $4,$2,$5lw $2,20($1)解决数据相关性的方法 编译检测:编译检测:加入空操作(加入空操作(NOP)WWWW

    23、MMMMExExExExIdIdIdIdIFIFIFIF流水周期654321and $12,$2,$5nopnopsub $2,$1,$3解决数据相关性的方法 相关专用通道相关专用通道 在在ALU的输出端到它的输入端之间的输出端到它的输入端之间设置一条数据线路设置一条数据线路,使得,使得RAW相关时,相关时,上一条指令的结果能直接送到上一条指令的结果能直接送到ALU的输入端的输入端。 使得使得下一条指令能够及时得到上一条指令的结果下一条指令能够及时得到上一条指令的结果,而不用到而不用到寄存器中去读取寄存器中去读取,从而,从而避免了流水线的停顿。避免了流水线的停顿。WWWWMMMMExExExE

    24、xIdIdIdIdIFIFIFIF流水周期87654321add $9,$4,$2or $4,$4,$2and $4,$2,$5sub $2,$1,$3指令流水线的控制相关 改进转移指令执行性能的方式 将转移指令的执行在流水线中提前进行WWMMExExIdIdIF流水周期654321lw $4,50($7)J targetIFIFId ExMWtarget:典型指令流水线的特点 流水线分为IF、ID、EX、MEM、WB五个等长的时间阶段 转移指令在第二个阶段被识别从而可确定如何取下一条指令 没有相关专用通路 一个时钟周期内只能启动执行一条指令 一个时钟周期内只能写回一条指令 读操作数从指令译码

    25、时开始读到为止n 指令格式和指令编码指令格式和指令编码n 指令和数据的寻址方式指令和数据的寻址方式n 指令系统指令系统2.5.1 指令格式和指令编码指令格式和指令编码指令格式指令格式 instruction formatinstruction format 操作码操作码 ,地址码,地址码,条件码条件码,下一条指令的地址下一条指令的地址 一、操作码一、操作码 opcodeopcode固定长度操作码固定长度操作码:便于译码,扩展性差:便于译码,扩展性差可变长度操作码可变长度操作码:能缩短指令平均长度:能缩短指令平均长度二、地址码二、地址码 addressing codeaddressing cod

    26、e零地址零地址指令,如指令,如NOP, CLR一地址一地址指令,如指令,如INC R1二地址二地址指令,如指令,如ADD R1, R2三地址三地址指令,如指令,如ADD R1, R2, R3指令格式和指令编码指令格式和指令编码三、指令长度三、指令长度固定长度固定长度:取指快、译码简单。:取指快、译码简单。单字长、双字长、多字长单字长、双字长、多字长可变长度可变长度:可提高编码效率:可提高编码效率四、指令助记符四、指令助记符助记符助记符 mnemonics如如add、r1伪指令伪指令 directive累加器累加器 accumulator存放操作数和操作结果的一个寄存器存放操作数和操作结果的一个

    27、寄存器通用寄存器通用寄存器 general purpose register存放操作数和操作结果的一组寄存器存放操作数和操作结果的一组寄存器指令和数据的寻址方式指令和数据的寻址方式 存储器中存储器中既存储指令,又存储数据既存储指令,又存储数据。 在存储器中寻找指令或数据的方法有多种:在存储器中寻找指令或数据的方法有多种: 按地址寻找按地址寻找 按内容寻找按内容寻找 按顺序寻找按顺序寻找 在绝大多数计算机中都采用在绝大多数计算机中都采用按地址寻找的方式按地址寻找的方式,指令,指令或数据的寻找问题变成了构成其地址的问题或数据的寻找问题变成了构成其地址的问题 在按地址寻找存储内容的计算机中,对指令的

    28、地址码在按地址寻找存储内容的计算机中,对指令的地址码进行编码,以形成操作数,进行编码,以形成操作数,寻找操作数在寄存器或存寻找操作数在寄存器或存储器中地址的方式称为储器中地址的方式称为寻址方式寻址方式。指令和数据的寻址方式指令和数据的寻址方式1. 数据类型数据类型 数值型数值型 整型整型 字节、字、双字字节、字、双字 浮点数浮点数 单精度、双精度单精度、双精度 字符型字符型 ASCII数据类型在指令中的数据类型在指令中的表达表达 操作码表达操作码表达 地址码表达地址码表达 数据编码表达数据编码表达指令和数据的寻址方式指令和数据的寻址方式2. 数据存储字节顺序数据存储字节顺序(Endiannes

    29、s) 大数端大数端(Big Endian)最低字节存储在高地址最低字节存储在高地址 小数端小数端(Little Endian)最低字节存储在低地址最低字节存储在低地址 例例: :数据数据000F4240: : 4 5 6 7000F4240(a) 大数端存储方式 4 5 6 740420F00(b) 小数端存储方式数据类型及其存储方式数据类型及其存储方式3. 数据对齐方式数据对齐方式(Alignment) (a) 字不对齐 16 16 12 12 8 8 4 4 0 0 3 2 1 0 (b) 字对齐 地址 字节 3 2 0 1 指令和数据的寻址方式指令和数据的寻址方式指令的寻址方式指令的寻址

    30、方式顺序执行顺序执行程序计数器程序计数器(PC)寻址寻址非顺序执行非顺序执行转移指令转移指令如如: jump $1000 bgt R1指令2PC指令3指令1操作数寻址方式操作数寻址方式addressing modes1. 隐含方式隐含方式如如“ADD ADR”中的累加器中的累加器2. 立即数方式立即数方式如如INT #33. 寄存器方式寄存器方式如如INC R1 操作码 操作数 指令 操作码寄存器指令R操作数R1操作数寻址方式操作数寻址方式(续)(续) 4. 直接寻址直接寻址 如如INC 1000操作码存储器指令A操作数1000操作数寻址方式操作数寻址方式(续)(续)5. 间接寻址间接寻址寄存

    31、器间接,寄存器间接,如如INC (R1)存储器间接,存储器间接,如如INC (1000)操作码存储器寄存器指令R存储器指令操作码AA操作数A操作数R11000操作数寻址方式操作数寻址方式(续)(续)6. 相对寻址相对寻址如如INC 8(PC)操作码PC指令存储器A操作数87. 变址和基址寻址变址和基址寻址如如INC 8(R1)A存储器寄存器R指令操作码变址寻址变址寻址 indexed mode- -便于数组访问便于数组访问基址寻址基址寻址 based mode- -可扩大寻址范围,可实现程序浮动可扩大寻址范围,可实现程序浮动I操作数R188. 复合寻址复合寻址如如: INC 8(PC+R1)I

    32、NC (R1)(1000)PCIA存储器寄存器R指令操作码操作数IA存储器寄存器R指令操作码操作数AR18各种常见寻址方式的汇编指令表示指令系统指令系统 一、指令集设计原则一、指令集设计原则 完备性完备性:能够覆盖所需的各种功能:能够覆盖所需的各种功能 正交性正交性:无功能完全相同的指令:无功能完全相同的指令 可扩充性可扩充性:保留一定余量的操作码空间以供:保留一定余量的操作码空间以供以后功能扩展。以后功能扩展。 有效性有效性:利用该指令系统编写的程序能高效:利用该指令系统编写的程序能高效地运行。地运行。 兼容性兼容性:机器指令的通用性。:机器指令的通用性。常见指令类型常见指令类型 数据传送:

    33、move, load, store 算术运算:add, sub, mult, div, comp 逻辑运算:and, or, neg, shift移位运算shift 算术左移:算术左移: 算术右移:算术右移: 逻辑左移:逻辑左移: 逻辑右移:逻辑右移: 0 小循环左移:小循环左移: 小循环右移:小循环右移: 大循环左移:大循环左移: 大循环右移:大循环右移: C C C 0 0 C C C C C Data shift operations指令类型指令类型 数据传送:数据传送:move, load, store 算术运算:算术运算:add, sub, mult, div, comp 逻辑运算:

    34、逻辑运算:and, or, neg, shift 程序控制:程序控制:jump, branch, jsr, ret, int 输入输出:输入输出:in, out 堆栈操作:堆栈操作:push, pop 字符串:如字符串:如alpha中中CMPBGE, INSWH等等 多媒体指令:多媒体指令:DSP 系统指令:如奔腾机中系统指令:如奔腾机中程序流控制-转移指令 条件转移 vs 无条件转移 相对转移 vs 绝对转移 状态寄存器SRN ZV CPN:符号标志位:符号标志位 NegativeZ:全零标志位:全零标志位 ZreoV:溢出标志位:溢出标志位 OverflowC:进位:进位/借位标志位借位标

    35、志位 CarryP:奇偶标志位:奇偶标志位 Parity程序流控制-转子指令 功能功能 实现子程序调用实现子程序调用 步骤步骤 将下一条指令的地址将下一条指令的地址(PC的值的值)存放在一个存放在一个临时存储位置临时存储位置 将子程序的起始地址装入将子程序的起始地址装入PC中中 子程序返回指令子程序返回指令 将存放在临时存储位置的指令地址取出将存放在临时存储位置的指令地址取出放回放回PC CISC和RISC 复杂指令系统计算机复杂指令系统计算机(CISC) Complex Instruction Set Computer 指令系统复杂指令系统复杂:指令数目大于:指令数目大于200条,寻址方式多

    36、,条,寻址方式多,指令格式多。指令格式多。 指令串行执行指令串行执行:执行步骤多,需要多个时钟周期。:执行步骤多,需要多个时钟周期。 各种指令都可访问存储器各种指令都可访问存储器。 有较多专用寄存器。有较多专用寄存器。 编译程序难以进行高效的代码优化编译程序难以进行高效的代码优化。CISC和RISC 精简指令系统计算机精简指令系统计算机(RISC) Reduced Instruction Set Computer 简化简化的指令系统的指令系统 以以寄存器寄存器-寄存器方式寄存器方式工作工作 采用采用流水技术流水技术 使用使用较多的通用寄存器较多的通用寄存器以减少访存以减少访存 采用采用优化编译

    37、技术优化编译技术CISCComplex Instruction Set ComputerRISCReduced Instruction Set Computer指令种类和长指令种类和长度度种类多,长度可变种类多,长度可变种类少,长度固定种类少,长度固定指令操作数指令操作数Memaddr,Reg,ImmReg寻址方式寻址方式多多少少访存指令访存指令无特别限制无特别限制只有只有Load/store指令指令允许访问存储器允许访问存储器流水设计流水设计难难容易容易硬件设计硬件设计复杂复杂简单简单编译器编译器简单简单复杂复杂典型代表典型代表MCS-51,Intel X86MIPS,PowerPC,ARM

    38、,MPS430,PIC的的MCU采用采用RISC设计思想的计算机产品设计思想的计算机产品 HP公司的公司的Alpha系列、系列、PA-RISC系列系列 IBM和和Motorola公司的公司的PowerPC系列系列 SGI公司的公司的MIPS系列系列 SUN公司的公司的SPARC系列系列 嵌入式处理器:嵌入式处理器:ARM系列系列寻址方式寻址方式地址生成算法立即操作数 = A寄存器EA = R偏移量EA = (SR)+ A基址EA = (SR)+(B)基址加偏移量EA = (SR) + (B) + A比例索引加偏移量EA = (SR) + (I)S + A基址加索引和偏移量EA = (SR) +

    39、 (B) + (I) + A基址加比例索引和偏移量EA = (SR) + (I)S + (B) + A相对EA = (PC) + A数据类型数据类型描述通用二进制表示的字节、字、双字、四倍字整型补码表示的字节、字、双字序数型无符号的字节、字、双字整型数据BCD用一个字节表示的一位 0 到 9 之间的十进制数紧缩 BCD用一个字节表示的两位 0 到 99 之间的十进制数近指针一个 32 位有效地址,代表段内或不分段内存的偏移量位段一个连续位串,每一位作为独立的单元,长度可达 232 - 1 位字节串一个连续的字节、字或双字串,长度为 0 到 232 - 1 字节浮点数IEEE 754 标准的单精

    40、度、双精度、扩展精度数据指令类型数据传输指令指令描述MOV寄存器和存储器之间移动数据PUSH将操作数压栈PUSHA将所有寄存器压栈MOVSX符号扩展移动字节、字、双字LEA装入有效地址XLAT查表转换IN,OUT对 I/O 空间的输入输出操作指令类型算术指令指令描述ADD操作数加法SUB操作数减法MUL无符号单/双精度乘法IDIV整型数除法AND“与”操作BTS位测试并置1BSF前向位扫描SHL/SHR逻辑左移/右移SAL/SAR算术左移/右移ROL/ROR循环左移/右移SETcc根据条件设置字节为0或1指令类型程序转移指令指令描述CALL子程序调用JMP无条件转移JE相等/为零时转移LOOPE相等/为零时循环INT中断INTO溢出时中断指令类型 串操作指令 MOVS移动字节、字、双字串 LODS装入字节、字、双字串 支持高级语言指令 ENTER建立一个堆栈框架 LEAVE恢复ENTER指令的动作 BOUND检查数组的值在上下界之间指令数量统计CPU指令数8086/808789/77I286190I386204i486216Pentium222Pentium Pro230Pentium MMX287Pentium II291Pentium III361Pentium 4505Intel Architecture Processors

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:第2章-中央处理器与指令系统分析课件.ppt
    链接地址:https://www.163wenku.com/p-2899466.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库