如果2^32bits = 4Billion(大致)位而不是字节,32位地址是4GB?从本质上讲,4Gb如何变成4GB?如果内存正在寻址字节,那么可能性不应该是2 ^(32/8)?如果2^32bits = 4Billion位而不是字节,32位地址是4GB?
回答
这取决于您如何处理数据。
如果使用32位来寻址每个位,则可以寻址2^32位或4Gb = 512MB。如果你像大多数当前的体系结构一样处理字节,它会给你4GB。
但是,如果您寻址更大的块,则需要更少的位来寻址4GB。例如,如果您寻址每个512字节块(2^9个字节),则可以使用23位寻址4GB。 FAT16使用16位来寻址最大64KB群集,因此可以寻址最大4GB容量。一些较旧的体系结构使用word-addressed memory而不是像现今大多数字节一样使用字节。在Java Compressed Oops中使用相同的地址,您可以使用32位参考地址来访问32GB的RAM。无论如何,你的问题很混乱
芯片上的电气接口包括(非常简化)地址线(例如32条地址线)和数据线(例如8条线用于读取来自RAM的数据,8条线用于写入数据到RAM)。在这种情况下,您有8位2^32字,因此您可以处理2^32 * 8位数据。
如果你有一个字宽为16位的RAM(比8位更有可能),你将能够使用相同数量的地址位寻址两倍的RAM。在现代系统中,你不能真正“读取一个字节”,而是CPU从RAM中提取一个完整的缓存行,然后只给你所要求的字节。
但逻辑地址仍然(通常)在一个字节的“分辨率”.. – user2864740 2014-09-13 07:57:42
大多数现代计算机都是可以字节寻址的,每个地址标识一个8位字节的存储空间;太大而不能存储在单个字节中的数据可能驻留在占据一系列连续地址的多个字节中。存在可寻址的计算机,其中最小的可寻址存储单元正是处理器的词。例如,Data General Nova小型计算机,德州仪器TMS9900和美国国家半导体IMP-16微型计算机使用16位字,并且有许多使用18位字寻址的36位大型计算机(例如PDP-10)不是字节寻址,给出了2^18个36位字的地址空间,大约1兆字节的存储空间。内存寻址的效率取决于用于地址的总线的位大小 - 使用的位数越多,计算机可用的地址就越多。例如,具有20位地址总线(例如Intel 8086)的8位字节可寻址机器可以寻址2^20(1,048,576)个存储器位置,或者一个MiB存储器,而32位总线(例如Intel 80386)寻址2^32(4,294,967,296)个位置或4个GiB地址空间。
- 1. 地址被视为32位而不是64位
- 2. 为什么32位等于4Giga字节而不是4吉位
- 3. uint32_t有28位而不是32位
- 4. Android:java.lang.UnsatisfiedLinkError:dlopen失败:libwebviewchromium.so是32位而不是64位
- 5. 如何检测,如果CPU是32位还是64位
- 6. 为什么32位机器的最大容量是4GB?
- 7. 无论系统是32位还是64位,uint均为32位?
- 8. 强制Java applet运行在32位而不是64位JRE
- 9. Cmake:告诉find_package寻找32位库(而不是64位lib)
- 10. MIPS如何转移到32位地址?
- 11. 在32位和64位平台上总是处理32位?
- 12. InnoSetup:检测如果Java是32位或64位
- 13. 从C语言地址读取8位或16位或32位
- 14. Solr - 在Windows 7上使用64位Java而不是32位Java 64位
- 15. 32位操作系统上的2^32位或字节
- 16. 什么是适合32位和64位“32位”的术语
- 17. 64位十进制如何存储在32位地址中?
- 18. Ubuntu 32位最大地址空间
- 19. java.lang.UnsatisfiedLinkError:dlopen失败64位而不是32位,而.so应该内置在x86
- 20. 位操作,而不是如果复制位图
- 21. 如何让OS X 10.6将JSON :: XS编译为32位而不是64位?
- 22. 上32位和64位架构寻址
- 23. C++ 32位字的字节交换
- 24. 获得一个64位值与32位地址
- 25. 需要多少位来寻址32个字节?
- 26. 使用64位整数迭代器的32位地址空间?
- 27. 为什么32位机上的mongodb将数据大小限制为2GB,而不是4GB?
- 28. 为什么fPIC绝对需要64位而不是32位平台?
- 29. C++ GetProcAddress的64位返回的32位地址
- 30. 位置范围 - 而不是占位符
令人困惑的问题(也许与错字:23应该是32)。阅读有关计算机体系结构最常见的处理器是寻址字节,而不是位。 – 2014-09-13 07:30:46
谢谢。更正了23到32. – mkatt 2014-09-13 07:34:14
“2^32”是(表达式表示)一个数*没有*隐式单位;这是任意添加的,并且是这里的核心混乱。尝试别的..“2^32甜瓜味冰淇淋锥”,美味! – user2864740 2014-09-13 07:39:49