第3章处理器2_第1页
第3章处理器2_第2页
第3章处理器2_第3页
第3章处理器2_第4页
第3章处理器2_第5页
已阅读5页,还剩99页未读 继续免费阅读

下载本文档

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

文档简介

1、3. 1 处理器的指令集处理器的指令集 3. 2 处理器的基本组成与工作过程处理器的基本组成与工作过程 3. 3 从从CISC到到RISC3. 4 Intel 80 x86系列微处理器系列微处理器 2022-4-213.1 处理器的指令集处理器的指令集3.1.1 概述概述(机器)指令(机器)指令:机器能够识别并执行的命令:机器能够识别并执行的命令指令集指令集:一台计算机中所有机器指令的集合,通:一台计算机中所有机器指令的集合,通常也叫做指令系统(狭义)。常也叫做指令系统(狭义)。 指令字指令字:代表指令的一组二进制代码信息:代表指令的一组二进制代码信息指令字长指令字长:指令字中二进制代码的位数

2、:指令字中二进制代码的位数 指令系统是表征一台计算机性能的重要因素,其指令系统是表征一台计算机性能的重要因素,其格式和功能不仅直接影响到机器的硬件结构,也直接格式和功能不仅直接影响到机器的硬件结构,也直接影响到系统软件,影响到机器的应用范围。影响到系统软件,影响到机器的应用范围。 指令系统(广义)指令系统(广义)主要包括数据表示、指令集和主要包括数据表示、指令集和寻址方式三方面的内容。寻址方式三方面的内容。规整性:规整性:指令与运算规则统一指令与运算规则统一兼容性:兼容性:“向上兼容向上兼容”完备性:完备性:指令齐全、编程方便指令齐全、编程方便高效性:高效性:占内存少,运行速度快占内存少,运行

3、速度快一个完善的指令系统应满足以下四方面的要求:一个完善的指令系统应满足以下四方面的要求:对于一个计算机系统来讲:对于一个计算机系统来讲:1)指令是程序设计的最小单位)指令是程序设计的最小单位2)指令是硬件设计的依据)指令是硬件设计的依据3)指令是软件和硬件的接口)指令是软件和硬件的接口 汇编语言是基于英文的机器指令助记符。汇编语言是基于英文的机器指令助记符。 按汇编语言书写的程序叫做按汇编语言书写的程序叫做汇编语言源程序汇编语言源程序,汇,汇编语言源程序由汇编程序编语言源程序由汇编程序(Assembler)转换成机器指转换成机器指令,供计算机接受并执行。令,供计算机接受并执行。 汇编语言的提

4、出是计算机技术的一大进步,体现汇编语言的提出是计算机技术的一大进步,体现了计算思维的一个重要概念了计算思维的一个重要概念抽象抽象。 计算机程序设计语言的发展过程就是计算机程序设计语言的发展过程就是 不断抽象不断抽象的过程。通过抽象,程序设计语言具有了更好的可编的过程。通过抽象,程序设计语言具有了更好的可编程性、可移植性、可重用性。程性、可移植性、可重用性。汇编语言:汇编语言:一、指令的一般格式一、指令的一般格式 操作码字段操作码字段 地址码字段地址码字段1. 操作码操作码反映机器做什么操作反映机器做什么操作 (1) 固定长度操作码固定长度操作码(2)可变可变长度操作码长度操作码硬件设计简单硬件

5、设计简单指令译码时间短指令译码时间短操作码分散在指令字的不同字段中操作码分散在指令字的不同字段中硬件设计相对复杂硬件设计相对复杂 指令译码时间长指令译码时间长3.1.2 指令的操作码与操作数指令的操作码与操作数2. 地址码地址码 用来指出操作数的地址用来指出操作数的地址 源操作数的地址源操作数的地址结果(目的操作数)的地址结果(目的操作数)的地址下一条指令的地址下一条指令的地址 这些地址可以是这些地址可以是CPU内部寄存器的地址,主存内部寄存器的地址,主存的地址和的地址和IO设备地址设备地址 按照操作数地址的数目可以把指令分为四地址指按照操作数地址的数目可以把指令分为四地址指令、三地址指令、二

6、地址指令、一地址指令和零地令、三地址指令、二地址指令、一地址指令和零地址指令。址指令。(1) 四地址四地址 (2) 三地址三地址OP A1 A2 A3 A48 6 6 6 6A1 第一操作数地址第一操作数地址A2 第二操作数地址第二操作数地址A3 结果的地址结果的地址A4 下一条指令地址下一条指令地址若若 PC 代替代替 A4(A1) OP (A2) A38 8 8 8 OP A1 A2 A3(A1) OP (A2) A34 次访存次访存4 次访存次访存寻址范围寻址范围 26 = 64寻址范围寻址范围 28 = 256若若 A3 用用 A1 或或 A2 代替代替设指令字长为设指令字长为 32

