美文网首页iOS开发iOS相关记录本
iPhone的CPU架构和ARM指令集

iPhone的CPU架构和ARM指令集

作者: 一纸苍白 | 来源:发表于2021-07-01 18:05 被阅读0次

    什么是CPU架构

    CPU架构是CPU厂商给属于同一系列的CPU产品定的一个规范,主要目的是为了区分不同类型CPU的重要标示。

    目前市面上的CPU分类主要分有两大阵营,一类是复杂指令集(CISC)CPU,另一类是精简指令集(RISC)CPU。我们今天要讨论的ARM指令集就属于精简指令集(RISC)CPU。

    ARM处理器

    ARM处理器是英国Acorn有限公司设计的低功耗成本的第一款RISC微处理器。全称为Advanced RISC Machine。

    ARM处理器因其低功耗和尺寸小而闻名,iPhone的处理器全部都基于ARM。
    我们经常见到的armv7 | armv7s | arm64都是ARM处理器的指令集。
    指令集应用于开发有如下特点:

    • 所有指令集原则上向下兼容。
    • Xcode的模拟器是运行在电脑上的,所以iPhone模拟器并没有使用ARM指令集,而是使用的X86(64为处理器)或者i386(32位处理器)。
    • 通过Xcode打包时,会为支持的所有的指令集编译出对应的指令集代码的数据包,所以工程支持的指令集越多,生成的二进制包就越大。

    指令集对应的机型

    • 模拟器32位处理器测试需要i386架构。
    • 模拟器64位处理器测试需要x86_64架构。
    • 真机32位处理器需要armv7,或者armv7s架构。
    • 真机64位处理器需要arm64架构。
    arm64e : iPhone 12 | iPhone 12 Mini | iPhone 12 Pro | iPhone 12 Pro Max
    arm64e : iPhone 11 | iPhone 11 Pro | iPhone 11 Pro Max
    arm64e : iphone XS | iphone XS Max | iphoneXR
    arm64  : iPhone 8 | iPhone 8 Plus | and iPhone X
    arm64  : iPhone 7 | iPhone 7 Plus | iPad (2018)
    arm64  : iPhone 6S | iPhone 6S Plus 
    arm64  : iPhone 6 | iPhone 6 Plus
    arm64  : iPhone 5S
    armv7s :iPhone5 | iPhone5C | iPad4(iPad with Retina Display)
    armv7  :iPhone4 | iPhone4S | iPad | iPad2 | iPad3(The New iPad) | iPad mini | iPod Touch 3G | iPod Touch4
    

    相关的Build Setting

    Build Settings中搜索Architecture,可以看到如下图的设置项:

    • Architectures
      指定当前Target被编译时支持的指令集的列表,如果指定了多个架构,机会生成多个架构需要的二进制文件。
    • Build Active Architecture Only
      指定是否只编译当前连接设备所支持的指令集。
      默认Debug时为YESRelease时为NO。设置为YES时,编译后只生成当前连接设备所支持的指令集代码,编译速度更快。
    • Excluded Architectures
      指定当前Target被编译时拒绝接纳的指令集列表,编译后最终生成的二进制文件支持的指令集是Architectures减去Excluded Architectures

    其中Architecture的默认值是$(ARCHS_STANDARD),该值具体如下:

    请参照Xcode Build Settings Reference
    在iPhone上时支持armv7arm64,模拟器上支持i386x86_64,Mac上支持x86_64

    相关错误

    No architectures to compile for (...)
    看到这样的异常,就是架构上的不支持了,我们需要根据括号内的提示排查问题。

    相关文章

      网友评论

        本文标题:iPhone的CPU架构和ARM指令集

        本文链接:https://www.haomeiwen.com/subject/qaxsultx.html