文章

【GESP】C++二级考试大纲知识点梳理, (1)计算机存储的基本概念及分类

GESP C++二级官方考试大纲中,共有9条考点,本文针对C++(1)号知识点进行总结梳理。

(1)了解计算机存储的基本概念及分类,了解随机存储器(RAM)、只读存储器(ROM)和高速缓冲存储器(Cache)的功能及区别。

计算机存储是指计算机用来存储数据和程序的设备或介质。计算机的存储可以按 数据存储方式存储器的访问速度存储内容的可变性等维度进行分类。下面是对计算机存储的基本概念、分类以及常见存储器(RAMROMCache)功能和区别的详细说明:

一、了解计算机存储的基本概念及分类

存储器是计算机系统中用于存储程序、数据、以及中间计算结果的硬件设备。它是计算机系统的重要组成部分,与 CPU 直接交互,支持程序的执行和数据处理。存储器的性能直接影响计算机系统的运行速度、响应时间和总体性能。

(一) 存储器的概念

存储器是计算机系统中一个用于存储数据的硬件系统,它允许数据的写入、存储、和读取操作。存储器根据其性质、工作原理和用途的不同,可以分为不同的类型。通常,存储器可以按以下几个方面进行分类:

  • 按存储器的访问方式:可以分为随机存储器(RAM)和顺序存储器(如磁带);
  • 按存储器的可变性:可以分为易失性存储器(Volatile Memory)和非易失性存储器(Non-Volatile Memory);
  • 按存储器的工作速度:可以分为主存储器(如 RAM)和辅助存储器(如硬盘、SSD);
  • 按存储的内容:可以分为数据存储器和程序存储器。

(二) 存储器的分类

根据存储器的不同特性和用途,常见的分类方式如下:

1. 按照存储器的访问方式

  • 随机存取存储器(RAM,Random Access Memory)
    • 特点:可以在任何时间访问任何位置的数据,存取速度快。
    • 类型
      • 动态 RAM (DRAM):存储的数据需要定期刷新,适合大量存储。
      • 静态 RAM (SRAM):不需要刷新,速度较快,但成本较高,适用于高速缓存(Cache)。
    • 用途:RAM 用于计算机的主内存,存储正在运行的程序和临时数据。
  • 顺序存取存储器(SAM,Sequential Access Memory)
    • 特点:数据只能按顺序访问,通常无法随机访问。顺序存储在读取时必须按特定顺序访问数据。
    • 用途:如磁带存储。通常用于数据备份和归档,因为顺序访问较慢。

2. 按照存储器的易失性

  • 易失性存储器(Volatile Memory):
    • 特点:当电源断开时,存储在易失性存储器中的数据会丢失。常用于存储计算机临时运行数据。
    • 类型
      • RAM(随机存取存储器):包括 DRAM 和 SRAM。
    • 用途:用于存储计算机的操作系统、应用程序、以及当前正在执行的数据等。电源关闭时,这些数据会消失。
  • 非易失性存储器(Non-Volatile Memory):
    • 特点:即使电源断开,数据仍然保持不变。适用于长期保存数据。
    • 类型
      • ROM(只读存储器):数据在制造时预先写入,通常用于存储计算机启动代码(如 BIOS)。
      • 硬盘(HDD)、固态硬盘(SSD):长期存储数据的设备。
      • 光盘(CD/DVD)、磁带:常用于备份和长期存储数据。
    • 用途:用于存储操作系统、应用程序、用户文件、配置文件等。

3. 按照存储器的存取速度

  • 主存储器
    • 特点:是计算机的核心存储设备,直接连接到 CPU,存储正在运行的程序和临时数据。
    • 类型
      • RAM(动态或静态 RAM):高速、易失性存储器,处理器直接访问。
      • Cache(高速缓存):位于 CPU 与主存之间,极为快速,用来存储最近使用的数据或指令。
    • 用途:临时存储正在运行的程序和数据。
  • 辅助存储器
    • 特点:存储容量大,但访问速度较慢。用于长期存储数据和文件。
    • 类型
      • 硬盘(HDD):磁性存储,容量大,速度较慢,价格较低。
      • 固态硬盘(SSD):电子存储,无机械部件,速度比硬盘快,价格较高。
      • 光盘(CD/DVD)USB 存储器:用于数据备份、存储和传输。
    • 用途:存储操作系统、软件、用户数据、备份等。

4. 按照存储器的工作原理

  • 电子存储器(如 RAM、SSD、Flash):使用电子元件存储数据,没有移动部件,速度快,抗震动能力强。
  • 磁性存储器(如 HDD、磁带):利用磁性介质存储数据,具有较大的存储容量,但存在机械部件,易受震动和磁场影响。
  • 光学存储器(如 CD/DVD):使用激光技术读写数据,适合于长期存储和数据备份,易受环境条件影响(如温度、湿度、光照等)。

(三) 存储器的选择和应用

