×

Ми використовуємо файли cookie, щоб зробити LingQ кращим. Відвідавши сайт, Ви погоджуєтесь з нашими cookie policy.


image

Geekerwan, 吹牛 还是 真牛 ?苹果 M1 全网 最 硬核 评测 (上) (1)

吹牛 还是 真牛 ?苹果 M1 全网 最 硬核 评测 (上) (1)

看到 标题 你 肯定 知道 这 期 节目 咱们 终于 要 聊聊 M 1处理器 了 但 在 聊 M 1处理器 的 Mac 之前 咱们 先 来看 个 大家伙 这是 一台 2004年 的 PowerBook G 4 诶 怎么 不是 MacBook ? 哦 对 你 也许 没听说过 PowerBook 但 你 一定 听过 MacBook Pro 而 PowerBook 就是 MacBook Pro 曾经 的 名字 PowerBook 其实 是 个 一语双关 的 名字 一方面 自然 是 作为 性能 取向 笔记本 要 有 足够 强 的 Power 而 另一方面 则 代表 着 当年 Mac 使用 的 PowerPC 处理器 我 这台 PowerBook G 4是 17寸 的 顶配 版本 俗称 大 飞机 它 搭载 1.67 Ghz 的 PowerPC 7447 A 处理器 Radeon 9700移动 版 显卡 很 有 时代感 的 DVD 光驱 以及 在 今天 的 苹果 笔记本 上 想 都 不敢 想 的 可拆卸 电池 和 一大堆 接口 甚至 还有 火线 和 DVI 接口 毫无疑问 这是 一台 在 当年 很 有 Power 的 笔记本 但 它 也 是 苹果 最后 一代 使用 PowerPC 处理器 的 笔记本 因为 酷睿 当年 在 能耗 比上 的 巨大 优势 从 2006年 的 Mac mini 开始 整条 Mac 产品线 都 换上 了 Intel 的 x 86处理器 换掉 了 PowerPC 处理器 的 它 名字 也 改成 了 MacBook Pro 自此 我们 熟悉 的 Mac 家族 登上 了 历史舞台 今年 推出 的 M 1无论 实际 表现 如何 它 都 在 过去 的 一个月 时间 里 确确实实 地 点燃 了 整个 PC 行业 最 热烈 的 讨论 从 它 推出 的 那天 起 关于 它 的 是非 就 没 消停 过 而 这次 换 芯 其实 已经 是 本世纪 苹果 第二次 换 芯 了 第一次 就 是从 刚才 咱们 看到 的 PowerPC 换 到 Intel 而 第二次 就是 换上 了 自家 的 Apple Silicon ARM 架构 处理器 说来 也 有趣 和 ARM 处理器 一样 PowerPC 实际上 也 属于 RISC 处理器 也 就是 所谓 的 精简指令 集 处理器 而 众所周知 x 86则 是 CISC 处理器 也 就是 所谓 的 复杂 指令集 处理器 苹果 在 CISC 阵营 绕 了 15年 终于 还是 回到 了 RISC 阵营 谁 都 知道 处理器 是 一台 电脑 的 核心 而 处理器 的 指令集 又 是 核心 中 的 灵魂 所以 有人 充满 质疑 有人 欢呼雀跃 还有 人 看着 铺天盖地 的 评测 和 新闻 啊 也 不 知道 到底 该信 哪个 我们 今天 就 来 看看 M 1实际 的 表现 到底 如何 我们 将 从 这颗 处理器 的 架构 分析 、性能 表现 、功耗 和 温度 表现 以及 实际 软件 与 游戏 中 的 性能 与 兼容性 几个 方面 来 看看 M 1到底 有 几成 功力 通过 和 x 86、 iPad Pro 和 Surface Pro X 的 对比 来 尽可能 找到 M 1准确 的 定位 以及 大家 都 很 关心 的 16 G 内存 和 8 G 内存 的 问题 并且 我们 还会 借助 这台 PowerBook G 4和 第一代 MacBook Air 的 性能 对比 来 一 窥 Mac 家族 乃至 整个 PC 行业 的 未来 上集 前半部 分 的 架构 分析 部分 会 非常 硬核 如果 你 不想 听 可以 直接 跳 到 性能 测试 部分 但 我 个人 非常 不 建议 你 跳转 因为 这些 内容 有助于 你 理解 M 1到底 是 个 啥 跳过 的话 你 会 错过 本期 视频 的 精髓 那 我们 开始 吧 ~ 在 M 1处理器 推出 之前 从来 没有 人 做 过 这么 大 的 ARM 处理器 先 别急 着 说 那些 ARM 服务器 CPU 因为 它们 和 至 强 系列 一样 都 是 核心 贼 多 但 每个 核心 的 性能 相对 有限 的 、对 服务器 场景 优化 的 处理器 说白了 这些 处理器 的 单核 性能 甚至 没有 你 手里 的 手机 来 的 好 显然 这 并 不是 给 你 面前 的 电脑 用 的 显然 M 1并 不是 以 这个 思路 来 开发 的 可 M 1是 第一颗 用 在 PC 或者 Mac 上 的 ARM 芯片 吗? 倒也不是 前有 你们 都 懂 的 Surface RT 近来 有 我们 刚 做 过 节目 吐槽 过 的 Surface Pro X 要说 把 ARM 塞进 电脑 微软 可能 动作 还 早 一点 但 很 可惜 微软 虽然 有 搞 个 大 新闻 的 想法 但 却 在 实际 执行 的 时候 出 了 偏差 当年 看起来 无比 超前 的 Surface RT 和 它 的 Win 8系统 一起 成为 了 一个 笑柄 而 Surface Pro X 前 几天 才 刚刚 兼容 64位 的 x 86软件 Surface Pro X 那颗 与 高通 一起 搞 出来 的 用 着 A 76架构 的 SQ 1处理器 的 性能 也 实在 谈不上 优秀 我们 的 天梯 图里 它 甚至 还 赶不上 2018年 推出 的 苹果 A 12 X 真 可谓 是 ……起 了 个 大 早 赶 了 个 晚集 而 苹果 M 1处理器 显然 是 带 着 野心 来 的 它 是 一颗 超高 规格 版 的 A 14 甚至 有点像 一颗 A 14 Z 核心 架构 与 A 14一样 都 是 大核 Firestorm 架构 小核 Icestorm 架构 但大核 从 A 14的 双核 扩充 到 了 四核 小核 规格 则 保持 4个 不变 当然 作为 电脑 处理器 频率 相应 有所 提升 如果 各位 还 记得 我们 在 A 14处理器 首发 评测 里 估算 的 核心 IPC 的话 你 应该 知道 它 的 大核 IPC 大约 是 SQ 1里面 的 A 76大核 的 两倍 而小核 的 IPC 则 与 之 相仿 达成 这种 性能 的 关键 就 在于 它 恐怖 的 架构 规模 这是 苹果 M 1大核 的 架构 这是 Zen 3的 架构 而 这 是 Intel 的 Skylake 架构 首先 你 会 发现 它们 乍一看 其实 长得 都 很 像 不管 是 什么 架构 的 CPU 因为 它们 的 工作 流程 都 是 大体 相同 的 都 要 经过 这 5个 阶段 所以 它们 的 架构 也 是 大同小异 这 三种 架构 本质 上 都 是 乱序执行 的 超标 量 多 流水线 CPU 这个 很 复杂 但是 接着 我们 跟着 处理器 工作 的 步骤 来 一点点 对比 它们 的 架构 首先 从 处理器 的 前端 开始 也 就是 在 执行 指令 前 的 部分 对于 取指 阶段 非常 重要 的 L 1指令 缓存 M 1有 192 KB 而 Zen 3和 Skylake 都 是 32 KB 处理器 要 想 执行 指令 就 得 先 从 一个 地方 加载 指令 而 L 1指令 缓存 就是 用来 暂时 保存 这些 指令 以备 后 用 的 这样 就 会 在 诸如 JavaScript 之类 的 高 指令 压力 负载 下 表现 非常 好 而且 这个 大小 的 差别 预示 着 M 1可能 会 是 一个 非常 宽 的 架构 那 什么样 的 架构 叫 “宽 ”呢? 咱们 接着 往 下 看 拿到 了 指令 但 CPU 的 执行 单元 其实 还 看不懂 因为 CPU 内部 有 它 自己 的 指令 编码 所以 咱们 要 对 指令 进行 解码 把 来自 软件 的 指令 翻译成 CPU 认识 的 指令 这个 部分 里 有 一个 同学们 特别 关心 的 问题 就是 关于 RISC 和 CISC 处理器 的 区别 RISC 是 指 精简指令 集 ARM 就 属于 此类 而 CISC 是 指 复杂 指令集 x 86就是 个 代表 你 可能 会 疑惑 那 不是 精简指令 集 的 处理器 它 就 比较简单 呢? 实际上 这 两者 并 没有 什么 关系 现代 的 RISC 处理器 和 CISC 处理器 最大 的 区别 就 在 这个 指令 解码 环节 RISC 的 全称 实际上 是 Reduced Instruction Set Computer 那么 这个 Reduced 就是指 精简 所以 RISC 最大 的 特点 就是 指令 长度 相等 执行 时间 恒定 与 之 相反 CISC 则 是 指令 长度 不 固定 执行 时间 也 不 固定 作为 现代 CISC 处理器 的 代表 x 86处理器 接受 的 是 CISC 指令 这 大家 都 知道 但 其实 从 Pentium Pro 开始 处理器 的 内部 执行 的 其实 已经 是 类 RISC 指令 了 因此 x 86处理器 就 会 通过 解码器 来 把 这些 复杂 的 指令 翻译成 类似 RISC 的 指令 Intel 把 这些 类 RISC 指令 称作 micro - op 或者 写为 μ- op 而 AMD 从 K 5开始 也 引入 了 自己 的 RISC 指令集 叫做 RISC 86 也 就是 我们 说 的 macro op 然后 再 翻译 为 micro op 一条 macro op 可以 翻译成 一个 或者 多个 micro op 注意 这 两个 是 不 一样 的 写法 所以 两边 的 解码器 设计 会 有所 差别 因为 这个 要 解释 清楚 需要 啰嗦 很多 你 只要 知道 Intel 需要 n 个 中杯 解码器 +1个 超大 杯 解码器 而 AMD 则 有 n 个大杯 解码器 就 可以 了 而 解码器 的 效率 直接 决定 了 后面 的 执行 单元 有 多少 活 可以 去 做 可 M 1不是 ARM 处理器 吗? ARM 处理器 不是 RISC 架构 吗? 那 M 1为什么 也 要 有 解码器? 实际上 RISC 处理器 接受 的 指令 和 执行 单元 执行 的 指令 虽然 差别 更 小 但 依然 有 区别 所以 也 需要 解码器 来 翻译 但 显然 这个 解码 工作 简单 的 多 这 就是 导致 ARM 处理器 能耗 比 优势 的 一个 重要 因素 苹果 M 1在 的 大 核里 塞入 了 每 周期 解码 8个 指令 的 解码器 这 应该 是 目前 处理器 里 规格 最大 的 解码器 简单 总结 一下 现代 的 x 86处理器 和 ARM 处理器 在 经过 解码 阶段 后 内部 都 会 执行 类 RISC 指令 因而 接下来 的 部分 是 高度 类似 的 而 解码 部分 M 1具有 ARM 的 先天 优势 解码 前后 差异 小 效率 更高 同时 解码器 又 做 的 更 宽 所以 有 了 更 高 的 性能 前面 说 过 AMD 的 x 86处理器 实际 执行 的 是 Macro - OP 而 Zen 3每个 周期 可以 发射 6个 Macro - OP 指令 于是 我们 就 认为 Zen 3是 一颗 6发射 处理器 这个 指令 发射 数是 目前 x 86处理器 里 最高 的 加上 优秀 的 分支 预测 消除 了 大部分 气泡 使得 它 达到 了 x 86阵营 目的 最高 效率 值得一提的是 明年 的 rocket lake 依然 是 4发射 但 今天 的 主角 不是 Zen 3 而是 M 1 那 它 是 一颗 几 发射 的 处理器 呢? 答案 是 8发射 因为 M 1接收 的 一条 指令 将会 转换 且 仅会 转换 为 一条 指令 所以 解码器 的 宽度 就 等于 发射 数 于是 苹果 就造 了 一个 惊人 的 8发射 处理器 核心 作为 对比 骁龙 888上 的 Cortex - X 1的 解码器 宽度 是 5 但 这 还 不是 全部 咱们 继续 往 下 看 接下来 我们 来 聊聊 ROB 中文 名叫 重 排序 缓冲区 它 对 乱序执行 处理器 至关重要 那 ROB 是 干 啥 的 呢? 它 的 规模 大小 有 什么 意义 呢? 要 了解 这个 你 得 先 了解 乱序执行 是 个 啥 玩意 传统 的 处理器 的 多条 流水线 是 顺序 执行 的 但是 不同 指令 的 难度 可不 一样 所以 执行 它们 所用 的 时间 就 有所不同 那 我们 假设 咱们 这颗 处理器 有 两条 指令 要 执行 一号 指令 和 二号 指令 存在 逻辑关系 二号 指令 得 等 一号 指令 出 了 结果 才能 执行 但 一号 指令 在 某 一个 步骤 卡住 了 要算 很 长时间 而 这个 卡住 的 时间 里 如果 是 顺序 执行 的 处理器 就 必须 等到 一号 指令 执行 完 才能 继续执行 二号 指令 但 现在 的 处理器 可 不止 一条 流水线 却 因为 一号 指令 没 完成 这时候 其他 的 流水线 闲着 不能 继续执行 二号 指令 反正 闲着 也 是 闲着 还 不如 执行 一下 二号 指令 这 就 叫 乱序执行 但 别忘了 咱们 的 二号 指令 是 要 等到 一号 指令 出 了 结果 才能 继续执行 的 可 这时候 一号 指令 结果 出不来 啊 那 二号 指令 怎么 执行 呢? 那 咱们 先 来 猜 一个一号 指令 的 结果 先 不管 他 对错 让 其他 流水线 先 开始 执行 二号 指令 这个 猜 就 叫做 分支 预测 所以 分支 预测 的 准确性 会 影响 处理器 的 效率 这样一来 如果 一号 指令 卡 的 时间 长 二号 指令 却 完成 得 非常 快 二号 指令 甚至 会先 执行 完成 但 别忘了 咱们 二号 指令 执行 的 前提 是 一号 指令 出 了 结果 但 这时候 一号 指令 的 结果 是 猜出来 的 二号 指令 虽然 执行 完成 了 却 不 知道 对错 这时候 它 就 可以 去 一个 缓冲区 里 等待 一号 指令 的 结果 这个 缓冲区 就是 咱们 前面 提到 的 ROB 如果 结果 对 上 了 再 把 它们 拼接 起来 如果 不 对 就 清除 掉 二号 指令 的 结果 重新 执行 这样一来 ROB 的 大小 就 代表 了 乱序 的 规模 所以 往往 ROB 越大 就 意味着 处理器 的 宽度 越大且 乱序 度越 高 M 1有 大约 630个条 目的 ROB 作为 对比 Zen 3有 256个 英特尔 的 Sunny Cove 有 352个 而 ARM Cortex - X 1则 有 224个 聊完 前端 我们 再 来 看看 执行 单元 篇幅 所限 这里 我 想 重点 聊聊 浮点 单元 的 设计 如果 大家 还 记得 我们 手机 SoC 横评 的 时候 曾经 聊过 A 13处理器 你 应该 记得 A 13重点 加强 了 浮点 性能 而 在 A 14和 M 1里 我们 终于 看到 了 苹果 改进 浮点 性能 的 目的 大家 都 知道 x 86 CPU 里 有 一个 牛 逼 的 指令集 叫做AVX


