Introduction
项目地址:
也放到了CacheSim-开源中国上 这个专辑记录了写一个非常简单的cache模拟器的过程。 主要是因为我要做的研究里,使用gem5来跑程序太慢了,所以只能自己在项目里实现一个简易的cache模拟器,获得一些实验数据。 正好加州大学圣迭戈分校(University of California, San Diego,简称为UCSD,又常译为加州大学圣地亚哥分校)有一门Principles of Computer Archictecture的课程,其中有个cache 模拟器的实验,本专辑最一开始参考的代码即是某位同学的代码,并在他的基础上,进行了错误纠正和优化完善。
本专辑正在编写,大概7.24完成。行文仓促,如有纰漏,恳请指正。
1. Cache背景知识简介
本文简单介绍了Cache的相关背景知识,包括cache的来源以及结构,说明了组相联的地址映射方式和地址划分。并解释了模拟器中地址字段位数的设定。
2. Cache模拟器类的设计
本文说明了模拟Cache需要完成的功能,以及大体框架设计。介绍了头文件的内容
3. Cache模拟器详细实现
主要介绍了读入trace文件、分析指令、构造函数、检查命中函数等
4. Cache模拟器详细实现2
主要说明了cache miss以后的操作,包括set_cache_line
和get_cache_free_line
函数。
5. 实验数据总结
本文通过python脚本对实验数据进行了统计,以图表形式进行了说明。
Comments