第20讲——第7章 指令系统(73-75)_第1页
第20讲——第7章 指令系统(73-75)_第2页
第20讲——第7章 指令系统(73-75)_第3页
第20讲——第7章 指令系统(73-75)_第4页
第20讲——第7章 指令系统(73-75)_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

1、主讲人:李淑芝主讲人:李淑芝 7.1 机器指令机器指令 7.2 操作数类型和操作类型操作数类型和操作类型 7.3 寻址方式寻址方式 7.4 指令格式举例指令格式举例 7.5 RISC 技术技术 本课本课 学习学习 让学生熟悉并掌握数据寻让学生熟悉并掌握数据寻 址方式,了解一般指令格式的设计方址方式,了解一般指令格式的设计方 法;对法;对RISC有个初步的认识,掌握有个初步的认识,掌握 RISC的主要特征和优点的主要特征和优点。 各种数据寻址方式中数据有效各种数据寻址方式中数据有效 地址地址EA的计算、设计指令格式应考虑的计算、设计指令格式应考虑 的各种因素;的各种因素;RISC的主要特征和与的

2、主要特征和与 CISC比较的优点比较的优点。 “混合型混合型”数据寻址方式中数数据寻址方式中数 据有效地址据有效地址EA的计算问题。的计算问题。 l数据存放在存储器中,系统怎么样将数据存放在存储器中,系统怎么样将 存储器中的数据取到运算器中进行定存储器中的数据取到运算器中进行定 点或浮点运算?运算结果又怎样保存点或浮点运算?运算结果又怎样保存 呢?呢? l构成程序的指令本质上是怎样的软件构成程序的指令本质上是怎样的软件 成份?它们如何与硬件配合?成份?它们如何与硬件配合? 寻址方式寻址方式 确定确定 本条指令本条指令 的的 操作数地址及操作数地址及 下一条下一条 欲执行欲执行 指令指令 的的

3、指令地址指令地址 指令寻址指令寻址 数据寻址数据寻址 寻址方式寻址方式 7.3.1 指令寻址指令寻址 顺序顺序( PC ) + 1 PC 跳跃跳跃由转移指令指出由转移指令指出 LDA 1000 ADD 1001 DEC 1200 JMP 7 LDA 2000 SUB 2001 INC STA 2500 LDA 1100 . 0 1 2 3 4 5 6 7 8 9 PC +1 指令地址寻址方式指令地址寻址方式指令地址指令地址指令指令 顺序寻址顺序寻址1 顺序寻址顺序寻址2 顺序寻址顺序寻址3 跳跃寻址跳跃寻址7 顺序寻址顺序寻址8 7.3.2 数据寻址数据寻址 形式地址形式地址 指令字中的地址指

4、令字中的地址 有效地址有效地址 操作数的真实地址操作数的真实地址 约定约定 指令字长指令字长 = 存储字长存储字长 = 机器字长机器字长 (1)立即寻址)立即寻址 l 指令执行阶段不访存指令执行阶段不访存 l A 的位数限制了立即数的范围的位数限制了立即数的范围 形式地址形式地址 A操作码操作码寻址特征寻址特征 OP # A 立即寻址特征立即寻址特征 立即数立即数 可正可负可正可负 补码补码 形式地址形式地址 A 就是操作数就是操作数 (2)直接寻址)直接寻址 EA = A 操作数操作数 主存主存 寻址特征寻址特征 LDAA AACC l 执行阶段访问一次存储器执行阶段访问一次存储器 l A

5、的位数决定了该指令操作数的寻址范围的位数决定了该指令操作数的寻址范围 l 操作数的地址不易修改(必须修改操作数的地址不易修改(必须修改A) 有效地址由形式地址直接给出有效地址由形式地址直接给出 7.3.2 数据寻址数据寻址 (3)隐含寻址)隐含寻址 操作数地址隐含在操作码中操作数地址隐含在操作码中 ADDA 操作数操作数 主存主存 寻址特征寻址特征 A ACC 暂存暂存 ALU 另一个操作数另一个操作数 隐含在隐含在 ACC 中中 如如 8086 MUL 指令指令 被乘数隐含在被乘数隐含在 AX(16位)或位)或 AL(8位)中位)中 MOVS 指令指令 源操作数的地址隐含在源操作数的地址隐含

