三、操作数访问(寻址)方式(识记)
指令中对操作数的访问方式,按访问手段可分为两大类:常用的是按地址访问,另一类是按内容访问方式。
计算机中的两个地址概念一个是逻辑地址、一个是物理地址,前者为虚,后者是实,一般所讨论的寻址方式是指逻辑地址的寻址方式。
地址的编址,通常有三种不同方式:(1)按各种部件分类编址;(2)统一编址;(3)隐式编址
对存储器这一存储部位编址(领会),绝大多数计算机将字节作为最小访问单位(注意,1字节=8位。1字=4字节。)这里我们要弄清什么是"大端排序"和"小端排序".比如要访问一个字(32位4字节)的时候,要求一次写入4个字节的数据,而存储器最小访问单位是1个字节,那么就需要把这"字"分成4段存入4个单元中。如果确定把这个"字"的最低有效位的字节(最右边的一段)是存储器地址末位为"0"中的内容,最高有效位的字节(最左边的一段)是地址末位为3的内容,则我们称之为小端排序(即访问字的最低有效位(小端)地址是按0、4……等顺序排列的);反之若将字的最高有效位的字节放在"0"、"4"等地址中,则称之为大端排序。
访问方式可按面向对象和寻址方式来区分:前者可分为面向寄存器、面向存储器、面向堆栈的访问方式。后者可分为如下寻址方式:(了解一下即可)
立即数 指令中所带的操作数内容即是一个可用的数绝对方式 指令中给出一个地址,访问该地址得到操作数寄存器方式 访问某个寄存器中给出的地址,由地址访问到操作数寄存器间接访问某个寄存器,由这个寄存器中的内容找到另一寄存器,由给出的地址取得操作数存储器间接访问存储器中某单元,得到另一地址,再访问到该地址取得操作数自增/自减将某寄存器中的数加上或减去操作操作数的字节数,找到地址变址方式 由寄存器中的数加上变址量得到地址…… ……
在CISC计算机中,使用频率最高的是带偏移的寄存器寻址方式,其次是直接量寻址,再就是寄存器间接寻址。在RISC机中,只选择那些使用频率高的寻址方式,如相对于寄存器寻址或PC的偏移寻址、立即数寻址以及基址加变址寻址等。
按内容访问方式时,并不提供要访问的存储单元地址,而是给出要访问的内容(很像是查询)。因此存储器的结构形式要作相应变化。为了加快访问速度,必须采用并行方式,相应的存储器就称为联想存储器。请对照课本第49页,对联想存储器的基本结构和其访问方法进行理解和领会。
实用的联想存储器,一般除有按内容访问能力外,还有按地址访问能力。