这个文章比较好,有助于理解计算机组成原理
苹果M1全网最硬核评测
CPU处理指令的流程
以M1,ARM zen3,inter x86三款处理器做对比来进行说明
- L1缓存拿到待处理的指令集,这个L1缓存越大,意味着能够处理指令的能力越强,M1就比x86的要大,因此具有更高的性能,
- 拿到指令集之后,CPU的解码器会将来自软件的指令进行解码成CPU能够识别的指令,X86从CISC解码成RISC,M1做为ARM的代表,解码是将RISC解码成RISC,这个过程更简单,因此功耗更小
补充:RISC和SISC的区别
- 发射数量,M1会将接收后的一条指令只转换为一条指令,解码器解码后的每一条指令对应一个发射器进行发射
- ROB条目越大,说明处理乱序的能力越强,
对于没有以来关系的指令集,可以乱序执行,然后再根据ROB中指令集的顺序将指令集写入寄存器,这样才算指令执行完毕,
以上是CPU的前端,接下来我们来看CPU的执行单元
- M1的缓存和内存设计,内存使用的人是片上内存,距离cpu核心更近,能够降低延迟,但是苹果的硬件也是不能更换的。
除了L3,M1还有一个类似于三级缓存的系统级别的缓存,是CPU,GPU,NPU共用的。
总结:
实用工具
time machine
从inter到M1软件的切换:使用time machine就可以恢复备份到新电脑。
rosetta2
是一个静态转译器,在第一次打开x86软件时会默默完成所有转译,以后再打开时就时转译后的软件。