85
новка дисциплины арбитража в абсолютном большинстве случаев осуществляется
один раз, при запуске вычислительной системы на решение конкретной задачи.
Таким образом, slave DMA не требует существенного усложнения аппаратуры
устройств магистрали, а следовательно, и увеличения их стоимости. Каждое устрой-
ство, использующее такой режим обмена, должно иметь только аппаратуру форми-
рования сигнала запроса ПДП (запросчик).
При этом контроллер DMA является дос-
таточно сложным и дорогим устройством, которое можно считать сопроцессором
ввода/вывода, разгружающим центральный процессор от рутинных операций обме-
на (т.е. контроллер ПДП является очень упрощенным вариантом канальных процес-
соров мэйнфреймов, описанных в гл. 1).
Исторически системы slave DMA появились первыми. В частности, система
ПДП такого типа использовалась первоначально
на магистрали ISA в компьютерах
PC/XT фирмы IBM. Многочисленные варианты систем slave DMA используются и в
настоящее время в универсальных и управляющих ЭВМ самой разной архитектуры,
назначения и производительности.
Активный доступ, или bus master DMA. При этом способе доступа предполага-
ется, что устройства, использующие режим DMA, имеют программно-аппаратные
средства, способные управлять магистралью (осуществлять прямое управление ма-
гистралью, или
bus mastering), а следовательно, и реализовывать любые связи типа
master-slave (M-S). Такие устройства магистрали могут выступать как master, поэто-
му единый контроллер DMA отсутствует. Остается только арбитр магистрали, кото-
рый по определенной дисциплине предоставляет магистраль в распоряжение того
или иного устройства. Арбитр может быть выполнен как отдельное устройство, раз-
мещенное на магистрали, либо арбитражем магистрали может
заниматься процес-
сор. В современных IBM PC процедуры арбитража магистрали включены в функции
чипсета. При наличии нескольких процессоров арбитром может быть назначен один
из них.
Следует иметь в виду, что любое современное интеллектуальное устройство
управляется процессором (процессорами), находящимся на системной магистрали и
имеющим собственную шину расширения. Такое устройство фактически является
специализированной микроЭВМ,
функционирующей по программе, обычно храня-
щейся в собственном ПЗУ. Этим оно, в сущности, только и отличается от "централь-
ного процессора (ЦП)", также находящегося на системной магистрали и обрабаты-
вающего команды текущей программы, хранящейся в ОП или системном ПЗУ. Такой
подход позволяет рассматривать "ЦП" как одно из интеллектуальных устройств ма-
гистрали, причем
"ЦП" может быть несколько. Исходя из этого, в вычислительных
системах, использующих bus mastering, можно говорить о множестве интеллектуаль-
ных устройств, приоритеты которых на использование системной магистрали для
обмена (захват магистрали) определяются только дисциплиной обслуживания, за-
груженной в арбитр при инициализации, т.е. можно говорить о многопроцессорных
вычислительных системах.
Таким образом, bus master DMA требует существенного
усложнения устройств
магистрали (наличие СУМ, более сложный запросчик), а следовательно, и увеличе-
ния их стоимости. Однако он дает возможность ускорить процессы обмена, особенно
в многозадачном режиме, и реализовать многопроцессорные варианты вычисли-
тельных систем, имеющих магистрально-модульную архитектуру.
Примером устройств с активным DMA являются контроллеры АТА (AT Attach-
ment for Disk Drivers), расположенные в современных IBM PC на магистрали PCI, в
частном случае контроллеры IDE. Активный DMA использует хост-адаптер шины
SCSI (Small Computer System Interface), связывающий шину с какой-либо внутренней
магистралью компьютера, а также контроллеры графических систем и средства их
подключения, например порт AGP (Accelerated Graphic Port) и ряд других устройств.
Примером устройств, использующих только bus master DMA (bus mastering), являют-
ся устройства вычислительных систем, построенных на базе магистрали VME (Versa
Module Eurocard).