存储系统一

3.存储系统,主存与磁盘存储器

计算机的主存储器不能同时满足存取速度快、存储容量大和成本低的要求,在计算机中必须有速度由慢到快、容量由大到小的多级层次存储器,以最优的控制调度算法和合理的成本,构成具有性能可接受的存储系统。存储系统的性能在计算机中的地位日趋重要,主要原因是:①冯诺伊曼体系结构是建筑在存储程序概念的基础上,访存操作约占中央处理器(CPU)时间的70%左右。②存储管理与组织的好坏影响到整机效率。③现代的信息处理,如图像处理、数据库、知识库、语音识别、多媒体等对存储系统的要求很高。
(1)存储器系统特征
存储单元
数据必须首先在计算机内被表示,然后才能被计算机处理。计算机表示数据的部件主要是存储设备;而存储数据的具体单位是存储单元;因此,了解存储单元的结构是十分必要的。
(1)”位”(Bit):是计算机中最小的信息单位。一”位”只能表示0和1中的一个,即一个二进制位,或存储一个二进制数位的单位。
(2)”字节”(Byte):是由相连8个位组成的信息存储单位。
(3)”字”(Word):是由相连4个字节(即32位)构成的信息存储单位如下图。字的地址是组成字的第一个字节的地址除4;因此该字节的地址必须能被4整除。
(4)”双字”(Double Word):是由相连2个字(即64位)构成的信息存储单位如下图。双字的地址是组成双字的第一个字节的地址除8;因此该字节的地址必须能被8整除。
(5)”半字”(Half Word):是由相连2个字节(即16位)构成的信息存储单位如下图。半字的地址是组成字的第一个字节的地址除2;因此该字节的地址必须能被2整除
一个存储单元可以存储一个字节,也就是8个二进制位。计算机的存储器容量是以字节为最小单位来计算的,对于一个有128个存储单元的存储器,可以说它的容量为128字节。如果有一个1KB的存储器则它有1024个存储单元,它的编号为从0-1023。存储器被划分成了若干个存储单元,每个存储单元都是从0开始顺序编号,如一个存储器有128个存储单元,则它的编号就是从0-127。
存储地址一般用十六进制数表示,而每一个存储器地址中又存放着一组二进制(或十六进制)表示的数,通常称为该地址的内容。值得注意的是,存储单元的地址和地址中的内容两者是不一样的。前者是存储单元的编号,表示存储器总的一个位置,而后者表示这个位置里存放的数据。正如一个是房间号码,一个是房间里住的人一样。
放一个机器字的存储单元,通常称为字存储单元,相应的单元地址叫字地址。而存放一个字节的单元,称为字节存储单元,相应的地址称为字节地址。如果计算机中可以编址的最小单元是字存储单元,则该计算机称为按字寻址的计算机。如果计算机中可编址的最小单位是字节,则该计算机称为按字节寻址的计算机。如果机器字长等于存储器单元的位数,一个机器字可以包含数个字节,所以一个存储单元也可以包含数个能够单独编址的字节地址。例如一个16位二进制的字存储单元可存放两个字节,可以按字地址寻址,也可以按字节地址寻址。当用字节地址寻址时,16位的存储单元占两个字节地址。
存取方式:
顺序存储:顺序存储结构是存储结构类型中的一种,该结构是把逻辑上相邻的节点存储在物理位置上相邻的存储单元中,结点之间的逻辑关系由存储单元的邻接关系来体现。
在计算机中用一组地址连续的存储单元依次存储线性表的各个数据元素,称作线性表的顺序存储结构。由此得到的存储结构为顺序存储结构,通常顺序存储结构是借助于计算机程序设计语言(例如c/c++)的数组来描述的。顺序存储结构的主要优点是节省存储空间,因为分配给数据的存储单元全用存放结点的数据(不考虑c/c++语言中数组需指定大小的情况),结点之间的逻辑关系没有占用额外的存储空间。采用这种方法时,可实现对结点的随机存取,即每一个结点对应一个序号,由该序号可以直接计算出来结点的存储地址。但顺序存储方法的主要缺点是不便于修改,对结点的插入、删除运算时,可能要移动一系列的结点。
优点:随机存取表中元素。缺点:插入和删除操作需要移动元素。
直接存取:与顺序存取类似,直接存取也使用一个共享的读写装置对所有的数据进行访问。但每个数据块都有唯一的地址标识。读写装置可以直接移动到目的数据块的所在位置进行访问。访问时读写不见先直接指向一个小区域,再在该区域内 顺序查找,访问时间与数据位置有关。磁盘存储器就是采用直接存取。
随机存取:存储器的每一个可寻址单元都具有自己唯一的地址和读写装置,系统可以在相同的时间内对任意一个存储单元的数据进行访问。与之前的访问序列无关。主存储器就是采用随机存取。
相联存取:随机存取的一种形式,但是不根据地址而是根据存储内容来进行存取的。可以对所有的存储单元的特定位进行比较,选择符合条件的单元进行访问。一般cache采用这种方式。
性能指标:
存储容量,在一个存储器中可以容纳的存储单元总数 存储空间的大小 字数,字节数
存取时间,启动到完成一次存储器操作所经历的时间 主存的速度 ns
存储周期,连续启动两次操作所需间隔的最小时间 主存的速度 ns
存储器带宽,单位时间里存储器所存取的信息量, 数据传输速率技术指标 位/秒,字节/秒
数据传输率,每秒钟数据输入/输出的数据位数。对于随机存取,就是存储周期的倒数。
(2)存储器的层次结构和存储器分类
这里写图片描述
存储器分类有很多种:
按照存储器的位置分:内存和外存
按材料分:磁存储器、半导体存储器、光存储器
按工作方式:读写存储器和只读存储器
按访问方式:按地址和按内容访问
按寻址方式:随机存储器,直接存储器、顺序存储器
(3)主存
主存储器(Main memory),简称主存。是计算机硬件的一个重要部件,其作用是存放指令和数据,并能由中央处理器(CPU)直接随机存取。现代计算机是为了提高性能,又能兼顾合理的造价,往往采用多级存储体系。即由存储容量小,存取速度高的高速缓冲存储器,存储容量和存取速度适中的主存储器是必不可少的。主存储器是按地址存放信息的,存取速度一般与地址无关。主存储器一般采用半导体存储器,与辅助存储器相比有容量小、读写速度快、价格高等特点。计算机中的主存储器主要由存储体、控制线路、地址寄存器、数据寄存器和地址译码电路五部分组成。容量、存储时间和存储周期是主存的3个重要指标。
分类:
RAM:是构成内存的主要部分,其内容可以根据需要随时按地址读出或写入,以某种电触发器的状态存储,断电后信息无法保存,用于暂存数据,又可分为DRAM(信息会随时间逐渐消失)和SRAM(在不断电的情况下,信息一直保存)两种。RAM一般使用动态半导体存储器件(DRAM)。因为CPU工作的速度比RAM的读写速度快,所以CPU读写RAM时需要花费时间等待,这样就使CPU的工作速度下降。人们为了提高CPU读写程序和数据的速度,在RAM和CPU之间增加了高速缓存(Cache)部件。Cache的内容是随机存储器(RAM)中部分存储单元内容的副本。
ROM:是只读存储器,出厂时其内容由厂家用掩膜技术写好,只可读出,但无法改写。信息已固化在存储器中,一般用于存放系统程序BIOS和用于微程序控制。
PROM:是可编程ROM,只能进行一次写入操作(与ROM相同),但是可以在出厂后,由用户使用特殊电子设备进行写入。
EPROM:是可擦除的PROM,可以读出,也可以写入。但是在一次写操作之前必须用紫外线照射,以擦除所有信息,然后再用EPROM编程器写入,可以写多次。
EEPROM:是电可擦除PROM,与EPROM相似,可以读出也可写入,而且在写操作之前,不需要把以前内容先擦去,能够直接对寻址的字节或块进行修改。
闪速存储器(Flash Memory):其特性介于EPROM与EEPROM之间。闪速存储器也可使用电信号进行快速删除操作,速度远快于EEPROM。但不能进行字节级别的删除操作,其集成度高于EEPROM。
(4)外存储器
磁盘存储器:
磁盘存储器存储器 的供应商是利用磁记录技术在涂有磁记录介质的旋转圆盘上进行数据存储的辅助存储器。磁盘存储器不仅容量大,存取速度快,而且可以实现随机存取,是实现虚拟存储器所必需的硬件,因此在现代计算机系统中,都配置了磁盘存储器,并以它为主存放文件。
 磁盘是依靠由一个个同心圆组成的磁道上的具有不同磁化方向的磁化元来存储0、1信息的。对这些磁化元的读写是通过一个磁头来进行的。磁头是由磁性材料制作而成,形状如同一个矩形环,靠近磁道方向上开有一个小间隙,在磁头上还分别绕有一组写线圈和读线圈。磁头在对一个磁道进行读写操作时,磁头固定不动,而磁道运动。如图所示。
