所谓存储器,是指用来存储指令或者数据的部件。发展至今,计算机内部往往包含多种不同容量、不同用途的存储器。
所谓存储容量,指的是存储器拥有的字节数。存储器的存储空间会被分成很多个存储单元,每个存储单元的大小通常为 8 个二进制位(也就是 1 个字节,单位用 B 表示),每个单元都有一个唯一的地址。因此,一个存储器中各存储单元的地址范围为0~存储容量-1。
假设某存储器的存储容量为 64KB,则意味着它有 64 x 1024 = 65536 个存储单元,这些单元的存储地址从 0 到 65535。其中,存储器容量的单位有很多(比如 B、KB、MB 等),后续会给大家做详细讲解。
存储器的分类
计算机中各存储器的分类标准通常有以下 2 种。
1) 根据功能和特性分类
首先,根据 CPU 能否直接访问,可将所有存储器分为内部存储器和外部存储器,CPU 可以直接访问所有的内部存储器,但无法直接访问外部存储器。例如,我们常说的内存条,就是一种内部存储器;而诸如硬盘、U 盘、光盘等,则属于外部存储器。
位于外部存储器中的数据,必须先移动至内部存储器,才能为 CPU 所用。
而根据能否永久地存储数据,又可以将所有存储器细分为以下 2 种类型:
易失性存储器:无法永久地存储数据,一旦突然断电或者关闭计算机,内部存储的数据就会丢失;
非易失性存储器:可以永久地存储数据,即便断电或者关闭计算机,存储的数据也不会丢失。
2) 根据存储容量和所在位置分类
计算机包含的所有存储器中,根据各自存储容量和所在位置的不同,可以将它们分为寄存器、高速缓存、主存储器以及外部存储器这 4 类。
寄存器是计算机中存储容量最小(通常为 4~8 个字节)、读写速率最快的存储器,位于 CPU 内部。寄存器用于临时保存 CPU 运行所需要的数据或者当前 CPU 正在处理的指令。更重要的是,所有需 CPU 处理的数据,都必须经过寄存器。
高速缓存全称高速缓冲存储器,是一种存储容量较小、读写效率介于寄存器和主存储器之间的存储器,因此它主要用于协调高速的 CPU 和读写效率低的主存储器之间的数据传输问题。高速缓存可以保存 CPU 经常使用的数据和指令,确保 CPU 使用这些数据时可以直接从高速缓存中找到,而无需再访问主存储器,从而提高 CPU 处理数据的效率。
主存储器,简称主存,它有 2 种类型,即 RAM 类型主存和 ROM 类型主存。根据实际场景的需要,不同用途的计算机可以选择配备 RAM 或者 ROM 主存,甚至两种都用。比如,我们现在使用的笔记本电脑中,内存条其实就是集成多个 RAM 存储芯片的电路板;计算机内部还含有多个 ROM 芯片,用于存储 BIOS 系统、某些硬件的驱动程序等等。
有关 RAM 和 ROM,后续章节会做更详细地讲解。
外部存储器,支持永久性地存储数据,同时还支持用户对其内部的数据做修改、删除等操作。注意,CPU 无法直接访问外部存储器,其内部的数据需先传输到 RAM 主存中,CPU 才能访问它。
下表给大家梳理了计算机中各个类别的存储器。
| 存储器 | 内部存储器 | 寄存器 | 位于 CPU 内部,存储容量最小,读写效率最高,支持 CPU 直接访问。 |
|---|---|---|---|
| 高速缓存 | 通常集成在 CPU 内部,读写效率位于寄存器和 RAM 主存储器之间,支持 CPU 直接访问。 | ||
| 主存储器 | 有 RAM 和 ROM 这 2 种类型的主存储器,支持 CPU 直接访问。 | ||
| 外部存储器 | 硬盘、U 盘、光盘等,不支持 CPU 直接访问。 | ||
有关以上提到的各类存储器,我会在后续章节逐一给大家做详细的介绍。