diff options
author | Lisa Hsu <Lisa.Hsu@amd.com> | 2011-03-31 17:17:57 -0700 |
---|---|---|
committer | Lisa Hsu <Lisa.Hsu@amd.com> | 2011-03-31 17:17:57 -0700 |
commit | 322b9ca2c5b0465db7086abdc6eadca061932575 (patch) | |
tree | b14837962707de7b90b95c0b0a7b09ffa1988847 /src/mem/protocol | |
parent | 06fcaf9104cefe5a2c0062b9357dae46bfd9992a (diff) | |
download | gem5-322b9ca2c5b0465db7086abdc6eadca061932575.tar.xz |
Ruby: Add new object called WireBuffer to mimic a Wire.
This is a substitute for MessageBuffers between controllers where you don't
want messages to actually go through the Network, because requests/responses can
always get reordered wrt to one another (even if you turn off Randomization and turn on Ordered)
because you are, after all, going through a network with contention. For systems where you model
multiple controllers that are very tightly coupled and do not actually go through a network,
it is a pain to have to write a coherence protocol to account for mixed up request/response orderings
despite the fact that it's completely unrealistic. This is *not* meant as a substitute for real
MessageBuffers when messages do in fact go over a network.
Diffstat (limited to 'src/mem/protocol')
-rw-r--r-- | src/mem/protocol/RubySlicc_Types.sm | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/mem/protocol/RubySlicc_Types.sm b/src/mem/protocol/RubySlicc_Types.sm index add3d979b..7d444ab57 100644 --- a/src/mem/protocol/RubySlicc_Types.sm +++ b/src/mem/protocol/RubySlicc_Types.sm @@ -146,6 +146,10 @@ structure (CacheMemory, external = "yes") { void setMRU(Address); } +structure (WireBuffer, inport="yes", outport="yes", external = "yes") { + +} + structure (MemoryControl, inport="yes", outport="yes", external = "yes") { } |