408计组大题解析--------存储系统(一)2018--408真题(44)

一.知识回顾

1.快表TLB(Translation Look-aside Buffer的运行机制

1:CPU给出逻辑地址后,由硬件进行地址转换,将页号送入高速缓冲寄存器,并将此页号与快表中的所有页号进行比较。
2:若找到匹配的页号,说明要访问的页表项在快表中,则直接从中取出该页对应的页框号,与页内偏移量拼接形成物理地址。这样存取数据仅一次访存便可实现。
3:若未找到匹配的页号,则需要访问主存中的页表,在读出页表项后,应同时将其存入快表,以便后面可能的再次访问。但若快表已满,则必须按照一定的算法对旧的页表项进行替换。
(2)TLB采用什么映射方式?TLB是用SRAM还是DRAM实现?
仔细观察TLB,我们会发现只有一组TLB,所以为全相联映射。
TLB采用全相联映射,可以把页表内容调入任一块空TLB项中,TLB每项都有一个比较器,没有映射规则,只要空闲就行。
TLB用SRAM实现,读写速度快,但成本高,多用于容量较小的高速缓冲寄存器,一般为相联寄存器,可以实现按照内容寻址。

2.Cache的运行机制

1.Cache总容量计算

1.数据部分,由块内物理地址数*每块地址所容纳的数据位

2.Tag标记部分,由物理地址最高Tag位组成,位数与Tag位相同

3.其他部分:修改位,有效位,LRU位等

2.LRU的Cache机制

(1)什么是LRU Cache

   LRU 是 Least Recently Used 的缩写,意思是最近最少使用,它是一种 Cache 替换算法。 什么是 Cache ?狭义的Cache 指的是位于 CPU 和主存间的快速 RAM , 通常它不像系统主存那样使用 DRAM 技术,而使用昂贵但较快速的SRAM 技术。 广义上的 Cache 指的是位于速度相差较大的两种硬件之间, 用于协调两者数据传输速度差异的结构。除了CPU 与主存之间有 Cache , 内存与硬盘之间也有 Cache ,乃至在硬盘与网络之间也有某种意义上的Cache ── 称为 Internet 临时文件夹或网络内容缓存等。
   Cache 的容量有限,因此当 Cache 的容量用完后,而又有新的内容需要添加进来时, 就需要挑选并舍弃原有 的部分内容,从而腾出空间来放新内容。 LRU Cache 的替换原则就是将最近最少使用的内容替换掉 。其实,LRU译成最久未使用会更形象, 因为该算法每次替换掉的就是一段时间内最久没有使用过的内容。
  我们知道,LRU算法从图中可以看到,cache中每组有两行,故采用2路组相联映射方式。因为是2路组相联并采用LRU替换算法,所以每行需要1位LRU位;而在全相联映射和直接映射机制中,LRU的位数则为log2n位,n为Cache的块数,因为采用回写策略,所以每行有1位修改位,根据脏位判断数据是否被更新,若脏位为1则需要写回内存。
 

二.解题步骤

    (1)主存物理地址由实页号和页内地址组成,实页号一共16位,页内地址一共12位,占28位.

    (2)TLB采用的映射方式为全相联映射方式,TLB使用SRAM实现.

    (3)Cache采用的映射方式为二路组相联映射方式,还有的附加位为1位修改位,一组为2块Cache,则需要1位LRU位.Tag有20位,Cache块内地址一共2^5=32个地址,每一块Cache的容量为32*8+20+1+1+=279位,一共有八组,每组有两块Cache块,一共有16块,容量一共有4464位.Cache中有效位的作用是访存时检查该内存块在Cache中是否有副本以加快访存.

   (4)对应的物理地址为0040040H,在Cache中是没有命中的.0007 C260的后八位地址为60H,即0110 0000,映射到的组号为011,即为3.

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值