一.2016年计组45题
一.题目知识背景(待补)
二.解题思路
(1)主存块大小8KB,按字节编址,对应的页内地址有13位,则A一共有32-13=19位,A与B最高位相同,则B有19位,C有24-13=11位,D有13位,E有9位,F有9位,G有6位,存放的是对应的页号
(2)块号为4099,末九位为000000011,所映射的组号为3,高九位为0 0000 1000,对应H字段内容为001H
(3)缺页处理的时间开销大,缺页处理时,需要从外存中通过I/O读入页面到内存,而I/O操作比较费时
(4)Cache采用直写时只需要访存,而修改页面内容时如果采用直写,会大大增加I/O时间的开销.
二.2013 43题
一.知识背景
1. 多体交叉存储器提出的背景
基本思想是在不提高存储器速率、不扩展数据总线位数的前提下,通过存储芯片的交叉组织,提高CPU单位时间内访问的数据量,从而缓解快速的CPU与慢速的主存之间的速度差异。
★小提示:多体交叉存储器
分高位和低位
因此下面有两种组织方式:
1️⃣高位多体交叉存储器的组织方式;
2️⃣低位多体交叉存储器的组织方式。
1.1. 高位多体交叉存储器的组织方式
①数据组织特点:相邻地址的数据处于同一存储体
②一个
地址寄存器
③多模块串行
(不满足局部性原理)
④性能无提升
⑤扩充容量方便
1.2. 低位多体交叉存储器的组织方式
①数据组织特点:相邻地址处于不同存储体中
②每个
存储体均需地址寄存器
③多模块并行
(局部性原理)
④性能提升
⑤扩充容量也方便
通过4个存储体的并行工作,可实现对存储器的流水线方式访问:
1.3. 低位多体交叉存储器的性能分析
设存储周期为 T ,总线传送周期为 τ ,交叉模数为m。
流水线方式存取的条件:
T = m τ
即每个模块启动后经过 τ 时间的延时,就可以启动下一个模块。
2.1.Cache访存的分析
命中与未命中
上面我们写道,缓存共有C块,主存共有M块, M>>C
在CPU访问主存的时候,如果要访问的块已经放到了缓存当中,在缓存当中能够取到相应的数据或者指令,我们就成为命中。
命中: 访问Cache中对应块即可,在回写法与写分配法条件下,不需要再访问主存,若是写直达法,需要在写入cache时写入主存块,也需要访存,本题未注明,不考虑写直达的情况。
未命中:主存块未调入缓存,主存块与缓存为建立对应关系,则需要直接访问主存,将主存块调入内存中
如果命中了,就说明主存和缓存有某种对应关系,这个对应关系就可以用前面说到的标识符来表示
二.解题思路
(1)CPU主频为800MHz,则CPU的时钟周期T为,总线的时钟周期T为(1/200M)=5ns,带宽为4B/50ns=800MB/s
(2)需要读取的主存块为32B,每次突发传送32B,一个读突发传送总线事务即可完成
(3)完成一次读突发传送总线事务时,需要准备32位数据,采用8体交叉编址,送首地址和命令需要一个总线时钟周期,即5ns,存储器需要准备32B,一个存储周期内读取8个存储体可以准备完毕,需要40ns,需要传送32B,一次只能传送32位(4B)数据,则需要传送8次,需要花费8*5ns=40ns,一共需要花费85ns
🌟(此题为重点,知识点核心为Cache是否缺失与访存次数的关系,日后要多注意形成条件反射)(4)BP的CPU时间开销执行100条指令,Cache命中时,CPI为4,总时间包括Cache命中时的时间开销和Cache缺失时的额外开销,CPU执行指令的时间开销为100*4*1.25ns=500ns,需要额外花时间访存时,时间开销为1.2*85ns*0.05*100=510ns,时间开销总共为500ns+500ns=1010ns