Запоминающие устройстваРефераты >> Программирование и компьютеры >> Запоминающие устройства
Аппаратные прерывания (IRQ) передаются по специальным линиям системной шины и связаны с запросами от внешних устройств (например, нажатие клавиши на клавиатуре). Логические прерывания возникают при работе самого микропроцессора (например, деление на ноль), а программные инициируются выполняемой программой и обычно используются для вызова специальных подпрограмм.
В первых компьютерах IBM PC использовалась микросхема контролера прерываний i8259 (Interrupt Controller), которая имеет восемь входов для сигналов прерываний (IRQ0-IRQ7). Как известно, в одно и то же время микропроцессор
может обслуживать только одно событие и в выборе данного события ему помогает контролер прерываний, который устанавливает для каждого из своих входов определенный уровень важности - приоритет. Наивысший приоритет имеет линия запроса прерывания IRQ0, а наименьший - IRQ7, то есть приоритет убывает в порядке возрастания номера линии. В IBM PC/AT восьми линий прерывания стало уже недостаточно и их количество было увеличено до 15. В первых моделях для этого использовалось каскадное включение двух микросхем i8259. Оно осуществлялось путем подсоединения выхода второго контролера ко входу IRQ2 первого.
Важно для понимания здесь следующее. Линии прерывания 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 Расширенная память |