計算機體系結構學習HW(1)

寫在前面

本分析基於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毫秒的速率刷新。注意:這個問題是開放式的。可能還有其他正確的解決方案。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章