Адрес в вычислительной технике
А́дрес в вычислительной технике, уникальный идентификатор, код или номер, присваиваемый регистру, ячейке памяти, устройству, компьютеру, системе или объекту для операций с ним; одно из основополагающих понятий вычислительной техники. Различают адреса физические, логические, сетевые.
Физический адрес: 1) уникальный номер ячейки (полупроводниковой) памяти, служащий для её идентификации при операциях чтения/записи; 2) номер регистра или порта ввода-вывода, закодированный в команде; 3) номер дорожки и номер сектора для определения адреса при выполнении дисковых операций и т. д. Логический адрес – символический или условный адрес (области памяти, периферийного или сетевого устройства, электронной почты и др.), который при трансляции или в процессе работы переводится соответствующим программным или аппаратным обеспечением в физический адрес. Примером логического адреса являются адреса виртуальной памяти. Сетевые адреса, такие как адреса электронной почты, серверов и т. д., в разных сетях устроены по-разному. Обычно это одна или несколько групп символов, содержащихся в тексте сообщения, по которым определяется получатель или отправитель пересылаемых данных. Стандарты IEEE 802.3 и 802.5 рекомендуют наличие уникального адреса в мире для каждого устройства (см. также IP-адрес, URL, URI).
Существует много способов представления адресов (режимов адресации), основными из которых являются абсолютный, относительный и символический адреса. Абсолютный адрес – это число, представляющее физический адрес ячейки памяти, внешнего устройства или адрес внутренней памяти в данном устройстве. Ячейки памяти (байты или слова) пронумерованы последовательно целыми числами, начиная с нуля. В случае основной (главной) памяти это адрес, выдаваемый процессором или контроллером на адресную шину для доступа к данной ячейке. Абсолютные адреса используются в программировании при абсолютной адресации памяти или устройств. Этот тип адресации обычно применяется в системных, а также в ассемблерных программах для всевозможных контроллеров и встраиваемых систем. Относительный адрес определяется как смещение относительно некоторого базового адреса (содержимого базового регистра) или счётчика команд (PC). Например, компилятор, создавая при трансляции модуля программы таблицу имён (англ. symbol table), заносит в неё смещения адресов идентификаторов относительно некоторого базового адреса, обычно от начала программы. Эти смещения используются компоновщиком для пересчёта относительных адресов от новой базы, а загрузчиком – для настройки на реальные (физические) адреса оперативной памяти. Символический адрес – адрес, представленный символьным обозначением.
См. также Адресное пространство.