填空题
某计算机采用页式虚拟存储管理方式,按字节编址。CPU进行存储访问的过程如下图所示。
【正确答案】物理地址由实页号和页内地址拼接,因此其位数为16+12=28;或直接可得20+3+5=28。
【答案解析】
问答题
TLB采用什么映射方式?TLB用SRAM还是DRAM实现?
【正确答案】TLB米用全相联映射,可以把页表内容调入任一块空TLB项中,TLB中每项都有一个比较器,没有映射规则,只要空闲就行。TLB采用静态存储器SRAM,读写速度快,但成本高,多用于容量较小的高速缓冲存储器。
【答案解析】
问答题
Cache采用什么映射方式?若Cache采用LRU替换算法和回写(Write Back)策略,则Cache每行中除数据(Data)、Tag和有效位外,还应有哪些附加位?Cache总容量是多少?Cache中有效位的作用是什么?
【正确答案】图中可以看到,Cache中每组有两行,故采用2路组相联映射方式。 因为是2路组相联并采用LRU替换算法,所以每行(或每组)需要1位LRU位;因为采用回写策略,所以每行有1位修改位(脏位),根据脏位判断数据是否被更新,如果脏位为1则需要写回内存。 28位物理地址中Tag字段占20位,组索引字段占3位,块内偏移地址占5位,故Cache共有23=8组,每组2行,每行有25=32B;故Cache总容量为8×2×(20+1+1+1+32×8)=4464位=558字节。 Cache中有效位用来指出所在Cache行中的信息是否有效。
【答案解析】
问答题
若CPU给出的虚拟地址为0008 C040H,则对应的物理地址是多少?是否在Cache中命中?说明理由,若CPU给出的虚拟地址为0007 C260H,则该地址所在主存块映射到的Cache组号是多少?
【正确答案】虚拟地址分为两部分:虚页号、页内地址;物理地址分为两部分:实页号、页内地址。利用虚拟地址的虚页号部分去查找TLB表(缺失时从页表调入),将实页号取出后和虚拟地址的页内地址拼接,就形成了物理地址。虚页号008CH恰好在TLB表中对应实页号0040H(有效位为1,说明存在),虚拟地址的后3位为页内地址040H,则对应的物理地址是0040040H。 物理地址为0040040H,其中高20位00400H为标志字段,低5位00000B为块内偏移量,中间3位010B为组号2,因此将00400H与Cache中的第2组两行中的标志字段同时比较,可以看出,虽然有一个Cache行中的标志字段与00400H相等,但对应的有效位为0,而另一Cache行的标志字段与00400H不相等,故访问Cache不命中。 因为物理地址的低12位与虚拟地址低12位相同,即为0010 0110 0000B。根据物理地址的结构,物理地址的后八位01100000B的前三位011B是组号,因此该地址所在的主存映射到Cache组号为3。
【答案解析】