我是靠谱客的博主 愉快咖啡豆,最近开发中收集的这篇文章主要介绍计算机体系结构学习HW(1)写在前面DRAM FRESH,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

  • 写在前面
  • DRAM FRESH
    • 前提条件
      • Q1
      • Q1解答

写在前面

本分析基于ETH的ETH 263-2210-00L Computer Architecture, Fall 2019

DRAM FRESH

前提条件

对于具有4 GB DRAM主存系统且每64毫秒刷新一行的计算机,请回答以下问题。

Q1

在机器上独立运行两个应用程序(A和B)期间,您会发现应用程序A的内存暂停周期要比应用程序B大得多,而这两个应用程序的内存请求数量相似。这可能是什么原因?

应用程序A也比应用程序B消耗更多的内存能量。这可能是什么原因?

当应用程序A和B在计算机上一起运行时,应用程序A的性能会显著降低,而应用程序B的性能不会降低太多。为什么会这样?

设计器决定使用更智能的策略刷新内存。只有在过去64毫秒内未被访问的行才会刷新。您认为这是一个好主意吗?为什么或者为什么不?

当应用此新的刷新策略时,在运行应用程序B期间,刷新能耗显著下降。相反,在运行应用程序a期间,刷新能耗仅略微降低。为什么会这样?

Q1解答

大量应用程序A的内存请求可能导致行缓冲冲突,而应用程序B的内存请求具有更好的行缓冲局部性。因此,应用程序A的请求可能需要更长的时间来服务,并且它花费更多的时间来等待内存。注意:这个问题是开放式的。可能还有其他正确的解决方案。

行缓冲区miss比行缓冲区hit消耗更多的能量。行缓冲区需要预充电、激活和读/写,而行缓冲区只需要读/写。因此,如果应用程序A观察到更多的行冲突,它可以消耗更多的内存能量。注意:这个问题是开放式的。可能还有其他正确的解决方案。

当应用程序一起运行时,它们相互干扰。因此,当两个应用程序一起运行时,它们的性能会降低。但是,如果使用了一个像FR-FCFS的先调度行缓冲区hit后调用行缓冲区miss的内存调度程序,它将支持应用程序B的请求,而不是应用程序a的请求。因此,应用程序A的性能会进一步降低。注意:这个问题是开放式的。可能还有其他正确的解决方案。

如果内存中有很大一部分行包含数据并被访问(在64毫秒刷新窗口内),这会显著降低刷新能量,因为这些行不必显式刷新。但是,如果只有少数行包含数据并且只有这些行被访问,则此策略不会提供很大的刷新能量减少,因为大部分行仍以64毫秒的速率刷新。应该考虑所需额外存储空间的面积、性能和能源开销,以跟踪行访问。注意:这个问题是开放式的。可能还有其他正确的解决方案。

这是可能的。如果应用程序B有一个大的工作集,它可以访问很大一部分内存行(在64毫秒刷新窗口内),因此这些行不必显式刷新。另一方面,应用程序A可能具有更小的工作集,因此仍有很大一部分行必须以64毫秒的速率刷新。注意:这个问题是开放式的。可能还有其他正确的解决方案。

最后

以上就是愉快咖啡豆为你收集整理的计算机体系结构学习HW(1)写在前面DRAM FRESH的全部内容,希望文章能够帮你解决计算机体系结构学习HW(1)写在前面DRAM FRESH所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部