gpt4 book ai didi

caching - 根据以下数据计算平均内存访问时间?

转载 作者:行者123 更新时间:2023-12-04 17:56:30 24 4
gpt4 key购买 nike

考虑以下信息

  • 假设缓存是物理寻址的
  • TLB 命中率为 95%,访问时间 = 1 个周期
  • 缓存命中率90%,再次访问时间=1个周期
  • 页面错误为 1%,发生在 TLB 和 Cache 均未命中时
  • TLB 访问和缓存访问是顺序的
  • 主存访问时间为5个周期
  • 磁盘访问时间为 100 个周期
  • 页表总是保存在主存中

根据以下信息,平均内存访问时间是多少?

我的方法 => 我给出了我对这个问题的理解方法。请检查。

平均内存访问时间

==>

Probability of NO page fault (Memory access time) 
+
Probability of page fault (Page fault service time)

==>

0.99 ( TLB 命中 (TLB 访问时间 + 缓存命中 + 缓存未命中) + TLB 未命中 (TLB 访问时间 + 页表访问时间 + 缓存命中 + 缓存未命中) )

+

0.01(TLB访问时间+页表访问时间+磁盘访问时间)

==>

0.99 ( 0.95 (1 + 0.90(1) + 0.10(1 + 5)) + 0.05(1 + 5 + 0.90(1) + 0.10(1 + 5 )))

+

0.01 (1 + 5 + 100)

给定的表达式是否正确?

请告诉我,我的方法是正确的还是我犯了一些错误?

谁能帮帮我?

PS:我下周期中考试,需要练习这类题

最佳答案

在你的情况下,棘手的行是cache is physically addressed 这意味着在命中它之前我们必须执行转换(因为程序使用虚拟地址)

我构建了以下概率树来计算平均值。我们将从叶子中减少它来计算整个平均值。规则非常简单:我们计算分支成本并将它们乘以概率,就像您在计算中所做的那样。我得到的值是 2.7225

complete tree

第一次休假减少,页面错误

reduction 1

减少后

after the reduction

缓存命中场景的成本

注意:无论如何我们都会为缓存访问支付 1 个周期

cache hit scenario cost

上次减少前

注意:无论如何我们都会为 TLB 支付 1 个周期

before last reduction

1 + 0.95*1.5 + 0.05*5.95 = 1 + 1.425 + 0.2975 = 2.7225

关于caching - 根据以下数据计算平均内存访问时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40140507/

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