西电计算机组成原理21.ppt

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * 指令类型 指令的典型分类: 数据传送类 算术运算类 逻辑运算类 移位类 字符串操作类 数据转换类 输入/输出类 程序控制类 系统控制类 * 指令类型——数据传送类 完成源操作数与目的操作数之间的复制。 指定源和目的操作数的位置。 存储器 根据寻址方式,计算存储器地址: 如果地址指的是虚拟存储器,则将虚地址转换实际存储器地址,确定所寻找的项是否在Cache中; 如果不是,向存储器模块发存取命令。 寄存器 堆栈 指明将要传送数据的长度; 为每个操作数指定相应的寻址方式。 * 指令类型——算术运算类 加、减、乘、除 定点有符号整数、浮点数、压缩十进制数 单操作数指令 有符号数的绝对值(Absolute) 求操作数的相反数(Negate) 递增操作数(Increment) 递减操作数(Decrement) 由ALU完成 * 指令类型——逻辑运算类 按位运算: A B NOT A A AND B A OR B A XOR B A⊙B 0 0 1 0 0 0 1 0 1 1 0 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 基本逻辑操作 * 移位操作 移位和旋转运算: * 指令类型——数据转换类 完成对数据格式进行转换操作 如:Intel处理器的十进制数据调整指令 AAA、AAS、AAD、AAM、DAA、DAS * 指令类型——输入输出类 完成主机与外围设备之间的信息交换 输入/输出数据 主机向外设发控制命令 主机了解外设的工作状态 输入输出的方式 存储映射的编程控制I/O方式:统一编址 MOV 指令 分立的编程控制的I/O方式:独立编址 IN 指令 OUT 指令 DMA方式 I/O处理器方式 通道处理机方式 * 指令类型——程序控制类 转移指令 循环控制指令 过程调用和返回指令 程序自中断指令 * 指令类型——程序控制类 无条件转移指令: 【例】Intel处理器的JMP指令 条件转移指令:对设定条件进行测试,仅当条件满足时,进行转移,否则程序继续顺序执行。 转移条件: 进位标志 结果为零标志 正负标志 溢出标志 奇偶标志 …… 1. 转移指令 * 指令类型——程序控制类 可以通过条件转移指令实现循环程序设计 有些计算机为了提高指令系统的效率,专门设置了循环控制指令 【例】x86中的LOOP指令 循环控制指令是具有复合功能的指令 2. 循环控制指令 * 指令类型——程序控制类 过程机制涉及的基本指令: 由目前位置转移到过程的调用指令 由过程返回到调用发生位置的返回指令 3. 过程调用和返回指令 过程调用示意 * 指令类型——程序控制类 过程机制涉及的基本指令: 由目前位置转移到过程的调用指令 由过程返回到调用发生位置的返回指令 过程可以由多个不同位置调用 过程中能再次调用过程,原则上允许过程嵌套到任意深度 每一过程调用与被调用程序中的一次返回相匹配 过程调用的参数传递 3. 过程调用和返回指令 * 指令类型——程序控制递类 为了在程序调试中设置断点或实现系统功能调用 【例】Intel x86处理机中的软中断指令INT n 4. 程序自中断指令 * 指令类型——系统控制类 通常是特权指令 由操作系统或系统软件使用 在多用户、多任务计算机系统中,必须设置特权指令 主要用于系统资源的分配和管理 检测用户的访问权限 修改虚拟存储器中的段表、页表 改变系统工作模式 任务的创建与切换 …… 在某些多用户计算机系统中,为了统一管理各外围设备,输入/输出指令也被列为特权指令 计算机组织与体系结构 指令系统 指令设计 * 指令格式 地址码设计 操作码设计 指令长度设计 指令设计 * 指令格式 操作码 指令要完成的功能 地址码/操作数地址/操作数 提供指令的操作对象 直接数据 数据地址 简单指令格式 * 指令设计——地址码设计 数据:地址、数值、字符、逻辑数据 指令可能需要的地址引用: 两个操作数 一个结果 下条指令的地址 常用的地址码数目: 四地址: op rd,rs1,rs2,ni; rs1 op rs2-rd, use ni 三地址: op rd,rs1,rs2 ; rd=rs1 op rs2, use PC 双地址: op rd,rs1 ; rd=rd op rs1, rd=rs1 op ACC, use PC 单地址:op rd; ACC=rd op ACC, rd = rd自身操作 零地址: op 源操作数 目的操作数 下一指令地址 * 指令格式——操作码设计 定长 构造简单,有利于指令的译码和后续的执行 占用的空间较大 变长 对不同类型的指令操作码用不固定长度的二进制

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档