MOESI_CMP_token-L1cache.sm (14184:11ac1337c5e2) MOESI_CMP_token-L1cache.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;

--- 682 unchanged lines hidden (view full) ---

691
692 if (L1Icache.cacheAvail(in_msg.LineAddress)) {
693 // L1 does't have the line, but we have space for it in the L1
694 trigger(mandatory_request_type_to_event(in_msg.Type),
695 in_msg.LineAddress, L1Icache_entry, tbe);
696 } else {
697 // No room in the L1, so we need to make room
698 trigger(Event:L1_Replacement,
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;

--- 682 unchanged lines hidden (view full) ---

691
692 if (L1Icache.cacheAvail(in_msg.LineAddress)) {
693 // L1 does't have the line, but we have space for it in the L1
694 trigger(mandatory_request_type_to_event(in_msg.Type),
695 in_msg.LineAddress, L1Icache_entry, tbe);
696 } else {
697 // No room in the L1, so we need to make room
698 trigger(Event:L1_Replacement,
699 L1Icache.cacheProbe(in_msg.LineAddress),
700 getL1ICacheEntry(L1Icache.cacheProbe(in_msg.LineAddress)),
701 L1_TBEs[L1Icache.cacheProbe(in_msg.LineAddress)]);
699 Addr victim := L1Icache.cacheProbe(in_msg.LineAddress);
700 trigger(Event:L1_Replacement,
701 victim, getL1ICacheEntry(victim), L1_TBEs[victim]);
702 }
703 }
704 } else {
705 // *** DATA ACCESS ***
706
707 Entry L1Dcache_entry := getL1DCacheEntry(in_msg.LineAddress);
708 if (is_valid(L1Dcache_entry)) {
709 // The tag matches for the L1, so the L1 fetches the line.

--- 11 unchanged lines hidden (view full) ---

721 }
722
723 if (L1Dcache.cacheAvail(in_msg.LineAddress)) {
724 // L1 does't have the line, but we have space for it in the L1
725 trigger(mandatory_request_type_to_event(in_msg.Type),
726 in_msg.LineAddress, L1Dcache_entry, tbe);
727 } else {
728 // No room in the L1, so we need to make room
702 }
703 }
704 } else {
705 // *** DATA ACCESS ***
706
707 Entry L1Dcache_entry := getL1DCacheEntry(in_msg.LineAddress);
708 if (is_valid(L1Dcache_entry)) {
709 // The tag matches for the L1, so the L1 fetches the line.

--- 11 unchanged lines hidden (view full) ---

721 }
722
723 if (L1Dcache.cacheAvail(in_msg.LineAddress)) {
724 // L1 does't have the line, but we have space for it in the L1
725 trigger(mandatory_request_type_to_event(in_msg.Type),
726 in_msg.LineAddress, L1Dcache_entry, tbe);
727 } else {
728 // No room in the L1, so we need to make room
729 Addr victim := L1Dcache.cacheProbe(in_msg.LineAddress);
729 trigger(Event:L1_Replacement,
730 trigger(Event:L1_Replacement,
730 L1Dcache.cacheProbe(in_msg.LineAddress),
731 getL1DCacheEntry(L1Dcache.cacheProbe(in_msg.LineAddress)),
732 L1_TBEs[L1Dcache.cacheProbe(in_msg.LineAddress)]);
731 victim, getL1DCacheEntry(victim), L1_TBEs[victim]);
733 }
734 }
735 }
736 }
737 }
738 }
739
740 // ACTIONS

--- 1708 unchanged lines hidden ---
732 }
733 }
734 }
735 }
736 }
737 }
738
739 // ACTIONS

--- 1708 unchanged lines hidden ---