7、位位操作码固定为操作码固定为 8 位位(3) 二地址二地址OP A1 A28 12 12(A1) OP (A2) A1(A1) OP (A2) A2或或4 次访存次访存若若ACC 代替代替 A1(或(或A2)若结果存于若结果存于 ACC (4) 一地址一地址 (5) 零地址零地址OP A18 24无地址码无地址码 NOP, HLT , IRET等等(ACC) OP (A1) ACC2 次访存次访存寻址范围寻址范围 212 = 4 K寻址范围寻址范围 224 = 16 M 3次访存次访存二、指令字二、指令字 长长指令字长决定于指令字长决定于操作码的长度操作码的长度指令字长指令字长 = 机器字长机

8、器字长= 存储字长存储字长 2. 指令字长指令字长 可变可变操作数地址的长度操作数地址的长度操作数地址的个数操作数地址的个数1. 指令字长指令字长 固定固定按字节的倍数变化按字节的倍数变化小小 结结 当用一些硬件资源代替指令字中的地址码字段后当用一些硬件资源代替指令字中的地址码字段后 当指令的地址字段为寄存器时当指令的地址字段为寄存器时 可扩大指令的寻址范围可扩大指令的寻址范围 可缩短指令字长可缩短指令字长 可减少访存次数可减少访存次数 三地址三地址 OP R1, R2, R3 二地址二地址 OP R1, R2 一地址一地址 OP R1 指令执行阶段不访存指令执行阶段不访存 可缩短指令字长可缩

9、短指令字长3.1.3 寻址方式寻址方式寻址方式寻址方式 确定确定 本条指令本条指令 的的 操作数地址操作数地址下一条下一条 欲执行欲执行 指令指令 的的 指令地址指令地址指令寻址指令寻址数据寻址数据寻址寻址方式寻址方式一、指令寻址一、指令寻址顺序顺序( PC ) + 1 PC跳跃跳跃由转移指令指出由转移指令指出LDA 1000ADD 1001DEC 1200JMP 7LDA 2000SUB 2001INCSTA 2500LDA 1100.0123456789PC+1指令地址寻址方式指令地址寻址方式指令地址指令地址指令指令顺序寻址顺序寻址1顺序寻址顺序寻址2顺序寻址顺序寻址3跳跃寻址跳跃寻址7顺

10、序寻址顺序寻址8二、数据寻址二、数据寻址 形式地址形式地址 指令字中的地址指令字中的地址 有效地址有效地址 操作数的真实地址操作数的真实地址 约定约定 指令字长指令字长 = 存储字长存储字长 = 机器字长机器字长1. 立即数寻址立即数寻址 指令执行阶段不访存指令执行阶段不访存 A 的位数限制了立即数的范围的位数限制了立即数的范围形式地址形式地址 A操作码操作码寻址特征寻址特征 OP # A立即寻址特征立即寻址特征立即数立即数 可正可负可正可负 补码补码形式地址形式地址 A 就是操作数就是操作数A AEAEA2. 直接寻址直接寻址EA = A操作数操作数主存主存寻址特征寻址特征O PAAACC

11、执行阶段访问一次存储器执行阶段访问一次存储器 A 的位数决定了该指令操作数的寻址范围的位数决定了该指令操作数的寻址范围 操作数的地址不易修改(必须修改操作数的地址不易修改(必须修改A)有效地址由形式地址直接给出有效地址由形式地址直接给出3. 隐含寻址隐含寻址操作数地址隐含在操作码中操作数地址隐含在操作码中ADDA操作数操作数主存主存寻址特征寻址特征AACC暂存暂存ALU另一个操作数另一个操作数隐含在隐含在 ACC 中中如如 8086MUL 指令指令被乘数隐含在被乘数隐含在 AX(16位)或位)或 AL(8位)中位)中MOVS 指令指令源操作数的地址隐含在源操作数的地址隐含在 SI 中中目的操作

12、数的地址隐含在目的操作数的地址隐含在 DI 中中 指令字中少了一个地址字段,可缩短指令字长指令字中少了一个地址字段,可缩短指令字长4. 间接寻址间接寻址EA =(A) 有效地址由形式地址间接提供有效地址由形式地址间接提供OPA寻址特征寻址特征AEA主存主存EAA1EA A1主存主存 EA10 执行指令阶段执行指令阶段 2 次访存次访存 可扩大寻址范围可扩大寻址范围 便于编制程序便于编制程序OPA寻址特征寻址特征A一次间址一次间址多次间址多次间址操作数操作数操作数操作数多次访存多次访存5. 寄存器寻址寄存器寻址EA = Ri 执行阶段不访存,只访问寄存器,执行速度快执行阶段不访存,只访问寄存器,

13、执行速度快OPRi寻址特征寻址特征 寄存器个数有限,可缩短指令字长寄存器个数有限,可缩短指令字长操作数操作数R0RiRn寄存器寄存器有效地址即为寄存器编号有效地址即为寄存器编号EA = ( Ri )6. 寄存器间接寻址寄存器间接寻址 有效地址在寄存器中,有效地址在寄存器中, 操作数在存储器中,执行阶段访存操作数在存储器中,执行阶段访存操作数操作数主存主存OPRi寻址特征寻址特征 便于编制循环程序便于编制循环程序地址地址R0RiRn寄存器寄存器有效地址在寄存器中有效地址在寄存器中7. 基址寻址基址寻址(1) 采用专用寄存器作基址寄存器采用专用寄存器作基址寄存器EA = ( BR ) + ABR

14、为基址寄存器为基址寄存器OPA操作数操作数主存主存寻址特征寻址特征ALUBR 可扩大寻址范围可扩大寻址范围 BR 内容由操作系统或管理程序确定内容由操作系统或管理程序确定 在程序的执行过程中在程序的执行过程中 BR 内容不变,形式地址内容不变,形式地址 A 可变可变(2) 采用通用寄存器作基址寄存器采用通用寄存器作基址寄存器操作数操作数主存主存寻址特征寻址特征ALUOPR0AR0 作基址寄存器作基址寄存器 由用户指定哪个通用寄存器作为基址寄存器由用户指定哪个通用寄存器作为基址寄存器通用寄存器通用寄存器R0Rn-1R1 基址寄存器的内容由操作系统确定基址寄存器的内容由操作系统确定 在程序的执行过

