问答题 设主存容量1MB,有16KB直接相联映像的Cache,似定该Cache的块为8个32位的字。解答下列问题。
问答题 写出Cache地址格式
【正确答案】
【答案解析】Cache容量16KB,16KB=2 14 B,所以Cache地址为14位;块的大小为8个32位的字,即32字节,所以块内地址为5位,块地址为9位。Cache地址格式为,如图1所示。
问答题 写出主存地址格式
【正确答案】
【答案解析】主存容量1MB,1MB=2 20 B,所以主存地址为20位;块的大小为32字节,所以块内地址为5为,块地址为9位,块标记为6位。主存地址格式为如图2所示。
问答题 块表的容量为多大?
【正确答案】
【答案解析】Cache的每一块在块表中有一项,Cache的块地址为9位,所以块表的单元数为2 9 字,块表中存放的是块标记,由于块标记为6位,所以块表的字长为6位。故块表的容量为:2 9 字×6位。
问答题 画出直接方式地址映像及变化示意图。
【正确答案】
【答案解析】直接地址映射方式变化如图3所示。
问答题 主存地址为ABCDE8F8的单元在Cache中的什么位置?
【正确答案】
【答案解析】Cache容量为16KB=2 14 B,块长为8×32=32B,所以Cache有16×1024/32=512个块。因为ABCDE8F8=1010 1011 1100 1101 1110 1000 1111 1000。
所以块号=1010 1011 110 1101 1110 1000 111,块内地址=11000。
在直接映像方式下,主存中的第i块映像到Cache中第i mod 512个块中;
1010 1011 1100 1101 1110 1000 111 mod 512=10 1000 111:
所以,地址ABCDE8F8的单元在Cache中的地址为10 1000 1111 1000。