概述
文章目录
- 写在前面
- 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所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复