选择合适的存储器类型通常取决于以下几个因素:

  • 访问速度:对于需要快速响应的任务,如处理器缓存、主存储器,通常需要速度较快的存储器(如 RAM、Cache、SSD)。
  • 存储容量:对于大规模数据存储(如文件存储、视频存储、数据库)。


二、了解随机存储器(RAM)、只读存储器(ROM)和高速缓冲存储器(Cache)的功能及区别

(一) RAM(随机存取存储器)

RAM(Random Access Memory,随机存取存储器)是计算机中的主要内存,用于存储正在运行的程序和数据。它具有以下特点:

  • 易失性:RAM 是易失性存储器,当电源断开时,存储在 RAM 中的数据会丢失。
  • 访问速度快:与其他类型的存储器(如硬盘)相比,RAM 的访问速度非常快,适合于需要频繁读写的数据。
  • 读写功能:RAM 允许数据的读写操作,因此是计算机中最重要的工作存储设备。

RAM 的类型:

  • 动态 RAM(DRAM):需要定期刷新以保持数据。
  • 静态 RAM(SRAM):无需刷新,速度更快,但成本较高。

(二) ROM(只读存储器)

ROM(Read-Only Memory,只读存储器)是另一类常见的存储器,它具有以下特点:

  • 非易失性:ROM 存储的数据在电源关闭后仍然保持,因此常用于存储计算机启动时需要的程序(如 BIOS 或固件)。
  • 只读:ROM 是只读的,通常不能被用户写入。某些类型的 ROM(如 EPROMEEPROM)可以通过特殊方式进行写入和擦除。

ROM 的类型:

  • 传统 ROM:只支持读取,不支持写入。
  • EPROM(可编程只读存储器):可以通过紫外线擦除并重新编程。
  • EEPROM(电可擦可编程只读存储器):可以通过电流擦除并重新编程。

(三) Cache(高速缓存存储器)

Cache(高速缓存存储器)是一种速度更快的存储器,用于临时存储 CPU 经常访问的数据或指令。其作用是减少 CPU 与主内存之间的数据访问延迟。Cache 存储器通常位于 CPU 内部或与 CPU 紧密集成。

Cache 的特点:

  • 速度非常快:Cache 是计算机中最快的存储设备之一,速度比 RAM 快数倍甚至数百倍。
  • 容量较小:为了保证极高的存取速度,Cache 的容量通常较小。
  • 层次结构:现代计算机通常有多个层次的缓存(L1、L2、L3):
    • L1 Cache:直接集成在 CPU 核心内部,速度最快,容量最小。
    • L2 Cache:通常位于 CPU 和主内存之间,速度较快,容量较大。
    • L3 Cache:一般是多个核心共享的缓存,速度较慢,但容量较大。

Cache 的工作原理

  • 当 CPU 需要访问某个数据时,首先检查是否该数据已经存在于 Cache 中(缓存命中)。如果缓存中有,则直接从 Cache 中获取数据,速度非常快。
  • 如果数据不在 Cache 中(缓存未命中),则 CPU 会从主内存中获取数据,并将其存入 Cache 以备下次使用。

6. RAM、ROM 和 Cache 的区别

特性RAMROMCache
存储内容存储正在运行的程序和数据存储计算机的固件或启动程序存储 CPU 最常访问的数据或指令
可变性可读可写只读(某些类型可写)可读可写(动态缓存可以更新数据)
易失性易失性(电源断开后数据丢失)非易失性非易失性(缓存中的数据在断电时丢失,但 CPU 恢复时会重新加载)
访问速度较快较慢非常快,远高于 RAM 和 ROM
容量容量较大容量较小容量非常小(通常几 KB 到几十 MB)

三、其他常见存储器类型的补充介绍

硬盘(HDD)和固态硬盘(SSD)

  • 硬盘(HDD):基于磁性存储,具有较大的存储容量和较低的成本,但因为有机械部件,读取和写入速度较慢,容易受到震动和磁场干扰。
  • 固态硬盘(SSD):基于闪存技术,无机械部件,速度远快于硬盘,抗震动能力强,但价格较高,存储容量通常较硬盘小。

光盘(CD/DVD/Blu-ray)

  • 定义:利用激光技术存储数据的光学介质,常用于数据备份和存储。
  • 优点:适用于长期存储、耐久性较好。
  • 缺点:读写速度较慢,易受物理损坏影响(划痕、光照等)。

闪存(USB、SD 卡等)

  • 定义:一种非易失性存储介质,广泛用于存储数据和文件,具有较高的存取速度和便携性。
  • 优点:容量较大,抗震动,不需要电池供电。
  • 缺点:写入次数有限,频繁写入可能导致闪存损坏。

所有代码已上传至Github:https://github.com/lihongzheshuai/yummy-code

GESP各级别考纲要点、知识拓展和练习题目清单详见C++学习项目主页

luogu-”系列题目已加入洛谷Java、C++初学团队作业清单,可在线评测,团队名额有限,欢迎加入。

bcqm-”系列题目可在编程启蒙题库进行在线评测。

本文由作者按照 CC BY 4.0 进行授权