加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

计算机版图之四: 存储器(I): 类型,作用与分级

(2009-08-11 08:08:18)
标签:

计算机

硬件

软件

网络

应用环境

分类: 职业秘诀与追求

2009.08.11 北京 

 

            计算机版图之四

           存储器(I)

 

  一.存储器类型
 (一) 按存储介质分类  

     1.半导体存储器: 用半导体器件组成的存储器称为半导体存储器;特点:集成度高、容量大、体积小、存取速度快、功耗低、价格便宜、维护简单.主要分两大类:双极型存储器:TTL型和ECL型.金属氧化物半导体存储器(简称MOS存储器):静态MOS存储器和动态MOS存储器。

     2.磁表面存储器: 用磁性材料做成的存储器称为磁表面存储器,简称磁存储器。它包括磁盘存储器、磁带存储器等。特点:体积大、生产自动化程度低、存取速度慢,但存储容量比半导体存储器大得多且不易丢失。

    3. 激光存储器: 信息以刻痕的形式保存在盘面上,用激光束照射盘面,靠盘面的不同反射率来读出信息。光盘可分为只读型光盘(CD-ROM)、只写一次型光盘(WORM)和磁光盘(MOD)三种.

 (二) 按存取方式分类

    1. 随机存储器(RAM):如果存储器中任何存储单元的内容都能被随机存取,且存取时间与存储单元的物理位置无关,则这种存储器称为随机存储器(RAM)。RAM主要用来存放各种输入/输出的程序、数据、中间运算结果以及存放与外界交换的信息和做堆栈用。随机存储器主要充当高速缓冲存储器和主存储器。

    2. 串行访问存储器(SAS):如果存储器只能按某种顺序来存取,也就是说,存取时间与存储单元的物理位置有关,则这种存储器称为串行访问存储器。串行存储器又可分为:

    1)顺序存取存储器(SAM): 顺序存取存储器是完全的串行访问存储器,如磁带,信息以顺序的方式从存储介质的始端开始写入(或读出);

    2)直接存取存储器(DAM): 直接存取存储器是部分串行访问存储器,如磁盘存储器,它介于顺序存取和随机存取之间。

    3.只读存储器(ROM):只读存储器是一种对其内容只能读不能写入的存储器,即预先一次写入的存储器。通常用来存放固定不变的信息。如经常用作微程序控制存储器。目前已有可重写的只读存储器。常见的有掩模ROM(MROM),可擦除可编程ROM(EPROM),电可擦除可编程ROM(EEPROM).ROM的电路比RAM的简单、集成度高,成本低,且是一种非易失性存储器,计算机常把一些管理、监控程序、成熟的用户程序放在ROM中。

   (三) 按信息的可保存性分类:
     1. 易失性存储器: 在系统关闭时会丢失所有数据。它要求维持通电状态才能保持正常工作。如半导体读/写存储器RAM。
     2. 非易失性存储器:在系统或者设备关闭时也不会丢失数据,如磁性材料做成的存储器以及半导体ROM, 类似CF或SM卡的闪存存储设备也都属于非易失性存储器。
   (四) 按在计算机系统中的作用分 

    根据存储器在计算机系统中所起的作用,可分为主存储器(内存)、辅助存储器(外存)、高速缓冲存储器、控制存储器等。为了解决对存储器要求容量大,速度快,成本低三者之间的矛盾,目前通常采用多级存储器体系结构,即使用高速缓冲存储器、主存储器和外存储器。

     1. 主存储器:
    主存储器又常称为内存储器(简称内存),属于CPU的组成部分.内存在主板插槽上,由于外观是条形的,又叫内存条.内存运行速度高,需要电源支持,断电后内存中数据自然消失;
     2. 辅助存储器
