freecache

Cache模拟器的设计与实现

拟墨画扇 提交于 2020-07-29 02:51:48
csim.c   实验一文件,根据存放程序对数据的访问记录的输入文件内容,模拟cache,获得模拟结果。变量与函数解析如下: 变量解析 verbosity :是否输出每一行记录的命中、缺失、替换情况,一般用于bug测试 s :组索引组号位宽 b :cache每一行存放的数据位宽,即块内偏移位宽 E :关联度,即每组的行数,每组内是全相联 trace_file :数据访问追踪记录文件路径 S :组索引组数,由位宽计算得到 cache :模拟cache的一个二维数组,根据组号以及组内行号确定一行cache set_index_mask :用于获得组号的一个mask 函数解析 initCache :根据S,E创建cache数据,并初始化set_index_mask freeCache :回收cache模拟数组空间 accessData :根据传入地址,模拟访问一次数据,更新模拟结果 replayTrace :根据trace文件模拟整个数据访问,有的记录需要两次访问数据 printUsage :打印帮助信息 main :处理传入的参数,将参数传入函数,依次调用initCache、replayCache、freeCache、printSummary模拟Cache csim.c编程要求: .模拟器必须在输入参数s、E、b设置为任意值时均能正确工作——即: /* * csim.c - A