十六位字长的机器如何表示二十位地址
发布网友
发布时间:2022-11-28 21:23
我来回答
共1个回答
热心网友
时间:2023-10-24 06:24
公式如下:物理地址=段地址X16+偏移地址
说白了,就是用两个16位数(一个是段地址,另一个是段内偏移),合成一个20位地址。
例如:一本书,有99页,如果可以用“2位”十进制数表示,那么第0页就是:00,第14页就是:14.
用2个“1位”十进制数表示那么就只好分段了,由于“1位”十进制数可以表示10页,99页书就分成10段。
则第0页就是:第0段,第0页; 段寄存器为0,段内偏移为0.(即第0段的第0个位置)
第14页就是:第1段,第4页。 段寄存器为1,段内偏移为4.(即第1段的第4个位置)
然后用段寄存器地址和段内偏移地址组成一个“2位”地址。
则第14页物理地址为:段地址“1”左移一位,得到10,再加上段内偏移4,最终得到14.
十六位字长的机器如何表示二十位地址和这个意思相同。
首先16位字长,能表示2的16次方个数,即64k
20位字长,可以表示2的20次方个数,即1M。
由此可见,一个16位数是不能表示20位地址的。
需要两个数。
可以将20位的地址分段,每段为64k(这样16位字长就能访问段内的所有的地址了,即相当于段首的偏移地址。),则共分1M/64个段=2的4次方个段(则段长其实用不了16位,只要4位就够用了),物理地址就表示为某段的第几个位置。
这20位数中,低十六位用来表示段内偏移,高四位表示段地址。段地址乘以十六,目的就是为了让高4为表示段地址。
这下该明白了吧,