From 3ed048e4f5854b260a29164da92ba16ad7881740 Mon Sep 17 00:00:00 2001 From: Tushar Krishna Date: Wed, 18 May 2011 03:06:07 -0400 Subject: slicc: added vnet_type field to identify response vnets from others Identifying response vnets versus other vnets will allow garnet to determine which vnets will carry data packets, and which will carry ctrl packets, and use appropriate buffer sizes (since data packets are larger than ctrl packets). This in turn allows the orion power model to accurately estimate buffer power. --- src/mem/protocol/MESI_CMP_directory-L1cache.sm | 10 +++++----- src/mem/protocol/MESI_CMP_directory-L2cache.sm | 14 +++++++------- src/mem/protocol/MESI_CMP_directory-dir.sm | 8 ++++---- src/mem/protocol/MESI_CMP_directory-dma.sm | 4 ++-- src/mem/protocol/MOESI_CMP_directory-L1cache.sm | 10 +++++----- src/mem/protocol/MOESI_CMP_directory-L2cache.sm | 14 +++++++------- src/mem/protocol/MOESI_CMP_directory-dir.sm | 12 ++++++------ src/mem/protocol/MOESI_CMP_directory-dma.sm | 12 ++++++------ src/mem/protocol/MOESI_CMP_token-L1cache.sm | 12 ++++++------ src/mem/protocol/MOESI_CMP_token-L2cache.sm | 14 +++++++------- src/mem/protocol/MOESI_CMP_token-dir.sm | 18 +++++++++--------- src/mem/protocol/MOESI_CMP_token-dma.sm | 4 ++-- src/mem/protocol/MOESI_hammer-cache.sm | 10 +++++----- src/mem/protocol/MOESI_hammer-dir.sm | 14 +++++++------- src/mem/protocol/MOESI_hammer-dma.sm | 4 ++-- src/mem/protocol/Network_test-cache.sm | 6 +++--- src/mem/protocol/Network_test-dir.sm | 6 +++--- 17 files changed, 86 insertions(+), 86 deletions(-) (limited to 'src/mem/protocol') diff --git a/src/mem/protocol/MESI_CMP_directory-L1cache.sm b/src/mem/protocol/MESI_CMP_directory-L1cache.sm index 26f5b1ff6..d0fc61e90 100644 --- a/src/mem/protocol/MESI_CMP_directory-L1cache.sm +++ b/src/mem/protocol/MESI_CMP_directory-L1cache.sm @@ -39,17 +39,17 @@ machine(L1Cache, "MSI Directory L1 Cache CMP") // NODE L1 CACHE // From this node's L1 cache TO the network // a local L1 -> this L2 bank, currently ordered with directory forwarded requests - MessageBuffer requestFromL1Cache, network="To", virtual_network="0", ordered="false"; + MessageBuffer requestFromL1Cache, network="To", virtual_network="0", ordered="false", vnet_type="request"; // a local L1 -> this L2 bank - MessageBuffer responseFromL1Cache, network="To", virtual_network="1", ordered="false"; - MessageBuffer unblockFromL1Cache, network="To", virtual_network="2", ordered="false"; + MessageBuffer responseFromL1Cache, network="To", virtual_network="1", ordered="false", vnet_type="response"; + MessageBuffer unblockFromL1Cache, network="To", virtual_network="2", ordered="false", vnet_type="unblock"; // To this node's L1 cache FROM the network // a L2 bank -> this L1 - MessageBuffer requestToL1Cache, network="From", virtual_network="0", ordered="false"; + MessageBuffer requestToL1Cache, network="From", virtual_network="0", ordered="false", vnet_type="request"; // a L2 bank -> this L1 - MessageBuffer responseToL1Cache, network="From", virtual_network="1", ordered="false"; + MessageBuffer responseToL1Cache, network="From", virtual_network="1", ordered="false", vnet_type="response"; // STATES state_declaration(State, desc="Cache states", default="L1Cache_State_I") { diff --git a/src/mem/protocol/MESI_CMP_directory-L2cache.sm b/src/mem/protocol/MESI_CMP_directory-L2cache.sm index 42fe0823f..771a2dfb2 100644 --- a/src/mem/protocol/MESI_CMP_directory-L2cache.sm +++ b/src/mem/protocol/MESI_CMP_directory-L2cache.sm @@ -40,15 +40,15 @@ machine(L2Cache, "MESI Directory L2 Cache CMP") { // L2 BANK QUEUES // From local bank of L2 cache TO the network - MessageBuffer DirRequestFromL2Cache, network="To", virtual_network="0", ordered="false"; // this L2 bank -> Memory - MessageBuffer L1RequestFromL2Cache, network="To", virtual_network="0", ordered="false"; // this L2 bank -> a local L1 - MessageBuffer responseFromL2Cache, network="To", virtual_network="1", ordered="false"; // this L2 bank -> a local L1 || Memory + MessageBuffer DirRequestFromL2Cache, network="To", virtual_network="0", ordered="false", vnet_type="request"; // this L2 bank -> Memory + MessageBuffer L1RequestFromL2Cache, network="To", virtual_network="0", ordered="false", vnet_type="request"; // this L2 bank -> a local L1 + MessageBuffer responseFromL2Cache, network="To", virtual_network="1", ordered="false", vnet_type="response"; // this L2 bank -> a local L1 || Memory // FROM the network to this local bank of L2 cache - MessageBuffer unblockToL2Cache, network="From", virtual_network="2", ordered="false"; // a local L1 || Memory -> this L2 bank - MessageBuffer L1RequestToL2Cache, network="From", virtual_network="0", ordered="false"; // a local L1 -> this L2 bank - MessageBuffer responseToL2Cache, network="From", virtual_network="1", ordered="false"; // a local L1 || Memory -> this L2 bank -// MessageBuffer unblockToL2Cache, network="From", virtual_network="4", ordered="false"; // a local L1 || Memory -> this L2 bank + MessageBuffer unblockToL2Cache, network="From", virtual_network="2", ordered="false", vnet_type="unblock"; // a local L1 || Memory -> this L2 bank + MessageBuffer L1RequestToL2Cache, network="From", virtual_network="0", ordered="false", vnet_type="request"; // a local L1 -> this L2 bank + MessageBuffer responseToL2Cache, network="From", virtual_network="1", ordered="false", vnet_type="response"; // a local L1 || Memory -> this L2 bank +// MessageBuffer unblockToL2Cache, network="From", virtual_network="4", ordered="false", vnet_type="unblock"; // a local L1 || Memory -> this L2 bank // STATES state_declaration(State, desc="L2 Cache states", default="L2Cache_State_NP") { diff --git a/src/mem/protocol/MESI_CMP_directory-dir.sm b/src/mem/protocol/MESI_CMP_directory-dir.sm index c47df9433..6ad88f809 100644 --- a/src/mem/protocol/MESI_CMP_directory-dir.sm +++ b/src/mem/protocol/MESI_CMP_directory-dir.sm @@ -42,11 +42,11 @@ machine(Directory, "MESI_CMP_filter_directory protocol") int directory_latency = 6 { - MessageBuffer requestToDir, network="From", virtual_network="0", ordered="false"; - MessageBuffer responseToDir, network="From", virtual_network="1", ordered="false"; + MessageBuffer requestToDir, network="From", virtual_network="0", ordered="false", vnet_type="request"; + MessageBuffer responseToDir, network="From", virtual_network="1", ordered="false", vnet_type="response"; - MessageBuffer requestFromDir, network="To", virtual_network="0", ordered="false"; - MessageBuffer responseFromDir, network="To", virtual_network="1", ordered="false"; + MessageBuffer requestFromDir, network="To", virtual_network="0", ordered="false", vnet_type="request"; + MessageBuffer responseFromDir, network="To", virtual_network="1", ordered="false", vnet_type="response"; // STATES state_declaration(State, desc="Directory states", default="Directory_State_I") { diff --git a/src/mem/protocol/MESI_CMP_directory-dma.sm b/src/mem/protocol/MESI_CMP_directory-dma.sm index da8b94b7c..205d337b1 100644 --- a/src/mem/protocol/MESI_CMP_directory-dma.sm +++ b/src/mem/protocol/MESI_CMP_directory-dma.sm @@ -4,8 +4,8 @@ machine(DMA, "DMA Controller") int request_latency = 6 { - MessageBuffer responseFromDir, network="From", virtual_network="1", ordered="true", no_vector="true"; - MessageBuffer reqToDirectory, network="To", virtual_network="0", ordered="false", no_vector="true"; + MessageBuffer responseFromDir, network="From", virtual_network="1", ordered="true", vnet_type="response", no_vector="true"; + MessageBuffer reqToDirectory, network="To", virtual_network="0", ordered="false", vnet_type="request", no_vector="true"; state_declaration(State, desc="DMA states", default="DMA_State_READY") { READY, AccessPermission:Invalid, desc="Ready to accept a new request"; diff --git a/src/mem/protocol/MOESI_CMP_directory-L1cache.sm b/src/mem/protocol/MOESI_CMP_directory-L1cache.sm index 50bb710cb..e9622c30b 100644 --- a/src/mem/protocol/MOESI_CMP_directory-L1cache.sm +++ b/src/mem/protocol/MOESI_CMP_directory-L1cache.sm @@ -43,17 +43,17 @@ machine(L1Cache, "Directory protocol") // NODE L1 CACHE // From this node's L1 cache TO the network // a local L1 -> this L2 bank, currently ordered with directory forwarded requests - MessageBuffer requestFromL1Cache, network="To", virtual_network="0", ordered="false"; + MessageBuffer requestFromL1Cache, network="To", virtual_network="0", ordered="false", vnet_type="request"; // a local L1 -> this L2 bank - MessageBuffer responseFromL1Cache, network="To", virtual_network="2", ordered="false"; -// MessageBuffer writebackFromL1Cache, network="To", virtual_network="3", ordered="false"; + MessageBuffer responseFromL1Cache, network="To", virtual_network="2", ordered="false", vnet_type="response"; +// MessageBuffer writebackFromL1Cache, network="To", virtual_network="3", ordered="false", vnet_type="writeback"; // To this node's L1 cache FROM the network // a L2 bank -> this L1 - MessageBuffer requestToL1Cache, network="From", virtual_network="0", ordered="false"; + MessageBuffer requestToL1Cache, network="From", virtual_network="0", ordered="false", vnet_type="request"; // a L2 bank -> this L1 - MessageBuffer responseToL1Cache, network="From", virtual_network="2", ordered="false"; + MessageBuffer responseToL1Cache, network="From", virtual_network="2", ordered="false", vnet_type="response"; diff --git a/src/mem/protocol/MOESI_CMP_directory-L2cache.sm b/src/mem/protocol/MOESI_CMP_directory-L2cache.sm index 297904c90..a9c1e74a0 100644 --- a/src/mem/protocol/MOESI_CMP_directory-L2cache.sm +++ b/src/mem/protocol/MOESI_CMP_directory-L2cache.sm @@ -40,15 +40,15 @@ machine(L2Cache, "Token protocol") // L2 BANK QUEUES // From local bank of L2 cache TO the network - MessageBuffer L1RequestFromL2Cache, network="To", virtual_network="0", ordered="false"; // this L2 bank -> a local L1 - MessageBuffer GlobalRequestFromL2Cache, network="To", virtual_network="1", ordered="false"; // this L2 bank -> mod-directory - MessageBuffer responseFromL2Cache, network="To", virtual_network="2", ordered="false"; // 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"; // a local L1 -> this L2 bank, Lets try this??? - MessageBuffer GlobalRequestToL2Cache, network="From", virtual_network="1", ordered="false"; // mod-directory -> this L2 bank - MessageBuffer responseToL2Cache, network="From", virtual_network="2", ordered="false"; // a local L1 || mod-directory -> this L2 bank -// MessageBuffer L1WritebackToL2Cache, network="From", virtual_network="3", ordered="false"; + 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"; // STATES state_declaration(State, desc="L2 Cache states", default="L2Cache_State_I") { diff --git a/src/mem/protocol/MOESI_CMP_directory-dir.sm b/src/mem/protocol/MOESI_CMP_directory-dir.sm index bf5e8bff6..572101f00 100644 --- a/src/mem/protocol/MOESI_CMP_directory-dir.sm +++ b/src/mem/protocol/MOESI_CMP_directory-dir.sm @@ -38,13 +38,13 @@ machine(Directory, "Directory protocol") { // ** IN QUEUES ** - MessageBuffer foo1, network="From", virtual_network="0", ordered="false"; // a mod-L2 bank -> this Dir - MessageBuffer requestToDir, network="From", virtual_network="1", ordered="false"; // a mod-L2 bank -> this Dir - MessageBuffer responseToDir, network="From", virtual_network="2", ordered="false"; // a mod-L2 bank -> this Dir + MessageBuffer foo1, network="From", virtual_network="0", ordered="false", vnet_type="foo"; // a mod-L2 bank -> this Dir + MessageBuffer requestToDir, network="From", virtual_network="1", ordered="false", vnet_type="request"; // a mod-L2 bank -> this Dir + MessageBuffer responseToDir, network="From", virtual_network="2", ordered="false", vnet_type="response"; // a mod-L2 bank -> this Dir - MessageBuffer goo1, network="To", virtual_network="0", ordered="false"; - MessageBuffer forwardFromDir, network="To", virtual_network="1", ordered="false"; - MessageBuffer responseFromDir, network="To", virtual_network="2", ordered="false"; // Dir -> mod-L2 bank + MessageBuffer goo1, network="To", virtual_network="0", ordered="false", vnet_type="goo"; + MessageBuffer forwardFromDir, network="To", virtual_network="1", ordered="false", vnet_type="forward"; + MessageBuffer responseFromDir, network="To", virtual_network="2", ordered="false", vnet_type="response"; // Dir -> mod-L2 bank // STATES diff --git a/src/mem/protocol/MOESI_CMP_directory-dma.sm b/src/mem/protocol/MOESI_CMP_directory-dma.sm index 42e48c95a..642c6e22d 100644 --- a/src/mem/protocol/MOESI_CMP_directory-dma.sm +++ b/src/mem/protocol/MOESI_CMP_directory-dma.sm @@ -5,13 +5,13 @@ machine(DMA, "DMA Controller") int response_latency = 14 { - MessageBuffer goo1, network="From", virtual_network="0", ordered="false"; - MessageBuffer goo2, network="From", virtual_network="1", ordered="false"; - MessageBuffer responseFromDir, network="From", virtual_network="2", ordered="false"; + MessageBuffer goo1, network="From", virtual_network="0", ordered="false", vnet_type="goo"; + MessageBuffer goo2, network="From", virtual_network="1", ordered="false", vnet_type="goo"; + MessageBuffer responseFromDir, network="From", virtual_network="2", ordered="false", vnet_type="response"; - MessageBuffer foo1, network="To", virtual_network="0", ordered="false"; - MessageBuffer reqToDir, network="To", virtual_network="1", ordered="false"; - MessageBuffer respToDir, network="To", virtual_network="2", ordered="false"; + MessageBuffer foo1, network="To", virtual_network="0", ordered="false", vnet_type="foo"; + MessageBuffer reqToDir, network="To", virtual_network="1", ordered="false", vnet_type="request"; + MessageBuffer respToDir, network="To", virtual_network="2", ordered="false", vnet_type="dmaresponse"; state_declaration(State, desc="DMA states", default="DMA_State_READY") { READY, AccessPermission:Invalid, desc="Ready to accept a new request"; diff --git a/src/mem/protocol/MOESI_CMP_token-L1cache.sm b/src/mem/protocol/MOESI_CMP_token-L1cache.sm index d7344d779..a4dbe5fe7 100644 --- a/src/mem/protocol/MOESI_CMP_token-L1cache.sm +++ b/src/mem/protocol/MOESI_CMP_token-L1cache.sm @@ -49,18 +49,18 @@ machine(L1Cache, "Token protocol") // From this node's L1 cache TO the network // a local L1 -> this L2 bank - MessageBuffer responseFromL1Cache, network="To", virtual_network="4", ordered="false"; - MessageBuffer persistentFromL1Cache, network="To", virtual_network="3", ordered="true"; + MessageBuffer responseFromL1Cache, network="To", virtual_network="4", ordered="false", vnet_type="response"; + MessageBuffer persistentFromL1Cache, network="To", virtual_network="3", ordered="true", vnet_type="persistent"; // a local L1 -> this L2 bank, currently ordered with directory forwarded requests - MessageBuffer requestFromL1Cache, network="To", virtual_network="1", ordered="false"; + MessageBuffer requestFromL1Cache, network="To", virtual_network="1", ordered="false", vnet_type="request"; // To this node's L1 cache FROM the network // a L2 bank -> this L1 - MessageBuffer responseToL1Cache, network="From", virtual_network="4", ordered="false"; - MessageBuffer persistentToL1Cache, network="From", virtual_network="3", ordered="true"; + MessageBuffer responseToL1Cache, network="From", virtual_network="4", ordered="false", vnet_type="response"; + MessageBuffer persistentToL1Cache, network="From", virtual_network="3", ordered="true", vnet_type="persistent"; // a L2 bank -> this L1 - MessageBuffer requestToL1Cache, network="From", virtual_network="1", ordered="false"; + MessageBuffer requestToL1Cache, network="From", virtual_network="1", ordered="false", vnet_type="request"; // STATES state_declaration(State, desc="Cache states", default="L1Cache_State_I") { diff --git a/src/mem/protocol/MOESI_CMP_token-L2cache.sm b/src/mem/protocol/MOESI_CMP_token-L2cache.sm index 6f43e7712..8b87889b1 100644 --- a/src/mem/protocol/MOESI_CMP_token-L2cache.sm +++ b/src/mem/protocol/MOESI_CMP_token-L2cache.sm @@ -44,22 +44,22 @@ machine(L2Cache, "Token protocol") // From local bank of L2 cache TO the network // this L2 bank -> a local L1 || mod-directory - MessageBuffer responseFromL2Cache, network="To", virtual_network="4", ordered="false"; + MessageBuffer responseFromL2Cache, network="To", virtual_network="4", ordered="false", vnet_type="response"; // this L2 bank -> mod-directory - MessageBuffer GlobalRequestFromL2Cache, network="To", virtual_network="2", ordered="false"; + MessageBuffer GlobalRequestFromL2Cache, network="To", virtual_network="2", ordered="false", vnet_type="request"; // this L2 bank -> a local L1 - MessageBuffer L1RequestFromL2Cache, network="To", virtual_network="1", ordered="false"; + MessageBuffer L1RequestFromL2Cache, network="To", virtual_network="1", ordered="false", vnet_type="request"; // FROM the network to this local bank of L2 cache // a local L1 || mod-directory -> this L2 bank - MessageBuffer responseToL2Cache, network="From", virtual_network="4", ordered="false"; - MessageBuffer persistentToL2Cache, network="From", virtual_network="3", ordered="true"; + MessageBuffer responseToL2Cache, network="From", virtual_network="4", ordered="false", vnet_type="response"; + MessageBuffer persistentToL2Cache, network="From", virtual_network="3", ordered="true", vnet_type="persistent"; // mod-directory -> this L2 bank - MessageBuffer GlobalRequestToL2Cache, network="From", virtual_network="2", ordered="false"; + MessageBuffer GlobalRequestToL2Cache, network="From", virtual_network="2", ordered="false", vnet_type="request"; // a local L1 -> this L2 bank - MessageBuffer L1RequestToL2Cache, network="From", virtual_network="1", ordered="false"; + MessageBuffer L1RequestToL2Cache, network="From", virtual_network="1", ordered="false", vnet_type="request"; // STATES state_declaration(State, desc="L2 Cache states", default="L2Cache_State_I") { diff --git a/src/mem/protocol/MOESI_CMP_token-dir.sm b/src/mem/protocol/MOESI_CMP_token-dir.sm index c411d1c4b..aabde0af8 100644 --- a/src/mem/protocol/MOESI_CMP_token-dir.sm +++ b/src/mem/protocol/MOESI_CMP_token-dir.sm @@ -41,15 +41,15 @@ machine(Directory, "Token protocol") int fixed_timeout_latency = 100 { - MessageBuffer dmaResponseFromDir, network="To", virtual_network="5", ordered="true"; - MessageBuffer responseFromDir, network="To", virtual_network="4", ordered="false"; - MessageBuffer persistentFromDir, network="To", virtual_network="3", ordered="true"; - MessageBuffer requestFromDir, network="To", virtual_network="1", ordered="false"; - - MessageBuffer responseToDir, network="From", virtual_network="4", ordered="false"; - MessageBuffer persistentToDir, network="From", virtual_network="3", ordered="true"; - MessageBuffer requestToDir, network="From", virtual_network="2", ordered="false"; - MessageBuffer dmaRequestToDir, network="From", virtual_network="0", ordered="true"; + MessageBuffer dmaResponseFromDir, network="To", virtual_network="5", ordered="true", vnet_type="response"; + MessageBuffer responseFromDir, network="To", virtual_network="4", ordered="false", vnet_type="response"; + MessageBuffer persistentFromDir, network="To", virtual_network="3", ordered="true", vnet_type="persistent"; + MessageBuffer requestFromDir, network="To", virtual_network="1", ordered="false", vnet_type="request"; + + MessageBuffer responseToDir, network="From", virtual_network="4", ordered="false", vnet_type="response"; + MessageBuffer persistentToDir, network="From", virtual_network="3", ordered="true", vnet_type="persistent"; + MessageBuffer requestToDir, network="From", virtual_network="2", ordered="false", vnet_type="request"; + MessageBuffer dmaRequestToDir, network="From", virtual_network="0", ordered="true", vnet_type="request"; // STATES state_declaration(State, desc="Directory states", default="Directory_State_O") { diff --git a/src/mem/protocol/MOESI_CMP_token-dma.sm b/src/mem/protocol/MOESI_CMP_token-dma.sm index 9a090145c..dfd26e64d 100644 --- a/src/mem/protocol/MOESI_CMP_token-dma.sm +++ b/src/mem/protocol/MOESI_CMP_token-dma.sm @@ -32,8 +32,8 @@ machine(DMA, "DMA Controller") int request_latency = 6 { - MessageBuffer responseFromDir, network="From", virtual_network="5", ordered="true", no_vector="true"; - MessageBuffer reqToDirectory, network="To", virtual_network="0", ordered="false", no_vector="true"; + MessageBuffer responseFromDir, network="From", virtual_network="5", ordered="true", vnet_type="response", no_vector="true"; + MessageBuffer reqToDirectory, network="To", virtual_network="0", ordered="false", vnet_type="request", no_vector="true"; state_declaration(State, desc="DMA states", default="DMA_State_READY") { READY, AccessPermission:Invalid, desc="Ready to accept a new request"; diff --git a/src/mem/protocol/MOESI_hammer-cache.sm b/src/mem/protocol/MOESI_hammer-cache.sm index 06c9ea76b..24f3ab318 100644 --- a/src/mem/protocol/MOESI_hammer-cache.sm +++ b/src/mem/protocol/MOESI_hammer-cache.sm @@ -45,12 +45,12 @@ machine(L1Cache, "AMD Hammer-like protocol") { // NETWORK BUFFERS - MessageBuffer requestFromCache, network="To", virtual_network="2", ordered="false"; - MessageBuffer responseFromCache, network="To", virtual_network="4", ordered="false"; - MessageBuffer unblockFromCache, network="To", virtual_network="5", ordered="false"; + MessageBuffer requestFromCache, network="To", virtual_network="2", ordered="false", vnet_type="request"; + MessageBuffer responseFromCache, network="To", virtual_network="4", ordered="false", vnet_type="response"; + MessageBuffer unblockFromCache, network="To", virtual_network="5", ordered="false", vnet_type="unblock"; - MessageBuffer forwardToCache, network="From", virtual_network="3", ordered="false"; - MessageBuffer responseToCache, network="From", virtual_network="4", ordered="false"; + MessageBuffer forwardToCache, network="From", virtual_network="3", ordered="false", vnet_type="forward"; + MessageBuffer responseToCache, network="From", virtual_network="4", ordered="false", vnet_type="response"; // STATES diff --git a/src/mem/protocol/MOESI_hammer-dir.sm b/src/mem/protocol/MOESI_hammer-dir.sm index f364b5846..96af4228f 100644 --- a/src/mem/protocol/MOESI_hammer-dir.sm +++ b/src/mem/protocol/MOESI_hammer-dir.sm @@ -42,19 +42,19 @@ machine(Directory, "AMD Hammer-like protocol") bool full_bit_dir_enabled = false { - MessageBuffer forwardFromDir, network="To", virtual_network="3", ordered="false"; - MessageBuffer responseFromDir, network="To", virtual_network="4", ordered="false"; + MessageBuffer forwardFromDir, network="To", virtual_network="3", ordered="false", vnet_type="forward"; + MessageBuffer responseFromDir, network="To", virtual_network="4", ordered="false", vnet_type="response"; // // For a finite buffered network, note that the DMA response network only // works at this relatively lower numbered (lower priority) virtual network // because the trigger queue decouples cache responses from DMA responses. // - MessageBuffer dmaResponseFromDir, network="To", virtual_network="1", ordered="true"; + MessageBuffer dmaResponseFromDir, network="To", virtual_network="1", ordered="true", vnet_type="response"; - MessageBuffer unblockToDir, network="From", virtual_network="5", ordered="false"; - MessageBuffer responseToDir, network="From", virtual_network="4", ordered="false"; - MessageBuffer requestToDir, network="From", virtual_network="2", ordered="false", recycle_latency="1"; - MessageBuffer dmaRequestToDir, network="From", virtual_network="0", ordered="true"; + MessageBuffer unblockToDir, network="From", virtual_network="5", ordered="false", vnet_type="unblock"; + MessageBuffer responseToDir, network="From", virtual_network="4", ordered="false", vnet_type="response"; + MessageBuffer requestToDir, network="From", virtual_network="2", ordered="false", vnet_type="request", recycle_latency="1"; + MessageBuffer dmaRequestToDir, network="From", virtual_network="0", ordered="true", vnet_type="request"; // STATES state_declaration(State, desc="Directory states", default="Directory_State_E") { diff --git a/src/mem/protocol/MOESI_hammer-dma.sm b/src/mem/protocol/MOESI_hammer-dma.sm index d80c55c73..c784fb6b9 100644 --- a/src/mem/protocol/MOESI_hammer-dma.sm +++ b/src/mem/protocol/MOESI_hammer-dma.sm @@ -32,8 +32,8 @@ machine(DMA, "DMA Controller") int request_latency = 6 { - MessageBuffer responseFromDir, network="From", virtual_network="1", ordered="true", no_vector="true"; - MessageBuffer reqToDirectory, network="To", virtual_network="0", ordered="false", no_vector="true"; + MessageBuffer responseFromDir, network="From", virtual_network="1", ordered="true", vnet_type="response", no_vector="true"; + MessageBuffer reqToDirectory, network="To", virtual_network="0", ordered="false", vnet_type="request", no_vector="true"; state_declaration(State, desc="DMA states", diff --git a/src/mem/protocol/Network_test-cache.sm b/src/mem/protocol/Network_test-cache.sm index 814cd5c29..e76c002f5 100644 --- a/src/mem/protocol/Network_test-cache.sm +++ b/src/mem/protocol/Network_test-cache.sm @@ -37,9 +37,9 @@ machine(L1Cache, "Network_test L1 Cache") { // NETWORK BUFFERS - MessageBuffer requestFromCache, network="To", virtual_network="0", ordered="false"; - MessageBuffer forwardFromCache, network="To", virtual_network="1", ordered="false"; - MessageBuffer responseFromCache, network="To", virtual_network="2", ordered="false"; + MessageBuffer requestFromCache, network="To", virtual_network="0", ordered="false", vnet_type = "request"; + MessageBuffer forwardFromCache, network="To", virtual_network="1", ordered="false", vnet_type = "forward"; + MessageBuffer responseFromCache, network="To", virtual_network="2", ordered="false", vnet_type = "response"; // STATES state_declaration(State, desc="Cache states", default="L1Cache_State_I") { diff --git a/src/mem/protocol/Network_test-dir.sm b/src/mem/protocol/Network_test-dir.sm index 6d2bbf359..c3e6dfaf0 100644 --- a/src/mem/protocol/Network_test-dir.sm +++ b/src/mem/protocol/Network_test-dir.sm @@ -35,9 +35,9 @@ machine(Directory, "Network_test Directory") : { - MessageBuffer requestToDir, network="From", virtual_network="0", ordered="false"; - MessageBuffer forwardToDir, network="From", virtual_network="1", ordered="false"; - MessageBuffer responseToDir, network="From", virtual_network="2", ordered="false"; + MessageBuffer requestToDir, network="From", virtual_network="0", ordered="false", vnet_type = "request"; + MessageBuffer forwardToDir, network="From", virtual_network="1", ordered="false", vnet_type = "forward"; + MessageBuffer responseToDir, network="From", virtual_network="2", ordered="false", vnet_type = "response"; // STATES state_declaration(State, desc="Directory states", default="Directory_State_I") { -- cgit v1.2.3