计算机基础实战课

计算机基础实战课 / 系统级工程师“压箱底”的学习笔记

彭东 网名 LMOS,Intel 傲腾项目关键开发者
  • 课程目录
  • 课程介绍
  • 在线阅读:开篇词|练好基本功,优秀工程师成长第一步

    能来回穿梭于底层与高层之间,不至于手忙脚乱,我最大的依仗就是深厚的计算机基础。

  • 01|CISC & RISC:从何而来,何至于此

    把握计算机的历史,才能知道它是如何一步步发展到今天这个样子的,才能推导出未来的发展方向。

  • 02|RISC特性与发展:RISC-V凭什么成为“半导体行业的Linux”?

    作为未来芯片指令集的主流,RISC-V是今后芯片设计的最佳方案,甚至可以说它就是硬件行业里的Linux。为什么这么说呢?

  • 先睹为快:迷你CPU项目效果演示

    先睹为快,看看我们最后做出的迷你CPU长什么样子。

  • 03|硬件语言筑基(一):从硬件语言开启手写CPU之旅

    一个芯片的内部电路是怎么样的?Verilog语言和我们熟悉的软件编程语言有什么共同点和不同点呢?问题的答案都在这节课里!

  • 04|硬件语言筑基(二): 代码是怎么生成具体电路的?

    通过这节课,你不但能复习巩固上节课学到的硬件语言知识,还能在动手实践中体会代码是怎么生成具体电路的。

  • 05|指令架构:RISC-V在CPU设计上到底有哪些优势?

    RISC-V遵循的是大道至简的原则,今天我们聊聊RISC-V到底在CPU设计上有哪些优势?

  • 06|手写CPU(一):迷你CPU架构设计与取指令实现

    今天我们会学习流水线的思想,设计出我们MiniCPU的架构,并实现流水线的第一步——取指模块。

  • 07|手写CPU(二):如何实现指令译码模块?

    指令译码是CPU流水线中比较重要的一步,今天我带你拿下它。

  • 08|手写CPU(三):如何实现指令执行模块?

    指令执行算是CPU流水线中最复杂的一个阶段,今天我就带你拿下它。

  • 09|手写CPU(四):如何实现CPU流水线的访存阶段?

    手写CPU第四步,咱们继续挑战。这节课我们先想办法解决流水线的数据冒险问题,然后再完成流水线访存阶段相关模块的设计。

  • 10|手写CPU(五):CPU流水线的写回模块如何实现?

    这节课我们一起实现流水线的最后一级,也就是写回控制模块和数据通路模块的设计。

  • 11|手写CPU(六):如何让我们的CPU跑起来?

    今天是RISC-V处理器的实现的最后一节课,让我们完成迷你CPU外围组件的设计,并且在我们自己的CPU上跑个程序玩一玩!

  • 用户故事|我是怎样学习Verilog的?

    这次用户故事,我主要想和你聊聊我对 Verilog 和专栏学习的一些粗浅理解,希望对你有启发。

  • 12|QEMU:支持RISC-V的QEMU如何构建?

    动手实践的前提,就是要建立一个开发环境,这个环境具体包括编译环境、执行环境,以及各种常用的工具软件。

  • 13|小试牛刀:跑通RISC-V平台的Hello World程序

    这节课,让我们动手定制一个能运行RISC-V可执行程序的QEMU模拟器。

  • 14|走进C语言:高级语言怎样抽象执行逻辑?

    首先要清楚C语言的重要组成部分。你可能会说,C语言的重要组成当然是C语言代码。但代码只是一个统称。从不同层次抽象,里面的内容是不一样的……

  • 15|C与汇编:揭秘C语言编译器的“搬砖”日常

    让我们就来继续揭秘C语言编译器的日常工作,搞清楚各种类型变量、各种运算符、流程控制以及由它们组成的函数,是如何对应到机器指令的.

  • 16|RISC-V指令精讲(一):算术指令实现与调试

    这里我们将从RV32I的算术指令开始,先学习加减指令(add、sub),接着了解一下数值比较指令(slt)。

  • 17|RISC-V指令精讲(二):算术指令实现与调试

    今天我们继续学习逻辑指令(and、or、xor)和移位指令 (sll、srl、sra)。

  • 18|RISC-V指令精讲(三):跳转指令实现与调试

    不管什么程序都不能永无止境地顺序运行下去,所以需要控制程序流程,对数据进行比较判断,根据结果执行相应的动作。

  • 19|RISC-V指令精讲(四):跳转指令实现与调试

    一些代码实现里,我必须根据条件的判断状态进行跳转。这种语句落到指令集层,就需要用到有条件跳转指令。

  • 20|RISC-V指令精讲(五):原子指令实现与调试

    原子指令是现代高级通用芯片里不可缺少的,是系统软件或者应用软件现实共享数据保护,维护共享数据一致性的重要基础依赖设施。

  • 21|RISC-V指令精讲(六):加载指令实现与调试

    加载指令为高级语言实现有无符号的类型变量提供了基础,让我们的开发工作更便利。

  • 22|RISC-V指令精讲(七):访存指令实现与调试

    计算机运算完成的结果,一开始会放在寄存器中,但最终归宿还是内存,此时就需要存储指令发挥作用了。

  • 23|内存地址空间:程序中地址的三种产生方式

    让我们迈出认识内存的第一步,先搞清楚CPU怎么访问内存,然后再来分析内存地址从何而来……

  • 24|虚实结合:虚拟内存和物理内存

    这节课我会带探索虚拟内存和物理内存的本质,并讲解虚实结合的思路和过程。

  • 25|堆&栈:堆与栈的区别和应用

    堆和栈不可以混为一节课,理解了这节课,相信你也能清晰地把堆和栈的本质讲给身边的同学。

  • 26|延迟分配:提高内存利用率的三种机制

    为了提高内存利用率,还有一些巧妙的机制等待我们探索。今天我就跟你聊聊其中的三种“玩法”,分别是写时复制、请求调页和mmap系统调用。

  • 27|应用内存管理:Linux的应用与内存管理

    Linux内核怎么来管理内存?Golang为什么能够实现高效、自动化地管理内存?通过这节课的学习你将找到答案,

  • 28|进程调度:应用为什么能并行执行?

    我们从加载应用的shell入手,讨论了进程是什么,再从单个进程到多个进程,最后还聊到了多核心多进程。

  • 29|应用间通信(一):详解Linux进程IPC

    应用程序之间有时需要互相通信,互相协作,才能完成相关的功能。这就不得不由操作系统介入,实现一种通信机制。

  • 30 |应用间通信(二):详解Linux进程IPC

    在大型商业系统中,通常需要消息队列和内存共享来使模块之间进行通信和协作,这节课我们就来学习这两种通信方式。

  • 国庆策划01|知识挑战赛:检验一下学习成果吧!

    国庆假期愉快!今天是知识挑战赛,邀你一起做做题,检验一下自己的学习成果!

  • 国庆策划02|来自课代表的学习锦囊

    这里是国庆特别策划的第二期,我特地邀请了两位“课代表”来分享一下他们学习方法。

  • 国庆策划03|揭秘代码优化操作和栈保护机制

    今天是国庆假期策划的第三期。我们来公布第一期主观题的答案,揭秘代码优化操作和栈保护机制。

  • 31|外设通信:IO Cache与IO调度

    今天,我们一起学习外设通信中的重要组件——缓存,它主要是在内存中开辟一大空间来暂时保存与外设通信的大量数据。

  • 32|IO管理:Linux如何管理多个外设?

    今天我会带你了解,帮你掌握Linux管理设备的核心机制。

  • 33|lotop与lostat命令:聊聊命令背后的故事与工作原理

    这节课我想带你认识两大监控IO操作的神器——iostat与iotop,让你掌握安装、使用它们的方法,以及它们的工作原理。

  • 34|文件仓库:初识文件与文件系统

    数据是以文件的形式储存下来的,而文件数量一多,就需要文件系统来管理文件。这节课,我会带你认识文件和文件系统。

  • 35|Linux文件系统(一):Linux如何存放文件?

    这节课我会带你建立一个虚拟硬盘,并在上面建立一个文件系统。对照代码实例,相信你会对Ext3的结构有一个更深入的认识。

  • 36|Linux文件系统(二):Linux如何存放文件?

    学完这两节课,你会对Ext3文件系统已经有更深入的了解。

  • 37|浏览器原理(一):浏览器为什么要用多进程模型?

    我希望带你看看巨型软件应用优秀的架构设计,同时也带你了解一下平时用到的浏览器里,有哪些技术原理比较关键。

  • 38|浏览器原理(二):浏览器进程通信与网络渲染详解

    Chrome中有这么多进程,它们之间如何进行 IPC 通信呢?

  • 39|源码解读:V8 执行 JS 代码的全过程

    这节课我会从源码理解讲起,带你了解了V8 执行 JS 代码的全过程。

  • 40|内功心法(一):内核和后端通用的设计思想有哪些?

    我会带你一起看看内核和后端通用的设计思想都有哪些,它们又是如何用在具体技术里的?这节课我先分享三大通用“心法”,分别是并行化、异步和调度。

  • 41|内功心法(二):内核和后端通用的设计思想有哪些?

    无论是操作系统内核,还是后端当中,池化、分层和缓存这三种设计思想也是通用的。

  • 42|性能调优:性能调优工具eBPF和调优方法

    有没有一款工具可以贯穿操作系统的各个模块,帮我们准确分析运行的程序、系统的运行细节呢?当然有,答案就是eBPF。

  • 结束语|心若有所向往,何惧道阻且长

    学习是一辈子的事情,千万别停止学习。

  • 期末测试|来赴一场100分之约!

    课程已经完结,我特别给你准备了一套结课测试题,帮你检验学习成果。

  • 温故知新|思考题参考答案(一)

    希望这节答疑课帮你把思考题环节做个“闭环”。

  • 温故知新|思考题参考答案(二)

    今天是我们第二次答疑课。

  • 加餐01|云计算基础:自己动手搭建一款IAAS虚拟化平台

    这节课,我会带你一起了解KVM,并带你动手搭建一套私有化的IAAS平台,这其实是一个既有趣又有价值的事情。

  • 加餐02 | 学习攻略(一):大数据&云计算,究竟怎么学?

    这节课,让我们就一起了解云计算PaaS层的大数据体系。

  • 加餐03|学习攻略(二):大数据&云计算,究竟怎么学?

    这节课我们学到了开源大数据生态中的三个重要角色,它们是Hadoop大数据平台的基础,负责了文件存储、资源管理和分布式协调。

  • 加餐04|谈谈容器云与和CaaS平台

    在当今容器化呼声越来越高的场景下,容器云平台呼声也是越来越高,这节课我们就简单了解一下CaaS。

  • 加餐05|分布式微服务与智能SaaS

    分布式微服务技术是怎么演进出来的?

