一些计算机的基本常识
经常我们使用电脑、手机或者其他的一些电子设备时,会听到这个手机存储 64G 的、32G 的,那个硬盘有 2T,这个网速 100M 的,这类的话,但是这些是个啥?为什么这么叫?意味着啥?
这些其实都是一些数字信息的单位,标志着存储设备能够存储多少的数字信息。
bit 与 byte
byte 是数字信息的基本单位,中文一般叫字节。1 byte 是形容一个完整字符的长度。假如有一篇全英文文章,文章存在设备里边就是数字信息,那么这个文章有多长,我们可以说有多少个字,但是对于数字信息来讲,我们说它占用了多少 byte。一般来讲一个英文字母占用 1 byte,一个空格和一个基本的标点符号也一样占用 1 byte。中文或者其他文字就另当别论了,因为这里会涉及到字符编码的问题,会导致单个字的长度更长一些。
bit 是计算信息和数字通信的基本单位,中文一般叫比特或者字位。我们都知道计算机的存储设备只能记录二进制的数据,所以要存数据到设备里只能将数据转化成二进制再存进去,转成了二进制无非就是使用 0 和 1 来表示,比如 1 转成二进制就是 00000001,那么这样每一个 0 或者 1 就是 1 bit,这个要存进去就要占用 8 个基础元器件,也就是 8 bits。因为不同时期的计算机对于用几个 bit 来表示一个 byte 是不同的,所以 bit 是不能用来表示数字信息长度的,它只能是计算信息和数字通信的基本单位。
那么用几个 bit 来表示一个字符,历史上经历了几次演变:
- 最初的计算机普遍采用 4 位 BCD 编码,即 1 Byte = 4 bits。BCD 编码表示数字还可以,但表示字母或符号很不好用。
- 后来演变出 6 位 BCDIC 编码和 7 位 ASCII 编码(至今仍广泛使用),即 1 Byte = 6 bits 或 7 bits。
- 1964 年 IBM 推出大型机 System/360,使用 8 位 EBCDIC 编码,涵盖了数字、大小写字母和大部分常用符号,同时兼容 6 位 BCDIC 编码。System/360 非常成功,奠定了字符存储单位采用 8 位长度的基础。随着技术发展和设备标准化,1 Byte = 8 bits 被广泛使用于硬件和软件中,沿用至今。
国际单位制(SI)
全称 International System of Units,简称 SI。在 byte 的基础上标准化了更大的单位,进率为 1000:
| 单位 | 简称 | 大小 |
|---|---|---|
| Kilobyte | KB | 1,000 B |
| Megabyte | MB | 1,000 KB |
| Gigabyte | GB | 1,000 MB |
| Terabyte | TB | 1,000 GB |
| Petabyte | PB | 1,000 TB |
| Exabyte | EB | 1,000 PB |
| Zettabyte | ZB | 1,000 EB |
| Yottabyte | YB | 1,000 ZB |
bit 对应的单位(Kbit、Mbit、Gbit……)进率同样是 1000。
国际电工委员会单位(IEC)
制定这个标准的组织全称 International Electrotechnical Commission,简称 IEC,1998 年推出的标准化单位,进率为 1024(即 2¹⁰):
| 单位 | 简称 | 大小 |
|---|---|---|
| Kibibyte | KiB | 1,024 B |
| Mebibyte | MiB | 1,024 KiB |
| Gibibyte | GiB | 1,024 MiB |
| Tebibyte | TiB | 1,024 GiB |
| Pebibyte | PiB | 1,024 TiB |
| Exbibyte | EiB | 1,024 PiB |
| Zebibyte | ZiB | 1,024 EiB |
| Yobibyte | YiB | 1,024 ZiB |
由于电脑之间的存储和传递依据二进制,使用 2¹⁰ 作为进率更加方便,所以 IEC 单位在软件上被广泛使用,很多人也习惯把它简称为 KB、MB、GB……
但硬件厂商仍遵守 SI 标准。比如你买了一块 1 TB 的硬盘,插上电脑后发现容量少了不少,原因就在于此:硬盘厂商按 SI 标准标注,1 TB = 1,000,000,000,000 Bytes;而操作系统按 IEC 标准显示,同样的字节数换算下来只有:
1,000,000,000,000 ÷ 1024 ÷ 1024 ÷ 1024 ÷ 1024 ≈ 0.909 TiB
bps 与 Mbps
这两个都是网络传输的速度单位。bps 是每秒传输的 bit,Mbps 是每秒传输的 Mbit。
我们说的 80M 宽带,实际就是 80 Mbps,即每秒传输 80 Mbit 的数据。占满所有带宽的情况下,理论上每秒可以传输 10 MB 的文件(80 Mbit ÷ 8 = 10 MB)。当然这是理论值,实际往往达不到。
另外值得一提的是上行和下行网络,相当于上传速度和下载速度,通常是不对等的。
32 位与 64 位 CPU
32 位 CPU 是指这个 CPU 有 32 根地址线,这些地址线决定其寻址范围为 0 到 2³²。内存是以 Byte 为基本单位的快速存储设备,所以 32 位 CPU 理论上支持的最大内存为 2³² Bytes,也就是 4 GB。
64 位 CPU 有 64 根地址线,理论上可以支持 2⁶⁴ Bytes 的内存,也就是 4 GB 再乘以 2³²,一个非常大的数字。此外,64 位 CPU 和 32 位 CPU 在指令集上也有不同。
32 位与 64 位操作系统
32 位操作系统安装在 32 位 CPU 的机器上没有问题,64 位 CPU 也可以通过只使用 32 根地址线来兼容 32 位操作系统。但 32 位操作系统由于只能寻址 32 位,最大内存支持也就是 4 GB。
现在内存超过 4 GB 是很平常的事情,加上 64 位操作系统在指令和运算速度方面都有很多优势,所以 Windows 和各大软件厂商都在积极发展 64 位操作系统和对应的软件。不过 64 位操作系统需要 CPU 和主板等硬件的支持,CPU 必须是 64 位的。