这里写图片描述
磁盘存储器磁头构造  
进行写操作时,在写线圈中通过一定方向的脉冲电流时,磁铁芯内就产生一定方向的磁通,并在磁头间隙处产生很强的磁场。 在这个磁场作用下,位于磁头下的磁道上的某个固定单元就被磁化成相应极性的磁化元。每个磁化元记录一位二进制位,当磁盘相对于磁头运动时,就可以连续写入一连串的二进制信息。行读操作时,经过磁头的磁化元会使磁铁芯内产生磁通的变化,从而使读线圈中产生一定的感应电势,经转换变成一定方向的脉冲电流,由此脉冲电流即可判定所读出的是0还是1。传统的磁盘是将读和写操作共用一个磁头完成,而新一代的硬盘系统则采用了不同的读写机制,它将读写操作分别在两个不同的磁头上完成,写机制与传统方式相同,而读机制则有所不同。读磁头是由一个磁阻(magnetoresistive,MR)式感应器组成,MR的电阻大小取决于在它下面运动的介质的磁化方向。让电流通过MR感应器,电阻的变化作为电压信号被检测出来,从而检测出读出的是0还是1。采用这种新的读机制,允许有更高的读操作频度,从而使磁盘可以达到更高的存储密度和读操作速度。
磁盘存储器的构成
磁盘存储器主要由磁盘片、磁盘驱动器和磁盘控制器等组成。软盘是由单个盘片构成,而硬盘则由多个盘片构成,通常称为盘片组。  磁盘驱动器由机械和电器两大部分组成。硬磁盘中,盘片组固定安装在一个主轴上,主轴通过传动带与一个主电机相连。硬盘组的每一个盘面上都有一个独立的磁头,磁头通过磁头臂连接在一个在固定滑轨上运动的小车上,再通过小车与一个定位驱动装置相连,如图所示。
这里写图片描述
磁盘驱动器的机械部分一方面驱动盘片组按一定转速绕主轴转动,另一方面驱动小车通过磁头臂带动磁头沿径向运动,进行磁道的定位。目前磁头小车的驱动方式采用步进电机或音圈电机两种。步进电机靠脉冲信号驱动,控制简单,整个驱动定位系统是开环控制,因此定位精度较低,一般用于道密度不高的硬磁盘驱动器。而音圈电机是线性电机,可以直接驱动磁头作直线运动,驱动定位系统是一个带有速度和位置信息反馈的闭环控制系统,驱动速度快,定位精度高,因此被更多的硬磁盘驱动器所采用。  磁盘驱动器的电器部分主要是由一些控制电路组成,其功能主要包括主电机和定位电机的控制,磁头的选择和读写控制,磁盘索引的识别和扇区的定位等。  磁盘控制器是主机与磁盘驱动器之间的接口。磁盘存储器是高速外存设备,它与主机之间采用成组数据交换方式。作为主机与驱动器之间的控制器,磁盘控制器有两个方面的接口:一个是与主机的接口,控制磁盘与主机之间通过外部总线交换数据;另一个是与磁盘驱动器的接口,根据主机命令控制磁盘驱动器的操作。另外,磁盘控制器还能完成磁盘与主机之间的数据格式转换以及数据的编码和解码工作。
磁盘存储器的数据结构
磁盘是以“盘面∣磁道∣扇区”的方式来进行数据组织的。磁盘的盘面由一个个同心圆环组成,每一个圆环称为一个磁道。当对磁盘进行读写时,磁头定位在磁道上,为防止或减少由于磁头未定位准确或磁域间的干扰所引起的错误,相邻磁道间有一定的间隙。一般来讲,一个磁盘面有上千个磁道。  磁道又进一步被分割成几十到上百个等长的圆弧,每一段圆弧称为一个扇区。一个扇区可以存储若干位信息,它也是磁盘与主机之间交换信息的基本单位,也就是说,主机对磁盘的读写操作一次至少是一个扇区。一个扇区所存储二进制位数的大小由操作系统对磁盘进行格式化时确定,大多数系统所定义的扇区的大小为512B~2KB。相邻扇区间同样留有一定的间隙。磁盘的数据组织形式如图所示。
这里写图片描述
当磁盘转动时,内圈磁道经过磁头的速率要比外圈慢。因此,需要寻找一种方式来补偿速率的变化,使磁头能以同样的速率读写所有的磁道。一种有效的办法是通过增大信息位的间隙来实现。这样以恒定角速度(constant angular,CAV)转动的盘,能使磁头以相同的速率来扫描所有信息位。上图就是一种采用CAV技术的磁盘布局格式,它的好处是,能方便地以磁道号和扇区号来直接寻址各个数据块。为将磁头从当前位置移到指定位置,只需将磁头径向移动到指定磁道,然后等待指定扇区转到磁头下即可。CAV的缺点是,外圈的长磁道上存储的数据位数与内圈的短磁道相同,浪费了长磁道的存储空间。  一个磁道的存储容量是与磁道的长度(周长)有关的。在上述CAV方式中,为使所有磁道的容量相同,从外圈磁道到内圈磁道的线性密度是逐渐增大的,磁盘的容量也就受到最内圈磁道所能达到的最大记录密度的限制。为提高存储容量,现代磁盘系统使用一种称为多区式记录(multi zone recording,MZR)的技术。它将磁盘盘面划分成几个区(典型的是16区),每个区中的所有磁道的扇区数是相同的,从而磁道的容量也是相同的;但不同区的磁道所拥有的扇区数是不同的,从而容量也就不同,越往内圈的区,磁道容量越小。当磁头由一个区移动到另一个区时,容量的改变会引起磁头上读写时序的变化,也就使磁盘控制电路的控制更为复杂,但这种电路的复杂所带来的是磁盘容量的提升。  为使磁头能对扇区进行准确定位,磁道上会有一个起始点,称为磁盘索引,同时每个扇区还有起点和终点的标识。磁盘经格式化后,相关控制信息被记录在磁盘上,并由磁盘驱动器所识别和使用。  磁盘格式化的一个例子如图5-31所示。在此例中,每个磁道包含30个固定长度扇区,每个扇区有600B,其中512B为有效数据,剩余的为磁盘控制器使用的控制信息。其中各控制信息的含义如下:
·ID域 是唯一的一个标识或地址,用于定位具体扇区。  
·同步字节 是一个特殊的位序列,用来定义区域的起始点。  
·磁道号 用来标识磁盘上的一个磁道。  
·磁头号 用来标识磁盘组中的一个磁头。  
·扇区号 用来标识磁道上的一个扇区。  
·CRC 循环冗余校验码。
磁盘存储器的技术指标
磁盘存储器的主要性能指标包括存储密度、存储容量和访问速度等。  
(1)存储密度  磁盘表面的存储密度主要分为道密度和位密度。道密度是指沿磁盘径向单位长度上的磁道数,单位为道/英寸(TPI)或道/毫米(TPM)。位密度是指磁道单位长度上能记录的二进制代码位数,单位为位/英寸(BPI)或位/毫米(BPM)。  
(2)存储容量  一个磁盘存储器所能存储的字节总数,称为磁盘存储器的存储容量。存储容量有格式化容量和非格式化容量之分。格式化容量是指按照某种特定的记录格式所能存储信息的总量,也就是用户可以真正使用的容量。非格式化容量是磁记录表面可以利用的磁化单元总数。将磁盘存储器用于某计算机系统中,必须首先进行格式化操作,然后才能供用户记录信息。从前面的图5-30可以看出,经格式化后的磁盘的每个扇区内部和扇区之间都留有间隙及控制和校验信息,因此,格式化容量比非格式化容量小,一般为非格式化容量的60%~70%。  
在所有磁道容量相同的磁盘存储器中,格式化容量可以按下述方法计算:  

