不想学习…

image-20251207114642868

才发现是CSAPP的实验,网上很多教程
推荐:https://zhuanlan.zhihu.com/p/79058089

但是网上的教程和北航的实验有一点点差别,Cache大小从1KB变成了512B。

Part1 Cache模拟器实现

题目

在本节中,我们将完成一个Cache模拟器,它通过读取memory trace(内存访问记录文件),模拟访问内存的过程,并且给出每条访问记录在Cache中的命中/缺失情况。本实验只需要补全csim.c文件中的内容,提交评测也只需提交该文件。

题目描述

我们要求实现的Cache模拟器需要满足的功能详情描述如下。

1、读入文件(memory trace)格式

我们实现的Cache模拟器将从文本文件中逐行读取内存访问记录,每一条记录代表了一次内存相关操作。为了评测方便,内存访问记录的格式与valgrind(一个强大的程序内存检测工具,后文会有介绍)的输出格式相同,具体格式如下:

[space]<operation> <address>,<size>
  • <operation>表示操作类型,共分为4类

    • I 表示取指
    • L 表示取数(Load)
    • S 表示存数(Store)
    • M 表示修改(可以视为先Load后Store)
  • [space]为空格,当<operation>为除I类型之外的类型时,会在行首保留一个空格(这一安排是为了与valgrind的格式保持一致)。
  • <address>16进制数,表示一个64位地址(注意地址大小可能会超过32位)
  • <size>为10进制数,表示存/取的内存大小(单位:字节)

阅读全文