Files

「Datawhale 开源 408 计划」——《深入理解计算机系统》Computer Systems: A Programmer's Perspective

前言

本部分为「Datawhale 开源 408 计划」首篇旨在通过计算机科学领域经典丛书《深入理解计算机系统》Computer Systems: A Programmer's PerspectiveCSAPP帮助更多的小伙伴理解计算机真实的运行过程与逻辑。Datawhale开源社区将全程支持并提供CSAPP原书习题、lab伴读、课件制作等内容。

本部分为《深入理解计算机系统》原书第一部分内容前六章。我们鼓励小伙伴们使用「费曼学习法」”纸上得来终觉浅绝知此事要躬行。“课件中提供了相应的ppt教材您可以尝试给自己讲述相关内容以强化理解也可以录制自己讲述知识点过程中的视频作为组队学习的打卡内容。

针对不同基础的同学,我们设置了不同梯度的内容:

  1. 对于只想了解「计算机组成原理」、「计算机系统」与「计算机底层」的同学来说只需学习CSAPP原课件与参考视频即可。
  2. 对于学有余力的同学可以根据我们的参考习题与lab进行分析和实现。
  3. 对于想要「应用与进阶」的同学,我们提供了高性能计算知乎专栏-高性能计算翻译计划),可根据配套内容进行探索和打卡。

值得注意的是「Datawhale 开源 408 计划」旨在为各位同学提供理解计算机相关内容的不同角度,对于需要考研的小伙伴们,本部分仅供参考,具体内容请以教材为主。

任务安排

Task 01计算机系统漫游2天

  • 操作系统的作用、虚拟内存和计算机体系内部的通信
  • 高性能计算领域的定理、并发和并行的概念及模型

Task 02信息的表示和处理3天

  • 计算机中信息存储和表示的模型以及运算
  • 整数的表示与编码、计算机中对整数运算的实现
  • 计算机中浮点数的表示及运算实现

Task 03程序的机器级表示5天

  • 程序的汇编及机器码中字段、寄存器相关的内容、数据的传送
  • 计算机中算术及逻辑操作的实现、指令的控制流、数组的分配和访问
  • 结构体等异质数据结构及其实现、缓冲区溢出

Task 04处理器体系架构3天

  • 指令集体系结构、指令编码
  • 指令执行的各阶段

Task 05优化程序性能2天

  • 数据局部性与循环展开

Task 06存储器层次结构2天

  • 高速缓存的作用、高性能计算中隐式利用缓存编程

参考资料

1.汇编指令集

2.Makefile

3.CSAPP lab

4.CSAPP 课后习题

5.参考视频

贡献者名单

贡献者 贡献内容
李岳昆 知乎,Github 提供全书第一部分1-3章内容pdf、高性能计算教材翻译
易远哲 Github 提供全书第一部分4-6章内容pdf
叶前坤 Github 参考习题与lab
chuxiaoyu 博客 开源贡献「Datawhale 开源 408 计划」统筹工作

特别鸣谢:蒋志政 Github 提供了高性能计算教材部分翻译内容