Skip to content

第七章 - 存储器基础

约 1368 个字 预计阅读时间 5 分钟

存储器定义

存储器是数字计算机的主要组成部分,它在所有的数字系统中都占有很大比例。随机访问存储器 (Random-Access Memory,RAM) 只能暂时性地存储数据,而只读存储器 (ReadOnly Memory,ROM) 可以永久地存储数据。ROM 是众多可编程逻辑器件 (Programmable Logic Device,PLD) 的一种形式,PLD 通过存储的信息来定义逻辑电路。

随机访问存储器

存储器是二进制存储单元和控制信息输入输出存储单元的电路集合。存储器的任何一个存储单元的内容都可以被存取,存取时间是相同的,而与存储单元的物理位置无关,因而命名为随机访问存储器。相反,顺序存储器 (serial memory),如磁盘访问信息时需要不同的时间,时间的长短与指定的位置与当前磁头所处的物理位置有关。

二进制信息被分组存储在存储器中,每个组称为一个 (word)。8 位一组叫做一个字节 (byte)。存储部件的容量通常定义为它能存储的总字节数。

上图是存储器的框图。由图可见,要存储的信息从 \(n\) 位数据输入线输入,处理好的信息从位数据输出线输出,\(k\) 位地址线用来指定当前处理信息的地址,两个控制输入信号用来指定信息的传输方向:Write 信号控制将二进制数据输人存储器,而 Read 信号控制将二进制数据从存储器输出。

存储器件由它所包含字的个数和每个字的位数来表示。字由地址线进行选择:存储器中的每个字都会被分配一个唯一的编号,叫做地址 (address),其范围为 \(0 \sim 2^{k - 1}\),其中 \(k\) 是地址线的数目。因此,通过把 \(k\) 位二进制地址传送给地址线,译码器接收此地址并打开指定路径,就可以访问存储器中对应的字。

读写操作

随机访问存储器能执行读和写两种操作。 (write) 操作指的是将要存储的字送到存储器中保存, (read) 操作是从存储器中取出已保存字的副本。写信号控制存入操作,读信号控制取出操作。存储器内部电路在这些信号控制下执行指定的功能。

写操作必须执行如下步骤:

  1. 将目标字的二进制地址加载到地址线。
  2. 将要存入存储器的数据信息位加载到数据输入线。
  3. 激活写输入信号。

然后,存储器单元就从数据输入线上得到数据,并将其存储到地址线所确定的目标单元中。

读操作必须执行如下步骤:

  1. 将要读出的字所对应的二进制地址加载到地址线。
  2. 激活读输入信号。

然后,存储器根据地址找到对应目标字,将对应的数据信息加载到数据输出线上。对字的读操作不改变存储器中的内容。

定时波形

存储器单元的操作由其外部设备来控制,如 CPU。CPU 用自己的时钟脉冲进行同步,但存储器不使用 CPU 时钟,它的读写操作定时通过改变控制输入的值来确定。

存储器的读操作访问时间 (access time) 为从地址请求到数据输出的最大时间间隔,而写周期时间 (write cycle time) 为从地址请求到完成存储一个字所需的所有存储器内部操作的最大时间间隔。存储器写操作可以在时钟周期间隔内连续进行,CPU 必须在它的内部时钟与存储器读写操作同步的情况下提供存储器控制信号。这就要求存储器的访问时间和写周期时间必须等于 CPU 时钟周期的固定倍数。

下图为一存储周期定时图:

存储器特征

集成电路 RAM 可以是静态的或动态的。静态 RAM (SRAM) 由存储二进制信息的内部锁存器构成,信息会一直被存储直到断电。动态 RAM (DRAM)以电容电荷的形式存储信息,通过 \(n\) 沟道 MOS 管访问电容,存储的电容电荷会随时间放电。通过刷新 DRAM 对电容进行周期性充电,每隔几毫秒循环地对存储字进行读写来恢复衰减的电荷。DRAM 存储芯片功耗较低,单存储器芯片的存储容量较大,而 SRAM 易于使用,读写周期短,且不需要刷新。

掉电就会丢失存储信息的存储器称为易失性存储器 (volatile memory),集成电路 RAM(包括 SRAM 和 DRAM)都属于这类存储器,因为它们都需要用外部电源来维持存储的二进制信息。相反,非易失性存储器 (non volatile memory),如磁盘,掉电后仍能保持原存储的信息,这是因为磁性元件用磁化方向来表示所存储的数据,而磁化方向在掉电后仍能保留下来。