EzioA 发表于 2015-11-30 17:32:47

关于地址总线的入门知识

地址总线有N根,寻址能力就是2^NByte,每根线上面传送的是二进制信息。

假如地址总线只有一根,那么寻址能力是2 Byte吗?为什么不是2 bit?总线传输的数据不是0和1的二进制bit数据吗?


假如说一个CPU有10根地址总线,那么它的寻址能力为1MB,这1MB是什么意思?是指CPU最多只能找到内存从开头开始的1MB的地址吗?

lovexiao23 发表于 2015-11-30 19:02:59

我也是刚学哈 我说说的理解
首先是这样 1个Byte 是最小单元 不是bit每个内存单元的是1个byte
一个地址 对应一个内存单元 也就是1个Byte
一根总线 可以是0或1 就可以索引 两个地址 也就是2个Byte
十根地址总线也就是总线宽度为10, 就能索引 2^10=1024Byte=1KB(注意不是1MB哦)
寻址能力可以理解为 cup可以找到多少个字节(Byte)

EzioA 发表于 2015-11-30 20:33:16

lovexiao23 发表于 2015-11-30 19:02
我也是刚学哈 我说说的理解
首先是这样 1个Byte 是最小单元 不是bit每个内存单元的是1个byte
一个地址...

十根地址总线能找到1KB大小的内存地址。假如总内存为3KB,那么这十根地址总线是否只能找到0~1KB这1KB的内存地址呢?后面的2KB的内存地址无法被寻到?

一念天堂 发表于 2015-11-30 21:37:21

8086CPU是16位结构,只能发送16位的地址,表现出的寻址能力只有64KB。但是8086CPU却有20位地址总线,可以传送20位地址,达到1MB寻址能力。所以在内部用两个16位地址合成的方法来形成一个20位的物理地址。 物理地址=段地址X16+偏移地址。

EzioA 发表于 2015-11-30 23:02:34

一念天堂 发表于 2015-11-30 21:37
8086CPU是16位结构,只能发送16位的地址,表现出的寻址能力只有64KB。但是8086CPU却有20位地址总线,可以传 ...

8086CPU的寻址能力有1MB,如果现在存储空间有3MB,那么8086CPU是否只能寻到其前面的1MB的地址,后面的2MB寻不到呢?

Alan_Ciao 发表于 2015-12-1 11:27:42

      CPU的寻址能力是看地址总线的数目的。如果只有一根地址总线,也就是说CPU只能给出0和1这两个编号的地址,一个编号的地址对应内存中一个字节的空间,即1Byte。CPU寻址也只能一个字节一个字节的访问,而不能一个bit一个bit的访问。所以两个数就只能访问两个字节的内存空间了。
      如果有10根总线的话,总共可以给出2^10个地址,即1024Byte = 1kB。总共就只能有这么多的地址编号了,再多的编号CPU是给不出来的,所以即使内存的容量大于1kB,CPU也是“看不到”的,多余的部分就没有用浪费掉了。

xiaoyuerhuang 发表于 2015-12-5 06:32:51

哈萝莉 发表于 2015-12-6 21:06:56

同不懂
页: [1]
查看完整版本: 关于地址总线的入门知识