57讲

交流群限时开放


你将获得

  • 一通百通,8大模块揭秘计算机系统
  • 学以致用,10+实验项目边学边练
  • 前沿视野,实现一个迷你RISCV处理器
  • 高手带路,内核开发者的学习心法

讲师介绍

曾独立开发过两套全新的操作系统内核:LMOS 和 LMOSEM。其中 LMOS 先后发布了 8 个测试版本,至今已是一个多进程、多 CPU、支持虚拟内存的全 64 位操作系统内核(x86_64 体系下),代码量达 10 万余行。LMOSEM(基于 ARM 体系)则是嵌入式操作系统的新尝试,实验了不同于 LMOS 的新架构、新代码。


课程介绍

虽然 IT 领域中各种新框架、新技术层出不穷,但它们的根基还是那些计算机基础知识。没有扎实的计算机基础知识,应用层的技术学习就像空中楼阁,只能看到表象却无法理解本质,学习的时候自然是一头雾水。

正所谓“磨刀不误砍柴工”,优秀工程师的共同特质就是扎实深厚的计算机基础知识,相信工作过一段时间的人都能意识到它的重要性。

尽管知道扎实的基本功对开发效率、技术成长都很重要,但是我们学习时遇到的问题也很多,通常困惑于以下三类问题:

  • 基础是什么:对基础知识到底包括哪些,需要学到什么程度心里没底。
  • 基础怎么学:底层技术那么多,内容繁多不知从何下手,缺乏清晰系统的学习路径。
  • 理论如何和应用相结合:脑子说会了,手说“你没有”,学习技术的时候看了很多资料仍然无法融会贯通,更别说应用到工作之中。

