编址方式入门

所谓寻址,指的是寻找操作数的地址或下一条将要执行的指令地址,寻址技术是计算机设计中硬件对软件最早提供支持的技术之一.

寻址技术包括编址方式和寻址方式.

在计算机中,编址方式是指对各种存储设备进行编码的方式.

1.编址

通常,指令中的地址码字段将指出操作数的来源和去向,而操作数则存放在相应的存储设备中.在计算机中需要编址的设备主要有CPU中的通用寄存器、主存储器和输入输出设备3种.

要对寄存器、主存储器和输入输出设备进行访问,首先必须对它们进行编址.就像一个大楼有许多房间,首先必须给每一个房间编上一个唯一的号码,人们才能据此找到需要的房间一样.

如果存储设备是CPU中的通用寄存器,在指令字中应给出寄存器编号
如果是主存的一个存储单元,在指令字中应给出该主存单元的地址
如果是输入输出设备(接口)中的一个寄存器,指令字中应给出设备编号或设备端口地址或设备映像地址(与主存地址统一编址时).

2.编址单位

目前常用的编址单位有字编址、字节编址和位编址.

(1)字编址
字编址是实现起来最容易的一种编址方式,这是因为每个编址单位与访问单位相一致,即每个编址单位所包含的信息量(二进制位数)与访问一次寄存器、主存所获得的信息量相同.早期的大多数机器都采用这种编址方式.

在采用字编址的机器中,每执行一条指令,程序计数器加1;
每从主存中读出一个数据,地址计数器加1.

这种控制方式实现起来简单,地址信息没有任何浪费.但它的主要缺点是不支持非数值应用,而目前在计算机的实际应用领域中,非数值应用已超过数值应用.

(2)字节编址
目前使用最普遍的编址方式是字节编址,这是为了适应非数值应用的需要.字节编址方式使编址单位与信息的基本单位(一个字节)相一致,这是它的最大优点.然而,如果主存的访问单位也是一个字节的话,那么主存的带宽就太窄了,所以编址单位和主存的访问单位是不相同的.通常主存的访问单位是编址单位的若干倍.

在采用字节编址的机器中,如果指令长度是32位,那么每执行完一条指令,程序计数器要加4.如果数据字长是32位,当连续访问存储器时,每读写完一个数据字,地址寄存器要加4.由此可见,字节编址方式存在着地址信息的浪费.

(3)位编址
有部分计算机系统采用位编址方式,如STAR-100巨型计算机等.这种编址方式的地址信息浪费更大.

3.指令中地址码的位数

指令格式中每个地址码的位数是与主存容量和最小寻址单位(即编址单位)有关联的.主存容量越大,所需的地址码位数就越长.对于相同容量来说,如果以字节为最小寻址单位,地址码的位数就需要长些,但是可以方便地对每一个字符进行处理;如果以字为最小寻址单位(假定字长为16位或更长),地址码的位数可以减少,但对字符操作比较困难.例如:设某计算机主存容量为220个字节,机器字长32位,若最小寻址单位为字节(按字节编址),其地址码应为20位;若最小寻址单位为字(按字编址),其地址码只需18位.从减少指令长度的角度看,最小寻址单位越大越好;而从对字符或位的操作是否方便的角度看,最小寻址单位越小越好.

ps

  • 什么是地址码?

总结

  • 首先要编址,其次才能寻址

参考

指令操作码与地址码 - cpoint - 博客园
https://www.cnblogs.com/cpoint/archive/2012/11/11/2765634.html

按字节编址与按字编址的区别? - 知乎

  • 6
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值