zoukankan      html  css  js  c++  java
  • 寻址方式

    操作数类型数据存放

    存放方式

    数据存放

    三个字长:

    机器字长:CPU一次能处理的二进制数据的位数。

    指令字长:一个指令中包含二进制代码的位数。

    存储字长:一个存储单元存储二进制代码的长度。

    注:这些长度都是字节的整数倍

    一般等于内部寄存器的位数。

    单字长指令:指令长度=机器字长

    半字长指令、双字长指令

    通常一次并行取出一个存储字,按字节寻址时,通过移位截取存储字中的一个字节。

    存放方式

    一:

    二:

    三:折衷???????

    寻址方式

    寻找指令或操作数的有效方式

    确定本条指令操作数地址

    下一条欲执行指令指令地址

    寻址方式:

    1. 指令寻址
    2. 数据寻址

    指令寻址

    始终由程序计数器PC给出

    顺序寻址

    (PC)+1->PC

    永远都是+1?不一定,假设内存单元按照字节(8Bit)进行编址单位,如果指令是32位(4个字节)的,这时候就不是+1了,是+4。64位就+8

    跳跃寻址

    由转移指令指出

    例如:

    数据寻址

    确定本条指令的数据地址,

    如何在指令当中表示一个操作数的地址

    **形式地址 **指令字中的地址

    **有效地址 **操作数的真实地址

    约定 指令字长 = 存储字长 = 机器字长

    隐含寻址

    不明显地给出操作数的地址,而是在指令中隐含着操作数的地址

    优点:有利于缩短指令字长。

    缺点:需增加存储操作数或隐含地址的硬件

    了解即可

    立即寻址

    指令特征#

    直接寻址

    间接寻址

    寄存器寻址

    寄存器间接寻址

    image-20200817170153143

    小节回顾

    偏移寻址

    基址寻址

    将CPU中基址寄存器(BR)的内容加上指令格式中的形式地址A而形成操作数的有效地址,即EA=(BR)+A

    面向操作系统

    隐式的(专门就有的寄存器)

    有利于多道程序设计

    image-20200819164309665

    编制浮动程序。

    变址寻址

    有效地址EA等于指令字中的形式地址A与编址寄存器IX的内容相加之和,即EA=(IX)+A,其中IX为变址寄存器(专用),也可用通用寄存器做编址寄存器。

    所有过程和基址寻址差不多。

    但是是面向用户的

    适合编写循环程序

    基址寻址+变址寻址

    相对寻址

    把程序计数器PC的内容就加上指令格式中的形式地址A而形成操作数有效地之,即EA=(PC)+A,其中A是相对于当前指令地址的位移量,可正可负,补码表示。

    相对寻址举例:

    堆栈寻址(不是很重要)

    两个操作数都可以隐含起来

    操作数存放在堆栈中,隐含使用堆栈指针(SP)作为操作数地址。

    CISC和RISC

    CISC: Complex Instruction Set Computer

    一条指令完成一个复杂的基本功能

    代表:x86架构,主要用于笔记本、台式机

    RISC: Reduced Instruction Set Computer

    精简指令集

    一条指令完成一个基本“动作”;多条指令组合完成一个复杂的基本功能。

    代表:ARM架构,主要用于手机、平板等。

    例如单词输出

    小结

  • 相关阅读:
    在 Ubuntu 中运转 µTorrent
    TestDisk & PhotoRec——两个数据规复软件
    Ext2 IFS For Windows
    Rainlendar-可定制的桌面日历
    Gimmix:一个新的 MPD 客户端播放器
    SuperSwitcher-桌面增强器械
    Audacity 1.2.6 & 1.3.2
    XChat 2.8.0
    Griffith:电影聚集筹划软件
    VLC media player 0.8.6a
  • 原文地址:https://www.cnblogs.com/jev-0987/p/13561183.html
Copyright © 2011-2022 走看看