目录
目录
1.并行存储器包括双端口存储器和多模块交叉存储器
多模块组织方式又分为顺序方式和交叉方式
即可以同时取M0,M1,M2,M3中各一个
但不可以取同一个模块内的两个
如
不可以同时取000 00 和0001 00
对于交叉方式来说,虽然在一个存取周期内可以连续访问4个模块,但,访问每个模块之间需要间隔一个总线周期
例:
例2:
Answer:D
2. Cache的基本原理
主存当中要被访问的数据提前送到cache中
CPU访存时,先访问Cache, 如果没有再进行调度
注意相邻层之间数据传送的单位不同
3. Cache的构成
几个重要的数据:
Cache的命中率
Cache/主存系统的平均访问时间
主存与Cache的速度倍率r
系统的访问效率
例:
4. Cache的读操作
5. Cache的写操作
6.Cache的替换策略
最不经常使用算法
近期最少使用算法
随机替换算法
7. Cache的写策略
写回式
全写式
写一次法
8.主存和Cache的映射关系
注意:
在主存当中称为块
在Cache当中称为行
全相联映射
注意:
在调入时,需要将主存标记和Cache的行号同时写入块表
注意:
此时的块表当中存放的是主存块号和cache行号
块表的行数即2的c次方
所以块表的大小应该是:
512B即需要9位块内地址
16KB/512B=2的5次方,即cache需要5位行地址
1MB/512B=2的11次方,即 主存需要 11 位主存标记
直接映射
注意此时的块表当中只保持主存标记,大小即:
给定主存地址,先剥离其cache行号,用此cache行号到块表对应进行比较,若发现块表对应的行号处存放的主存标记与之相同,则命中。将用此cache行号和行内地址去 cache当中访问数据。
块的大小位8B,即需要3位地址来作为行内地址
32/8=4 得cache需要2位cache行号
对于主存来说,相当于在全相联映射当中的主存标记分成了两部分,一部分是主存标记,另外一部分是cache行号
组相连映射
caache地址格式为:
cache组号, cache组内行号,块内地址
若选中,即先拿组号在块表中确定所在的组,再使用主存标记去确定一个 cache的组内行号
再将cache组号, cache组内行号,块内地址在cache中确定一行
16路
每块8个字,每字32位,按字节编址,即每块32B
2MB/32B=2的16次方
16KB/32B=2的9次方
对于16路组相连来说,即16行为一组
用cache的总行数/16=2的5次方,即需要5位组地址
对于本题需要注意的是,只需写出主存的地址格式,
但16路组相连cache地址格式:
5位组地址,4位组内行号,5位块内地址?(顺序?)
(129)即(1000 0001)B
32字节即块内地址5位,16/2=8 即需要3位组号
9. 虚拟存储器
虚拟存储器的基本概念
虚存的使用过程
cache与虚存的比较
、
快表在cache当中,慢表(页表)在主存当中