6、在 SI 中中 目的操作数的地址隐含在目的操作数的地址隐含在 DI 中中 l 指令字中少了一个地址字段,可缩短指令字长指令字中少了一个地址字段,可缩短指令字长 (4)间接寻址)间接寻址 EA =(A)有效地址由形式地址间接提供有效地址由形式地址间接提供 OPA 寻址特征寻址特征 AEA 主存主存 EA A1 EA A1 主存主存 EA 1 0 l 执行指令阶段执行指令阶段 2 次访存次访存 l 可扩大寻址范围可扩大寻址范围 l 便于编制程序便于编制程序 OPA 寻址特征寻址特征 A 一次间址一次间址多次间址多次间址 操作数操作数 操作数操作数 多次访存多次访存 子程序子程序主程序主程序 80

7、81 201 202 转转 子程序子程序 转转 子程序子程序 间接寻址编程举例间接寻址编程举例 (A) = 81 (A) = 202 间址特征间址特征 JMP A (5)寄存器寻址)寄存器寻址 EA = Ri l 执行阶段不访存,只访执行阶段不访存,只访 问寄存器,执行速度快问寄存器,执行速度快 OPRi 寻址特征寻址特征 l 寄存器个数有限,可缩寄存器个数有限,可缩 短指令字长短指令字长 操作数操作数 R0 Ri Rn 寄存器寄存器 有效地址即为寄存器编号有效地址即为寄存器编号 EA = ( Ri ) (6)寄存器间接寻址)寄存器间接寻址 l 有效地址在寄存器中,有效地址在寄存器中, 操作数

8、在存储器中,执行阶段访存操作数在存储器中,执行阶段访存 操作数操作数 主存主存 OPRi 寻址特征寻址特征 l 便于编制循环程序便于编制循环程序 地址地址 R0 Ri Rn 寄存器寄存器 有效地址在寄存器中有效地址在寄存器中 问题问题2:间接寻:间接寻 址和寄存器间址和寄存器间 接寻址有什么接寻址有什么 异同?异同? (7)基址寻址)基址寻址 u采用专用寄存器作基址寄存器采用专用寄存器作基址寄存器 EA = ( BR ) + ABR 为基址寄存器为基址寄存器 OPA 操作数操作数 主存主存 寻址特征寻址特征 ALUBR l 可扩大寻址范围可扩大寻址范围 l 便于程序搬家便于程序搬家 l BR

9、内容由操作系统或管理程序确定内容由操作系统或管理程序确定 l 在程序的执行过程中在程序的执行过程中 BR 内容不变,形式地址内容不变,形式地址 A 可变可变 u采用通用寄存器作基址寄存器采用通用寄存器作基址寄存器 操作数操作数 主存主存 寻址特征寻址特征 ALU OPR0AR0 作基址寄存器作基址寄存器 l 由用户指定哪个通用寄存器作为基址寄存器由用户指定哪个通用寄存器作为基址寄存器 通用寄存器通用寄存器 R0 Rn-1 R1 l 基址寄存器的内容由操作系统确定基址寄存器的内容由操作系统确定 l 在程序的执行过程中在程序的执行过程中 R0 内容不变,形式地址内容不变,形式地址 A 可变可变 (

10、7)基址寻址)基址寻址 (8)变址寻址)变址寻址 EA = ( IX ) +A OPA 操作数操作数 主存主存 寻址特征寻址特征 ALUIX l 可扩大寻址范围可扩大寻址范围 l 便于处理数组问题便于处理数组问题 l IX 的内容由用户给定的内容由用户给定 IX 为变址寄存器(专用)为变址寄存器(专用) l 在程序的执行过程中在程序的执行过程中 IX 内容可变,形式地址内容可变,形式地址 A 不变不变 通用寄存器也可以作为变址寄存器通用寄存器也可以作为变址寄存器 问题问题3:基址寻:基址寻 址和变址寻址有址和变址寻址有 什么本质区别?什么本质区别? 例例 设数据块首地址为设数据块首地址为 D,

11、求求 N 个数的平均值个数的平均值 直接寻址直接寻址变址寻址变址寻址 LDA D ADD D + 1 ADD D + 2 ADD D + ( N -1 ) DIV # N STA ANS LDA # 0 LDX # 0 INX CPX # N BNE M DIV # N STA ANS 共共 N + 2 条指令条指令共共 8 条指令条指令 ADD X, DM X 为变址寄存器为变址寄存器 D 为形式地址为形式地址 (X) 和和 #N 比较比较 (X) +1 X 结果不为零则转结果不为零则转 (9)相对寻址)相对寻址 EA = ( PC ) + A A 是相对于当前指令的位移量(可正可负,补码)

