编程高手必学的内存知识
海纳
华为编译器高级专家,原 Huawei JDK 团队负责人
20674 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 33 讲
编程高手必学的内存知识
15
15
1.0x
00:00/01:38
登录|注册

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

讲述:海纳大小:1.50M时长:01:38
你好,我是海纳。
在开始正式的课程之前,我专门为你设置了三节导学课,目的是帮你打好基础,扫清一些知识盲区,这样你学习这个课程会更加轻松、高效。
导学部分共有三节课,都是以视频方式讲述的,内容比较多,但我保证干货十足,非常值得你花时间好好观看学习。
今天这节导学课,我们会来拆解 CPU 的基本结构和运行原理。我们知道,CPU 作为计算机的总司令官,它管理着计算机的所有资源。它有两个主要的作用,分别是计算和控制。其中,计算主要是指逻辑数值运算,控制则体现在对数据传输,输入输出的控制上。可以想象,CPU 在内存管理方面一定发挥着重要的作用。
CPU 的基本架构,包含了运算器、寄存器、内存管理单元等模块。我在视频中会对这些模块的构成原理、运行原理以及其作用进行介绍。
了解了基本架构之后,我们还会从 CPU 运行的角度出发,来深入理解机器码和中断的原理。为什么我要给你讲机器码和中断呢?
这是因为程序员可以通过编程来指挥 CPU 为人们工作,而对 CPU 发号施令的就是机器码。此外,CPU 在与外设交互时,最重要的机制就是中断,内存、磁盘 IO、网络 IO 有很多功能都是依赖中断完成的,所以,不管是系统级程序员,还是应用开发程序员,深刻地理解中断也是你的必备技能之一。
好,不啰嗦了,现在就请你点开下面的视频,来学习今天的课程吧!
00:00 / 00:00
    1.0x
    • 2.0x
    • 1.5x
    • 1.25x
    • 1.0x
    • 0.75x
    • 0.5x
    网页全屏
    全屏
    00:00
    点击这里获取课件,提取码:hn66。
    确认放弃笔记?
    放弃后所记笔记将不保留。
    新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
    批量公开的笔记不会为你同步至部落
    公开
    同步至部落
    取消
    完成
    0/2000
    荧光笔
    直线
    曲线
    笔记
    复制
    AI
    • 深入了解
    • 翻译
      • 英语
      • 中文简体
      • 中文繁体
      • 法语
      • 德语
      • 日语
      • 韩语
      • 俄语
      • 西班牙语
      • 阿拉伯语
    • 解释
    • 总结

    CPU是计算机的核心部件,负责管理计算机的所有资源,包括计算和控制。本文通过视频课程介绍了CPU的基本结构和运行原理。CPU的基本架构包括运算器、寄存器、内存管理单元等模块,作者详细介绍了它们的构成原理、运行原理以及作用。此外,文章还深入讲解了机器码和中断的原理,强调了程序员通过编程指挥CPU工作的重要性,以及对中断的深刻理解对于系统级程序员和应用开发程序员的必备技能。整体而言,本文通过视频课程深入浅出地介绍了CPU的基本结构和运行原理,对于想要深入了解计算机核心部件的读者来说,是一份干货十足的学习资料。

    2021-10-2531人觉得很赞给文章提建议

    仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
    《编程高手必学的内存知识》
    新⼈⾸单¥59
    立即购买
    登录 后留言

    全部留言(19)

    • 最新
    • 精选
    • CPU 多核,大核和小核 有什么区别的?

      作者回复: 大核频率高,电路更复杂,计算能力更强,功耗高;小核反之。这是为了适应不同特点的任务。有的任务时间敏感就调度给大核,有的任务时间长但性能要求不高就交给小核。任务的核间调度算法是大小核架构上的重要优化方向。

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

      作者回复: 顶你上精选评论!

      2021-12-25
      3
    • 伯阳
      感觉这种东西有点难啊 老师

      作者回复: 嗯。要记的东西有点多,难是不难的。加油!

      2021-11-12
      1
    • 小时候可鲜啦
      CPU刷新流水线的目的是啥?

      作者回复: 它也不想啊:(,它在遇到分支指令的时候会猜一个去执行,如果发现最后猜错了,只好把流水线排空,再去把对的拿进来执行。

      2021-11-04
      1
    • 海生
      楼主会讲arm得汇编吗?

      作者回复: 一点点,主要是arm的服务器不太容易搞。虽然手机很多,但是手机上的相关调试工具少了一点,所以还是拿大家最熟悉的x86来讲。我看你对arm已经很熟悉了呀。

      2021-12-25
    • Stormouble
      老师,关于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吗?

      作者回复: 这个问题产生的原因非常复杂,我们在第15课会有详细解释,欢迎持续关注。如果看完第15课,还不能解决你的问题,你可以继续提问。

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

      作者回复: i386的段选择子我们已经讲了。你再看看64位是怎么处理的呢?

      2021-11-10
      2
    • 冬风向左吹
      视频尽然不能倍速播放。。。
      2021-11-07
      1
      12
    • 分清云淡
      CPU这20年主频没法提升的核心原因是:频率提升就必然导致电压提升(3倍指数提升),这是因为频率高了,因为晶体管的门延迟效应,必须加大电压来抵消这个门延迟,所以一昧提升频率得不偿失(能耗高),另外温度控制不住,所以最终大家都选择了2-3G主频这个区间。特别追求主频的也有做到5G的,是用能耗高换来的,实操意义不大
      2021-11-07
      12
    • 我爱裸奔
      极客看到目前最好的课程
      2022-01-25
      4
    收起评论
    显示
    设置
    留言
    19
    收藏
    41
    沉浸
    阅读
    分享
    手机端
    快捷键
    回顶部