在内存中,基本储存单位是一个字节。由于16位CPU的地址线是20位的,所以可以用一个20位数来唯一的标识一个字节的储存单位。当需要找到某一
在内存中,根本贮存单位是一个字节。因为16位CPU的地址线是20位的,所以能够用一个20位数来仅有的标识一个字节的贮存单位。当需求找到某一特定的贮存单元时,只须给出该单位的20位标识数码就能够了。这个起标识效果的20位数码便是该贮存单元的物理地址。因为地址线是20位,所以16位CPU的最大寻址才能是1MB。另一方面,16位CPU的数据线却是16位,无法一次性传送20位数。所以,16位CPU想一次寻址20位是不可能的。
人的创造力是无量的,天才的设计者们想到了一个办法,将20位物理地址分红两步给出。首要,将内存分段。每一个段的首地址的低四位都是0,这样最多能够分红64k个小段。一起因为段基址(首地址)的低4位都是0,所以段基址只需求16位就能够描绘。这样,想给出一个贮存单元的物理地址,首要要找到它是归于哪个段,也便是找到段基址。而段基址都被放在相应的段寄存器中。第二步,在段内开端寻址。也便是找到该单元相对于段首的偏移地址。因为数据线最大宽度是16位,所以最多能够用16位来标识一个偏移量。实际上,这也暗示了一个段的最大长度是64kb。
总的来讲,16位CPU寻址选用的是段+偏移的方法
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/ruanjian/256112.html