15、程中在程序的执行过程中 R0 内容不变,形式地址内容不变,形式地址 A 可变可变8. 变址寻址变址寻址EA = ( IX ) +AOPA操作数操作数主存主存寻址特征寻址特征ALUIX 可扩大寻址范围可扩大寻址范围 便于处理数组问题便于处理数组问题 IX 的内容由用户给定的内容由用户给定 IX 为变址寄存器(专用)为变址寄存器(专用) 在程序的执行过程中在程序的执行过程中 IX 内容可变,形式地址内容可变,形式地址 A 不变不变通用寄存器也可以作为变址寄存器通用寄存器也可以作为变址寄存器例例 设数据块首地址为设数据块首地址为 D,求,求 N 个数的平均值个数的平均值直接寻址直接寻址变址寻址变址寻

16、址LDA DADD D + 1ADD D + 2ADD D + ( N -1 )DIV # NSTA ANSLDA # 0LDX # 0INXCPX # NBNE MDIV # NSTA ANS共共 N + 2 条指令条指令共共 8 条指令条指令ADD X, DMX 为变址寄存器为变址寄存器D 为形式地址为形式地址(X) 和和 #N 比较比较(X) +1 X结果不为零则转结果不为零则转9. 相对寻址相对寻址 EA = ( PC ) + AA 是相对于当前指令的位移量(可正可负,补码)是相对于当前指令的位移量(可正可负,补码) A 的位数决定操作数的寻址范围的位数决定操作数的寻址范围 程序浮动程

17、序浮动 广泛用于转移指令广泛用于转移指令操作数操作数寻址特征寻址特征ALUOPA相对距离相对距离 A1000PC主存主存1000AOP10. 堆栈寻址堆栈寻址 “堆栈堆栈(Stack)”是一个重要的数据结构,广泛应是一个重要的数据结构,广泛应用于子程序调用和中断服务等领域。堆栈的存取原则是用于子程序调用和中断服务等领域。堆栈的存取原则是后进先出后进先出(Last In First Out, LIFO)。对堆栈的操作都。对堆栈的操作都是针对栈顶单元进行的,有是针对栈顶单元进行的,有“压入压入(PUSH)”和和“弹出弹出(POP)”两条指令。两条指令。(1) 堆栈的特点堆栈的特点堆栈堆栈硬堆栈硬堆

18、栈软堆栈软堆栈多个寄存器多个寄存器指定的存储空间指定的存储空间 软件堆栈一般在内存中开辟一个堆栈区,并在软件堆栈一般在内存中开辟一个堆栈区,并在处理器中设置指示堆栈栈顶单元地址的处理器中设置指示堆栈栈顶单元地址的“堆栈指针堆栈指针寄存器寄存器(Stack Pointer, SP)”来管理这个堆栈。来管理这个堆栈。 相对于硬件堆栈,软件堆栈有三个优点:相对于硬件堆栈,软件堆栈有三个优点: 1.可以有较大的深度。可以有较大的深度。2.可以设置多个堆栈。可以设置多个堆栈。3.除了专门的堆栈指令除了专门的堆栈指令PUSH和和POP外,还可以使用外,还可以使用任何访问主存的指令来访问堆栈中的数据。任何访

19、问主存的指令来访问堆栈中的数据。先进后出(一个入出口)先进后出(一个入出口) 栈顶地址栈顶地址 由由 SP 指出指出 11FFFH +12000 H进栈进栈 (SP) 1 SP出栈出栈 (SP)+ 1 SP栈顶栈顶栈底栈底2000 HSP2000 H1FFF HSP1FFFH栈顶栈顶栈底栈底进栈进栈出栈出栈 1FFF H栈顶栈顶 2000 H栈顶栈顶(2) 堆栈寻址举例堆栈寻址举例15200HACCSPX栈顶栈顶200H栈底栈底主存主存151FFHACCSP15栈顶栈顶200H栈底栈底主存主存X1FFHPUSH A 前前PUSH A 后后POP A 前前POP A 后后Y1FFHACCSPX栈

20、顶栈顶200H栈底栈底主存主存151FFH15200HACCSP栈顶栈顶200H栈底栈底主存主存X15(3) SP 的修改与主存编址方法有关的修改与主存编址方法有关 按按 字字 编址编址进栈进栈出栈出栈(SP) 1 SP(SP)+ 1 SP 按按 字节字节 编址编址存储字长存储字长 16 位位进栈进栈出栈出栈(SP) 2 SP(SP)+ 2 SP存储字长存储字长 32 位位进栈进栈出栈出栈(SP) 4 SP(SP)+ 4 SP3.1.4 指令的基本功能指令的基本功能通用计算机系统的指令集可分为通用计算机系统的指令集可分为5类基本指令:类基本指令:(1)算术)算术/逻辑逻辑/移位指令(简称算逻指

21、令)移位指令(简称算逻指令)(2)数据传送指令(简称数传指令)数据传送指令(简称数传指令) (3)控制转移指令)控制转移指令(4)输入)输入/输出指令输出指令(5)处理器控制及调试指令)处理器控制及调试指令1. 算术算术/逻辑逻辑/移位指令(简称算逻指令)移位指令(简称算逻指令)n定点加法指令定点加法指令ADDn定点减法指令定点减法指令SUBn定点乘法指令定点乘法指令MULn定点除法指令定点除法指令DIVn加加1指令指令INCn减减1指令指令DECn比较指令比较指令CMPn浮点加法指令浮点加法指令ADDFn浮点减法指令浮点减法指令SUBFn浮点乘法指令浮点乘法指令MULFn浮点除法指令浮点除法

