O3, Ruby: Forward invalidations from Ruby to O3 CPU
authorNilay Vaish <nilay@cs.wisc.edu>
Mon, 23 Jan 2012 17:07:14 +0000 (11:07 -0600)
committerNilay Vaish <nilay@cs.wisc.edu>
Mon, 23 Jan 2012 17:07:14 +0000 (11:07 -0600)
commit63563c9df2eca46231768a448e981e8bb7856655
treed45aaa1decb0d9dba3ccd01d7ecb31804d85f1f8
parent9481d05b8aea0faf336f604f3e18b451d5197c12
O3, Ruby: Forward invalidations from Ruby to O3 CPU
This patch implements the functionality for forwarding invalidations and
replacements from the L1 cache of the Ruby memory system to the O3 CPU. The
implementation adds a list of ports to RubyPort. Whenever a replacement or an
invalidation is performed, the L1 cache forwards this to all the ports, which
is the LSQ in case of the O3 CPU.
15 files changed:
configs/ruby/MESI_CMP_directory.py
configs/ruby/MI_example.py
configs/ruby/MOESI_CMP_directory.py
configs/ruby/MOESI_CMP_token.py
configs/ruby/MOESI_hammer.py
src/mem/protocol/MESI_CMP_directory-L1cache.sm
src/mem/protocol/MI_example-cache.sm
src/mem/protocol/MOESI_CMP_directory-L1cache.sm
src/mem/protocol/MOESI_CMP_token-L1cache.sm
src/mem/protocol/MOESI_hammer-cache.sm
src/mem/protocol/RubySlicc_Types.sm
src/mem/ruby/system/RubyPort.cc
src/mem/ruby/system/RubyPort.hh
src/mem/ruby/system/Sequencer.cc
src/mem/ruby/system/Sequencer.hh