Cache替换策略

1. Introduction 本文主要内容系Reference的整理,介绍了cache访问模式的分类和几种cache替换策略。 2. Cache访问模式分类 $$ \begin{align} &A:( a_1 , a_2 , ... , a_{k-1} , a_k , a_k , a_{k-1} , ... , a_2 , a_1 )^ N\text{ for any k}\\ &B:( a_1 , a_2 , ... , a_k )^ N \text{ k > cache size}\\ &C:(( a_ more ...

CacheSim-1 Cache背景知识简介

Introduction CacheSim 简单的Cache模拟器 专辑目录 本文简要介绍Cache的背景知识,以及Cache结构的划分。 在计算机系统中,CPU高速缓存(英语:CPU Cache,在本文中简称缓存)是用于减少处理器访问内存所需平均时间的部件。在金字塔式存储体系中它位于自顶向下的第二层,仅次于CPU寄存器。其容量远小于内存,但速度却可以接近处理器的频率。 当处理器发出内存访问请求时,会先查看缓存内是否有请求数据 more ...

CacheSim-3 详细实现check_cache_hit等函数

Introduction CacheSim 简单的Cache模拟器 专辑目录 本文详细说明load_trace、check_cache_hit等函数。 1.程序入口 main.cpp主要针对一个测试文件,配置了不同cache line大小,不同组相联路数,不同的替换策略。默认使用写回法。默认cache大小32KB(0x8000 Bytes)。 在每次循环里, more ...


CacheSim-5 实验数据分析

Introduction CacheSim 简单的Cache模拟器 专辑目录 本文统计了组相联路数、cache_line_size,cache_size以及替换策略对miss率和读写通信数据量的影响,并以图表的形式展现出来。 1. 组相联路数的影响 不变条件:cache_line_size 32bytes,LRU,Cache_size 32KB more ...


arm的cache lock down(cache 锁)

Introdution arm官方手册中关于cache lock down的部分 Arm9 Processers的Rev0.ARM940T Technical Reference Manual.Caches and Write Buffer Cache lock down部分。 鉴于我的水平,请和上面官网的文档部分结合查看, more ...

Linux查看cache信息

Introduction 本文介绍了如何在linux下查看cache的信息,并进行简单的分析。 unix设计哲学 一切皆文件 Linux也很好的继承了这个理念。 cpu cache 我的cpu: Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz cpu文件 文件夹/sys/devices/system more ...

CacheSim-2 类的设计

Introduction CacheSim 简单的Cache模拟器 专辑目录 本文说明了模拟的Cache需要完成的功能,以及大体框架设计,通过头文件内容的说明,使读者获得整体的认识。 1.模拟Cache需要完成的功能 1.1 指令读取 由于主存访问trace以文件形式给出, trace文件下载 所以需要从文件中读取访存tra more ...