1. CPU位长/位长
电脑技术中对CPU在单位时间内(同一时间)能一次处理的二进制数的位数叫字长。所以能处理字长为8位数据的CPU通常就叫8位的CPU。同理32位的CPU就能在单位时间内处理字长为32位的二进制数据。当前的CPU大部分是32位的CPU,但是字长的最佳是CPU发展的一个趋势。AMD已经将推出64位的CPU-Atlon64。未来必然是64位CPU的天下。
字长:计算机的每个字所包含的位数称为字长。根据计算机的不同,字长有固定的和可变的两种。固定字长,即字长度不论什么情况都是固定不变的;可变字长,则在一定范围内,其长度是可变的。
计算的字长是指它一次可处理的二进制数字的数目。计算机处理数据的速率,自然和它一次能加工的位数以及进行运算的快慢有关。如果一台计算机的字长是另一台计算机的两倍,即使两台计算机的速度相同,在相同的时间内,前者能做的工作是后者的两倍。
2. CPU地址总线
CPU的地址总线决定CPU可访问内存空间的范围,如32位的地址总线可访问地址范围为:0~2^32(0x00000000~0xFFFFFFFF)4G,假如某个CPU配置一个8G的内存,用32位的地址总线则无法完全访问该内存。
3.字节位宽
CPU最小寻址单位,1个Byte包含的位数(bit),常见的字节位宽为8位,也有部分CPU字节位宽为16位或32位。如两片32位CPU,一个字节位宽为8,一个字节位宽为16,依次要访问一个char类型数据,两个double类型数据,起始地址都是0x00003FF0,则其访问地址如下表所示。
| 访问char地址 | 访问第一个double地址 | 访问第二个double地址 |
8位位宽 | 0x00003FF0 | 0x00003FF1 | 0x00003FF5 |
16位位宽 | 0x00003FF0 | 0x00003FF1 | 0x00003FF3 |
当在16位位宽CPU中,对于char类型数据,在内存中取出一个Byte后,将高八位清除,将低八位作为char值。