SPRUI30H November 2015 – May 2024 DRA745 , DRA746 , DRA750 , DRA756
When allocating objects in TILER containers, ensure that no two objects physically overlap.
In this respect, and to ease the object allocation and deallocation, it is strongly advised to share a TILER page only for different objects that do both of the following:
Two objects of different modes can physically overlap if:
These two issues can be easily avoided by allocating a physical page only once in the DMM LUT.
The second issue is a bit more difficult, especially if the allocation of objects in the various TILER containers must be dynamic. Managing the fragmentation within a flat memory model in a space-constrained system is not straightforward, and is the main reason for the existence of MMUs in most current processors, which adds yet another constraint to the problem (the y dimension, which makes it even more difficult).
Returning to the CPU-analogy, the memory fragmentation issue is mostly solved by using a virtual memory space larger than the actual physical memory space and a virtual-to-physical translation system. This allows contiguous virtual memory allocation when sufficient physical memory is available and the larger contiguous physical buffer is smaller than the requested memory allocation.
Similarly, the DMM answer to this object allocation in the TILER containers is two-fold: