1. CPU执行一段程序时,cache完成存取的次数为1900次,主存完成存取的次数为100次,已知cache存取周期为50ns,主存存取周期为250ns,求
1 cache的命中率;
2 cache/主存系统的效率;
3 平均访问时间。
解:
(1)命中率
(2)平均访问时间:
(3)访问效率
2.有一个cache的容量为2K字,每块为16字,问: 。
(1)该cache可容纳多少个块?
(2)如果主存的容量是256K字,则有多少个块?
(3)主存的地址有多少位? cache的地址有多少位?
(4)在直接映射方式下,主存中的第i块映射到cache中哪一个块?
解:
(1)cache的容量为2K字,每块为16字,则cache中有2048/16=128块
(2)如果主存的容量是256K字,则有2561 024/16=16384个块。
(3)因为主存的容量是256K=218字,所以主存的地址有18位。cache的容量为2K
字,所以cache的地址有11位。 ,
(4)在直接映射方式下,主存中的第i块映射到cache中第I mod l28个块中。
3.一个虚拟存储器有8个页面,页面大小为1 024字,内存有4个页面框架,页面的内容为:
虚页号 0 1 2 3 4 5 6 7
实页号 3 1 - - 2 - 0 -
(1)以下哪些虚拟地址将引起页面失效?
(2)对应以下虚拟地址的主存地址是什么?
(a)0 (b)3728 (c)1023 (d)1024 (e)1025 (f)7800 (g)4096
解:题中所给地址对应的主存页面、页内地址、页面失效情况如表所示。
因为页面大小为1 024字,内存有4个页面框架,所以内存地址格式为:
11 10 9
页面
页内地址
实页面为0、页内地址0的虚拟地址所对应的主存地址是:00 0000000000=000H
实页面为0、页内地址1023的虚拟地址所对应的主存地址是:00 1111111111=3FFH
实页面为1、页内地址0的虚拟地址所对应的主存地址是:01 0000000000=400H
实页面为1、页内地址1023的虚拟地址所对应的主存地址是:01 1111111111=7FFH
实页面为2、页内地址0的虚拟地址所对应的主存地址是:10 0000000000=800H
实页面为2、页内地址1023的虚拟地址所对应的主存地址是:10 1111111111=BFFH
实页面为3、页内地址0的虚拟地址所对应的主存地址是:11 0000000000=C00H
实页面为3、页内地址1023的虚拟地址所对应的主存地址是:11 1111111111=FFFH
实页面为1、页内地址1的虚拟地址所对应的主存地址是:01 0000000001=401H
虚页号 0 1 2 3 4 5 6 7
实页号 3 1 - - 2 - 0 -
地址 虚页面 实页面 页内地址 主存地址 实访问情况
0 0 3 0 C00H 有效
3728(E90H) 3 - 656(290H) - 页面失效
1023(3FFH) 0 3 1023 FFFH 有效
1024(400H) 1 1 0 400H 有效
1025(401H) 1 1 1 401H 有效
7800(1E78H) 7 - 632(278H) - 页面失效
4096(1000H) 4 2 0 800H 有效
5.设主存容量4MB,虚存容量1GB,页面大小为4KB。
(1)写出主存地址格式。
(2)写出虚拟地址格式。
(3)页表长度为多少?
解:
(1)主存地址格式为:
21 12 11 0
页号(10位)
页内地址(12位)
(2)虚拟地址格式为:
29 12 11 0
页面号(18位)
页内地址(12位)
(3)页表长度为。
3.设某计算机的cache采用4路组相联映像,己知cache容量为16KB,;主存容量为2MB,每个字块有8个字,每个字有32位。请回答:
(1)主存地址为多少位(按字节编址),各字段如何划分(各需多少位)?
(2)设cache起始为空,CPU从主存单元0,1,……,100。依次读出101个字(主
存—次读出一个字),并重复按此次序数读11次,问命中率为多少?
(3)若cache速度是主存的5倍,问采用cache与无cache比较速度提高多少倍?
解:
(1)●主存容量为2MB,技字节编址,所以主存地址为21位。
●每个字块有8个字,每个字有32位(4个字节),所以字块的大小为8*4=32个字节,需要5位地址;
●cache采用4路组相联映像,所以组内块号需要2位地址;
●cache容量为16KB=214B,每个组有4路32B=27B,214B/27B=27,所以组号地址为7位;
●主存害量为2MB=221B,221B/214B=27,所以主存高位地址为7位;
共地址格式如下:
(2)由于每个字块有8个字,所以CPU的0,1,……,100字单元分别在字块0—字块1l和字块12中,采用4路组相联映像将分别映像到第0组—第12组中,但cache起始为空,所以第一次读时没命中,但后面10次可以命中。
所以:命中率:10/11=91%
(3)设cache将所有数据读一次的访存时间为T,则主存的时间为5T。
有cache则访存时间:10T+5T=15T
无cache则访存时间:115T
所以:速度提高倍数=55/15=3.67倍
展开阅读全文