存储器系统的层次结构
层次结构 | 解决的问题 | 数据调动 |
---|---|---|
Cache-主存 | 解决存储器速度问题 | Cache与主存之间的数据调动由硬件自动完成 |
主存-辅存 | 解决存储器容量问题 | 主存与辅存之间的数据调动由操作系统和硬件共同完成 |
Cache-主存系统的计算问题
- 命中率 访 问 C a c h e 的 次 数 / 访 问 的 总 次 数 ( 访 问 C a c h e 的 次 数 + 访 问 主 存 的 次 数 ) 访问Cache的次数/访问的总次数(访问Cache的次数+访问主存的次数) 访问Cache的次数/访问的总次数(访问Cache的次数+访问主存的次数)
- 效率e e = 访 问 C a c h e 的 时 间 / 平 均 访 问 时 间 e=访问Cache的时间/平均访问时间 e=访问Cache的时间/平均访问时间
- 平均访问时间 访 问 C a c h e 的 时 间 × 命 中 率 + 访 问 主 存 的 时 间 × ( 1 − 命 中 率 ) 访问Cache的时间×命中率+访问主存的时间×(1-命中率) 访问Cache的时间×命中率+访问主存的时间×(1−命中率)
主存与CPU的连接
随机存储器RAM
可读可写,常用于用户程序区
RAM的种类 | 工作原理 | 特点 | 用于 |
---|---|---|---|
静态RAM | 触发器 | 不需刷新、速度快 | 高速缓冲存储器 |
动态RAM | 电容存储电荷原理 | 需要刷新(2ms内刷新一次)、集成度高、存储容量大 | 主存 |
提高访(问主)存速度的措施
- 高速存储芯片
- 高速缓存存储器Cache
- 调整主存结构
单体多字系统
多体并行系统
- 高位交叉编址
连续读取n个字所需的时间为:n×T- 低位交叉编址
连续读取n个字所需的时间为:T+(n-1)×tT表示存取周期
t表示总线传输周期
n表示模块数
提高主存的可靠性
纠错编码技术
汉明码 具有一位纠错能力,k应该满足如下条件
2
k
>
=
n
+
k
+
1
2^{k}>=n+k+1
2k>=n+k+1
n : 欲 检 测 的 代 码 的 位 数 n:欲检测的代码的位数 n:欲检测的代码的位数 k : 需 添 加 的 检 测 位 k:需添加的检测位 k:需添加的检测位 组 成 n + k 位 的 代 码 组成n+k位的代码 组成n+k位的代码
按配积/配偶原则配置汉明码
检
测
位
分
别
安
排
到
2
k
的
位
置
,
k
表
示
检
测
位
的
次
序
,
且
2
k
为
此
检
测
位
独
有
的
二
进
制
代
码
位
检测位分别安排到2^{k}的位置,k表示检测位的次序,且2^{k}为此检测位独有的二进制代码位
检测位分别安排到2k的位置,k表示检测位的次序,且2k为此检测位独有的二进制代码位
Cache-主存地址映射
- 直接映像
- 全相联映像
- 组相联映像
存储器带宽
表示存储器每秒存取的信息量