本文主要是介绍寻址范围总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
基本不出两种情况。以下是例子,真正弄懂就差不多不用害怕了。
假设CPU有20根地址线,32根数据线,试问按字节和字寻址,寻址范围分别是多少?
解答:首先,默认情况下,地址线的位数对应的都是按字节寻址。但是如果题目中数据线就只有4根,还当默认按字节寻址,那就大错特错了。因为数据线才4根,一次读写只能4个bit,根本不可能做到按字节寻址,这里的数据线有32根。所以可以大胆放马过来。
如果是按字寻址,就需要拿出地址线做字内字节寻址。因为,一个字有多个字节。寻址本身和数据线没有任何关系。要的是,能够索引到相应字节,而数据线位数,可以显示的是字内有多少字节,从而决定分配多少地址线来。
好了,按字节寻址:20根地址线,寻址范围就是 220=1M 。
按字寻址,因为数据线有32位,所以一个字有4字节。拿出两根地址线来(00 01 10 11),剩下18根地址线,所以寻址范围是 256K(218) ,即,可以数到252K个字,再由字内寻址,可以定位到每一个字节。
想不想问,多少个字节总共?
这个很容易想到,最多是 220 个字节。两种方式都一样。如果是64位数据线呢,20位地址线,拿出3根做字内寻址,还剩17根做字寻址。还是一样的,只有 220 个字节。
所以,存储的大小由地址线决定,数据线,只是定义了存储格局。仅此而已。
另外,可以看出,一般会先给出存储器容量和字长,再来问其他的数据。
唯一的考点是:不管字长怎样,按字节寻址的范围都是一样的,且等于存储容量(注意单位化成Byte)。比如说存储容量为1MB,则按字节寻址就是1M,对应地址线数目为20根。
这篇关于寻址范围总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!