Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций Комп схем и АК 2011.doc
Скачиваний:
705
Добавлен:
10.02.2016
Размер:
13.66 Mб
Скачать

20.1. Способы организации доступа к системной магистрали

Конкретные варианты процедур доступа ведущих устройств к магистрали (организации каналов ПДП) в различных ЭВМ очень разнообразны. Между тем существуют некоторые общие принципы их реализации. В общем случае для устройств, использующих ПДП (DMA), выделяют два основных принципа организации доступа, в соответствии с которыми выделяют два типа систем ПДП (DMA).

Пассивный доступ или slave DMA. При этом способе доступа все устройства, использующие режим DMA, являются slave и обслуживаются одним специальным контроллером DMA (ПДП), размещенным на системной магистрали, т.е. одним ведущим устройством, – master. Такой способ доступа позволяет реализовать только связи ПУ-ОП. Контроллер DMA включает в себя арбитр магистрали и соответствующие СУМ. В этом случае ПУ играют пассивную роль и осуществляют обмен с ОП по сигналам, формируемым контроллером DMA, т.е. аналогично тому, как это происходит при обмене через процессор.

Как уже отмечалось выше, контроллер DMA обслуживает несколько ПУ, т.е. поддерживает несколько каналов ПДП. Перед началом обмена контроллер должен быть инициализирован. Для этого в его регистры необходимо загрузить начальный адрес области ОП, с которой ведется обмен, размер передаваемого блока информации для каждого канала, направление и режим передачи, дисциплину арбитража. В общем случае инициализация контроллера может осуществляться по мере необходимости (многократно) в процессе обработки текущей программы. Однако установка дисциплины арбитража в абсолютном большинстве случаев осуществляется один раз, при запуске вычислительной системы на решение конкретной задачи.

Таким образом, slave DMA не требует существенного усложнения аппаратуры устройств магистрали, а следовательно, и увеличения их стоимости. Каждое устройство, использующее такой режим обмена, должно иметь только аппаратуру формирования сигнала запроса ПДП (запросчик). При этом контроллер DMA является достаточно сложным и дорогим устройством, которое можно считать сопроцессором ввода/вывода, разгружающим центральный процессор от рутинных операций обмена (т.е. контроллер ПДП является очень упрощенным вариантом канальных процессоров мэйнфреймов).

Исторически системы 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).

Следует отметить, что в реальных вычислительных системах иногда используют оба варианта систем DMA одновременно (для разных устройств магистрали). При этом контроллер может поддерживать несколько каналов DMA и работать в комбинированном режиме. Для одних устройств магистрали (slave) он может выполнять функции контроллера DMA, а для других устройств (master) он являются только арбитром магистрали. Именно такой вариант функционирования системы DMA был реализован в PC/AT фирмы IBM.