Выравнивание данных в оперативной памяти компьютеров — способ размещения данных в памяти особым образом для ускорения доступа.
Причины адрес
данные 9
8 этословоневыро-внено 7
6 5 4
3
этослововыро-внено 2 1 0
Центральные процессоры в качестве основной единицы при работе с памятью используют машинное слово, размер которого может быть различным. Однако размер слова всегда равен нескольким байтам (байт является наименьшей единицей, в которой отсчитываются адреса). Как правило, машинное слово равно байтам, то есть состоит из одного, двух, четырёх, восьми и т. д. байтов.
При сохранении какого-то объекта в памяти может случиться, что некое поле, состоящее из нескольких байтов, пересечёт «естественную границу» слов в памяти. Некоторые модели процессоров не могут обращаться к данным в памяти, нарушающим границы машинных слов. Некоторые могут обращаться к невыровненным данным дольше, нежели к данным, находящимся внутри целого «машинного слова» в памяти.
На практике такое выравнивание означает, что адреса всех данных размером байт при (превосходящие размер слова) должны делиться без остатка на .
Ссылки
Data alignment: Straighten up and fly right, 2005 Перевод «Data alignment: Straighten up and fly right», (Что такое выравнивание, и как оно влияет на работу ваших программ) 2010
Категория:Управление памятью Категория:Составные типы данных