按字节寻址,就是每个字节都有1个地址,反过来说就是寻址范围内的每个地址(每个数字)都对应存储器中的1个字节,这里字节作为寻址的基本单位,所以寻址范围完全为地址线的宽度决定,例如24位地址线,按字节寻址的范围就是2^24=16M。
按字寻址,每个字有1个地址,这里的寻址范围除了地址线宽度以外,还跟字长有关。如果字长是32位,那么1个字就是4个字节。所以寻址范围就是“按字节寻址的寻址范围/4”,具体到地址线来说,如果地址线宽度是24位,按字寻址的寻址范围就是16M/4=4M,只需要占用地址线其中的22位,那么地址线剩余的两位用来做什么呢?正好用来区分同一字的4个字节的位置。由于1个字包含多个字节,所以字地址具体是由该字的高位字节的地址还是低位字节的地址来表示,由具体的机器自行决定。
同理,如果字长是16位,那么1个字就是2个字节。所以寻址范围就是“按字节寻址的寻址范围/2”,具体到地址线来说,如果地址线宽度是24位,按字寻址的寻址范围就是16M/2=8M,只需要占用地址线其中的23位,那么地址线剩余的一位用来做什么呢?正好用来区分同一字的2个字节的位置。