欢迎来到天天文库
浏览记录
ID:56997550
大小:64.00 KB
页数:8页
时间:2020-07-30
《计算机系统结构实验报告册.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、计算机系统结构实验报告册姓名:孔艳艳学号:专业:计算机科学与技术班级:指导教师:孙全红华北水利水电学院信息工程学院系统结构教研室实验一存贮层次模拟器学时:4学时【实验目的】1、使学生清楚认识虚拟存贮层次结构,熟练掌握常用的几种存储地址映象与变换方法,以及FIFO、LRU等替换算法的工作全过程。2、要求用程序实现任意地址流在存储层次上的命中情况,实验结束后提交源程序和实验说明书。【实验内容】在模拟器上实现在任意地址流下求出在Cache—主存两层存贮层次上的命中率。【实验步骤】1.Cache—主存:映像方式要实现全
2、相联、直接映象、组相联方式三种方式,并选择每一种映像方式下输出结果;替换算法一般使用LRU算法。3.要求主存容量、Cache大小、页大小、块大小以及组数等可以输入修改。4.求出命中率;显示替换的全过程;任选一种高级语言来做。5.要设计出简洁、易于操作的界面。【实验仪器设备】计算机(装有常用编程环境,如C、VC++等)【源程序、实验结果及分析、实验心得及体会】源程序:#include#include#includestructCacheStruct{i
3、ntblocknum;intcount;};voidAll_LinkLRU(CacheStructcs[],intbottom,intstream[],intk,intresult[20][20]){intj=0,m=0,max=0,location=0,hitnum=0;cout<4、ream[i];j++;//continue;}else{while(m5、[m].count++;m++;}}hitnum++;//continue;}}}else{m=0;max=0;location=0;while(mmax){location=m;max=cs[m].count;}m++;}if(m==bottom)//未命中,所有块计数器都已加1,{result[bottom][i]=cs[location].blocknum;cs[locatio6、n].blocknum=stream[i];cs[location].count=0;result[location][i]=stream[i];}else{result[bottom+1][i]=0;cs[m].count=0;m++;if(m!=bottom){while(m!=bottom){cs[m].count++;m++;}}hitnum++;}}if(i7、for(intt=0;t8、[t][s]<<"t";else{if(result[t+1][s]!=-1)//块命中cout<<"无替换t";elsecout<<"块失效t";}}else{if(result[t][s]!=-1)//命中cout<<"命中t";elsecout<<"未命中t";}}cout<
4、ream[i];j++;//continue;}else{while(m5、[m].count++;m++;}}hitnum++;//continue;}}}else{m=0;max=0;location=0;while(mmax){location=m;max=cs[m].count;}m++;}if(m==bottom)//未命中,所有块计数器都已加1,{result[bottom][i]=cs[location].blocknum;cs[locatio6、n].blocknum=stream[i];cs[location].count=0;result[location][i]=stream[i];}else{result[bottom+1][i]=0;cs[m].count=0;m++;if(m!=bottom){while(m!=bottom){cs[m].count++;m++;}}hitnum++;}}if(i7、for(intt=0;t8、[t][s]<<"t";else{if(result[t+1][s]!=-1)//块命中cout<<"无替换t";elsecout<<"块失效t";}}else{if(result[t][s]!=-1)//命中cout<<"命中t";elsecout<<"未命中t";}}cout<
5、[m].count++;m++;}}hitnum++;//continue;}}}else{m=0;max=0;location=0;while(mmax){location=m;max=cs[m].count;}m++;}if(m==bottom)//未命中,所有块计数器都已加1,{result[bottom][i]=cs[location].blocknum;cs[locatio
6、n].blocknum=stream[i];cs[location].count=0;result[location][i]=stream[i];}else{result[bottom+1][i]=0;cs[m].count=0;m++;if(m!=bottom){while(m!=bottom){cs[m].count++;m++;}}hitnum++;}}if(i7、for(intt=0;t8、[t][s]<<"t";else{if(result[t+1][s]!=-1)//块命中cout<<"无替换t";elsecout<<"块失效t";}}else{if(result[t][s]!=-1)//命中cout<<"命中t";elsecout<<"未命中t";}}cout<
7、for(intt=0;t8、[t][s]<<"t";else{if(result[t+1][s]!=-1)//块命中cout<<"无替换t";elsecout<<"块失效t";}}else{if(result[t][s]!=-1)//命中cout<<"命中t";elsecout<<"未命中t";}}cout<
8、[t][s]<<"t";else{if(result[t+1][s]!=-1)//块命中cout<<"无替换t";elsecout<<"块失效t";}}else{if(result[t][s]!=-1)//命中cout<<"命中t";elsecout<<"未命中t";}}cout<
此文档下载收益归作者所有