【计组笔记】存储器

目录

主存

外部辅助存储

磁盘

RAID

RAID0

RAID1

RAID2

RAID3

RAID4

RAID5

RAID6

RAID7

Flash闪存

SSD固态硬盘

数据校验

奇偶校验

海明Hamming校验

循环冗余校验CRC

Cache

映射方式

直接映射

全相联映射

组相联映射

替换策略

一致性保持

写直达

拖后写

多级Cache

Cache接入体系结构

虚拟存储器


主存

  • 按存储元件分类
    • 半导体
    • 磁性材料
    • 光介质
  • 存取方式
    • 随机存取存储器RAM
      • 半导体存储器
      • 是否破坏性读取
        • 动态存储器DRAM
          • 用电容存bit信息
            • 破坏性读取
              • 读出时电荷释放,原信息丢失
            • 电荷会自然流失,需要定时刷新补充电荷
              • 集中刷新
                • 停止读写,逐行刷新
              • 分散刷新
                • 定时周期刷新
              • 异步刷新
                • 集中+分散
          • 快速分页组织
          • 一般用于低速大容量半导体存储器
            • 主存
        • 静态存储器SRAM
          • 用触发器存bit信息
            • 无需读后再生
            • 无需刷新
          • 一般用于高速小容量半导体存储器
            • cache
        • DRAMSRAM
          存储信息电容触发器
          破坏性读出
          需要刷新
          送行列地址分两次送同时送
          访问速度
          集成度
          发热量
          存储成本
    • 顺序存取存储器SAM
      • 磁带
    • 直接存取存储器DAM
      • 磁盘
    • 按内容存取存储器CAM(相联存储器AM)
  • 可更改性
    • 可读可写存储器
    • 只读存储器ROM
      • 随机存取
  • 断电后信息的可保存性
    • 非易失(不挥发)
      • ROM、磁表面存储器、光存储器
    • 易失(挥发)
      • RAM、cache
  • 存储器的层次结构
    • 寄存器
    • cache
    • 主存
    • 外存
    • 一致性原则:不同层次存储器中,相同信息保持一致
    • 包含性原则:内层信息含于外层信息

外部辅助存储

磁盘

为cache缺页而生

写入数据同时计算校验码一起写入

2×4×2000×3000×512B=24GB

  • 2:1个盘片有2面

1转1/7200分=1/120秒

\dfrac{1}{120}s\times 0.5 + 20ms + 0.5ms = 24.7ms

RAID

RAID0

  • 没有冗余
  • 条带化
  • 容量大速度高,可靠性低

RAID1

  • 冗余备份,复制所有信息
    • 无校验
  • 读性能翻倍
  • 写性能下降
    • 并不是翻倍,可并行执行,由慢者决定
  • 成本高,很可靠

RAID2

  • 并行访问
    • 驱动器间同步
  • 工作单位为字(字节)
  • 小条带分布交叉
  • 使用海明校验冗余
    • 校验盘与数据盘成正比
  • 数据传输率高
    • 大I/O快
  • I/O响应慢
    • 小I/O快
  • 开销过大,不再使用

RAID3

  • 并行访问
  • 小条带分布交叉
  • 每个字计算1个校验位
  • 只使用一个冗余盘
  • 重构
  • 数据传输率高
    • 大I/O快
  • I/O响应慢
    • 小I/O快

RAID4

  • 独立访问
    • 无需驱动器间同步
  • 大数据块交叉
  • 只使用一个冗余盘
  • 重构
  • 小I/O有写损失

RAID5

  • 独立访问
  • 大数据块交叉
  • 将校验位循环均匀分布在所有驱动器上
  • I/O快
    • 被广泛使用

RAID6

  • 独立访问
  • 大数据块交叉
  • 将校验位循环均匀分布在所有驱动器上
  • 双维块奇偶校验
    • 允许双盘出错
    • 高度可靠

RAID7

  • 带cache的RAID

【2020-912】存储100MB的数据,RAID1的磁盘的大小为_____,RAID5的磁盘的大小为_____。

RAID1:直接复制备份,200MB

RAID5:4+1备份,125MB

(不说默认N=4,4+1备份)

【2022-912】一个4+1的RAID5磁盘组织,同一个地址在前四个磁盘中的数据分别为0x11、0x22、0x33、0x44,此时第五个磁盘出错,新磁盘替换后,新磁盘中该地址上的数据初始化为_____。

0x11=00010001

0x22=00100010

0x33=00110011

0x44=01000100

做异或操作得01000100=0x44

Flash闪存

  • 高密度非易失性读写存储器
  • 电擦除可编程ROM替代品,可存储BIOS
    • 编程:充电
    • 擦除:放电
    • 读取
  • 存储元件为MOS管

SSD固态硬盘

  • 存储介质为闪存颗粒
  • 数据按页进行读取
    • 闪存芯片-区块-页
  • 对某页写前,必须擦除该页所属的整个区块
    • 写入时按顺序写入
  • 只有有限的读写次数
  • 闪存翻译层FTL
    • 将逻辑磁盘块映射为物理存储块
    • 均化磨损电路
      • 将擦除操作平均分布,延长使用寿命

