Content
一、填空题
填空题:
1、设主存地址空间大小为1KB,按字节编址,cache大小为128B,每个cache块(cache的每行)大小为16B。
CPU要访问的地址是:196。
当cache为空的情况下,主存地址是(1)位,
主存地址十进制196的二进制是:(2),
主存块数是:(3)个,
cache块数是:(4)个,
采用直接映射方式,不论cache是否为空,地址196所在的块(5)(必须或不一定)放在cache的(6)2块,
196对应到cache地址是:(7)2。
采用全相联映射时,196对应到cache地址是:(8)2;
采用4路组相联映射时,196对应到cache地址是:(9)2。
参考解答:
(1)10
(2)0011000100
(3)64
(4)8
(5)必须
(6)100
(7)1000100
(8)0000100
(9)0000100
解析:
(1)主存地址空间大小为1KB—>主存地址为10位。(当cache为空时)
(2)196=128+64+4,对应的二进制为0011000100(补全10位)
(3)Cache—主存地址映射的实质:字块内地址一样,主存的块号—>Cache所在块块号,
每个cache块(cache的每行)大小为16B—>字块内地址为4位,因此主存的地址为6位(10-4=6),
主存的块数为2^6=64个。
(4)cache大小为128B,每个cache块(cache的每行)大小为16B,cache的块数=128/16=8块。
(5)直接映射方式:每个主存块只能和一个缓存块对应。因此填"必须"。
(6)cache的块数为8块,则cache字块地址为3位(2^3=8)
【取十进制196对应二进制的从右往左数第5位到第7位,即(100)2;
低4位为字块内地址,即(0100)2为字块内地址。】
(7)cache地址包括cache字块地址(3位)和字块内地址(4位)
【取十进制196对应二进制的低7位,即(1000100)2。】
(8)全相联映射,主存中的任一块可以映射到缓存中的任一块,cache为空的情况下时,
映射到cache中的第0块(即cache字块地址为(000)2的那一块),字块内地址不变。
(9)cache共有8块,采用4路组相联映射时(组内cache块为4块),cache共分8/4=2组
(2^1=2);因此主存地址中的组地址占1位,为十进制196对应二进制的从右往左数第5位0,
所以cache中的组地址为0,又cache块为空,因此196对应到cache第0组的第00块中。
2、某计算机的cache共有8块,假设为空,每个主存块大小为32字节(按字节编址),
采用直接映像法,主存129号单元所在主存块应装入到的cache块号是(1);
采用全相联映像法,主存129号单元所在主存块应装入到的cache块号是(2);
采用4路组相联映像法,主存129号单元所在主存块应装入到的cache块号是(3)。
参考解答:
(1)4
(2)0
(3)0
解析:
见简答题(3)
填空题1解析用图:
二、简答题
简答题:
3、某计算机的cache共有8块,假设为空,每个主存块大小为32字节(按字节编址),
采用直接映像法,主存129号单元所在主存块应装入到的cache块号是();
采用全相联映像法,主存129号单元所在主存块应装入到的cache块号是();
采用4路组相联映像法,主存129号单元所在主存块应装入到的cache块号是()。
请给出解题过程
参考解答:
每个主存块大小为32字节(按字节编址)
故主存129号单元所在主存块为第129÷32=4块(块号从0开始编号)
(1)
直接映射方式下,主存块按模C(C为cache块数)映射到cache中的某一块,4 mod 8=4,
故主存129号单元所在主存块应装入到的cache块号为4。
(2)
全相联映射方式下,主存块中的任一块可以映射到cache中的任一块。由于cache为空,
故129号单元所在的主存块应装入块号为0的cache块中。
(3)
组相联映射方式下,主存块按模Q(Q为cache组数)映射到cache对应组中的任一块。
cache共有8块,采用4路组相联映射(组内cache块为4块),故cache共分8÷4=2组,
4 mod 2=0,由于cache为空,故129号单元所在主存块应装入cache第0组第0个cache块。
4、某32位计算机的cache容量为16KB,cache行的大小为16B,若主存与cache地址映像采用直接映像方式,
则主存地址为0x1234E8F8的单元装入cache的地址是()
请给出解题过程
解:
cache行大小为16B(2^4)—>字块内地址为4位
cache块数=16*2^10B÷16B=2^10—>cache字块地址为10位
十六进制主存地址0x1234E8F8的二进制为0001 0010 0011 0100 1110 1000 1111 1000
取二进制低14位得装入cache的地址为10 1000 1111 1000
三、选择题
单选题:
5、某32位计算机的cache容量为16KB,cache行的大小为16B,若主存与cache地址映像采用直接映像方式,
则主存地址为0x1234E8F8的单元装入cache的地址是()
A、01000100011010
B、10100011111000
C、00010001001101
D、11010011101000
参考解答:B
解析:见简答题(4)