存储器简介

存储器简介

  1. 静态存储器(SRAM)
    静态存储器不需要刷新,主要用于Cache和TLB设计。特点是与CPU的接口简单且速度快,但价格高,耗电量也大。因此一般用于Cache和TLB设计,但有一些高性能计算机也拿它当主存用。
  2. 动态存储器(DRAM)
    动态存储器需要使用一个小容量的电容来保存信息,用电容中有无电荷来表示1和0。由于电容会漏电,所以DRAM需要定期刷新。
  3. 只读存储器(ROM)
    与RAM不同,ROM存储器的内容即使断了电也不会丢失。计算机系统中都有ROM,用于存放操作系统的初始引导程序。
  4. 相连存储器(CAM)
    一种特殊的存储器,Content Addressable Memory可以理解为“可按内容寻址的存储器”。传统的存储器是给一个地址就给出一个数据,而相连存储器则相反,给一个数据就给出数据的地址。相连存储器可以用于各种有按位匹配要求的场合,比如虚拟存储器管理、数据压缩、Cache、TCP/IP中的IP地址匹配等。

高速缓存Cache

计算机存储层次:

存储器简介_第1张图片

图片出处:《计算机原理与设计》,李亚民著

寄存器堆是速度最快的存储部件,它在CPU芯片内部。CPU内部使用指令中的寄存器号直接访问它。第一级Cache和第二级Cache通常也在CPU片内,而且第一级Cache有分开的指令Cache和数据Cache。第三级Cache在片外,使用SRAM。Cache对用户程序来讲是透明的,用户无法用程序对其进行控制和访问。在有些计算机的体系结构中,Cache对操作系统也是透明的;而有些体系结构则提供了特权指令对Cache直接进行维护。主存存放指令和数据。硬盘主要用来存放文件,但它的另一个功能也很重要,即与主存一起为用户提供一个相对大的虚拟存储器空间。

Cache映像机制

  1. 直接映像
  2. 全相联映像
  3. 组相联映像

Cache块的替换算法

  1. LRU替换算法,即淘汰掉最近最少被使用的。
  2. 随机替换算法
  3. FIFO,即先进先出算法

Cache写策略

  1. 写透
    写存储器并且Cache命中时候可以采用写透策略。在写Cache的同时也写主存。优点是能够保持主存与Cache的一致性;缺点是增加数据传输量,并且写存储器要花费更长的时间,或者可以先把数据放在快速的写缓冲区内,然后再由硬件满满写入。
  2. 写回
    写存储器并且Cache命中时除了写透策略,还可以采用写回策略。只写Cache而不写主存,只有当数据块要被替换时,才将它写回主存。可以使用一个标记位,标记数据块是否被写过,如果没有被写过,则不必写回主存中。
  3. 写前读入
    写存储器但Cache不命中时可以采用写前读入策略,先把数据块从主存读入Cache,然后再写。
  4. 写不读入
    写存储器但Cache不命中时还可以采用写不读入策略,即要开Cache,直接写主存。

参考文献:李亚民.计算机原理与设计.北京.清华大学出版社.2011.6

你可能感兴趣的:(组成原理,芯片)