为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 指令系统_zhaojie

指令系统_zhaojie

2011-11-11 45页 ppt 862KB 11阅读

用户头像

is_417016

暂无简介

举报
指令系统_zhaojienull第七章 指 令 系 统第七章 指 令 系 统7.1 机器指令 7.2 操作数类型和操作类型 7.3 寻址方式 7.4 指令格式举例 7.5 RISC 技术 学习目标学习目标1、理解指令中应包含的信息。 2、掌握常用的指令及指令格式。 3、深入理解常用的寻址方法及其用途。 4、了解常见指令的种类和功能。重点:指令格式及各字段作用 寻址方式及其EA计算过程 难点:指令字长变化对寻址、存储方式的影响 区别各寻址方式7.1 机 器 指 令7.1 机 器 指 ...
指令系统_zhaojie
null第七章 指 令 系 统第七章 指 令 系 统7.1 机器指令 7.2 操作数类型和操作类型 7.3 寻址方式 7.4 指令格式举例 7.5 RISC 技术 学习目标学习目标1、理解指令中应包含的信息。 2、掌握常用的指令及指令格式。 3、深入理解常用的寻址方法及其用途。 4、了解常见指令的种类和功能。重点:指令格式及各字段作用 寻址方式及其EA计算过程 难点:指令字长变化对寻址、存储方式的影响 区别各寻址方式7.1 机 器 指 令7.1 机 器 指 令一、指令系统及其发展 一台计算机所能执行的全部机器指令的集合,称为该机的指令系统。 指令系统是程序员编制程序的基础,用各种高级语言编写的程序需通过编译转换为机器可以识别与执行的指令序列。 指令系统是表征一台计算机性能的重要因素,其格式与功能不仅直接影响到机器的硬件结构,也直接影响到系统软件,影响到机器的适用范围。null指令系统的发展: 50年代:指令系统只有定点加减、逻辑运算、数据传送、转移等十几至几十条指令。 60年代:增加了乘除运算、浮点运算、十进制运算、字符串处理等指令,指令数目多达一二百条,寻址方式也趋多样化。60年代后期开始出现系列计算机(指基本指令系统相同、基本体系结构相同的一系列计算机) 70年代末:大多数计算机的指令系统多达几百条。复杂指令系统计算机(CISC)→精简指令系统计算机(RISC)null二、指令的一般格式1. 操作码机器做什么(1) 长度固定(2) 长度可变用于指令字长较长的情况如 IBM 370操作码 8 位操作码分散在指令字的不同字段中机器对谁操作(其长度反映指令条数:28=256种操作)null(3) 扩展操作码技术操作码的位数随地址数的减少而增加4 位操作码8 位操作码12 位操作码16 位操作码15条三地址指令15条二地址指令15条一地址指令16条零地址指令null例题:P302例7.1null2. 地址码(1) 四地址(2) 三地址8 6 6 6 6A1 第一操作数地址A2 第二操作数地址A3 结果的地址A4 下一条指令地址若 PC 代替 A4,则可以扩大寻址范围—3地址8 8 8 8 4 次访存(取数2、存数1、取指1)4 次访存寻址范围 26 = 64寻址范围 28 = 256若 A3 用 A1 或 A2 代替则可以扩大寻址范围—2地址null(3) 二地址8 12 12或4 次访存若ACC 代替 A1(或A2)则可以扩大寻址范围—1地址若结果存于 ACC (4) 一地址(5) 零地址8 24无地址码,指令不需要有操作数2 次访存寻址范围 212 = 4 K寻址范围 224 = 16 M 则3次访存null三、指令字长指令字长决定于操作码的长度指令字长 = 存储字长2. 指令字长 可变操作数地址的长度操作数地址的个数1. 指令字长 固定按字节的倍数变化null小结: 当用一些硬件资源代替指令字中的地址码字段后 当指令的地址字段为寄存器时,如: 可扩大指令的寻址范围 可缩短指令字长 可减少访存次数 三地址 OP R1, R2, R3 二地址 OP R1, R2 一地址 OP R1 指令执行阶段不访存 可缩短指令字长7.2 操作数类型和操作种类7.2 操作数类型和操作种类一、操作数类型无符号整数定点数、浮点数、十进制数ASCII、BCD逻辑运算二、数据在存储器中的存放方式字地址 为 低字节 地址字地址 为 高字节 地址1、两种字地址(门牌号)表示法:null2、存储器中数据存放两种方式:(存储字长32为例)null三、操作类型1. 数据传送寄存器寄存器寄存器寄存器存储器存储器存储器存储器置“1”,清“0”2. 算术逻辑操作加、减、乘、除、增 1、减 1、求补、浮点运算、十进制运算与、或、非、异或、位操作、位测试、位清除、位求反如 8086MOVESTORELOADMOVEPUSHPOP例如MOVEMOVEADD SUB MUL DIV INC DEC CMP NEG AAA AAS AAM AAD AND OR NOT XOR TESTnull3. 移位操作算术移位4. 转移(1) 无条件转移 JMP(2) 条件转移结果为零转 (Z = 1) JZ结果溢出转 (O = 1)JO结果有进位转(C = 1)JC跳过一条指令 SKP循环移位(带进位和不带进位)如逻辑移位完成触发器null(3) 调用和返回CALL SUB1CALL SUB2CALL SUB2RETURNRETURN注解: 子程序可以多处被调用 允许嵌套 CALL-RETURN配套用 返回地址存于R、入口、栈顶nullIN AX, nOUT DX, ALOUT n, AXOUT DX, AX(4) 陷阱(Trap)与陷阱指令:意外事故的中断 设置供用户使用的陷阱指令如 8086 INT TYPE 软中断提供给用户使用的陷阱指令,完成系统调用5. 输入输出IN AL, DXIN AX, DX如:如:IN AL, nOUT n, AL6. 其它:WAIT STOP NOP SET ……7.3 寻 址 方 式7.3 寻 址 方 式寻址方式指: 确定 本条指令 的 操作数地址 下一条 欲执行 指令 的 指令地址的方法寻址方式分类:立即寻址 直接寻址 隐含寻址 间接寻址 寄存器寻址 寄存器间接寻址 基址寻址 变址寻址 相对寻址 堆栈寻址7.3 寻 址 方 式7.3 寻 址 方 式一、指令寻址顺序跳跃由转移指令指出null二、数据寻址 形式地址 指令字中的地址,A 有效地址 操作数的真实地址, EA 下面约定: 指令字长 = 存储字长 = 机器字长1. 立即寻址 指令执行阶段不访存,取出指令就获得操作数 A 的位数限制了立即数的范围 可正可负(补码)形式地址 A 就是操作数寻址特征 各种寻址标志,如101 表示直接寻址 null2. 直接寻址EA = A寻址特征AACC 不需要专门计算操作数地址 A 的位数决定了该指令操作数的寻址范围 操作数的地址不易修改(必须修改A)形式地址就是有效地址, 形式地址的数就是操作数 执行阶段访问一次存储器null3. 隐含寻址操作数地址隐含在操作码中寻址特征AACC暂存另一个操作数 隐含在 ACC 中如 8086MUL 指令被乘数隐含在 AX(16位)或 AL(8位)中MOVS 指令源操作数的地址隐含在 SI 中目的操作数的地址隐含在 DI 中 指令字中少了一个地址字段,可缩短指令字长null4. 间接寻址EA =(A)形式地址内的数是操作数的有效地址寻址特征AEAA1EA 执行指令阶段 2 次访存 可扩大寻址范围 便于编制程序寻址特征A一次间址多次间址操作数操作数多次访存null … ………转 子程序转 子程序间接寻址编程举例:(A) = 81(A) = 202@ 间址特征JMP @ Anull5. 寄存器寻址EA = Ri 执行阶段不访存,只访问寄存器,执行速度快寻址特征 寄存器个数有限,可缩短指令字长有效地址即为寄存器编号,操作数在该寄存器中。nullEA = ( Ri )6. 寄存器间接寻址 有效地址在寄存器中, 操作数在存储器中,执行阶段访存寻址特征 便于编制循环程序寄存器中仅是操作数的有效地址null7. 基址寻址(1) 采用专用寄存器作基址寄存器EA = ( BR ) + ABR 为基址寄存器 隐式寻址特征 可扩大寻址范围 便于程序搬家 BR 内容由操作系统或管理程序确定 在程序的执行过程中 BR 内容不变,形式地址 A 可变EAnull(2) 采用通用寄存器作基址寄存器寻址特征R0 作基址寄存器 显式 由用户指定哪个通用寄存器作为基址寄存器 基址寄存器的内容由操作系统确定 在程序的执行过程中 R0 内容不变,形式地址 A 可变EAnull8. 变址寻址EA = ( IX ) +A寻址特征 可扩大寻址范围 便于处理数组问题 IX 的内容由用户给定 IX 为变址寄存器(专用) 在程序的执行过程中 IX 内容可变,形式地址 A 不变通用寄存器也可以作为变址寄存器EA基址寻址与变址寻址的区别基址寻址与变址寻址的区别都有一个寄存器,基址寻址时寄存器中的内容由操作系统指定是不可变的。但形式地址A可变。 变址寻址时寄存器中的内容由用户指定是可变的。但形式地址A不可变 null例 设数据块首地址为 D,求 N 个数的平均值直接寻址变址寻址LDA DADD D + 1ADD D + 2……ADD D + ( N -1 )DIV # NSTA ANSLDA # 0LDX # 0INXCPX # NBNE MDIV # NSTA ANS共 N + 2 条指令共 8 条指令X 为变址寄存器D 为形式地址(X) 和 #N 比较结果不为零则转null9. 相对寻址 EA = ( PC ) + AA 是相对于当前指令的位移量(可正可负,补码) A 的位数决定操作数的寻址范围 程序浮动 广泛用于转移指令操作数寻址特征相对距离 AEAnull (1) 相对寻址举例M 随程序所在存储空间的位置不同而不同EA = ( M+3 ) – 3 = Mnull(2) 按字节寻址的相对寻址举例JMP * + 8设 当前指令地址 PC = 2000H转移后的目的地址为 2008H因为 取出 JMP * + 8 后 PC = 2002H二字节指令故 JMP * + 8 指令 的第二字节为 2008H - 2002H = 6Hnull10. 堆栈寻址(1) 堆栈的特点堆栈多个寄存器形成一个堆栈指定的一段连续存储空间先进后出(一个入出口)栈顶地址 由 SP 指出– 11FFFH +12000 H 1FFF H 2000 Hnull(2) 堆栈寻址举例PUSH A 前PUSH A 后POP A 前POP A 后null(3) SP 的修改与主存编址方法有关① 按 字 编址进栈出栈② 按 字节 编址存储字长 16 位进栈出栈存储字长 32 位进栈出栈7.4 指令格式举例7.4 指令格式举例一、设计指令格式时应考虑的各种因素1. 指令系统的 兼容性(向上兼容)2. 其他因素操作类型数据类型指令格式包括指令个数及操作的难易程度指令字长、操作码位数寻址方式寄存器个数地址码位数、地址个数寻址方式、是否采用扩展操作码null二、指令格式举例1. PDP – 8指令字长固定 12 位000-1011965年,美国数字设备公司推出第一台小型机null2. PDP – 11指令字长有 16 位、32 位、48 位三种零地址 (16 位)一地址 (16 位)扩展操作码技术PDP系列机型顶峰null3. IBM 360第一种采用集成电路(小规模)芯片的主流机型 null4. Intel 8086(1) 指令字长(2) 地址格式1 ~ 6 个字节MOV WORD PTR[0204], 0138H 6 字节INC AX 1 字节一地址NOP 1 字节CALL零地址寄存器 — 寄存器寄存器 — 立即数寄存器 — 存储器ADD AX,BX 2 字节ADD AX,[3048H] 4 字节ADD AX,3048H 3 字节二地址CALL7.5 RISC 技 术 7.5 RISC 技 术 一、RISC 的产生和发展 80 — 20 规律 典型程序中 80% 的语句仅仅使 用处理机中 20% 的指令 执行频度高的简单指令,因复杂指令 的存在,执行速度无法提高RISC(Reduced Instruction Set Computer)CISC(Complex Instruction Set Computer)—— RISC技术null二、RISC 的主要特征 选用使用频率较高的一些 简单指令 复杂指令的功能由简单指令来组合 指令 长度固定,指令格式种类少,寻址方式少 只有 LOAD / STORE 指令访存 流水技术 一个时钟周期 内完成一条指令 组合逻辑 实现控制器 多个 通用 寄存器 采用 优化 的 编译 程序 nullP335 7.3P335 7.8P335 7.9P336 7.20
/
本文档为【指令系统_zhaojie】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索