4.9. DATA ALIGNMENT

To simplify the addressing of data in a system, RapidIO assumes that all transactions are aligned to double-word (8-byte) boundaries (Figure 4.13). If the data being sent does not start or end on a double-word boundary, then a special mask is used to indicate which bytes contain valid data (Figures 4.14, 4.15). Sub-byte data is not supported at all. The minimum data size that can be sent across RapidIO is one byte (8 bits).

For write operations, a processing element will properly align data transfers to a double-word boundary for transmission to the destination. This alignment may require breaking up a data stream into multiple transactions if the data is not naturally aligned. A number of data payload sizes and double-word alignments are defined to minimize this burden. Figure 4.16 shows a 48-byte data stream that a processing element wishes to write to another processing element through the interconnect fabric. The data displayed in the figure to be written is shaded in grey. Because the start of the stream and the end of the stream are not aligned to a double-word boundary, the sending processing element is responsible for breaking the transaction in to at least three separate transactions as shown in the figure.

Figure 4.13. Byte alignment example
Figure 4.14. Half-word alignment example
Figure 4.15. Word alignment example
Figure 4.16. Data alignment ...

Get RapidIO: The Next Generation Communication Fabric For Embedded Application now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.