【计组】存储系统

主存

结构

位数关系

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

虚拟内存

虚拟存储的原理

虚拟地址空间

虚页号+页内地址

地址连续

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

主存地址空间

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

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

地址转换的过程

磁盘

结构

磁头

柱面

扇区

平均存取时间

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

相关推荐
知我Deja_Vu6 天前
redisCommonHelper.generateCode(“GROUP“),Redis 生成码方法
数据库·redis·缓存
没有bug.的程序员6 天前
电商秒杀系统深度进阶:高并发流量建模、库存零超卖内核与 Redis+MQ 闭环
数据库·redis·缓存·高并发·电商秒杀·流量建模·库存零超卖
troublea6 天前
ThinkPHP3.x高效学习指南
mysql·nginx·缓存
troublea6 天前
ThinkPHP6快速入门指南
数据库·mysql·缓存
Emotional。7 天前
AI Agent 性能优化和成本控制
人工智能·深度学习·机器学习·缓存·性能优化
jnrjian7 天前
Oracle 共享池 库缓存下的 Library Cache Lock
数据库·缓存·oracle
Anastasiozzzz7 天前
阿亮随手记:MySQL移除查询缓存、子查询优化深分页、自增主键溢出、索引失效
数据库·mysql·缓存
難釋懷7 天前
Redis消息队列-基于Stream的消息队列-消费者组
数据库·redis·缓存
難釋懷7 天前
Redis消息队列-基于Stream的消息队列
数据库·redis·缓存
troublea7 天前
Laravel 8.x新特性全解析
数据库·mysql·缓存