Организация ЭВМ и систем. Однопроцессорные ЭВМ. Часть 3

       

ЦЕПОЧЕЧНАЯ СТРУКТУРА (BUS MASTER DMA)


В соответствии с рис. 11.2 к каждой ШАр (входу арбитра) может быть подключено множество запросчиков ИЗПД. Сигнал РПД распространяется по цепочке ИЗПД, подключенных к одной ЛЗПД (к одной ШАр). Распространение этого сигнала блокируется ИЗПД, выставившим запрос. Пусть это будет ИЗПДi, подключенный к ЩАрn (см. рис. 11.3). Получив сигнал РПД, блок СУМ ИЗПДn,i захватывает магистраль и начинает ею управлять. Таким образом, приоритет подключенных к одной ЛЗПД устройств определяется положением ИЗПД в цепочке распространения сигнала РПД. Это исключает необходимость выполнения процедуры поиска запроса с максимальным приоритетом среди ИЗПД, подключенных к одной ЛЗПД.

Если ШАр несколько, что обычно имеет место в реальных системах bus master DMA цепочечной структуры, в арбитре выполняется процедура поиска возбужденной ЛЗПД с максимальным приоритетом, которая аналогична процедуре поиска запроса с максимальным приоритетом в системе радиальной структуры.

На основании вышеизложенного можно записать обобщенную последовательность основных операций по предоставлению магистрали в распоряжение ведущего устройства (master) для передачи блока информации:

1. В начале функционирования вычислительной системы происходит инициализация арбитра и, если это необходимо, СУМ ведущих устройств магистрали. Эта процедура описана выше и здесь не конкретизируется.

2.        Полагаем, что вычислительная система функционирует. Процессоры ведущих устройств выполняют команды соответствующих программ и периодически захватывают магистраль для реализации обмена M-S.

3.        При возникновении готовности какого-либо из ведущих устройств магистрали его запросчик вырабатывает сигнал ЗПД, поступающий по соответствующей ЛЗПД в арбитр.

4.        При поступлении запроса от любого ИЗПД (т.е. сигнала ЗПД по ЛЗПД любой ШАр) в арбитре магистрали происходит анализ сигналов линий ЛПЗ. Наличие сигнала на любой линии означает, что в текущий момент магистраль занята другим устройством, ведущим обмен.
Одновременно выполняется процедура установления приоритета ШАр, с которой поступил запрос (или запросы, если их поступило несколько). Пусть наиболее приоритетным оказался запрос

по ШАрn.

5.        Дальнейшие операции зависят от результата анализа линий ЛПЗ (сигналов ПЗ), а именно:

  • При отсутствии сигналов ПЗ на линиях ЛПЗ (т.е. свободной магистрали) арбитр выставляет сигнал РПДn на линию ЛРПДn наиболее приоритет-

    ной ШАр.


  • При наличии сигнала ПЗ на какой-либо из линий ЛПЗ (т.е. занятой магистрали) арбитр сравнивает приоритет устройства, занимающего магистраль, с приоритетом выделенного запроса (т.е. приоритетом ШАрn):




  • -       Если приоритет поступившего запроса ниже, то арбитр ожидает окончание текущего обмена и снятия сигнала ПЗ. После этого арбитр выставляет сигнал РПДn на линию ЛРПДn наиболее приоритетной ШАрn.

    -       Если приоритет поступившего запроса выше, то арбитр выставляет сигнал БПД на линии ЛБПД ШАр, т.е. запрещает активным устройствам магистрали bus mastering. Устройство прекращает операции обмена, освобождает магистраль и снимает сигнал ПЗ. Только после этого арбитр выставляет сигнал РПДn

    на линию ЛРПДn наиболее приоритетной ШАрn.

    6.        Поступление сигнала РПДn разрешает устройствам ШАрn

    bus mastering, т.е. захват магистрали. Распространение сигнала РПДn

    блокируется устройством ИЗПДn,i, выставившим запрос. С этого момента шинами системной магистрали управляет блок СУМ выбранного устройства ИЗПДn,i

    (master), который выставляет также сигнал ПЗn,i. Кроме того, в арбитре или самом ИЗПДn,i

    запускается внутренний таймер, контролирующий время удержания магистрали.

    7.        Блок СУМ активного устройства магистрали (master) выставляет адрес обмена и управляющие сигналы, инициализирующие обмен. Результатом этой операции является обмен M-S одним байтом или словом.

    8.        Блок СУМ активного устройства производит модификацию адреса и счетчика байт.



    9.        Блок СУМ активного устройства контролирует размер переданного блока данных. Размер блока контролируется обычно по количеству переданных байтов (слов).

    10.   Контролируется время удержания магистрали устройством, ведущим обмен. Этот контроль может осуществляться как арбитром, так и самим устройством ИЗПДn,i по встроенному таймеру.

    11.   Дальнейшие действия зависят от результатов операций в п. 9 и 10, а

    именно:

    • Если обмен не закончен и время удержания магистрали не истекло, то происходит повторение операций, начиная с п. 7.


    • Если блок информации передан полностью (обмен закончен), то master освобождает системную магистраль и снимает сигнал ПЗn,i.


    • Если время удержания магистрали истекло (хотя обмен и не закончен), то master освобождает магистраль либо сам, либо после выставления арбитром сигнала БПД, который запрещает активным устройствам магистрали bus mastering.


    • 12.   Начинается процедура захвата магистрали ведущим устройством с меньшим приоритетом (организация канала M-S), если запрос в арбитр уже поступил (см. операции, начиная с п. 4).

      В простых системах bus master DMA цепочечной структуры может присутствовать только одна ЛЗПД. В этом случае отпадает необходимость выполнения процедуры поиска возбужденной ЛЗПД с максимальным приоритетом. Отпадает необходимость и в отдельном арбитре магистрали. Такие системы bus master DMA являются наиболее динамичными, даже при достаточно большом количестве ИЗПД.


      Содержание раздела