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.
This commit is contained in:
@@ -37,6 +37,7 @@ SimObject('Cache.py')
|
||||
SimObject('Sequencer.py')
|
||||
SimObject('DirectoryMemory.py')
|
||||
SimObject('MemoryControl.py')
|
||||
SimObject('WireBuffer.py')
|
||||
SimObject('RubySystem.py')
|
||||
|
||||
Source('DMASequencer.cc')
|
||||
@@ -44,6 +45,7 @@ Source('DirectoryMemory.cc')
|
||||
Source('SparseMemory.cc')
|
||||
Source('CacheMemory.cc')
|
||||
Source('MemoryControl.cc')
|
||||
Source('WireBuffer.cc')
|
||||
Source('MemoryNode.cc')
|
||||
Source('PersistentTable.cc')
|
||||
Source('RubyPort.cc')
|
||||
|
||||
Reference in New Issue
Block a user