CPU指令集架构:
>i386是针对intel通用微处理器32位处理器
>x86_64是针对x86架构的64位处理器
>模拟器32位处理器测试需要i386架构,
>模拟器64位处理器测试需要x86_64架构,
>真机32位处理器需要armv6、armv7或者armv7s架构,
>真机64位处理器需要arm64架构
ARMv8架构包含两个执行状态:AArch64和AArch32。AArch64执行状态针对64位处理技术,引入了一个全新指令集A64;而AArch32执行状态将支持现有的ARM指令集。目前的ARMv7架构的主要特性都将在ARMv8架构中得以保留或进一步拓展
iPhone 设备指令集:
1 iPhone • Instruction Set: ARMv6
2 iPhone 3G • Instruction Set: ARMv6
3 iPhone 3GS • Instruction Set: ARMv7
4 iPhone 4 • Instruction Set: ARMv7
5 iPhone 4S • Instruction Set: ARMv7
6 iPhone 5 • Instruction Set: ARMv7s
7 iPhone 5c • Instruction Set: ARMv7s
8 iPhone 5s • Instruction Set: ARMv8
9 iPhone 6 • Instruction Set: ARMv8
10 iPhone 6 Plus • Instruction Set: ARMv8
11 iPhone 6s • Instruction Set: ARMv8
12 iPhone 6s Plus • Instruction Set: ARMv8
13 iPhone SE • Instruction Set: ARMv8
14 iPhone 7 • Instruction Set: ARMv8
15 iPhone 7 Plus • Instruction Set: ARMv8
16 iPhone 8 • Instruction Set: ARMv8
17 iPhone 8 Plus • Instruction Set: ARMv8
18 iPhone X • Instruction Set: ARMv8
我们称一个CPU里面所提供的所有的指令的集合称之为指令集。CPU指令集定义的是一个中央处理器所应该提供的基础功能的集合,它是一个标准是一个接口也是一个协议。在软件开发中具有协议和接口定义的概念,无论是消费者还是提供者都需要遵循这个标准来进行编程和交互:提供者要实现接口所具有的功能,至于如何实现则是内部的事情,不对外暴露,消费者也不需要知道具体的实现细节;消费者则总是要按接口提供的功能方法并组合使用来完成某种功能。
CocoaChina上有一片比较通俗易懂的文章,可以前往阅读《深入iOS系统底层之指令集介绍》
参考文章:
1、欧阳大哥2013《深入iOS系统底层之指令集介绍》
2、haoziyaya《iPhone CPU指令集架构》