MOESI_CMP_token-L2cache.sm (14184:11ac1337c5e2) | MOESI_CMP_token-L2cache.sm (14300:22183ae13998) |
---|---|
1/* 2 * Copyright (c) 1999-2013 Mark D. Hill and David A. Wood 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 435 unchanged lines hidden (view full) --- 444 trigger(Event:Writeback_Shared_Data, in_msg.addr, cache_entry); 445 } 446 else if (in_msg.Type == CoherenceResponseType:WB_OWNED) { 447 //assert(in_msg.Dirty == false); 448 trigger(Event:Writeback_Owned, in_msg.addr, cache_entry); 449 } 450 } 451 else { | 1/* 2 * Copyright (c) 1999-2013 Mark D. Hill and David A. Wood 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 435 unchanged lines hidden (view full) --- 444 trigger(Event:Writeback_Shared_Data, in_msg.addr, cache_entry); 445 } 446 else if (in_msg.Type == CoherenceResponseType:WB_OWNED) { 447 //assert(in_msg.Dirty == false); 448 trigger(Event:Writeback_Owned, in_msg.addr, cache_entry); 449 } 450 } 451 else { |
452 trigger(Event:L2_Replacement, 453 L2cache.cacheProbe(in_msg.addr), 454 getCacheEntry(L2cache.cacheProbe(in_msg.addr))); | 452 Addr victim := L2cache.cacheProbe(in_msg.addr); 453 trigger(Event:L2_Replacement, victim, getCacheEntry(victim)); |
455 } 456 } else if (in_msg.Type == CoherenceResponseType:INV) { 457 trigger(Event:L1_INV, in_msg.addr, cache_entry); 458 } else { 459 error("Unexpected message"); 460 } 461 } else { 462 if (in_msg.Type == CoherenceResponseType:ACK) { --- 18 unchanged lines hidden (view full) --- 481 assert(in_msg.Dirty == false); 482 trigger(Event:Writeback_All_Tokens, in_msg.addr, cache_entry); 483 } 484 else if (in_msg.Type == CoherenceResponseType:WB_OWNED) { 485 trigger(Event:Writeback_All_Tokens, in_msg.addr, cache_entry); 486 } 487 } 488 else { | 454 } 455 } else if (in_msg.Type == CoherenceResponseType:INV) { 456 trigger(Event:L1_INV, in_msg.addr, cache_entry); 457 } else { 458 error("Unexpected message"); 459 } 460 } else { 461 if (in_msg.Type == CoherenceResponseType:ACK) { --- 18 unchanged lines hidden (view full) --- 480 assert(in_msg.Dirty == false); 481 trigger(Event:Writeback_All_Tokens, in_msg.addr, cache_entry); 482 } 483 else if (in_msg.Type == CoherenceResponseType:WB_OWNED) { 484 trigger(Event:Writeback_All_Tokens, in_msg.addr, cache_entry); 485 } 486 } 487 else { |
489 trigger(Event:L2_Replacement, 490 L2cache.cacheProbe(in_msg.addr), 491 getCacheEntry(L2cache.cacheProbe(in_msg.addr))); | 488 Addr victim := L2cache.cacheProbe(in_msg.addr); 489 trigger(Event:L2_Replacement, victim, getCacheEntry(victim)); |
492 } 493 } else if (in_msg.Type == CoherenceResponseType:INV) { 494 trigger(Event:L1_INV, in_msg.addr, cache_entry); 495 } else { 496 DPRINTF(RubySlicc, "%s\n", in_msg.Type); 497 error("Unexpected message"); 498 } 499 } --- 1010 unchanged lines hidden --- | 490 } 491 } else if (in_msg.Type == CoherenceResponseType:INV) { 492 trigger(Event:L1_INV, in_msg.addr, cache_entry); 493 } else { 494 DPRINTF(RubySlicc, "%s\n", in_msg.Type); 495 error("Unexpected message"); 496 } 497 } --- 1010 unchanged lines hidden --- |