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









 
				