国内看网站 优帮云seo顾问咨询
【考点】存储系统综合大题
【2011年408真题】某计算机存储器按字节编址,虚拟(逻辑)地址空间大小为16 MB,主存(物理)地址空间大小为1 MB,页面大小为4 KB;Cache采用直接映射方式,共8行;主存与Cache之间交换的块大小为32 B。系统运行到某一时刻时,页表的部分内容和Cache的部分内容分别如题44-a图、题44-b图所示,图中页框号及标记字段的内容为十六进制形式。
虚页号 有效位 页框号 行号 有效位 标记 0 1 06 0 1 020 1 1 04 1 0 — 2 1 15 2 1 01D 3 1 02 3 1 105 4 0 — 4 1 064 5 1 2B 5 1 14D 6 0 — 6 0 — 7 1 32 7 1 27A 题44(a)图 页表的部分内容 题44(b)图 Cache的部分内容
(1)虚拟地址共有几位,哪几位表示虚页号?物理地址共有几位,哪几位表示页框号(物理页号)?
虚拟(逻辑)地址空间大小为16 MB = 224B,所以有24位虚拟地址。
页面大小为4 KB=212,所以虚页号是12位(也是页内地址位数(OS中称为页偏移))。
主存(物理)地址空间大小为1 MB = 220B,所以物理地址有20位。
页框号(页号)=20-12=8位。
(2)使用物理地址访问Cache时,物理地址应划分成哪几个字段?要求说明每个字段的位数及在物理地址中的位置。
地址结构:
标记tag 12位 | Cache字块 3位 | 块内地址 5位 |
---|
因为主存与Cache之间交换的块大小为32 B = 25,所以块内地址是 5 位。
cache共8行 = 23,所以cache字块 3 位。
标记就是 20-5-3 = 12位。(20是物理空间位数)
(3)虚拟地址
001 C60H
所在的页面是否在主存中?若在主存中,则该虚拟地址对应的物理地址是什么?访问该地址时是否Cache命中?要求说明理由。
因为页面大小是 12 位,所以后三位C60
是页偏移,看前面的001
表示页号。对应表格,有效位是1,所以存在。
页框号是04,所以拼成物理地址04C60H
。
转换为二进制04C60H = 0000 0100 1100 0110 0000B
,根据上面第二问算的位数,cache子块是011B
= 3行。有效位是1,但是标记位是105H不是04CH
(物理地址高12位),故访问该地址时Cache不命中。
(4)假定为该机配置一个4路组相联的TLB,该TLB共可存放8个页表项,若其当前内容(十六进制)如题44-c图所示,则此时虚拟地址
024 BACH
所在的页面是否在主存中?要求说明理由。
因为是4路组相联,也就是一个组里面有四个cache块,所以8个页表项可分为 2 各组。
组号 | 有效位 | 标记 | 页框号 | 有效位 | 标记 | 页框号 | 有效位 | 标记 | 页框号 | 有效位 | 标记 | 页框号 | |||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 0 | - | - | 1 | 001 | 15 | 0 | - | - | 1 | 012 | 1F | |||
1 | 1 | 013 | 2D | 0 | - | - | 1 | 008 | 7E | 0 | - | - |
而024 BACH
的前面三位变成二进制为000 0010 0100B = 012H
。
虚拟地址是 012H mod 0 = 0(模运算),所以是第 0 组,恰好有标记为012H
的cache,因此在主存中。
更多:【计算机组成原理】汇总三、存储系统