В сегментированной модели организации памяти, логическое адресное пространство содержит до 16383 сегментов, размером до 4 -х гигабайт каждый, т.е. общий объем может достигать 2**46 байт (64 терабайт). Процессор отображает это 64-х терабайтовое логическое адресное пространство в физическое адресное пространство (до 4-х гигабайт) в соответствии с механизмом преобразования адресов, описанным в Главе 5. Прикладные программисты могут не вдаваться в подробности данного механизма отображения. Преимущество сегментированной модели заключается в том, что смещение внутри каждого адресного пространства проверяется отдельно и доступ к каждому сегменту контролируются индивидуально. Указатель на сегментированное адресное пространство состоит из двух частей:
16-разрядное поле селектора сегмента, которое идентифицирует сегмент.
Смещение, которое представляет собой 32-разрядный адрес внутри сегмента. Процессор использует селектор сегмента для получения линейного адреса начала сегмента, называемого базовым адресом. Обращение к памяти из программ осуществляется при помощи фиксированных смещений относительно данного базового адреса, что позволяет загружать в память и выполнять объектные модули без корректировки адресов (динамическая компановка). Размер сегмента определяется программистом, что позволяет делать его равным размеру содержащегося в нем модуля.
Сегментная адресация Двойное слово состоит из четырех байт, имеющих последовательные адреса. Т.о. двойное слово содержит 32 бита, которые нумеруются от 0 до 31. Слово, содержащее нулевой бит, называется младшим словом, а слово, содержащее 31-й бит - старшим словом. Младшее слово хранится по меньшему адресу. Адресом двойного слова считается адрес его младшего слова. Адрес старшего слова может быть использован для доступа к старшей половине двойного слова. Для достижения максимальной гибкости в структурах данных и эффективного использования памяти, слова необязательно выравнивать по четным адресам. Двойные слова также необязательно выравнивать по адресам, кратным четырем. Однако, из-за того, что процессор i486 имеет 32-разрядную шину, обмен данными между процессором и памятью производится двойными словами, начинающимися с адресов, кратных четырем. Процессор преобразует запросы невыровненных слов или двойных слов в последовательность запросов, допустимых для интерфейса с памятью. Таким образом, отсутствие выравнивания данных снижает производительность из-за увеличения количества обращений к памяти. Для повышения производительности структуры данных (особенно стеки) следует выравнивать по четным адресам и по адресам, кратным четырем.