程序代写代做代考 cache 实验四讲解

实验四讲解

实验四讲解
彭振

实验内容
cache模拟器

#参数 指示符 参数含义
1 -t trace_file 指定读取的Trace文件。
2 -s size Cache的大小:最大64K字节,最小1K字节。
3 -a associativity 相连度:支持1,2,3,…全相连。
4 -b block_size 块大小:支持32,64,128,256字节。

实验设计

*

实验设计
目录表项:有效位1位+标识tagbits;
目录表大小为:blockNum*sizeof(目录表项)
查找过程:
主存地址M->索引位index->候选位置candidates(1到多个);
主存地址M->标识tag->在candidates逐项查找;
找到->有效位为1->命中->更新过程;
找到->有效位为0->不命中->更新过程;
没找到->不命中->更新过程;

实验设计
更新过程:
命中更新:LRU命中块位置调整到栈顶;
不命中更新:
Candidate有空闲位置Empty(替换算法)->新块填入Update位置->找到目录表项->设置有效位和标识;
Candidatea无空闲位置:
替换算法->要替换的块位置Update->新块填入Update位置->找到目录表项->设置有效位和标识;
替换算法:
随机:从candidate随机选择要替换的块位置;
LRU:从candidate选择最久没有访问的块(栈底);

实验设计
更新过程数据结构:
第Index组块总数+第index组空闲块数;
随机算法:无需其它辅助
LRU算法:第index组LRU栈;
压栈;命中更新;不命中更新;