#
14184:11ac1337c5e2 |
|
16-Aug-2019 |
Gabe Black <gabeblack@google.com> |
mem: Move ruby protocols into a directory called ruby_protocol.
Now that the gem5 protocols are split out, it would be nice to put them in their own protocol directory. It's also confusing to have files called *_protocol which are not in the protocol directory.
Change-Id: I7475ee111630050a2421816dfd290921baab9f71 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/20230 Reviewed-by: Gabe Black <gabeblack@google.com> Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Maintainer: Gabe Black <gabeblack@google.com> Tested-by: kokoro <noreply+kokoro@google.com>
|
#
12065:e3e51756dfef |
|
13-Mar-2017 |
Nikos Nikoleris <nikos.nikoleris@arm.com> |
ruby: Add support for address ranges in the directory
Previously the directory covered a flat address range that always started from address 0. This change adds a vector of address ranges with interleaving and hashing that each directory keeps track of and the necessary flexibility to support systems with non continuous memory ranges.
Change-Id: I6ea1c629bdf4c5137b7d9c89dbaf6c826adfd977 Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Reviewed-on: https://gem5-review.googlesource.com/2903 Reviewed-by: Bradford Beckmann <brad.beckmann@amd.com> Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Maintainer: Jason Lowe-Power <jason@lowepower.com>
|
#
11308:7d8836fd043d |
|
19-Jan-2016 |
Tony Gutierrez <anthony.gutierrez@amd.com> |
gpu-compute: AMD's baseline GPU model
|
#
11025:4872dbdea907 |
|
14-Aug-2015 |
Nilay Vaish <nilay@cs.wisc.edu> |
ruby: replace Address by Addr This patch eliminates the type Address defined by the ruby memory system. This memory system would now use the type Addr that is in use by the rest of the system.
|
#
10301:44839e8febbd |
|
01-Sep-2014 |
Nilay Vaish <nilay@cs.wisc.edu> |
ruby: move files from ruby/system to ruby/structures
The directory ruby/system is crowded and unorganized. Hence, the files the hold actual physical structures, are being moved to the directory ruby/structures. This includes Cache Memory, Directory Memory, Memory Controller, Wire Buffer, TBE Table, Perfect Cache Memory, Timer Table, Bank Array.
The directory ruby/systems has the glue code that holds these structures together.
|
#
10086:bd1089db3a88 |
|
23-Feb-2014 |
Nilay Vaish <nilay@cs.wisc.edu> |
ruby: remove few not required #includes
|
#
10008:5176f0a71e56 |
|
04-Jan-2014 |
Nilay Vaish <nilay@cs.wisc.edu> |
ruby: add a three level MESI protocol.
The first two levels (L0, L1) are private to the core, the third level (L2)is possibly shared. The protocol supports clustered designs. For example, one can have two sets of two cores. Each core has an L0 and L1 cache. There are two L2 controllers where each set accesses only one of the L2 controllers.
|
#
10005:8c2b0dc16ccd |
|
04-Jan-2014 |
Nilay Vaish <nilay@cs.wisc.edu> |
ruby: add support for clusters
A cluster over here means a set of controllers that can be accessed only by a certain set of cores. For example, consider a two level hierarchy. Assume there are 4 L1 controllers (private) and 2 L2 controllers. We can have two different hierarchies here:
a. the address space is partitioned between the two L2 controllers. Each L1 controller accesses both the L2 controllers. In this case, each L1 controller is a cluster initself.
b. both the L2 controllers can cache any address. An L1 controller has access to only one of the L2 controllers. In this case, each L2 controller along with the L1 controllers that access it, form a cluster.
This patch allows for each controller to have a cluster ID, which is 0 by default. By setting the cluster ID properly, one can instantiate hierarchies with clusters. Note that the coherence protocol might have to be changed as well.
|
#
8608:02d7ac5fb855 |
|
03-Nov-2011 |
Nilay Vaish<nilay@cs.wisc.edu> |
Ruby: Remove some unused typedefs This patch removes some of the unused typedefs. It also moves some of the typedefs from Global.hh to TypeDefines.hh. The patch also eliminates the file NodeID.hh.
|
#
8602:836f8fad4a4c |
|
28-Oct-2011 |
Nilay Vaish<nilay@cs.wisc.edu> |
Ruby: Reorganize mapping of components In RubySlicc_ComponentMapping.hh, certain '#define's have been used for mapping MachineType to GenericMachineType. These '#define's are being eliminated and the code will now be generated by SLICC instead. Also are being eliminated some of the unused functions from RubySlicc_ComponentMapping.sm.
|
#
8485:7a9a7f2a3d46 |
|
03-Aug-2011 |
Nilay Vaish<nilay@cs.wisc.edu> |
Ruby: Remove files and includes not in use
|
#
8456:5204873afc05 |
|
06-Jul-2011 |
Brad Beckmann <Brad.Beckmann@amd.com> |
ruby: added generic dma machine
|
#
8132:b0ecadb07742 |
|
17-Mar-2011 |
Lisa Hsu <Lisa.Hsu@amd.com> |
Ruby: minor bugfix, line did not adhere to some macro usage conventions.
|
#
7805:f249937228b5 |
|
23-Dec-2010 |
Nilay Vaish<nilay@cs.wisc.edu> |
This patch removes the WARN_* and ERROR_* from src/mem/ruby/common/Debug.hh file. These statements have been replaced with warn(), panic() and fatal() defined in src/base/misc.hh
|
#
7039:bc0b6ea676b5 |
|
22-Mar-2010 |
Nathan Binkert <nate@binkert.org> |
ruby: style pass
|
#
6926:775342cda4db |
|
29-Jan-2010 |
Brad Beckmann <Brad.Beckmann@amd.com> |
ruby: removed last level cache support
Removed the last level cache support and MOESI_hammer's dependency on it. Replaces the LLC support with the more generic MachineType count.
|
#
6862:3d308cbd1657 |
|
19-Jan-2010 |
Derek Hower <drh5@cs.wisc.edu> |
merge
|
#
6843:de4b394c6792 |
|
15-Sep-2009 |
Derek Hower <drh5@cs.wisc.edu> |
ruby: added broadcast mechanism
|
#
6785:bb675ba62c79 |
|
18-Nov-2009 |
Brad Beckmann <Brad.Beckmann@amd.com> |
ruby: returns the number of LLC needed for broadcast Added feature to CacheMemory to return the number of last level caches. This count is need for broadcast protocols such as MOESI_hammer.
|
#
6468:26abdfe2d980 |
|
05-Aug-2009 |
Derek Hower <drh5@cs.wisc.edu> |
ruby: made mapAddressToRange based off a bit count
|
#
6467:5670eee2a866 |
|
04-Aug-2009 |
Derek Hower <drh5@cs.wisc.edu> |
slicc: added MOESI_CMP_directory, DMA SequencerMsg, parameterized controllers
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.
|
#
6372:f1a41ea3bbab |
|
18-Jul-2009 |
Derek Hower <drh5@cs.wisc.edu> |
ruby: removed all refs to old RubyConfig
|
#
6285:ce086eca1ede |
|
06-Jul-2009 |
Nathan Binkert <nate@binkert.org> |
ruby: Import the latest ruby changes from gems. 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.
|
#
6154:6bb54dcb940e |
|
11-May-2009 |
Nathan Binkert <nate@binkert.org> |
ruby: Make ruby #includes use full paths to the files they're including. This basically means changing all #include statements and changing autogenerated code so that it generates the correct paths. Because slicc generates #includes, I had to hard code the include paths to mem/protocol.
|
#
6145:15cca6ab723a |
|
11-May-2009 |
Nathan Binkert <nate@binkert.org> |
ruby: Import ruby and slicc from GEMS
We eventually plan to replace the m5 cache hierarchy with the GEMS hierarchy, but for now we will make both live alongside eachother.
|