- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机系统结构课程
实验报告
2010 ——2011 学年
第 2 学期
实验二:存贮层次模拟器
学时:2学时
实验类型:(综合/设计):设计
一、实验目的与要求
使学生清楚认识cache-主存层次结构,熟练掌握常用的几种存储地址映象与变换方法,以及FIFO、LRU等替换算法的工作全过程。
要求用程序实现任意地址流在存储层次上的命中情况,实验结束后提交源程序和实验说明书。
二、实验内容
在模拟器上实现在任意地址流下求出在 Cache—主存存贮层次上的命中率。
三、实验步骤
1.Cache—主存:映像方式可以选择全相联、直接映象、组相联方式;替换算法一般使用LRU算法。
2.要求主存容量、Cache大小、块大小以及组数等可以输入修改。
3.求出命中率;显示替换的全过程;任选一种高级语言来做。
4.要有简洁、易于操作的界面。
四、代码
#include stdio.h
#include string.h
typedef struct CMemory4
{
int gm;//组号
int bm;
};
CMemory4 mem4[50];
typedef struct CCach4
{
int gc;
int bc;
int cc;
int bs;
};
CCach4 cac4[50];
int a2[10][20],b2[10][20];
void inputmem2(int m_num,int group) //输入
{
int i,t=0,nn=0;
for(i=0;im_num;)
{
for(int j=0;jgroup;j++)
{
if(i=m_num)
{
break;
}
printf(第%d块,i);
scanf(%d,nn);
mem4[i].bm=nn;
mem4[i].gm=nn%group;
i++;
}
}
}
void initcac2(int ilen,int group) //
{
int i=0,j=0;
for(i;igroup;i++)
{
for(j;jilen/group;j++)
{
//cac[j].gc=i;//
cac4[j].bc=-1;//
cac4[j].cc=0;
cac4[j].bs=j;
}
}
}
void change2(int x,int y,int cnum)
{
for(int i=0;icnum;i++)
{
cac4[i].cc+=1;
}
a2[y][x]=cac4[y].bc;
b2[y][x]=cac4[y].cc;
}
void fdl(int cnum)
{
int tmp;
tmp=cac4[0].bc;
for(int i=0;icnum;i++)
{
cac4[i].bc=cac4[i+1].bc;
}
cac4[cnum-1].bc=tmp;
}
float steadcac2(int tt,int c_num,int j,float h,int i,int g,int group)
{
float sc=h;
int fi=1,fj;//判断是否装满的标记
for (int jj=0;jjc_num;jj++)//判断cache中是否装满
{
if(jj%group==gcac4[jj].bc==-1)
{
fi=0;//没有装满
fj=jj;
break;
}
}
if(fi==0)// 未装满
{
cac4[fj].bc=tt;//装入Cache中
printf(块%d装入%d组%d块号\n,tt,g,cac4[fj].bs);
}
else //装满
{
int m=0;
for(m;mc_num;m++)
{
if(tt==cac4[m].bc)
{
printf(块%d命中%d组%d块号\n,tt,g,cac4[m].bs);
sc=sc+1;//命中
break;
}
}
if (m==c_num)
{
fdl(c_num);//FIFO替换,把进队较早的替换掉
cac4[0].bc=tt;
printf
您可能关注的文档
- 附表二拟配备本工程的试验和检测仪器设备表.doc
- 腹肌锻炼方法.doc
- 钢结构厂房布置及设备.doc
- 钢结构加工方法及流程.doc
- 钢筋工程量计算方法.doc
- 钢与铜的焊接工艺、铜与铝的焊接工艺.doc
- 高层供水方法.doc
- 高级汽车修理工技能试卷汇总_修理.doc
- 高级瓦楞纸板生产线可行性报告.doc
- 高考政治常见计算题及其解题方法.doc
- CNAS-CL63-2017 司法鉴定-法庭科学机构能力认可准则在声像资料鉴定领域的应用说明.docx
- 12J7-3 河北《内装修-吊顶》.docx
- 12N2 河北省12系列建筑标准设计图集 燃气(油)供热锅炉房工程.docx
- 内蒙古 12S8 排水工程 DBJ03-22-2014.docx
- 山西省 12S10 12系列建筑标准设计 管道支架、吊架.docx
- 16J601-木门窗标准图集.docx
- 12J8 河北省12系列《 楼梯》.docx
- CNAS-GL37 2015 校准和测量能力(CMC)表示指南.docx
- CNAS-RL02-2016 能力验证规则.docx
- 津02SJ601 PVC塑料门窗标准.docx
文档评论(0)