SPRUI30H November 2015 – May 2024 DRA745 , DRA746 , DRA750 , DRA756
In page mode, the orientation modifies only the sequence of accessed pages, not their content. In this respect the orientation must be seen as a way to optimize the one-dimensional (1D) object allocation in a TILER container by allowing a 1D object spanning multiple pages to map a set of adjacent pages in any direction. For instance, a 1.25-MiB object, mapped on 320 pages of 4kiB can be allocated in a TILER container in any of the eight orientations (see Section 15.2.3.6.1.8.3, Element Ordering in the TILER Container).
The initial page can be chosen freely among all pages. In this respect, the address offset of a page in a TILER container is expressed as:
Let:
The byte offset of the base address of the considered initial page in its oriented container is:
base_address((Px, Py), (S,
Y,
X)) = 4096.(64.yor.22-c + xor).22.c when S, 4096.(32.xor.22-c + yor).22.c otherwise
with:
xor = Px when
X, 64.22-c-1-Px otherwise
yor = Py when
Y, 32.22-c-1-Py otherwise
For instance, a 1D object starting from the page P32,63 in the natural orientation view on a DMM using 4-kiB pages, corresponds to the 29-bit view address offsets and full 33-bit TILER addresses given in Table 15-33.
S | Y | X | xor | yor | 29-Bit Address Offset in View | Full 33-Bit TILER Address |
---|---|---|---|---|---|---|
0 | 0 | 0 | 32 | 63 | 1BF20000h | 11BF20000h |
0 | 0 | 1 | 223 | 63 | 1BFDF000h | 13BFDF000h |
0 | 1 | 0 | 32 | 64 | 1C020000h | 15C020000h |
0 | 1 | 1 | 223 | 64 | 1C0DF000h | 17C0DF000h |
1 | 0 | 0 | 32 | 63 | 1903F000h | 19903F000h |
1 | 0 | 1 | 223 | 63 | 1EFBF000h | 1BEFBF000h |
1 | 1 | 0 | 32 | 64 | 19040000h | 1D9040000h |
1 | 1 | 1 | 223 | 64 | 1EFC0000h | 1FEFC0000h |
In this example the TILER is addressed in page mode, which translates to addresses with mode bits (bits 27 and 28) set in the 29-bit address offset in view and full 33-bit TILER address.