学习操作系统时并行学习汇编语言,对王爽汇编语言第四版的一句话有些不理解,主要是不理解寻址和存储单元的概念,当初错误认为应该是2^20/8(即得到2^20个数据,单位为bit,寻址能力为地址总线能够传送的数据个数),后面发现其实还是看书不仔细,现做记录。
不理解这句话,可能是对词语的不理解,那么先对“8086CPU 有20位地址总线,可以传送20位地址,达到1MB寻址能力”这句话拆分。
名词解释:
1、地址总线:拆分为“地址”和“总线”,这里的“地址”意为“存储单元在存储器中的编号”,“总线”意为“连接CPU和其他芯片的导线”,那么“地址总线”即理解为“连接CPU和存储单元在存储器中的编号的导线”。
2、传送20位地址:“CPU是通过地址总线来指定存储器单元的。可见地址总线上能传送多少个不同的信息,CPU就可以对多少个存储单元进行寻址”,“一个CPU有N根地址线,这可以说这个CPU的地址总线的宽度为N”,“这样的CPU最多可以寻找2的N次方个内存单元”,故20位地址总线能够传送2^20个数据,可以寻找2^20个内存单元。
3、内存单元:内存上的存储单元,“我们知道电子计算机的最小信息单位是bit(音译为比特),也就是一个二进制位。8个bit组成一个Byte,也就是通常讲的一个字节。微型计算机存储器的存储单元可以存储一个Byte,即8个二进制位”,“微机存储器的容量是以字节为最小单位来计算的”。
4、寻址能力:这里指CPU对内存的寻址能力,由上文知,单位为字节(8bit/1Byte)。
那么可以明白,“8086CPU 有20位地址总线,可以传送20位地址,达到1MB寻址能力”,的意义为8086CPU 有有20位地址总线,可以寻找2^20个内存单元,而每个内存单元的大小为8bit/1Byte,所以其寻址能力为2^20*8bit=1MB。
文中不加粗斜体字为参考资料原文,来自王爽汇编语言第四版。