【问题标题】:Calculating effective address translation time计算有效地址转换时间
【发布时间】:2014-12-27 05:23:10
【问题描述】:

有人知道有效地址翻译时间的计算公式吗?

例如,如何解决以下问题:

给出如下信息:

  • TLB 可以容纳 1024 个条目,并且可以在 1 个时钟周期(1 纳秒)内访问。

  • 可以在 100 个时钟周期或 100 纳秒内找到页表条目。

  • 平均页面更换时间为 6 毫秒。

如果页面引用在 99% 的时间内由 TLB 处理,而只有 0.01% 的时间会导致页面错误,那么有效的地址转换时间是多少?

那么是 1 纳秒 + (0.01% x 100 纳秒) 吗?

【问题讨论】:

  • 我闻到了一道作业题。尽管如此,你的答案并不正确。页面错误怎么办?
  • 我不敢相信他们会教这些没用的东西。

标签: caching memory-management tlb


【解决方案1】:

根据问题中的数据,在地址转换(虚拟到物理)的情况下,会发生以下情况:

  • 以 0.99 的概率,所需的物理地址将在 TLB 中(访问时间 1 ns)
  • 以 0.01 的概率,所需的物理地址不会在 TLB 中,对于这种情况
    • 以 0.0001 的概率发生页面错误(访问时间 6000000 ns)
    • 如果概率为 0.01-0.0001 = 0.0099,则不会发生页面错误(访问时间 100 ns)

平均访问时间将是 0.99 * 1 ns + 0.0001 * 6000000 ns + 0.0099 * 100 ns = 601.98 ns

【讨论】:

  • 请停止那些 [tlb] 标记编辑,所有这些重新激活的旧问题完全毁了我的首页。大规模重新标记需要首先在 meta 上解决。
  • 好的,没问题! @HansPassant
【解决方案2】:

一切正确,但您也只需要添加一次内存访问。 bcz 你的公式说明了如果击中将需要多长时间,如果未命中则相同,但在那之后

【讨论】:

  • 请不要在 StackOverflow 上使用“u”或“ur”或“bcz”。来自 SO 如何回答指南:尽你所能写 我们并不期望每个答案都是完美的,但具有正确拼写、标点和语法的答案更容易阅读。他们也往往更频繁地获得投票。请记住,您随时可以返回并编辑您的答案以改进它。
猜你喜欢
  • 2015-07-02
  • 1970-01-01
  • 2020-02-19
  • 2014-03-24
  • 2010-09-19
  • 1970-01-01
  • 1970-01-01
  • 2016-05-17
  • 1970-01-01
相关资源
最近更新 更多