12、是相对于当前指令的位移量(可正可负,补码) l A 的位数决定操作数的寻址范围的位数决定操作数的寻址范围 l 程序浮动程序浮动 l 广泛用于转移指令广泛用于转移指令 操作数操作数 寻址特征寻址特征 ALU OPA 相对距离相对距离 A 1000PC 主存主存 1000AOP u 相对寻址举例相对寻址举例 M 随程序所在存储空间的位置不同而不同随程序所在存储空间的位置不同而不同 EA = ( M+3 ) 3 = M 3 * LDA # 0 LDX # 0 ADD X, D INX CPX # N BNE M DIV # N STA ANS M M+1 M+2 M+3 而指令而指令 BNE 与与

13、指令指令 ADD X, D 相对位移量不变相对位移量不变 3 * 指令指令 BNE操作数的有效地址为操作数的有效地址为 3 * 相对寻址特征相对寻址特征 * OP 位移量位移量 2000 H 2008 H 8 JMP * + 8 OP 06 H 2000 H 2008 H 8 设设 当前指令地址当前指令地址 PC = 2000H 转移后的目的地址为转移后的目的地址为 2008H 因为因为 取出取出 JMP * + 8 后后 PC = 2002H 二字节指令二字节指令 故故 JMP * + 8 指令指令 的第二字节为的第二字节为 2008H - 2002H = 6H u按字节寻址的相对寻址举例按

14、字节寻址的相对寻址举例 解解:(1)PC当前值为当前值为240,该指令取出后,该指令取出后PC值为值为243,要求转,要求转 移到移到290,即相对位移量为,即相对位移量为290-243=47,转换成补码为,转换成补码为2FH。 由于数据在存储器中采用以低字节地址为字地址的存放方由于数据在存储器中采用以低字节地址为字地址的存放方 式,故该转移指令的第二字节为式,故该转移指令的第二字节为2FH,第三字节为,第三字节为00H。 (2)PC当前值为当前值为240,该指令取出后,该指令取出后PC值为值为243,要求转移,要求转移 到到200,即相对位移量为,即相对位移量为200-243=-43,转换成

15、补码为,转换成补码为D5H。 由于数据在存储器中采用以低字节地址为字地址的存放方由于数据在存储器中采用以低字节地址为字地址的存放方 式,故该转移指令的第二字节为式,故该转移指令的第二字节为D5H,第三字节为,第三字节为FFH。 某机器字长某机器字长16位,主存按字节编址,转移指位,主存按字节编址,转移指 令采用相对寻址,由两个字节组成,第一字令采用相对寻址,由两个字节组成,第一字 节为操作码字段,第二字节为相对位移量字节为操作码字段,第二字节为相对位移量字 段。假定取指令时,每取一个字节段。假定取指令时,每取一个字节PC自动加自动加 1。若某转移指令所在主存地址为。若某转移指令所在主存地址为2

16、000H,相,相 对位移量字段的内容为对位移量字段的内容为06H,则该转移指令,则该转移指令 成功转以后的目标地址是成功转以后的目标地址是: A.2006H B.2007H C.2008H D.2009H l答案:答案:C (10)堆栈寻址)堆栈寻址 u堆栈的特点堆栈的特点 堆栈堆栈 硬堆栈硬堆栈 软堆栈软堆栈 多个寄存器多个寄存器 指定的存储空间指定的存储空间 先进后出先进后出(一个入出口)(一个入出口) 栈顶地址栈顶地址 由由 SP 指出指出 1 1FFFH +1 2000 H 进栈进栈 (SP) 1 SP出栈出栈 (SP)+ 1 SP 栈顶栈顶 栈底栈底 2000 H SP 2000 H

17、 1FFF H SP 1FFFH 栈顶栈顶 栈底栈底 进栈进栈出栈出栈 1FFF H 栈顶栈顶 2000 H 栈顶栈顶 也称串联堆栈也称串联堆栈 也称存储器堆栈也称存储器堆栈 问题问题4:存储器:存储器 堆栈与硬堆栈比堆栈与硬堆栈比 有什么优缺点?有什么优缺点? u堆栈寻址举例堆栈寻址举例 15 200H ACC SP X 栈顶栈顶 200H 栈底栈底 主存主存 15 1FFH ACC SP 15 栈顶栈顶 200H 栈底栈底 主存主存 X 1FFH PUSH A 前前PUSH A 后后 POP A 前前POP A 后后 Y 1FFH ACC SP X 栈顶栈顶 200H 栈底栈底 主存主存

