- 2011-12-04 (日) 0:49
- プログラミング
せっかくiPhone4Sが手に入ったので、cpu typeとcpu sub typeを取得してみました。
#include <mach/mach.h> struct host_basic_info a_host; mach_msg_type_number_t a_count = HOST_BASIC_INFO_COUNT; host_info(mach_host_self(), HOST_BASIC_INFO, (host_info_t)&a_host, &a_count); NSLog(@"cpu_type: %d", a_host.cpu_type); NSLog(@"cpu_subtype: %d", a_host.cpu_subtype);
iPhone4S
cpu_type: 12 cpu_subtype: 10
mach/machine.h ヘッダファイルを見ると、ARMv7fのプロセッサでした。
#define CPU_SUBTYPE_ARM_V7F((cpu_subtype_t) 10) /* Cortex A9 */
おお、Cortex-A9って書いてある。
あるぇ?ARMv7f。fがついてます。
念のため、手元にあったiPad2から取得してみました。
iPad2
cpu_type: 12 cpu_subtype: 9
mach/machine.h ヘッダファイルを見ると、ARMv7とのこと。
#define CPU_SUBTYPE_ARM_V7((cpu_subtype_t) 9)
iPhone4SとiPad2のA5プロセッサは、動作周波数が違うだけだと思ったらそうじゃないんですね。
iPhoen4SのARMv7f の f ってなんですかね。floating point?。浮動小数点演算周りの拡張がされているのかもしれない。(推測)

ikemasa