Важно для понимания здесь следующее. Линии прерывания IRQ8 - IRQ15 (то есть входы второго контролера) имеют приоритет ниже чем IRQ1, но выше IRQ3.

В режиме прямого доступа (DMA, Direct Memory Access) периферийное устройство связано с оперативной памятью непосредственно, а не через внутренние регистры микропроцессора. Наиболее эффективной такая передача данных бывает в ситуациях, когда требуется высокая скорость обмена для

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

В компьютерах, совместимых с IBM РС и PC/XT, для организации прямого доступа в память используется одна 4-канальная микросхема DMA i8237, канал 0 которой предназначен для регенерации динамической памяти. Каналы 2 и 3 служат для управления высокоскоростной передачей данных между дисководами гибких дисков, винчестером и оперативной памятью соответственно.

IBM PC/AT-совместимые компьютеры имеют 7 каналов прямого доступа к памяти. В первых компьютерах это достигалось каскадным включением двух микросхем i8237, как и в случае контролеров прерываний.

Память компьютера

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

соответствующих операций. Поскольку в любой момент времени доступ может осуществляться к произвольно выбранной ячейке, то этот вид памяти называют также памятью с произвольной выборкой - RAM (Random Access Memory).

Все программы, в том числе и игровые, выполняются именно в оперативной памяти. Постоянная память обычно содержит такую информацию, которая не должна меняться в течение длительного времени. Постоянная память имеет собственное название - ROM (Read Only Memory), которое указывает на то, что ею обеспечиваются только режимы считывания и хранения.

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

Как известно, используемый в IBM РС, PC/XT микропроцессор i8088 через свои 20 адресных шин предоставляет доступ всего к 1-Мбайтному пространству памяти. Первые 640 Кбайт адресуемого пространства в IBM РС-совместимых компьютерах называют обычно стандартной памятью (conventional memory). Оставшиеся 384 Кбайта зарезервированы для системного использования и носят название памяти в верхних адресах (UMB, Upper Memory Blocks, High DOS Memory или UM Area - UMA).Эта область памяти резервируется под размещение системной ROM BIOS (Read Only Memory Basic Input Output System), под видеопамять и ROM-память дополнительных адаптеров.

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

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

модули ROM. На этом и базируется спецификация дополнительной памяти EMS (Ехpanded Memory Specification), впервые разработанная фирмами Lotus Development, Intel и Microsoft (поэтому называемая иногда LIM-cпeцификацией). Эта спецификация позволяет использовать оперативную память свыше стандартных 640 Кбайт для прикладных программ. Принцип использования дополнительной памяти основан на переключении блоков (страниц) памяти. В области UMB, между видеобуфером и системным RGM BIOS, выделяется незанятое 64-Кбайтное "окно", которое разбито на страницы. Программные и аппаратные средства позволяют отображать любой сегмент дополнительной памяти в любую из выделенных страниц "окна(TM). Хотя микропроцессор всегда обращается к данным, хранимым в "окне" (адрес ниже 1 Мбайта), адреса этих данных могут быть смещены в дополнительной памяти относительно "окна" на несколько мегабайт (см. рис. 1).

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

платы дополнительной памяти могут устанавливаться и в компьютер на базе процессоров i80286 и выше.

Расширенная (extended) память

Компьютеры, использующие процессор l80286 с 24-разрядными адресными шинами, физически могут адресовать 16 Мбайт, а в случае процессоров i80386/486 - 4 Гбайта памяти. Такая возможность имеется только для защищенного режима работы процессора, который операционная система MS-DOS не поддерживает. Расширенная память (extended) располагается выше области адресов 1 Мбайт (не надо путать 1 Мбайт ОЗУ и 1 Мбайт адресного пространства). Для работы с расширенной памятью микропроцессор должен переходить из реального в защищенный режим и обратно. В отличие от l80286 микропроцессоры i80386/486 выполняют эту операцию достаточно просто, именно поэтому для них в составе MS-DOS имеется специальный драйвер - менеджер памяти ЕММ386 (см. рис. 2).

Кстати, при наличии соответствующего драйвера расширенную память можно эмулировать как дополнительную. Аппаратную поддержку в этом случае должен обеспечивать микропроцессор не ниже i80386 или вспомогательный набор специальных микросхем (например, наборы NEAT фирмы Chips and Technologies). Следует заметить, что многие платы памяти, поддерживающие стандарт LIM/EMS, могут использоваться также и в качестве расширенной памяти.

 

Expanded- память

       
 

Область HMA

     

Область НМА - память

1024 K

 

10000 h

     
 

Системный 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 Расширенная память

)