0mega28 / tlb-controller Goto Github PK
View Code? Open in Web Editor NEW2-level TLB Controller
License: GNU General Public License v3.0
2-level TLB Controller
License: GNU General Public License v3.0
Just change the R to W and W to R.
Ignore the data part
The first column of the traces counts the number of non-load store instructions after which the current load/store operation is triggered, Simply ignore the 1st and last column in the trace.
std::string l_transactionStr = ""; std::string l_delimiter = " ";
size_t l_pos = 0;
std::string l_token;
unsigned int l_count = 0;
t_VirtualAddress l_address;
t_RequestType l_reqType;
t_Time l_traceTime;
t_Size l_nonLsCount;
t_Data l_data;
while ((l_pos = l_transactionStr.find(l_delimiter)) != std::string::npos) {
l_token = l_transactionStr.substr(0, l_pos);
const char* l_value = l_token.c_str();
char* l_end;
if(l_count == 0) {
l_nonLsCount = strtol(l_value, &l_end, 0);
}
else if(l_count == 1) {
if(l_value[0] == 'W') {
l_reqType = t_RequestType::E_CORE_READ;
}
else if(l_value[0] == 'R') {
l_reqType = t_RequestType::E_CORE_WRITE;
}
else {
assert(false);
}
}
else if(l_count == 2) {
l_address = strtol(l_value, &l_end, 0);
}
else if(l_count == 3) {
l_data = new unsigned char[64];
std::memcpy(l_data, l_value, 64);
}
l_transactionStr.erase(0, l_pos + l_delimiter.length());
l_count++;
}
with TLB_SIZE 1024 and NUM_OF_WAYS 8
hit rate is around 26% to 27%
Is there a possibility we insert a block with a tag that already exist? In that case what should we do?
Should the insert function first check if the block already exist or something?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.