计算机系统结构-2.ppt

  1. 1、本文档共145页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* (3) 分支和跳转操作 ? 根据描述目标地址的方法和是否链接可以将 跳转操作指令分为四种类型。 其中: ◆ 两种类型的跳转指令用带符号位的26位偏移量 加上程序计数器的值来确定跳转的目标地址; ◆ 另外两种类型的跳转指令则指定一个寄存器, 由寄存器中的内容决定跳转的目标地址。 * ▲ 跳转有两种类型 简单跳转 跳转并链接(用于过程调用) 返回一个地址,也即将下一条顺序指令 地址(返回地址)保存在寄存器R31中。 ▲ 所有分支指令均是条件分支指令。 分支目标地址由一个带符号的26位偏移量加 上程序计数器的值来确定。 * 指令实例 指令名称 含义 J name 跳转 PC ← name; ((PC+4)-225) ≤ name ≤((PC+4)+225) JAL name 跳转并链接 Regs[R31] ← PC+4; PC ← name; ((PC+4)-225) ≤ name ≤((PC+4)+225) JALR R2 寄存器型跳转并链接 Regs[R31] ← PC+4; PC ← Regs[R2]; JR R3 寄存器型跳转 PC ← Regs[R3]; BEQZ R4 , name “等于0”分支 if (Regs[R4]==0) PC ← name; ((PC+4)-215) ≤ name ≤((PC+4)+215) BNEZ R4 , name “不等于0”分支 if (Regs[R4]!=0) PC ← name; ((PC+4)-215) ≤ name ≤((PC+4)+215) 典型的分支和跳转指令 * (4) 浮点操作 在DLX中,浮点指令的操作数来源于浮点寄存器,同时它还指明了相应的操作是单精度浮点操作还是双精度浮点操作。 浮点操作:加、减、乘、除。 (后缀D:双精度浮点操作 后缀F:单精度浮点操作) ◆ 下表列出了DLX所有指令及其含义。 ◆ 各种指令使用频率测试统计结果。 (SPECint92和SPECfp92基准程序) * DLX中的所有指令及其含义 指令类型 操作码 含 义 ? ? ? 数据传送 LB,LBU,SB 载入字节,载入无符号字节,储存字节 LH,LHU,SH 载入半字,载入无符号半字,储存半字 LW,SW 载入字,储存字 LF,LD,SF,SD 载入单精度浮点,载入双精度浮点,储存单精度浮点,储存双精度浮点 MOVI2S,MOVS2I 将通用寄存器中的内容移入特殊寄存器,将特殊寄存器中的内容移入通用寄存器 MOVF,MOVD 将一个单精度/双精度浮点寄存器的内容拷贝到另一个单精度/双精度浮点寄存器 MOVFP2I,MOVI2FP 将32位浮点寄存器中的内容移入整型寄存器,将32位整型寄存器中的内容移入浮点寄存器 * 指令类型 操作码 含 义 ? ? ? ? 算术/逻辑 ADD,ADDI,ADDU,ADDUI 带符号加,带符号立即值加,无符号加,无符号立即值加 SUB,SUBI,SUBU,SUBUI 带符号减,带符号立即值减,无符号减,无符号立即值减 MULT,MULTU,DIV,DIVU 带符号乘,无符号乘,带符号除,无符号除 AND,ANDI 与,和立即值与 OR,ORI,XOR,XORI 或,和立即值或,异或,和立即值异或 LHI 载入高位立即值 SLL,SRL,SRA,SLLI,SRLI,SRAI 包含了立即值(S_I)和变量(S_)的移位操作,移位有:逻辑左移,逻辑右移和算术右移 S_,S_I 设置条件,“_”可以是LT,GT,LE,GE,EQ,NE * 指令类型 操作码 含 义 ? ? ? 控 制 BEQZ,BNEZ 根据指定通用寄存器的内容等于/不等于0分支 BFPT,BFPF 测试浮点状态寄存器中的比较位为真/假进行分支 J,JR 跳转,基于寄存器的跳转 JAL,JALR 跳转并链接,基于寄存器的跳转并链接 TRAP 转换到操作系统 RFE 从异常恢复用户模式 * 指令类型 操作码 含 义 ? ? 浮 点 ADDD,ADDF 双精度浮点加,单精度浮点加 SUBD,SUBF 双精度浮点减,单精度浮点减 MULTD,MULTF 双精度浮点乘,单精度浮点乘 DIVD,DIVF 双精度浮点除,单精度

文档评论(0)

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

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

1亿VIP精品文档

相关文档