Выравнивание данных — способ размещения данных в памяти особым образом для ускорения доступа.
Центральные процессоры в качестве основной единицы при работе с памятью используют машинное слово, размер которого может быть различным. Однако, размер слова всегда равен нескольким байтам (размер байта является единицей, в которой отсчитываются адреса). Как правило, машинное слово равно 2k байтам, т.е. состоит из одного, двух, четырёх, восьми и т.д. байтов.
При сохранении какого-то объекта в памяти может случиться, что некое поле, состоящее из нескольких байтов, пересечёт «естественную границу» слов в памяти. Некоторые модели процессоров не могут обращаться к данным в памяти, нарушающим границы машинных слов. Некоторые могут обращаться, но к невыровненным данным обращение дольше, нежели к данным, находящимся внутри целого «машинного слова» в памяти.
|