Se in un sistema c’è il vincolo di allineamento di dati e istruzioni alla parola/word, allora le word devono necessariamente iniziare da indirizzi multipli della lunghezza della word (4 byte in RISC-V RV32).
Esempio: inizializzazione di un intero i
(4 byte) e di un char c
(4 bite)
- in una struttura (little-endian) non allineata:
indirizzo | byte |
---|---|
7 | i[3] |
6 | i[2] |
5 | i[1] |
4 | i[0] |
3 | |
2 | |
1 | |
0 | c |
- in una struttura (little-endian) allineata:
indirizzo | byte |
---|---|
4 | c |
3 | i[3] |
2 | i[2] |
i | i[1] |
0 | i[0] |