[工学]计算机组成原理课件第四章.ppt

  1. 1、本文档共56页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]计算机组成原理课件第四章

* * 常规 整数 序数 未压缩的BCD 压缩的BCD 近指针 位串 字符串 浮点数 * 信息工程学院软件工程系 无符号字节 无符号半字 有符号半字 无符号字 有符号字 无符号双字 字节串 浮点数 * 信息工程学院软件工程系 4.4.1指令的寻址方式 4.4.2操作数基本寻址方式 4.4.3寻址方式举例 * 信息工程学院软件工程系 顺序方式 跳跃方式 * 信息工程学院软件工程系 * 信息工程学院软件工程系 形成操作数有效地址的方法,称为寻址方式。 例如,一种单地址指令的结构如下: 操作码OP、变址X、间址I、形式地址A * 信息工程学院软件工程系 * 信息工程学院软件工程系 1、隐含寻址 指令中隐含着操作数的地址 如某些运算,隐含了累加器AC作为源和目的寄存器 如8086汇编中的STC指令,设置标志寄存器的C为1 * 信息工程学院软件工程系 2、立即寻址 立即寻址是一种特殊的寻址方式,指令中在操作码字段后面的部分不是通常意义上的操作数地址,而是操作数本身,也就是说数据就包含在指令中,只要取出指令,就取出了可以立即使用的操作数,因此,这样的操作数被称为立即数。 指令格式:操作码OP? 操作数A * 信息工程学院软件工程系 3、直接寻址 指令中地址码字段给出的地址A就是操作数的有效地址EA(Effective Address),即EA=A。 * 信息工程学院软件工程系 4、间接寻址 间接寻址意味着指令的地址码部分给出的地址A不是操作数的地址,而是存放操作数地址的主存单元的地址,简称操作数地址的地址。操作数的有效地址的计算公式为:EA=(A) * 信息工程学院软件工程系 5、寄存器寻址 在指令的地址码部分给出CPU内某一通用寄存器的编号,指令的操作数存放在相应的寄存器中,即EA=Ri 优点: (1)由于寄存器在CPU的内部,指令在执行时从寄存器中取操作数比访问主存要快得多; l(2)由于寄存器的数量较少,因此寄存器编号所占位数也较少,从而可以有效减少指令的地址码字段的长度。 * 信息工程学院软件工程系 6、寄存器间接寻址 为了克服间接寻址中多次访存的缺点,可采用寄存器间接寻址,即将操作数放在主存储器中,而操作数的地址放在某一通用寄存器中,然后在指令的地址码部分给出该通用寄存器的编号,这时有EA=(Ri) 这种寻址方式的指令较短,并且在取指后只需一次访存便可得到操作数,因此指令执行速度较前述的间接寻址方式要快,也是目前在计算机中使用较为广泛的一种寻址方式。 * 信息工程学院软件工程系 6、寄存器间接寻址? * 信息工程学院软件工程系 7、偏移寻址 相对寻址:由程序计数器PC提供基准地址,而指令的地址码部分给出相对的位移量D,两者相加后作为操作数的有效地址,即:EA=(PC)+D。 * 信息工程学院软件工程系 7、偏移寻址:基址寻址 基址寄存器的位数可以设置得很长,从而可以在较大的存储空间中寻址。 * 信息工程学院软件工程系 7、偏移寻址:变址寻址 变址寻址就是将指令的地址码部分给出的基准地址A与CPU内某特定的变址寄存器Rx中的内容相加,以形成操作数的有效地址。 * 信息工程学院软件工程系 8、段寻址方式 存储空间划分为多段 * 信息工程学院软件工程系 分寄存器堆栈、存储器堆栈 以先进后出原理存储数据 * 信息工程学院软件工程系 Pentium的寻址方式 * 信息工程学院软件工程系 * 信息工程学院软件工程系 Pentium的寻址方式 * 信息工程学院软件工程系 [例4] 某16位机器所使用的指令格式和寻址方式如下所示,该机有两个20位基址寄存器,四个16位变址寄存器,十六个16位通用寄存器。指令汇编格式中的S(源),D(目标)都是通用寄存器,M是主存中的一个单元。三种指令的操作码分别是MOV(OP)=(A)H,STO(OP)=(1B)H,LAD(OP)=(3C)H。MOV是传送指令,STO为存数指令,LAD为取数指令。要求: (1)分析三种指令的指令格式与寻址方式特点。 (2)CPU完成哪一种操作所花时间最短?哪一种操作所花时间最长?第二种指令的执行时间有时会等于第三种指令的执行时间吗? (3)下列情况下每个十六进制指令字分别代表什么操作?其中如果有编码不正确,如何改正才能成为合法指令? * 信息工程学院软件工程系 [例4] 解: * 信息工程学院软件工程系 4.5.1指令的分类 4.5.2基本指令系统的操作 4.5.3精简指令系统 * 信息工程学院软件工程系 数据传送类指令 一般传送指令:?? MOV AX,BX 数据交换指令:?? XCHG 堆栈操作指令:?? PUSH,POP 运算类指令 算术运算指令:?加、减、乘、除以及加1、减1、比较 逻辑运算指令:??

文档评论(0)

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

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

1亿VIP精品文档

相关文档