A6.2
TLB Organization
This section describes the organization of the TLB.
Micro TLB
The first level of caching for the translation table information is a micro TLB of ten entries that
is implemented on each of the instruction and data sides. All main TLB related maintenance
operations result in flushing both the instruction and data micro TLB.
Main TLB
A unified main TLB handles misses from the micro TLBs. It has a 512-entry, 2-way, set-
associative structure and supports all VMSAv8 block sizes, except 1GB. If it fetches a 1GB
block, the TLB splits it into 512MB blocks and stores the appropriate block for the lookup.
Accesses to the main TLB take a variable number of cycles. The number of cycles depends on
the following criteria:
• Competing requests from each of the micro TLBs.
• The TLB maintenance operations in flight.
• The different page size mappings in use.
IPA cache RAM
The
Intermediate Physical Address
(IPA) cache RAM holds mappings between intermediate
physical addresses and physical addresses. Only Non-secure EL1 and EL0 stage 2 translations
use this cache. When a stage 2 translation is completed, it is updated and checked whenever a
stage 2 translation is required.
Similarly to the main TLB, the IPA cache RAM can hold entries for different sizes.
Walk cache RAM
The walk cache RAM holds the result of a stage 1 translation up to but not including the last
level. If the stage 1 translation results in a section or larger mapping then nothing is placed in the
walk cache.
The walk cache holds entries fetched from Secure and Non-secure state.
A6 L1 Memory System
A6.2 TLB Organization
100236_0100_00_en
Copyright © 2015–2017, 2019 Arm Limited or its affiliates. All rights
reserved.
A6-91
Non-Confidential
Summary of Contents for Cortex-A35
Page 4: ......
Page 18: ......
Page 26: ......
Page 27: ...Part A Functional Description ...
Page 28: ......
Page 145: ...Part B Register Descriptions ...
Page 146: ......
Page 573: ...Part C Debug ...
Page 574: ......
Page 845: ...Part D Appendices ...
Page 846: ......