辅助存储器又常称为外存储器(简称外存),属于外部设备,如硬盘,软盘和光盘等。外存按照与主机箱的固联关系,又分为主机硬盘与移动存储器二大类.
CPU不能像访问内存那样,直接访问外存,外存要与CPU或I/O设备进行数据传输,必须通过内存进行。断电后外存中数据不会消失. 

     3.高速缓冲存储器(缓存)

    高速缓冲存储器(Cache)实际上是为了把由DRAM组成的大容量内存储器都看做是高速存储器而设置的小容量局部存储器,一般由高速SRAM构成。这种局部存储器是面向CPU的,引入它是为减小或消除CPU与内存之间的速度差异对系统性能带来的影响。Cache 通常保存着一份内存储器中部分内容的副本(拷贝),该内容副本是最近曾被CPU使用过的数据和程序代码。Cache的有效性是利用了程序对存储器的访问在时间上和空间上所具有的局部区域性,即对大多数程序来说,在某个时间片内会集中重复地访问某一个特定的区域。如PUSH/POP指令的操作都是在栈顶顺序执行,变量会重复使用,以及子程序会反复调用等,就是这种局部区域性的实际例证。因此,如果针对某个特定的时间片,用连接在局部总线上的Cache代替低速大容量的内存储器,作为CPU集中重复访问的区域,系统的性能就会明显提高。

  系统开机或复位时,Cache 中无任何内容。当CPU送出一组地址去访问内存储器时,访问的存储器的内容才被同时“拷贝”到Cache中。此后,每当CPU访问存储器时,Cache 控制器要检查CPU送出的地址,判断CPU要访问的地址单元是否在Cache 中。若在,称为Cache 命中,CPU可用极快的速度对它进行读/写操作;若不在,则称为Cache未命中,这时就需要从内存中访问,并把与本次访问相邻近的存储区内容复制到Cache 中。未命中时对内存访问可能比访问无Cache 的内存要插入更多的等待周期,反而会降低系统的效率。而程序中的调用和跳转等指令,会造成非区域性操作,则会使命中率降低。因此,提高命中率是Cache 设计的主要目标。
    4.控制存储器

  控制存储器用来存放实现全部指令系统的所有微程序,它是一种只读型存储器 .一旦微程序固化,机器运行时则只读不写.其工作过程是:每读出一条微指令,则执行这条微指令;接着又读出下一条微指令.又执行这一条微指令.读出一条微指令并执行微指令的时间总和称为一个微指令周期.通常,在串行方式的微程序控制器中.微指令周期就是只读存储器的工作周期 .控制存储器的字长就是微指令字的长度,其存储容量视机器指令系统而定,即取决于微程序的数量.对控制存储器的要求是读出周期要短,因此通常采用双极型半导体只读存储器.
    PC的存储器标准配置有:一级缓存和二级缓存, 标准系统RAM,虚拟内存和硬盘.
    二. 存储器的作用与用途: 
    尽管存储器从技术上是指任何形式的电子存储设备,但它更多的是用来表示快速、临时的存储形式。如果计算机的CPU需要经常访问硬盘以获得所需的每条数据,则整个系统的运行会非常缓慢。但是,如果将信息保存在存储器中,CPU读取这些信息的速度就可以大大加快,因此,大多数的存储器形式都是用来存储临时数据的。
    存储器被广泛地使用在包括PC,手机, PDA,数码照相机,游戏机, 车载无线电, VCR和TV等各种电子设备中,这些设备中的每一个都以不同的方式使用不同类型的存储器!
   三.存储器的分级
  (一)CPU访问存储器过程:
    1.启动计算机。
    2.计算机从只读存储器(ROM)中加载数据,然后执行通电自检(POST),确认所有主要的部件都运行正常。作为自检的一部分,存储器控制器会通过一个快速的读/写操作来检查所有的存储器地址,以确保存储器芯片中没有错误。读/写操作意味着将数据写到一个位上,然后再从该位上读取出来。
    3.计算机从ROM加载基本输入/输出系统(BIOS)。BIOS提供有关存储设备、启动顺序、安全性、即插即用(自动设备识别)功能和其他一些项目的最基本的信息。
    4.计算机将操作系统从硬盘加载到系统的RAM中。通常来说,只要计算机处于开启状态,就会在RAM中维护操作系统的关键内容。这样有助于CPU立即访问操作系统,从而提高整个系统的性能和功能。
    5.当使用者打开某个应用程序时,CPU就会将其加载到RAM中。为了节省RAM,很多应用程序最初只加载程序最基本的部分,然后再根据需要加载程序的其他部分。
   6.在某个应用程序加载完之后,在该应用程序中打开使用的任何文件将会加载到 RAM 中。
   7.在使用者保存某个文件或关闭应用程序时,该文件会被写入到指定的存储设备,然后从RAM中清除该文件和应用程序。
   在这一过程中,每当加载或者打开某个对象时,都会将其放入到RAM中。这就意味着已将这些对象放入了计算机的临时存储区域,这样CPU就可以更容易地读取相关信息。CPU从RAM中请求它需要的数据,处理这些数据,然后将新数据写回到RAM中,这样就形成了一个连续的循环。在大部分计算机中,CPU和RAM之间的这种数据交换每秒多达数百万次。在关闭一个应用程序之后,该应用程序及相关文件通常会从RAM中被清除,以便为新数据腾出空间。如果经过修改的文件在被清除之前没有保存到永久性存储设备上,这些文件则会丢失。
    由此可见,CPU是根据不同的层级来访问存储器。不管数据是来自永久性存储设备(硬盘)还是来自输入设备(键盘),大部分数据都会首先进入随机存取存储器(RAM)。然后CPU存储需要访问的数据(通常存储在缓存中),并在寄存器中维护某些特殊的指令。     
 
                 计算机版图之四: <wbr>存储器(I): <wbr>类型,作用与分级
 
                计算机版图之四: <wbr>存储器(I): <wbr>类型,作用与分级
 
   (二)存储器分级
    快速而强大的CPU需要快速轻松地存取大量数据才能实现最优性能。如果CPU无法获得所需要的数据,则只能停下来等待这些数据。运行速度约为1 GHz的现代CPU可以处理大量的数据——每秒处理的数据有望达到数十亿字节。然而,计算机设计者所面临的难题是能够匹配1GHz的CPU的存储器非常昂贵——而这些大量昂贵存储器的费用远非人们可以负担。
    聪明的计算机设计者采用“分级”存储器的方法解决了这一成本问题——使用少量的昂贵存储器并辅以大量较便宜的存储器。存储器的分级可示意为:
    CPU ---Cache(缓冲内存)---内存---虚拟内存---硬盘存储---利用互联网储存
    对不同层级的储存器,CPU有着不同的访问速度:
    L1缓存——以全速微处理器速度进行的存储器访问(10纳秒,大小为4-16千字节)
    L2缓存——SRAM类型的存储器访问(大约20到30纳秒,大小为128-512千字节)
    主存储器——RAM类型的存储器访问(大约60纳秒,大小为32-128兆字节)
    硬盘——机械装置,较慢(大约12毫秒,大小为1-10千兆字节)
    互联网——极慢(在1秒和3天之间,大小不限)   

 

    三. 存储器工作原理
    (一) 硬盘:
    硬盘提供了大量便宜的永久存储容量,每兆字节的硬盘存储空间成本只需几美分,但是从硬盘上读取1兆数据时需要一些时间(接近一秒)。因为硬盘上的存储空间不仅便宜而且容量大,所以它处于CPU存储器层次的最末级。硬盘发明于20世纪50年代,被称为“硬盘”是为了区别于“软盘”。硬盘使用附有磁性介质的硬质盘片,而磁带和软盘使用的是柔软的塑料薄片。在最为基本的层面上看,硬盘与卡式磁带并无太大不同。它们都使用磁记录技术。硬盘与卡式磁带共享磁存储带来的最大好处在于:磁介质很容易被擦除和重写,并可将存于其上的磁通模式“记忆”许多年。

    典型台式电脑的硬盘容量在10-40G之间。数据以文件的形式保存在磁盘上。一个文件不过是一组命名的字节。这些字节可能是某个文本文件中字符的ASCII码,也可能是供计算机执行的某个应用软件的指令,或者是某个数据库的记录,还可能是某个GIF图像的像素颜色。无论文件包含了什么内容,它只是一个字节流罢了。当在计算机上运行的程序请求使用某个文件时,硬盘将取得文件的字节并依次发送给CPU。
    衡量硬盘驱动器的性能有三个指标:
    1) 数据传输率——数据传输率是硬盘每秒钟可以传送给CPU的字节数。常见的数据传输率在每秒5-40M之间。
    2) 寻道时间——寻道时间是从CPU向硬盘请求某个文件开始到该文件的第一个字节送至CPU结束两个时刻之间的间隔。寻道时间通常在10-20毫秒之间。 
    3) 硬盘的容量--可以容纳的总字节数。

    硬盘的内部其实就是一个电路板.下图是一个典型的硬盘驱动器:控制电路附于密封铝制外壳的一侧,用于控制读写机构和驱动盘片旋转的马达。此电路还负责将驱动器中的磁畴信号组装成字节(读)以及将字节转变为磁畴(写)。所有电路都集中在一小块板子上,和驱动器的其余部分分离. 

 

   计算机版图之四: <wbr>存储器(I): <wbr>类型,作用与分级计算机版图之四: <wbr>存储器(I): <wbr>类型,作用与分级

 

 


   
