这个lab号称是15213的最难lab,对于刚开始学习cs的同学确实是比较难,但对于经历过很多代码的老油条确实不能算太难,尤其是经常用C++刷题的同学而言,用比较低级的语言实现数据结构的能力很是很扎实的。
CMU15213 笔记:malloc CS15-213 lab notes 动态内存分配 如图所示进程的虚拟内存区域,内核维护着一个变量 brk,它指向堆的顶部。 malloc 和 free 函数 在32 位机中,malloc 返回的块的地址总是 8 的倍数,在 64 位机中,该地址总是 16 的倍数。 为了实现动态的内存分配,可以使用 sbrk 函数。 释放内存空间的 ...
这个lab我们会实现一个读取cache访问日志的模拟器用来模拟cache访问过程记录hit,miss和eviction的次数。在这之后会优化矩阵转置的实现,在这部分将体会到如何在cache上雕花不断榨取和利用locality。 除了看lab sheet,还需要看recitation 7的slide,能获得很多额外信息。 多图警告⚠️! Part1 Cache Simulator 第一部分要...
print/x $rsi // ‘/x’ meansprintin hexadecimal 要查看传入被调用函数的参数是什么,最好的办法就是直接看对应函数的汇编代码, 一般来说,$rdi保存第一个参数,$rsi保存第二个,$rax保存返回值 一个小技巧: 按 Enter 键就可以重复上一次操作 info breakpoints (i b) List all breakpoints, along with wheth...
📚CMU-15213笔记分享📖 最近学习了CMU-15213的课程,对程序运行时的内存布局和寄存器存储有了更深入的了解。特别有趣的是,在分析递归算法的复杂度时,发现多个分支的递归算法在栈上的空间复杂度其实只取决于最深的分支深度,因为它们都重复使用同一个栈。这让我对程序运行的内存管理有了新的认识。
CMU 15213 - Malloc Lab Roadmap 在这个 Lab 中要求我们自己实现 C 语言中的 Malloc 函数和 Free 函数的功能。 要想知道这为什么会是一个困难的问题,我们需要先了解几个基本的概念 Constraints for allocator Allocator 有如下这些严格的限制 用户可能请求任何 size 的 block...
Client 会向 Proxy 发送一个 HTTP 请求,而一个 HTTP 请求的构成主要分为三个部分 一个请求行 request line GET http://cmu.edu:8888/test.txt HTTP/1.0 零个或者多个请求头 request header 例如Connection: close,User-Agent: Mozilla/5.0, … 每行请求头都以"\r\n"作为结尾 ...
int a[2]; double d; } struct_t; double fun(int i){ volatile struct_t s; s.d=3.14; s.a[i]=1073741824; return s.d; } 结果:fun(0)=3.14 fun(1)=3.14 fun(2)=3.1399998664856 fun(3)=2.00000061035156 fun(4)=3.14 a数组的访问越界会影响同一结构体中d的值 ...
【20240708 ..贴个时间表吧,早上六点起床跑步,到家大概四十左右吃个早饭背会单词,七点半开始数学一节课加上相应的习题然后先看csapp章节对应章节上课,中午十二点半睡到一点半,然后继续csapp,做完了就听acwin
1. CMU 15213_15513 CSAPP 深入理解计算机系统 Lecture 01 Course Overview 中英字幕 1:15:09 2. CMU 15213_15513 CSAPP 深入理解计算机系统 Lecture 02 Bits, Bytes, and Integer 中英字幕 1:11:05 3. CMU 15213_15513 CSAPP 深入理解计算机系统 Lecture 03 Bits, Bytes, and Integers cont 中英 1:16:35...