[REV]存储体系

C P U → C a c h e → 主 存 → 辅 存 ( 外 存 ) CPU\rightarrow Cache\rightarrow 主存\rightarrow 辅存(外存) CPUCache()

程序局部性
  • 时间局部性:反复访问同一个存储区域(循环)
  • 空间局部性:访问区块相邻(顺序结构)
技术指标
  • 存储容量指标:存储器所能存储的二进制信息的位数.
  • 速度指标:
    •存取时间(存储器访问时间)
    启动存取操作到操作完成所经历的时间
    •存储周期(读写周期)
    对存储器进行连续两次存取操作所需的最短时间间隔。存储器在一次存取操作后需要一定的恢复时间.因此,该时间一般大于存取时间.
    •存储器带宽
    单位时间内存储器所存取的信息位,也称存储器的数据传输率.即存储器总线宽度/存储周期, 单位:位/ 秒(bps)

随机存储器

双译码器

地址编码分为行址和列址.
减少地址开销,同样长度的地址可以寻址更大的空间.

SRAM

在这里插入图片描述

  • 写过程:互锁态保存信息
  • 读过程:放大器电流方向
  • 保持:T1,T2稳定互锁
    译码-驱动-I/O-输出驱动

动态存储器

在这里插入图片描述

  • 需要预通电
  • 需要定时刷新
刷新

对电子管进行反复充电.

  • 集中刷新:每个刷新末尾周期集中刷新,此时不能进行操作.
  • 分段刷新:一个读写周期后刷新.
  • 异步刷新:刷新周期分为128行数段,每n个读写周期刷新一行.

信息存储:大小端

  • 存储字长: 一个存储单元包含的二进制位数
  • 数据字长:CPU一次可以处理的二进制位数
  • 大端存储:高位作该字节代表地址
  • 小端存储:低位作该字节代表地址

字节对齐

对于一个64位的System,为查找方便,设置存储对齐机制
注:8位BIN(2位HEX)对应一字节,是存储的基本单位.

TYPELengthBitsTail
双字864000
单字43200
字节(char,int,…)2160

Expanding

  • 字扩展:容量扩展,低位/高位选片
  • 位扩展:位数扩展
  • 同时扩展

CACHE

CPU主存速度的差异

  • 双端存储器 :两套I/O系统 冲突时由判断电路处理.
  • 多体交叉:并行结构,各程序独立:一套中控控制.
    • 顺序放置(×)&交叉放置(√)
  • 相连存储器:对内容检索.发起检索时逐位比较,符合则修改命中位为1.
    • 屏蔽电路:决定内容在输入key的哪几位

CAM

执行映射(选址,控制)的逻辑结构.

**CACHE的机制是块传递.一个块包含多个字节(地址).**传输时以块为基本单位.Cache的一个单元(一行)容量都等于一块.

映射方案

Ref:https://blog.csdn.net/HaoDaWang/article/details/78885737
对软件,程序员,系统程序员透明

全相连

在这里插入图片描述

  • 主存分块,Cache分行.
  • 以行数(块数)为模,
  • 映 射 行 数 = 块 号 ( n o n − 0 s t y l e ) ( m o d 行 数 ) 映射行数=块号(non-0 style)\pmod {行数} =(non0style)(mod)
  • 注意表示的行编号和块编号均是0-style.计算时用的non- 0 style(存疑)
  • 未命中几率大,适合小规模cache.
    在这里插入图片描述
直接相连

在这里插入图片描述

  • 主存按照cache容量分区.每区的块数=Cache行数.
  • 每区的第i行对应cache的第i行.
  • 每行的可能块编号形成同余系.在这里插入图片描述
组相连
  • 主存和Cache按同样大小划分成块。
  • 主存和Cache按同样大小划分成组。
  • 主存容量是缓存容量的整数倍,将主存空间按缓冲区的大小分成区,主存中每一区的组数与缓存的组数相同。
  • 当主存的数据调入缓存时,主存与缓存的组号应相等,也就是各区中的某一块只能存入缓存的同组号的空间内,但组内各块地址之间则可以任意存放, 即从主存的组到Cache的组之间采用直接映象方式;在两个对应的组内部采用全相联映象方式。
  • k路的意思是一组内有k行.
  • 组间全相连,组内直接相连
  • 先命中组,再组内检索.

替换算法

当未命中且cache全满时,决定对可行行的替换方案.

FLU

将一段时间内命中最少的数据丢弃.:对新数据不友好

LRU

将未被命中时间最长的数据丢弃.

脏位

CPU更新的数据只写回了Cache.此时内存的数据无效.

Solution
  • 要求写入Cache时也写进内存一份
  • 或标识脏位.

有效位

内存绕过了Cache,更新了数据.此时Cache对应的数据失效.

Solution
  • 改有效位.有效位标识出现时从内存重新调取数据.

局部性

对象:数组,变量,结构(循环等)

空间局部性

存放区域连续.

时间局部性

对同一块内存重复访问.

  • Tag位:就是行地址.标识块位置的位.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值