计算机中的存储器分为内存和外存两大类。
CPU内部的存储器就叫做寄存器,运算器中的通用寄存器、专用寄存器;控制器中的指令寄存器等都属于寄存器。寄存器的存取速度最快(和CPU的速度一样快),价格最高,容量最小。一般有十几个甚至上百个寄存器。
内存储器由称为存储器芯片的半导体集成电路组成。按照是否能随机地进行读写,半导体存储器芯片分为只读存储器(Read Only Memory,ROM)和随机存取存储器(Random Access Memory,RAM)两大类
ROM是英文Read Only Memory的缩写,其中文名称为只读存储器。
ROM只读存储器里的信息只能被反复地读出而不能随便写入,当断开电源后,ROM中的信息不会丢失。在ROM中一般存放重要的、经常使用的程序或其他信息。
按照ROM的内容是否能被改写,ROM可分为以下几类:
RAM是英文Random Access Memory的缩写,其中文名称为随机存取存储器。
RAM存储器可随机地向指定的存储单元读写信息,但计算机断电后,这种存储器中的信息将完全丢失,这一特点被称为数据的易失性。
RAM的优点是存取速度快、读写方便,缺点是数据不能长久保存、断电自行消失。
根据工作原理和结构的不同可分为SRAM(静态随机存取存储器)和DRAM(动态随机存取存储器)
SRAM(静态随机存取存储器)是一种利用双稳态触发器来存储数据的存储器。每个存储单元由6个晶体管组成,具有高速、稳定、无需刷新等优点。由于其结构复杂,SRAM的集成度较低,功耗也相对较大,通常用于高速缓存存储器或CPU的一级、二级缓存。
SRAM芯片用于构造Cache,它的速度几乎与CPU一样快。计算机在执行程序时,CPU将预测可能会使用那些数据和指令,并将这些数据和指令预先送入Cache。当CPU需要从内存读取数据或指令时,先检查Cache中是否存有,若有,就直接从Cache中读取,而不用访问主存;若没有,CPU再直接访问主存。所以,Cache中的数据只是主存很小一部分内容的副本。与DRAM相比,SRAM电路较复杂,集成度低、功耗较大、制造成本高、价格贵、速度快。
说明:Cache用于匹配CPU和内存两者的工作速度,发挥CPU的高速性能
DRAM(动态随机存取存储器)利用电容存储电荷的原理保存信息,电路简单,集成度高。DRAM的基本存储单元是一个电容和一个晶体管,通过电容存储电荷的数量来表示存储数据的状态。由于任何电容都存在漏电,因此需要定期刷新电路来补充丢失的电荷,以保持数据稳定。DRAM常用于大容量存储器,如计算机的主内存、手机的RAM等。
与SRAM相比,DRAM电路相对简单,集成度高,功耗较低,制造成本较低,速度较慢等特点
主存储器主要是由DRAM芯片组成的。它含有大量的存储单元,每个存储单元可以存放1个字节(8个二进制位)。存储器的存储容量就是指它所包含的存储单元的总和。单位是MB(1MB=220字节)或GB(1GB=230字节)。为了区分不同的存储单元,必须给每一个存储单元分配一个编号(这些编号从0开始),被称为存储单元地址。CPU按地址访问存储单元。每个存储单元都有一个地址,CPU就按地址对存储器进行访问。
存储器的存取时间是指从CPU给出存储器地址开始到存储器读出数据并送到CPU(或者是把CPU数据写入存储器)所需要的时间。主存储器存取时间的单位是纳秒(ns,1 ns=10-9s)
随着CPU前端总线工作效率的进一步提高,近几年来,大多数的PC已经改用DDR SDRAM(双倍数据速率同步DRAM)和性能上更优越的DDR2 SDRAM、DDR3 SDRAM。
主存储器在物理结构上由若干内存条组成。内存条必须插入主板中相应的内存条插槽中才能使用。DDR2和DDR3均采用双列直插式内存条(DIMM内存条)。PC主板中一般都各配有2个或4个DIMM插槽
半导体存取器分类
Cache内存是一种高速缓冲存储器,其原始意义是指存取速度比一般随机存取存储器(RAM)来得快的一种RAM。它通常使用昂贵但较快速的SRAM技术,并且是存在于主存与CPU之间的一级存储器。高速缓冲存储器的容量较小,但速度比主存高得多,接近于CPU的速度。在计算机存储系统的层次结构中,高速缓冲存储器和主存储器一起构成一级的存储器。高速缓冲存储器和主存储器之间信息的调度和传送是由硬件自动进行的,其最重要的技术指标是命中率。为了提高Cache的命中率,Cache分为L1Cache(一级高速缓冲存储器)、L2Cache(二级高速缓冲存储器)。
高速缓冲存储器作为CPU和主存之间的桥梁,可以提高整个系统的性能。由于寄存器和DDR之间速度差异太大,DDR的速度远不能满足寄存器的需要,因此需要使用高速缓冲存储器来缓存指令和数据,以减少对主存的访问,提高系统的整体速度。
根据cache中存储的是指令还是数据,可以分为I-cache和D-cache。I-cache用于缓存指令,D-cache用于缓存数据。CPU的寄存器是L1的高速缓存,L1是L2的高速缓存,以此类推。高速缓存存储器的级别越高,容量越小,速度越快。
现在一般在CPU中都固化了Cache,另外硬盘也有自己的Cache,用于数据交换的进行
计算机存储器的层次结构
操作数是指等待CPU处理的数据,也是指等待处理的数据所在的内存地址。操作数包括标识符和标识参数,标识符分为主标识符和辅助标识符。
CPU访问程序和数据时,采取如下流程