打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
【问题思考总结】TLB Page Cache 主存 的联系与辨析【从命中和访存次数的角度 及 地址转换和数据存储的对比】_快表页表cache主存_kev

前置知识

四种结构

TLB:快表,是一种虚拟地址到物理地址的地址映射结构,当CPU传出一个地址时,首先到达的就是TLB,如果TLB命中,那么隐藏的含义就是,这个虚拟地址可以直接转换为物理地址(因为快表的表项中装的就是他的实页号,而页内陆址则在虚拟地址中可以找到,因此拼接起来就是物理地址)。

Page:页表,是一种虚拟地址到物理地址的地址映射结构,当CPU传出一个地址时,如果Page命中,那么隐藏的含义就是,这个虚拟地址可以直接转换为物理地址(因为页表的表项中装的就是他的实页号,而页内陆址则在虚拟地址中可以找到,因此拼接起来就是物理地址)。

Cache:高速缓存,是一种储存数据信息的结构,当物理地址传出时,首先到达的就是Cache,如果Cache命中,那么隐藏的含义就是,这个块我可以直接拿走(因为Cache中保存的就是主存的副本)。

主存:主存,是一种储存数据信息的结构,当物理地址传出时,如果Cache未命中,主存命中,那么隐藏的含义就是,这个块我可以从主存中拿走(因为主存中保存的就是我要的信息,不过速度肯定是没有Cache快,有的时候会差好几个数量级)。

再往下就到外存了,这里不做过多赘述

联系

可以看到,

TLB和Page在形式上是高度相似的(他们都是地址映射的结构),Cache和主存在形式上是高度相似的(他们都是保存数据信息的结构)。

TLB和Cache在存取速度和优先级上是高度相似的(他们都是优先访问的,因为他们存取速度比较快),Page和主存在存取速度和优先级上是高度相似的(他们都是后访问的,因为他们都在主存中)

我们知道,Cache是主存的高速缓存。实际上,TLB就是页表的高速缓存

Cache用来加速数据存取,TLB用来加速地址转换。

对他们的访问均不算访问内存(因为他们的速度比访问主存快好几个数量级)。(这部分的知识对后面的访存部分有很大作用)

从命中的角度分析

基本概念

1. TLB命中标记项相等有效位是1。
2. Page命中标记项相等有效位是1。
3. Cache命中标记项相等有效位是1(如果是写回法则还需要注意脏位

命中的几种情况

全部组合

首先,TLB Cache Page,都各有两种情况,命中和不命中。
因此,全排列应该是一共是2×2×2=8种情况(1:命中,0:不命中):

TLBPageCache
111
110
101
100
011
010
001
000

不可能的组合

  1. 101:当TLB命中时,那么由前置知识可以知道,地址就已经可以转换了,副本命中了,本体当然也命中,因此不可能。
  2. 100:原因同上
  3. 001:实际上,页表保存的是所有在主存中的页的信息,因此,如果页表不命中,信息一定不在主存中。而又因为,Cache是主存的子集,因此Cache一定不命中,因此不可能。

一些思考

其实可以看到,当TLB命中时,就无所谓页表命不命中了,因为压根就没有访问页表,因此也无所谓命不命中了(其实严格来说是无法判断,因为根据定义,需要发生标记位的比较和有效位的比较才可以判断命不命中

实际上,这个题型第一次也是唯一一次出现是在2010的408真题中,也就是考408的第二年,我个人感觉是很不严谨的,而在2015年同样的知识点,他就换了一种角度,用访存次数来考同学,那么这个是更严谨的表述其实是,当然也就更加需要同学们对于这几种结构有更深刻的理解

这也充分说明,我们应该注重广度的同时,对重要的知识点,提高理解的深度

因此,在下面用访存的角度进行分析。

从访存的角度分析

排除了三种不可能之后,还剩余5种可能

首先明确,我们如果要拿到数据需要两步:1. 拿到物理地址 2. 拿到数据 下面从这两个方面进行分析。

另外:页表(在主存中)对标主存(两者较慢算访存),快表对标cache(两者较快不算访存)

  1. 111:当TLB命中时,地址有了(没访存,原因在联系部分的最后一段),Page就不用管了(地址已经有了),当Cache命中的时候,数据有了(没访存,原因在联系部分的最后一段),主存就不用管了(数据已经有了)。0+0=0访存次数0次。
  2. 110:TLB命中,地址有了。Cache没命中,去主存找,访存一次0+1=1
  3. 011:TLB未命中,去页表中找,访存一次,地址有了。Cache命中,数据有了。1+0=1
  4. 010(1):1+1=2,这里注意,虽然Cache没有,但是主存中是有的(页表和主存是同步的)。
  5. 000(0):这个最惨,直接干到外存去了。。。不要管他了
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
CPU 是如何与内存交互的?
s3c2440硬件学习笔记----内存管理单元MMU
虚拟内存 & I/O & 零拷贝
ARM920T虚拟地址原理分析及实现
进程是如何使用内存的?
mmu以及cache入门详解
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服