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 CacheSRAM(Static Random-Access Memory,静态随机存储器)71ns
L2 CacheSRAM(Static Random-Access Memory,静态随机存储器)74ns
Memory(内存)DRAM (Dynamic Random Access Memory,动态随机存取存储器)0.015100ns
固态硬盘SSD(Solid-state disk)0.0004150us
机械硬盘Hard Disk Drive, HDD0.00004100ms