存储器
此条目需要补充更多来源。 (2024年5月16日) |
存储器(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)。前者控制资料在中央处理器及记忆体之间的流动。后者处理资料的逻辑运算。如果没有足够的记忆体,电脑将只能进行固定的工作而且立刻将结果输出。这在计算机及数位讯号处理是可接受的。冯·诺伊曼结构机器拥有足够的记忆体去储存正在执行的指令集以及资料。结果使电脑不用为了执行一个新的程式而改变硬体的配置,使程式设计变得简单,大部分的电脑都是范纽曼型架构。
记忆体的特性
所有的记忆体都可以用其核心的特性以及可以用测量而得知的效能,容量来区分。核心的特性有挥发性,读写性,存取法,以及定址法。测量得知的特性有效能跟容量。
容量
电脑使用二进制来处理数据。文件,数字,图形,影音,或是其他资料都可以用一串位元来表示,每一个位元的值不是一就是零。最常见的储存单位是位元组,一位元组等于八位元。一份资料可以被任何具有足够容量去容纳该资料大小的电脑所处理。
根据电气电子工程师协会(IEEE 1541)和欧洲联盟(HD 60027-2:2003-03)的标准,二进制乘数词头的缩写为“Ki”、“Mi”、“Gi”,以避免与国际单位制混淆。但二进制乘数词头没有广泛被制造业和个人采用,标示为4GB的内存实际上已经是4GiB,但标示为4.7GB的DVD实际上是4.37GiB。
对于32位元的作业系统,最多可使用232个地址,即是4GiB。物理地址扩展可以让处理器在32位元作业系统存取超过4GiB记忆体,发展64位元处理器则是根本的解决方法,但作业系统、驱动程式和应用程式都会有相容性问题。
挥发性
- 非挥发性记忆体
- 资料在电源不供电的状态下仍能保存。这适用于须长期使用的资料。
- 挥发性记忆体
- 资料需要有持续不断的电力才能保持。目前存取速度最快的记忆体是属于挥发性的。因为第一级记忆体需要极快的速度,所以采用挥发性记忆体。
读写性
- 可读写的记忆体
- 它允许资料在任一时间被覆写。如果一台电脑的第一级记忆体不是可读写的(至少要有一定数量的第一级记忆体是可读写的),那这台电脑将无法执行各种任务。而第二级记忆体也有许多是可读写的。
- 唯读记忆体
- 记忆体内的资料通常不会变,但有时允许资料写入(Write Once Read Many)这种记忆体也被叫做不可变记忆体,主要备用在第三级跟离线记忆体上, 例如CD-ROM以及CD-R。
- 快速读取低速写入记忆体
- 例如CD-RW和快闪记忆体。
存取法
定址法
- 区块定址
- 根据记忆体区块的物理地址来存取资料。在今日的电脑,区块定址通常只出现在第一级记忆体,由电脑程式来存取,而且存取的效率很高,不过对人而言这是个负担。
- 档案定址
- 资料被分割成档案,档案依照人类可读的名称或档案名称而被选择,其实这也是一种区块定址,不过作业系统会将档案抽象化,从而让工作更容易被理解。在今日的电脑,第二级,第三级,离线记忆体采用这种方法来定址。
- 内容定址
- 资料依据本身的内容被存取。内容定址被使用于软体 (电脑程式)或硬体 (电脑装置),这让硬体变得有效率,但也变得比较昂贵。硬体内容定址记忆体通常被用于CPU快取。
效能
- 迟滞时间
- 存取储存器内部特定区域资料所花的时间。在第一级记忆体中,以奈秒作为合理的计量单位,第二级记忆体以毫秒作为计量单位,以秒作为第三级记忆体的计量单位或是。迟滞时间可以合理的分为读取的迟滞时间和写入的迟滞时间,以循序存取储存器来说,有最短、最长与平均迟滞时间。
- 吞吐量
- 将资料读取到或是写出记忆体的速度。吞吐量通常表示为百万位元组/秒或是 MB/s,位元率也被使用著。就跟迟滞时间一样,读和写的速度算做两笔不同资料。存取资料的速度取决于最大吞吐量。
- 粒度
- 能以单独一个单位被有效率的存取的最大片资料的大小, 例如, 没有引发更多的迟滞时间 。
- 可靠度
- 在不同的条件下,非自发性的位元值改变, 或整体故障率。
分类
直至2008年,最常用的数据储存技术是半导体、磁性、光学,同时还看到一些使用纸张作储存。也有一些曾于过去使用或是在将来会使用的数据储存技术。市场上存在多种不同形态、不同材质的存储器。到目前为止,任何一种储存装置都有其缺点,因此一台电脑通常都有好几种不同种类的储存装置,每一种都有其特别的功能。
电脑记忆体可以根据储存能力与电源的关系可以分为以下两类:
挥发性记忆体
挥发性记忆体(Volatile memory)是指当电源供应中断后,记忆体所储存的资料便会消失的记忆体。主要有以下的类型:
非挥发性记忆体
非挥发性记忆体(Non-volatile memory)是指即使电源供应中断,记忆体所储存的资料并不会消失,重新供电后,就能够读取记忆体中的资料。 主要种类如下:
记忆体阶层
实际上,几乎所有电脑都有各种不同的记忆体,这些记忆体在中央处理器旁边,构筑成记忆体阶层,在效率和花费两者之间的拉锯中,在阶层中较低层的记忆体, 频宽较低,而且资料到中央处理器的时间也较久,迟滞时间较长。传统上分第一级,第二级,第三级,离线记忆体。
第一级记忆体
第一级记忆体 (又称主记忆体或内部记忆体),通常简称为记忆体,这层的记忆体与中央处理器直接连通,中央处理器会不断读取储存在这里的指令集,并在需要时执行这些指令集。
历史上,早期的电脑使用延迟线,威廉士管作为主要的储存器。在1954年,磁芯记忆体被开发出来大幅取代了上述不太稳定的方法。磁芯记忆体维持优势至1970年代,此时积体电路技术的进步,使得半导体记忆体在价格上变得便宜而有竞争力。
这使得现代化的随机存取记忆体 (RAM)被制造出来。该款记忆体的重量轻,尺寸小,然而十分昂贵。(这种记忆体被用来做成第一级记忆体,同时它也是挥发性记忆体,意思就是当电力不再供应时,记忆体内的资料就会消失)。
如同右图所示,在第一级记忆体的内部除了主记忆体,也就是随机存取记忆体外,还分有两个或两个以上的子层:
- 暂存器被设置在处理器内。每个暂存器都储存资料中的一个字 (一个字的大小通常是32位元或64位元)。中央处理器内的指令能让 算术逻辑单元 去执行各种计算或是处理资料。暂存器传输资料的速度是所有记忆体中最快的。
- CPU快取,它传输资料的速度仅次于暂存器。被用来作为提升电脑的效能。大部分经常被使用的资料(存在主记忆体中),会复制另一份存在快取记忆体内,这样可提升速度,否则速度将会大幅降低,且暂存器也容纳不下那么多资料。多层快取阶层亦经常被使用—第一层快取容量最小,速度最快且位于处理器内部;第二层快取容量较大且较慢。
主记忆体藉记忆体汇流排与中央处理器连接。有两种不同的汇流排(并没有在图上): 位址汇流排以及资料汇流排. 一开始中央处理器藉位置汇流排传送数字,这数字就是记忆体位置,其指出资料的位置。然后中央处理器用资料汇流排将资料读出或写入。此外,内存管理单元 (MMU)是一种介于中央处理器跟主记忆体的装置,用来重新计算记忆体位置,例如提供虚拟地址。
由于RAM具有挥发性(开机时里面是空的),这样的话电脑就无法储存开机时需要的指令,因此,非挥发性记忆体储存了执行开机的程式 (BIOS),为了读取较大的程式,先自第二层的非挥发性记忆体读取到随机存取记忆体,然后执行程式。一种记忆体因著这目的被制出,就是唯读记忆体(唯读记忆体也是属于随机存取).
许多唯读记忆体并不仅仅只能读取,虽然速度慢,但资料还是可以抹除并重新写入。一些嵌入式系统直接使用唯读记忆体来跑程式,因为程式几乎不会变化,现在的电脑将资料存于第二层非挥发性的记忆体,而非唯读记忆体,这是比较经济的做法。
第二级记忆体
第二级记忆体(又称外部记忆体或辅助记忆体),和第一级记忆体不同的是,第二级记忆体和中央处理器并没有直接连通,电脑经常使用记忆体的I/O通道来与之连接,第二级记忆体使用资料缓冲器来将资料传送至第一级记忆体。在不供应电源的情况下,第二级记忆体的资料仍然不会消失—这表示它是非挥发性的。
现今的电脑,硬碟被广泛地做为第二层记忆体,硬碟存取资料的时间大约是几千分之一秒,或是几个毫秒。然而,随机存取记忆体存取资料的时间仅有几十亿分之一秒,或是几个奈秒。硬碟的速度只有记忆体存取速度的百万分之一,光碟,例如CD和DVD,有更长的存取时间。
当资料储存于碟片时,将资料传送到区块可降低迟滞时间,提升效率,这样的话需要外部记忆体演算法。连续存取和区块存取的速度比随机存取要快得多,所以许多尖端的记忆体都在开发更有效率的演算法来执行连续存取或区块存取。一个突破I/O瓶颈的方法是使用多重磁碟,可以增加第一级与第二级记忆体之间的频宽。[8]
这里列举一些第二级记忆体的例子: 快闪记忆体 (例如随身碟),软碟,磁带,纸带,打孔卡,RAM disk,Zip Drive。
第二级记忆体通常被设计成符合文件系统的格式,这使得资料可以储存在目录和电脑档案内。
大部分的作业系统使用了虚拟记忆体的概念,第一级记忆体的物理容量虽然不变,但可以藉挪用第二级记忆体的空间来增大第一级记忆体的容量。系统会将最少使用到的区块(页)移至第二级记忆体(置换档案或分页档案),当这些档案被需要时再将它们取回,当愈多档案需要从第二级记忆体中取回,电脑的效能就愈低。
第三级记忆体
第三级储存装置或第三级记忆体,[9] 这是指可直接插入或自电脑拔除的储存装置;里面的资料在被使用前通常都会复制到第二级记忆体内。该款记忆体的存取速度比第二级记忆体要慢得多(5–60秒 vs. 1–10毫秒)。该款记忆体的优势在于其拥有庞大的储存空间,典型的例子包含磁带柜和光学记录库。
参见
参考文献
- ^ memory. 乐词网. 国家教育研究院. (繁体中文)
- ^ 2.0 2.1 2.2 2.3 全国科学技术名词审定委员会,审定.计算机科学技术名词 [M]. 3版.北京:科学出版社, 2018: 121. 科学文库.
- ^ 3.0 3.1 3.2 3.3 3.4 3.5 3.6 教育部教育考试院.全国计算机等级考试二级教程:公共基础知识 [M].北京:高等教育出版社, 2022 (2023-05): 3-9.
- ^ 4.0 4.1 内存储器 [DB/OL] [2024] // 陈至立.辞海. 7版网络版.上海:上海辞书出版社, 2020.
- ^ 5.0 5.1 蔡尚铭.主存储器 [DB/OL].胡伟武,安虹,肖利民,等编 (2022-12-23) [2024] // 陈奎元.中国大百科全书. 3版网络版.北京:中国大百科全书出版社.
- ^ 邱鹏飞.存储器 [DB/OL].胡伟武,安虹,肖利民,等编 (2022-12-23) [2024] // 陈奎元.中国大百科全书. 3版网络版.北京:中国大百科全书出版社.
- ^ 7.0 7.1 外存储器 [DB/OL] [2024] // 陈至立.辞海. 7版网络版.上海:上海辞书出版社, 2020.
- ^ 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.
- ^ A thesis on Tertiary storage (页面存档备份,存于互联网档案馆). (PDF) . Retrieved on 2011-06-18.
外部链接
- How Computer Memory Works (页面存档备份,存于互联网档案馆), by Jeff Tyson