114 | | For both data & instructions, the TSAR L1 caches use physical addresses (the tags contained in the directories are obtained from the physical addresses). |
115 | | The access to the L1 cache being a critical path, the TSAR MMU use a speculative approach to avoid to serialize the TLB access and the L1 cache access. |
| 114 | [[Image(cache_tlb.png, nolink)]] |
| 115 | |
| 116 | For both data & instructions, the TSAR L1 caches use physical addresses : the cache directories are indexed by the physical addresses, and the tags contained in the directories are obtained from the physical addresses. The access to the L1 cache being a critical path, the TSAR MMU use a speculative approach to avoid to serialize the TLB access and the L1 cache access: |
| 117 | * After each TLB hit, the input VPN and the resulting PPN values are saved in two VPN_save & PPN_save registers. |
| 118 | * During access (n), the PPN_save value, corresponding to access (n_1) is used to access the cache. Simultaneously, the cache controller checks that the VPN value is equal to the VPN_save value (no page change). |
| 119 | * In case of TLB hit with a page change, the cache must be accessed twice, which means one cycle penalty. |
| 120 | |