M1 快的其中一个原因是,它有很多专用的芯片,把一些工作分配给专用的芯片处理,比把这些工作分配给通用的 CPU 处理快很多。
Your computer memory (RAM) is a collection of billions of numbers. Each of these numbers has an address (location) so that the CPU has a way of picking the right one.
RAM 有十亿计的数字,每个数字都有一个地址,CPU 根据这些地址找到这些数字。
CPUs are the same. They have a number of registers often given simple names such as A, B, C or r1, r2, r3, r4 etc. CPU instructions usually do operations on these registers.
register:寄存器,存放数字的东西,通常被赋予一个名称,可以理解为编程语言中的变量。
There is a fixed number of instructions that the CPU understands. You as a programmer cannot add to this set.The combination of instructions a CPU understands and the registers it knows about is called the Instruction Set Architecture (ISA).
ISA:指令集架构,instruction set architecture,又称为指令集。每一个 CPU 它能理解的命令是有限的,这些命令加上寄存器,就组成了指令集架构。
intel 和 AMD 的芯片都是 x86 ISA,苹果 A 系列和 M1 都是 ARM 指令集架构。
Even gaming consoles such as Nintendo and the worlds current fastest super computer uses the ARM ISA.
Nintendo 游戏机也用 arm 架构的处理器,世界上最快的超级计算机富岳(Fugaku)也用 arm 架构。
x86 and ARM is not interchangeable.
大多数电脑软件都是基于 x86 指令集写的,基于 ARM 指令集的处理器看不懂 x86 指令,Rosetta 2 可以把 x86 指令翻译为 ARM 指令。
The ISA of a CPU heavily influence how you can design the CPU itself.
为什么苹果不设计一个能理解 x86 指令集的处理器呢?因为指令集十分影响 CPU 的设计,就像盖房子,有两种差别很大的设计方案,只能二选一,不能兼顾。
Apple cannot freely make their own CPUs with an 86 ISA. It is part of Intel’s intellectual property and they don’t want competitors. The ARM company in contrast doesn’t actually build their own CPUs. They just design the ISA and provide reference designs for CPUs implementing this ISA.
那为什么苹果选择 ARM 呢?因为 x86 指令集涉及 intel 专利,ARM 这个公司本身不生产芯片,只负责设计指令集,通过授权设计盈利。苹果根据 ARM 的设计可以做很多个性化的设计。
x86 is what we call a CISC architecture. While ARM follows the RISC philosophy. CISC stands for Complex Instruction Set Computer, while RISC stands for Reduced Instruction Set Computer.
x86 的设计理念是 CISC,ARM 的设计理念是 RISC。意思分别是:复杂指令集计算机、精简指令集计算机。