一文了解內存性能指標
內存是計算機中負責存儲數據,保障系統運行的核心部件。內存中的數據是隨著系統運行動態變化的臨時數據,所以當計算機系統關閉電源時,內存中的數據將全部丟失。
內存最重要的指標是容量,如果容量不夠將導致軟件無法運行。通常程序啟動后會占用一定容量的內存,避免程序運行時頻繁與硬盤進行數據交換。如果程序分配到需要的內存空間,程序只能被迫退出。
內存帶寬是選擇內存時的一個重要性能指標,傳輸速度由內存頻率和數據總線寬度兩個參數決定。內存帶寬可以看作是一條高速公路,內存頻率是高速公路最高的限速,數據總線寬度是公路修了幾條車道。速度越快車輛往返的時間越短,單位時間內往返的次數越多。道路越寬一次通行的車輛越多,單次通車數量越多。內存帶寬=數據總線 ?? 內存頻率 ?8,8是數據位到數據字節的轉換,可以理解為是一輛車站路面的寬度。
內存性能與高速公路關系示意圖
內存通道是內存模塊與內存控制器之間的物理連接。一個內存通道可以理解為一條高速公路,每修一條新高速就可以單獨控制數據的傳輸。當內存支持雙通道時,CPU占用一條通道(由于CPU需要頻繁訪問內存可以簡單認為長期占用一個通道),另一條就可以為顯卡、IO設備(硬盤、網卡)等提供數據。
影響計算機處理性能的內存是主板上的內存和顯卡中的顯存。主板上安裝的內存只負責存儲CPU計算使用的程序和運算數據,顯卡上集成的顯存只負責存儲GPU計算使用的圖像數據。這兩種內存對內存指標的要求卻截然不同。
CPU主要進行通用計算,所以對內存低延時、數據高速傳輸和數據正確性有更高的要求。特別是服務器上安裝的內存對數據正確性的要求更高,內存需要支持ECC(Error-Correcting Code)功能。ECC增加冗余數據位,存儲了附加的校驗信息,通過這些校驗信息可以驗證數據在傳輸或存儲過程中是否有錯誤。內存的ECC功能需要與CPU的ECC功能配對使用才能發揮作用,并且ECC功能對性能有一定的損耗。
GPU在進行圖像處理時,需要進行大量的數據處理,所以對內存的容量、內存傳輸速度和內存帶寬更加看重。當GPU作為娛樂設備時,可以關閉ECC功能,不僅可以減少性能消耗還可以提升一點內存容量。但是當GPU作為AI計算資源時,應該打開ECC功能保證運算過程中數據的正確性和完整性。
計算機硬件進入集成電路時代之后,CPU從單核發展到了多核、硬盤從磁性介質替換為半導體。只有內存沒有發生翻天覆地的變化,內存的性能跟隨著摩爾定律在不斷提升。