吹牛 还是 真牛 ?苹果 M1 全网 最 硬核 评测 (上) (1) Bragging Rights or the Real Thing? Apple M1 Hardcore Review (1) ¿Derechos de fanfarronería o la realidad? Apple M1 hardestcore review en la web (1) Vantardise ou réalité ? Apple M1 Hardcore Review (Haut) (1)

看到 标题 你 肯定 知道 这 期 节目 咱们 终于 要 聊聊 M 1处理器 了 但 在 聊 M 1处理器 的 Mac 之前 咱们 先 来看 个 大家伙 这是 一台 2004年 的 PowerBook G 4 诶 怎么 不是 MacBook ? 哦 对 你 也许 没听说过 PowerBook 但 你 一定 听过 MacBook Pro 而 PowerBook 就是 MacBook Pro 曾经 的 名字 PowerBook 其实 是 个 一语双关 的 名字 一方面 自然 是 作为 性能 取向 笔记本 要 有 足够 强 的 Power 而 另一方面 则 代表 着 当年 Mac 使用 的 PowerPC 处理器 我 这台 PowerBook G 4是 17寸 的 顶配 版本 俗称 大 飞机 它 搭载 1.67 Ghz 的 PowerPC 7447 A 处理器 Radeon 9700移动 版 显卡 很 有 时代感 的 DVD 光驱 以及 在 今天 的 苹果 笔记本 上 想 都 不敢 想 的 可拆卸 电池 和 一大堆 接口 甚至 还有 火线 和 DVI 接口 毫无疑问 这是 一台 在 当年 很 有 Power 的 笔记本 但 它 也 是 苹果 最后 一代 使用 PowerPC 处理器 的 笔记本 因为 酷睿 当年 在 能耗 比上 的 巨大 优势 从 2006年 的 Mac mini 开始 整条 Mac 产品线 都 换上 了 Intel 的 x 86处理器 换掉 了 PowerPC 处理器 的 它 名字 也 改成 了 MacBook Pro 自此 我们 熟悉 的 Mac 家族 登上 了 历史舞台 今年 推出 的 M 1无论 实际 表现 如何 它 都 在 过去 的 一个月 时间 里 确确实实 地 点燃 了 整个 PC 行业 最 热烈 的 讨论 从 它 推出 的 那天 起 关于 它 的 是非 就 没 消停 过 而 这次 换 芯 其实 已经 是 本世纪 苹果 第二次 换 芯 了 第一次 就 是从 刚才 咱们 看到 的 PowerPC 换 到 Intel 而 第二次 就是 换上 了 自家 的 Apple Silicon ARM 架构 处理器 说来 也 有趣 和 ARM 处理器 一样 PowerPC 实际上 也 属于 RISC 处理器 也 就是 所谓 的 精简指令 集 处理器 而 众所周知 x 86则 是 CISC 处理器 也 就是 所谓 的 复杂 指令集 处理器 苹果 在 CISC 阵营 绕 了 15年 终于 还是 回到 了 RISC 阵营 谁 都 知道 处理器 是 一台 电脑 的 核心 而 处理器 的 指令集 又 是 核心 中 的 灵魂 所以 有人 充满 质疑 有人 欢呼雀跃 还有 人 看着 铺天盖地 的 评测 和 新闻 啊 也 不 知道 到底 该信 哪个 我们 今天 就 来 看看 M 1实际 的 表现 到底 如何 我们 将 从 这颗 处理器 的 架构 分析 、性能 表现 、功耗 和 温度 表现 以及 实际 软件 与 游戏 中 的 性能 与 兼容性 几个 方面 来 看看 M 1到底 有 几成 功力 通过 和 x 86、 iPad Pro 和 Surface Pro X 的 对比 来 尽可能 找到 M 1准确 的 定位 以及 大家 都 很 关心 的 16 G 内存 和 8 G 内存 的 问题 并且 我们 还会 借助 这台 PowerBook G 4和 第一代 MacBook Air 的 性能 对比 来 一 窥 Mac 家族 乃至 整个 PC 行业 的 未来 上集 前半部 分 的 架构 分析 部分 会 非常 硬核 如果 你 不想 听 可以 直接 跳 到 性能 测试 部分 但 我 个人 非常 不 建议 你 跳转 因为 这些 内容 有助于 你 理解 M 1到底 是 个 啥 跳过 的话 你 会 错过 本期 视频 的 精髓 那 我们 开始 吧 ~ 在 M 1处理器 推出 之前 从来 没有 人 做 过 这么 大 的 ARM 处理器 先 别急 着 说 那些 ARM 服务器 CPU 因为 它们 和 至 强 系列 一样 都 是 核心 贼 多 但 每个 核心 的 性能 相对 有限 的 、对 服务器 场景 优化 的 处理器 说白了 这些 处理器 的 单核 性能 甚至 没有 你 手里 的 手机 来 的 好 显然 这 并 不是 给 你 面前 的 电脑 用 的 显然 M 1并 不是 以 这个 思路 来 开发 的 可 M 1是 第一颗 用 在 PC 或者 Mac 上 的 ARM 芯片 吗? 倒也不是 前有 你们 都 懂 的 Surface RT 近来 有 我们 刚 做 过 节目 吐槽 过 的 Surface Pro X 要说 把 ARM 塞进 电脑 微软 可能 动作 还 早 一点 但 很 可惜 微软 虽然 有 搞 个 大 新闻 的 想法 但 却 在 实际 执行 的 时候 出 了 偏差 当年 看起来 无比 超前 的 Surface RT 和 它 的 Win 8系统 一起 成为 了 一个 笑柄 而 Surface Pro X 前 几天 才 刚刚 兼容 64位 的 x 86软件 Surface Pro X 那颗 与 高通 一起 搞 出来 的 用 着 A 76架构 的 SQ 1处理器 的 性能 也 实在 谈不上 优秀 我们 的 天梯 图里 它 甚至 还 赶不上 2018年 推出 的 苹果 A 12 X 真 可谓 是 ……起 了 个 大 早 赶 了 个 晚集 而 苹果 M 1处理器 显然 是 带 着 野心 来 的 它 是 一颗 超高 规格 版 的 A 14 甚至 有点像 一颗 A 14 Z 核心 架构 与 A 14一样 都 是 大核 Firestorm 架构 小核 Icestorm 架构 但大核 从 A 14的 双核 扩充 到 了 四核 小核 规格 则 保持 4个 不变 当然 作为 电脑 处理器 频率 相应 有所 提升 如果 各位 还 记得 我们 在 A 14处理器 首发 评测 里 估算 的 核心 IPC 的话 你 应该 知道 它 的 大核 IPC 大约 是 SQ 1里面 的 A 76大核 的 两倍 而小核 的 IPC 则 与 之 相仿 达成 这种 性能 的 关键 就 在于 它 恐怖 的 架构 规模 这是 苹果 M 1大核 的 架构 这是 Zen 3的 架构 而 这 是 Intel 的 Skylake 架构 首先 你 会 发现 它们 乍一看 其实 长得 都 很 像 不管 是 什么 架构 的 CPU 因为 它们 的 工作 流程 都 是 大体 相同 的 都 要 经过 这 5个 阶段 所以 它们 的 架构 也 是 大同小异 这 三种 架构 本质 上 都 是 乱序执行 的 超标 量 多 流水线 CPU 这个 很 复杂 但是 接着 我们 跟着 处理器 工作 的 步骤 来 一点点 对比 它们 的 架构 首先 从 处理器 的 前端 开始 也 就是 在 执行 指令 前 的 部分 对于 取指 阶段 非常 重要 的 L 1指令 缓存 M 1有 192 KB 而 Zen 3和 Skylake 都 是 32 KB 处理器 要 想 执行 指令 就 得 先 从 一个 地方 加载 指令 而 L 1指令 缓存 就是 用来 暂时 保存 这些 指令 以备 后 用 的 这样 就 会 在 诸如 JavaScript 之类 的 高 指令 压力 负载 下 表现 非常 好 而且 这个 大小 的 差别 预示 着 M 1可能 会 是 一个 非常 宽 的 架构 那 什么样 的 架构 叫 “宽 ”呢? 咱们 接着 往 下 看 拿到 了 指令 但 CPU 的 执行 单元 其实 还 看不懂 因为 CPU 内部 有 它 自己 的 指令 编码 所以 咱们 要 对 指令 进行 解码 把 来自 软件 的 指令 翻译成 CPU 认识 的 指令 这个 部分 里 有 一个 同学们 特别 关心 的 问题 就是 关于 RISC 和 CISC 处理器 的 区别 RISC 是 指 精简指令 集 ARM 就 属于 此类 而 CISC 是 指 复杂 指令集 x 86就是 个 代表 你 可能 会 疑惑 那 不是 精简指令 集 的 处理器 它 就 比较简单 呢? 实际上 这 两者 并 没有 什么 关系 现代 的 RISC 处理器 和 CISC 处理器 最大 的 区别 就 在 这个 指令 解码 环节 RISC 的 全称 实际上 是 Reduced Instruction Set Computer 那么 这个 Reduced 就是指 精简 所以 RISC 最大 的 特点 就是 指令 长度 相等 执行 时间 恒定 与 之 相反 CISC 则 是 指令 长度 不 固定 执行 时间 也 不 固定 作为 现代 CISC 处理器 的 代表 x 86处理器 接受 的 是 CISC 指令 这 大家 都 知道 但 其实 从 Pentium Pro 开始 处理器 的 内部 执行 的 其实 已经 是 类 RISC 指令 了 因此 x 86处理器 就 会 通过 解码器 来 把 这些 复杂 的 指令 翻译成 类似 RISC 的 指令 Intel 把 这些 类 RISC 指令 称作 micro - op 或者 写为 μ- op 而 AMD 从 K 5开始 也 引入 了 自己 的 RISC 指令集 叫做 RISC 86 也 就是 我们 说 的 macro op 然后 再 翻译 为 micro op 一条 macro op 可以 翻译成 一个 或者 多个 micro op 注意 这 两个 是 不 一样 的 写法 所以 两边 的 解码器 设计 会 有所 差别 因为 这个 要 解释 清楚 需要 啰嗦 很多 你 只要 知道 Intel 需要 n 个 中杯 解码器 +1个 超大 杯 解码器 而 AMD 则 有 n 个大杯 解码器 就 可以 了 而 解码器 的 效率 直接 决定 了 后面 的 执行 单元 有 多少 活 可以 去 做 可 M 1不是 ARM 处理器 吗? ARM 处理器 不是 RISC 架构 吗? 那 M 1为什么 也 要 有 解码器? 实际上 RISC 处理器 接受 的 指令 和 执行 单元 执行 的 指令 虽然 差别 更 小 但 依然 有 区别 所以 也 需要 解码器 来 翻译 但 显然 这个 解码 工作 简单 的 多 这 就是 导致 ARM 处理器 能耗 比 优势 的 一个 重要 因素 苹果 M 1在 的 大 核里 塞入 了 每 周期 解码 8个 指令 的 解码器 这 应该 是 目前 处理器 里 规格 最大 的 解码器 简单 总结 一下 现代 的 x 86处理器 和 ARM 处理器 在 经过 解码 阶段 后 内部 都 会 执行 类 RISC 指令 因而 接下来 的 部分 是 高度 类似 的 而 解码 部分 M 1具有 ARM 的 先天 优势 解码 前后 差异 小 效率 更高 同时 解码器 又 做 的 更 宽 所以 有 了 更 高 的 性能 前面 说 过 AMD 的 x 86处理器 实际 执行 的 是 Macro - OP 而 Zen 3每个 周期 可以 发射 6个 Macro - OP 指令 于是 我们 就 认为 Zen 3是 一颗 6发射 处理器 这个 指令 发射 数是 目前 x 86处理器 里 最高 的 加上 优秀 的 分支 预测 消除 了 大部分 气泡 使得 它 达到 了 x 86阵营 目的 最高 效率 值得一提的是 明年 的 rocket lake 依然 是 4发射 但 今天 的 主角 不是 Zen 3 而是 M 1 那 它 是 一颗 几 发射 的 处理器 呢? 答案 是 8发射 因为 M 1接收 的 一条 指令 将会 转换 且 仅会 转换 为 一条 指令 所以 解码器 的 宽度 就 等于 发射 数 于是 苹果 就造 了 一个 惊人 的 8发射 处理器 核心 作为 对比 骁龙 888上 的 Cortex - X 1的 解码器 宽度 是 5 但 这 还 不是 全部 咱们 继续 往 下 看 接下来 我们 来 聊聊 ROB 中文 名叫 重 排序 缓冲区 它 对 乱序执行 处理器 至关重要 那 ROB 是 干 啥 的 呢? 它 的 规模 大小 有 什么 意义 呢? 要 了解 这个 你 得 先 了解 乱序执行 是 个 啥 玩意 传统 的 处理器 的 多条 流水线 是 顺序 执行 的 但是 不同 指令 的 难度 可不 一样 所以 执行 它们 所用 的 时间 就 有所不同 那 我们 假设 咱们 这颗 处理器 有 两条 指令 要 执行 一号 指令 和 二号 指令 存在 逻辑关系 二号 指令 得 等 一号 指令 出 了 结果 才能 执行 但 一号 指令 在 某 一个 步骤 卡住 了 要算 很 长时间 而 这个 卡住 的 时间 里 如果 是 顺序 执行 的 处理器 就 必须 等到 一号 指令 执行 完 才能 继续执行 二号 指令 但 现在 的 处理器 可 不止 一条 流水线 却 因为 一号 指令 没 完成 这时候 其他 的 流水线 闲着 不能 继续执行 二号 指令 反正 闲着 也 是 闲着 还 不如 执行 一下 二号 指令 这 就 叫 乱序执行 但 别忘了 咱们 的 二号 指令 是 要 等到 一号 指令 出 了 结果 才能 继续执行 的 可 这时候 一号 指令 结果 出不来 啊 那 二号 指令 怎么 执行 呢? 那 咱们 先 来 猜 一个一号 指令 的 结果 先 不管 他 对错 让 其他 流水线 先 开始 执行 二号 指令 这个 猜 就 叫做 分支 预测 所以 分支 预测 的 准确性 会 影响 处理器 的 效率 这样一来 如果 一号 指令 卡 的 时间 长 二号 指令 却 完成 得 非常 快 二号 指令 甚至 会先 执行 完成 但 别忘了 咱们 二号 指令 执行 的 前提 是 一号 指令 出 了 结果 但 这时候 一号 指令 的 结果 是 猜出来 的 二号 指令 虽然 执行 完成 了 却 不 知道 对错 这时候 它 就 可以 去 一个 缓冲区 里 等待 一号 指令 的 结果 这个 缓冲区 就是 咱们 前面 提到 的 ROB 如果 结果 对 上 了 再 把 它们 拼接 起来 如果 不 对 就 清除 掉 二号 指令 的 结果 重新 执行 这样一来 ROB 的 大小 就 代表 了 乱序 的 规模 所以 往往 ROB 越大 就 意味着 处理器 的 宽度 越大且 乱序 度越 高 M 1有 大约 630个条 目的 ROB 作为 对比 Zen 3有 256个 英特尔 的 Sunny Cove 有 352个 而 ARM Cortex - X 1则 有 224个 聊完 前端 我们 再 来 看看 执行 单元 篇幅 所限 这里 我 想 重点 聊聊 浮点 单元 的 设计 如果 大家 还 记得 我们 手机 SoC 横评 的 时候 曾经 聊过 A 13处理器 你 应该 记得 A 13重点 加强 了 浮点 性能 而 在 A 14和 M 1里 我们 终于 看到 了 苹果 改进 浮点 性能 的 目的 大家 都 知道 x 86 CPU 里 有 一个 牛 逼 的 指令集 叫做AVX