22、指令DIVFn“与与”运算指令运算指令ANDn“或或”运算指令运算指令ORn“非非”运算指令运算指令NOTn“ 异 或异 或 ” 运 算 指 令运 算 指 令XORn算术左移指令算术左移指令SALn算术右移指令算术右移指令SARn逻辑左移指令逻辑左移指令SHLn逻辑右移指令逻辑右移指令SHRn带进位循环左移指令带进位循环左移指令RCLn不带进位循环左移指令不带进位循环左移指令ROLn带进位循环右移指令带进位循环右移指令RCRn不带进位循环右移指令不带进位循环右移指令ROR2. 数据传送指令数据传送指令源源 目目 的的寄存寄存 器器寄存器寄存器 寄存器寄存器寄存器寄存器存储器存储器存储器存储器存

23、储器存储器存储器存储器MOVESTORELOADMOVEPUSHPOP例例 如如MOVEMOVE3. 控制转移指令控制转移指令(1) 无条件转移无条件转移 JMP(2) 条件转移条件转移结果为零转结果为零转 (Z = 1) JZ结果溢出转结果溢出转 (O = 1)JO跳过一条指令跳过一条指令 SKP(3) 调用和返回调用和返回CALL SUB1. .CALL SUB2.CALL SUB2RETURNRETURN.主程序主程序地址地址200021002101子程序子程序SUB1240025002501256025612700主存空间分配主存空间分配程序执行流程程序执行流程子程序子程序SUB2IN

24、 AX, nOUT DX, ALOUT n, AXOUT DX, AX(4) 陷阱(陷阱(Trap)与陷阱指令)与陷阱指令意外事故的中断意外事故的中断 设置供用户使用的陷阱指令设置供用户使用的陷阱指令如如 8086 INT TYPE 软中断软中断提供给用户使用的陷阱指令,完成系统调用提供给用户使用的陷阱指令,完成系统调用4. 输入输出指令输入输出指令 一般不提供给用户直接使用一般不提供给用户直接使用 在出现事故时,由在出现事故时,由 CPU 自动产生并执行(隐指令)自动产生并执行(隐指令)IN AL, DXIN AX, DX入入 端口地址端口地址 CPU 的寄存器的寄存器出出 CPU 的寄存器

25、的寄存器 端口地址端口地址如如如如IN AL, nOUT n, AL3.1.4 指令的格式举例指令的格式举例一、设计指令格式时应考虑的各种因素一、设计指令格式时应考虑的各种因素1. 指令系统的指令系统的 兼容性兼容性 (向上兼容)(向上兼容)2. 其他因素其他因素操作类型操作类型数据类型数据类型指令格式指令格式包括指令个数及操作的难易程度包括指令个数及操作的难易程度指令字长是否固定指令字长是否固定寻址方式寻址方式寄存器个数寄存器个数地址码位数、地址个数、寻址方式类型地址码位数、地址个数、寻址方式类型操作码位数、是否采用扩展操作码技术,操作码位数、是否采用扩展操作码技术,确定哪些数据类型可参与操

26、作确定哪些数据类型可参与操作指令寻址、操作数寻址指令寻址、操作数寻址寄存器的多少直接影响指令的执行时间寄存器的多少直接影响指令的执行时间二、指令格式举例二、指令格式举例1. PDP 8指令字长固定指令字长固定 12 位位操作码操作码 间间 页页 地址码地址码访存类指令访存类指令0235411寄存器类指令寄存器类指令 1 1 1 辅助操作码辅助操作码02 311I/O 类指令类指令 1 1 0 设备设备 操作码操作码02 31198只有一个通用寄存器只有一个通用寄存器 ACC2. IBM 360OPR1R2 RR格式格式8 4 4OPR1XBD RX格式格式8 4 4 4 12OPR1R3BD

27、RS格式格式8 4 4 4 12OPBDI SI格式格式8 8 4 12OPB1D1LB2D2 SS格式格式8 8 4 12 4 12二地址二地址 R R基址加变址寻址基址加变址寻址二地址二地址 R M三地址三地址 R M基址寻址基址寻址二地址二地址 M M 基址寻址基址寻址基址寻址基址寻址立即数立即数 M3. Intel 8086(1) 指令字长指令字长(2) 地址格式地址格式1 6 个字节个字节MOV WORD PTR0204, 0138H 6 字节字节INC AX 1 字节字节一地址一地址NOP 1 字节字节CALL段内调用段内调用 3 字节字节零地址零地址 5 字节字节段间调用段间调用

28、寄存器寄存器 寄存器寄存器寄存器寄存器 立即数立即数寄存器寄存器 存储器存储器ADD AX,BX 2 字节字节ADD AX,3048H 4 字节字节ADD AX,3048H 3 字节字节二地址二地址CALL三三. 扩展操作码技术扩展操作码技术 操作码的长度随地址数的减少而增加;操作码的长度随地址数的减少而增加; 不同地址数的指令有不同长度的操作码;不同地址数的指令有不同长度的操作码; 有效缩短指令字长,有效缩短指令字长, 一种很重要的指令优化技术。一种很重要的指令优化技术。 扩展操作码的设计原则:扩展操作码的设计原则:(1)使用频度使用频度较高较高的指令占用的指令占用较短较短的操作码的操作码(

29、2)使用频度使用频度较低较低的指令占用的指令占用较长较长的操作码的操作码 有利于有利于CPU缩短对指令的译码时间,提高指令执行速度。缩短对指令的译码时间,提高指令执行速度。例例3.1:某指令系统字长为:某指令系统字长为16位,每个地址的长度为位,每个地址的长度为4位,试采位,试采用用“扩展操作码技术扩展操作码技术”设计设计61条指令,其中三地址指令条指令,其中三地址指令15条,条,二地址指令二地址指令15条,一地址指令条,一地址指令15条,零地址指令条,零地址指令16条。条。OP A1 A2 A3000000011110A1A1A1A2A2A2A3A3A3A2A2A2A3A3A31111111

