7
30
2011
iMac(2006初期)をCore2 Duo化してみた
iMac(2006初期)のCPUをCore2 Duoに換装してみた
2006年の1月にSan FranciscoのMac Worldで発表された最初のIntel iMacをデスクトップマシンとして長い間使ってきたが、流石にこのマシンでは最近の高性能マシンに比較すると見劣りしてしまう.先日の OSX 10.7 Lionでインストール対象外のマシンとしてAppleから見放されてしまったが、Snow Leopard, Windows XPの稼働マシンとして最後の花道を作ってあげようということで、CPUを Core2 Duo T7200(2.0GHz 4MBCache)交換することにした.
iMac(2006初期)モデルのCPU交換は Mac miniほど簡単ではないが、この機種に関しては既に何度か内蔵HDを交換していたのでそれほど苦労することはなかった.
Core2 Duo化でどの程度性能がUPするのか
iMacのCPUを Core Duo T2400(1.83GHz 2MB Cache)から Core 2 Duo T7200(2.0GHz 4MB Cache)に載せ換えるとどの程度性能が向上するのかベンチマークテストを行ってみた.測定に使ったのは XBench という簡易的なベンチマークアプリケーションで、Mac OS X 用としてはよく使われているものである.
Results 110.74
System Info
Xbench Version 1.3
System Version 10.6.8 (10K540)
Physical RAM 2048 MB
Model iMac4,1
Drive Type Hitachi HDS721010CLA332
CPU Test 86.27
GCD Loop 239.35 12.62 Mops/sec
Floating Point Basic 83.65 1.99 Gflop/sec
vecLib FFT 42.54 1.40 Gflop/sec
Floating Point Library 148.64 25.88 Mops/sec
Thread Test 144.85
Computation 158.08 3.20 Mops/sec, 4 threads
Lock Contention 133.66 5.75 Mlocks/sec, 4 threads
Memory Test 119.71
System 126.76
Allocate 198.31 728.28 Kalloc/sec
Fill 99.49 4837.29 MB/sec
Copy 116.65 2409.29 MB/sec
Stream 113.41
Copy 106.35 2196.58 MB/sec
Scale 110.23 2277.27 MB/sec
Add 119.51 2545.73 MB/sec
Triad 118.64 2538.06 MB/sec
Quartz Graphics Test 123.42
Line 110.13 7.33 Klines/sec [50% alpha]
Rectangle 133.63 39.90 Krects/sec [50% alpha]
Circle 116.25 9.48 Kcircles/sec [50% alpha]
Bezier 127.86 3.22 Kbeziers/sec [50% alpha]
Text 132.91 8.31 Kchars/sec
OpenGL Graphics Test 146.50
Spinning Squares 146.50 185.84 frames/sec
User Interface Test 172.20
Elements 172.20 790.31 refresh/sec
Disk Test 64.00
Sequential 111.88
Uncached Write 192.01 117.89 MB/sec [4K blocks]
Uncached Write 194.28 109.92 MB/sec [256K blocks]
Uncached Read 47.42 13.88 MB/sec [4K blocks]
Uncached Read 232.23 116.72 MB/sec [256K blocks]
Random 44.82
Uncached Write 14.91 1.58 MB/sec [4K blocks]
Uncached Write 162.63 52.07 MB/sec [256K blocks]
Uncached Read 101.77 0.72 MB/sec [4K blocks]
Uncached Read 161.32 29.93 MB/sec [256K blocks]
Results 122.25
System Info
Xbench Version 1.3
System Version 10.6.8 (10K549)
Physical RAM 2048 MB
Model iMac4,1
Drive Type Hitachi HDS721010CLA332
CPU Test 141.86
GCD Loop 235.53 12.42 Mops/sec
Floating Point Basic 118.90 2.83 Gflop/sec
vecLib FFT 91.33 3.01 Gflop/sec
Floating Point Library 217.83 37.93 Mops/sec
Thread Test 145.89
Computation 169.10 3.43 Mops/sec, 4 threads
Lock Contention 128.29 5.52 Mlocks/sec, 4 threads
Memory Test 126.70
System 142.39
Allocate 233.07 855.90 Kalloc/sec
Fill 116.31 5655.13 MB/sec
Copy 122.24 2524.78 MB/sec
Stream 114.13
Copy 102.38 2114.60 MB/sec
Scale 105.03 2169.81 MB/sec
Add 127.31 2712.02 MB/sec
Triad 126.52 2706.51 MB/sec
Quartz Graphics Test 151.02
Line 134.02 8.92 Klines/sec [50% alpha]
Rectangle 169.37 50.57 Krects/sec [50% alpha]
Circle 143.97 11.74 Kcircles/sec [50% alpha]
Bezier 152.79 3.85 Kbeziers/sec [50% alpha]
Text 159.95 10.01 Kchars/sec
OpenGL Graphics Test 181.69
Spinning Squares 181.69 230.48 frames/sec
User Interface Test 208.12
Elements 208.12 955.17 refresh/sec
Disk Test 53.96
Sequential 94.26
Uncached Write 135.16 82.99 MB/sec [4K blocks]
Uncached Write 128.88 72.92 MB/sec [256K blocks]
Uncached Read 49.28 14.42 MB/sec [4K blocks]
Uncached Read 143.09 71.92 MB/sec [256K blocks]
Random 37.80
Uncached Write 12.29 1.30 MB/sec [4K blocks]
Uncached Write 132.17 42.31 MB/sec [256K blocks]
Uncached Read 99.53 0.71 MB/sec [4K blocks]
Uncached Read 146.47 27.18 MB/sec [256K blocks]
単純に CPU性能だけを比較すると、141.86/86.27 = 約164% となり、単純に両者のCPUのクロック比 1.092 と較べてもかなりの性能アップと言えるだろう.体感的にもかなりスピードアップされたことが実感できる.
iMac 2006 初期モデルでは 64ビットに対応できるのか?
CPUが64ビット対応になったところで、Mac OS X が64ビットモードで動くかどうか気になるところであるが、結論から先に言うと残念ながらCore Dou搭載Macでは64ビットカーネルモードでは起動できない.CPUが64ビット対応でもiMacのハードウェア(ファームウェア)の制約でMac OS X は32ビットカーネルモードでしか動かないようだ.
Mac OS自体は32ビットカーネルモードでしか動かないが、個々のアプリケーション自体は 64ビットで動かすことができるのでそれなりのメリットはあるようだが、肝心のシステム搭載可能物理メモリサイズは2GBのままなので、アプリケーションが64ビット化してもその恩恵は殆どないだろう.やはり、Lion時代の64ビット化された環境を使いたければ新しいMacに買い換えなければどうにもならないようだ.
今回は Core2 Duo T7200の中古品を手に入れたので、CPU換装に要した費用は実質 6,000円程度だったので、今後も暫くSnow Leopardを使い続けることを考えると、結構コストパフォーマンスの良いハードウェアアップグレードと言えるだろう.
iMac:~ yasuaki$ sysctl hw
hw.ncpu: 2
hw.byteorder: 1234
hw.memsize: 2147483648
hw.activecpu: 2
hw.physicalcpu: 2
hw.physicalcpu_max: 2
hw.logicalcpu: 2
hw.logicalcpu_max: 2
hw.cputype: 7
hw.cpusubtype: 4
hw.cpu64bit_capable: 1
hw.cpufamily: 1114597871
hw.cacheconfig: 2 1 2 0 0 0 0 0 0 0
hw.cachesize: 2147483648 32768 4194304 0 0 0 0 0 0 0
hw.pagesize: 4096
hw.busfrequency: 664000000
hw.busfrequency_min: 664000000
hw.busfrequency_max: 664000000
hw.cpufrequency: 2000000000
hw.cpufrequency_min: 2000000000
hw.cpufrequency_max: 2000000000
hw.cachelinesize: 64
hw.l1icachesize: 32768
hw.l1dcachesize: 32768
hw.l2cachesize: 4194304
hw.tbfrequency: 1000000000
hw.packages: 1
hw.optional.floatingpoint: 1
hw.optional.mmx: 1
hw.optional.sse: 1
hw.optional.sse2: 1
hw.optional.sse3: 1
hw.optional.supplementalsse3: 1
hw.optional.sse4_1: 0
hw.optional.sse4_2: 0
hw.optional.x86_64: 1
hw.optional.aes: 0
hw.machine = i386
hw.model = iMac4,1
hw.ncpu = 2
hw.byteorder = 1234
hw.physmem = 2147483648
hw.usermem = 1906409472
hw.pagesize = 4096
hw.epoch = 0
hw.vectorunit = 1
hw.busfrequency = 664000000
hw.cpufrequency = 2000000000
hw.cachelinesize = 64
hw.l1icachesize = 32768
hw.l1dcachesize = 32768
hw.l2settings = 1
hw.l2cachesize = 4194304
hw.tbfrequency = 1000000000
hw.memsize = 2147483648
hw.availcpu = 2
CPUだけが64bitモードでそれ以外は全て32bitモード
カーネル起動モードの設定は64bitに切り替わってはいるが...
相変わらずカーネルモードは32bitモードのまま
【補足】カーネル起動モードの切り替え方法について
上記の例では”Startup Mode Selector” というGUIベースのアプリケーションを用いてカーネル起動モードの切り替えを行っているが、カーネル起動モードの切り替えについては次の方法で変更することができる.
1.起動時に一時的にカーネル起動モードを切り替える方法
64bitモードで起動: Mac OS X 起動中に “6” および “4” キーを押し続ける
32bitモードで起動: Mac OS X 起動中に “3” および “2” キーを押し続ける
2.永続的にカーネル起動モードを切り替える方法
コマンドライン(Terminal)上で、
64bitモードで起動: %sudo systemsetup -setkernelbootarchitecture x86_64
32bitモードで起動: %sudo systemsetup -setkernelbootarchitecture i386
上記のコマンドを実行すると、カーネル起動モード設定ファイル
”/Library/Preferences/SystemConfiguration/com.apple.Boot.plist”
のパラメーターが変更される.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Kernel</key>
<string>mach_kernel</string>
<key>Kernel Flags</key>
<string>arch=x86_64</string>
</dict>
</plist>
使用している機種が64bitカーネルに対応しているかどうかは、下記のAppleのサポートページに載っているので確認してみると良いだろう.
『Mac OS X v10.6:64 ビットのカーネルを使う Mac』 http://support.apple.com/kb/HT3770?viewlocale=ja_JP