X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmem%2Fprotocol%2FMOESI_CMP_directory-L2cache.sm;h=46fd12a3a089a4795b88db714d1f57616e967d94;hb=7a0d5aafe4b845a2d1cff6210d7c6ee66e8aba61;hp=7d81f41644c277396f4deaa5bec6c9858d123c0a;hpb=00286fc5cbb7b8635d56eb335fed11d1499e2552;p=gem5.git diff --git a/src/mem/protocol/MOESI_CMP_directory-L2cache.sm b/src/mem/protocol/MOESI_CMP_directory-L2cache.sm index 7d81f4164..46fd12a3a 100644 --- a/src/mem/protocol/MOESI_CMP_directory-L2cache.sm +++ b/src/mem/protocol/MOESI_CMP_directory-L2cache.sm @@ -30,20 +30,25 @@ machine(L2Cache, "Token protocol") : CacheMemory * L2cache; Cycles response_latency := 2; Cycles request_latency := 2; -{ // L2 BANK QUEUES // From local bank of L2 cache TO the network - MessageBuffer L1RequestFromL2Cache, network="To", virtual_network="0", ordered="false", vnet_type="request"; // this L2 bank -> a local L1 - MessageBuffer GlobalRequestFromL2Cache, network="To", virtual_network="1", ordered="false", vnet_type="request"; // this L2 bank -> mod-directory - MessageBuffer responseFromL2Cache, network="To", virtual_network="2", ordered="false", vnet_type="response"; // this L2 bank -> a local L1 || mod-directory + MessageBuffer * L1RequestFromL2Cache, network="To", virtual_network="0", + ordered="false", vnet_type="request"; // this L2 bank -> a local L1 + MessageBuffer * GlobalRequestFromL2Cache, network="To", virtual_network="1", + ordered="false", vnet_type="request"; // this L2 bank -> mod-directory + MessageBuffer * responseFromL2Cache, network="To", virtual_network="2", + ordered="false", vnet_type="response"; // this L2 bank -> a local L1 || mod-directory // FROM the network to this local bank of L2 cache - MessageBuffer L1RequestToL2Cache, network="From", virtual_network="0", ordered="false", vnet_type="request"; // a local L1 -> this L2 bank, Lets try this??? - MessageBuffer GlobalRequestToL2Cache, network="From", virtual_network="1", ordered="false", vnet_type="request"; // mod-directory -> this L2 bank - MessageBuffer responseToL2Cache, network="From", virtual_network="2", ordered="false", vnet_type="response"; // a local L1 || mod-directory -> this L2 bank -// MessageBuffer L1WritebackToL2Cache, network="From", virtual_network="3", ordered="false", vnet_type="writeback"; + MessageBuffer * L1RequestToL2Cache, network="From", virtual_network="0", + ordered="false", vnet_type="request"; // a local L1 -> this L2 bank, Lets try this??? + MessageBuffer * GlobalRequestToL2Cache, network="From", virtual_network="1", + ordered="false", vnet_type="request"; // mod-directory -> this L2 bank + MessageBuffer * responseToL2Cache, network="From", virtual_network="2", + ordered="false", vnet_type="response"; // a local L1 || mod-directory -> this L2 bank +{ // STATES state_declaration(State, desc="L2 Cache states", default="L2Cache_State_I") {