存储器

电子设备
(重定向自二级存储

存储器memory,台湾译记忆体[1])是计算机中能接收和存储数据,并能根据控制命令提供所存数据的基本硬件[2][3]。现代的计算机系统以存储器为中心,故存储器的特性是影响整个计算机系统最大吞吐量的决定性因素[3]

存储器又分为主存储器main memory,简称“主存”,又称“内存储器”、简称“内存”)和辅助存储器auxiliary memory,简称“辅存”,又称“外存储器”、简称“外存”)[2][3]。主存储器与中央处理器(CPU)一起构成主机[3],用来存放计算机运行时随时需要使用的程序和数据[4],一切数据要被CPU操作都必须先装入主存[2]。主存的工作速度较快,存储容量较小,主要采用半导体存储器[4]。目前大部分计算机系统的主存储器主体为动态随机存储器(DRAM)[5],“主存储器”乃至“存储器”一词有时特指DRAM[6];另外,静态随机存储器(SRAM)与只读存储器ROM)等也可作主存储器的一部分[3][5]。辅助存储器和输入输出设备都属于外设[3],用来存放CPU运行时暂时不用的各种程序和数据[7],一般在断电后仍能保存[2]。辅助存储器的存储容量大,工作速度慢,例子如硬盘U盘光盘磁带[7]

除了可分为主存储器和辅助存储器外,存储器还可按存储介质分为半导体存储器磁表面存储器磁芯存储器光盘存储器等,按访问方式分为随机存储器、只读存储器、串行访问存储器[3]

传统上,一部电脑最重要的组件是中央处理器 (CPU),因为他负责处理资料,进行所有计算,并且控制电脑内其他所有组件。中央处理器包含两个部分: 控制单元 以及算术逻辑单元 (ALU)。前者控制资料在中央处理器及存储器之间的流动。后者处理资料的逻辑运算。如果没有足够的存储器,电脑将只能进行固定的工作而且立刻将结果输出。这在计算机数字信号处理是可接受的。冯·诺伊曼结构机器拥有足够的存储器去存储正在执行的指令集以及资料。结果使电脑不用为了执行一个新的程序而改变硬件的配置,使程序设计变得简单,大部分的电脑都是范纽曼型架构。

存储器的特性

编辑
 
一个1GB双倍速随机存储器模块

所有的存储器都可以用其核心的特性以及可以用测量而得知的性能,容量来区分。核心的特性有易失性,读写性,访问法,以及寻址法。测量得知的特性有性能跟容量。

容量

编辑
 
GNOME的系统监视视窗

电脑使用二进制来处理数据。文件,数字,图形,影音,或是其他资料都可以用一串比特来表示,每一个比特的值不是一就是零。最常见的存储单位是字节,一字节等于八比特。一份资料可以被任何具有足够容量去容纳该资料大小的电脑所处理。

根据电气电子工程师协会(IEEE 1541)和欧洲联盟(HD 60027-2:2003-03)的标准,二进制乘数词头的缩写为“Ki”、“Mi”、“Gi”,以避免与国际单位制混淆。但二进制乘数词头没有广泛被制造业和个人采用,标示为4GB的内存实际上已经是4GiB,但标示为4.7GB的DVD实际上是4.37GiB。

对于32位的操作系统,最多可使用232个地址,即是4GiB。物理地址扩展可以让处理器在32位操作系统访问超过4GiB存储器,发展64位处理器则是根本的解决方法,但操作系统驱动程序应用程序都会有兼容性问题。

易失性

编辑
非易失性存储器
资料在电源不供电的状态下仍能保存。这适用于须长期使用的资料。
易失性存储器
资料需要有持续不断的电力才能保持。目前访问速度最快的存储器是属于易失性的。因为第一级存储器需要极快的速度,所以采用易失性存储器。
动态随机存储器
一种易失性存储器,资料需要每隔一段时间就重新读取或重新写入,否则资料将会消失。
静态随机存储器
一种类似DRAM的存储器。不同的是在电力持续供应的状态下,它不用被重新写入或是读取资料(如果没有电力来支持,资料还是会消失)。

读写性

编辑
可读写的存储器
它允许资料在任一时间被改写。如果一台电脑的第一级存储器不是可读写的(至少要有一定数量的第一级存储器是可读写的),那这台电脑将无法执行各种任务。而第二级存储器也有许多是可读写的。
只读存储器
存储器内的资料通常不会变,但有时允许资料写入(Write Once Read Many)这种存储器也被叫做不可变存储器,主要备用在第三级跟离线存储器上, 例如CD-ROM以及CD-R
快速读取低速写入存储器
例如CD-RW闪存

访问法

编辑
随机存取
在任何的时间,任何的位置都可以被访问。这适合第一级与第二级存储器。
循序访问
要访问的信息依照顺序来访问,一个接着一个; 访问时间长短取决于哪一项资料是最后访问的,这是离线存储器的特征。

寻址法

