计算机基础实战课

计算机基础实战课

00 开篇词 练好基本功,优秀工程师成长第一步

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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