CacheSim/main.cpp
2021-12-31 02:21:58 +08:00

31 lines
827 B
C++

#include <iostream>
#include <math.h>
// #include "block.h"
#include "simulator.h"
// using namespace std;
int main(){
std::string temp;
int machineBits, cacheSize, waySize, blockSize;
short setSize;
short offsetSize, tagSize, indexSize;
std::cin >> temp >> temp >> machineBits;
std::cin >> temp >> temp >> cacheSize;
std::cin >> temp >> waySize;
std::cin >> temp >> temp >> blockSize;
setSize = cacheSize * 1024 / blockSize / waySize;
std::cout << setSize << " sets" << std::endl << std::endl;
offsetSize = log2(blockSize);
indexSize = log2(setSize);
tagSize = machineBits - offsetSize - indexSize;
std::cout << "offset: " << offsetSize << std::endl;
std::cout << "index : " << indexSize << std::endl;
std::cout << "tag : " << tagSize << std::endl;
CacheSim::Simulator(setSize, waySize, tagSize);
}