diff options
author | Joe Gross <joseph.gross@amd.com> | 2015-07-20 09:15:18 -0500 |
---|---|---|
committer | Anthony Gutierrez <anthony.gutierrez@amd.com> | 2019-10-31 18:42:04 +0000 |
commit | bb94296373dde1d0ce971ee58ad111f4225c425e (patch) | |
tree | 107f689b6450a1c986eacfa36412dbdfe1635551 /src/systemc | |
parent | 0125bf80b514c6745ea985b3b13116b42cc0548f (diff) | |
download | gem5-bb94296373dde1d0ce971ee58ad111f4225c425e.tar.xz |
mem-ruby: Fixed pipeline squashes caused by aliased requests
This patch was created by Bihn Pham during his internship at AMD.
This patch fixes a very significant performance bug when using the O3
CPU model and Ruby. The issue was Ruby returned false when it received
a request to the same address that already has an outstanding request or
when the memory is blocked. As a result, O3 unnecessary squashed the
pipeline and re-executed instructions. This fix merges readRequestTable
and writeRequestTable in Sequencer into a single request table that
keeps track of all requests and allows multiple outstanding requests to
the same address. This prevents O3 from squashing the pipeline.
Change-Id: If934d57b4736861e342de0ab18be4feec464273d
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/21219
Reviewed-by: Anthony Gutierrez <anthony.gutierrez@amd.com>
Maintainer: Anthony Gutierrez <anthony.gutierrez@amd.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Diffstat (limited to 'src/systemc')
0 files changed, 0 insertions, 0 deletions