Смекни!
smekni.com

Организация прерываний и прямого доступа к памяти в вычислительных системах, распределение ресурсов, технология Plug and Play (стр. 6 из 6)

Каналы первого контроллера по-прежнему используются как 8-ми разрядные, каналы второго контроллера используются для передачи 16-ти разрядных данных в одном цикле обмена данными. Рассмотрим устройство контроллера DMA (рис. 7)

Рис.7. Структурная схема контроллера DMA

Структура одного канала показана на примере канала 0. В каждом канале регистры BAR и WCR предназначены для хранения констант - базового адреса и базового числа циклов. Они загружаются в режиме программирования контроллера одновременно с регистрами CAR (базовый адрес памяти) и CWR ( текущий адрес памяти). Регистр режима MR определяет режим работы канала. Он содержит информацию о типе цикла прямого доступа (чтение (ОП <- ВУ), запись (ОП -> ВУ), проверка), режиме изменения регистра текущего адреса (CAR) - увеличение или уменьшение и режиме работы канала - передача по запросу, одиночная передача, блочная передача, каскадирование (работа каскадной схемы контроллера DMA). Блок управления режимом содержит регистр команд и регистр условий. Регистр команд блока управления режимом определяет основные параметры работы канала. Загружается при программировании контроллера микропроцессором. Регистр условий хранит разрешение на прямой доступ каждому каналу (устанавливается программно) и запоминает факт перехода через 0 в регистре хранения базового числа циклов каждого канала. Контроллер DMA может работать в двух основных режимах: в режиме программирования и режиме выполнения циклов прямого доступа к памяти. В режиме программирования процессор работает с контроллером прямого доступа к памяти, как с внешним устройством. После загрузки в контроллер DMA управляющих слов контроллер переходит в пассивное состояние. В этом состоянии контроллер находится до тех пор, пока не поступит запрос на прямой доступ к памяти от внешнего устройства или от процессора. Обнаружив запрос на прямой доступ к памяти, контроллер выставляет процессору запрос на захват системной магистрали и ожидает от него подтверждения захвата шины, т.е. отключения процессора от системной шины и перехода его выходов в состояние высокого сопротивления ( Z-состояние). При получении сигнала подтверждения захвата (HLDA) контроллер начинает выполнять циклы передачи данных в режиме прямого доступа к памяти. Необходимые для управления шиной сигналы вырабатываются самим контроллером DMA. Контроллер DMA можно рассматривать как устройство, являющееся главным абонентом системной шины. С введением шины PCI изменился принцип организации работы внешних устройств с памятью в режиме DMA. На шине PCI отсутствуют сигналы DREQx и DACKx, здесь применяется технология захвата управления шиной внешним устройством (Bus Mastering - BM). Технология захвата управления шиной (busmastering) совместима с протоколом режима UDMA и реализует работу в режиме DMA ( передачу данных из памяти в устройство напрямую или наоборот, минуя процессор) для каждого устройства, которое может быть главным абонентом системной шины. Концепция главного абонента шины делает прямой доступ к памяти излишним. Дополнительно установленная схема главного абонента шины на адаптере внешнего устройства позволяет осуществлять прямой доступ к памяти каждому такому устройству. Адаптер главного абонента шины может вырабатывать все сигналы управления шиной сам и, следовательно, имеет возможность обращаться к области адресов памяти и ввода-вывода любым необходимым способом. Использование внешнего главного абонента шины обеспечивает большую гибкость и эффективность, чем работа с контроллером DMA, но требует более сложных арбитражных операций. Это ведет к существенному увеличению сложности и стоимости устройства, работающего в режиме управления шиной. Можно, конечно, рассматривать устройство управления шиной, расположенное на адаптере внешнего устройства, как форму контроллера DMA, который организует быстрый обмен данными между основной памятью и адаптером. Однако прямой доступ к памяти - это только часть концепции главного абонента шины.

7. Распределение ресурсов, технология Plug and Play

Технология Plug and Play (включай и работай) была разработана известнейшими компаниями Intel, Compag Computer, Microsoft и Phoenix Technologies в 1993 году для решения проблем изменения конфигурации IBM PC-совместимых компьютеров. Наращивание возможностей персонального компьютера осуществляется при помощи плат расширения. Платы расширения используют такие ресурсы ЭВМ как порты ввода-вывода, линии запросов прерывания IRQ, каналы прямого доступа к памяти DMA. Примерное распределение аппаратных ресурсов для некоторых устройств приведено в таблице 1.

