User manual

Table Of Contents
Zynq-7000 AP SoC Technical Reference Manual www.xilinx.com 77
UG585 (v1.11) September 27, 2016
Chapter 3: Application Processing Unit
support 4 KB and 64 KB pages, a 1 MB section, and a 16 MB super-section. Using bigger page sizes
means a smaller translation table. Using a smaller page size, 4 KB, greatly increases the efficiency of
dynamic memory allocation and defragmentation, but it would require one million entries to span
the entire 4 GB address range. To reconcile these two requirements, the Cortex-A9 Processor MMU
supports multi-level page table architecture with two levels of page table: level 1 (L1) and level 2 (L2),
which are discussed in the following sub-sections.
Level 1 Page Tables
Level 1 page table sometimes called as a master page table, which divides the full 4 GB address space
into 4,096 equally sized 1 MB sections. The L1 page table therefore contains 4,096 entries, each entry
being word sized. Each entry can either hold a pointer to the base address of a level 2 page table or
a page table entries for translating a 1 MB section. If the page table entry is translating a 1 MB
section, it gives the base address of the 1 MB page in physical memory. The base address of the L1
page table is known as the translation table base address (TTB) and is held within a register in CP15
c2. It must be aligned to a 16 KB boundary.
An L1 page table entry can be one of four possible types; the least significant two bits [1:0] in
the entry define which one of these the entry contains:
A fault entry that generates an abort exception. This can be either a pre-fetch or data abort,
depending on the type of memory access. This effectively indicates virtual addresses which are
unmapped.
A 1 MB section translation entry.
An entry that points to an L2 page table. This enables a 1 MB piece of memory to be further
sub-divided into smaller pages.
A 16 MB super-section. This is a special kind of 1 MB section entry, which requires 16 entries in
the page table.