编辑
区块寻址
根据存储器区块的物理地址来访问资料。在今日的电脑,区块寻址通常只出现在第一级存储器,由计算机程序来访问,而且访问的效率很高,不过对人而言这是个负担。
文件寻址
资料被分割成文件,文件依照人类可读的名称或文件名称而被选择,其实这也是一种区块寻址,不过操作系统会将文件抽象化,从而让工作更容易被理解。在今日的电脑,第二级,第三级,离线存储器采用这种方法来寻址。
内容寻址
资料依据本身的内容被访问。内容寻址被使用于软件 (计算机程序)或硬件 (电脑设备),这让硬件变得有效率,但也变得比较昂贵。硬件内容寻址存储器通常被用于CPU缓存

性能

编辑
迟滞时间
访问存储器内部特定区域资料所花的时间。在第一级存储器中,以纳秒作为合理的计量单位,第二级存储器以毫秒作为计量单位,以秒作为第三级存储器的计量单位或是。迟滞时间可以合理的分为读取的迟滞时间和写入的迟滞时间,以循序访问存储器来说,有最短、最长与平均迟滞时间。
吞吐量
将资料读取到或是写出存储器的速度。吞吐量通常表示为兆字节/秒或是 MB/s,比特率也被使用着。就跟迟滞时间一样,读和写的速度算做两笔不同资料。访问资料的速度取决于最大吞吐量。
粒度
能以单独一个单位被有效率的访问的最大片资料的大小, 例如, 没有引发更多的迟滞时间 。
可靠度
在不同的条件下,非自发性的比特值改变, 或整体故障率

分类

编辑

直至2008年,最常用的数据存储技术是半导体磁性光学,同时还看到一些使用纸张作存储。也有一些曾于过去使用或是在将来会使用的数据存储技术。市场上存在多种不同形态、不同材质的存储器。到目前为止,任何一种存储设备都有其缺点,因此一台电脑通常都有好几种不同种类的存储设备,每一种都有其特别的功能。

存储器可以根据存储能力与电源的关系可以分为以下两类:

易失性存储器

编辑

易失性存储器(Volatile memory)是指当电源供应中断后,存储器所存储的资料便会消失的存储器。主要有以下的类型:

  • 随机存储器
    • 动态随机存储器,英文缩写写作DRAM,一般每个单元由一个晶体管和一个电容组成(后者在集成电路上可以用两个晶体管模拟)。特点是单元占用资源和空间小,速度比SRAM慢,需要刷新。一般计算机主存储器即由DRAM组成。在PC上,DRAM以内存条的方式出现,DRAM颗粒多为4位或8位位宽,而载有多个颗粒的单根内存条的位宽为64位。
    • 静态随机存取存储器,英文缩写写作SRAM,一般每个单元由6个晶体管组成,但近来也出现由8个晶体管构成的SRAM单元。特点是速度快,但单元占用资源比DRAM多。一般CPUCPU缓存即由SRAM构成。

非易失性存储器

编辑

非易失性存储器(Non-volatile memory)是指即使电源供应中断,存储器所存储的资料并不会消失,重新供电后,就能够读取存储器中的资料。 主要种类如下:

存储器层次结构

编辑

实际上,几乎所有电脑都有各种不同的存储器,这些存储器在中央处理器旁边,构筑成存储器层次结构,在效率和花费两者之间的拉锯中,在层次结构中较低层的存储器, 带宽较低,而且资料到中央处理器的时间也较久,迟滞时间较长。传统上分第一级,第二级,第三级,离线存储器。

第一级存储器

编辑

第一级存储器 (又称主存储器或内部存储器),通常简称为存储器,这层的存储器与中央处理器直接连通,中央处理器会不断读取存储在这里的指令集,并在需要时执行这些指令集。

历史上,早期的电脑使用延迟线威廉士管作为主要的存储器。在1954年,磁芯存储器被开发出来大幅取代了上述不太稳定的方法。磁芯存储器维持优势至1970年代,此时集成电路技术的进步,使得半导体存储器在价格上变得便宜而有竞争力。

这使得现代化的随机存储器 (RAM)被制造出来。该款存储器的重量轻,尺寸小,然而十分昂贵。(这种存储器被用来做成第一级存储器,同时它也是易失性存储器,意思就是当电力不再供应时,存储器内的资料就会消失)。

如同右图所示,在第一级存储器的内部除了主存储器,也就是随机存储器外,还分有两个或两个以上的子层:

  • 寄存器被设置在处理器内。每个寄存器都存储资料中的一个 (一个字的大小通常是32位或64位)。中央处理器内的指令能让 算术逻辑单元 去执行各种计算或是处理资料。寄存器传输资料的速度是所有存储器中最快的。
  • CPU缓存,它传输资料的速度仅次于寄存器。被用来作为提升电脑的性能。大部分经常被使用的资料(存在主存储器中),会复制另一份存在缓冲存储器内,这样可提升速度,否则速度将会大幅降低,且寄存器也容纳不下那么多资料。多层缓存层次结构亦经常被使用—第一层缓存容量最小,速度最快且位于处理器内部;第二层缓存容量较大且较慢。

