CPU、内存、硬盘信息介绍
32 位和 64 位的区别
- 硬件的 64 位和 32 位指的是 CPU 的位宽,软件的 64 位和 32 位指的是指令的位宽。
64 位相比 32 位 CPU 的优势在哪吗?64 位 CPU 的计算性能一定比 32 位 CPU 高很多吗?
64 位相比 32 位 CPU 的优势主要体现在两个方面:
- 64 位 CPU 可以一次计算超过 32 位的数字,而 32 位 CPU 如果要计算超过 32 位的数字,要分多步骤进行计算,效率就没那么高,但是大部分应用程序很少会计算那么大的数字,所以只有运算大数字的时候,64 位 CPU 的优势才能体现出来,否则和 32 位 CPU 的计算性能相差不大。
- 64 位 CPU 的地址总线是 48 位,而 32 位 CPU 的地址总线是 32 位,所以 64 位 CPU 可以寻址更大的物理内存空间。
- 如果一个 32 位 CPU 的地址总线是 32 位,那么该 CPU 最大寻址能力是 4G,即使你加了 8G 大小的物理内存,也还是只能寻址到 4G 大小的地址。
- 如果一个 64 位 CPU 的地址总线是 48 位,那么该 CPU 最大寻址能力是 2^48,远超于 32 位 CPU 最大寻址能力。
CPU Cache
- CPU Cache 所使用的材料是SRAM(Static Random-Access Memory,静态随机存储器) 的芯片,价格比内存使用的 DRAM 高出很多。
- 在当今每生产1 MB 大小的CPU Cache 需要7 美金的成本,而内存只需要0.015 美金的成本,成本方面相差了466 倍,所以CPU Cache 不像内存那样动辄以GB 计算,它的大小是以KB 或MB 来计算的。
- CPU 的高速缓存,通常可以分为 L1、L2、L3 这样的三层高速缓存,也称为一级缓存、二级缓存、三级缓存。
- SRAM 之所以叫「静态」存储器,是因为只要有电,数据就可以保持存在,而一旦断电,数据就会丢失了。
- 在 SRAM 里面,一个 bit 的数据,通常需要 6 个晶体管,所以 SRAM 的存储密度不高,同样的物理空间下,能存储的数据是有限的,不过也因为 SRAM 的电路简单,所以访问速度非常快。
内存
- 内存使用 DRAM (Dynamic Random Access Memory,动态随机存取存储器)的芯片。
- 相比 SRAM,DRAM 的密度更高,功耗更低,有更大的容量,而且造价比 SRAM 芯片便宜很多。
- DRAM 存储一个 bit 数据,只需要一个晶体管和一个电容就能存储,但是因为数据会被存储在电容里,电容会不断漏电,所以需要「定时刷新」电容,才能保证数据不会被丢失,这就是 DRAM 之所以被称为「动态」存储器的原因,只有不断刷新,数据才能被存储起来。
- DRAM 的数据访问电路和刷新电路都比 SRAM 更复杂,所以访问的速度会更慢,内存速度大概在 200~300 个 时钟周期之间。
固态硬盘
- SSD(Solid-state disk) 是固体硬盘,结构和内存类似,相比内存的优点是断电后数据还是存在的,而内存、寄存器、高速缓存断电后数据都会丢失。
- 内存的读写速度比 SSD 大概快 10~1000 倍。
机械硬盘
- 机械硬盘(Hard Disk Drive, HDD),它是通过物理读写的方式来访问数据的,因此它访问速度是非常慢的,它的速度比内存慢 10W 倍左右。
- 由于 SSD 的价格快接近机械硬盘了,因此机械硬盘已经逐渐被 SSD 替代了。
存储器的层次关系
存储器 | 硬件介质 | 单位成本(美元/MB) | 随机访问延时 |
---|---|---|---|
L1 Cache | SRAM(Static Random-Access Memory,静态随机存储器) | 7 | 1ns |
L2 Cache | SRAM(Static Random-Access Memory,静态随机存储器) | 7 | 4ns |
Memory(内存) | DRAM (Dynamic Random Access Memory,动态随机存取存储器) | 0.015 | 100ns |
固态硬盘 | SSD(Solid-state disk) | 0.0004 | 150us |
机械硬盘 | Hard Disk Drive, HDD | 0.00004 | 100ms |