• 存储系统笔记


    存储系统为了缓解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,它独立存在,但也应该算是主存。

  • 相关阅读:
    1.1 js 预解释(变量的提升,浏览器的加载机制)
    js 原型链详解
    ES6模块 与 CommonJS的差异
    export,import,export default,import()区别
    css权重优先级
    CSS3如何实现0.5边框
    JS 时间戳转换成具体时间
    http协议(二)请求和响应报文的构成
    http协议(一)一些基础知识
    mac homebrew  常用命令
  • 原文地址:https://www.cnblogs.com/namezhyp/p/14750526.html
Copyright © 2020-2023  润新知