【计组】存储系统

主存

结构

位数关系

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几轮,因为替换算法会影响到后续的命中率

虚拟内存

虚拟存储的原理

虚拟地址空间

虚页号+页内地址

地址连续

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

主存地址空间

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

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

地址转换的过程

磁盘

结构

磁头

柱面

扇区

平均存取时间

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

相关推荐
清水白石0085 小时前
深入解析 LRU 缓存:从 `@lru_cache` 到手动实现的完整指南
java·python·spring·缓存
无尽的沉默6 小时前
Redis下载安装
数据库·redis·缓存
yuanmenghao6 小时前
Linux 性能实战 | 第 10 篇 CPU 缓存与内存访问延迟
linux·服务器·缓存·性能优化·自动驾驶·unix
消失的旧时光-19437 小时前
第十六课实战:分布式锁与限流设计 —— 从原理到可跑 Demo
redis·分布式·缓存
时艰.8 小时前
java性能调优 — 高并发缓存一致性
java·开发语言·缓存
JFSJHFZJ9 小时前
清理手机顽固缓存,轻松释放几GB空间
缓存·智能手机
Tangcan-9 小时前
【Redis】通用命令 1
数据库·redis·缓存
czlczl200209259 小时前
缓存穿透问题与解决方案
缓存·mybatis
陌上丨17 小时前
Redis的Key和Value的设计原则有哪些?
数据库·redis·缓存
时艰.20 小时前
Java 并发编程 — 并发容器 + CPU 缓存 + Disruptor
java·开发语言·缓存