Interested Article - Параграф (единица измерения)
- 2021-08-29
- 1
Пара́граф ( англ. paragraph ) — единица измерения объёма данных в информатике . Численно параграф равен 16 байтам .
Использование
Чаще всего данная единица используется не для собственно измерения объёма блока данных, а для записи адреса / смещения блока и для обозначения выравнивания .
Если адрес какой-либо структуры кратен 16, он может быть выражен в параграфах целым числом. Говорят, что структура должна быть выравнена по границе параграфа , если по какой-то причине требуется, чтобы адрес/смещение начала структуры был кратен 16. Обычно за систему отсчёта берётся начало адресного пространства, но в некоторых случаях может быть взят произвольный адрес.
Поскольку размер параграфа, записанный в шестнадцатеричной системе счисления , равен 0x10, адрес, кратный параграфу, является круглым числом . Адрес любой сущности, выравненной по границе параграфа, будет заканчиваться как минимум одним нулём (например 0xFC94B8C0).
Применение
- В Hex-редакторах : как правило используется 16 колонок, поэтому одна строка в редакторе — один параграф. Расстояние (смещение) между любыми двумя байтами, стоящими в j-той колонке строк (i) и (i+n) равно n параграфам.
-
В архитектуре
x86
при функционировании в
реальном режиме
: расстояние между началами двух соседних сегментов равно одному параграфу. Поэтому в этом режиме значение сегментного регистра, по сути, является индексом параграфа в физической памяти. При обращении по
реальному
адресу
SSSS:OOOO
берётся параграф номер SSSS, от него отсчитывается OOOO байтов, и выполняется обращение по полученному физическому адресу. - В микропроцессоре x86 : используется кеш инструкций , оперирующий блоками размером 16 байт. Поэтому часто для увеличения производительности практикуется выравнивание начал процедур по границе параграфа. Помимо процедур, выравниваются также блоки кода, на которые (наравне с процедурами) часто совершаются условные и безусловные переходы: циклы , ветвления и т.п. Это неизбежно приводит к увеличению размера кода, порою значительному, поэтому большинство компиляторов имеют специальную опцию, отключающую такие выравнивания, либо общую опцию «Оптимизировать размер кода», в рамках которой не выполняется выравнивание блоков кода по границе параграфа.
-
В некоторых
ассемблерах
используется ключевое слово
PARA
, устанавливающее выравнивание для описываемого блока данных.
Употребление
Поскольку единица сама по себе используется для акцентирования внимания на кратность, с этой единицей никогда не используются приставки кратности .
См. также
Примечания
- Записанный в Hex-представлении как общепринятом для записи адресов.
- Только в случае, если в качестве точки отсчёта выбрано начало адресного пространства.
- 2021-08-29
- 1