资源简介
根据直接映射的cache工作原理,针对一个8行的cache工作过程进行仿真,每行(块)为一个字,1字4字节,需要读取的内存地址在trace.txt文件中列出。请编写程序,实现8行的cache工作过程进行仿真,可显示每个内存地址,及是否命中;命中率。
代码片段和文件信息
#include
#include
#include
using namespace std;
struct address {
int flag[29];//记录标志位
int flg;//判断块中是否有数据 0没有 1有
};
int main() {
char buffer[11];
int buff[8] binbuff[32] a[4] = { 8421 };
int i j temp = 0 count = 0 n = 0 flg = 1;
struct address Cache[8];
ifstream in(“trace.txt“); //读取路径文件
if (!in.is_open()) {
cout << “Error opening file“; //打开文件失败,退出
exit(1);
}
while (!in.eof()) {
in.getline(buffer 11);
n++;
temp = 0;flg = 1;
cout << “Read address: “ << buffer << endl; //读地址
for (i = 0;i < 8;i++) {//16进制转化2进制
switch (buffer[i + 2]) {
case ‘A‘:
buff[i] = 10;
break;
case ‘B‘:
buff[i] = 11;
break;
case ‘C‘:
buff[i] = 12;
break;
- 上一篇:太原理工大学C语言课程设计火车票订票系统
- 下一篇:模糊控制器 C++实现.zip
相关资源
- DSS中的RTSPclientLib程序
- c 常用的数据结构 (Errata for Ford/Top
- rip协议编程及代码实现
- Windows Sockets 编程及UR机器人通信数据
- 茶壶的光照观察组(c++代码)
- C++实战源码-小蛇长得快
- C++实战源码-文字水平滚动
- C++实战源码-替换指定的字符串
- C++实战源码-小球称重
- C++实战源码-新同学的年龄
- C++实战源码-向数组中赋值
- C++实战源码-用#打印三角形
- C++实战源码-统计学生成绩分布
- C++实战源码-向数组中插入元素
- C++实战源码-用指向函数的指针比较大
- C++实战源码-用宏定义实现值互换
- C++实战源码-CD抓取
- C++实战源码-指定符号分割字符串
- C++实战源码-抓不住的兔子
- C++实战源码-用new动态创建结构体
- C++实战源码-将AVI动画分解成BMP位图
- C++实战源码-修改可执行文件中的资源
- C++实战源码-指向结构体变量的指针
- C++实战源码-将二维数组行列对换
- C++实战源码-应用random_shuffle算法将元
- C++实战源码-应用adjacent_find算法搜索相
- C++实战源码-数组中整数的判断
- C++实战源码-获取数组中元素的个数
- C++实战源码-将二维数组转换为一维数
- C++实战源码-迭代器的用法
评论
共有 条评论