30、11111000000011110111111111111111111111111111111111111000000011111111111111111111111111111A3A3A30000000111104 位操作码位操作码8 位操作码位操作码12 位操作码位操作码16 位操作码位操作码15条三地址指令条三地址指令15条二地址指令条二地址指令15条一地址指令条一地址指令16条零地址指令条零地址指令例例3.2 设指令字长为设指令字长为16位,操作数的地址码为位,操作数的地址码为6位,指令有零地址、一地址、位,指令有零地址、一地址、二地址三种格式。二地址三种格式。(1)设操作码固定,若零

31、地址指令有)设操作码固定,若零地址指令有P种,一地址指令有种,一地址指令有Q种,则二地址指种,则二地址指令最多有几种?令最多有几种?(2)采用扩展操作码技术,若二地址指令有)采用扩展操作码技术,若二地址指令有X种,零地址指令有种,零地址指令有Y种,则一种,则一地址指令最多有多少种?地址指令最多有多少种? 解:解:(1)因为操作码固定,所以操作码的位数为:)因为操作码固定,所以操作码的位数为:16-6-6=4。则。则4位操作码最位操作码最多可以有多可以有24=16种操作,所以二地址指令最多为:种操作,所以二地址指令最多为:16-P-Q种。种。(2)若采用扩展操作码,根据要求可知二地址、一地址和零

32、地址的操作)若采用扩展操作码,根据要求可知二地址、一地址和零地址的操作码长度分别为码长度分别为4、10和和16位。且二地址指令操作码每减少一种,就最多可位。且二地址指令操作码每减少一种,就最多可构成构成26种一地址指令操作码;一地址指令操作码每减少一种,就最多可构种一地址指令操作码;一地址指令操作码每减少一种,就最多可构成成26种零地址指令操作码。种零地址指令操作码。 由题知二地址指令有由题知二地址指令有X种,则一地址指令最多有(种,则一地址指令最多有(24-X)26种。设一地种。设一地址指令有址指令有M种,则零地址指令最多有种,则零地址指令最多有(24-X)26-M 26种。种。 由题意知零

33、地址指令有由题意知零地址指令有Y种,所以种,所以Y= (24-X)26-M 26 则一地址指令则一地址指令 M=(24-X)26-Y/26例3.3某机主存容量为某机主存容量为4M 16位,且存储字长等于指令字长,位,且存储字长等于指令字长,若该机指令系统可完成若该机指令系统可完成108种操作,操作码位数固定,且具有直种操作,操作码位数固定,且具有直接、间接、变址、基址、相对、立即等六种寻址方式,试回答:接、间接、变址、基址、相对、立即等六种寻址方式,试回答:(1)画出一地址指令格式并指出各字段的作用;)画出一地址指令格式并指出各字段的作用;(2)该指令直接寻址的最大范围)该指令直接寻址的最大范

34、围(3)一次间址和多次间址的寻址范围)一次间址和多次间址的寻址范围(4)立即数的范围(十进制表示)立即数的范围(十进制表示)(5)相对寻址的位移量(十进制表示)相对寻址的位移量(十进制表示)(6)上述六种寻址方式的指令哪一种执行时间最短?哪一种最长?)上述六种寻址方式的指令哪一种执行时间最短?哪一种最长? 为什么?哪一种便于程序浮动?哪一种最适合处理数组问题?为什么?哪一种便于程序浮动?哪一种最适合处理数组问题?(7)如何修改指令格式,使指令的直接寻址范围可扩大到)如何修改指令格式,使指令的直接寻址范围可扩大到4M?解:由题意可知:解:由题意可知: 1) 指令字长指令字长=存储字长存储字长=1

35、6位位 2)要完成)要完成108种操作,且操作码固定则操作码位数至少为种操作,且操作码固定则操作码位数至少为7位位 3)6种寻址方式则寻址特征位至少要种寻址方式则寻址特征位至少要3位。位。(1)一地址指令格式)一地址指令格式寻址特征寻址特征OPA17位位6位位3位位(2)该指令直接寻址的最大范围:)该指令直接寻址的最大范围:26OPAAEAEA一次间址:一次间址:216操作数操作数(3)一次间址与多次间址的寻址范围:)一次间址与多次间址的寻址范围:A1EA A1 EA10A多次间址多次间址215操作数操作数(4)立即数的范围)立即数的范围寻址特征寻址特征OP立即数立即数7位位6位位3位位0 6

36、3与采用的机器码有关系与采用的机器码有关系则立即数的范围是则立即数的范围是(有符号数)(有符号数) (无符号数)(无符号数)(5)相对寻址的位移量)相对寻址的位移量寻址特征寻址特征OPA7位位6位位3位位则相对寻址的位移量是:则相对寻址的位移量是:26(或写成(或写成32+31) 执行时间最短执行时间最短 执行时间最长执行时间最长 便于程序浮动便于程序浮动 便于处理数组问题便于处理数组问题变址寻址变址寻址相对寻址相对寻址(6)立即数寻址立即数寻址间接寻址间接寻址寻址特征寻址特征OPA17位位6位位3位位A2指令的地址字段长为指令的地址字段长为 166 22位,则指令的直接寻址位,则指令的直接寻

37、址范围扩大到范围扩大到222 4M.(7)将指令的格式改为双字指令,格式如下:将指令的格式改为双字指令,格式如下:例例3.4. 某机指令字长某机指令字长16位,存储器直接寻址空间为位,存储器直接寻址空间为128字,字,变址时的位移量为变址时的位移量为64+63,16个通用寄存器均可作为变址个通用寄存器均可作为变址寄存器。采用扩展操作码技术,设计一套指令系统格式,满寄存器。采用扩展操作码技术,设计一套指令系统格式,满足下列寻址类型的要求:足下列寻址类型的要求: (1)直接寻址的二地址指令)直接寻址的二地址指令3条;条; (2)变址寻址的一地址指令)变址寻址的一地址指令6条;条; (3)寄存器寻址

