那么这种「RISC 与 CISC」比较对今天的 ARM 和 x86 CPU 有什么实际影响呢?当我们将 AMD 和英特尔 CPU 与苹果的 M1 和未来的 M2 进行比较时 , 我们真正要问的问题是:x86 是否存在一些瓶颈 , 使得其无法与苹果以及高通等公司未来的 ARM 芯片有效竞争?
AMD 和英特尔给出的答案是否定的 , 而 ARM 给出的答案是肯定的 。 行业内的公司之间具有明显的利益冲突 , 因此我询问了丹麦计算机科学家 Agner Fog , 他以其在 x86 架构和微架构方面的研究而闻名 。 以下是他的看法
ISA 并非无关紧要 。 x86 ISA 非常复杂 , 因为长期以来人们一直在进行小的更改和补丁 , 以向 ISA 中添加更多功能 , 而 ISA 确实已没有空间容纳此类新功能 。
复杂的 x86 ISA 使解码成为瓶颈 。 x86 指令的长度在 1 到 15 个字节之间 , 计算长度非常复杂 。 在开始解码下一条指令之前需要知道指令的长度 。 如果您想每个时钟周期解码 4 或 6 条指令 , 这肯定是个问题!英特尔和 AMD 现在都在不断增加微操作缓存来克服这个瓶颈 。 而 ARM 有固定大小的指令 , 所以这个瓶颈不存在 , 也不需要微操作缓存 。
x86 的另一个问题是它需要很长的管道来处理复杂性 。 分支误预测惩罚等于 pipeline 的长度 。 因此 , 他们正在添加越来越复杂的分支预测机制 , 其中包含大型分支历史信息表和分支目标缓冲区 。 当然 , 所有这些都需要更多的芯片空间和更多的功耗 。
尽管有这些负担 , x86 ISA 还是相当成功的 。 这是因为它可以为每条指令做更多的工作 。Agner 还在他的微架构手册中写道:AMD 和英特尔 CPU 设计的最新趋势已经回归到 CISC 原则 , 以更好地利用有限的代码缓存 , 增加管道带宽 , 并通过在 pipeline 中维持较少的微操作数量来降低功耗 。 这些改进代表了提高 x86 整体性能和功耗效率的微架构变迁 。
那么就存在一个重要的问题:现代 AMD 和英特尔 CPU 为 x86 兼容性付出了多大的代价?
Agner 提到的解码瓶颈、分支预测和 pipeline 复杂性是 ARM 认为 x86 产生的「CISC tax」的一部分 。 过去 , 英特尔和 AMD 告诉我们解码功耗只是芯片总功耗的极小一部分 。 但是 , 如果 CPU 正在为微操作缓存或复杂的分支预测器消耗能量以弥补解码带宽的不足 , 那么意义就不一样了 。 微操作缓存功耗和分支预测功耗均由 CPU 的微架构及其制造制程节点决定 。 「RISC 与 CISC」并没有充分体现这三个变量之间关系的复杂性 。
也许我们还需要几年的时间才能知道苹果的 M1 和高通未来的 CPU 是否代表了市场翻天覆地的变化 , AMD 和英特尔是否将面临下一个挑战 。 保持 x86 兼容性是否是现代 CPU 的负担 , 这既是一个新问题 , 也是一个非常古老的问题 。 之所以说它是一个新问题是因为在 M1 推出之前 , 无法进行有意义的比较;说它是一个旧问题是因为当初 x86 CPU 诞生时 , 一些个人计算机延续使用非 x86 CPU 就让这个主题引起过相当多的讨论 。
推荐阅读
- 年轻人|呼叫全城玩家,魔都首发「表情包地铁」启程,2022蓝不倒!
- Google|谷歌暂缓2021年12月更新推送 调查Pixel 6遇到的掉线断连问题
- 数字货币|2021年加密货币市场盘点:比特币仍是霸主,NFT进入大众视野
- 文章|美媒文章:古人类领域2021年六大新突破
- 牛上|英媒文章:2021年最有趣的科学发现
- 视点·观察|科技行业都在谈论“元宇宙”,可是它还不存在
- IT|新能源汽车年底卖爆 展车都被抢购 咋回事?
- 技术|科技赋能创新发展
- 植被|二十年后的成都
- 何由|2021年,奔向星辰大海的脚步更稳更远!