2008-12-22 07:34:52Martin.H

3GB 是怎麼回事?



最近想買電腦的朋友們,
可否想過, 為何現在有些電腦賣3GB的記憶體?

為什麼不是 2GB 或 4GB?
電腦不都是雙數的嗎?

原因~~>當下的微軟作業系統Vista需要的記憶體很大,
2GB 只夠開機和做些輕功作.
如果開了很多視窗, 同時做很多事, 就需要多於 2GB.

在32位元的CPU裏, 2^32 = 4,294,967,296 = 4 Gigabyte.
這種CPU所能讀取到的範圍,
從地址=0 到 4,294,967,295.

主機板上的ROM, 顯示卡上的記憶體,
其它的零件也需分些記憶體 (聲霸卡, USB, 網路卡).
這些內用記憶體也必須在這4GB以內,
所以4GB必須分給: 主記憶體 和 主機板內用記憶體 .

有些主機板廠牌允許加 4 條 1 GB (或2 X 2GB) 的記憶體,
但最後面的 1GB 有差不多 500MB 多的記憶體的地址,
會和主機板上的其它零件重疊,
所以就算有記憶體在那裡, 也不能拿來當主記憶體用.

廠商或許在廣告上會說賣你有 4GB 記憶體的電腦,
但如果作業系統用的是 32 為元的 XP/Vista,
你看到能用的記憶體會小於3.5GB.

新一代的CPU, 如 Intel Core 2 系列, 和 AMD Anthlon64/Phenom,
都屬於 64 位元的 CPU.

用這麼寬的暫存器有哪些好處呢?
比如說, 可以一次壓縮和解壓縮多點的視訊(或MP3)資料.

要用多於4GB記憶體必須以下配備:
  1. 64 位元CPU
  2. 支援 64 位元的記憶體控制器 (Intel). AMD的控制器就在CPU上.
  3. 64 位元的作業系統 (64位元版的XP/Vista, Linux 64bit, Mac OS 10.5)

=====================================================
註:

CPU上面的地址暫存器 (address register), 不一定和其他的暫存器同等寬.
以前 8 位元時代 (Apple II 的 6502) 用16 位元寬的地址暫存器,
才可有 64KBytes的範圍.

到了 16 位元CPU (Intel 8088), 地址線是 20 位元,
(用兩個16bit, 1 個向右移4bits, 和另一16bit register加起來才得20bits):
FFFF +
0FFFF=
FFFFF (每F=4bits)
2^20 = 1,048,576 = 1 MB.

早期的 32 為元CPU (Motorola 68000), 地址線是 24 位元,
(第25~31位元沒和外面接上)
2^24 = 16 MB.