【2023-912】下列关于闪存及FTL(Flash Translation Layer)的说法,错误的是(B)

A.闪存的写入端粒度和擦除端粒度不同

B.闪存每单元能编码的比特数越多,闪存的寿命越长

C.FTL提供逻辑块地址到物理块地址的映射

D.闪存物理页在更新之前要进行擦除

数据校验

码距:两个合法二进制码之间最少不同位数量

  • 码距为1,即任何两个二进制码间最少有1位不同,平凡情况,无校验能力,检错位数为0
  • 码距为2,检错位数为1
  • (纠错理论)L-1=D+C,D\ge C
    • L为码距
    • D为检错位数
    • C为纠错位数

奇偶校验

用于并行传输

在数据位以外增加1位校验位,使得总共1的数量为奇数或偶数

  • 码距为2
  • 检错位数为1
  • 纠错位数为0

海明Hamming校验

用于并行传输

  • 含总校验位
    • 码距为4
    • 检错位数为2
    • 纠错位数为1
  • 不含总校验位
    • 码距为3
    • 检错位数为1
    • 纠错位数为1

利用排列组合直接计算即可。

【2017-912】若海明码P1P2D1P3D2D3P4为0101100,则该海明码有__位错误(0位,1位,2位),正确的D1D2D3为______。

(海明码要是能纠错,只能错1位)

P1:D1,D2

P2:D1,D3

P3:D2,D3

P4:D1,D2,D3

S1=P1⊕D1⊕D2=1

S2=P2⊕D1⊕D3=1

S3=P3⊕D2⊕D3=0

S4=P4⊕P3⊕P2⊕P1⊕D3⊕D2⊕D1=1

错了1位,S4S3S2S1=1011,在只错1位的情形下错误在S1S2交集中,是D1,D1D2D3=110

(也可011B=3,是数据第3位D1)

循环冗余校验CRC

用于串行传输

Cache

程序的局部性原理

    • 一行有多长
  • 有效位:标记该行是否被占用中
  • 命中
    • 命中率Hit Rate
      • HR=命中次数/访问次数
      • 影响因素
        • 容量
          • 命中率-容量为不足对数函数
          • cache超过32kB后,整体性能不会显著提高
        • cache块大小
          • cache块太小,容易局部性受限
          • cache块太大
            • cache总行数会变小
            • 单次装填成本增大
    • 命中时间=访问cache块时间
  • 缺失
    • 缺失率Miss Rate
      • MR=1-HR
    • 缺失损失=替换cache块时间+传输给CPU的时间
    • 原因
      • 必然缺失
        • 第一次访问或刚开机
      • 容量缺失
        • cache容量不够
      • 冲突缺失
        • 两块不同的内存块映射到相同的cache块
        • 直接映射最明显(利用率低)
      • 无效缺失
  • 平均访问时间=HR×命中时间+MR×缺失损失
    • 缺失率低未必平均访问更低
      • 块更大意味着需要更多时间去装填数据块
      • 应当追求使得平均访问时间最低的块大小,而非缺失率最低

映射方式

  • 直接映射:守序
  • 全相联映射:混乱
  • 组相联映射:中立

直接映射

亦称为模映射

cache行号 = 主存块号 % cache行数

  • 简单,命中时间短
  • 利用率低、命中率低

全相联映射

  • 相联存储器:按内容访问
    • 全相联:比对要遍历全cache

主存块可装入任何一个cache行中

  • 利用率高,冲突率低
  • 使用成本太高
    • 每次比对都要遍历cache

组相联映射

x路组相连

  • cache一个组有x行
  • 主存每组有cache行总数块
  • cache一组内可以存放x组主存块
  • 组间模映射,组内全映射

命中率比较

  • 在cache大小不变的前提下
    • 2路显著优于直接
    • 4路优于2路,但远没有上者显著
  • 大小为N,采用直接映射的命中率与大小为N/2、采用2路组相联命中率相当

替换策略

  • 直接映射没有选择
  • 全/组相联映射
    • 最近最少使用LRU
    • 先进先出FIFO
    • 随机RAND

一致性保持

写直达

一旦cache更新,立刻更新主存

拖后写

cache被替换时再写回主存

多级Cache

  • 多级Cache
  • 指令Cache+数据Cache
    • 流水线考虑

Cache接入体系结构

  • 侧接法:如同普通IO
  • 隔断法:插入原总线

【2018-912】以下说法正确的是(C)
A 缓存越大程序执行速度越快

B TLB也是一种缓存数据和指令的缓存器

C 指令和数据采用不同的缓存可以提高流水线速度

D 缓存可以提高主存容量

【2021-912】某按字节编址的计算机层次存储系统,地址位数为32位,缓存的大小为1024字节,缓存行大小为8字节,采用2路组相联的方式,索引的位数为____位,标记位为____位。

cache有128行,64组,索引位有6位,块内地址位有3位(因为按字节编址),标记位有23位

【2024-912】已知Cache命中的访问时间为2ns,Cache缺失访问时间为50ns,CPU执行一段程序时,CPU访问内存系统共10000次,其中缺失次数为500次,那么CPU平均访存时间为_______。

(9500×2ns+500×50ns)/10000=4.4ns

虚拟存储器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值