18、151FFH 15 200H ACC SP栈顶栈顶 200H 栈底栈底 主存主存 X 15 uSP 的修改与主存编址方法有关的修改与主存编址方法有关 按按 字字 编址编址 进栈进栈 出栈出栈 (SP) 1 SP (SP)+ 1 SP 按按 字节字节 编址编址 存储字长存储字长 16 位位进栈进栈 出栈出栈 (SP) 2 SP (SP)+ 2 SP 存储字长存储字长 32 位位进栈进栈 出栈出栈 (SP) 4 SP (SP)+ 4 SP 解解:(1)CALL指令被读取前,指令被读取前,PC=2000H,SP=0100H,栈顶,栈顶 内容为内容为2746H。 (2) CALLCALL指令被执行后,

19、由于存储器按字节编址,指令被执行后,由于存储器按字节编址,CALLCALL 指令共占指令共占4 4个字节,故程序断点个字节,故程序断点2004H2004H进栈,此时进栈,此时SP=(SP)-SP=(SP)- 2=00FEH2=00FEH,栈顶内容为,栈顶内容为2004H2004H,PCPC被更新为子程序入口地址被更新为子程序入口地址 5000H5000H。 (3 3)子程序返回后,程序断点出栈,)子程序返回后,程序断点出栈,PC=2004HPC=2004H,SPSP被修改被修改 为为0100H0100H,栈顶内容为,栈顶内容为2746H2746H。 7.4.1 设计指令格式时应考虑的各种因素设

20、计指令格式时应考虑的各种因素 (1)指令系统的)指令系统的兼容性兼容性(向上兼容)(向上兼容) (2)其他因素)其他因素 操作类型操作类型 数据类型数据类型 指令格式指令格式 包括指令个数及操作的难易程度包括指令个数及操作的难易程度 指令字长、操作码位数指令字长、操作码位数 寻址方式寻址方式 寄存器个数寄存器个数 地址码位数、地址个数地址码位数、地址个数 寻址方式、是否采用扩展操作码寻址方式、是否采用扩展操作码 确定哪些数据类型可参与操作确定哪些数据类型可参与操作 指令寻址、操作数寻址指令寻址、操作数寻址 寄存器的多少影响指令的执行时间寄存器的多少影响指令的执行时间 7.4.2 指令格式举例指

21、令格式举例 (1)PDP 8指令字长固定指令字长固定 12 位位 操作码操作码 间间 页页 地址码地址码 访存类指令访存类指令 0235411 寄存器类指令寄存器类指令 1 1 1 辅助操作码辅助操作码 02 311 I/O 类指令类指令 1 1 0 设备设备 操作码操作码 02 31198 (2)PDP 11 源地址源地址OP 4 6 6 16 16 目的地址目的地址存储器地址存储器地址1存储器地址存储器地址2 OP 10 6 16 目的地址目的地址存储器地址存储器地址 目的地址目的地址 4 6 6 源地址源地址OP 10 6 目的地址目的地址OP CODE 16 OP CODE 指令字长有

22、指令字长有 16 位、位、32 位、位、48 位三种位三种 零地址零地址 (16 位位) 一地址一地址 (16 位位) 二地址二地址 R R (16 位位) 二地址二地址 R M (32 位位) 二地址二地址 M M (48 位位) 扩展操作码技术扩展操作码技术 (3)IBM 360 OPR1R2 RR 格式格式 8 4 4 OPR1XBD RX 格式格式 8 4 4 4 12 OPR1R3BD RS 格式格式 8 4 4 4 12 OPBDI SI 格式格式 8 8 4 12 OPB1D1LB2D2 SS 格式格式 8 8 4 12 4 12 二地址二地址 R R 基址加变址寻址基址加变址寻

23、址 二地址二地址 R M 三地址三地址 R M 基址寻址基址寻址 二地址二地址 M M 基址寻址基址寻址 基址寻址基址寻址 立即数立即数 M (4)Intel 8086 u指令字长指令字长 u地址格式地址格式 1 6 个字节个字节 MOV WORD PTR0204, 0138H 6 字节字节 INC AX 1 字节字节 一地址一地址 NOP 1 字节字节 CALL 段内调用段内调用 3 字节字节 零地址零地址 5 字节字节段间调用段间调用 寄存器寄存器 寄存器寄存器 寄存器寄存器 立即数立即数 寄存器寄存器 存储器存储器 ADD AX,BX 2 字节字节 ADD AX,3048H 4 字节字节

