ADR 0013: Define tile capacity and packed storage
Decision scope
The minimum-allocation clause is superseded by ADR 0054. ADR 0054 defines the current per-PE TSize map: codes 1 through 7 represent 128 bytes through 8 KiB. The capacity-accounting, packed-storage, precision, and rollback decisions below remain current.
Context
TileInfo records an allocation capacity independently from the bounded ASL
payload used for executable verification. The previous model treated zero as
both a legal capacity and a release request, and it did not prove that the
declared shape fit in the allocation. It also counted four-bit formats as one
byte per element because each model payload slot uses a 64-bit carrier. Those
choices confused architectural storage with model representation.
The direct TALLOC form must reject an illegal descriptor before changing the
old destination. TFREE needs a distinct release transition so zero capacity
cannot be mistaken for an active allocation.
Decision
- An active tile allocation has a capacity from 128 bytes through the current
TILE_CAPACITYvalue, inclusive. Zero is never an active capacity. TFREEinvokes a separate release transition. Release clears allocation, definedness, capacity, shape, valid region, data type, layout, and location descriptor state; it does not need a zero-capacityTALLOCsurrogate.- The sum of all active allocation capacities cannot exceed
TILE_CAPACITY. Reconfiguration replaces the destination's prior contribution before the new capacity is checked. - Shape storage is
ceil(rows * columns * element_bits / 8)bytes. Four-bit formats use four bits per element for this calculation, including rounding an odd final element up to a whole byte. Other formats use their declared 8-, 16-, 32-, or 64-bit width. - A legal allocation has positive shape dimensions, a valid region contained by that shape, architectural storage no larger than its capacity, and a shape representable by the selected executable-model bound.
- Decoded allocation and tile-copy management operations perform every capacity check before their first descriptor or payload effect.
This decision defines descriptor storage accounting. It does not silently choose the byte-addressing or packing protocol for sub-byte tile-memory transfers; that instruction-level rule remains a separate TLSU closure item.
Consequences
Zero, below-128-byte-minimum, shape overflow, and aggregate overflow are tile-legality faults with the previous destination preserved. The 128-byte minimum, maximum, exact-fit, reconfiguration, and release boundaries have executable witnesses. The ASL payload carrier width remains verification infrastructure and no longer determines architectural capacity for four-bit formats.