主存储器藉存储器总线与中央处理器连接。有两种不同的总线(并没有在图上): 地址总线以及资料总线. 一开始中央处理器藉位置总线发送数字,这数字就是存储器位置,其指出资料的位置。然后中央处理器用资料总线将资料读出或写入。此外,内存管理单元 (MMU)是一种介于中央处理器跟主存储器的设备,用来重新计算存储器位置,例如提供虚拟地址

由于RAM具有易失性(开机时里面是空的),这样的话电脑就无法存储开机时需要的指令,因此,非易失性存储器存储了执行开机的程序 (BIOS),为了读取较大的程序,先自第二层的非易失性存储器读取到随机存储器,然后执行程序。一种存储器因着这目的被制出,就是只读存储器(只读存储器也是属于随机存取).

许多只读存储器并不仅仅只能读取,虽然速度慢,但资料还是可以抹除并重新写入。一些嵌入式系统直接使用只读存储器来跑程序,因为程序几乎不会变化,现在的电脑将资料存于第二层非易失性的存储器,而非只读存储器,这是比较经济的做法。

第二级存储器

编辑
 
去除保护壳之后的硬盘

第二级存储器(又称外部存储器或辅助存储器),和第一级存储器不同的是,第二级存储器和中央处理器并没有直接连通,电脑经常使用存储器的I/O通道来与之连接,第二级存储器使用资料缓冲器来将资料发送至第一级存储器。在不供应电源的情况下,第二级存储器的资料仍然不会消失—这表示它是非易失性的。

现今的电脑,硬盘被广泛地做为第二层存储器,硬盘访问资料的时间大约是几千分之一秒,或是几个毫秒。然而,随机存储器访问资料的时间仅有几十亿分之一秒,或是几个纳秒。硬盘的速度只有存储器访问速度的百万分之一,光盘,例如CDDVD,有更长的访问时间。

当资料存储于碟片时,将资料发送到区块可降低迟滞时间,提升效率,这样的话需要外部存储器算法。连续访问和区块访问的速度比随机存取要快得多,所以许多尖端的存储器都在开发更有效率的算法来执行连续访问或区块访问。一个突破I/O瓶颈的方法是使用多重磁盘,可以增加第一级与第二级存储器之间的带宽。[8]

这里枚举一些第二级存储器的例子: 闪存 (例如U盘),软盘磁带纸带打孔卡RAM diskZip Drive

第二级存储器通常被设计成符合文件系统的格式,这使得资料可以存储在目录电脑文件内。

大部分的操作系统使用了虚拟内存的概念,第一级存储器的物理容量虽然不变,但可以藉挪用第二级存储器的空间来增大第一级存储器的容量。系统会将最少使用到的区块()移至第二级存储器(置换文件或标签页文件),当这些文件被需要时再将它们取回,当愈多文件需要从第二级存储器中取回,电脑的性能就愈低。

第三级存储器

编辑

第三级存储设备第三级存储器,[9] 这是指可直接插入或自电脑拔除的存储设备;里面的资料在被使用前通常都会复制到第二级存储器内。该款存储器的访问速度比第二级存储器要慢得多(5–60秒 vs. 1–10毫秒)。该款存储器的优势在于其拥有庞大的存储空间,典型的例子包含磁带柜光学记录库

参见

编辑

参考文献

编辑
  1. ^ memory. 乐词网. 国家教育研究院.  (繁体中文)
  2. ^ 2.0 2.1 2.2 2.3 全国科学技术名词审定委员会,审定.计算机科学技术名词 [M]. 3版.北京:科学出版社, 2018: 121. 科学文库.
  3. ^ 3.0 3.1 3.2 3.3 3.4 3.5 3.6 教育部教育考试院.全国计算机等级考试二级教程:公共基础知识 [M].北京:高等教育出版社, 2022 (2023-05): 3-9.
  4. ^ 4.0 4.1 内存储器 [DB/OL] [2024] // 陈至立辞海. 7版网络版.上海:上海辞书出版社, 2020.
  5. ^ 5.0 5.1 蔡尚铭.主存储器 [DB/OL].胡伟武,安虹,肖利民,等编 (2022-12-23) [2024] // 陈奎元中国大百科全书. 3版网络版.北京:中国大百科全书出版社.
  6. ^ 邱鹏飞.存储器 [DB/OL].胡伟武,安虹,肖利民,等编 (2022-12-23) [2024] // 陈奎元中国大百科全书. 3版网络版.北京:中国大百科全书出版社.
  7. ^ 7.0 7.1 外存储器 [DB/OL] [2024] // 陈至立辞海. 7版网络版.上海:上海辞书出版社, 2020.
  8. ^ J. S. Vitter, Algorithms and Data Structures for External Memory[永久失效链接], Series on Foundations and Trends in Theoretical Computer Science, now Publishers, Hanover, MA, 2008, ISBN 978-1-60198-106-6.
  9. ^ A thesis on Tertiary storage页面存档备份,存于互联网档案馆). (PDF) . Retrieved on 2011-06-18.

外部链接

编辑