白話文解說 Unified Memory 架構
談到 CPU 與 GPU 的協作,通常是 CPU 會在記憶體中放好資料,然後複製到 GPU 的 VRAM(Video Random Access Memory), GPU 做完運算之後,再將資料放在 VRAM, 最後複製回到記憶體。
也由於 CPU 與 GPU 協作會需要複製資料,這一來一往就是一種效率的損耗,如果能減少或是拿掉複製資料的動作,效率將會提升!
於是 Unified Memory 就被作為解法提出, Unified Memory 是 1 種記憶體架構,它還是在做記憶體的工作,但最大特點是可以讓 CPU 與 GPU 共同存取,減少複製資料的行為,讓效能大大提升!
Apple 的 M1 處理器就是採用 Unified Memory 架構的處理器,受益於 SoC(System on Chip)技術的進步, M1 處理器不再單純是處理器的角色,一個小小的晶片上面整合了 GPU, Cache, DRAM 等等組件,使得 CPU 能直接存取晶片裡的高頻寬、低延遲記憶體,再加上 Unified Memory 架構,讓 CPU 與 GPU 減少複製行為,兩者溝通更具效率,帶來不可忽視的效能提升,這就是 M 系列處理器為什麼這麼快的原因之一。
不過使用 Unified Memory 也沒有絕對好處,首當其衝的是犧牲擴充記憶體的彈性,如果想擴充記憶體,除了購買硬體當下決定好之外,否則就得整顆處理器換掉,這就是為什麼現在購買 Apple 筆電時最好盡量加大記憶體的原因(或者相關使用 Unified Memory 架構的產品)。
p.s. Apple 並不是第 1 個有使用 Unified Memory 架構的公司, Intel, AMD, Nvidia 其實都有研發類似的技術