24、 ADD AX,3048H 3 字节字节 二地址二地址 CALL 7.5.1 RISC 的产生和发展的产生和发展 80 20 规律规律 l 典型程序中典型程序中 80% 的语句仅仅使的语句仅仅使 用处理机中用处理机中 20% 的指令的指令 l 执行频度高的简单指令,因复杂指令执行频度高的简单指令,因复杂指令 的存在,执行速度无法提高的存在,执行速度无法提高 RISC(Reduced Instruction Set Computer) CISC(Complex Instruction Set Computer) RISC技术技术 能否用能否用 20% 的简单指令组合不常用的的简单指令组合不常用的

25、 80% 的指令功能的指令功能 ? 7.5.2 RISC 的主要特征的主要特征 l 选用使用频率较高的一些选用使用频率较高的一些 简单指令简单指令 复杂指令的功能由简单指令来组合复杂指令的功能由简单指令来组合 l 指令指令 长度固定长度固定 l 只有只有 LOAD / STORE 指令访存指令访存 l 流水技术流水技术 一个时钟周期一个时钟周期 内完成一条指令内完成一条指令 l 组合逻辑组合逻辑 实现控制器实现控制器 l 多个多个 通用通用 寄存器寄存器 l 采用采用 优化优化 的的 编译编译 程序程序 7.5.3 RISC 和和CISC的比较的比较 与与CISC机相比,机相比,RISC机的主

26、要优点可归纳如下:机的主要优点可归纳如下: l 充分利用充分利用VLSI芯片的面积。芯片的面积。 l 提高计算机运算速度。提高计算机运算速度。 l 便于设计,可降低成本,提高可靠性。便于设计,可降低成本,提高可靠性。 l 有效支持高级语言程序。有效支持高级语言程序。 7.5.3 RISC 和和CISC的比较的比较 RISC机能提高运算速度主要反映在以下机能提高运算速度主要反映在以下5个方面:个方面: l RISC机的指令数、指令格式和寻址方式种类较少,机的指令数、指令格式和寻址方式种类较少, 而且指令的编码很有规律,因此而且指令的编码很有规律,因此RISC的指令译码的指令译码 比比CISC的指

27、令译码快。的指令译码快。 l RISC机内通用寄存器多,减少了访存次数,可加机内通用寄存器多,减少了访存次数,可加 快运行速度。快运行速度。 l RISC机采用寄存器窗口重叠技术。机采用寄存器窗口重叠技术。 l RISC机采用组合逻辑控制,比采用微程序控制的机采用组合逻辑控制,比采用微程序控制的 CISC机的延迟小,缩短了机的延迟小,缩短了CPU的周期。的周期。 l RISC机选用精简指令系统,适合于流水线工作。机选用精简指令系统,适合于流水线工作。 1. 在指令的地址字段中,直接指出操作数本在指令的地址字段中,直接指出操作数本 身的寻址方式,称为身的寻址方式,称为_。 A. 隐含寻址隐含寻址

28、 B. 立即寻址立即寻址 C. 寄存器寻址寄存器寻址 D. 直接寻址直接寻址 2. 设变址寄存器为设变址寄存器为X,形式地址为,形式地址为D,(,(X) 表示寄存器表示寄存器X的内容,这种寻址方式的有的内容,这种寻址方式的有 效地址为效地址为_。 A. EA=(X)+D B. EA=(X)+(D) C.EA=(X)+D) D. EA=(X)+(D) 3. 堆栈寻址方式中,设堆栈寻址方式中,设A为累加器,为累加器,SP为堆为堆 栈指示器,栈指示器,MSP为为SP指示的栈顶单元。如指示的栈顶单元。如 果进栈操作的动作顺序是(果进栈操作的动作顺序是(A)MSP, (SP)-1SP。那么出栈操作的动作顺序应。那么出栈操作的动作顺序应 为为_。 A.(MSP)A,(SP)+1SP B.(SP)+1SP,(MSP)A C.(SP-1)SP,(MSP)A D.(MSP)A, (SP)-1SP 4.某机指令格式某机指令格式 如图所示:如图所示: 图中图中X为寻址特征位,且为寻址特征位,且X=0时,不变址;时,不变址; X=1时,用变址寄存器时,用变址寄存器X1进行变址;进行变址;X=2时,时, 用变址寄存器用变址寄存器X2进行

温馨提示

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

评论

0/150

提交评论