logo
Shpory gosy

155. Принципы ввода-вывода информации в пэвм. Роль и структура контроллера ввода информации

Функционирование любого вычислителя складывается из процедур передачи информации между его отдельными функциональными блоками. При этом передача информации между внутренними РОН называется пересылка, между процессором и памятью чтение/запись, а между памятью и внешними устройствами ввод/вывод информации. Наиболее длинными во времени процедурами считают операции ввода/вывода, поскольку внешние устройства в большинстве случаев имеют меньшее быстродействие, чем процессор или память, поэтому большое внимание на возможные варианты пересылки информации, рассматривая их с точки зрения снижения времени всей процедуры.

Доступ к внешним устройствам в большинстве случаев адресный, т. е. по структуре ввод/вывод не должен отличаться от чтения/записи. Но объем памяти значителен, значительна и шина адреса (минимум 16 разрядов). В тоже время число внешних устройств не может быть физически большим. В вычислителях системы DEC, i360 было принято ограничение на число внешних устройств 255. Это связано с байтом, хотя реально их значительно меньше. Поэтому, сохраняя адресную выборку ВУ ввод/вывод выполнялся с некоторым отличием от чтения/записи:

  1. сигналы разрешения ввода/вывода формировались шинным контролером, в то время ОЗУ/ПЗУ блокируется;

  2. адрес выставлялся на младшем байте и дублировался на старшем. Старший байт практически не использовался.

  3. ШД соединяла выход процессора и вход внешнего устройства (при выводе) и наоборот.

Способы обмена.

Обмен информацией между внешними устройствами и памятью реализуется в одном из трех подходов:

1) Программный режим.

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

2) Ввод/вывод с отображением в память.

Наиболее универсальный способ, применяется, когда нет команд ввода/вывода. Последовательность выполнения та же самая: ОЗУCPU, CPUВУ. Отличие: процессор на внешнее устройство выставляет полный адрес, поэтому из адресного пространства исключаются адреса внешних устройств. Вывод с отображением используется часто, поскольку чтение/запись во многом похожи на ввод/вывод. Основной недостаток второго способа — занимается часть адресного пространства. Поэтому способ рекомендуется, если имеются свободные области в адресном пространстве.

3) Прямой доступ к памяти (ПДП).

Суть способа в том, что процессор как бы отключается от ШД и содержимое ОЗУ напрямую копируется во внешнее устройство. Главная цель применения ПДП — сократить время ввода/вывода с одновременным использованием процессора для выполнения следующей операции. Существует три способа обеспечения режима ПДП:

1) с блокировкой процессора.

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

2) с квантованием цикла.

В каждом цикле обращения к памяти (ОЗУ, ПЗУ) процессор должен успеть выполнить это обращение за время t/2. Во второй половине цикла процессор отключает свои выходы, позволяя контролеру ПДП выставить свой адрес на шину. За второй интервал выполняется процедура ввода/вывода. Такое условие требует быстродействующей памяти, следовательно, смены элементной базы (переход к ЭСЛ). Последнее затрудняет использование такого подхода, поэтому он практически не применяется.

3) с отъемом цикла.

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

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

Типовые устройства ввода аналоговой информации подключаются к шинам PCI, ISA, а также к COM и USB. Выпускаются модули ввода, работающие с шинами PCI на разное число входных сигналов (1-128). Модуль встраивается в стандартный слот PCI, тем самым трансформируя универсальную ЭВМ в информационно-измерительную систему. В составе модуля – типовые преобразователи аналог-цифра, буферная память и схема сопряжения с шиной. Модуль работает в 2 режимах: 1. режим измерения - накопление информации; 2. режим ввода информации по шине. В зависимости от характеристик скорость накопления и ввода различна. Процедура накопления м.б. медленной время опроса аналогового сигнала регламентировано теоремой Котельникова. Пересылка же накопленной информации в память ЭВМ выполняется по стандартному протоколу PCI- шиной, с частотой 32 МГц. Возможен пропуск каждого второго такта при неготовности источника, если ОЗУ медленное, то сигнал не успевает сформироваться на буферных шинах PCI в одном такте. Для его извлечения из буферного ОЗУ потребуется 2 такта, т.е. пропуск каждого 2 такта. Скорость ввода при этом уменьшается в 2 раза. Вид устройства

Цикл работы начинается с того, что по команде ввода CPU (контроллер шины PCI) выставляет 4 управляющих разряда – команда инициализации. Сигналы управления с шины записываются в Рг управления сигналом CLK шины и расшифровываются дешифратором в отдельные управляющие сигналы. В этом режиме 1 разряд дешифратора обнуляет состояние делителя и счетчика адреса, и схема приводится в режим накопления: MUX адресов коммутирует на свой вход состояние адресного счетчика, память переводится в режим записи и делитель частоты CLK начинает работать. Последовательный счетчик адреса управляет переключением адресов MUX и формирует текущий адрес для записи результата в память. Пока состояние адреса не переполнилось, входная аналоговая информация преобразуется в двоичный код и полученные разряды пишутся в буферную память в этом режиме сигнал готовности модуля пассивный и контроллер шины PCI не может сам начать чтение. Как только буферная память заполнится, модуль посылает на шину сигнал FRAME, разрешающий контроллеру начать обмен с памятью. MUX переключает 2 вход. В Итоге сигналы адреса с шины поступают на адрес входной памяти. Память переключается в режим чтения и на каждый адрес с шины из памяти читается 32 разряда данных. Контроллер запоминает в своей буферной памяти этот блок до той поры, пока он не прочтется полностью. После этого модуль готов ко 2 циклу ввода - накопление, а контроллер шины PCI отправляет полученный блок в память.