資源簡介
根據直接映射的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:?“?< 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
評論
共有 條評論