Методы передачи информации между устройствами ЭВМ

 

Последовательные данные передаются в синхронном или асинхронном режимах.

При синхронном методе передающее устройство устанавливает одно из двух возможных состояний сигнала (0 или 1) и поддерживает его в течение строго определенного интервала времени, по истечении которого состояние сигнала на передающей стороне может быть изменено.

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

При асинхронной передаче передающее устройство устанавливает соответствующее передаваемому коду состояние сигнала на инфо­рмационной линии, а принимающее устройство после приема сигнала информирует об этом передающее устройство изменением состояния сигнала на линии подтверждения приема. Передающее устройство, получив сигнал подтверждения, снимает передаваемый сигнал.

Конечно, второй режим сложнее, но у него есть серьезное преимущество: не нужен отдельный сигнал синхронизации.

Существуют специальные микросхемы ввода и вывода, решающие проблемы преобразования, описанные выше.

Обычно при передаче сигналов на короткие расстояния (десятки сантиметров) более быстрым оказывается синхронный метод, а при передаче на большие расстояния - асинхронный.

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

Используется два метода передачи параллельного кода по нескольким линиям: со стробированием, применяющим синхронную передачу, и с квитированием, в котором используется асинхронная передача.

При передаче со стробированием кроме N информационных линий используется линия «готовность данных»: вначале устанавливаются значения передаваемых сигналов на информационных линиях, затем на линии готовности устанавливается уровень 1. Через строго определенный период времени (превышающий максимальное время передачи) сигнал готовности сбрасывается в 0, процесс передачи завершается, после чего можно изменить сигналы на информационных линиях и передавать следующую порцию данных.

При передаче с квитированием кроме N информационных линий и линии готовности данных используется линия подтверждения приема: вначале устанавливаются значения передаваемых сигналов на информационных линиях, затем на линии готовности устанавливается уровень 1. Приняв фронт сигнала готовности, приемное устройство считывает сигналы с информационных линий и посылает передатчику сигнал подтверждения приема. Приняв фронт сигнала подтверждения, передатчик снимает сигнал готовности, после чего может приступать к передаче новой порции данных.

 

Индивидуальные каналы

 

Внешняя память и устройства ввода/вывода работают по электроме­ханическим принципам и потому по сравнению с процессором и опера­тивной памятью, которые работают по чисто электронным принципам, имеют существенно меньшее быстродействие.

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

Канал – путь передачи данных.

Как и процессор, каналы работают с памятью самостоятельно. По­этому говорят, что в такой системе имеется много активных компо­нентов или интерпретирующих устройств.

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

Каналы могут приводиться в действие следующими двумя способами:

 через прерывание: каналы прерывают выполнение пользовательской программы, чтобы получить от арбитра шины новый заказ для себя (interrupt);

 через повторяющиеся опросы: арбитр шины периодически опрашивает ка­налы, чтобы узнать, можно ли выдать каналу новый заказ (polling).

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

Для извещения арбитра шины об окончании каждой операции ввода-вывода, а также о возникновении ошибок, канал формирует запросы прерываний.

Кроме того, канал может выполнять ряд дополнительных функций для минимизации участия процессора в операциях ввода-вывода:

1. Организация цепочки блоков данных: если данные в памяти состоят из нескольких массивов, произвольно размещенных в памяти, то канал должен допускать задание цепочки блоков, чтобы не отвлекать основной процессор после передачи каждого блока.

2. Организация выборочного чтения информации: иногда необходимо вводить с носителя информации отдельные части некоторого массива, пропуская ненужные данные.

3. Организация цепочки операций: иногда выгодно задавать не отдельные операции ввода-вывода, а сразу группу последовательных операций.

4. Блокировка контроля неправильной длины считанного массива бывает полезной при попытках извлечения хотя бы части информации из искаженного массива данных.