-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reg arbitration #199
Reg arbitration #199
Conversation
Can you provide the performance impact of this patch here? |
36540f6
to
df51ffd
Compare
df51ffd
to
77ef9f2
Compare
src/cpu/o3/issue_queue.cc
Outdated
#define RF_INTID 0 | ||
#define RF_FPID 1 | ||
|
||
// rftpi = regfile typeid + portid |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
tpi seems to be strange.
TyPoID? or full name: typePortID
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
how about "TyPI"
src/cpu/o3/issue_queue.cc
Outdated
@@ -241,7 +284,21 @@ IssueQue::retryMem(const DynInstPtr& inst) | |||
iqstats->retryMem++; | |||
DPRINTF(Schedule, "retry %s [sn:%llu]\n", enums::OpClassStrings[inst->opClass()], inst->seqNum); | |||
// scheduler->loadCancel(inst); | |||
scheduler->addToFU(inst); | |||
// scheduler->addToFU(inst); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
remove useless code
src/cpu/o3/issue_queue.cc
Outdated
@@ -405,6 +474,7 @@ bool | |||
IssueQue::full() | |||
{ | |||
bool full = instNumInsert + instNum >= iqsize; | |||
full |= replayQ.size() > 32; // TODO: parameterize it |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Plz finish todo here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe remove this future
src/cpu/o3/issue_queue.cc
Outdated
{ | ||
dispTable.resize(enums::OpClass::Num_OpClass); | ||
opExecTimeTable.resize(enums::OpClass::Num_OpClass, 1); | ||
opPipelined.resize(enums::OpClass::Num_OpClass, false); | ||
|
||
boost::dynamic_bitset<> opChecker(enums::Num_OpClass, 0); | ||
std::vector<int> rfportChecker(64, 0); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The meaning of 64? add comments or replace it with constants
src/cpu/o3/issue_queue.cc
Outdated
} | ||
maxTPI += 1; | ||
assert(maxTPI <= 64); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The meaning of 64? add comments or replace it with constants
maxTPI = std::max(maxTPI, tpi.first); | ||
rfportChecker[tpi.first] += 1; | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we use const auto &
here?
3c3fe29
to
64b30e4
Compare
64b30e4
to
061e7d3
Compare
move scheduler to one config python file
No description provided.