windows xp 64 出左一段時間, vista 又會下年出, 64 bit 既年代即將來臨,
咁點解 64bit 系咁重要呢?
依家32-bit 既 windows (eg. 2000, xp) 最大只系 support 到 4GB RAM, 其實不完全正確, 等我解釋一下, 希望大家知多d.
首先講 RAM, 你可以想像系一間好大既貨倉, 地下鋪左好多1尺 x 1尺大既磁磚, 一塊磁磚就系1 byte, 每塊磚都有一個編號, 叫做 memory address.
1GB RAM 就系 2 既 30 次方(可以用 2^30 來代表) = 1,073,741,824 bytes, 4GB RAM = 4,294,967,296 bytes 即系有42億平方尺咁大.
而一個 32-bit 既 cpu 既意思就系同一時間處理 32 bits 咁多既貨, 用黎放落個 RAM 到 = 2^32 = 4,294,967,296 bytes.
一個 32-bit 既 windows 世界裡面, 每個 programme 都會有 "virtual" 4GB memory space. 呢 4GB 既 space 會分開一半, 有 2GB 俾 system 用, 另外 2GB 就系俾 programme 用. 每個 programme 都可以擁有自己既 2GB 空間, 但系所有 programmes 都會用同一個 2GB system 空間黎用.
如果你部機有4GB RAM, 咁呢個 virtual space 會分哂落實則既 RAM 到.
例如 maya rendering 1個大場景, cpu 會去到100%, 代表佢搬緊 2GB 既貨入貨倉 (實則系 1.6 GB, 呢個系 maya 認為最佳既效能), render 到一半時如果貨倉滿左, 佢就會嘗試搬番d 舊貨出黎, 但系呢個動作好危險, 好易整林d貨, 即系我地成日預到爆 RAM 然後 error 既情況.
講多少少, 如果你部機得1GB RAM 會點, 呢個時候就會用個 harddisk 做個緩沖, 借 harddisk 1GB 位置暫存 memory. 但系 harddisk 既速度比 RAM 慢好多, 我當 harddisk 速度系8ms, RAM 系 8ns..... 即系相差 1百萬倍
所以我地做 rendering 一定要 optimize 個 scene, 正因為系咁, 所以 renderman 可以 optimize memory 呢個 setting 系好剎食!
其實由 windows 2000 開始已經可以 support 32GB RAM, 不過系高級既 server 版, 個操作模式依然系有2GB 預留俾 system 用. 另外同一時間只可以處理 2GB 既貨, 之不過系個貨倉大左, 多左d 位黎擺野, 唔使每次搬出搬入.
Windows 2000 Memory Support:
Windows 2000 Professional and Server - 4 GB
Windows 2000 Advanced Server - 8 GB
Windows 2000 Datacenter Server - 32 GB
Windows XP Pro & Windows Server 2003 Memory Support:
Windows XP Pro and Windows Server 2003 - 4 GB
Windows Server 2003, Enterprise Edition - 32 GB
Windows Server 2003, Datacenter Edition - 64 GB
另外microsoft 都有方法解決呢個問題, 佢會 set 3GB 俾 programme 用, 剩余 1GB 俾 system 用, 不過 maya 6 & 7 仍然系 limit 左 1.6GB 左右. Maya 8 32-bit 就冇問題, 可以用到 3GB memory.
咁64-bit cpu 又會點呢? 即系同時可以處理 18,446,744,073,709,551,616 bytes (18 billion GB) 咁多囉! 理論系咁, 不過實際 windows xp 64 系 limit 左 128GB (2^37 bytes) 既 physical memory & 16TB (2^44 bytes) 既 virtual memory. Microsoft 話呢個 limit 系增加 hardware 既兼容性. 但系坊間好多底板仲系 support 4GB RAM 咋, 買個時要小心d 喇!
順手提一提 maya 64 bit 既功能:
當然 maximum memory 多過 4GB, 實際視乎 system 既 setting
用左 SSE2 架構來做浮點運算 (floating point computations)
改用 64-bit 既 code 之後, 效能得到提升 (用同一個 system 分別用 32-bit 同 64-bit render 同一個 scene, 64-bit 快左 4-8%)
Reference links:
Memory Support and Windows Operating Systems:
http://www.microsoft.com/whdc/system/pl ... AEmem.mspx
A description of the 4 GB RAM Tuning feature and the Physical Address Extension switch:
http://support.microsoft.com/kb/291988/
Windows XP SP1 May Not Start with the /3GB or /USERVA Switch:
http://support.microsoft.com/default.as ... -us;328269