电脑数据存贮器,也称存储器或内存或记忆体,主要用于存放供执行的指令,计算或处理的原始数据、中间结果等信息。
简介存储器通常指的是半导体存储器随机存取存储器,特别是动态随机存取存储器 (Dynamic-RAM)。存储器是速度快但只能暂时存储数据的设备。历史上,存储器被称为主存,内部存储器,存储设备被认为是第二级存储设备,外部存储器。然而在中国内地的智能电话中,通常用“内存”指代第二级储存装置,RAM被称作“运存”。
有许多不同的存储设备已被发明。到当前为止,任何一种存储设备都有其缺点,因此一台电脑通常都有好几种不同种类的存储设备,每一种都有其特别的功能。
电脑使用二进制来处理数据。文件,数字,图形,影音,或是其他数据都可以用一串比特来表示,每一个比特的值不是一就是零。最常见的存储单位是字节,一字节等于八比特。一份数据可以被任何具有足够容量去容纳该数据大小的电脑所处理。
传统上,一部电脑最重要的组件是中央处理器 (CPU),因为他负责处理数据,进行所有计算,并且控制电脑内其他所有组件。中央处理器包含两个部分: 控制单元以及算术逻辑单元 (ALU)。前者控制数据在中央处理器及存储器之间的流动。后者处理数据的逻辑运算。
如果没有足够的存储器,电脑将只能进行固定的工作而且立刻将结果输出。这在计算机及数字信号处理是可接受的。冯·诺伊曼结构机器拥有足够的存储器去存储正在运行的指令集以及数据。结果使电脑不用为了运行一个新的程序而改变硬件的配置,使程序设计变得简单,大部分的电脑都是冯·诺伊曼结构。
实际上,几乎所有电脑都有各种不同的存储器,这些存储器在中央处理器旁边,构筑成存储器层次结构,在效率和花费两者之间的拉锯中,在层次结构中较低层的存储器, 带宽较低,而且数据到中央处理器的时间也较久,迟滞时间较长。传统上分第一级,第二级,第三级,离线存储器。
第一级存储器第一级存储器 (又称主存或内部存储器),通常简称为存储器,这层的存储器与中央处理器直接连通,中央处理器会不断读取存储在这里的指令集,并在需要时运行这些指令集。
历史上,早期的电脑使用延迟线,威廉士管作为主要的存储器。在1954年,磁芯存储器被开发出来大幅取代了上述不太稳定的方法。磁芯存储器维持优势至1970年代,此时集成电路技术的进步,使得半导体存储器在价格上变得便宜而有竞争力。
这使得现代化的随机存取存储器 (RAM)被制造出来。该款存储器的重量轻,尺寸小,然而十分昂贵。(这种存储器被用来做成第一级存储器,同时它也是易失性存储器,意思就是当电力不再供应时,存储器内的数据就会消失)。
如同右图所示,在第一级存储器的内部除了主存,也就是随机存取存储器外,还分有两个或两个以上的子层:
寄存器被设置在处理器内。每个寄存器都存储数据中的一个字 (一个字的大小通常是32位或64位)。中央处理器内的指令能让 算术逻辑单元 去运行各种计算或是处理数据。寄存器传输数据的速度是所有存储器中最快的。
CPU缓存,它传输数据的速度仅次于寄存器。被用来作为提升电脑的性能。大部分经常被使用的数据(存在主存中),会复制另一份存在高速缓存内,这样可提升速度,否则速度将会大幅降低,且寄存器也容纳不下那么多数据。多层缓存层次结构亦经常被使用—第一层缓存容量最小,速度最快且位于处理器内部;第二层缓存容量较大且较慢。
主存藉存储器总线与中央处理器连接。有两种不同的总线:地址总线以及数据总线。一开始中央处理器藉位置总线发送数字,这数字就是存储器位置,其指出数据的位置。然后中央处理器用数据总线将数据读出或写入。此外,内存管理单元 (MMU)是一种介于中央处理器跟主存的设备,用来重新计算存储器位置,例如提供虚拟地址。
由于RAM具有易失性(引导时里面是空的),这样的话电脑就无法存储引导时需要的指令,因此,非易失性存储器存储了运行引导的程序 (BIOS),为了读取较大的程序,先自第二层的非易失性存储器读取到随机存取存储器,然后运行程序。一种存储器因着这目的被制出,就是只读存储器(只读存储器也是属于随机存取)。
许多只读存储器并不仅仅只能读取,虽然速度慢,但数据还是可以抹除并重新写入。一些嵌入式系统直接使用只读存储器来跑程序,因为程序几乎不会变化,当前的电脑将数据存于第二层非易失性的存储器,而非只读存储器,这是比较经济的做法。
第二级存储器第二级存储器(又称外部存储器或辅助存储器),和第一级存储器不同的是,第二级存储器和中央处理器并没有直接连通,电脑经常使用存储器的I/O通道来与之连接。第二级存储器使用数据缓冲器来将数据发送至第一级存储器。在不供应电源的情况下,第二级存储器的数据仍然不会消失—这表示它是非易失性的。
现今的电脑,硬盘被广泛地做为第二层存储器,硬盘访问数据的时间大约是几千分之一秒,或是几个毫秒。然而,随机存取存储器访问数据的时间仅有几十亿分之一秒,或是几个纳秒。硬盘的速度只有存储器访问速度的百万分之一。
当数据存储于碟片时,将数据发送到区块可降低迟滞时间,提升效率,这样的话需要外部存储器算法。连续访问和区块访问的速度比随机存取要快得多,所以许多尖端的存储器都在开发更有效率的算法来运行连续访问或区块访问。一个突破I/O瓶颈的方法是使用多重磁盘,可以增加第一级与第二级存储器之间的带宽。
这里枚举一些第二级存储器的例子:闪存 (例如U盘),软盘,磁带,纸带,打孔卡,RAM disk,Zip Drive。
第二级存储器通常被设计成匹配文件系统的格式,这使得数据可以存储在目录和电脑文件内。
大部分的操作系统使用了虚拟内存的概念,第一级存储器的物理容量虽然不变,但可以藉挪用第二级存储器的空间来增大第一级存储器的容量。系统会将最少使用到的区块(页)移至第二级存储器(置换档案或标签页文件),当这些文件被需要时再将它们取回,当愈多文件需要从第二级存储器中取回,电脑的性能就愈低。
第三级存储器第三级存储设备或第三级存储器1,这是指可直接插入或自电脑拔除的存储设备;里面的数据在被使用前通常都会复制到第二级存储器内。该款存储器的访问速度比第二级存储器要慢得多(5–60秒 vs. 1–10毫秒)。该款存储器的优势在于其拥有庞大的存储空间,典型的例子包含磁带柜和光学记录库。
存储器的特性所有的存储器都可以用其核心的特性以及可以用测量而得知的性能,容量来区分。核心的特性有易失性,读写性,访问法,以及定址法。测量得知的特性有性能跟容量。
易失性1.非易失性存储器
数据在电源不供电的状态下仍能保存。这适用于须长期使用的数据。
2.易失性存储器
数据需要有持续不断的电力才能保持。当前访问速度最快的存储器是属于易失性的。因为第一级存储器需要极快的速度,所以采用易失性存储器。
2.1动态随机存取存储器
一种易失性存储器,数据需要每隔一段时间就重新读取或重新写入,否则数据将会消失。
2.2静态随机存取存储器
一种类似DRAM的存储器。不同的是在电力持续供应的状态下,它不用被重新写入或是读取数据(如果没有电力来支持,数据还是会消失)。
读写性可读写的存储器
它允许数据在任一时间被改写。如果一台电脑的第一级存储器不是可读写的(至少要有一定数量的第一级存储器是可读写的),那这台电脑将无法运行各种任务。而第二级存储器也有许多是可读写的。
只读存储器
存储器内的数据通常不会变,但有时允许数据写入(Write Once Read Many)这种存储器也被叫做不可变存储器,主要备用在第三级跟离线存储器上, 例如CD-ROM以及CD-R。
快速读取低速写入存储器
例如CD-RW和闪存。
访问法随机存取
在任何的时间,任何的位置都可以被访问。这适合第一级与第二级存储器。
循序访问
要访问的信息依照顺序来访问,一个接着一个;访问时间长短取决于哪一项数据是最后访问的,这是离线存储器的特征。
定址法区块定址
根据存储器区块的物理地址来访问数据。在当前的电脑,区块定址通常只在第一级存储器出现,由计算机程序来访问,而且访问的效率很高,不过对人而言这是个负担。
文件定址
数据被分区成文件,文件依照人类可读的名称或文件名称而被选择,其实这也是一种区块定址,不过操作系统会将文件抽象化,从而让工作更容易被理解。在当前的电脑,第二级,第三级,离线存储器采用这种方法来定址。
内容定址
数据依据本身的内容被访问。内容定址被使用于软件 (计算机程序)或硬件 (电脑设备),这让硬件变得有效率,但也变得比较昂贵。硬件内容定址存储器通常被用于CPU缓存。
容量原始容量
存储设备或媒介可以保存被存储信息的总量。以比特或字节表示(例如10.4 百万字节)。
存储器存储密度
每单位长度,面积,体积的存储器可以存储的容量(例如每平方英寸1.2百万字节)。
性能迟滞时间
访问存储器内部特定区域数据所花的时间。在第一级存储器中,以纳秒作为合理的计量单位,第二级存储器以毫秒作为计量单位,以秒作为第三级存储器的计量单位或是。迟滞时间可以合理的分为读取的迟滞时间和写入的迟滞时间,以循序访问存储器来说,有最短、最长与平均迟滞时间。
吞吐量
将数据读取到或是写出存储器的速度。吞吐量通常表示为百万字节/秒或是 MB/s,比特率也被使用着。就跟迟滞时间一样,读和写的速度算做两笔不同数据。访问数据的速度取决于最大吞吐量。
粒度
能以单独一个单位被有效率的访问的最大片数据的大小, 例如, 没有引发更多的迟滞时间 。
可靠度
在不同的条件下,非自发性的比特值改变, 或整体故障率。
基本存储技术直至2008年,最常用的数据存储技术是半导体、磁性、光学,同时还看到一些使用纸张作存储。也有一些曾于过去使用或是在将来会使用的数据存储技术。
使用电源部分设备在待用模式下,减少使用风扇,将可减少能源消耗百分之九十。
本词条内容贡献者为:
何星 - 副教授 - 上海交通大学