Age | Commit message (Collapse) | Author | |
---|---|---|---|
2010-01-19 | ruby: new atomics implementation | Derek Hower | |
This patch changes the way that Ruby handles atomic RMW instructions. This implementation, unlike the prior one, is protocol independent. It works by locking an address from the sequencer immediately after the read portion of an RMW completes. When that address is locked, the coherence controller will only satisfy requests coming from one port (e.g., the mandatory queue) and will ignore all others. After the write portion completed, the line is unlocked. This should also work with multi-line atomics, as long as the blocks are always acquired in the same order. | |||
2010-01-19 | merge | Derek Hower | |
2009-12-04 | ruby: cleaned up ruby-lang configuration | Derek Hower | |
2009-11-18 | Resurrection of the CMP token protocol to GEM5 | Brad Beckmann | |
2009-11-18 | ruby: The persistent table files from GEMS | Brad Beckmann | |
These files are need by the MOESI_CMP_token protocol. | |||
2009-11-18 | ruby: returns the number of LLC needed for broadcast | Brad Beckmann | |
Added feature to CacheMemory to return the number of last level caches. This count is need for broadcast protocols such as MOESI_hammer. | |||
2009-11-18 | ruby: cache configuration fix to use bytes | Brad Beckmann | |
Changed cache size to be in bytes instead of kb so that testers can use very small caches and increase the chance of writeback races. | |||
2009-11-18 | ruby: fix CacheMemory destructor | Brad Beckmann | |
2009-11-18 | ruby: split CacheMemory.hh into a .hh and a .cc | Brad Beckmann | |
2009-11-18 | ruby: Fixed Directory memory destructor | Brad Beckmann | |
2009-11-18 | ruby: Support for merging ALPHA_FS and ruby | Brad Beckmann | |
Connects M5 cpu and dma ports directly to ruby sequencers and dma sequencers. Rubymem also includes a pio port so that pio requests and be forwarded to a special pio bus connecting to device pio ports. | |||
2009-11-18 | ruby: Ruby 64-bit address output fixes. | Brad Beckmann | |
2009-11-18 | ruby: added sequencer stats to track what requests are waiting on | Derek Hower | |
2009-11-13 | ruby: gave ALIASED_REQUEST priority over BUFFER_FULL in sequencer | Derek Hower | |
2009-11-13 | ruby: reduce the memory usage of ruby by making memory vector page based | Derek Hower | |
2009-11-13 | ruby: cache memory bugfix | Derek Hower | |
2009-09-21 | Atomics bug fix | Polina Dudnik | |
2009-09-17 | Functionality migrated to sequencer. | Polina Dudnik | |
2009-09-15 | ruby: improve libruby_issue_request feedback | Derek Hower | |
2009-09-15 | removed isReady from the library interface | Derek Hower | |
2009-09-14 | ruby:removed unused code from CacheMemory | Derek Hower | |
2009-09-10 | ruby: removed SMT-related Sequencer assert | Derek Hower | |
2009-09-09 | ruby: made Locked read/write atomic requests within ruby | Derek Hower | |
2009-08-25 | merge | Derek Hower | |
2009-08-25 | Automated merge with ssh://hg@m5sim.org/m5 | Derek Hower | |
2009-08-25 | ruby: CacheMemory tag lookup uses a hash instead of a loop | Derek Hower | |
2009-08-21 | [mq]: first_patch | Polina Dudnik | |
2009-08-15 | Made servicing_atomic a counter and added started writes: | Polina Dudnik | |
a function for setting the flag to indicate that the rmw_writes started issuing | |||
2009-08-14 | Multi-line RMW handling | Polina Dudnik | |
2009-08-14 | SMT atomics modifications: | Polina Dudnik | |
don't allow enquing from other threads if servicing and atomic for a thread | |||
2009-08-04 | slicc: added MOESI_CMP_directory, DMA SequencerMsg, parameterized controllers | Derek Hower | |
This changeset contains a lot of different changes that are too mingled to separate. They are: 1. Added MOESI_CMP_directory I made the changes necessary to bring back MOESI_CMP_directory, including adding a DMA controller. I got rid of MOESI_CMP_directory_m and made MOESI_CMP_directory use a memory controller. Added a new configuration for two level protocols in general, and MOESI_CMP_directory in particular. 2. DMA Sequencer uses a generic SequencerMsg I will eventually make the cache Sequencer use this type as well. It doesn't contain an offset field, just a physical address and a length. MI_example has been updated to deal with this. 3. Parameterized Controllers SLICC controllers can now take custom parameters to use for mapping, latencies, etc. Currently, only int parameters are supported. | |||
2009-07-29 | ruby: fixed clearStats | Derek Hower | |
2009-07-27 | ruby: removed unused/incorrect profiler state | Derek Hower | |
2009-07-21 | ruby: fixed sequencer RMW data bug | Derek Hower | |
2009-07-20 | ruby: moved cache stats from Profiler to CacheMemory | Derek Hower | |
Caches are now responsible for their own statistic gathering. This requires a direct callback from the protocol on misses, and so all future protocols need to take this into account. | |||
2009-07-18 | ruby: removed all refs to old RubyConfig | Derek Hower | |
2009-07-18 | ruby: removed dead files | Derek Hower | |
2009-07-18 | merge | Derek Hower | |
2009-07-18 | ruby: fixed dma sequencer bug | Derek Hower | |
The DMASequencer was still using a parameter from the old RubyConfig, causing an offset error when the requested data wasn't block aligned. This changeset also includes a fix to MI_example for a similar bug. | |||
2009-07-13 | 1. Got rid of unused functions in DirectoryMemory | Polina Dudnik | |
2. Reintroduced RMW_Read and RMW_Write 3. Defined -2 in the Sequencer as well as made a note about mandatory queue Did not address the issues in the slicc because remaking the atomics altogether to allow multiple processors to issue atomic requests at once | |||
2009-07-13 | Changes to add tracing and replaying command-line options | Polina Dudnik | |
Trace is automatically ended upon a manual checkpoint | |||
2009-07-13 | Locked requests should actually be converted to ST rather than ATOMIC, ↵ | Polina Dudnik | |
because ATOMIC is for RMW. | |||
2009-07-13 | Minor fixes for compiling | Polina Dudnik | |
2009-07-13 | Replaced RMW with Locked. RMW will be used for the coherence-aided atomics ↵ | Polina Dudnik | |
other than LLSC | |||
2009-07-13 | Moved the lock check and clearing the lock into makeRequest | Polina Dudnik | |
2009-07-13 | Forgot to replace one of the RubyRequest_RMW | Polina Dudnik | |
2009-07-13 | Reintegrated Derek's functional implementation of atomics with a minor ↵ | Polina Dudnik | |
change: don't clear lock on failure | |||
2009-07-06 | ruby: apply some fixes that were overwritten by the recent ruby import. | Nathan Binkert | |
2009-07-06 | scons: update SCons files for changes in ruby. | Nathan Binkert | |
2009-07-06 | ruby: Import the latest ruby changes from gems. | Nathan Binkert | |
This was done with an automated process, so there could be things that were done in this tree in the past that didn't make it. One known regression is that atomic memory operations do not seem to work properly anymore. |