38、的二地址指令)寄存器寻址的二地址指令8条;条; (4)直接寻址的一地址指令)直接寻址的一地址指令12条;条; (5)零地址指令)零地址指令32条。条。 试问还有多少种代码未用?若安排寄存器寻址的一地址指试问还有多少种代码未用?若安排寄存器寻址的一地址指令,还能容纳多少条?令,还能容纳多少条?解:设指令字长等于机器字长,指令格式为:解:设指令字长等于机器字长,指令格式为:OP A1 A22 7 7(1)直接寻址的二地址指令)直接寻址的二地址指令3条条(2)变址寻址的一地址指令)变址寻址的一地址指令6条条OP IX A5 4 700 . 01 . 10 . 11 000 11 101 .(3)寄存

39、器寻址的二地址指令)寄存器寻址的二地址指令8条条OP Ri Rj8 4 4(4)直接寻址的一地址指令)直接寻址的一地址指令12条条OP A9 711110 000 .11110 111 .11111 0000 .11111 1011 .(5)零地址指令)零地址指令32条条OP11111 1100 0000000.11111 1100 0011111还有还有480种代码未用,若安排寄存器寻址的一种代码未用,若安排寄存器寻址的一地址指令,还能容纳地址指令,还能容纳30条这类指令。条这类指令。例例3.5.设相对寻址的转移指令占设相对寻址的转移指令占3个字节,第一个字个字节,第一个字节为操作码,第二、

40、三个字节为相对位移量(补码)。节为操作码,第二、三个字节为相对位移量(补码)。每当每当CPU从存储器取一个字节时,自动完成从存储器取一个字节时,自动完成(PC)+1PC。若若PC当前值当前值240(十进制)要求转移到(十进制)要求转移到290(十进(十进制),则转移指令的二、三字节的机器代码?制),则转移指令的二、三字节的机器代码?若若PC当前值当前值240(十进制)要求转移到(十进制)要求转移到200(十进(十进制),则转移指令的二、三字节的机器代码?制),则转移指令的二、三字节的机器代码?解:解:PC当前值当前值240,取出该指令后,取出该指令后PC值为值为243,相对位移量为相对位移量为

41、290-243=47。47的补码为的补码为2FH。故转。故转移指令第二字节为移指令第二字节为2FH,第三个字节为,第三个字节为00H。PC当前值当前值240,取出该指令后,取出该指令后PC值为值为243,相对,相对位移量为位移量为200-243=43。43的补码为的补码为D5H。故转。故转移指令第二字节为移指令第二字节为D5H,第三个字节为,第三个字节为FFH。例例3.6.一条双字长直接寻址的子程序调用一条双字长直接寻址的子程序调用CALL指令,指令,其第一个字为操作码和寻址特征,第二个字为地址码其第一个字为操作码和寻址特征,第二个字为地址码5000H。假设。假设PC当前值为当前值为1000H

42、,SP的内容为的内容为0100H,栈顶内容为栈顶内容为 1234H,存储器按字编址,而且进栈操,存储器按字编址,而且进栈操作是先(作是先(SP)SP,后存入数据。试回答下列,后存入数据。试回答下列几种情况下,几种情况下,PC、SP及栈顶内容各为多少。及栈顶内容各为多少。CALL指令被读取前;指令被读取前;CALL指令被执行后;指令被执行后;子程序返回后。子程序返回后。解:解:PC=1000H,SP=0100H,栈顶内容栈顶内容1234H。PC=5000H,SP=0FFH,栈顶内容栈顶内容1002H。PC=1002H,SP=0100H,栈顶内容栈顶内容1234H。例例3.7. CPU内有内有32

43、个个32位的通用寄存器,设计一种能容纳位的通用寄存器,设计一种能容纳64种操作的指令系统。假设指令字长等于机器字长,试回答以下种操作的指令系统。假设指令字长等于机器字长,试回答以下问题。问题。 如果主存可直接或间接寻址,采用如果主存可直接或间接寻址,采用“寄存器寄存器存储器存储器”型型指令,能直接寻址的最大存储空间是多少?画出指令格式并说指令,能直接寻址的最大存储空间是多少?画出指令格式并说明各字段的含义。明各字段的含义。 在满足在满足的前提下,如果采用通用寄存器作基址寄存器的前提下,如果采用通用寄存器作基址寄存器,则上述则上述“寄存器寄存器存储器存储器”型指令的指令格式有何特点?画出型指令的

44、指令格式有何特点?画出指令格式并指出这类指令可访问多大的存储空间?指令格式并指出这类指令可访问多大的存储空间?解:解:采用采用RS型指令,指令格式如下:型指令,指令格式如下:间接间接指令格式变为:指令格式变为:OPRiIXBRiA6511514其中,其中,X为基址寻址特征位,为基址寻址特征位,BRi处理器的组成与工作过程处理器的组成与工作过程一、概述一、概述 从外观上看,处理器是矩形或正方形的块状物,通过密密麻从外观上看,处理器是矩形或正方形的块状物,通过密密麻麻的管脚与主板相连。麻的管脚与主板相连。 实现处理器内部各个单元之间信号传输的线路称为实现处理器内部各个单元之间信号传输的线路称为片内

45、总线片内总线,它又分为片内控制总线和片内数据总线。它又分为片内控制总线和片内数据总线。 用于实现处理器与主存储器和输入用于实现处理器与主存储器和输入/输出设备之间信号传输输出设备之间信号传输的线路称为的线路称为片外总线片外总线,简称总线。,简称总线。 电源电源VCC和地和地GND数据总线引脚(数据总线引脚(DB)地址总线引脚(地址总线引脚(AB)控制总线引脚(控制总线引脚(CB)处理器的引脚处理器的引脚3.2.1处理器的基本功能与逻辑构成处理器的基本功能与逻辑构成二、处理器的基本功能二、处理器的基本功能 处理器的工作就是周而复始地执行指令,它的处理器的工作就是周而复始地执行指令,它的基本功能包

46、括:基本功能包括:(2)分析指令)分析指令 根据根据PC给出的主存地址访问主存储器,取给出的主存地址访问主存储器,取出指令送入处理器内部的出指令送入处理器内部的 IR,然后,然后PC加加1。(1)取指令)取指令(4)处理数据)处理数据(5)写回结果)写回结果(3)取数据)取数据 将将IR中的操作码送中的操作码送ID进行译码;进行译码; 分析参与这次操作的操作数地址分析参与这次操作的操作数地址 根据源操作数的地址访问主存,取出根据源操作数的地址访问主存,取出 操作数,送入操作数,送入CPU。将源操作数送入运算器根据指令译码结果将源操作数送入运算器根据指令译码结果启动运算器的相应操作对数据进行处理

