计算机系统结构实验报告册1

计算机系统结构实验报告册1

ID:44211938

大小:124.61 KB

页数:8页

时间:2019-10-19

上传者:无敌小子
计算机系统结构实验报告册1_第1页
计算机系统结构实验报告册1_第2页
计算机系统结构实验报告册1_第3页
计算机系统结构实验报告册1_第4页
计算机系统结构实验报告册1_第5页
资源描述:

《计算机系统结构实验报告册1》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

实验报告计算机系统结构实验报告册姓名:孔艳艳学号:201421102专业:计算机科学与技术班级:201421102指导教师:孙全红华北水利水电学院信息工程学院系统结构教研室6 实验报告实验一存贮层次模拟器学时:4学时【实验目的】1、使学生清楚认识虚拟存贮层次结构,熟练掌握常用的几种存储地址映象与变换方法,以及FIFO、LRU等替换算法的工作全过程。2、要求用程序实现任意地址流在存储层次上的命中情况,实验结束后提交源程序和实验说明书。【实验内容】在模拟器上实现在任意地址流下求出在Cache—主存两层存贮层次上的命中率。【实验步骤】1.Cache—主存:映像方式要实现全相联、直接映象、组相联方式三种方式,并选择每一种映像方式下输出结果;替换算法一般使用LRU算法。3.要求主存容量、Cache大小、页大小、块大小以及组数等可以输入修改。4.求出命中率;显示替换的全过程;任选一种高级语言来做。5.要设计出简洁、易于操作的界面。【实验仪器设备】计算机(装有常用编程环境,如C、VC++等)【源程序、实验结果及分析、实验心得及体会】源程序:#include#include#includestructCacheStruct{intblocknum;intcount;};voidAll_LinkLRU(CacheStructcs[],intbottom,intstream[],intk,intresult[20][20]){intj=0,m=0,max=0,location=0,hitnum=0;cout<max){location=m;max=cs[m].count;}m++;}if(m==bottom)//未命中,所有块计数器都已加1,{result[bottom][i]=cs[location].blocknum;cs[location].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(imax){max=cs[j].count;m=j;}if(cs[j].blocknum==stream[i])break;}if(j<=end)//命中6 实验报告{result[bottom+1][i]=0;cs[j].count=0;if(j>Mvolumn>>Cvolumn>>Blockvolumn;while((Mvolumn*1024)%Blockvolumn!=0||Cvolumn%Blockvolumn!=0){cout<<"主存空间大小与Cache空间大小应是块大小的整数倍!";cout<<"请依次输入主存空间大小(MB),Cache空间大小(KB),分块大小(KB):";cin>>Mvolumn>>Cvolumn>>Blockvolumn;}Mblocknum=(Mvolumn*1024)/Blockvolumn;Cblocknum=Cvolumn/Blockvolumn;cout<<"请输入CPU访问主存块流:(-1结束输入)";cin>>t;while(t!=-1){if(t<0||t>=Mblocknum){cout<<"已跳过输入错误的无效的块地址!";cin>>t;}else{stream[k]=t;k++;cin>>t;}}//完成result数组的初始化for(i=0;i<20;i++){for(intj=0;j<20;j++){result[i][j]=-1;}}cout<<"请输入地址映射方式:(1.全相联2.直接映射3.组相联)";cin>>type;switch(type){case1:All_LinkLRU(cs,Cblocknum,stream,k,result);break;case2:Direct_link(cs,Cblocknum,stream,k,result);break;case3:{cout<<"请输入主存分组数:";cin>>groupnum;while(Mblocknum%groupnum!=0||Cblocknum%(Mblocknum/groupnum)!=0)//输入的组数不能被整除{cout<<"输入主存分组数有误!请依据主存与Cache分块数确定合适的分组数:";cin>>groupnum;}Group_link(cs,Cblocknum,stream,k,groupnum,result);}}cout<<"还要继续输入块地址流吗?(YorN)";cin>>ch;}6 实验报告实验结果及分析使用全相联的映射方式:使用直接相联的映射方式:使用组相联的映射方式:实验心得及体会通过上机操作,我掌握了常用的几种存储地址映像与变换方法,并且认识了虚拟存储结构的层次,了解了FIFO和LRU算法。虽然需要学习的地方还有很多,相信在将来的学习中会不断地进步。6

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
大家都在看
近期热门
关闭