指令系统中的寻址范围总结

1.首先区分寻址范围与寻址空间

寻址范围:是一个数字范围,无单位;

寻址空间:能够寻址的最大容量;

例题:

设有一个1MB容量的存储器,字长32位,问:按字节编址,字编址的寻址范围以及各自的寻址范围大小?

如果按字节编址,则

1MB = 2^20B 2^20B/1B = 2^20

地址范围为0~(2^20)-1,也就是说需要二十根地址线才能完成对1MB空间的编码,所以地址寄存器为20位,寻址范围大小为2^20=1M

如果按字编址,则

1MB=2^20B 1字=32bit=4B

(注意:字长是32位,就是指1字=32bit,该信息只有在按字编址时才有用。这里的字长说的是存储字长)

2^20B/4B = 2^18

地址范围为0~2^18-1,也就是说我们至少要用18根地址线才能完成对1MB空间的编码。因此按字编址的寻址范围是2^18

寻址方法:

寻址范围:

立即寻址:直接放一个数

直接寻址:A的字长

间接寻址:存储字长=?(机器字长)

相对寻址:(PC附近)A的字长

基址寻址:

变址寻址:机器字长=存储字长

注意:

机器字长:CPU一次能处理数据的位数,通常与CPU的寄存器位数有关。存储字长:存储器中一个存储单元(存储地址)所存储的二进制代码的位数,即存储器中的MDR的位数。指令字长:计算机指令字的位数。数据字长:计算机数据存储所占用的位数。

通常早期计算机:存储字长 = 指令字长 = 数据字长。所以访问一次可取一条指令或一个数据

随着计算机应用范围的不断扩大,三者可能各不相同,但它们必须是字节的整数倍。

Copyright © 2022 世界杯进球_国足进世界杯了吗 - fulitb.com All Rights Reserved.