为此,我们邀请到彭东老师,他既做过前端、后端的工作,也做过内核的开发。在这门课里,老师将结合自己十多年的理论和实战经验,帮你从源头开始一步步夯实基本功:从硬件到软件、从指令语言到内存,从原理到应用,带你系统了解计算机的基础知识。

学完这门课程,你就掌握了 IT 领域 80% 相对稳定不变的那部分知识,对于学习任何一门应用技术也是很好的前置准备。

课程设计

串联计算机从底层到应用的关键知识点,总计四个核心、八大关卡。

核心一:历史
学计算机基础,需要先学习它的历史,学习计算机是怎么一步步发展到今天这个样子的,以今天的状况推导未来的发展方向。我们会重点讨论编程架构是怎么创造出来的、CPU 从何而来、CISC 和 RISC 又各有什么优缺点。

核心二:硬件基础知识
了解硬件的工作机制对工程师实现优秀的应用软件非常重要。这里不但会详细讲解芯片的工作机制与原理,还会带你手把手实现一个五级流水线的迷你 RISCV 处理器(基于Verilog,配套代码量2882行)。

核心三:软件基础知识
想要开发高性能的应用程序,语言与指令、应用与内存、IO 与文件方面的知识都是必修内容。这里我们会通过第三关到第六关四个章节带你掌握这些计算机软件基础中最核心、最重要的知识。

高级语言和低级语言之间如何互相转化?应用堆和栈内存有什么不同?多个进程之间如何通信?Linux如何管理外设,又如何存放文件……这些重难点问题,一个都不会漏掉。

核心四:应用层基础知识
带你从底层角度审视前端技术跟后端架构,并探讨云计算、大数据与智能制造。这些热门领域都是对基础技术的综合应用,有助于你开阔视野,提升自己的知识迁移能力,让你真正学有所用。


课程目录


订阅须知

随机推荐

轻上西梅饮膳食纤维植物果蔬汁益生菌元风味饮料点评怎么样?详细...

轻上西梅饮膳食纤维植物果蔬汁益生菌元风味饮料评测值得买吗?深...

朗适RS100适合入手吗?评测教你怎么选?

SANWA SUPPLYMA-ERG9好不好,入手推荐?最新口碑评测反馈?

SANWA SUPPLYMA-ERG9评测性价比高吗?图文评测爆料分析?

佳沃云南蓝莓14mm 12盒原箱生鲜值得买吗?用户口碑评测,参考指...