【计算机组成原理之存储系统】超级详细

计算机组成原理系列

  • 三、存储系统
      • 3.1存储系统概念
      • 3.2.1存储器芯片的基本原理
      • 3.2.2SRAM和DRAM
      • 3.2.3 ROM
      • 3.3.1 主存和CPU的连接
        • 位拓展
        • 字拓展
        • 字位同时拓展
      • 3.3.2 双端口RAM和多模块存储器
      • 3.4 外部存储器
      • 3.5 Cache

声明:此为个人笔记,代码一部分来自王道408课程,仅供个人学习使用,如有侵权请联系;如有转载使用,一切后果自行负责与本人无关

三、存储系统

3.1存储系统概念

3.2.1存储器芯片的基本原理

  • 3.2存储器芯片的基本原理

    mos管接通是有电荷,电容存储电荷,存储元表示1,反之无电荷表示0。多个存储元单位组成一个存储单元,如下10100011;多个存储单元组成一个存储体。一个存储单元也成为存储字长,如10100011也叫做8bit(8位)。因此n位地址,就有2的n次方个地址,总容量等于存储单元个数*存储字长
    【计算机组成原理之存储系统】超级详细_第1张图片

    译码器通过多个自选线读多个存储单元,

【计算机组成原理之存储系统】超级详细_第2张图片
【计算机组成原理之存储系统】超级详细_第3张图片

一个内存条包含多个存储器芯片

如果要读取其中一个芯片的数据,就需要通过片选线给芯片高频电信号,其他芯片低频电信号,以区别;

地址线一般是CPU通过数据总线结构控制的;

存储芯片对外暴露的迎角每一条都对应一条线(读写线、片选线、数据线等)

对于整个存储体而已就可以这样表示容量
【计算机组成原理之存储系统】超级详细_第4张图片

8k\*8  就是2的13次方\*8比特

1k=1024B=2的十次方

现代计算机都是按字节寻址(1B=8bit)

总量为1KB,地址线为10根的情况下:

按字节寻址 1k个单元,每单元1B;按字寻址256个单元,每单元4B

按半字寻址,512单元,每单元2B;按双字寻址,128单元,每单元8B

3.2.2SRAM和DRAM

  • 3.2.2 SRAM和DRAM

    静态RAM(sram)用于cache

    动态RAM(dram)用于主存,有地址复用技术和特有的刷新方法
    【计算机组成原理之存储系统】超级详细_第5张图片
    【计算机组成原理之存储系统】超级详细_第6张图片

    电容和稳态触发器的内容可以去查询电路器件的内容,此处不予深究

    SRAM用触发器存储信息,非破坏性读出,读出后不需要重写,运行速度快,集成度低,成本高,易失存储器,不需要刷新,同时送行列地址,常做cache。

    DRAM用电容存储信息,是破坏性读出,读出后需要重写,运行速度慢,集成度高,成本低,易失存储器(断电后信息消失),需要刷新,分两次送行列地址,常做主存。

    【计算机组成原理之存储系统】超级详细_第7张图片

    DRAM的刷新

    刷新周期:一般为2ms

    刷新单位:行

    刷新方法

    一、集中刷新

    刷新时间固定,存在死区;读写不受刷新影响,存储速度快;死区不能访问存储器(死区是指刷新时停止对存储器的读写操作的这段时间)

    二、分散刷新

    把每行刷新分散到每个工作周期中,没有死区;但是存储周期长,减低速度

    三、异步刷新

    结合上两种方法,缩短死时间又提高速度,具体方法是用刷新周期除行数得到刷新时间间隔T,用逻辑电路每隔T刷新一次。

