精华内容
下载资源
问答
  • 3264位系统寻址空间及最大内存

    千次阅读 2019-10-10 09:52:35
    理论上:32=2^32B = 4 * 2^30B = 4GB,这是 32 下单进程内存上限 ...64位架构下,地址线是46个,所以最大的物理地址是2^46B,折合64TB,可用地址空间也是这么大(目前为止): 为什么32Win...

     

    理论上:32位=2^32B = 4 * 2^30B = 4GB,这是 32 位下单进程内存上限

     

    目前(2015年5月),Intel的32位架构下,可使用的地址线是36个,可使用的最大物理地址是2^36B,折合64GB,可用的地址空间是4GB。

    64位架构下,地址线是46个,所以最大的物理地址是2^46B,折合64TB,可用地址空间也是这么大(目前为止):

     

    为什么32位Windows中实际可用内存少于4G:

    虽然物理地址有4G,但CPU如果要访问你的显卡上的显存,就必须把物理地址空间的一部分用于标识显存,这种技术被称为memory-mapped I/O,这样可以让CPU操作显存像操作内存一样。

    在Windows的设备管理器里,查看显卡的属性页里的“资源”,可以看到内存映射的地址范围,实际上不管32位还是64位,都需要占用一部分地址空间,32位Windows只有4G的地址空间,被显存占去了一部分,所以可用的地址空间就少于4G了

     

    实际上不仅仅是显存,你电脑上的PCI控制器,各种网卡、声卡、USB控制器等等都需要占用一定的物理内存,所以最终的后果就是可用的物理地址范围变得特别少,最少可能只有1.99GB,这种限制在32位Windows上是不可改变的。

    所以,32位WIN7的可用内存才变得那么少,解决问题的唯一途径是换64位系统,或者Linux。

     

     

     

    CPUCPU Address Bus Size Maximum RAM 
    808620 bit 1MB
    8088 20 bit 1MB
    80286 24 bit 16MB
    80386SX24 bit 16MB
    80386DX 32 bit 4GB
    80486SX 32 bit 4GB
    80486DX32 bit 4GB
    Pentium I 32 bit 4GB
    K632 bit 4GB
    Duron 32 bit 4GB
    Athlon 32 bit 4GB
    Athlon XP 32 bit4GB
    Celeron  36 bit64GB
    Pentium Pro36 bit 64GB
    Pentium II36 bit64GB
    Pentium III36 bit64GB
    Pentium 4 36 bit64GB
    Athlon  40 bit1TB 
    Athlon-64 40 bit1TB 
    Athlon-64 FX 40 bit1TB 
    Opteron  40 bit1TB 
    Itanium 44 bit 16TB 
    Itanium 2  44 bit16TB 

     

     

    PAE确实可以让x86硬件支持到能够访问64G的地址空间,Windows的内核也支持使用多达64G的物理地址空间,但是微软偏偏要对各个版本的Windows的物理内存上限作出限制,下面是XP和Win7的物理内存上限

     

     

     

    参考:https://blog.csdn.net/w892824196/article/details/80558114

    https://bbs.pediy.com/thread-137830.htm

    https://docs.microsoft.com/zh-cn/windows/win32/memory/memory-limits-for-windows-releases?redirectedfrom=MSDN

     

     

     

     

     

     

     

     

     

    展开全文
  • 1. 什么是寻址空间寻址空间一般指的是CPU对于内存寻址的能力。通俗地说,就是能最多用到多少内存的一个问题2. 我们经常听说32操作系统最多能用4G内存。大部分情况下,这个上限都达不到。例如我的机器,虽然是4G...

    1. 什么是寻址空间

    寻址空间一般指的是CPU对于内存寻址的能力。通俗地说,就是能最多用到多少内存的一个问题

    2. 我们经常听说32位操作系统最多能用4G内存。大部分情况下,这个上限都达不到。例如我的机器,虽然是4G物理内存,但实际上识别的只有3G。有的朋友说是可以识别到3.2G或者3.5G不等,我想这跟人品是没有什么关系的

    fcf18be3c65a4514b189159b06587e6d.png

    那么,这剩下的1个G左右的内存不是浪费了吗?可不是嘛,太心痛了。所有很多朋友都用一个软件将这部分内存转换为硬盘用

    http://blog.miniasp.com/post/2008/04/Useful-tools-Gavotte-Ramdisk.aspx

    【备注】我自己还没有这么用,要想试用该功能的同学,自己需要慎重。如果你用的好,记得反馈一下给我,呵呵

    3. 为什么说只能寻址到这个大小呢?我今天是要从程序的角度来解说一下

    首先说什么是32位?32位是针对CPU的一个术语

    对于程序员来说,这表示了我们在与计算机打交道的时候,能够使用的最大数字是2的32次方。这等于多少呢?

    67feceb2a67acb50db811529c8b78c37.png

    那么这个数字是什么为单位呢?bit ,也可以称为比特,或者位。这是计算机可以理解的东西。这个bit里面包含的值,只有两个,就是0和1

    好了,那么这个bit怎么样能转换为GB呢,很简单:将它连续除以3次1024.

    4294967296/1024/1024/1024

    结果等于多少呢?

    712f282b0bb14f0bbfd7d9fe5c482b4e.png

    为什么除3次?第一次转换为KB,第二次转换为MB,第三次就转换为GB了

    4. 那么64位的CPU的寻址空间可以到多大呢?

    f8a696ed35b046cdb2077e70c861c575.png

    我算一算,可以到多少GB呢?

    6fe6be2f5a6dd5022944beefc544a314.png

    额的神啊,根据摩尔定律的计算,我想我的有生之年是不需要担心内存不够用的问题的

    展开全文
  • 操作系统的位数决定寻址空间

    千次阅读 2018-11-02 11:09:46
    32 操作系统最大支持 4GB 内存(多装内存也没有用),64 操作系统最大为 17179869184G,但是目前 64 windows 系统最大只支持 192G、128G,可用内存大小还与主板有直接关系,主板跟不上加内存也没有用。...

    32 位操作系统最大支持 4GB 内存(多装内存也没有用),64 位操作系统最大为 17179869184G,但是目前 64 位 windows 系统最大只支持 192G、128G,可用内存大小还与主板有直接关系,主板跟不上加内存也没有用。

    解释:在计算机中,一个地址存放一个字节(1B)的数据,所以 32 位操作系统的一个地址用 32 个二进制位表示,可表示的内存大小为 2 的 32 次方再乘 1B,即 4 * 1024 * 1024 * 1024 B = 4 * 1024 * 1024 KB = 4 * 1024 MB = 4GB。

    若存在一个整数数组 v[ ] = {1,2,3},一个 int 为 4 字节,&v[0] 地址为0x0000008,&v[1] 地址就应为0x000000c,故地址直接 + 4。

    移动联通宽带所说的 10M 网速指的是 10Mbps(bps:比特率),实际下载速度应为 1.25MB / 秒。

    展开全文
  • 目前(2015年5月),Intel的32架构下,可使用的地址线是36个,可使用的最大物理地址是2^36B,折合64GB,可用的地址空间是4GB。以下内容摘自《Intel® 64 and IA-32 Architectures Software Developer's Manual》,...

    目前(2015年5月),Intel的32位架构下,可使用的地址线是36个,可使用的最大物理地址是2^36B,折合64GB,可用的地址空间是4GB。

    以下内容摘自《Intel® 64 and IA-32 Architectures Software Developer's Manual》,3.2节(intel.com/content/dam/w):

    Address space — Any task or program running on an IA-32 processor can address a linear address space of up to 4 GBytes (232 bytes) and a physical address space of up to 64 GBytes (236 bytes). See Section 3.3.6, "Extended Physical Addressing in Protected Mode," for more information about addressing an address space greater than 4 GBytes.

    64位架构下,地址线是46个,所以最大的物理地址是2^46B,折合64TB,可用地址空间也是这么大(目前为止):

    Address space — A task or program running in 64-bit mode on an IA-32 processor can address linear address space of up to 264 bytes (subject to the canonical addressing requirement described in Section 3.3.7.1) and physical address space of up to 246 bytes. Software can query CPUID for the physical address size supported by a processor.

    所以内存为什么只有这么大,是Intel手册限制了。

    64位环境下,地址空间不是从地址向高地址增长的,而是中间被掏空,两头使用:

    <img data-rawheight="205" data-rawwidth="174" src="https://pic3.zhimg.com/50/69dd29146efc89f4f05cd3e8fce11826_hd.jpg" class="content_image" width="174">
    再说实际使用中:

    虽然32位环境下实际上CPU支持访问大于4G的物理内存,但Windows将此功能屏蔽了,导致了32位Windows实际只能使用4G的物理地址空间,具体原因参见这个回答:为何微软不在新的操作系统中让 32 位支持大于 4GB 的内存? - 北极的回答

    然后再说为什么32位Windows中实际可用内存少于4G:

    虽然物理地址有4G,但CPU如果要访问你的显卡上的显存,就必须把物理地址空间的一部分用于标识显存,这种技术被称为memory-mapped I/O,这样可以让CPU操作显存像操作内存一样。


    在Windows的设备管理器里,查看显卡的属性页里的“资源”,可以看到内存映射的地址范围,实际上不管32位还是64位,都需要占用一部分地址空间,以下是我的电脑的截图:

    <img data-rawheight="448" data-rawwidth="404" src="https://pic4.zhimg.com/50/d15b39fa3ff564096dfdc3790e45bcd6_hd.jpg" class="content_image" width="404">
    因为32位Windows只有4G的地址空间,可是又被显存占去了一部分,所以可用的地址空间就少于4G了。

    实际上不仅仅是显存,你电脑上的PCI控制器,各种网卡、声卡、USB控制器等等都需要占用一定的物理内存,所以最终的后果就是可用的物理地址范围变得特别少,最少可能只有1.99GB,这种限制在32位Windows上是不可改变的。

    所以,32位WIN7的可用内存才变得那么少,解决问题的唯一途径是换64位系统,或者Linux。
    展开全文
  • 字长:处理器一次能处理的最大数据长度,一般用byte表示;32/8bite=4 64/8=8byte寻找范围:和地址总线的根数N有关,2^N一般32位系统为4G32位置系统中 gcc编译环境char 1byte short 2 int long float 4 double8...
  • 寻址空间与寻址范围

    万次阅读 多人点赞 2017-04-07 23:39:16
    寻址空间一般指的是CPU对于内存寻址的能力。通俗地说,就是能最多用到多少内存的一个问题,即能够寻址的最大容量。一般用MB和G来表示。 数据在存储器(RAM)中存放是有规律的 ,CPU在运算的时候需要把数据提取出来就...
  • 32的操作系统能够寻址的地址编号范围是1到2的32次方,而每一个地址都是指的内存中一个字节的地址,所以32操作系统能够支持访问的的最大内存空间是2的32次方字节,也就是4G的内存空间,根据自己的理解,自己画了...
  • 32位64位最大内存、寻址空间等问题

    万次阅读 2013-12-01 15:09:06
    寻址空间一般指的是CPU对于内存寻址的能力。通俗地说,就是能最多用到多少内存的一个问题。数据在存储器(RAM)中存放是有规律的 ,CPU在运算的时候需要把数据提取出来就需要知道数据在那里 ,这时候就需要挨家挨户...
  • 关于为什么32操作系统(严格讲是32总线)的寻址能力是4G的问题,今天发现网上好多说法都是不准确甚至错误的。 我认为正确的解释应当是: a) 32能表示的最大无符号整数是2^32 - 1,若含0,则能表达的最大个...
  • 寻址空间一般指的是CPU对于内存寻址的能力。通俗地说,就是能最多用到多少内存的一个问题,即能够寻址的最大容量。一般用MB和G来表示。 数据在存储器(RAM)中存放是有规律的 ,CPU在运算的时候需要把数据提取出来就...
  • 行业分类-嵌入式设备-嵌入式系统寻址空间的分区方法.zip
  • 1. 什么是寻址空间 寻址空间一般指的是CPU对于内存寻址的能力。通俗地说,就是能最多用到多少内存的一个问题 2. 我们经常听说32操作系统最多能用4G内存。大部分情况下,这个上限都达不到。例如我的机器,虽然是4G...
  • 解决了困扰我多年的问题:3264位计算机的区别。让我这个非计算机专业的人情何以堪啊。。 以下内容转载自:http://blog.csdn.net/lovejavaydj/article/details/7295505 一、什么叫寻址空间寻址空间一般指的...
  • 今晚在查资料的时候突然纠结到了一个问题: ip地址是32的,那么所有可能的ip地址一共有2**32=4G个。 那么问题来了,这所有的ip地址存储起来到底是多大的...于是第二个问题来了:32位寻址地址的操作系统内存应该是多大
  • 关于为什么32操作系统(严格讲是32总线)的寻址能力是4G的问题,今天发现网上好多说法都是不准确甚至错误的。 我认为正确的解释应当是:a) 32能表示的最大无符号整数是2^32 - 1,若含0,则能表达的最大个数为...
  • 寻址空间

    2014-04-21 10:24:37
    中央处理器(Central Processing Unit)的缩写,即CPU,CPU是电脑中的核心配件,只有火柴盒那么大,几张纸那么厚,但它却是一台计算机的运算核心和控制核心。电脑中所有操作都由CPU负责读取指令,对指令译码并执行...
  • CPU——寻址空间

    千次阅读 2018-11-01 10:44:24
     我们都熟知32为的操作系统寻址空间的大小为4G,因此我们安装一个32位系统在配置4g的内存条,这似乎非常完美。但是当我们打开任务管理器发现我们的物理内存只有3g左右。 寻址空间:  寻址空间一般指的是CPU...
  • 今天啃《鸟哥》,复习到swap时,鸟哥说目前linux 64位系统的最大寻址64GB,因此swap的总量也是64GB。我知道32位系统的最大寻址已经到4GB了,而64位系统的最大寻址64GB,感觉不科学。而且系统位数跟最大内存寻址...
  • 操作系统寻址

    2013-07-21 00:59:08
    2. 我们经常听说32操作系统最多能用4G内存。大部分情况下,这个上限都达不到。例如我的机器,虽然是4G物理内存,但实际上识别的只有3G。有的朋友说是可以识别到3.2G或者3.5G不等,我想这跟人品是没有什么关系的 ...
  • 32根地址总线的寻址空间是 2B的32次方 = 4GB
  • 一、什么叫寻址空间寻址空间一般指的是CPU对于内存寻址的能力。通俗地说,就是能最多用到多少内存的一个问题。数据在存储器(RAM)中存放是有规律的 ,CPU在运算的时候需要把数据提取出来就需要知道数据在那里 ,...
  • 一、什么叫寻址空间?  寻址空间一般指的是CPU对于内存寻址的能力。通俗地说,就是能最多用到多少内存的一个问题。数据在存储器(RAM)中存放是有规律的 ,CPU在运算的时候需要把数据提取出来就需要知道数据在那里...
  • 首先明确 数据总线,地址总线,控制总线的区别 及 操作系统位数对寻址范围的影响. 1.数据总线,地址总线,控制总线的区别 比如一封信到你家门口,邮递员会大喊一声:“信来了”。在计算机内部数据在数据总线上传递的,...
  • 32程序超过2G内存空间寻址问题

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 86,672
精华内容 34,668
关键字:

64位系统寻址空间