20选址问题--小弟愚钝
前面已经提到16位字长的机器可以访问最大存储空间为64K字节,而PC机的最大存储容量为1M(原MS-DOS操作系统下)。要访问1M字节空间的存储器必须有20位地址,用16进制数表示1M字节的地址范围应该为00000-FFFFF。
在1M字节的存储器里,每一个存储单元都有一个唯一的20位地址,称为该存储单元的物理地址。CPU访问存储器时,必须先确定所要访问的存储单元的物理地址才能取得(或存入)该单元的内容。20位物理地址由16位段地址和16位偏移地址组成,段地址是指每一段的起始地址,由于它必须是小段的首地址,所以其低4位一定是0,这样就可以规定段地址只取段起始地址的高16位值。偏移地址则是指在段内相对于段起始地址的偏移值。这样,物理地址的计算方法如下:
把段地址左移4位再加上偏移地址值就形成物理地址。或写成: 16dX段地址+偏移地址=物理地址
疑问:如果是这么算,那么物理地址不是会重复了吗?比如:16*0x0010+0x0000和16*0x0000+0x0100