Interleaving (Data)

From Handwiki

Short description: Ordering fields of data sequentially


In computing, interleaving of data refers to the interspersing of fields or channels of different meaning sequentially in memory, in processor registers, or in file formats. For example, for coordinate data,

x0 y0 z0 w0 x1 y1 z1 w1 x2 y2 z2 w2
x0 x1 x2 x3 y0 y1 y2 y3 z0 z1 z2 z3 w0 w1 w2 w3

the former is interleaved while the latter is not.

A processor may support permute instructions, or strided load and store instructions, for moving between interleaved and non-interleaved representations.

Interleaving has performance implications for cache coherency, ease of leveraging SIMD hardware, and leveraging a computer's addressing modes. (e.g. - interleaved data may require one address to be calculated, from which individual fields may then be accessed via immediate offsets; conversely if only one field is required by index, de-interleaved data may leverage scaled index addressing).

See also

  • AOS vs SOA
  • Data-oriented design
  • Locality of reference
  • Parallel arrays
  • Planar image format
  • Packed pixel format

References



Retrieved from "https://handwiki.org/wiki/index.php?title=Interleaving_(data)&oldid=2630928"

Categories: [Computer memory] [Computer data storage]


Download as ZWI file | Last modified: 02/23/2024 16:33:31 | 15 views
☰ Source: https://handwiki.org/wiki/Interleaving_(data) | License: CC BY-SA 3.0

ZWI is not signed. [what is this?]