Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Раздел 1 Организация памяти вычислительных сист....doc
Скачиваний:
28
Добавлен:
27.10.2018
Размер:
666.62 Кб
Скачать
      1. Увеличение объема внутренней памяти

С увеличением числа и сложности решаемых ВС задач все большее значении приобретает объем внутренней памяти. В свою очередь объем памяти с произвольной адресацией ограничивается размеров адресного пространства системы и зависит от числа линий шины адреса. Архитектура процессора (разрядность внутренних регистров) накладывает ограничение на увеличение разрядности шины адреса, то есть адрес , передаваемый по шине должен помещаться в регистрах процессора и должен быть кратным байту (байт, слово, двойное слово и т.д.). Кроме этого нельзя безгранично увеличивать разрядность внутренних элементов процессора, так как в этом случае необходимо принимать во внимание ряд конструкционных и технологических факторов (габаритные размеры, надежность, потребляемая и рассеиваемая мощности и т.д.).

Разрешить эти противоречивые требования позволяет сегментация памяти – разбиение всего массива на сегменты. При этом каждая ячейка памяти должна иметь как бы две координаты: адрес сегмента в массиве памяти и адрес ячейки внутри массива. Такое представление адреса называется логическим адресом. При этом в состав процессора необходимо ввести сумматор адресов для вычисления физического адреса ячейки памяти.

Операции с логическим адресом производятся при написании программного обеспечения системы, а на аппаратном уровне элементы логического адреса обрабатываются элементами и устройствами процессора. Все остальные устройства системы получают по шине адреса физический адрес.

Рассмотрим логическую организацию памяти для ВС на базе процессоров семейства 80х86.

Логическая организация памяти

В связи с использованием механизма сегментации памяти положение каждой ячейки определяется сегментом, в котором она находится, а также смещением относительно начала этого сегмента (см. рис.3.6). Следовательно, с логической точки зрения положение ячейки может быть описано базовым адресом сегмента segment и смещением относительно начала этого сегмента offset Эта пара чисел называется логическим адресом ячейки памяти и записывается в виде segment:offset. База сегмента segment всегда хранится в сегментном регистре (селекторе).

Все сегментные регистры имеют специализированное назначение, что определяет специализацию адресуемых ими сегментов памяти, а именно:

CS - сегмент программного кода CS;

DS - основной сегмент данных DS;

ES, FS, GS - дополнительные сегменты данных ES, FS, GS;

SS - сегмент стека SS.

Cмещение offset чаще всего берется из регистров указателей адреса: указателя адреса команды IP, указателя стека SP (для программного стека), указателя базового адреса некоторого массива данных BP, указателей индексов внутри массива для ячеек источников и истприемников SI и DI, либо вычисляется в соответствии со способом адресации операндов, указанным в команде.

Таким образом, логический адрес состоит из двух беззнаковых 16-битных значений (является двойным словом) для 16-битной адресации, а также 16-битного значения сегмента и 32-битного значениия смещения при 32-биной адресации.

Программа всегда оперирует логическими адресами. При обращении к памяти шинный интерфейс процессора из заданного логического адреса ячейки памяти вычисляет ее физический адрес, который и выдается на шину адреса.