| |||||||
adm | Find | login register |
目前大部份的 cpu 都有支援 64-bit 模式,最先由 AMD 發展的,後來授權給 intel,一般稱為 x64 or AMD64。 對使用者來說 64-bit OS + 64 bit 的程式有以下的明顯好處
缺點
結論就是,如果RAM不夠多,也不求快,沒有需要特殊的程式,還是乖乖用 32-bit 的 OS 作業系統吧。 edited: 5
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
UNIX 上只是把 time_t 由 32-bit 轉換成 64-bit,其實是不需要全部轉成 64-bit,這與 cpu 的 32/64 bit 無關。 time_t 換成64-bit之後,儲存的資料也必須轉換。 edited: 1
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
個人認為電腦系統CUP從32位元演進到64位元,是不可擋的趨勢, 理由很簡單,CPU製造公司要推陳出新,要逼迫使用者換新系統, 其他週邊硬體廠商及軟體業者也會因應這種思維配合。 因為捨此之外,無他途可以刺激市場更新以便牟利。 就如當年 16 與 32 位元潮流轉換過程類似, 32 與 64 位元會有一段共存期,但64位元系統終究會取得主流地位。
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
至少目前 64-bit 還不算是主流。等成為主流之後,我再用64-bit,省得麻煩 edited: 1
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
所以有可能 32bit 時代存的資料,沒有適當轉換的話,以後用 64bit 系統叫出來時間是不對的? | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
只有 binary 的 data 含有 time_t 的部分會有這個問題。 如果是 postgresql,好像就沒有問題
edited: 1
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
這裡其實有故事的... 話說intel跟hp早年有合作開發64bit的處理器itenium,一般稱為ia64。但很不幸的ia64與ia32(也就是x86系列)的指令集不相容,在32位元模式下還得犧牲效能,再加上開發延期等種種的原因,結果幾乎沒有人用。 當時,AMD另外發展了一套64位元的處理器,採用的指令集可以同時相容在64位元模式下執行ia32的軟體,沒有明顯效能損失。軟體開發商自然樂於接受,很快就被多個大廠採用了(ex. m$)。這個一般稱為AMD64或x86-64,有別於ia64。後來intel見大勢已去,只好讓自己的處理器以模擬的方式支援相同的指令集,稱為EM64t。後來又很鴕鳥的叫intel 64。但這不是ia64喔。 當CPU的暫存器變長了(64bit),許多原本要透過記憶體指標的運算,都可以直接使用暫存器送,當然速度更快。對原先32位元長度的指令,甚至還可以一次抓取多個送進處理器。 不過64位元的機器碼指令長度,是不是都是32位元的兩倍長,我就不清楚了?只是為了相容性,似乎64位元的作業系統,都會同時安裝32跟64位元版本的函式庫,這樣子自然需要兩倍多以上的空間來存放。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
SGI 某些很貴的 server 還有在用 Itanium。HP 也有,RAM 的 size 可以到 1.5 TB,很驚人。 印象中 Itanium 好像 die 的面積很大,可是好像速度沒有很快,用了別人兩倍的 core performace 還是輸給 IBM 的 Power?。Itanium 不知道是不是 Intel 的賠錢貨。 底下就可以看出 Itanium 命運真的是錢途無亮 However, Windows Server 2008 R2 will be the last version of Windows Server to support the Itanium and Red Hat Enterprise Linux 5 will be the last version to support the Itanium.[14][15] Likewise, Canonical's Ubuntu 10.04 LTS will be the last supported Ubuntu on Itanium. edited: 6
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Oracle 也將停止支援 Itanium. 有人說是 Itanic → Titanic (鐵達尼號) HP 的 server 會全部改成 X86 ? HP 說 Oracle 這樣做很無恥。可能是想推自家的 Sparc edited: 1
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
HP 控告 Oracle 說 Oracle 停止對 Itanium 的支援是違反合約。Oracle 反擊說 Intel 將會停止 Itanium的開發,HP也知道這一點。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
今天試用 ubuntu 11.10 amd64 在 3年前的便宜 acer 5738zg NB,原本 neverball 在 i386 最高解析度會有點卡,在 amd64 似乎有比較順。 玩 game 的人似乎很值得用 amd64(x64) flash player 在 chrome i386 有內建,amd64 要去 adobe download edited: 2
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
在 debian ubuntu 中, 32/64-bit .so 主要還是放在 /lib /usr/lib, 有需要區分的就分別放在 /usr/lib/i386-linux-gnu, /usr/lib/x86_64-linux-gnu 例如 gcin 的 64-bit gtk2 im module 是放在 /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-gcin.so 期待 amd64 能 dominate,有一天 cpu 可以丟掉 i386 的包袱,這樣可以更精簡&便宜。 edited: 3
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
比較開機速度,使用 auto login,到 panel icon 出現 Ubuntu 11.10 32-bit: 39.83 seconds Ubuntu 11.10 64-bit: 37.44 seconds 64-bit 有快一點,主要原因是這台 acer 5738 zg NB 的 disk 速度很慢,所以是 disk read dominate 了開機的時間。而且 64-bit 的 EXE file 比較大。 edited: 2
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
grub Enter 按下 & 輸入密碼畫面出現需要的時間
edited: 1
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
直接比休眠及回復時間其實不是很準確,因為主要的瓶頸在I/O上,要看實際寫入的image大小,而且64-bit系統記憶體應該用量較大。 建議用tux-on-ice,有支援快速壓縮image,log也很詳細方便benchmark。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
compiling gcin with ./gen-deb, Ubuntu 11.10,連續compile 三次 amd64 沒有快很多 囧。可能 amd64 是後來 install 的,所在的 partition( disk 內圈) 速度比較慢。 gcin source 所在的 /home 是相同的。 amd64: 168, 138, 138 seconds edited: 2
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
在 64-bit 的環境,gcc 內定會把 structure pack 成 8的倍數,所以這邊有時候會造成一點 memory 的浪費。 為什麼要這樣?AMD64 在 long long(int64_t) or pointer(void *) 時如果沒有 align 到 8-byte 應該會造成 bus error ? 就算不會 bus error,沒有 align to 8-byte 會造成 cpu 必須 read 兩次,效率比較差。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Physical Address Extension (PAE) 實體位置延伸是在 64-bit 的 CPU 執行32-bit 的OS,還是可以用到超過 4G memory 的一種方法。這種 > 4G 是指系統的總mermory,單一 process 的 virtual address 由於還是 32-bit,所以還是受到 4G memory 的限制。 Windows 32-bit 由於協力廠商 driver 可能有 PAE 不相容的問題,內定是不開啟 PAE的。 Ubuntu Linux 32-bit 是一律用PAE kernel,所以在比較舊的 PC 無法安裝,雖然 RAM size 沒超過 4G。是有人把 Ubuntu 重新包裝成不用 PAE 的版本。 MacOS 10.6 以後是用 64-bit 的 kernel,所以不需要用 PAE。 edited: 1
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Windows 7 & 8 大部份是用 64-bit 版本,因為很多 PC/NB RAM 是 4G 起跳,32-bit 的 Windows 只能用到 3G 的 RAM,有1G浪費掉了。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
64 位元才有 KVM (Kernel-based Virtual Machine) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
這好像不對,我在 Ubuntu 12.04 32-bit 有用過 Android x86 kvm 的 emulator. 速度真的快很多。 Windows 7 32-bit 也一樣有 Intel x86 Emulator Accelerator (HAXM) for android driver ,我也有用過。不知道 Bluestacks 是不是也是用這一個。 edited: 1
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
是說用 64-bit 的 CPU instructions set, 但是用 32-bit 的 memory pointer,這時候 cpu 的 memory 使用會比 64-bit pointer 的 x64 少,一般的程式很少用超過3G的 memory。由於 memory 使用較少,據說x32 平均速度會比x64快 5-8%,最多可到 40%。 目前 Linux 還沒有 distribution 用 x32,因為等於在 i386 & x64 外又要 compile 一套 x32,增加維護的麻煩。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
從 Apache access.log 大約統計,gcin Ubuntu Linux 2/3 以上已經採用 AMD64 64-bit 的 Ubuntu。 由於很多新的desktop/NB 的標準配備 dram 的 size 是 4G+,所以現在大部份的 Windows 8 是 64-bit。Windows 只有 64-bit 版才能完全使用到 4G以上 的 RAM。 本站已經升級 64-bit Ubuntu Linux 8G RAM,走向 64-bit OS 的懷抱。 edited: 1
|
| |||||||
adm | Find | login register |