数据保存于盘片表面的扇区和磁道上。磁道是一些同心圆环,扇区是磁道上的扇形区段,如下所示,图中用黄色显示一个典型磁道,用蓝色显示一个典型扇区。一个扇区包含固定数目的字节,如256或512个。无论是在驱动器还是操作系统级,扇区往往集合在一起形成簇。

 

                     计算机版图之四: <wbr>存储器(I): <wbr>类型,作用与分级  

 

    驱动器使用低级格式化在盘片上划分磁道和扇区。扇区的开始和结束点被标于盘片上。经过低级格式化过程后,硬盘就可以保存字节块了。高级格式化则向扇区写入文件存储结构,如文件分配表等。经过高级格式化过程后,硬盘就便可以保存文件了。

     互联网连接是计算机运行中最慢的环节。因此浏览器(IE、Netscape、Opera等)会使用硬盘存储HTML页面,也就是将它们存放在硬盘上的一个专用文件夹中。首次请求一个HTML页面时,浏览器将显示该页面并在磁盘上保存一个页面副本。下次再请求访问此页面时,浏览器将检查互联网上相应文件的日期是否比缓存文件的日期新。如果日期相同,则浏览器将直接使用硬盘上的文件而不会从互联网上下载文件。在这种情况下,硬盘是容量较小但速度较快的存储器系统,互联网则是容量较大但速度较慢的存储器系统。

    (二) 虚拟内存:
    虚拟内存是大多数计算机所用的操作系统中的一个常见组成部分,它是硬盘特别划出来的一部分,相当于一个专门的文件夹或称页面文件. 内存映像的硬盘区域称为页面文件。页面文件将内存分页放置在硬盘上,而操作系统则在页面文件和内存之间来回移动数据。在运行Windows的计算机上,页面文件的扩展名为.SWP。

    如今大多数计算机都有512或1024兆字节(MB)的内存供中央处理器(CPU)使用。然而,大多数用户希望能同时运行所有需要的程序,而仅有这点内存是不够的。举例来说,如果使用者将操作系统、电子邮件程序、Web浏览器和游戏客户端同时加载到内存中,那么仅有512MB的RAM是无法运行所有这些程序的。若没有虚拟内存,那么当可用的内存都被装满后,计算机就会提示:“对不起,您无法加载其他应用程序了。若要继续加载,请先关闭某个应用程序。”而有了虚拟内存技术,计算机就可以检查内存,找出最近未使用的内存区,并将它们的内容复制到硬盘上。这将释放内存中的空间,以加载新的应用程序。由于这一复制过程是自动完成的,所以在进行过程中使用者甚至不会察觉。有了虚拟内存,计算机即使只安装了不多的内存,也会让人觉得它是无穷无尽的。因为硬盘空间比内存芯片便宜得多,所以这种方法还会带来不错的经济效益。
