高通吧 关注:179,897贴子:4,681,302
  • 5回复贴,共1

ARM64 是 Apple 设计的(?)

只看楼主收藏回复

> The premise here is wrong. arm64 is the Apple ISA, it was designed to enable Apple’s microarchitecture plans. There’s a reason Apple’s first 64 bit core (Cyclone) was years ahead of everyone else, and it isn’t just caches.
> Arm64 didn’t appear out of nowhere, Apple contracted ARM to design a new ISA for its purposes. When Apple began selling iPhones containing arm64 chips, ARM hadn’t even finished their own core design to license to others.
> ARM designed a standard that serves its clients and gets feedback from them on ISA evolution. In 2010 few cared about a 64-bit ARM core. Samsung & Qualcomm, the biggest mobile vendors, were certainly caught unaware by it when Apple shipped in 2013.
> Apple planned to go super-wide with low clocks, highly OoO, highly speculative. They needed an ISA to enable that, which ARM provided.M1 performance is not so because of the ARM ISA, the ARM ISA is so because of Apple core performance plans a decade ago.


IP属地:广东1楼2021-10-25 02:13回复
    IP属地:广东2楼2021-10-25 02:14
    回复
      2025-07-13 01:30:11
      广告
      简单来说,苹果想设计出 highly OoO 的架构,但是现有的 ARM32 每条指令都可能影响 control flow,于是需要 predication。但是 predication 会影响 OoO。
      > All instructions in A32 were conditional, using predication. However, predication uses bits in the instruction encoding that are already at a premium due to doubling the number of registers in AArch64. Moreover, predication complicates out-of-order execution since it adds an extra input that must be renamed. In A64, the only conditional instructions are branch, comparison and select. While this will slightly increase code size, the simplification is worthwhile.
      > Similarly, A32 had an in-line shifter that could be used for ‘free’ with nearly every integer instruction. However, shifts are notorious difficult to implement at high frequency due to the complicated wiring. An implicit shift in every instruction will increase the length of pipeline stages and reduce the overall frequency. A64 instructions can apply a very limited shift to the destination register, and there are new instructions to handle more complicated cases such as variable shifts.
      于是 Apple 向 ARM 反馈,并设计出了 ARM64。


      IP属地:广东3楼2021-10-25 02:17
      回复
        果子IP 5S是第一台ARM64的手機
        不過ARM早在2011年發表ARMv8就支持64位元了


        IP属地:中国台湾4楼2021-10-25 11:00
        回复
          参与和是的区别能分得清吗?就像富士通参与了sve的开发,但是能说sve就是富士通的吗?


          IP属地:江苏来自Android客户端5楼2021-10-25 11:30
          回复
            不要非黑即白。


            IP属地:江苏来自Android客户端6楼2021-10-25 11:30
            回复