740641642 发表于 2015-11-1 18:20:16

有个一直搞不明白的地方。。[新手问题]

一个内存单元=1B也就是一个内存单元=8bit
那8bit能组成2^8=256 个地址
也就是说所有的内存单元只能有256个地址吧?
而且现在的内存单元
都不是1B的啊

求解求解。。

龙希0514 发表于 2015-11-1 20:59:30

打印出来的有虚拟内存地址,虚拟内存地址与物理地址建立映射关系

红袖舞妖 发表于 2015-11-2 13:01:39

16进制的啊

小扇子 发表于 2015-11-4 07:15:06

从数据传输的角度来看:CPU可用内存单元的大小是看地址总线的宽度的,也就是说看地址总线有几位,如果有10位,那CPU就可以寻址就是2^10个byte大小的内存地址空间。
从CPU的角度来看:内存地址=段地址*16 + 偏移地址;所以不止是8bit

740641642 发表于 2015-11-29 20:18:11

小扇子 发表于 2015-11-4 07:15
从数据传输的角度来看:CPU可用内存单元的大小是看地址总线的宽度的,也就是说看地址总线有几位,如果有10 ...

段地址*16+偏移地址   
段地址 和 偏移地址 都有 256吧?   
那组合起来256^256=XXXXX       就怎么多个?
可不是说 一条地址是1B吗?我说的是地址本身的这个数据是1B
00000001   这个地址是1B                  我不是说里面的数据
01010101   这个地址也是1B
不知道是不是这样??

tianyuan 发表于 2015-11-29 22:44:43

段地址*16+偏移地址,十六进制的段地址*16 就是向左移动1位再加偏移地址就等于20位的物理地址。

tianyuan 发表于 2015-11-29 22:47:14

0~fffff

qq498313523 发表于 2015-11-30 00:30:54

支持!!!!

Especially涵 发表于 2015-11-30 16:40:55

740641642 发表于 2015-11-29 20:18
段地址*16+偏移地址   
段地址 和 偏移地址 都有 256吧?   
那组合起来256^256=XXXXX       就怎 ...

一个内存单元是1B 比如0001:0000即00010

EzioA 发表于 2015-11-30 17:28:00

内存单元在计算机里面显示出来的不是十六进制的数据吗?

lovexiao23 发表于 2015-11-30 19:33:11

楼主的理解很有问题 首先你混淆了两个问题
对应一个内存单元的地址 和一个内存单元中存储的数据
一个内存单元的大小是1Byte=8bit
一个bit就是可以放一个0或1 也就是可以存放0,1两个数
8个bit 就可以放2^8=256种0和1的组合 也就是可以存放256个不同的数,十进制就是从0到255
换句话说一个内存单元就最多能存储最大的数是255
这个8bit 跟地址没有半毛钱关系
能寻找多少个地址 跟地址总线宽度有关系 也就是跟连接CPU到内存的那根“地址总线”的数量
一根可以发两个信号也就是1或0 可以指定两个地址 一个地址可以定位一个内存单元 也就是定位一个Byte
N根总线 就是2^N个地址
页: [1]
查看完整版本: 有个一直搞不明白的地方。。[新手问题]