【正确答案】正确答案:(1)虚拟地址共有几位,哪几位表示页号?物理地址共有几位,哪几位表示页框号(物理页号)? 页面大小为4KB=2
12
B,故页内地址12位。 虚拟地址空间大小为16MB=2
24
B,故虚地址共24位,低12位为页内地址,高24-12=12位为虚页号。 主存地址空间大小为1MB=2
20
B,故实地址共20位,低12位为页内地址,高20-12=8位为页框号(物理页号)。 (2)使用物理地址访问Cache时,物理地址应划分成哪几个字段?要求说明每个字段的位数及在物理地址中的位置。 主存与Cache之间交换的块大小为32B=2
5
B,故Cache行(块)内地址5位。 Cache共8行=2
3
行,故Cache大小为32×8=256B=2
8
B。Cache地址=3位Cache行号+5位行内地址。 主存物理地址区数=1MB/256B=2
20
/2
8
=2
12
=4096。 故物理地址分三个字段:高12位为标记tag,中间3位为Cache行号,最低5位为行内地址。 (3)虚拟地址001C60H所在的页面是否在主存中?若在主存中,则该虚拟地址对应的物理地址是什么?访问该地址时是否Cache命中?要求说明理由。 虚拟地址001C260H的低12位C60H为页内地址,高12位001H为虚页号。 查页表可知,虚页001H对应的有效位为1,故该页已调入主存,主存页号为04H,故主存地址为04C60H。 主存地址04C60H=000001001100 011 00000b的低5位00000b为行内地址,中间3位011b为Cache行号,查Cache标记可知,第3行的有效位为1,但标记为105H,故该地址Cache不命中。 (4)假定为该机配置一个4路组相联的TLB,该TLB共可存放8个页表项,若其当前内容(十六进制)如题44—c图所示,则此时虚拟地址024BACH所在的页面是否在主存中?要求说明理由。
