




已阅读5页,还剩67页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 第7章指令系统 授课教师 计算机学院张晓丽联系方式 186 4763 9188邮箱 osunmood 2 第7章指令系统 3 第7章指令系统 教学内容1 了解指令系统的发展与性能要求低级语言与硬件结构的要求 2 掌握指令的基本格式及各个部分的功能 3 掌握指令和数据的寻址方式 理解多种寻址方式的目的 4 理解常用的两种堆栈结构以及它们的寻址方式 5 了解典型指令系统的分类和组成 精简指令系统的特点 本章重点1 指令的基本格式及各个部分的功能 2 指令和数据的寻址方式 本章难点指令和数据的寻址方式 4 第7章指令系统 5 第7章指令系统 6 7 1机器指令 一 指令格式 1 操作码 机器做什么操作 1 长度固定 2 长度可变 机器语言指令系统 加 减 传送 移位 转移等 特点 操作码集中放在指令字某字段应用 指令字长较长 大中型计算机 RISC优点 便于硬件设计 指令译码时间短 特点 操作码分散在指令字的不同字段中应用 字长较短的微型计算机优点 压缩操作码平均长度 7 3 扩展操作码 原因 操作码长度不定 增加指令译码 分析难度 控制器设计复杂特点 操作码的位数随地址数的减少而增加 4位操作码 8位操作码 12位操作码 16位操作码 15条三地址指令 15条二地址指令 15条一地址指令 16条零地址指令 8 例7 1 假设指令字长16位 操作数的地址码为6位有零地址 一地址 二地址三种指令格式 1 设操作码固定 若零地址指令有P种 一地址指令有Q种 则二地址指令最多有几种 2 采用扩展操作码技术 若二地址指令有X种 零地址有Y种 则一地址指令最多有几种 解 操作数的地址码为6位 则二地址指令中操作码的位数为16 6 6 4操作码固定 则二地址指令最多有24 P Q 9 2 采用扩展操作码技术 若二地址指令有X种 零地址有Y种 则一地址指令最多有几种 解 采用扩展操作码技术 操作码位数可变 则二地址 一地址和零地址的操作码长度分别为4位 10位和16位 可见二地址指令操作码每减少1种 可多构成26种一地址指令操作码 一地址指令操作码每减少1种 就可多构成26种零地址指令操作码 因二地址指令有X种 则一地址指令最多有 24 X 26种 设一地址指令有M种 则零地址指令最多有 24 X 26 M 26种 根据题中给出零地址指令有Y种 即Y 24 X 26 M 26则一地址指令M 24 X 26 Y 2 6 10 2 地址码 1 四地址 2 三地址 86666 A1第一操作数地址 A2第二操作数地址 A3结果的地址 A4下一条指令地址 若PC代替A4 8888 4次访存 4次访存 寻址范围26 64 寻址范围28 256 若A3用A1或A2代替 A1 OP A2 A3 源地址 结果地址 下条指令地址 A1 OP A2 A3 11 3 二地址 81212 或 4次访存 若ACC代替A1 或A2 若结果存于ACC 4 一地址 5 零地址 824 无地址码 NOP HLT RET IRET 2次访存 寻址范围212 4K 寻址范围224 16M 3次访存 A1 OP A2 A1 A1 OP A2 A2 ACC OP A1 ACC 12 二 指令字长 指令字长决定于 操作码的长度 指令字长 存储字长 2 指令字长可变 操作数地址的长度 操作数地址的个数 1 指令字长固定 控制简单 控制复杂 指令字长为8的倍数常用指令设计单字长格式 13 小结 当用一些硬件资源代替指令字中的地址码字段后 当指令的地址字段为寄存器时 可扩大指令的寻址范围 可缩短指令字长 可减少访存次数 三地址OPR1 R2 R3 二地址OPR1 R2 一地址OPR1 可缩短指令字长指令执行阶段不访存 14 第7章指令系统 15 7 2操作数类型和操作种类 一 操作数类型 无符号整数 定点数 浮点数 十进制数 ASCII 逻辑运算 布尔类型 二 数据在存储器中的存放方式 字地址为低字节地址 字地址为高字节地址 16 存储器中的数据存放 存储字长为32位 17 三 操作类型 1 数据传送 寄存器 寄存器 寄存器 寄存器 存储器 存储器 存储器 存储器 置 1 清 0 2 算术逻辑操作 加 减 乘 除 增1 减1 求补 浮点运算 十进制运算 与 或 非 异或 位操作 位测试 位清除 位求反 如8086 MOVE STORE LOAD MOVE PUSH POP 例如 MOVE MOVE ADDSUBMULDIVINCDECCMPNEGAAAAASAAMAADANDORNOTXORTEST 18 3 移位操作 算术移位 4 转移 1 无条件转移JMP 2 条件转移 结果为零转 Z 1 JZ 结果溢出转 O 1 JO 结果有进位转 C 1 JC 跳过一条指令SKP 循环移位 带进位和不带进位 如 逻辑移位 完成触发器 19 3 调用和返回 CALLSUB1 CALLSUB2 CALLSUB2 RETURN RETURN 过程调用系统调用子程序调用 返回原程序断点 转至子程序入口 子程序可被多处调用允许子程序嵌套CALL RETUREN 20 INAX n OUTDX AL OUTn AX OUTDX AX 4 陷阱 Trap 与陷阱指令 意外事故的中断 陷阱指令 如8086INTTYPE软中断 提供给用户使用的陷阱指令 完成系统调用 5 输入输出 INAL DX INAX DX 如 如 INAL n OUTn AL Other 非数值处理指令特权指令向量指令多处理机指令 21 第7章指令系统 22 7 3寻址方式 寻址方式 确定本条指令的操作数地址下一条指令的指令地址 寻址方式 23 7 3寻址方式 一 指令寻址 顺序 跳跃 由转移指令指出 24 二 数据寻址 形式地址A 指令字中的地址 有效地址EA 操作数的真实地址 约定 指令字长 存储字长 机器字长 25 二 数据寻址 操作数 立即数寄存器数存储器数 立即数寻址 寻址方式 寄存器寻址 存储器寻址 26 二 数据寻址 1 立即寻址 指令执行阶段不访存 A的位数限制了立即数的范围 可正可负补码 形式地址A就是操作数 27 2 直接寻址 EA A 寻址特征 A ACC 执行阶段访问一次存储器 A的位数决定了该指令操作数的寻址范围 操作数的地址不易修改 必须修改A 有效地址由形式地址直接给出 28 3 隐含寻址 操作数地址隐含在操作码中 寻址特征 A ACC 暂存 另一个操作数隐含在ACC中 如8086 MUL指令 被乘数隐含在AX 16位 或AL 8位 中 MOVS指令 源操作数的地址隐含在SI中 目的操作数的地址隐含在DI中 指令字中少了一个地址字段 可缩短指令字长 29 4 间接寻址 EA A 有效地址由形式地址间接提供 寻址特征 A EA A1 EA 执行指令阶段2次访存 可扩大寻址范围 便于编制程序 寻址特征 A 一次间址 多次间址 操作数 操作数 多次访存 30 转子程序 转子程序 间接寻址编程举例 A 81 A 202 间址特征 JMP A 31 5 寄存器寻址 EA Ri 执行阶段不访存 只访问寄存器 执行速度快 寻址特征 寄存器个数有限 可缩短指令字长 有效地址即为寄存器编号 32 6 寄存器间接寻址 有效地址在寄存器中 操作数在存储器中 执行阶段访存 寻址特征 便于编制循环程序 EA Ri 有效地址在寄存器中 33 7 基址寻址 1 采用专用寄存器作基址寄存器 EA BR A BR为基址寄存器 寻址特征 可扩大寻址范围 便于程序搬家 BR内容由操作系统或管理程序确定 在程序的执行过程中BR内容不变 形式地址A可变 为程序 数据分配存储空间 34 2 采用通用寄存器作基址寄存器 寻址特征 R0作基址寄存器 由用户指定哪个通用寄存器作为基址寄存器 基址寄存器的内容由操作系统确定 在程序的执行过程中R0内容不变 形式地址A可变 35 8 变址寻址 寻址特征 可扩大寻址范围 可与其他基址寻址合用EA A IX BR IX的内容由用户给定 在程序的执行过程中IX内容可变 形式地址A不变 通用寄存器也可以作为变址寄存器 EA IX A IX为变址寄存器 专用 处理数组问题 36 例 设数据块首地址为D 求N个数的平均值 直接寻址 变址寻址 LDAD ADDD 1 ADDD 2 ADDD N 1 DIV N STAANS LDA 0 LDX 0 INX CPX N BNEM DIV N STAANS 共N 2条指令 共8条指令 X为变址寄存器 D为形式地址 X 和 N比较 结果不为零则转 37 9 相对寻址 EA PC A A是相对于当前指令的位移量 可正可负 补码 A的位数决定操作数的寻址范围 广泛用于转移指令 操作数 寻址特征 相对距离A 38 1 相对寻址举例 M随程序所在存储空间的位置不同而不同指令BNE 3与指令ADDX D相对位移量不变指令BNE 3操作数的有效地址为EA M 3 3 M 39 2 按字节寻址的相对寻址举例 JMP 8 设当前指令地址PC 2000H 转移后的目的地址为2008H 因为取出JMP 8后PC 2002H 二字节指令 故JMP 8指令的第二字节为2008H 2002H 06H 40 例7 2设相对寻址的转移指令占3个字节 第一字节为操作码 第二 三字节为相对位移量 补码表示 而且数据在存储器中采用以低字节地址为字地址的存放方式 每当CPU从存储器取出一个字节时 即自动完成 PC 1 PC 1 若PC当前值为240 十进制 要求转移到290 十进制 则转移指令的第二 三字节的机器代码是什么 2 若PC当前值为240 十进制 要求转移到200 十进制 则转移指令的第二 三字节的机器代码是什么 41 1 PC当前值为240 该指令取出后PC值为243 要求转移到290 即相对位移量为290 243 47 转换成补码为2FH 由于数据在存储器中采用以低字节地址为字地址的存放方式 故该转移指令的第二字节为2FH 第三字节为00H 2 PC当前值为240 该指令取出后PC值为243 要求转移到200 即相对位移量为200 243 43 转换成补码为D5H 由于数据在存储器中采用以低字节地址为字地址的存放方式 故该转移指令的第二字节为D5H 第三字节为FFH 42 10 堆栈寻址 堆栈 多个寄存器 指定的存储空间 先进后出 一个入出口 栈顶地址由SP指出 1 1FFFH 1 2000H 1FFFH 2000H 43 2 堆栈寻址举例 PUSHA前 PUSHA后 POPA前 POPA后 44 3 SP的修改与主存编址方法有关 按字编址 进栈 出栈 按字节编址 存储字长16位 进栈 出栈 存储字长32位 进栈 出栈 45 例7 3一条双字长直接寻址的子程序调用指令 其第一个字为操作码和寻址特征 第二个字为地址码5000H 假设PC当前值为2000H SP的内容为0100H 栈顶内容为2746H 存储器按字节编址 而且进栈操作是先 SP SP 后存入数据 试回答下列几种情况下 PC SP及栈顶内容各为多少 1 CALL指令被读取前 2 CALL指令被执行后 3 子程序返回后 46 解 1 CALL指令被读取前 PC 2000H SP 0100H 栈顶内容为2746H 2 CALL指令被执行后 由于存储器按字节编址 CALL指令共占4个字节 故程序断点2004H进栈 此时SP SP 2 00FEH 栈顶内容为2004H PC被更新为子程序入口地址5000H 3 子程序返回后 程序断点出栈 PC 2004H SP被修改为0100H 栈顶内容为2746H 47 第7章指令系统 48 7 4指令格式举例 一 设计指令格式时应考虑的各种因素 1 指令系统的兼容性 向上兼容 2 其他因素 操作类型 数据类型 指令格式 包括指令个数及操作的难易程度 指令字长 操作码位数 寻址方式 寄存器个数 地址码位数 地址个数 寻址方式 是否采用扩展操作码 49 二 指令格式举例 1 PDP 8 指令字长固定12位 50 2 PDP 11 指令字长有16位 32位 48位三种 零地址 16位 一地址 16位 扩展操作码技术 51 3 IBM360 52 4 Intel8086 1 指令字长 2 地址格式 1 6个字节 MOVWORDPTR 0204 0138H6字节 INCAX1字节 一地址 NOP1字节 CALL 零地址 寄存器 寄存器 寄存器 立即数 寄存器 存储器 ADDAX BX2字节 ADDAX 3048H 4字节 ADDAX 3048H3字节 二地址 CALL 53 例7 4某机字长16位 存储器直接寻址空间为128字 变址时的位移量为 64 63 16个通用寄存器均可作为变址寄存器 设计一套指令系统格式 满足下列寻址类型的要求 1 直接寻址的二地址指令3条 2 变址寻址的一地址指令6条 3 寄存器寻址的二地址指令8条 4 直接寻址的一地址指令12条 5 零地址指令32条 试问还有多少种代码未用 若安排寄存器寻址的一地址指令 还能容纳多少条 54 1 在直接寻址的二地址指令中 根据题目给出直接寻址空间为128字 则每个地址码为7位 3条这种指令的操作码为00 01和10 剩下的11可作为下一种格式指令的操作码扩展用 2 在变址寻址的一地址指令中 根据变址时的位移量为 64 63 形式地址A取7位 根据16个通用寄存器可作为变址寄存器 取4位作为变址寄存器Rx的编号 剩下的5位可作操作码 6条这种指令的操作码为11000 11101 剩下的两个编码11110和11111可作为扩展用 55 3 在寄存器寻址的二地址指令中 两个寄存器地址Ri和Rj共8位 剩下的8位可作操作码 比格式2的操作码扩展了3位 8条这种指令的操作码为11110000 11110111 剩下的11111000 11111111八个编码可作为扩展用 4 在直接寻址的一地址指令中 除去7位的地址码外 可有9位操作码 比格式3的操作码扩展了1位 与格式3剩下的8个编码组合 可构成16个9位编码 以11111作为格式4指令的操作码特征位 12条这种指令的操作码为111110000 111111011 剩下的111111100 111111111可作为扩展用 56 5 在零地址指令中 指令的16位都作为操作码 比格式4的操作码扩展了7位 与上述剩下的4个操作码组合后 共可构成4 27条指令的操作码 32条这种指令的操作码可取1111111000000000 1111111000011111还有29 32 480种代码未用 若安排寄存器寻址的一地址指令 除去末4位为寄存器地址外 还可容纳30条这类指令 57 例7 5设某机配有基址寄存器和变址寄存器 采用一地址格式的指令系统 允许直接和间接寻址 且指令字长 机器字长和存储字长均为16位 1 若采用单字长指令 共能完成105种操作 则指令可直接寻址的范围是多少 一次间址的寻址范围是多少 画出其指令格式并说明各字段的含义 2 若存储字长不变 可采用什么方法直接访问容量为16MB的主存 58 1 在单字长指令中 根据能完成105种操作 取操作码7位 因允许直接和间接寻址 且有基址寄存器和变址寄存器 故取2位寻址特征位 OP为操作码 可完成105种操作 M为寻址特征 可反映四种寻址方式 AD为形式地址 这种指令格式可直接寻址27 128 一次间址的寻址范围是216 65536 2 容量为16MB的存储器 正好与存储字长为16位的8M存储器容量相等 即16MB 8M 16位 欲使指令直接访问16MB的主存 可采用双字长指令其中形式地址为AD1 AD2 共7 16 23位 223 8M 即可直接访问主存的任一位置 59 例7 6某模型机共有64种操作 操作码位数固定 且具有以下特点 1 采用一地址或二地址格式 2 有寄存器寻址 直接寻址和相对寻址 位移量为 128 127 三种寻址方式 3 有16个通用寄存器 算术运算和逻辑运算的操作数均在寄存器中 结果也在寄存器中 4 取数 存数指令在通用寄存器和存储器之间传送数据 5 存储器容量为1MB 按字节编址 要求设计算逻指令 取数 存数指令和相对转移指令的格式 并简述理由 60 1 算逻指令格式为 寄存器 寄存器 型 取单字长16位 OP为操作码 6位 可实现64种操作 M为寻址模式 2位 可反映寄存器寻址 直接寻址 相对寻址 Ri和Rj各取4位 指出源操作数和目的操作数的寄存器 共16个 编号 2 取数 存数指令格式为 寄存器 存储器 型 取双字长32位 OP为操作码 6位不变 M为寻址模式 2位不变 Ri为4位 源操作数地址 存数指令 或目的操作数地址 取数指令 A1和A2共20位为存储器地址 可直接访问按字节编址的1MB存储器 3 相对转移指令为一地址格式 取单字长16位 OP为操作码 6位不变 M为寻址模式 2位不变 A为位移量8位 对应位移量为 128 127 61 例7 7设某机共能完成110种操作 CPU有8个通用寄存器 16位 主存容量为4M字 采用寄存器 存储器型指令 1 欲使指令可直接访问主存的任一地址 指令字长应取多少位 画出指令格式 2 若在上述设计的指令字中设置一寻址特征位X 且X 1表示某个寄存器作基址寄存器 画出指令格式 试问基址寻址可否访问主存的任一单元 为什么 如不能 提出一种方案 使其可访问主存的任一位置 3 若主存容量扩大到4G字 且存储字长等于指令字长 则在不改变上述硬件结构的前提下 可采用什么方法使指令可访问存储器的任一位置 62 解 1 欲使指令可直接访问4M字存储器的任一单元 采用寄存器 存储器型指令 该机指令应包括22位的地址码 3位寄存器编号和7位操作码 即指令字长取22 3 7 32位 2 上述指令格式中增设一寻址特征位 且X 1表示某个寄存器作基址寄存器RB 由于通用寄存器仅16位 形式地址18位 不足以覆盖4M地址空间 可将RB寄存器内容左移6位 低位补0 形成22位基地址 然后与形式地址相加 所得的有效地址即可访问4M字存储器的任一单元 3 若主存容量扩大到4G字 且存储字长等于指令字长 则在不改变上述硬件结构的前提下 采用一次间址即可访问存储器的任一单元 因为间址后得到的有效地址为32位 232 4G 63 例7 8某机主存容量为4M 16位 且存储字长等于指令字长 若该机指令系统能完成97种操作 操作码位数固定 且具有直接 间接 变址 基址 相对 立即等六种寻址方式 1 画出一地址指令格式并指出各字段的作用 2 该指令直接寻址的最大范围 3 一次间址和多次间址的寻址范围 4 立即数的范围 十进制数表示 5 相对寻址的位移量 十进制数表示 6 上述六种寻址方式的指令哪一种执行时间最短 哪一种最长 哪一种便于用户编制处理数组问题的程序 哪一种便于程序浮动 为什么 7 如何修改指令格式 使指令的直接寻址范围可扩大到4M 8 为使一条转移指令能转移到主存的任一位置 可采取什么措施 请简要说明 64 1 一地址指令格式OP操作码字段7位 可反映97种操作 M寻址方式特征字段 共3位 可反映6种寻址方式 A形式地址字段 共16 7 3 6位 2 直接寻址的最大范围为26 64 3 由于存储字长为16位 故一次间址的寻址范围为216 若多次间址 需用存储字的最高位来区别是否继续间接寻址 故寻址范围为215 4 立即数的范围是 32 31 有符号数 或0 63 无符号数 5 相对寻址的位移量为 32 31 65 6 立即数由指令直接给出 故指令执行时间最短 间接寻址在指令的执行阶段要多次访存 一次间接寻址要2次访存 多次间接寻址要多次访存 故执行时间最长 变址寻址由于变址寄存器的内容由用户给定 而且在程序的执行过程中允许用户修改 而其形式地址始终不变 故变址寻址的指令便于用户编制处理数组问题的程序 相对寻址操作
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数字赋能职业教育与就业服务创新-洞察及研究
- 基于区块链的分布式权限体系对传统中心化系统的冲击与适配
- 国际能源博弈中石蜡初炼技术壁垒突破与产业链安全重构
- 国际反光标识能见度认证标准差异引发的跨境物流安全隐患
- 后疫情时代医疗设备刻字滚筒的表面抗菌涂层技术迭代趋势
- 发光香水球光致发光材料与有机挥发物(VOC)的协同毒性研究
- 反冲洗型过滤器在工业循环水系统中因结垢堵塞导致的处理效率衰减机制研究
- 双碳目标下高碳钢再生利用对刀具性能衰减的影响评估
- 双模态耦合作用下剪式平衡支撑结构疲劳寿命预测模型构建
- 危机预警智能化转型中的传统人工研判能力替代性评估
- 2025至2030中国环境监测行业市场发展现状及投资前景与策略报告
- 阀门采购管理办法
- 2025年中级注安《安全生产管理》真题及答案
- 企业外来人员管理办法
- 儿童生长曲线课件
- 中国饮食发展史课件
- 淋巴瘤健康教育课件
- 国家基层肥胖症综合管理技术指南(2025)解读课件
- 2025-2026学年冀人版(2024)小学科学二年级上册(全册)教学设计(附教材目录 )
- 雨污分流管道检测与修复施工方案与技术措施
- 2025年河北大学版(2024)小学信息科技三年级(全一册)教学设计(附目录 P179)
评论
0/150
提交评论