(1) 第一问,因为CPU主频为8...
(1) 第一问,因为CPU主频为800MHz,所以CPU的时钟周期为1/800MHz=1.25ns。
第二问,因为总线时钟频率为200MH,所以总线时钟周期为1/200MHz=5ns。
因为存储器总线宽度为32bit=4B,所以总线带宽为4B×200MHz=800MB/s或4B/5ns=800MB/s。
(2) 因为总线支持突发传送总线事务,每次突发传送32字节,Cache块大小是32B,需要32B/32B=1次突发传送,所以需要一个读突发传送总线事务来完成一个主存块的读取。
(3) 每次读突发传送总线事务的过程包括:送首地址和命令、存储器准备数据、传送数据。
传输地址时间:因为传送地址需要一个总线时钟周期,即5ns。
存储器准备数据时间:每次突发传送32字节,存储器总线宽度为32位,所以总线需要分32B/32bit=8次传送,因为主存采用8体交叉(默认低位交叉)存储方式,即可以用流水线方式处理,存储周期是40ns,每隔一个总线时钟周期启动一个流水线段,8个流水线段需要时间为40ns+(8-1)×5ns=75ns。
传送数据时间:传送32位数据需要一个总线时钟周期,即5ns。
总共需要时间为5ns+75ns+5ns=85ns。
(4) 无论数据是否存放到 Cache 中,CPU 都是先访问 Cache, 只有当 Cache 中找不到数据时,才会去访问内存,并把内存中的数据读⼊到 Cache 中,CPU 再从 CPU Cache 读取数据。
方法一:BP的CPU执行时间包括Cache命中时的指令执行时间和Cache缺失时带来的额外开销。
指令访问Cache执行时间:BP共执行了100条指令,无论数据是否存放到 Cache 中,CPU 最终都要从 CPU Cache 读取数据,因为Cache命中时的CPI为4,即每条指令访问Cache的CPI为4,CPU的时钟周期为1.25ns,所以从指令访问Cache执行时间是100×4×1.25ns=500ns。
指令访问主存执行时间:因为BP共执行了100条指令,平均每条指令需要1.2次访存,Cache缺失率是5%,Cache缺失率=Cache缺失次数/访存次数,访存次数=指令数×平均每条指令需要的访存次数,(注意,不同指令需要的访存次数不一定相同。)得到Cache缺失次数=指令数×平均每条指令需要的访存次数×Cache缺失率=1.2×100×5%=6。缺失后需要加载一个Cache块,Cache块大小为32字节,每次突发传送32字节,缺失后需要32B/32B=1次突发传送,根据(3)的计算结果,一次读突发传送总线事务所需的时间是85ns,所以指令执行过程中因Cache缺失造成的额外开销=Cache缺失次数×每次Cache缺失需要的突发传送次数×每次突发传送总线事务所需的时间=6×1×85ns=510ns。
BP的CPU执行时间=指令访问Cache执行时间+指令访问主存执行时间=500ns+510ns=1010ns。
方法二:BP的CPU执行时间包括Cache直接命中时的指令执行时间和Cache缺失时的指令执行时间。
Cache直接命中时的指令执行时间:BP共执行了100条指令,Cache缺失率是5%,Cache命中时的CPI为4,即每条指令访问Cache的CPI为4,CPU的时钟周期为1.25ns,所以Cache直接命中时的指令执行时间是100×4×1.25ns×(1-5%)=475ns。
Cache未能直接命中时的指令执行时间:因为BP共执行了100条指令,平均每条指令需要1.2次访存,Cache缺失率是5%,Cache缺失率=Cache缺失次数/访存次数,访存次数=指令数×平均每条指令需要的访存次数,(注意,不同指令需要的访存次数不一定相同。)得到Cache缺失次数=指令数×平均每条指令需要的访存次数×Cache缺失率=1.2×100×5%=6。缺失后需要加载一个Cache块,Cache块大小为32字节,每次突发传送32字节,缺失后需要32B/32B=1次突发传送,根据(3)的计算结果,一次读突发传送总线事务所需的时间是85ns,所以指令执行过程中因Cache缺失造成的额外开销=Cache缺失次数×每次Cache缺失需要的突发传送次数×每次突发传送总线事务所需的时间=6×1×85ns=510ns。然后重新访问Cache块加载数据,Cache命中时的CPI为4,重新访问Cache块加载数据的时间是100×4×1.25ns×5%=25ns。总开销510ns+25ns=535ns。
BP的CPU执行时间=Cache直接命中时的指令执行时间+Cache未能直接命中时的指令执行时间=475ns+535ns=1010ns。
注:实际上,在现代计算机中,访问cache未命中,无需要再访问一次Cache,因为再访问一次Cache相比直接将获取到的数据直接送入CPU开销更大。
登录后提交答案
暂无评论,来抢沙发