CPU寻址计算

来源:百度知道 编辑:UC知道 时间:2024/07/01 04:03:24
书上说CPU的寻址能力是 CPU有N根地址线就乘以2的N次方,比如说8086CPU是8根地址线的,就是2的8次方.我的理解是 00000000 00000001 00000010 00000010...依次类推,刚好有256组! 一个字节是由8个0 1组成的.256组,刚好可以组成 256个字节,就可以证明8086的CPU寻址能力就是256个字节,!!!!!<问题来了>如果是4004CPU的话因为4004是4位的所以 是2的4次方,是16个字节????? 可是组成的地址都是4位的啊,比如0000 0001 0010 0011 0100 0101 01100111 1000 1001 1010 1011 1100 1101 1110 1111 刚好有16组,可是和8086不同,8086每组有8个2进数 刚好组成一个字节,4004每组只有4个2进数,应该只有半个字节呀,16组应该只有8个字节啊,为什么说4004 支持16个字节呢?????

8位地址线,寻址范围是2的8次方
4位地址线,寻址范围是2的4次方
16位地址线,寻址范围是2的16次方
你所说的“4004每组只有4个2进数,应该只有半个字节呀”这指的是地址,并不是字节。不要把地址线的位数和机器存储单元包含的位数混淆。4位的地址线,就能搜到16个地址,每个地址代表一个存储单元,16个地址=16个存储单元,但是一个地址代表几个位就不一定了。
一般来说8位=1字节,还有二般来说呢。

Address Bus的总线宽度决定了CPU的寻址能力,你前面一段的理解是没有错的,但是Intel 4004只支持4位运算..
并且貌似当时还没有数据总线,地址总线等等说法,而8086是16根数据总线..2x2x2x....x2=65536 65536/1024=64 64/4=16 而按照这个算法的话 4004则是2X2X2X2=16 16/4=4

不好意思 对这个我是门外汗,......
进来学习来的!!!