计算机系统基础实验——Cache的模拟

实验过程及要求

在NEMU中实现一个cache,性质如下:

1. cache block储存空间的大小为64B和cache储存空间的大小为64KB

字节(Byte)相当于一个字符,8位 = 1B

uint8_t block[64];
2. 8-way set associative

组相联映射的主要思想是,将cache分成大小相等的组,每个主存块被映射到cache固定组中的任意一行,也即采用组间模映射、组内全映射的方式。映射关系如下:cache组号 = 主存块号 mod cache组数
组相联方式下,主存地址呗划分为标记、cache组号和块内地址三个字段。

标记 cache组号 块内地址

假设cache共有2c行,被分成2q组,则每组有 2c/2q = 2c-q 行。设s = c - q,则cache映射方式称为2s路组相联映射
若主存共有2m块,主存块大小占2b字节,按字节编址,则块内地址有b,为,cache组号有q位,标记和cache组号共m位,因而标记占t = m - q 位。

根据memory.c中#define MEM_SIZE_B 128 * 1024 * 1024再根据实验要求,可知

c = 10
q = 7
m = 21
b = 6
t = 14

struct CacheLine
{
   
	uint8_t valid_bit;
	uint32_t tag;
	ui
  • 8
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值