32bit 認足 4GB 記憶體是硬件或程式設計的限制,亦跟歷史發展有關。早在 1980年代,由 16bit 處理器 80286 發展至 32bit 的 80386,廿多年後一般用戶面對 32bit 運算的 4GB 限制。回顧過去,在 1979 年推出 PC 電腦始祖處理器 8088 ,那是 16bit 機器(8bit資料匯流排),發展至 1980年代初期的 80286 才算完整的 16bit 處理器。由 16bit 過度至 32bit 用了十年時間,相對來說,32bit 處理器的設計生命週期要長許多。
用過 80386 處理器的電腦玩家,相信會見識過由 16bit 過度至 32bit 電腦運算的光景。 Windows 3.1 有所謂 Real Mode 、Standard Mode 、386 Enhanced Mode 等操作模式已應合不同的處理器設計。所謂 Real Mode(亦稱 Real address mode)是為了兼容 8088 的 8bit 定址,因為 8088 採用 20bit 記憶定址,所以只能認到 1MB (2 的 20 次方)。
MS-DOS 運行 Real Mode 所以只能用到 1MB 記憶體,實際上 DOS 程式亦只用到 640KB 記憶體(即所謂 640KB 限制), 640KB 以上位址分配合週邊裝置(如顯示卡、網絡卡) I/O 使用,情況類似現在 32bit Windows 只能用 3.2GB 的情況一樣。以前 DOS 要用到 640KB 以上記憶體,可以使用兩個方法:XMS(eXtended Memory)及 EMS(Expanded Memory) 。兩者都是記憶管理程式,前者在要 config.sys 加 device=himem.sys 載入管理程式,後者則用 emm386.exe 來管理。
以前玩 DOS 遊戲為了用到 1MB 以上記憶體,就需要配置 himem.sys 及 emm386.exe 的設定,有所謂 Load Hi 技巧將部分 DOS 系統搬上 640KB 至 1024KB 之間的記憶位址,以騰出 640MB 以下記憶空間運行 DOS 程式,因為 DOS 程式只能用到這段記憶體空間。那時候,亦有動用 EMS 記憶體來做模擬 RAMdisk 。當時是將整個遊戲抄上 RAMDisk 去運行,玩完後又將遊戲 .sav 檔儲存到硬碟機以便永久儲存,因為關機後,RAMDisk 內俗便會消失。
現在電腦用戶不必跟記憶體模式打交道,甚至學習電腦語言亦不必知道處理器如何運用記憶體。不過,以前學寫程式(例如學 C 或組合語言、BASIC 除外),在編譯程式時決定使用甚麼類型的記憶模式(Memory Model)是重要的事,選不好編譯出來的程式可能無法運行。
回說 32bit 系統使用 4GB 以上記憶體問題, IT 業界(主要是 Intel)似乎參考過往的系統設計,提供一個 PAE 模式(Physical Adress Extension),將 32bit 記憶位址增加 4bit,變成 36bit 定位,故此能使處理器認到 64GB 記憶體。據微軟網站的資料,即使啟動了 PAE, XP 及 Vista 最多只能認用到 4GB。實際上,的確如此。

這個大容量 RAMDisk ,足可改幾隻光碟 ISO 檔,如果安裝 8GB 記憶體的話,可以放一隻 DVD 光碟 ISO 。目前 RAMDisk 的用途除了放 Pagefile.sys 及暫存檔之外,我目前只用來做暫存工作區,即使先下載檔案到 RAMDisk 使用,需要保留的才儲存硬碟,又或者用來放光碟 ISO 影像、運行虛擬機等。
虛擬機在 RAMDisk 中運行速度的確可以很快,安裝精簡版 XP 只須 10 分鐘,其虛擬硬碟檔只有 1.7GB,足可放我設定的 RAMDisk,平日用來試軟件,都幾合用。不過,要將虛擬硬碟機抄上 RAMDisk 也需要一點時間的,未免有點麻煩。

將來人們會否由 32bit 過度至 64bit 系統?我就覺得缺乏誘因,現時 64bit 運算除了運用更多記憶體外,一般應用程式的運行效率並不見得比起 32bit 的出色到那裡。 況且,64bit 系統佔用系統記憶體較多,如果沒有 6GB 以上,使用 64bit 系統並無好處。