Таблица 1

Устройство UMB Порты IRQ DMA
Контроллер VGA (графический) A000-BFFF
C000-C7FF 3B0-3DF 2 -
Контроллер флоппи - 3F0-3F7 2 -
LPT1 - 370-37F 7 -
COM1 - 3F8-3FF 4 -
COM2 - 2F8-2FF 3 -
Адаптер SCSI D800-DBFF - 14 -
Сетевой адаптер DC00-DFFF 300-30F 10 -
Sound Blaster(звуковая карта) - 220 5 1

Обращение к одним и тем же ресурсам различных устройств приводит к конфликтам. Обнаружить конфликтные ситуации позволяют программы, предназначенные для диагностики и тестирования компьютера, например, такие как Norton Diagnostic, Checkit, Microsoft Diagnostic, а также специальные программы для профессионалов. Технология Plag and Play позволяет устранить возможность конфликтов. Для этого необходимо, чтобы эту технологию поддерживали все дополнительные платы, расширяющие возможности компьютера, все основные ресурсы компьютера, включая программное обеспечение, системные шины, интерфейсы. Первой системной шиной, поддерживающей технологию Plag and Play, была шина EISA , в настоящее время ее поддерживают практически все современные шины ( PCI, WireFire и т.д.).

Как работает Plag and Play

После включения компьютера BIOS- система Plug and Play определяет наличие устройств, необходимых для первоначальной загрузки. Затем читает идентификатор, который записан в специальном запоминающем устройстве каждого устройства, поддерживающего функции Plug and Play. Идентификатор используется в дальнейшем как адрес устройства при обращении к нему. BIOS производит загрузку операционной системы. Специальный драйвер-менеджер конфигурации запрашивает подчиненные драйверы - инумераторы шин (bus enumerators) о наличии устройств,требующих системных ресурсов. Если устройство не использует технологию Plag and Play, информация о нем считывается из специальной базы данных, например, в Windows 9Х имеется база данных, в которой хранится информация о нескольких тысячах устройств. В оперативной памяти компьютера создается специальная запись в виде дерева аппаратной конфигурации (hardware tree),содержащая данные об устройствах, полученные менеджером конфигурации. Арбитр ресурсов (resourse arbitrator), используя дерево конфигурации, распределяет системные ресурсы в порядке установленных приоритетов. Менеджер конфигурации оповещает инумераторы, что ресурсы распределены. Инумераторы заносят в регистры контроллеров информацию о том, какие ресурсы и в каком объеме могут использоваться устройствами Plag and Play. При этом не исключается возможность конфликта между динамическим распределением ресурсов и программным обеспечением,работающим с аппаратурой, минуя BIOS. Первую Plag and Play BIOS выпустила в начале 1994 года фирма Phoenix Technologies. В микросхему BIOS была включена обычная системная BIOS (64Кб),расширение для шины PCI ( 2-10 Кб ) и сама поддержка Plag and Play (12-16 Кб). Все платы расширения в системе Plag and Play имеют специальную микросхему - PLD ( Programmable Logic Device ),которая позволяет плате сообщать свой идентификатор и список требуемых и поддерживаемых ресурсов.


Список литературы

1. Гук. М.Ю. Аппаратные средства IBM PC: Энциклопедия, 3-е изд.-СПб: Питер, 2006 - 1072с.

2. Цилькер Б.Я., Орлов С.А. Организация ЭВМ и систем: Учебник для вузов.- СПб.: Питер 2006. - 672с.

3. Мелехин В.Ф. Павловский Е.Г. Вычислительные машины, системы и сети: Учебник.- М.: Издательский центр "Академия", 2006. - 560с

4.Леонтьев В.П. Новейшая энциклопедия персонального компьютера:Энциклопедия. - М.: ОЛМА-ПРЕСС, 2006. - 869с

5.Таненбаум Э.С. Архитектура компьютера. Классика computer science. 4-е изд.- СПб.: Питер, 2006. - 704с.