My friends, my life, my style - James S.F. Hsieh

1/20/2009

x64 Part 1: x86-32 vs x86-64

在過去, 從 286 到 386, Win16 到 Win32 的 Migration 過程中 (1986~1998), 許多的東西有了重大的改變, 從 CPU Registers 大小的倍增, 支援 4GB 的定址與 Paging, 以至於對程式有了保護模式 (Ring0-3) 與多功的支援, 而作業系統不僅從 Data Model 到軟體層的 API 更是徹頭徹尾的改變, 相信這些改變一定奪去不少 RD 的甜美睡眠, 而改變又將到來 (2003~NOW), 那麼在 CPU方面 x86-64 (Intel Xeon ~ Intel Corei7 and Atom, Long mode) 多了些什麼呢? 至於 IA64 就暫時不討論了

  • 8 additional registers R8~R15 and 8 additional registers for SIMD XMM8~XMM15
  • 64-bit integer support: GPRs and IP are expanded to 64 bits
  • Larger virtual and physical address space
  • A new instruction-pointer relative-addressing mode
  • No-Execute bit memory protection
  • Removal of older features: x87, MMX, 3DNow!
  • Fast interrupt-prioritization mechanism

那對於Windows 與軟體方面 x64 (Windows XP Professional x64 Edition ~ Vista 64) 又做了哪方面的改變呢?

至於這些改變目前有哪些好處呢? 其實大多都跟記憶體有關

  • OS 可以使用的實體記憶體增加, 可以同時執行更多的 Application
  • OS 可以使用的實體記憶體增加, 可以減少 swapping 的機率
  • Application 可以使用更大的定址空間 (超過3GB) 與 實體記憶體處理複雜的工作
  • 對 CPU-bound 的 Application 在效能方面有些許的改善 (ex: Adobe Lightroom 2.1 32-bit vs 64-bit), 但 I/O-bound 與 GPU-bound 則不會增加效能
  • memory-mapped file I/O 可以有夠大的定址空間

至於這些改變目前有哪些壞處呢?

  • Win64 只能使用 64-bit version 的 driver
  • 64-bit 與 32-bit 的 DLL 不能混用 (少數系統的 DLL 例外)
  • Win16 程式將不再被支援
  • Application 如果沒有針對 64-bit 做最佳化則速度會慢一點 (ex: Adobe Lightroom 2.0 32-bit vs 64-bit)

Wiki x86-64, Intel® 64 and IA-32 Architectures Software Developer's Manuals, x64 Primer, Getting Ready for 64-bit Windows, x64 Software Conventions, 24 Considerations for Moving Your Application to a 64-bit Platform, Windows versus Windows or 32-bit versus 64bit, Lightroom 2.1 32-bit 64-bit performance

1/15/2009

2009 01 11 七星池

 


穿過跟人一樣高的芒草小徑, 映入眼簾的是片美麗的景致是美麗的七星池, 讓我想起多年前去磺嘴的那種感動, 還記得年輕時雙腳穿著塑膠袋, 背著誇張的背包, 橫渡如同沼澤般的磺嘴池, 然後沿著磺嘴池的缺口下拓找尋下山的路... 然後迷失在荊棘芒草水蛭還有無數的蜜蜂中, 那種接近山林的感覺真的無法言語, 唯有親身體驗才能了解我的感受呢

 


檢視較大的地圖
台北的陽明山還有那麼美的小湖, 希望這塊美麗的土地能夠被好好的被保育

1/02/2009

2009 01 02 國旗嶺

檢視較大的地圖