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