✔ 最佳答案
要明,先要了解 CPU 對資料的處理。
其實唔止XP,連 Vista 同 七仔都可能有呢個限制。
XP其實有一個 32 bit 版本,一個 64bit 版本,不過冇人提,咁即係你個係 32bit版本。
所謂32bit,即係用 32 條地址線作定位,以二進數 2^32表示,計翻十進得出 = 4,294,967,296,即係 4GB 位置。
所有系統內部運作,在RAM存取資料,最大只可以用 32 bit去定,無法超越。即係好似如果電話號碼只有6個數字,咁你只能夠有 1,000,000 個號碼一樣。
要深入一點,就要睇cpu暫存器,eax,esi,edi等都是32bit。指令大多以32bit操作。雖然cpu已升級至rax等,可以定64bit,但因為程式是以前寫下的框架下,不能輕易修改,只能沿用。
情況壞一點是,在原先bios和dos,以及cpu設計架構上,首 1gb的位置留給 CPU interrupt vector, BIOS資料,vga 記憶存取等等,最後因相容性問題要保留下來,所以雖然定址可以係4GB,在 windows的新模式工作下,都只能用約 3GB。
VISTA SP1後雖然更新了顯示為 4GB,但能用的都只是 3.XGB(因為保留的位置始終不能改)
要超過呢個限制,要全系統改為 64bit定址,即係64bit版本。其實xp都有,但因為內部更改會令部份程式不相容,而且當時ram價也貴。所以不流行。
現時七仔64bit都開始被廣泛使用,不相容的程式會被迫更新,或被淘汰。