在计算机系统中存储层次可分为高速缓冲存储器(Cache)、主存储器(主存)、辅助存储器(外存)三级。高速缓冲存储器用来改善主存储器与中央处理器的速度匹配问题。辅助存储器用于扩大存储空间。
1.按照存储器所处位置分类
(1)内存:也称主存,位于主机内或主机板上,用来存放当前运行所需要的程序和数据,以便向CPU提供信息。其特点:荣饭量小,速度快。
(2)外村:也称辅存,如磁盘,光盘等,用来存放当前不参加运行的大量数据信息,需要时调入内存。
2.按存储器的构成材料分类
(1)磁存储器:磁性介质做成,如磁带,磁盘等。
(2)半导体存储器:根据所用元件又分为双极性和MOS型,根据数据是否需要刷新又分为静态和动态。
(3)光存储器:利用光学方法读写数据的存储器,如光盘。
3.按存储器工作方式分类
(1)读/写存储器(RAM):能够读/写的存储器。
(2)只读存储器(ROM):仅能读取的存储器。
4.按访问方式分类
(1)按地址访问的存储器。
(2)按内容访问的存储器。
5.按寻址方式分类
(1)随机存储器(RAM):可对任何存储单元读取数据,访问任何一个存储单元的时间是相同的。
(2)顺序存储器(SAM):访问数据所需的时间与数据所在的存储位置有关,例如磁带。
(3)直接存储器(DAM):介于随机和顺序存取之间的一种,例如磁盘,他对磁道是随机的,但对于磁道内则是顺序的。
Cache用来存放当前最活跃的程序和数据,其特点是:位于CPU和主存之间。容量在千字节到兆字节之间,速度是主存的5~10倍,由快速半导体存储器构成。CPU的速度远高于内存,当CPU直接从内存中存取数据时要等待一定时间周期,而Cache则可以保存CPU刚用过或循环使用的一部分数据,如果CPU需要再次使用该部分数据时可从Cache中直接调用,这样就避免了重复存取数据,减少了CPU的等待时间,因而提高了系统的效率。Cache又分为L1Cache(一级缓存)和L2Cache(二级缓存),L1Cache主要是集成在CPU内部,而L2Cache集成在主板上或是CPU上。
Cache存储器部分用来存放主存的部份拷贝(副本)信息。控制部分的功能是判断CPU要访问的信息是否在Cache存储器中,若在,即为命中,若不在则没有命中。命中时直接对Cache存储器寻址;未命中时,要按照替换原则(当Cache产生了一次访问未命中之后,相应的数据应同时读入CPU和Cache。但是当Cache已存满数据后,新数据必须替换(淘汰)Cache中的某些旧数据。最常用的替换算法有随机算法、先进先出算法(FIFO)和近期最少使用算法(LRU))决定主存的一块信息放到Cache存储器的哪一块里。
作用:为了解决CPU和主存之间速度不匹配而采用的一项重要技术。
CPU与cache之间的数据交换是以字为单位,而cache与主存之间的数据交换是以块为单位。一个块由若干字组成,是定长的。
cache原理图
高速缓存(Cache)中的地址映像方法
在CPU工作时,送出的是主存单元的地址,而应从Cache存储器中读写信息。这就需要将主存地址转换成Cache存储器地址,这种地址的转化称为地址映像。Cache的地址映像又3种方法。
(1)直接映像:主存的块与Cache块的对应关系是固定的,因此,只要主存地址中的主存区号与Cache中记录的主存区号相同,则表明访问Cache命中,一旦命中,由主存地址的区内块号立即可得到要访问的Cache存储器中的块,而块内地址就是主存地址中给出的低位地址。
(2)全相联映像:主存的任意一块可以映象到Cache中的任意一块。
(3)组相联映像:
原文:https://www.cnblogs.com/lvqiang/p/11678599.html