Tagged: cache

1

CacheSim-5 实验数据分析

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

1

CacheSim-4详细实现cache miss以后的操作

Introduction CacheSim 简单的Cache模拟器 专辑目录本文主要介绍cache miss以后的操作。接上一章的cache hit以后的操作,如果miss了 index = get_cache_free_line(set_base); set_cache_line((_u32)index, addr); if (is_read) { cache_r_count++; } else { cache_w_count++; } cache_mi...

1

CacheSim-3 详细实现check_cache_hit等函数

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

1

CacheSim-2 类的设计

Introduction CacheSim 简单的Cache模拟器 专辑目录本文说明了模拟的Cache需要完成的功能,以及大体框架设计,通过头文件内容的说明,使读者获得整体的认识。 1.模拟Cache需要完成的功能 1.1 指令读取 由于主存访问trace以文件形式给出,trace文件下载所以需要从文件中读取访存trace。其中trace的格式如下: s 0x1fffff50 1 每行的第一个字符是表示该条指令的类型,s为写(store),r为读(read...

1

CacheSim-1 Cache背景知识简介

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

5

手把手教你写Cache模拟器

Introduction 项目地址:CacheSim- GithubStar也放到了CacheSim-开源中国上这个专辑记录了写一个非常简单的cache模拟器的过程。主要是因为我要做的研究里,使用gem5来跑程序太慢了,所以只能自己在项目里实现一个简易的cache模拟器,获得一些实验数据。正好加州大学圣迭戈分校(University of California, San Diego,简称为UCSD,又常译为加州大学圣地亚哥分校)有一门Principles ...

1

Linux查看cache信息

Introduction 本文介绍了如何在linux下查看cache的信息,并进行简单的分析。 unix设计哲学 一切皆文件 Linux也很好的继承了这个理念。 cpu cache 我的cpu: Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz cpu文件 文件夹/sys/devices/system/cpu就是对cpu的文件映射。进入以后,随便进一个cpu核,可以看到cache文件夹,tree以后: . ├── index0...

2

arm的cache lock down(cache 锁)

Introdution arm官方手册中关于cache lock down的部分Arm9 Processers的Rev0.ARM940T Technical Reference Manual.Caches and Write Buffer Cache lock down部分。鉴于我的水平,请和上面官网的文档部分结合查看,本文主要是对上文的翻译。如有纰漏,恳请指正。绝大多数情况下cache对程序员都是透明的,但是仍然会出现要求cache line不要被替换的...

0

多级cache的管理策略

Exclusive vs Inclusive cache的多级管理策略wiki上的说明部分 Multi-level caches introduce new design decisions. For instance, in some processors, all data in the L1 cache must also be somewhere in the L2 cache. These caches are called strictly i...