磁盘存储器总容量=盘面数×每面容量

面容量=磁道数×每道容量

道容量=扇区数×每扇区容量

  
而非格式化容量则可以按下述方法计算:  

磁盘存储器总容量=盘面数×每面容量

面容量=磁道数×每道容量 磁道数=道密度×径向有效距离

道容量=位密度×磁道周长

  
(3)访问时间  磁盘存储器的访问时间主要由寻道时间、旋转延时和传送时间三部分组成。 
平均访问时间=控制延时+寻道时间+旋转延时+传输延时
旋转延时=1/(转速*2)
当磁盘驱动器操作时,磁盘主轴电机带动盘片以恒定的速度转动。为了读或写,磁头必须精确定位在所含数据的磁道和扇区的起始处。磁道选择包括在可移动磁头系统中移动磁头或在固定磁头系统选择某个磁头。在可移动磁头系统中,磁头定位到该磁道所花的时间称为寻道时间。无论哪一种磁头系统,一旦磁道选定,磁盘控制器将处于等待状态,直到相关扇区旋转到磁头可读写的位置,这段时间称为旋转延时。寻道时间和旋转延时的总和称为存取时间,即定位到读写位置的时间。从所访问的扇区头开始,整个扇区从磁头下经过,即完成了该扇区的数据传送,这部分时间称为传送时间。  
寻道时间 由于寻道时间是不确定的,因此一个磁盘存储器的寻道时间一般取平均寻道时间。平均寻道时间是最大寻道时间与最小寻道时间的平均值,目前平均寻道时间为10~20ms,一些高速硬盘的平均寻道时间小于10ms。  
旋转延时 每次对一个磁道上某个扇区的访问,旋转延时也是不同的,因此旋转延时也取平均值。平均旋转延时和磁盘转速有关,它用磁盘旋转一周所需时间的一半来表示。转速为7200转/分的磁盘其平均旋转时间为4.17ms。  
传送时间 磁盘的数据传送时间,除了与所传送的数据大小有关外,主要取决于磁盘的数据传输率。磁盘存储器在单位时间内向主机传送数据的字节数,称为数据传输率,数据传输率与存储设备和主机接口逻辑有关。从主机接口逻辑考虑,应有足够快的传送速度向设备接收/发送信息。从存储设备考虑,磁盘转速越快,数据传输率也就越高。假设磁盘旋转速度为每秒r转,每条磁道容量为N个字节,则数据传输率  D=rN(字节/秒) 
(4)数据传输率  

数据传输率=磁道总字节数扇区*磁盘转速 =扇区记录字节数*每道扇区数*磁盘转速

磁盘存储器在单位时间内向主机传送数据的字节数,叫数据传输率,传输率与存储设备和主机接口逻辑有关。从主机接口逻辑考虑,应有足够快的传送速度向设备接收/发送信息。从存储设备考虑,假设磁盘旋转速度为每秒n转,每条磁道容量为N个字节,则数据传输率Dr=nN(字节/秒)。也可以写成Dr=D/v(字节/秒),其中D为位密度,v为磁盘旋转的线速度,磁盘存储器的数据传输率可达几十兆字节。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值