【计组】存储系统

主存

结构

位数关系

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

虚拟内存

虚拟存储的原理

虚拟地址空间

虚页号+页内地址

地址连续

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

主存地址空间

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

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

地址转换的过程

磁盘

结构

磁头

柱面

扇区

平均存取时间

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

相关推荐
一枕槐安48710 小时前
RAG 服务扛住高并发:缓存、队列、限流三件套
java·spring·缓存·异步任务·rag·断路器
与数据交流的路上18 小时前
一次 redis 幽灵内存的分析
数据库·redis·缓存
Geek-Chow19 小时前
06 · DeepSeek V4.1 Flash 推理端到端走查:一个 Agent 请求穿过 recipe、KV 缓存、Prefill 与 Decode
缓存
前进的李工19 小时前
Agent 学习笔记 04:KV Cache 与上下文缓存
笔记·学习·缓存·agent·注意力机制·kv cache·prompt cache
John_Hui2 天前
第 5 篇:Ubuntu 安装 Redis
数据库·redis·缓存
l1t2 天前
DeepSeek总结的ALTER FUNCTION SET work_mem:无需全局更改即可修复 PostgreSQL 磁盘溢出
sql·缓存·postgresql
咖啡八杯2 天前
Redis 工具封装:RedisCache 对 Operations 体系的二次封装
java·数据库·redis·缓存·框架·springboot·若依
l1t2 天前
DeepSeek总结的PostgreSQL 中的 SQL 与 PL/pgSQL:计划缓存
sql·缓存·postgresql
hongyangcao2 天前
Cloudflare GLM-5.3 串号事故复盘:KV 缓存页记账错了一个字段,155 条回复答进了别人的会话
人工智能·缓存·ai