【计组】存储系统

主存

结构

位数关系

MDR=数据线宽度

MAR=地址线宽度

数据线宽度与机器字长

MDR与存储字长

MAR与主存容量

线与引脚

普通存储器

DRAM

地址线复用

行列选通线代替片选

编址方式

按字节编址

按字编址

按半字编址

扩展

字扩展

增加存储单元(存储字)个数

逻辑上组成组

地址高位用于片选

位扩展

增加存储字长

逻辑上黏在一起

无需片选

和低位交叉编址的同时启动类似

字位扩展

存储周期与总线周期(多模块存储器)

边界对其

K字节的数据的起始地址必须是K的倍数

大端和小端

大端

  • 数据高位放在地址低位
  • 与阅读顺序一致
  • 高字节为字地址

小端

  • 数据高位放在地址高位
  • 与阅读顺序相反
  • 低字节为字地址

Cache

原理

地址结构

普通主存地址

直接映射

组相连

全相连

cache行的内容

访存过程

1.CPU给出主存地址

2.根据主存地址中间的cache行号字段找到对应的cache行

3.对比cache行和主存地址的cache位,并观察cache行的有效位

平均访问时间

p*Tc+(1-p)*(Tc+Tm)

Tc+(1-p)Tm

写策略

写命中

全写法

同时写cache和主存

回写法

信息只被写入cache而不写入主存

只有此块被替换出时才写回主存

写不命中

写分配法

先在主存块中更新相应存储单元,然后分配一个cache行,更新主存块进去

非写分配法

仅更新主存单元而不装入主存块到cache中

命中率

如果每个对象按顺序访问并且不会回头,在cache发生替换之前可以只分析一个块的命中率来代替整体

注意访问的对象是否能把cache塞满,或者放不下时会塞满cache几轮,因为替换算法会影响到后续的命中率

虚拟内存

虚拟存储的原理

虚拟地址空间

虚页号+页内地址

地址连续

每个进程的虚拟地址空间一样大

主存地址空间

实页号(页框号)+页内地址

同一个进程的某些存储单元的主存地址通常不连续

地址转换的过程

磁盘

结构

磁头

柱面

扇区

平均存取时间

寻道时间+旋转延迟时间+传输时间

相关推荐
阿洛学长3 小时前
Yarn 安装速度优化:一键换源+清缓存+重装依赖
缓存
qiuyunoqy4 小时前
Redis 常见数据结构,编码方式
数据库·redis·缓存
Wild API4 小时前
Prompt 缓存实战:上下文分层、背景层拆分与缓存策略怎么做
缓存·prompt
希望永不加班6 小时前
SpringBoot 多级缓存(本地缓存 + Redis)
java·spring boot·redis·后端·缓存
后端漫漫6 小时前
Redis 原子能力与并发控制
数据库·redis·缓存
南梦浅6 小时前
Redis部署-总结版
数据库·redis·缓存
啥都会一点的老程,自在地镜强者8 小时前
【以claude code和CodeX引发的缓存技术思考】商业软件的差异化壁垒—— 提示缓存协议(一)prompt caching基础设计和协议黑盒方案
缓存·prompt
ward RINL19 小时前
redis分页查询
数据库·redis·缓存
oLLI PILO19 小时前
Redis连接池
数据库·redis·缓存
热爱Java,热爱生活20 小时前
浅谈Spring三级缓存
java·spring·缓存