答案很簡單,CPU支援的最大記憶體容量等於——
記憶體控制器通道數 x 每通道支援的記憶體插槽數 x 每插槽能插上的記憶體最大容量。
例如消費級主流的i7/i5 4000系列,雙通道記憶體控制器,每控制器雙插槽,每插槽支援最多8G的單條記憶體,所以最高容量就是32G。為什麼是4條插槽?這是從第一代Pentium,也就是20年前流傳下來的“習俗”,絕大多數主流使用者有4個插槽就夠用了。至於為什麼每插槽只能有8G?因為消費級CPU只支援Unbuffered無緩衝記憶體,目前這種記憶體條單條最大容量就是8G。幾年前這種記憶體單條最大隻有4G,所以當時的系統支援的最大記憶體就是16G。類似地,幾年前的高階X58平臺因為是三通道記憶體控制器,所以當時支援的最大記憶體就是3x2x4G=24G容量。
而消費級高階的i7則使用4通道記憶體控制器,i7 4820/4960等CPU可以搭配8個記憶體插槽,所以就可以支援多達64G記憶體。專業級的Xeon E5也是4通道記憶體控制器,但是每個控制器可以有3個插槽,所以單顆CPU可以連線12條記憶體。此外Xeon E5還支援Registered記憶體,這種記憶體單條最大容量目前可以達到32G,所以Xeon E5一顆CPU可以支援多達384G記憶體,加上其支援雙路並行,一張主機板兩顆CPU,所以一套系統就可以支援最大768G記憶體。
另外 @時國懷 提到地址線問題,這裡糾正一下。Intel早期的64bit CPU如Pentium 4 600系列、Core2 Duo等是36條物理記憶體地址線,到第一代Core(即Nehalem)時增加到40條,到第三代Core(Sandy Bridge)時增加到46條。AMD的64bit CPU從一開始就是40條地址線。問題描述所提到的記憶體定址演算法這塊兒,現代的CPU都是48位邏輯定址,支援定址到256TB空間,所以現在市面上的全部CPU的記憶體容量限制都不是因為記憶體地址線不足,而是記憶體控制器通道數、每通道記憶體數量和單條記憶體最大容量的限制。
答案很簡單,CPU支援的最大記憶體容量等於——
記憶體控制器通道數 x 每通道支援的記憶體插槽數 x 每插槽能插上的記憶體最大容量。
例如消費級主流的i7/i5 4000系列,雙通道記憶體控制器,每控制器雙插槽,每插槽支援最多8G的單條記憶體,所以最高容量就是32G。為什麼是4條插槽?這是從第一代Pentium,也就是20年前流傳下來的“習俗”,絕大多數主流使用者有4個插槽就夠用了。至於為什麼每插槽只能有8G?因為消費級CPU只支援Unbuffered無緩衝記憶體,目前這種記憶體條單條最大容量就是8G。幾年前這種記憶體單條最大隻有4G,所以當時的系統支援的最大記憶體就是16G。類似地,幾年前的高階X58平臺因為是三通道記憶體控制器,所以當時支援的最大記憶體就是3x2x4G=24G容量。
而消費級高階的i7則使用4通道記憶體控制器,i7 4820/4960等CPU可以搭配8個記憶體插槽,所以就可以支援多達64G記憶體。專業級的Xeon E5也是4通道記憶體控制器,但是每個控制器可以有3個插槽,所以單顆CPU可以連線12條記憶體。此外Xeon E5還支援Registered記憶體,這種記憶體單條最大容量目前可以達到32G,所以Xeon E5一顆CPU可以支援多達384G記憶體,加上其支援雙路並行,一張主機板兩顆CPU,所以一套系統就可以支援最大768G記憶體。
另外 @時國懷 提到地址線問題,這裡糾正一下。Intel早期的64bit CPU如Pentium 4 600系列、Core2 Duo等是36條物理記憶體地址線,到第一代Core(即Nehalem)時增加到40條,到第三代Core(Sandy Bridge)時增加到46條。AMD的64bit CPU從一開始就是40條地址線。問題描述所提到的記憶體定址演算法這塊兒,現代的CPU都是48位邏輯定址,支援定址到256TB空間,所以現在市面上的全部CPU的記憶體容量限制都不是因為記憶體地址線不足,而是記憶體控制器通道數、每通道記憶體數量和單條記憶體最大容量的限制。