不过,硬盘驱动器的读写速度大大低于内存,而且它采用的技术无法同时访问多个较小的数据块。如果系统过于依赖虚拟内存,系统性能明显下降。关键在于,计算机应有足够的内存来处理所有要同时使用的程序——只有当使用者切换任务时才会出现轻微的停顿现象,让人觉得虚拟内存有点慢。
    按照需要,可以手动配置虚拟内存,尤其是在计算机拥有多个物理硬盘驱动器,或运行对速度要求较高的应用程序时。 
    以WINDOWS98为例,手动配置虚拟内存的方法是:打开“控制面板”窗口,然后双击“系统”图标,打开“系统”对话框窗口。请点击“性能”选项卡,然后单击“虚拟内存”按钮。

 

             计算机版图之四: <wbr>存储器(I): <wbr>类型,作用与分级  

 

    单击写着“用户自己指定虚拟内存设置”的选项,以激活其下的各个选项。单击“硬盘:”旁边的下拉列表,选择要设置虚拟内存的那个硬盘驱动器。请记住,在拥有的多个物理硬盘之间平均分配虚拟内存是一条很好的经验法则。

 

             计算机版图之四: <wbr>存储器(I): <wbr>类型,作用与分级  


    在“最小值:”框中,输入所指定的硬盘上用作虚拟内存的最小空间数值。这个数值的单位是兆字节(MB)。对于“C:”驱动器,最小值应为2MB。“最大值:”可以设为任意数值,但最高上限可能是物理内存大小的两倍。
    虚拟内存分配的硬盘空间大小是十分重要的。如果分配的空间过小,将会出现“内存不足”的错误。在您觉得自己需要继续增大虚拟内存的同时,可能会发现系统变得很慢,而且需要频繁地访问硬盘。在这种情况下,您应该考虑购买更多的内存,将虚拟内存和RAM的大小比例保持在2:1左右。某些应用程序在拥有大量虚拟内存时会有好的表现,但它们并不经常访问虚拟内存。在这种情况下,大页面文件会更适用。
    改善虚拟内存性能的技巧之一(特别是需要大量虚拟内存时)是使它的最小值与最大值相等。这会强制操作系统在您启动计算机时分配一个完整的页面文件。这样,当程序运行时,页面文件将不会增大,从而使性能得以改善。许多视频类应用程序建议用户使用这一技巧,以避免在硬盘和磁带之间读写视频信息时出现停顿。
    另一个影响虚拟内存性能的因素是页面文件的位置。如果您的系统中有多个物理硬盘驱动器(不是指多个盘符,而是指实际的驱动器),您可以在每个驱动器上生成较小的页面文件,将工作负载分散到这些驱动器上。对于所有大量使用虚拟内存的系统而言,这种简单的修改能显著提高它们的速度。

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有