某计算机的主存地址位数为16位,按字节编址。假定数据Cache中最多存放32个主存块,采用2.路组相联方式,块大小为16B,每块设置了1位有效位。采用一次性写回策略,为此每块设置了1位“脏”位。请问: 主存地址中标记(Tag)、组号(Index)和块内地

admin2018-07-17  38

问题 某计算机的主存地址位数为16位,按字节编址。假定数据Cache中最多存放32个主存块,采用2.路组相联方式,块大小为16B,每块设置了1位有效位。采用一次性写回策略,为此每块设置了1位“脏”位。请问:
主存地址中标记(Tag)、组号(Index)和块内地址(Offset)三部分的位置和位数分别是多少?该数据Cache的总位数是多少?

选项

答案块大小为16B,故块内地址为4位:Cache有32个主存块,采用2—路组相联,Cache分为16组(32÷2=16),故组号为4位;剩余位为标记,即有16位一4位一4位=8位。数据Cache的总位数应包括标记项的总位数和数据块的位数。每个Cache块对应一个标记项,标记项中包括标记字段、有效位和“脏"位(用于写回法)。主存地址中Tag为8位;组号为4位;块内地址为4位。标记项的总位数=32×(8+1+1)=16×10=320,数据块的位数=32×16×8=4096,因此数据Cache的总位数=320+4096=4416。

解析
转载请注明原文地址:https://jikaoti.com/ti/7AfjFFFM
0

最新回复(0)