实验报告
实验二 存贮层次模拟器
完成日期: 2010-10-20
学时:2 学时
【实验目的】
1、使学生清楚认识虚拟存贮层次结构,熟练掌握常用的几种存储地址映象与变换方法,以
及 FIFO、LRU 等替换算法的工作全过程。
2、要求用程序实现任意地址流在存储层次上的命中情况,实验结束后提交源程序和实验说
明书。
【实验内容】
在模拟器上实现在任意块地址流下求出在 Cache—主存两层存贮层次上的命中率。
【实验步骤】
1.Cache—主存:映像方式要实现全相联、直接映象、组相联方式三种方式,并选
择每一种映像方式下输出结果;替换算法一般使用 LRU 算法。
3.要求主存容量、Cache 大小、块大小以及组数等可以输入修改。
4.求出命中率;显示替换的全过程;任选一种高级语言来做。
5.要有简洁、易于操作的界面。
【实验仪器设备】
计算机(装有常用编程环境,如 C、VC++等)
【源程序、实验结果及分析、实验心得及体会】
源程序(主要代码):
// kong ya rui main_fustore.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "stdio.h"
int mainsize,fusize, groupnum;
int num;//要访问的块总数
int groupsize;//组中块数
int mizhnum=0;//命中次数
int type;//0 表示 FIFO,1 表示 LRU
int choice;//0 表示组相联,1 表示全相联,2 表示直接映像
int groupaddrmin,groupaddrmax;
int full;//判断是否要调入
int main()
{ int k,l;
int i;
int pageadd[100],cachesize[100],busy[100], time[100];
printf(" .............mainstore-fustore 模拟器............. ");
printf("主存的容量为:");
评论0