存储器的基本结构
半导体储存器
随机存取,指存取的速度和位置无关
主存带宽 单位时间数据传输量
-
RAM (断电丢失数据)[主存]
-
SRAM 触发器储存信息 用于高速缓存存储器(Cache)
-
DRAM 电容储存信息 用于主存
-
-
刷新
- 原因 : RAM会以电容作为储存单元,电容会不断掉电,所以要对数据进行刷新
- 一般电容每2ms就需要刷新一次,一行一行刷新,且每行不能并行刷新
- 集中刷新
- 在2ms找到一个集中时间刷新,集中时间刷新的时候不能被访存,称为死区
- 分散刷新
- 每次读取完刷新一次,刷新次数过多
- 异步刷新
- 每隔一定时间刷新一行,因为每次存取完都要对数据进行一次处理,合理安排可以减小刷 新带来的影响
- 注意
- 在进行存储器扩充的情况下,所有的芯片的同一行同时进行刷新
- 不需要CPU控制
-
ROM
-
存放固定的数据,现在可写但速度也非常慢,信息断电后不丢失
-
寄存器和储存器的连接
-
做题
-
低位交叉编址
-
设置多个存储体,每个存储体可以并行,连续的数据存取可以流水线工作
-
Cache
-
性能提高
- 为什么
- cache访存更快
- 局部性原理
- CPU的访存是以机器字长为单位的,而cache可以一次性访存多个单位
- cache的总命中次数为n 访问主存的次数为m
- 命中率 = n/(n+m)
- 效率提高
- 无cache的时间/有cache的时间
-
地址映射
- 地址
- 主存标记: 判断所需数据是否在cache中
- 组地址/cache字块内地址
- 地址能表示所有的组
- 根据物理地址对应的组地址来找相应的组
- 字块内地址 来寻找字块内相应的地址
- 物理地址 = 字块内地址 + 组地址 + 主存标记
- 直接映射
- 每个主存块之和一个缓存块对应
- 优点
- 实现简单
- 缺点
- 不够灵活,命中率低
- 全相联映射
- 每一个主存块都可以存放到任意缓存块中
- 优缺点和直接映射相对应
- 组相联映射
- 是直接映射和全相联映射的折中,相当于直接映射的每个缓存块变成了组,每个组中有n个缓存块就叫 n路组相联映射
CPU访问储存系统的的直接流程
-
虚拟存储器
- 利用局部性原理,将物理内存在逻辑上看来有更大的空间,所以虚拟地址要比物理地址要长,
- 将虚拟地址和物理地址通过页表做映射,详见操作系统
-
流程
- 用户给出逻辑地址
- 通过逻辑地址在快表(类似于页表的cache)中寻找,不命中,寻找页表,不命中说明数据未调入主存,发起页面中断,从辅存中调入,并更新页表和快表,得到物理地址
- 先访问cache,未命中,访问主存(主存中一定有,因为已经调入),调入cache,得到数据
-