导学(一) 拆解CPU的基本结构和运行原理

你好,我是海纳。

在开始正式的课程之前,我专门为你设置了三节导学课,目的是帮你打好基础,扫清一些知识盲区,这样你学习这个课程会更加轻松、高效。

导学部分共有三节课,都是以视频方式讲述的,内容比较多,但我保证干货十足,非常值得你花时间好好观看学习。

今天这节导学课,我们会来拆解CPU的基本结构和运行原理。我们知道,CPU 作为计算机的总司令官,它管理着计算机的所有资源。它有两个主要的作用,分别是计算和控制。其中,计算主要是指逻辑数值运算,控制则体现在对数据传输,输入输出的控制上。可以想象,CPU在内存管理方面一定发挥着重要的作用。

CPU的基本架构,包含了运算器、寄存器、内存管理单元等模块。我在视频中会对这些模块的构成原理、运行原理以及其作用进行介绍。

了解了基本架构之后,我们还会从CPU运行的角度出发,来深入理解机器码和中断的原理。为什么我要给你讲机器码和中断呢?

这是因为程序员可以通过编程来指挥CPU为人们工作,而对 CPU 发号施令的就是机器码。此外,CPU 在与外设交互时,最重要的机制就是中断,内存、磁盘 IO、网络 IO 有很多功能都是依赖中断完成的,所以,不管是系统级程序员,还是应用开发程序员,深刻地理解中断也是你的必备技能之一。

好,不啰嗦了,现在就请你点开下面的视频,来学习今天的课程吧!

点击这里获取课件,提取码:hn66。

精选留言(15)
  • 👍(4) 💬(2)

    CPU 多核,大核和小核 有什么区别的?

    2021-10-27

  • 海生 👍(3) 💬(1)

    中断常规的就是楼主讲的,不过增加了芯片的管脚,后来发明了msi和msi-x技术,增加描述寄存器,通过带内总线来发中断。

    2021-12-25

  • 伯阳 👍(2) 💬(1)

    感觉这种东西有点难啊 老师

    2021-11-12

  • 小时候可鲜啦 👍(2) 💬(1)

    CPU刷新流水线的目的是啥?

    2021-11-04

  • Stormouble 👍(1) 💬(1)

    老师,关于CPU乱序执行有一个疑惑:乱序执行下,为保证顺序,会把指令的执行结果会被写入到重排序缓存ROB中,按照原有顺序进行提交。既然会保证顺序,那么为什么会出现因为乱序执行导致的并发问题呢? 举个例子; cpu1: load 地址B 寄存器B;store 100 地址A cpu2: load 地址A 寄存器A;store 200 地址B 假设cpu1乱序执行,先执行store指令,再执行load指令,cpu2顺序执行,初始时地址A、B的值为0。在cpu1执行完store指令后,cpu2开始执行load指令,这个时候cpu1看到的值可能是100吗?

    2021-11-17

  • 海生 👍(0) 💬(1)

    楼主会讲arm得汇编吗?

    2021-12-25

  • HollyWong 👍(0) 💬(2)

    段寄存器在8086里是直接存放段基址,但是在286以上也是有用的,存放的是段选择子,用它到段表里找段描述符,然后在段描述符里有段基址。所以一直有用,不能说段寄存器没用了。

    2021-11-10

  • 冬风向左吹 👍(12) 💬(1)

    视频尽然不能倍速播放。。。

    2021-11-07

  • 分清云淡 👍(12) 💬(0)

    CPU这20年主频没法提升的核心原因是:频率提升就必然导致电压提升(3倍指数提升),这是因为频率高了,因为晶体管的门延迟效应,必须加大电压来抵消这个门延迟,所以一昧提升频率得不偿失(能耗高),另外温度控制不住,所以最终大家都选择了2-3G主频这个区间。特别追求主频的也有做到5G的,是用能耗高换来的,实操意义不大

    2021-11-07

  • 我爱裸奔 👍(4) 💬(0)

    极客看到目前最好的课程

    2022-01-25

  • 秋天的树 👍(0) 💬(0)

    老师cpu响应中断跟人脑响应外部事件原理一样吗

    2024-07-30

  • Geek_a851a9 👍(0) 💬(0)

    老师很强居然录了视频 话不多说,老师你录了我就学了

    2023-05-17

  • 当初莫相识 👍(0) 💬(0)

    视频能在其他地方播放吗,这里不能缓存,没法在地铁上看,也不能倍速

    2022-10-20

  • Geek_225244 👍(0) 💬(0)

    PPT生成汇编地方,采用-S选项的 GCC 编译过程会为每个被编译的输入文件生成以.s作为后缀的汇编语言文件,变量的名称作为汇编语言语句中的注释,可以加上-fverbose-asm选项: PPT用的是误写成 -s(小写),这个参数会把符号表从最终的可执行文件中删除。

    2022-01-19

  • 海生 👍(0) 💬(0)

    ARM中针对大于32位位宽的操作数,通过增加单独一个得特殊寄存器,并标记有效位宽来实现

    2021-12-25