3.2.3 ROM

  • 3.2.3 ROM

    ROM特点:随机存取,非易失性存储器,结构简单,位密度比可读写存储器高。

    ROM类型:

    MROM(掩模式只读存储器)

    PROM(一次性可编程只读存储器)

    EPROM(可擦除可编程只读存储器)可以对内容多次改写

    闪存存储器(flash memory)可长期保存信息,可重写,擦写速度快(v写

    SSD(固态硬盘) 可长期保存信息,可重写,读写速度快,低功耗价格高,实际上是控制单元和存储单元(闪存芯片)的集成

3.3.1 主存和CPU的连接

  • 3.3.1主存和CPU的连接
    【计算机组成原理之存储系统】超级详细_第8张图片

【计算机组成原理之存储系统】超级详细_第9张图片

一根片选线,一根读写控制线(或者两根),若干地址线A0-An-1,若干数据线D0-Dn-1。

地址线条数由存储单元个数计算,8K=2的13次方,因此需要13根地址总线

数据线条数由存储字长计算,8位就是8条,16位就是16条。

位拓展

【计算机组成原理之存储系统】超级详细_第10张图片
【计算机组成原理之存储系统】超级详细_第11张图片

8K=2的13次方,因此需要13根地址总线,A0-A12

数据总线D0-D7

**多个存储芯片并联,拓展存储字长(位数)。**例如4片16K*1位等同于16K*4位

【计算机组成原理之存储系统】超级详细_第12张图片

字拓展

多个存储芯片串联,**拓展存储单元个数。**例如4片16K*8位等同于64K*8位

【计算机组成原理之存储系统】超级详细_第13张图片

字位同时拓展

【计算机组成原理之存储系统】超级详细_第14张图片

多个芯片串联并联结合在一起,增加存储字数量增加存储字长。

译码片选法(地址空间)

n条线有2n次方个选片信号;通过地址译码器对芯片进行选择

【计算机组成原理之存储系统】超级详细_第15张图片
【计算机组成原理之存储系统】超级详细_第16张图片

74l138译码器的结构

输入3个输出8个,所以叫3-8译码器

线选法*

n条线有n个选片信号

计算:通过这两种方法求地址

3.3.2 双端口RAM和多模块存储器

  • 3.3.2 双端口RAM和多模块存储器

    双端口RAM 空间平行提升速度

    两端口同时对不同地址单元存取数据(√)

    两端口同时对同一地址单元存取(写入)数据(×)

    两端口同时对同一地址单元读出数据(√)

    两端口同时对同一地址单元,一个存取数据,一个写入数据(×)
    【计算机组成原理之存储系统】超级详细_第17张图片

    多模块存储器(难点)

    多模块存储器 时间并行提升速度
    【计算机组成原理之存储系统】超级详细_第18张图片
    【计算机组成原理之存储系统】超级详细_第19张图片
    【计算机组成原理之存储系统】超级详细_第20张图片

    详细过程如下:

    按照连续访问的原则,高位交叉编址是按存储体访问,比如先访问M0,00000,000001,0000010.。。。

    (从上向下的访问顺序)

    只有等到M0访问完才能开始访问M1,以此类推。

    因此高位交叉编址如果连取n个地址,耗时nT(T是一个存储体的访问时间)。高位交叉编址只拓展了容量,而没有提升速度。
    【计算机组成原理之存储系统】超级详细_第21张图片

    低位交叉编址可以在不改变存取周期的前提下,采用流水线方式并行存储,可以提高存储器的带宽。

    因为低位交叉按照连续访问原则,是从左到右访问,同样是00000,000001,0000010。。。但是地位交叉编址却能调动四个存储体,此时再连取n个地址,耗时为T+(n-1)r (r代表存取时间)。

【计算机组成原理之存储系统】超级详细_第22张图片

3.4 外部存储器

  • 3.4.1磁盘存储器

    磁表面存储是指把某些磁性材料薄薄地涂在铝的表面来存储信息。磁盘存储器磁带存储器和磁鼓存储器都属于磁表面存储器。

    磁表面存储器:存储量大价格低,记录介质可重复用,记录信息可长期保存不丢失,非破坏性读出,读出时不需要重生;缺点速度慢,结构负责对环境要求高。

    外存储器既可以作为输入设备,也可作为输出设备
    【计算机组成原理之存储系统】超级详细_第23张图片

【计算机组成原理之存储系统】超级详细_第24张图片
【计算机组成原理之存储系统】超级详细_第25张图片

存储区域(磁头数-记录面数,磁头用于读写盘面上记录面的信息;面数表示硬盘每一面盘片上有多少条磁道;扇区数表示一条磁道上有多少个扇区)

硬盘存储器(磁盘驱动器、磁盘控制器、盘片)

存取时间是计算问题

存取时间=寻道时间+旋转延迟时间+传输时间

【计算机组成原理之存储系统】超级详细_第26张图片

数据传输率D=rN(单位时间内向主机传送的数据的字节数),N表示每条磁道的容量。

在这里插入图片描述

磁盘地址

磁盘工作过程

驱动器号2位(2比特),柱面号8位(8比特),盘面号4位,扇区号4位。

【计算机组成原理之存储系统】超级详细_第27张图片

磁盘阵列

【计算机组成原理之存储系统】超级详细_第28张图片

RAID0

RAID1

【计算机组成原理之存储系统】超级详细_第29张图片

越往后可靠性越好

总结:

【计算机组成原理之存储系统】超级详细_第30张图片

  • 3.4.2固态硬盘(重点:读写性能、磨损技术

    存储介质:闪存芯片有多个块,块有多个页

    读写特性:

    以页为单位读写——相当于磁盘的扇区

    以块为单位擦除——每个页都可写一次,读无数次

    支持随机访问

    读快写慢
    【计算机组成原理之存储系统】超级详细_第31张图片

    系统通过IO总线说明要读/写的逻辑块号(对应固态硬盘里的页)将逻辑号映射对应的物理地址

3.5 Cache

  • 3.5.1cache基础

    cache速度远快于内存速度,更好配合CPU

    题型:cache运算时间t

    Tc访问cache的时间;Tm访问主存的时间;命中率为H

    若先访问cache,cache未命中再访问主存,

    此时t=HTc+(1-H)(Tc+Tm)

    若同时访问cache和主存,若cache命中立即停止访问主存。此时t=HTc+(1-H)™

    【计算机组成原理之存储系统】超级详细_第32张图片

    cache的工作原理

    【计算机组成原理之存储系统】超级详细_第33张图片

    主存中一个块也叫一个页/一个页面/页框;cache中的块也叫行。
    在这里插入图片描述

    总结:

【计算机组成原理之存储系统】超级详细_第34张图片

  • 3.5.2 Cache与主存的映射方式

    重点难点全相连映射、直接映射、组相连映射
    【计算机组成原理之存储系统】超级详细_第35张图片
    【计算机组成原理之存储系统】超级详细_第36张图片

    例题中cache的容量为8*64=512b,主存地址空间为256MB为2的28次方,2的28次方除以2的6次方等于2的22次方,(存储单元个数÷存储字长=主存块号);按字节编址,其数据有8个cache行,行长为64B(2的6次方)

    因此主存块号为22位、存储字长为块内地址为6位。

    每个主存的地址访问就如图所示,0…000000000~0.000111111(前22位为主存块号,后六位从000000-111111)

    映射时,可以随意放,因此cache前面只需加上22位标记(22位主存块号)

    【计算机组成原理之存储系统】超级详细_第37张图片

    直接映射,

    主存块在cache中位置=主存块号%cache总块数,比如,cache有8块,主存块号为8,8号主存块在cache中只能存放在0号cache块。

    根据主存块号(22位)的后三位确定cache行,

    若前十九位与cache标记匹配且有效位=1,则cache命中,若未命中或有效位=0就正常访问主存。

    直接映射其实是这样的:标记号+行号(3位)+6位块内地址。
    【计算机组成原理之存储系统】超级详细_第38张图片

    组相连映射

    所属组号=主存块号%分组数

【计算机组成原理之存储系统】超级详细_第39张图片

根据主存块号的后2位确定所属分组号,

若前二十位与cache标记匹配且有效位=1,则cache命中,若未命中或有效位=0就正常访问主存。

组相连映射其实是这样的:标记号+组号(2位)+6位块内地址。

总结
【计算机组成原理之存储系统】超级详细_第40张图片

  • 3.5.3 Cache 的替换算法

    重点难点

    全相联映射和组相连映射需要替换算法;直接映射不需要。

    随机算法
    【计算机组成原理之存储系统】超级详细_第41张图片

    先进先出算法
    【计算机组成原理之存储系统】超级详细_第42张图片

    最先被调度的最先被替换

    1

    12

    123

    1234

    1234(命中不替换)

    1234(命中不替换)

    5234 (未命中替换)

    5134(未命中替换)

    5124(未命中替换)

    5123(未命中替换)

    4123(未命中替换)

    4523(未命中替换)

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RYHPKvFd-1657595416871)(image/image_8X-OCrgDm0.png)]

    近期最少使用算法

    刚开始计数器全部是0,未命中且还有空闲行时,新转入行的计数器置0,其余非空闲行全加1;

    未命中且无空闲行,计数器最大的信息块淘汰,新装入的块的计数器值0,其余加1;

    命中时,命中行计数器清零,比其低的计数器加1,其余不变。

    【计算机组成原理之存储系统】超级详细_第43张图片
    【计算机组成原理之存储系统】超级详细_第44张图片

    最不经常使用算法

    新调入的块计数器=0,之后每被访问一次计数器+1,需要替换时,选择计数器最小的一行。
    【计算机组成原理之存储系统】超级详细_第45张图片
    【计算机组成原理之存储系统】超级详细_第46张图片
    【计算机组成原理之存储系统】超级详细_第47张图片

    LFU算法不遵循局部性原理,实际效果不如LRU

