slicc: fixed MI_example bug. The directory wasn't deallocating the TBE, leading...
authorDerek Hower <drh5@cs.wisc.edu>
Wed, 8 Jul 2009 13:40:32 +0000 (08:40 -0500)
committerDerek Hower <drh5@cs.wisc.edu>
Wed, 8 Jul 2009 13:40:32 +0000 (08:40 -0500)
src/mem/protocol/MI_example-dir.sm
src/mem/ruby/config/defaults.rb

index 29678ffc4f2b1dff46f279aaec9b2298b7fcdca9..a275e4b8df658a86496b83b0a3bfef914c1acd2c 100644 (file)
@@ -528,14 +528,15 @@ machine(Directory, "Directory protocol") : LATENCY_TO_MEM_CTRL_LATENCY LATENCY_D
 
 
   transition(I, DMA_WRITE, ID_W) {
-    dw_writeDMAData;
-//    da_sendDMAAck;
+    v_allocateTBE;
     qw_queueMemoryWBRequest_partial;
     p_popIncomingDMARequestQueue;
   }
 
   transition(ID_W, Memory_Ack, I) {
+    dwt_writeDMADataFromTBE;
     da_sendDMAAck;
+    w_deallocateTBE;
     l_popMemQueue;
   }
 
@@ -548,7 +549,7 @@ machine(Directory, "Directory protocol") : LATENCY_TO_MEM_CTRL_LATENCY LATENCY_D
     drp_sendDMAData;
     c_clearOwner;
     a_sendWriteBackAck;
-    //    d_deallocateDirectory;
+    d_deallocateDirectory;
     i_popIncomingRequestQueue;
   }
 
@@ -561,7 +562,6 @@ machine(Directory, "Directory protocol") : LATENCY_TO_MEM_CTRL_LATENCY LATENCY_D
   transition(M_DWR, PUTX, M_DWRI) {
     qw_queueMemoryWBRequest_partialTBE;
     c_clearOwner;
-    w_deallocateTBE;
     i_popIncomingRequestQueue;
   }
 
@@ -570,6 +570,7 @@ machine(Directory, "Directory protocol") : LATENCY_TO_MEM_CTRL_LATENCY LATENCY_D
     l_sendWriteBackAck;
     da_sendDMAAck;
     w_deallocateTBE;
+    d_deallocateDirectory;
     l_popMemQueue;
   }
 
@@ -583,7 +584,6 @@ machine(Directory, "Directory protocol") : LATENCY_TO_MEM_CTRL_LATENCY LATENCY_D
     c_clearOwner;
     v_allocateTBEFromRequestNet;
     l_queueMemoryWBRequest;
-    d_deallocateDirectory;
     i_popIncomingRequestQueue;
   }
 
@@ -591,6 +591,7 @@ machine(Directory, "Directory protocol") : LATENCY_TO_MEM_CTRL_LATENCY LATENCY_D
     w_writeDataToMemoryFromTBE;
     l_sendWriteBackAck;
     w_deallocateTBE;
+    d_deallocateDirectory;
     l_popMemQueue;
   }
 
@@ -601,7 +602,6 @@ machine(Directory, "Directory protocol") : LATENCY_TO_MEM_CTRL_LATENCY LATENCY_D
 
   transition(I, PUTX_NotOwner, I) {
     b_sendWriteBackNack;
-    d_deallocateDirectory;
     i_popIncomingRequestQueue;
   }
 
index fb7d610606c8c551a53fc72d8d421471cdcb228a..9143cb21e717d5e22335a9a49318eb286411c872 100644 (file)
@@ -12,7 +12,7 @@ class NetPort < LibRubyObject
   default_param :buffer_size, Integer, 32
 
   # added by SS for TBE
-  default_param :number_of_TBEs, Integer, 128
+  default_param :number_of_TBEs, Integer, 256
 
   default_param :recycle_latency, Integer, 10
 end