Поле Границы дескриптора сегмента не дает программам выполнить адресацию вне сегмента. Действующее значение границы зависит от установки бита G (бит грануляции). Для сегментов данных граница также зависит от бита E (бит направления расширения сегмента). В качестве бита E назначается один из битов поля Типа при ссылках к дескрипторам сегментов данных.
Когда бит G очищен, граница сегмента равна значению 20-разрядного поля Границы дескриптора. В этом случае граница может изменяться в диапазоне от 0 до 0FFFFFH (2**20-1, или 1 мегабайт). Если бит G установлен, то процессор умножает значение поля Границы на масштабный коэффициент 2**12. В этом случае граница будет изменяться в диапазоне от 0FFFH (2**12-1, или 4K), до 0FFFFFFFFH (2**32-1, или 4 гигабайта).Отметим, что при использовании такого масштабирования, проверка границы для младших 12 битов адреса не выполняется; когда бит G установлен, а граница сегмента равна 0, допустимые значения смещения в сегменте лежат в диапазоне от 0 до 4095.
Для всех типов сегментов, за исключением сегментов, расширяемых вниз (т.е. стековых сегментов), значение границы на единицу меньше размера сегмента в байтах. Процессор генерирует исключение общей защиты в любом из следующих случаев:
Попытка доступа к байту памяти по адресу, превышающему границу сегмента.
Попытка доступа к слову памяти по адресу, превышающему границу сегмента
Попытка доступа к двойному слову памяти по адресу, превышающему границу сегмента
Для сегментов, расширяющихся вниз, граница служит для той же функции проверки, но интерпретируется иначе. В этом случае диапазон допустимых значений адреса определяется от (граница+1) до 2** 32-1. Сегмент с расширением вниз имеет максимальный размер при значении границы, равном 0. Контроль границы позволяет отлавливать такие программные ошибки, как неверно вычисленные индексы массивов и недопустимые указатели. Эти ошибки определяются сразу же, как только они произошли, поэтому идентификация вызвавшей их причины существенно упрощается. Без такого контроля границ указанные ошибки могут иметь следствием разрушение важных областей памяти в других модулях, а их существование невозможно обнаружить, пока не произойдет сбой в испорченном таким образом модуле, а такое событие может наступить намного позже, чем фактическая вызвавшая его ошибка. Защита позволяет блокировать такие ошибки и сообщить об их источнике.
В дополнение к проверке границ сегментов существует также проверка границ таблиц дескрипторов. Регистры GDTR и IDTR содержат 16-разрядное значение границы. Оно используется процессором для защиты программ от выбора дескриптора сегмента из области, лежащей вне данной таблицы. Граница таблицы дескрипторов идентифицирует последний допустимый байт этой таблицы. Поскольку каждый дескриптор имеет длину восемь байтов, таблица, содержащая до N дескрипторов, должна иметь значение Границы, равное 8N-1. Дескриптору может быть задано нулевое значение. Это относится к первому дескриптору в таблице GDT, который не используется. Хотя этот дескриптор может быть загружен в сегментный регистр, любая попытка ссылки к памяти при помощи этого дескриптора приведет к генерации исключения общей защиты.