• 大小: 2KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-01-09
  • 语言: C/C++
  • 标签: C/C++  计组  

资源简介

根据直接映射的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;

评论

共有 条评论