存储系统:两个或两个以上速度、容量和价格各不相同的存储器用硬件、软件、或软件与硬件相结合的方法连接起来的系统称为存储系统。这个系统对应用程序员透明,并且,从应用程序员看它是一个存储器,这个存储器的速度接近速度最快的那个主存储器,存储容量与容量最大的那个主存储器相等或接近,单位容量的价格接近最便宜的那个主存储器。

    Cache存储系统:由Cache和存储器组成的系统,速度接近Cache,容量接近存储器,每单位的价格跟存储器相近,这个存储系统全部用硬件来调度,因此,它不仅对应用程序员是透明的,而且对系统程序员也是透明的。

    虚拟存储系统:虚拟存储系统由主存储器与联机的外部存储器(目前一般为磁盘存储器)构成,采用硬件与软件相结合的方法来调度。由于虚拟存储系统需要通过操作系统的存储管理系统来调度,因此,对系统程序员来说它是不透明的,但对于在操作系统之上编程的应用程序员来说是透明的。虚拟存储系统的访问速度与主存储器很接近,存储容量是一个很大的虚拟地址空间,许多计算机的虚拟地址空间为4GB,这个空间的大小比主存储器的实际存储容量要大得多,整个存储系统的每位的价格仍然接近于磁盘存储器。

图3.2 存储系统

 

    在图3.2所示的存储系统中,存储系统的访问速度、容量和价格与各个存储器的速度、容量和价格之间的关系表示如下:

  T≈min(T1,T2,……,Tn),用存储周期表示
S≈max(S1,S2,……,Sn),用MB或GB表示
C≈min(C1,C2,……,Cn),用每位的价格表示

    目前,Cache一般用高速静态存储器(SRAM)实现,存储周期为几十毫微妙,存储容量在几十KB至几MB之间,价格比较贵。主存一般用动态存储器(DRAM)实现,存储周期为几百毫微妙,比Cache慢5~10倍,存储容量在几十MB至几百MB,价格与Cache相比要便宜很多。这两个存储器组成存储系统之后,由于数据在Cache中的命中率很高,访问主存储器的绝大部分数据都能在Cache中访问到,因此,这个存储系统的存储周期与Cache非常接近。对系统程序员来说,因为只能看到主存储器,根本看不到Cache(Cache采用相联方式访问,对程序员来说是不编址的),因此,存储系统的容量实际上就是主存储器的容量。另外,尽管Cache的价格比较贵,但是,由于它在整个Cache存储系统中所占的比例很小,因此,每位的平均价格仍然与主存储器很接近,它的组成原理如图3.3所示。

图3.3 Cache存储系统

  

图3.4 虚拟存储系统

  图3.4给出了虚拟存储系统组成原理。
  表示存储系统的性能有三个主要参数:容量S,速度T和价格C,组成这个存储系统的每个存储器本身也有同样的三个参数,下面分析这些参数之间的关系。
  为了分析方便,采用如
图3.5所示的由两个存储器M1和M2组成的存储系统。两个存储器的容量、速度和价格分别为S1,C1,T1和S2,C2,T2,存储系统的容量、速度和价格分别为S,C和T。

图3.5 由两个存储器构成的存储系统