47、。启动运算器的相应操作对数据进行处理。三三、处理器的逻辑构成处理器的逻辑构成控制单元控制单元CU算术逻辑单元算术逻辑单元ALU寄存器组寄存器组CU是是PU的指挥机构的指挥机构程序计数器程序计数器PC、存放当前指令的指令寄存器存放当前指令的指令寄存器IR、 解释指令的指令译码器解释指令的指令译码器ID、 发出各种命令信号的发出各种命令信号的控制信号发生器控制信号发生器 CSG及相应的控制逻辑组成。及相应的控制逻辑组成。计算机的运算装置计算机的运算装置一个基本的一个基本的ALU由由 加法器、逻辑运算器、移位加法器、逻辑运算器、移位器器(Shifter)和求补器和求补器(Complementer)

48、组成。组成。寄存器分为数据寄存器、地址寄存器和标志寄存器等寄存器分为数据寄存器、地址寄存器和标志寄存器等中断单元中断单元CPU内部结构框图内部结构框图一、一、 指令周期的基本概念指令周期的基本概念1 . 指令周期指令周期取出并执行一条指令所需的全部时间取出并执行一条指令所需的全部时间完成一条指令完成一条指令执行执行取指、分析取指、分析取指阶段取指阶段取指周期取指周期执行阶段执行阶段执行周期执行周期(取指、分析)(取指、分析)(执行指令)(执行指令)指令周期指令周期取指周期取指周期执行周期执行周期3.2.2 计算机的工作过程计算机的工作过程2. 每条指令的指令周期不同每条指令的指令周期不同取指周

49、期取指周期指令周期指令周期取指周期取指周期 执行阶段执行阶段指令周期指令周期取指周期取指周期执行周期执行周期指令周期指令周期NOPADD mem MUL mem3. 具有间接寻址的指令周期具有间接寻址的指令周期4. 带有中断周期的指令周期带有中断周期的指令周期取指周期取指周期间址周期间址周期指令周期指令周期执行周期执行周期取指周期取指周期间址周期间址周期指令周期指令周期执行周期执行周期中断周期中断周期5. 指令周期流程指令周期流程取指周期取指周期执行周期执行周期有间址吗?有间址吗?有中断吗?有中断吗?间址周期间址周期中断周期中断周期是是是是否否否否1. 取指周期数据流取指周期数据流二、二、 指

50、令周期的数据流指令周期的数据流MDRCUMARPCIR存储器存储器CPU地址总线地址总线数据总线数据总线控制总线控制总线IR+1 2. 间址周期数据流间址周期数据流MDRCUMARCPU地址总线地址总线数据总线数据总线控制总线控制总线PCIR存储器存储器MDR3. 执行周期数据流执行周期数据流4 . 中断周期数据流中断周期数据流不同指令的执行周期数据流不同不同指令的执行周期数据流不同MDRCUMARCPU地址总线地址总线数据总线数据总线控制总线控制总线PC存储器存储器3.2.3 指令处理的流水线技术指令处理的流水线技术 一、系统的并行性一、系统的并行性时间上互相重叠时间上互相重叠2. 并行性的

51、等级并行性的等级指令级(指令之间)指令级(指令之间)过程级(程序、进程)过程级(程序、进程)两个或两个以上事件在两个或两个以上事件在 同一时刻同一时刻 发生发生两个或两个以上事件在两个或两个以上事件在 同一时间段同一时间段 发生发生并行并行1. 并行的概念并行的概念粗粒度粗粒度软件实现软件实现细粒度细粒度硬件实现硬件实现并发并发同时同时取指令取指令 3执行指令执行指令 3二、指令流水原理二、指令流水原理2. 指令的二级流水指令的二级流水1. 指令的串行执行指令的串行执行取指令取指令 取指令部件取指令部件 完成完成总有一个部件总有一个部件 空闲空闲指令预取指令预取若若 取指取指 和和 执行执行

52、阶段时间上阶段时间上 完全重叠完全重叠指令周期指令周期 减半减半 速度提高速度提高 1 倍倍执行指令执行指令 执行指令部件执行指令部件 完成完成取指令取指令 1执行执行指令指令 1取取指令指令 2执行执行指令指令 2取取指令指令 3执行指令执行指令 3取指令取指令 2执行指令执行指令 2取指令取指令 1执行指令执行指令 1 必须等必须等 上条上条 指令执行结束,才能确定指令执行结束,才能确定 下条下条 指令的地址指令的地址 造成时间损失造成时间损失3. 影响指令流水效率加倍的因素影响指令流水效率加倍的因素(1) 执行时间执行时间 取指时间取指时间 (2) 条件转移指令条件转移指令 对指令流水的

