CMU 15-213 CSAPP网课学习笔记(Lecture1)

本文介绍了CMU课程CMU15-213的第一讲,涵盖了数字表示、机器级编程(包括x86-64汇编)、内存系统、性能优化和计算机网络。通过实例探讨了内存边界问题、性能差距和汇编代码理解。强调了实验室在课程中的核心地位,以及学习方法——反复阅读和实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CMU 15-213 CSAPP网课学习笔记(Lecture1)


Lecture1 Course Overview

课程主题1:花费几个星期的时间讨论数字、数字的表示及其属性

课程主题2:学习关于机器级编程的意义:汇编语言\二进制编码指令

你编写的c语言代码是如何变成机器码并执行的?

本课程更多是关于如何获取c汇编器生成的汇编代码 阅读它并理解它。

特别关注英特尔处理器的汇编语言:x86-64,指令集的64位版本

课程主题3:内存系统:理解计算机数据结构


example1

example1

一个有关内存存储下标越界,程序缺不报错而是继续输出的例 子:c#不执行边界检查

地球上最可怕的debugging噩梦:试图找出内存引用错误


课程主题4:从程序角度增加它们的性能:了解系统运行规律->优化


example2

example2

唯一的区别是嵌套顺序不同(行/列),但是左边4.3ms,右边80ms,
why the performance differs?


课程主题5:计算机网络

请添加图片描述

15-213是CMU所有研究生的一门导论性质的课,各个方向由此深入。

作为程序员,这门课给你一种视角:当你在着手去实现某种功能的时候,你会知道计算机的特性是什么,为什么这个特性很重要。使你的程序编写或者其他工作更加easy。

Dave教授认为比较好的学习方法:阅读每章节三遍,然后去完成章末的练习题。


labs

  • L1(datalab)
  • L2(bomblab)
  • L3(attacklab)
  • L4(cachelab)
  • L5(tshlab)
  • L6(malloclab)
  • L7(proxylab)

Labs are the heart of the course!!


写在最后

如果你能看到这里,很感谢啦!

这里是yubisco7的CSDN博客,他在这里记录自己的计算机学习过程。

欢迎交流、提出建议或指正错误,希望我们能够共同进步。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值