Misplaced Pages

Interleaving (data)

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
Ordering fields of data sequentially
This article does not cite any sources. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "Interleaving" data – news · newspapers · books · scholar · JSTOR (September 2016) (Learn how and when to remove this message)
For other uses, see Interleaving.

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

References

Stub icon

This computer-storage-related article is a stub. You can help Misplaced Pages by expanding it.

Categories: