Лекция: Адресация памяти

Адресное пространство памятипредставляет собой последовательность байтов. Исторически сложилось так, что первые машины имели адресную шину из 16 линий (16-разрядную), которая позволяла адресоваться к объему памяти до 216=64 Кб. Позже адресная шина ПК стала состоять из 20 линий. 20 бит позволяли адресоваться к 220=1 Мб, но сами машины продолжали оставаться 16-разрядными. На этом этапе память была разбита на сегменты по 64 Кб (сегментирована). И когда в программе адресовались к памяти, то указывали номер сегмента (его адрес) и смещение внутри сегмента от его начала.

На выходе из системной шины появилось устройство формирования адреса,а в процессоре появился сегментный регистр.

Сегмент – участок памяти длиной 64 Кб, который может начинаться только с адреса, кратного 16 (т. е. 0, 16, 32, 48 и т. д.). Фрагмент памяти в 16 байт называется параграфом(говорят, что сегмент всегда выровнен на начало параграфа). Смещение – указывает, сколько байт от начала сегмента нужно отступить, чтобы обратиться к нужному адресу.

20-разрядный адрес получается следующим образом: содержимое сегмента сдвигается влево на четыре разряда, в свободные правые разряды записываются нули и результат складывается со смещением.

С появлением 32-разрядных машин сегментирования памяти не стало, но форма записи сохранилась.

Во всех современных языках программирования, в том числе и в Паскале, есть специальный тип данных, который позволяет получить значение адреса (как полного, так и его частей).

еще рефераты
Еще работы по информатике