以前对电脑知识是真不是太懂,最近在看一些基础知识,例如:比特 (bit)、字节 (Byte) 是什么,与电脑的 32 位、64 位有什么关系?
1、比特 (bit) 与 字节 (Byte)
比特 bit 是二进制位 (Binary digit) 的简称,一个二进制包含的信息量就是 1 比特 (bit),只能是 0 或 1。比特 bit 是计算机内部数据存储的最小单位,所以说计算机是二进制的。
字节 Byte 是计算机数据处理的最小单位,用大写 B 表示。每个字节 Byte 有 8 个二进制位,也就是 8 bit。最右边的一位为最低位,最左边的一位为最高位。一个字节由 8 个二进制位组成,也就是 1 字节 Byte 等于 8 比特 bit。这也是计算机设计时规定的。一个字节最大为 8 个 1 (111111112),即 2 的 8 次方,总共是 256 种状态。
2、32 位 与 64 位
CPU 的 32 位 或 64 位,指的都是 CPU 的字长,即 CPU 每次能处理 32/64 位二进制数据。
计算机在存储、传送或操作时,作为一个单元的一组二进制称为字,一个字中的二进制的位数称为字长。字长是 CPU 的主要技术指标之一,指的是 CPU 一次能并行处理的二进制位数,字长总是 8 的整数倍,通常 PC 机的字长为 32 位,64 位。
比如 32 位计算机,一个字就是 32 位,也就是 4 字节 Byte,也就是能一次处理 4 字节 Byte 的数据;同样的 64 位计算机,一个字就是 64 位,也就是 8 字节 Byte,一次处理 8 字节 Byte 的数据。
内存寻址能力增强:如果是 32 位 CPU 的话,它的地址总线最多不会超过 32,那么它所能达到的寻址范围也就不会超过 2 的 32 次方字节 (存储单元以字节为单位),也就是 4GB;而如果是 64 位处理器的话,它所能达到的寻址范围理论上就会是 2 的 64 次方字节 (16EB)。
实际上,基于需求(用不到那么多内存)、性能(地址越宽在做地址转换时需要的页表级数越多)和成本(消耗更多晶 体管)的考虑,在 AMD64 架构中只支持到 52 位(4PB)的地址总线和 48 位(256TB)的虚拟地址空间,所以目前 64 位的硬件实际能够支持的最大内存只有 256TB。此外,操作系统一侧也还会施加自己的约束,64 位的 Linux 则分别支持 47 位(128TB)的进程虚拟地址空间和 46 位(64TB)的物理地址空间,64 位的 Window s系统甚至只支持 44 位(16TB)的物理地址空间。