53、影响对指令流水的影响 取指令取指令部件部件指令部件指令部件缓冲区缓冲区执行指令执行指令部件部件猜测法猜测法4. 指令的六级流水指令的六级流水六级流水六级流水14 个时间单位个时间单位串行执行串行执行6 9 54 时间单位时间单位完成完成 一条指令一条指令6 个时间单位个时间单位COFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFI指令指令 1指令指令 2指令指令 3指令指令 4指令指令 5指令指令 6指令指令 7指令指令 8指令指令

54、9 1 2 3 4 5 6 7 8 9 10 11 12 13 14t三、影响指令流水线性能的因素三、影响指令流水线性能的因素程序的相近指令之间出现某种关联程序的相近指令之间出现某种关联使指令流水出现停顿,影响流水线效率使指令流水出现停顿,影响流水线效率指令指令 1 与指令与指令 4 冲突冲突指令指令 2 与指令与指令 5 冲突冲突指令指令1、指令、指令3、指令、指令 6 冲突冲突COFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFI

55、指令指令 1指令指令 2指令指令 3指令指令 4指令指令 5指令指令 6指令指令 7指令指令 8指令指令 9 1 2 3 4 5 6 7 8 9 10 11 12 13 14t三、影响指令流水线性能的因素三、影响指令流水线性能的因素1. 结构相关结构相关不同指令争用同一功能部件产生资源冲突不同指令争用同一功能部件产生资源冲突解决办法解决办法 停顿停顿 指令存储器和数据存储器分开指令存储器和数据存储器分开 指令预取技术指令预取技术 (适用于访存周期短的情况)(适用于访存周期短的情况)(2) 数据相关数据相关ADD R1,R2如:如:SUB R1,R3采用采用 旁路技术旁路技术解决办法解决办法寄存

56、器组寄存器组锁存器锁存器锁存器锁存器ALU(2) 数据相关数据相关不同指令因重叠操作,可能改变操作数的不同指令因重叠操作,可能改变操作数的 读读/写写 访问顺序访问顺序 采用采用 旁路技术旁路技术解决办法解决办法 写后读相关(写后读相关(RAW)SUB R1,R2,R3ADD R4,R5,R1;(;(R2) (R3) R1;(;(R5)+(R1) R4 读后写相关(读后写相关(WAR)STA M,R2ADD R2,R4,R5;(;(R2) M 存储单元存储单元;(;(R4)+(R5) R2 写后写相关(写后写相关(WAW) 后推法后推法MUL R3,R2,R1SUB R3,R4,R5;(;(R

57、2) (R1) R3;(;(R4) (R5) R3(3) 控制相关控制相关BNE 指令必须等指令必须等CPX 指令的结果指令的结果才能判断出才能判断出是转移是转移还是顺序执行还是顺序执行LDA # 0LDX # 0INXCPX # NBNE MDIV # NSTA ANSADD X, DM由转移指令引起由转移指令引起(3) 控制相关控制相关WOEIFOCODIWOEIFODIFIFIDIFICOFIFOCODIFIWOEIFOCODIFIDIFOEIWOEIFOCOFIDICOWODIFICOFI指令指令 1指令指令 2指令指令 3指令指令 4指令指令 5指令指令 6指令指令 7指令指令15指

58、令指令16 1 2 3 4 5 6 7 8 9 10 11 12 13 14转移损失转移损失t设设 指令指令3 是转移指令是转移指令 转移预测法转移预测法解决办法解决办法 延迟转移延迟转移四、流水线性能四、流水线性能 1. 吞吐率吞吐率 单位时间内单位时间内 流水线所完成指令流水线所完成指令 或或 输出结果输出结果 的的 数量数量 最大吞吐率最大吞吐率 实际吞吐率实际吞吐率 连续处理连续处理 n 条指令的吞吐率为条指令的吞吐率为设设 m 段的流水线各段时间为段的流水线各段时间为t tTpmax =1t tTp =m + (n-1) nt tt t2. 加速比加速比 Sp m 段的段的 流水线的

59、速度流水线的速度 与等功能的与等功能的 非流水线的速度非流水线的速度 之比之比 设流水线各段时间为设流水线各段时间为 t 完成完成 n 条指令在条指令在 m 段流水线上共需段流水线上共需 T = m + (n-1) t t 完成完成 n 条指令在等效的非流水线上共需条指令在等效的非流水线上共需 T = nmt Sp = m +(n-1) nm =nmm + n -1 t t t 则则由于流水线有由于流水线有 建立时间建立时间 和和 排空时间排空时间因此各功能段的因此各功能段的 设备不可能设备不可能 一直一直 处于处于 工作工作 状态状态 流水线中各功能段的流水线中各功能段的 利用率利用率3.

60、效率效率 mt31245312453124531245 n-1 nn-1 nn-1 nn-1 nT时间时间S空间空间空间空间S4S3S2S1(n-1) tm(m + n -1) t = mnt 流水线各段处于工作时间的时空区流水线各段处于工作时间的时空区流水线中各段总的时空区流水线中各段总的时空区 效率效率 = 3. 效率效率 mt31245312453124531245 n-1 nn-1 nn-1 nn-1 nT时间时间S空间空间空间空间S4S3S2S1(n-1) t流水线中各功能段的流水线中各功能段的 利用率利用率五、流水线的多发技术五、流水线的多发技术 1. 超标量技术超标量技术 每个时

温馨提示

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

评论

0/150

提交评论