假定一个计算机系统中有1个TLB和1个L1 Data Cache。该系统按字节编址,虚拟地址16位,物理地址12位,页大小为128B,TLB为4路组相连,共有16个页表项,L1 Data Cache采用直接映射方式,块大小为4B,共16行。在系统运行到某一

admin2017-11-20  26

问题 假定一个计算机系统中有1个TLB和1个L1 Data Cache。该系统按字节编址,虚拟地址16位,物理地址12位,页大小为128B,TLB为4路组相连,共有16个页表项,L1 Data Cache采用直接映射方式,块大小为4B,共16行。在系统运行到某一时刻时,TLB、页表和L1 Data Cache中的部分内容如图2-3所示。

  试回答下列问题:
CPU从地址067.AH中取出的值为多少?说明CPU读取地址067AH中内容的过程。

选项

答案地址067AH=0000 0110 01111010B,所以,虚页号为0000011 00B,映射到TLB的第0组。将0000011B=03H与TLB第0组的4个标记比较,虽然和其中一个相等,但对应的有效位为0,其余都不等,所以TLB缺失,访问主存中的页表。直接查看000001100B=00CH处的页表项,有效位为1,取出物理页号19H=11001B,与页内偏移1111010B拼接成物理地址:110011111010B。根据中间4位1110直接找到Cache第14行(行号从0开始),即第E行,有效位为1,且标记为33H=110011B,正好等于物理地址高6位,所以命中。根据物理地址最低两位10,所以应该取出该块的第2字节,即4AH=01001010B。

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

最新回复(0)