【计算机组成原理之存储系统】超级详细_第48张图片

  • 3.5.4 Cache写策略

    1、写命中时

    写回法:当cpu对cache写命中时只修改cache内容,不立即写入内存,只有当此块被替换才写回主存。(未被修改的块不必召回)

    【计算机组成原理之存储系统】超级详细_第49张图片

    全写法

    当CPU对cache写命中时,必须把数据同时写入cache和主存,一般使用写缓冲。写缓冲是SRAM实现的FIFO队列,在专门的控制电路下逐一写回。若写操作很频繁,可能会因为写缓冲饱和发生堵塞。
    【计算机组成原理之存储系统】超级详细_第50张图片

    2、写不命中

    写分配法:把主存中的块调入cache,在cache中修改,通常搭配写回法使用。

    【计算机组成原理之存储系统】超级详细_第51张图片

    非写分配法:只写入主存,不调入cache,(只有在读未命中是才调入cache)搭配全写法使用。
    【计算机组成原理之存储系统】超级详细_第52张图片

    多级cache:各级cache之间采用全写法+非写分配法;cache主存之间采用写回法+写分配法;离CPU越近cache的速度越快容量越小;离CPU越远cache速度越慢容量越大。

    总结:
    【计算机组成原理之存储系统】超级详细_第53张图片

你可能感兴趣的:(计算机基础知识,计算机408,计算机组成原理,java,网络,tomcat)