summaryrefslogtreecommitdiff
path: root/src/systemc
diff options
context:
space:
mode:
authorGiacomo Gabrielli <giacomo.gabrielli@arm.com>2018-02-26 13:41:08 +0000
committerGiacomo Gabrielli <giacomo.gabrielli@arm.com>2019-05-30 15:55:59 +0000
commitfc61172dbe4e3a93f941227a1f36b7f07e97ab68 (patch)
tree264b957011c381cdda74d08642c5404ece247b45 /src/systemc
parent5365c18f2e309b54d3e37dc98d8cca20ec9d4219 (diff)
downloadgem5-fc61172dbe4e3a93f941227a1f36b7f07e97ab68.tar.xz
cpu-o3: Add support for pinned writes
This patch adds support for pinning registers for a certain number of consecutive writes. This is only relevant for timing CPU models (functional-only models are unaffected), and it is primarily needed to provide a realistic execution model for micro-coded operations whose microops can write to non-overlapping portions of a destination register, e.g. vector gather loads. In those cases, this mechanism can disable renaming for a sequence of consecutive writes, thus making the resulting execution more efficient: allocating a new physical register for each microop would introduce a read-modify-write chain of dependencies, while with these modifications the microops can write back in parallel. Please note that this new feature is only leveraged by O3CPU for the time being. Additional authors: - Gabor Dozsa <gabor.dozsa@arm.com> Change-Id: I07eb5fdbd1fa0b748c9bdc1174d9f330fda34f81 Signed-off-by: Giacomo Gabrielli <giacomo.gabrielli@arm.com> Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/13520 Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Maintainer: Andreas Sandberg <andreas.sandberg@arm.com> Tested-by: kokoro <noreply+kokoro@google.com>
Diffstat (limited to 'src/systemc')
0 files changed, 0 insertions, 0 deletions