Дополнительная (expanded) память

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

Фундаментальные решения были приняты при разработке первых PC. Для того, чтобы микропроцессор 8088 мог пользоваться, она должна быть адресуемой. Как известно, используемый в IBM РС, PC/XT микропроцессор i8088 через свои 20 адресных шин предоставляет доступ всего к 1-Мбайтному пространству памяти.

Конструкторы IBM решили выделить специальные области памяти для специфически целей. Они разделили всю память на разделы, и каждый раздел предназначался для реализации своих функций. Результирующая диаграмма названа картой памяти. При разработке PC половина всей памяти была зарезервирована. Верхняя половина адресного пространства, была выделена для содержания кодов BIOS и для прямого процессорного доступа к памяти, используемой видеосистемой. Первые несколько Кбайт были зарезервированы под информацию о системе и расположение конкретных секций кодов, которые выполнялись на момент возникновения прерываний программного обеспечения. Эти ячейки памяти называются векторами прерывания, а функция программного кода - механизмом прерывания.

В конце адресного пространства располагается буфер клавиатуры - номиналом 16 байт. Здесь хранятся 16 последних символов введённых с клавиатуры. Этот буфер нужен для сохранения набранного текста во время, когда процессор занят другой задачей, после того как он освободится, текст будет обработан. Омерзительный писк компьютера означает - буфер переполнен и дальнейший набор бессмысленен. Кроме того, различные системные флаги, указывающие на внутреннее состояние системы, также хранятся в нижнем разделе памяти.

В те дни, когда большинство компьютеров имели 60К памяти, 512К казались царской щедростью. Поэтому 128К были отданы под юрисдикцию программного обеспечения, остальные 384К от начала адресного пространства, предназначались для использования программами BIOS и видеопамятью. Эти решения выделяли 640К стандартной памяти (conventionalmemory) для DOS - это был максимум адресуемого пространства, которым мог оперировать 8088 при выполнении программ. Со временем эти 640К были названы базовой памятью, потому что это является основополагающим стандартом, на котором должны базироваться все IBM совместимые системы.

Почти на всех персональных компьютерах область памяти UMB (UpperMemoryBlocks) редко оказывается заполненной полностью. Пустует, как правило, область расширения системного ROM BIOS или часть видеопамяти и области под дополнительные модули ROM.

На этом и базируется спецификация дополнительной памяти EMS (ЕхpandedMemorySpecification), впервые разработанная фирмами LotusDevelopment, Intel и Microsoft (поэтому называемая иногда LIM-спецификацией). Эта спецификация позволяет использовать оперативную память свыше стандартных 640 Кбайт для прикладных программ.

Принцип использования дополнительной памяти основан на переключении блоков (страниц) памяти. В области UMB, между видеобуфером и системным RGM BIOS, выделяется незанятое 64-Кбайтное "окно", которое разбито на страницы. Программные и аппаратные средства позволяют отображать любой сегмент дополнительной памяти в любую из выделенных страниц "окна(TM). Хотя микропроцессор всегда обращается к данным, хранимым в "окне" (адрес ниже 1 Мбайта), адреса этих данных могут быть смещены в дополнительной памяти относительно "окна" на несколько мегабайт.

В компьютерах на процессоре i8088 для реализации дополнительной памяти должны применяться специальные платы с аппаратной поддержкой "подкачки" блоков (страниц) памяти и соответствующий программный драйвер. Разумеется, платы дополнительной памяти могут устанавливаться и в компьютер на базе процессоров i80286 и выше.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: