summaryrefslogtreecommitdiff
path: root/src/mem/ruby/network/garnet/fixed-pipeline/VCallocator_d.cc
diff options
context:
space:
mode:
authorDavid Hashe <david.hashe@amd.com>2015-07-20 09:15:18 -0500
committerDavid Hashe <david.hashe@amd.com>2015-07-20 09:15:18 -0500
commit0d00cbc97b47344e12e9eb943efb9ca29db66898 (patch)
tree705c0b835f10b1f910b9753b96d07ee8b474f4f9 /src/mem/ruby/network/garnet/fixed-pipeline/VCallocator_d.cc
parent8b32dad4d8545bf33285853936ede834cb39cf77 (diff)
downloadgem5-0d00cbc97b47344e12e9eb943efb9ca29db66898.tar.xz
ruby: change router pipeline stages to 2
This patch changes the router pipeline stages from 4 to 2. The canonical 4-stage router is conservative while a lower-latency router with look ahead routing and speculative allocation is well acknowledged.
Diffstat (limited to 'src/mem/ruby/network/garnet/fixed-pipeline/VCallocator_d.cc')
-rw-r--r--src/mem/ruby/network/garnet/fixed-pipeline/VCallocator_d.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/mem/ruby/network/garnet/fixed-pipeline/VCallocator_d.cc b/src/mem/ruby/network/garnet/fixed-pipeline/VCallocator_d.cc
index 395b1a9c5..a7430b06e 100644
--- a/src/mem/ruby/network/garnet/fixed-pipeline/VCallocator_d.cc
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/VCallocator_d.cc
@@ -117,6 +117,7 @@ VCallocator_d::wakeup()
clear_request_vector();
check_for_wakeup();
+ m_router->call_sw_alloc();
}
bool
@@ -236,7 +237,6 @@ VCallocator_d::arbitrate_outvcs()
m_router->curCycle());
m_output_unit[outport_iter]->update_vc(
outvc_iter, inport, invc);
- m_router->swarb_req();
break;
}
}
@@ -261,7 +261,7 @@ VCallocator_d::check_for_wakeup()
for (int i = 0; i < m_num_inports; i++) {
for (int j = 0; j < m_num_vcs; j++) {
if (m_input_unit[i]->need_stage(j, VC_AB_, VA_, nextCycle)) {
- scheduleEvent(Cycles(1));
+ m_router->vcarb_req();
return;
}
}