首页 > 技术文章 > 存储系统笔记

namezhyp 2021-05-10 14:23 原文

存储系统为了缓解cpu的高速运行与低速但大容量的存储器之间的矛盾,发展出了多级的存储系统。

从高速、小容量到低速、大容量排列,依次是 寄存器<-cache<-主存(内存)<-磁盘<-外存

  存储容量=存储字数*字长  (MAR*MDR)

按照是否随机存储,可将存储器分为以下三类:

  RAM  random access memory  随机存取存储器   它的特点是访问磁盘的任意位置,耗时都一致

  SAM  saquential access memory  顺序存取存储器  比如磁带

  DAM  direct access memory   直接存取存储器   它先选择信息区域,再按照顺序存取,磁盘就属于此类

SAM和DAM都是串行访问类型。

----

以上三种都是按地址访问的存储器类型。按照内容访问的存储器称为相联存储器,它是按照内容访问的存储器。计算机中的“快表”就是此类存储器。

----

RAM继续划分,可按读取效果来划分为DRAM和SRAM。D指dynamic,读取信息时会破坏存储器内存储的信息,S指static,读取时不破坏原有存储信息。在硬件上,SRAM使用双稳态触发器设计,需要6个mos管,它能够稳定地存储信息。DRAM使用一个mos管和一个电容设计,电容存储高低电平做信息,mos管控制开闭。

 

 

DRAM的设计图

 

 

  SRAM DRAM
稳定度 信息不会被破坏 信息会被破坏
 功耗 速度快,功耗大  低功耗 
 是否刷新 无需刷新 要定时刷新
 集成度  高
 送址方式 同时送行列地址 分两次送行列地址
用处 cache 内存

       存储元:最小的完整存储单位

       存储单元:一行存储元的集合,此处默认8个存储元为一单元。

       存储元以行列形式构成了存储器,并且行列等长。这样设计是因为可以节省连通线的数目,一维排列需要2^n,二维排列就只需要2^n/2 + 2^n/2根即可。

 

 

 

 

  

  在存取周期中,一个存取周期包含存取时间恢复时间两部分。 

  由于DRAM必须要刷新,所以在设计时必须要定期刷新存储器,一般认定每个存储元刷新的间隔不能超过2ms,或者说2ms内必须完整刷新一次存储器。在刷新时,以行为单位,一次可刷新一行存储单元。刷新的操作和读写是一样的,占用一个存取周期。常见的刷新方式有三种:分散刷新  异步刷新和集中刷新。

  (在这里假设有一个128*128的DRAM存储器,它的读写周期为0.5us)

1)分散刷新:每次读写完都刷新一次。那么相当于读写周期就变为了1us,好处是不需要单独安排时间做刷新。

2)集中刷新:在2msnei集中一小段时间对所有存储单元进行刷新,在刷新时不能进行任何外部访问,此时就成为内存的“死期”,死期刷新/2ms内总刷新次数=死时间率。

3)异步刷新:由于这个存储器是128*128的,2ms内分128次,每次刷新一行也可达到要求。此时就可以选择cpu未访问该行的时间来刷新。

 

注:刷新行为由存储器自行控制,CPU不参与。

--------------------

以上为RAM部分整理。对于ROM,RAM和ROM的区别是:RAM在断电后会丢失信息, ROM不会,但ROM是只读性存储器,随着技术发展,逐步发展出了可编程写入的PROM,可擦除可编程的EPROM,再到现在的flash memory已经可以自由擦写,它的存储元只需要一个mos管。

 

注:BIOS也是ROM,它独立存在,但也应该算是主存。

推荐阅读