Ruby: Add new object called WireBuffer to mimic a Wire.
authorLisa Hsu <Lisa.Hsu@amd.com>
Fri, 1 Apr 2011 00:17:57 +0000 (17:17 -0700)
committerLisa Hsu <Lisa.Hsu@amd.com>
Fri, 1 Apr 2011 00:17:57 +0000 (17:17 -0700)
commit322b9ca2c5b0465db7086abdc6eadca061932575
treeb14837962707de7b90b95c0b0a7b09ffa1988847
parent06fcaf9104cefe5a2c0062b9357dae46bfd9992a
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.
src/mem/protocol/RubySlicc_Types.sm
src/mem/ruby/SConscript
src/mem/ruby/system/SConscript
src/mem/ruby/system/WireBuffer.cc [new file with mode: 0644]
src/mem/ruby/system/WireBuffer.hh [new file with mode: 0644]
src/mem/ruby/system/WireBuffer.py [new file with mode: 0644]
src/mem/slicc/symbols/StateMachine.py