文章目录
存储器分类
按存储介质分类
- 磁存储器:磁存储器都以磁性材料作为存储介质,利用磁化单元剩磁的不同磁化方向来存储数据0 和1。它主要包括磁芯、磁盘、磁带存储器等,目前广泛使用的磁盘、磁带中都包含机械装置,所以其体积大、存取速度慢,但磁存储器单位容量成本最低。
- 半导体存储器:用半导体器件组成的存储器称为半导体存储器。目前有两大类:一种是双极型存储器,主要包括TTL 型和ECL 型两种;另一种是金属氧化物半导体存储器,简称MOS 存储器,又可分为静态MOS 存储器(SRAM)和动态MOS 存储器(DRAM)。半导体存储器体积小,存储速度快,但单位容量成本相对较高。
- 光存储器:光存储器利用介质的光学特性读出数据,如CD-ROM、DVD-ROM 均以刻痕的形式将数据存储在盘面上,用激光束照射盘面,靠盘面的不同反射率来读出信息。而磁光盘则利用激光加热辅助磁化的方式写入数据,根据反射光的偏振方向的不同来读出信息。光盘存储器便于携带,成本低廉,适用于电子出版物的发行。
按存取方式分类
- 随机存储器:随机存储器(Random Access Memory,RAM)可以按照地址随机读写数据存储单元,且存取访问时间与存储单元的位置无关。早期的磁芯存储器和当前大量使用的半导体存储器都是随机存储器。
- 顺序存储器:顺序存储器(Sequential Access Memory,SAM)是指存储单元中的内容只能依地址顺序访问,且访问的速度与存储单元的位置有关的存储器,典型的如磁带存储器。
- 直接存储器:直接存储器(Direct Access Memory,DAM)是指不必经过顺序搜索就能在存储器中直接存取信息的存储器,这类存储器兼有随机存储器和顺序存储器的访问特性,典型的如磁盘存储器。磁盘由于存在机械寻道和旋转延迟,因此数据访问时间和磁头与目标扇区的距离有关系。
按信息的可改写性分类
- 既能读出又能写入信息的存储器称为读写存储器。而有些存储器中的内容不允许被改变,
- 只能读出其中的内容,这种存储器称为只读存储器(Read Only Memory,ROM),常见的有半导体只读存储器,也有光盘存储器,如CD-ROM、DVD-ROM 等。
按信息的可保存性分类
- 按照信息保存的时间和条件的不同,存储器分为易失性存储器和非易失性存储器。易失性
- 存储器是指断电后,所保存的信息会丢失的存储器,常见的如半导体RAM。非易失性存储器是指断电后,所保存的信息不丢失的存储器,常见的有半导体ROM、闪存、磁盘、光盘存储器等。
按功能和存取速度分类
- 寄存器存储器:它是由多个寄存器组成的存储器,如CPU 内部的通用寄存器组,一般由几个或几十个寄存器组成,其字长一般与计算机字长相同,主要用来存放地址、数据及运算的中间结果,速度与CPU 匹配,容量很小。
- 高速缓冲存储器:它又称高速缓存cache,是隐藏在寄存器和主存之间的一个高速小容量存储器,用于存放CPU 即将或经常要使用的指令和数据。它一般采用静态RAM 构成,用于缓冲CPU 与慢速主存之间的性能差异,提高存储系统的访问速度。
- 主存储器:主存储器简称主存,是CPU 中除寄存器外唯一能直接访问的存储器,用于存放指令和数据。CPU 通过主存地址直接、随机地读写主存储器。主存一般由半导体存储器构成,但注意主存并不是单一的内存,还包括BIOS、硬件端口等。
- 外存储器:计算机主机外部的存储器称为外存储器,简称外存或辅助存储器。外存容量很大,但存取速度相对较低。目前广泛使用的外存储器包括磁盘、磁带、光盘存储器、磁盘阵列和网络存储系统等。外存用来存放当前暂不参与运行的程序和数据,以及一些需要永久性保存的数据信息。
存储系统层次结构
下图是一个典型的金字塔结构,从上到下分别是寄存器、高速缓存、主存、磁盘、磁带等。越往上离CPU 越近,访问速度越快,单位容量成本越高;从上到下存储容量越来越大,图中分别给出了不同层级存储设备的大概访问时间延迟和容量量级单位。
主存的基本结构
主存是机器指令直接操作的存储器,采用主存地址进行随机访问,整个主存从空间逻辑上可以看作一个一维数组mem[],每个数组元素存储一个m 位的数据单元,主存地址addr 就是数组的下标索引,数组元素的值mem[addr] 就是主存地址对应的存储内容,在C 语言中学习过的指针本质上就是主存地址。
主存的硬件内部结构如下图所示。它由存储体加上一些外围电路构成。外围电路包括地址译码器、数据寄存器和读写控制电路。
地址译码器接收来自CPU 的n 位地址信号,经译码、驱动后形成2n 根地址译码信号,每一根地址译码信号连接一个存储单元。每给出一个地址,2n 个地址译码信号中只有与地址值对应的那个信号才有效,与之连接的存储单元被选中,输出m 位数据。
数据寄存器暂存CPU 送来的m 位数据,或暂存从存储体中读出的m 位数据。
读写控制电路接收CPU 的读写控制信号后产生存储器内部的控制信号,将指定地址的信息从存储体中读出并送到数据寄存器中供CPU 使用,或将来自CPU 并已存入数据寄存器的信息写入存储体中的指定单元。
CPU 执行某条机器指令时,若需要访问主存,则应首先生成该数据在主存中的地址。该地址经地址译码器后选中存储体中与该地址对应的存储单元,然后由读写控制电路控制读出或写入。读出时,将选中的存储单元所存的数据送入数据寄存器,存储单元中的内容不变。CPU 从数据寄存器中取走该数据,进行指令所要求的处理。写入时,将CPU 送来并已存放于数据寄存器中的数据写入选中的存储单元,存储单元中的原数据被改写。
Flash & RAM
- 性质和持久性
Flash: Flash存储器是一种非易失性存储器,这意味着它在断电后可以保持存储的数据。它通常用于存储固件、操作系统、应用程序和其他持久性数据。
RAM:RAM是易失性存储器,它的数据在断电后会丢失。RAM主要用于临时存储运行时数据,例如程序的变量,堆栈和堆内存。
- 速度
Flash:flash存储器的读取速度相对较慢,写入速度也可能相对慢一些。它通常设计为支持随机读取,但写入速度可能受到一些限制。
RAM:RAM的读取和写入速度通常非常快,因为它是用于临时存储和快速访问数据的。
- 用途
Flash:Flash主要用于存储持久性数据,如操作系统、固件、应用程序、配置文件等。它也常用于存储固定的程序代码。
RAM:RAM用于存储运行时数据,包括程序的运行状态、变量、中间结果等。它提供了临时的、易于访问的存储空间,但不适合长期存储数据。
- 容量
Flash:Flash存储器通常有较大的容量,适用于存储大量的数据和程序。
RAM:RAM容量相对较小,因为它通常是用于临时存储和快速访问数据的。
- 成本
Flash:Flash存储器通常相对较昂贵,特别是对于高容量的存储器。
RAM:RAM相对较便宜,但成本随着容量的增加而增加。
- 其中,市面上几乎所有的SSD(固态硬盘)通常使用Flash存储技术。
SRAM & DRAM
RAM还分为SRAM和DRAM这两种主要类型。
单片机通常使用SRAM,在单片机应用中,对于存储器的访问速度、可靠性和功耗等方面的需求通常更适合使用SRAM。
- SRAM(Static Random-Access Memory) 速度快 耗电相对较高 存储密度较低 较高成本
- 静态性质:SRAM是一种静态存储器,其存储单元(通常是触发器)可以保持数据的状态,无需刷新操作。
- 读写速度:由于其静态性质,SRAM具有快速的读写速度,访问存储单元几乎可以立即完成。
- 不需要刷新:与DRAM不同,SRAM不需要周期性刷新操作。这降低了对控制电路的复杂性,但也导致了相对较高的功耗。
- 存储密度较低:每个存储单元通常需要6个晶体管,导致存储密度相对较低。
- DRAM(_Dynamic Random-Access Memony) 速度较慢 耗电相对较低 存储密度较高 较低成本
- 动态性:DRAM是动态存储器,需要定期刷新以保持存储的数据。每个存储单元使用电容来存储电荷,但电容会逐渐失去电荷,因此需要定期刷新,否则数据将丢失。
- 速度较慢:这是因为它的存储单元结构相对复杂,涉及电容的充放电过程。
- 低成本:在容量大、成本敏感的应用中很常见。