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 --- |