每台计算机都有一个字长(word size),指明整数和指针数据的标称大小(nominal size)。因为虚拟地址是以这样的字来编码的,所以字长决定的最重要的系统参数就是虚拟地址空间的最大大小。也就是说,对于一个字长为n位的机器而言,虚拟地址的范围为0~2n-1,程序最多访问2n字节。
字长是CPU的主要技术指标之一,指的是CPU一次能并行处理的二进制位数,字长总是8的整数倍,通常PC机的字长为16位(早期),32位,64位。32位处理器每次能处理 32bit(4Byte),同理,64位处理器每次能处理 64bit(8Byte) 。
32bit
:
1111
,
1111
,
1111
,
1111
,
1111
,
1111
,
1111
,
1111
=
232
=
4294967295
Byte
=
4
GB
注意这里的单位为什么是Byte而不是bit,因为字长限制的是最大虚拟地址空间,而不是内存容量。而一个虚拟地址空间能够引用一个Byte,也就是说有多少虚拟地址空间就有多少Byte的内存容量,其间不需要作*8/8的换算。
总结:虚拟地址空间的最大大小,受CPU位数的限制,而虚拟地址空间的最大值等价于内存能够被利用的最大容量。