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_lineget_cache_free_line函数。

5. 实验数据总结

本文通过python脚本对实验数据进行了统计,以图表形式进行了说明。

6. 增加Cache locking技术的支持(代码中已经实现,以及L1,L2多级cache的设计,文章还未补充)


文章版权归 FindHao 所有丨本站默认采用CC-BY-NC-SA 4.0协议进行授权|
转载必须包含本声明,并以超链接形式注明作者 FindHao 和本文原始地址:
https://findhao.net/easycoding/1717.html

Comments