Конструкторы IBM решили выделить специальные области памяти для специфически целей. Они разделили всю память на разделы, и каждый раздел предназначался для реализации своих функций. Результирующая диаграмма названа картой памяти. При разработке PC половина всей памяти была зарезервирована. Верхняя половина адресного пространства, была выделена для содержания кодов BIOS и для прямого процессорного доступа к памяти, используемой видеосистемой. Первые несколько Кбайт были зарезервированы под информацию о системе и расположение конкретных секций кодов, которые выполнялись на момент возникновения прерываний программного обеспечения. Эти ячейки памяти называются векторами прерывания, а функция программного кода - механизмом прерывания.
В конце адресного пространства располагается буфер клавиатуры - номиналом 16 байт. Здесь хранятся 16 последних символов введённых с клавиатуры. Этот буфер нужен для сохранения набранного текста во время, когда процессор занят другой задачей, после того как он освободится, текст будет обработан. Омерзительный писк компьютера означает - буфер переполнен и дальнейший набор бессмысленен. Кроме того, различные системные флаги, указывающие на внутреннее состояние системы, также хранятся в нижнем разделе памяти.
В те дни, когда большинство компьютеров имели 60К памяти, 512К казались царской щедростью. Поэтому 128К были отданы под юрисдикцию программного обеспечения, остальные 384К от начала адресного пространства, предназначались для использования программами BIOS и видеопамятью. Эти решения выделяли 640К стандартной памяти (conventional memory) для DOS - это был максимум адресуемого пространства, которым мог оперировать 8088 при выполнении программ. Со временем эти 640К были названы базовой памятью, потому что это является основополагающим стандартом, на котором должны базироваться все IBM совместимые системы.
Дополнительная (expanded) память.
Почти на всех персональных компьютерах область памяти UMB (Upper Memory Blocks) редко оказывается заполненной полностью. Пустует, как правило, область расширения системного ROM BIOS или часть видеопамяти и области под дополнительные модули ROM.
На этом и базируется спецификация дополнительной памяти EMS (Ехpanded Memory Specification), впервые разработанная фирмами Lotus Development, Intel и Microsoft (поэтому называемая иногда LIM-спецификацией). Эта спецификация позволяет использовать оперативную память свыше стандартных 640 Кбайт для прикладных программ.
Принцип использования дополнительной памяти основан на переключении блоков (страниц) памяти. В области UMB, между видеобуфером и системным RGM BIOS, выделяется незанятое 64-Кбайтное "окно", которое разбито на страницы. Программные и аппаратные средства позволяют отображать любой сегмент дополнительной памяти в любую из выделенных страниц "окна(TM). Хотя микропроцессор всегда обращается к данным, хранимым в "окне" (адрес ниже 1 Мбайта), адреса этих данных могут быть смещены в дополнительной памяти относительно "окна" на несколько мегабайт (см. рис. 2).
В компьютерах на процессоре i8088 для реализации дополнительной памяти должны применяться специальные платы с аппаратной поддержкой "подкачки" блоков (страниц) памяти и соответствующий программный драйвер. Разумеется, платы дополнительной памяти могут устанавливаться и в компьютер на базе процессоров i80286 и выше.
Расширенная (extended) память
Компьютеры, использующие процессор l80286 с 24-разрядными адресными шинами, физически могут адресовать 16 Мбайт, а в случае процессоров i80386/486 - 4 Гбайта памяти.
| Expanded- память |
| |||
| Область HMA | Область НМА - память | |||
1024 K | 10000h |
| |||
| Системный ROM BIOS | ROM BIOS | |||
960 K | F000 h |
| |||
| Расширение ROM BIOS |
| |||
896 K | E000 h | " Окно EMS " | |||
| ... ... |
| |||
| Hard Disk ROM BIOS | I/O ROM BIOS | |||
| C800 h |
| |||
784 K | EGA/VGA ROM BIOS | C000 h |
| ||
| Видеопамять | ||||
768 K | Дисплей CGA |
| |||
| ОЗУ | ||||
736 K | Монохромный дисплей | B000 h |
| ||
| Дисплей EGA/VGA |
| |||
| ... ... ... | A000 h | Драйвер ЕМM.SYS
| ||
| TSR-прогрсммы |
| |||
| DOS | DOS | |||
0 K |
| ||||
Рис. 1 Дополнительная память | Рис. 2 Расширенная память |
Наиболее существенным различием расширенной (базовой) и дополнительной памяти является то, что программы, работающие в реальном режиме, не могут выполняться в дополнительной памяти. А так как DOS написан для реального режима, ему приходится обходиться только базовой памятью. Но сказать, что дополнительная память бесполезна в реальном режиме - неверно.
Программы не знают, как адресоваться к дополнительным ячейкам памяти. Но дополнительная память может быть использована для хранения информации. А следовательно, просто нужно разработать программное обеспечение, чтобы использовать возможности дополнительной памяти. И такие DOS-программы существуют. Прекрасный пример тому имитатор логического диска - VDISK, который поддерживается DOS, начиная с версии 3.0. Хотя программные коды VDISK выполняются в обычной памяти DOS в реальном режиме, дополнительная память может использоваться для хранения данных. Так как OS/2 может функционировать в защищенном режиме, ей доступны все ресурсы дополнительной памяти. Однако стоит напомнить, что, когда OS/2 использует подпрограммы старушки DOS, ей приходится довольствоваться ограничениями памяти реального режима в 640 Кб.
В апреле 1985 года несколько месяцев спустя после представления первых AT с несколькими Мб дополнительной памяти - главное издательство по программному обеспечению и разработчик технического обеспечения сформулировали свой собственный метод преодоления ограничения в 640 Кб старых компьютеров на 8088 микропроцессоре, работающих в DOS. Через несколько месяцев к ним присоединилась и Microsoft Corporation. Их разработка названа Lotus - Intel-Microsoft Expended Memory Specification или LIM память, или EMS, или просто расширенная память. Первая версия была названа EMS 3.0, чтобы указать на совместимость с тогда последней версией DOS. Новая система отличалась как от базовой памяти, так и от дополнительной. Она не была в пределах адресного пространства центрального микропроцессора. Её работа основывалась на специальной схеме технического обеспечения, которая функционировала наподобие переключателя. Это устройство переключало банки памяти из нормального адресного пространства 8088 микропроцессора, где чип мог читать и писать в неё.
Эта схема, названная переключателем банков, не была ни новой ни необычной. Подобное устройство использовалось в компьютерах на Z80 для преодоления лимита в 64К. Первые EMS имели дело с расширенной памятью, разбитой на банки по 16К. Представление AT с потенциально адресуемыми 16М затмило EMS, пока тяжелая действительность недоступности дополнительной памяти была до конца осознана. Даже несколько имеющихся программ, которые могли пользоваться достоинствами EMS, были более полезны чем драйвер VDISK, который был единственной совместимой с DOS программой, позволяющей использовать дополнительную память.
Все программное обеспечение EMS можно было разделить на две группы. Первая использует возможности 80386 работать с картами памяти виртуальных страниц. Вторая копирует банки в 16К из дополнительной памяти в основную. Хотя оба типа программ эффективно используются, Lotus заявляет, что системы использующие копирование блоков программ, не могут обеспечить полную корректную реализацию EMS.
Заключение
В данном курсовом проекте рассмотрены ОЗУ нескольких типов. Кэш - память (одноуровневая и двухуровневая), статические ОЗУ: SRAM и динамические: DRAM (FPM DRAM, EDO DRAM, SDRAM, Rambus DRAM, SDRAM II.) Показаны их различия, преимущества одних и недостатки других. Так же освещены перспективы и прогрессивные технологии.