操作系统实战 45 讲
彭东
网名 LMOS,Intel 傲腾项目关键开发者
65203 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 60 讲
尝尝鲜:从一个Hello到另一个Hello (2讲)
特别放送 (1讲)
操作系统实战 45 讲
15
15
1.0x
00:00/00:00
登录|注册

45 | ARM新宠:苹果的M1芯片因何而快?

思考题
重点回顾
谈谈指令集
现代CPU加速的套路
验证测试ALU
自己动手用Verilog实现一个ALU
ALU的需求梳理与方案设计
CPU的原理初探
CPU原理与设计

该思维导图由 AI 生成,仅供参考

你好,我是 LMOS。
前面两节课,我们一起学习了虚拟机和容器的原理,这些知识属于向上延展。而这节课我们要向下深挖,看看操作系统下面的硬件层面,重点研究一下 CPU 的原理和它的加速套路。
有了这些知识的加持,我还会给你说说,为什么去年底发布的苹果 M1 芯片可以实现高性能、低功耗。你会发现,掌握了硬件的知识,很多“黑科技”就不再那么神秘了。
好,让我们正式开始今天的学习!

CPU 的原理初探

经过前面的学习,我们已经对操作系统原理建立了一定认知。从操作系统的位置来看,它除了能够向上封装,为软件调用提供 API(也就是系统调用),向下又对硬件资源进行了调度和抽象。我们通常更为关注系统调用,但为了更好地设计实现一个 OS,我们当然也要对硬件足够了解。
接下来,我们一起看一看硬件中最重要的一个硬件——CPU 是怎么工作的。让我们拆开 CPU 这个黑盒子,看一看一个最小的 CPU 应该包含哪些部分。不同架构的 CPU,具体设计还是有很大差异的。为了方便你理解,我这里保留了 CPU 里的共性部分,给你抽象出了 CPU 的最小组成架构。
CPU架构图
对照上图描绘的基本模块,我们可以把 CPU 运行过程抽象成这样 6 步。
1. 众所周知,CPU 的指令是以二进制形式存储在存储器中的(这里把寄存器、RAM 统一抽象成了存储器),所以当 CPU 执行指令的时候,第一步就要先从存储器中取出(fetch)指令。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

现代CPU的工作原理和ALU的设计与实现过程是本文的重点内容。文章首先介绍了CPU的基本工作原理,包括指令的获取、解码、数据处理和存储等六个步骤,并指出现代CPU架构与图灵机的执行原理有着一致的核心思想。随后,通过使用Verilog语言实现了一个可以运行简单计算的ALU,并提供了测试用例来验证ALU模块的功能是否正常。此外,文章还介绍了现代CPU加速的套路,包括更多的硬件指令、通过缓存来提高数据装载效率、流水线乱序执行与分支预测、多核心CPU以及超线程。最后,对常见的CPU指令集进行了介绍。整体而言,本文通过深入浅出的方式,帮助读者了解了CPU和ALU的基本原理,以及现代CPU加速的套路,为读者解开了硬件层面的“黑科技”之谜。文章还介绍了CISC和RISC指令集的区别,以及基于ARM指令集的M1芯片的特点,深入剖析了M1芯片的优势和设计思路。文章内容丰富,涵盖了CPU设计的基本原理和现代发展趋势,对读者了解CPU和ALU的工作原理以及现代CPU加速的套路具有重要参考价值。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《操作系统实战 45 讲》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(7)

  • 最新
  • 精选
  • neohope
    置顶
    老师设计芯片太豪放了哦,输入输出位数针脚太多了。30位就十分奢侈啦: ena,1位;clk,1位;opcode,2位 data1,8位;data2,8位;y,10位; Icarus Verilog:http://iverilog.icarus.com/home Icarus Verilog for Windows:http://bleyer.org/icarus/

    作者回复: 是的 这样更简单明了

    2021-08-24
    4
  • Fan
    哈哈哈,再来几篇Verilog。🐂🍺

    作者回复: 哈哈

    2021-08-20
    5
  • pedro
    risc-v最近太火了,没有历史包袱,设计又足够精妙,谁能不爱呢。

    作者回复: 哈哈

    2021-08-20
    2
    5
  • springXu
    请教东哥,intel那款20年前的IA64(安腾)处理器,也是CISC的指令集么? 目前主流RISC指令集就ARM了,mips已经被市场淘汰。RISC-V是开源的指令集,被众多公司所追捧了。还有IBM的PowerPC指令集。

    作者回复: 安腾不是

    2021-08-20
    2
  • sugar
    所以是不是可以得出这么个结论:苹果M1的macbook之所以快,不在于他从x86切了arm有多大提升(指令集本身我一直理解为arm只是性能/功耗的比值胜过x86,不计功耗只看perf还是x86有优势才对),而在于arm的开放性 赋予了苹果在硬件层面 拿arm这套架构做了大量魔改。 intel封闭性注定苹果不会拿x86这样深度魔改的。这么理解对吗?东哥

    作者回复: 对 对 对

    2022-01-11
    1
  • 苏流郁宓
    mips?risc-v?不过,risc指令集实际实现某些功能的步骤比cisc多,苹果的cpu优秀离不开先进的工艺,假如intel的cpu也用5nm工艺,就台式机的cpu的价格估计会翻不少价,当然性能也会好到爆。问题是市场需要吗,认可吗?如同作者所言,这也是商业模式有关,不同的模式决定不同的选择?

    作者回复: RISC在并行流水线上有优势 当然工艺先进是绝对的 可以集成更多晶体管了 就可以实现更多逻辑了

    2021-08-20
    1
  • -.-
    //定义alu位宽 parameter N = 32; //输入范围[-128, 127] 如果需要输入范围是[-128,127]那么位宽不应该是N=8吗?
    2022-12-29归属地:美国
收起评论
显示
设置
留言
7
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部