gpt4 book ai didi

caching - 高速缓存未命中,TLB未命中和页面错误

转载 作者:IT王子 更新时间:2023-10-28 23:29:56 25 4
gpt4 key购买 nike

有人可以清楚地解释我缓存未命中,tlb未命中和页面错误之间的区别,它们如何影响有效的内存访问时间?

最佳答案

让我逐步解释所有这些事情。

CPU生成逻辑地址,该逻辑地址包含page numberpage offset
page number用于索引page table,以获得相应的page frame number,一旦我们有了physical memory的页面框架(也称为主内存),就可以应用page offset来获取正确的内存字。

为什么选择TLB(翻译后备缓冲区)

事实是,页表存储在physical memory中,有时可以很大,为,因此为了加快逻辑地址到物理地址的转换,我们有时使用TLB,它由昂贵且更快的关联内存组成,因此,与其先进入页面表,不如进入TLB并使用page number索引到TLB,并获取对应的page frame number,如果找到了,我们完全避免使用page table(因为我们同时拥有page frame numberpage offset)和形成physical address

TLB 小姐

如果我们在page frame number中找不到TLB,则仅将其称为TLB miss,然后转到page table查找相应的page frame number

TLB热门

如果我们在page frame number中找到了TLB,即TLB hit,则无需转到页表。

Page Fault

当物理内存中不存在正在运行的程序访问的页面时发生。这意味着页面存在于辅助存储器中,但尚未加载到物理存储器的框架中。

缓存命中

高速缓存内存是一种小型内存,其运行速度比物理内存快,并且我们总是在进入物理内存之前先进入高速缓存。如果我们能够在高速缓存内部的高速缓存存储器中找到相应的单词,则将其称为cache hit,我们甚至不需要去物理内存。

缓存小姐

只有当映射到cache memory不能找到缓存内的内存(称为block)的对应的block(类似于物理内存page framecache miss)之后,我们转到physical memory并完成所有通过page tableTLB的过程。

所以流程基本上是这样

1 。首先转到cache memory,如果它是cache hit,那么我们就完成了。

2 。如果它是cache miss,请转到步骤3。

3 。首先进入TLB,如果它是TLB hit,则使用形成的physical address进入物理内存,我们完成了。

4 。如果它是TLB miss,则转到page table以获取用于形成physical address的页面的帧号。

5 。如果未找到page,则为page fault。如果所有帧都被某个页面占用,则使用page replacement algorithms之一,否则只需将所需页面从secondary memory加载到physical memory帧即可。

尾注

我讨论的流程与虚拟缓存(进程之间更快但不可共享)有关,在物理缓存(进程较慢但可以在进程之间共享)的情况下,该流程肯定会改变。缓存可以通过多种方式解决。如果您愿意深入学习,请看看thisthis

关于caching - 高速缓存未命中,TLB未命中和页面错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37825859/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com