## 一、什么是计算机存储器?
计算机存储器(英语:Computer memory)是一种利用半导体、磁性介质等技术制成的存储数据的电子设备。其电子电路中的数据以二进制方式存储,不同存储器产品中基本单元的名称也不一样。
## 二、计算机存储器的分类
### 1、按在计算机系统中的作用分:
计算机存储器可分为内部存储器(简称内存或主存)、CPU缓存和外部存储器(辅助存储器)。
- 其中内存是CPU能直接寻址的存储空间,由半导体器件制成。计算机内存的特点是访问速率快,容量小,价格高。我们平常使用的程序,如Windows操作系统、打字软件、游戏软件等,一般都是安装在硬盘等外存上的,但必须把它们调入内存中运行,才能真正使用其功能,我们平时输入一段文字,或玩一个游戏,其实都是在内存中进行的,数据产生后不断地由内存向外存进行刷写。就好比在一个书房里,存放书籍的书架和书柜相当于电脑的外存,而我们工作的办公桌就是内存。通常我们把要永久保存的、大量的数据存储在外存上,而把一些临时的或少量的数据和程序放在内存上,当然内存的好坏会直接影响电脑的运行速度。
- 外部存储器是指处理内存和CPU以外的存储器。这种存储器的最大特点就是断电后仍能保存数据。除此之外还具有访问速率慢,容量大,价格相对较低的特点。常见的外存设备有:硬盘、软盘、光盘、U盘等。
- CPU高速缓存(英语:CPU Cache,简称缓存)是用于减少处理器访问内存所需平均时间的部件。在金字塔式存储体系中它位于自顶向下的第二层,仅次于CPU寄存器。由静态存储芯片(SRAM)组成。其容量远小于内存,但速度却可以接近处理器的频率。当处理器发出内存访问请求时,会先查看缓存内是否有请求数据。如果存在(命中),则不经访问内存直接返回该数据;如果不存在(失效),则要先把内存中的相应数据载入缓存,再将其返回处理器。
实际上,CPU的速度要比所有存储器的速度快上万甚至十几万倍,这就造成了CPU需要等待存储器送来的数据。为了实现CPU和存储器之间的速度匹配,所以才出现了高速缓冲存储器。
### 2、按照存储能力与电源的关系可以分为两类:
易失性存储器和非易失行存储器。
#### 2.1易失性存储器是指电源断电后,存储器中所存储的数据便会消失的存储器。主要有以下类型:
随机存取存储器(Random Access Memory,缩写RAM,又叫做主存),是与CPU直接交换数据的存储器,能够随时读取,而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储介质。
- 随机存储器主要分为两种类型:动态随机存取存储器和静态随机存取存储器
**(1)动态随机存取存储器(DRAM):** 一般每个单元由一个晶体管和一个电容构成,特点是单元占用资源空间小,速度比SRAM慢,需要刷新。一般计算机内存即由DRAM组成。在PC上,DRAM以内存条的方式出现。
- 工作原理:利用电容内存储的电容多寡来代表一个二进制比特(bit)是1还是0。由于现实中晶体管会有漏电流的现象,导致电容上所存储的电荷数量并不足以正确的判别数据,而导致数据毁损。因此对于DRAM来说,周期性地充电是一个不可避免的条件。由于这种需要定时刷新的特性,因此被称为“动态”存储器。相对来说,静态存储器(SRAM)只要存入数据后,纵使不刷新也不会丢失记忆。
**(2)静态随机存取存储器:** 英文缩写写作SRAM,一般每个单元由6个晶体管组成,但近来也出现由8个晶体管构成的SRAM单元。特点是速度快,但单元占用资源比DRAM多。一般CPU和GPU的缓存即由SRAM构成。
- 所谓的“静态”,是指这种存储器只要保持通电,里面储存的数据就可以恒常保持。相对之下,动态随机存取存储器(DRAM)里面所储存的数据就需要周期性地更新。
#### 2.2非易失性存储器(Non-volatile memory):是指即使电源供应中断,存储器所存储的数据并不会消失,重新供电后,就能够读取存储器中的数据。 主要种类如下:
**(1)只读存储器:**(英语:Read-Only Memory,缩写:ROM)是一种半导体存储器,其特性是一旦存储数据就无法再将之改变或删除,且内容不会因为电源关闭而消失。
**(2)闪存:**(英语:flash memory)是一种电子式可清除程序化只读存储器的形式,允许在操作中被多次擦或写的存储器。这种科技主要用于一般性数据存储,以及在电脑与其他数字产品间交换传输数据,如储存卡与U盘。闪存是一种特殊的、以宏块抹写的EEPROM。早期的闪存进行一次抹除,就会清除掉整颗芯片上的数据。闪存的成本远较以字节为单位写入的EEPROM来的低,也因此成为非易失性固态存储最重要也最广为采纳的技术。像是PDA、固态硬盘、笔记本电脑、数字随身听、数字相机与手机上均可见到闪存。此外,闪存在游戏主机上的采用也日渐增加,藉以取代存储游戏数据用的EEPROM或带有电池的SRAM。
**(3)磁盘**(英语:Magnetic storage),一种利用材料的磁性特质,将资料储存在磁性媒介上的工程技术,可以用来制作出非挥发性内存。储存在这类媒体上的资料,称为磁记录,可以透过一个或多个读写头(read/write heads)来读取或写入。目前在个人电脑上广泛应用的硬盘,就是一种磁储存装置。
**(4)硬盘**(英语:Hard Disk Drive,缩写:HDD)是电脑上使用坚硬的旋转盘片为基础的非易失性存储器,是电脑中主要的辅助存储设备。是服务器及个人电脑的主要组成部件。
- 工作原理:它在平整的磁性表面存储和检索数字数据,数据通过离磁性表面很近的磁头由电磁流来改变极性的方式被写入到磁盘上,数据可以通过盘片被读取,原理是磁头经过盘片的上方时盘片本身的磁场导致读取线圈中电气信号改变。硬盘的读写是采用半随机存取的方式,可以以任意顺序读取硬盘中的数据,但读取不同位置的资料速度不相同。硬盘包括一至数片高速转动的盘片以及放在执行器悬臂上的磁头。
- 硬盘的数据接口:分为数据接口和电源接口。
* 硬盘按数据接口分,主要分为:
①ATA:是用传统的40-pin并口数据线连接主板与硬盘的,接口速度最大为133MB/s,因为并口线的抗干扰性太差,且排线占用空间较大,不利电脑内部散热,已逐渐被SATA所取代。
②SATA:使用串口的ATA接口,特点是抗干扰性强,对数据线的要求比ATA低很多,且支持热插拔等功能。SATA-II的接口速度为300MiB/s,而新的SATA-III标准可达到600MiB/s的传输速度。SATA的数据线也比ATA的细得多,有利于机箱内的空气流通,整理线材也比较方便。
③SCSI:全称Small Computer System Interface(小型机系统接口),经历多代的发展,从早期的SCSI-II,到当前的Ultra320 SCSI以及Fiber-Channel(光纤通道),接口型式也多种多样。SCSI硬盘广为工作站级个人电脑以及服务器所使用,因此会使用较为先进的技术,如碟片转速15000rpm的高转速,且资料传输时CPU占用率较低,但是单价也比相同容量的ATA及SATA硬盘更加昂贵。
④SAS:是新一代的SCSI技术,可兼容SATA硬盘,都是采取序列式技术以获得更高的传输速度,可达到12Gb/s。此外也透过缩小连接线改善系统内部空间等。此外,由于SAS硬盘可以与SATA硬盘共享同样的背板,因此在同一个SAS存储系统中,可以用SATA硬盘来取代部分昂贵的SAS硬盘,节省整体的存储成本。但SATA存储系统并不能连接SAS硬盘。
⑤FC:光纤通道接口,拥有此接口的硬盘在使用光纤联接时具有热插拔性、高速带宽(4Gb/s或10Gb/s)、远程连接等特点;内部传输速率也比普通硬盘更高。但其价格高昂,因此FC接口通常只用于高端服务器领域。
- 按电源接口分,主要分为:
①3.5寸台式机硬盘:ATA接口的硬盘一般使用D形4针电源接口(俗称“大4pin”),由Molex公司设计并持有专利;SATA硬盘则使用SATA电源线。
②2.5寸的笔记本电脑硬盘,可直接由数据口供电,不需要额外的电源接口。在插上外接的便携式硬盘盒之后,由计算机外部的USB接口提供电力来源,而单个USB接口供电约为4~5V 500mA,若移动硬盘盒用电需求较高,有时需要接上两个USB接口才能使用,否则,需要外接电源供电。但如今多数新型硬盘盒(使用2.5寸或以下硬盘)已可方便地使用单个USB口供电。
- 硬盘的物理结构:
- 硬盘的物理结构一般由磁头与碟片、电动机、主控芯片与排线等部件组成;当主电动机带动碟片旋转时,副电动机带动一组(磁头)到相对应的碟片上并确定读取正面还是反面的碟面,磁头悬浮在碟面上画出一个与碟片同心的圆形轨道(磁轨或称柱面),这时由磁头的磁感线圈感应碟面上的磁性与使用硬盘厂商指定的读取时间或数据间隔定位扇区,从而得到该扇区的数据内容;
柱面(Cylinder)
扇区(Sector)
磁头(Heads)
盘片(Platters)
每个碟片都有两面,因此也会相对应每碟片有2个磁头。
A:磁道
B:扇面
C:扇区
D:簇(扇区组)
在硬盘上定位某一数据记录位置—C扇区,使用了三维定位。
- 磁道:当磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道(Track)。
- 柱面:在有多个盘片构成的盘组中,由不同盘片的面,但处于同一半径圆的多个磁道组成的一个圆柱面(Cylinder)。
- 扇区:磁盘上的每个磁道被等分为若干个弧段,这些弧段便是硬盘的扇区(Sector)。硬盘的第一个扇区,叫做引导扇区。
- 硬盘驱动器的尺寸:
- 0.85英寸,多用于手机等便携设备中,已无厂商生产。
1英寸(微型硬盘,MicroDrive),多用于数字相机(CF type II接口),已无厂商生产。
1.8英寸,多用于笔记本电脑及外置硬盘盒中,已无厂商生产。
2.5英寸,多用于笔记本电脑及外置硬盘盒中。采用2.5"硬盘的外置硬盘盒一般不需外接电源。
3.5英寸,多用于台式机中。采用3.5"硬盘的外置硬盘盒一般需要外接电源,因为耗电量超过USB的供电上限,一直到USB3.0问世后获得解决。
5.25英寸,多为早期台式机使用,已无厂商生产。
10.5英寸。
14英寸,NEC DKU800。
外置硬盘盒,内部容纳硬盘并供电驱动,外部提供USB或Firewire等数据接口以和计算机连接
用SATA接口2.5英寸东芝硬盘:
5.25英寸硬盘与3.5英寸硬盘的尺寸比较:
- 硬盘的主要参数:
**(5)固态硬盘:**(英语:Solid-state drive或Solid-state disk,简称SSD):是一种主要以闪存(NAND Flash)作为永久性存储器的电脑存储设备。由于价格及存储空间与机械硬盘有巨大差距,固态硬盘无法取代机械式硬盘。
- 固态硬盘大部分被制作成与传统硬盘相同的外壳尺寸,例如常见的1.8吋、2.5吋或3.5吋规格,并采用了相互兼容的接口;但有些固态硬盘也使用PCI Express或是Express Card作为接口来突破现有硬盘传输接口的速度,或是在有限空间(如上网本、超级移动电脑等)中置放固态硬盘。
- 固态硬盘的五大缺点:高昂成本、写入次数、读取干扰、损坏时的不可挽救性及掉速。
2.5吋SATA SSD:
SSD内部的印刷电路板:
左上:7-pin SATA数据接口;左下:15-pin SATA电力接口
中:SandForce主控;右:六片NAND Flash
mini PCI-E SSD,接口与mSATA相同,但互不兼容:
用DIMM存储器制成固态硬盘:
华硕Eee PC的SSD:
**(6)软盘:**是一种碟盘存储,主要部分是一张薄软的磁存储介质盘片,盘片封装在矩形塑料壳中,内衬有用于清理灰尘的纤维织物。读写软盘需要借助软盘驱动器(英语:floppy disk drive,简称 FDD)。
**(4)磁带:**(Magnetic tape)是一种非易失性存储介质,由带有可磁化覆料的塑料带状物组成(通常封装为卷起)。由于磁带是循序存取的装置,尤为适合传统的存储和备份以及顺序读写大量资料的使用场景。磁带的类型多种多样,可储存的内容也多种多样。例如,储存视讯的录像带,储存音讯的录音带〔包括盘式录音带、卡式录音带(Compact audio cassette)、数位音频磁带(DAT)、数位线性磁带(DLT)、8音轨卡匣(8-track cartridges)等等各式各样的磁带〕
### 3、计算机存储器的容量:
存储器以二进制计算容量,基本单位是Byte:
1 Kilobyte(KB) =1,024B=210B
1 Megabyte(MB)=1,024KiB=220B=1,048,576B
1 Gigabyte(GB)=1,024MiB=230B=1,073,741,824B
1 Terabyte(TB)=1,024GiB=240B
1 Petabyte(PB)=1,024TiB=250B
1 Exabyte(EB) =1,024PiB=260B
1 Zettabyte(ZB)=1,024EiB=270B
1 Yottabyte(YB)=1,024ZiB=280B
对于32位的操作系统,最多可使用2的32次方个地址,即是4GiB。物理地址扩展可以让处理器在32位操作系统访问超过4GiB存储器,发展64位处理器则是根本的解决方法,但操作系统、驱动程序和应用程序都会有兼容性问题。
### 3、计算机存储器的层次结构:
存储器的层次结构如上图所示,是一个金字塔形状的东西。从上到下依次是寄存器、缓存、主存、磁盘、磁带等。寄存器一般存在于CPU内部。所谓寄存器,就是临时存放的意思。
对于金字塔的解释 这个金字塔看似简单,但实际上包含的信息很多。最重要也是最著名的,就是“三个特性之间的关系”。
速度:由上到下,由高到低
价格:由上到下,由高到低
容量:由上到下,由低到高
上面的金字塔只是让大家建立起一个宏观的认识,这并不是所谓的存储层次结构,真正的存储层次结构分成了两种,一种是缓存-主存结构,另外一种是主存-辅存结构。示意图如下:
缓存-主存层次主要是用来解决CPU的速度和主存速度不匹配的问题,刚刚讲过,即便是内存条这样的高速设备,速度和CPU依然不在一个数量级上,所以需要这样一个层次来解决这个问题。而缓存,就是上面说的Cache。
主存-辅存结构主要是解决容量问题,从金字塔的结构中,其实我们就能够明白,为什么到今天,内存条的价格为何会如此之高,一条DDR4 8G内存,就能够达到七八百RMB的样子,而一块1T的硬盘,也不过四百左右。对于用户来讲,如果都用内存条作为存储器,那简直是人傻钱多。所以就需要使用主存-辅存层次来扩展容量。