double arrow

Типичные действия операции контроллера ПУ при выполнении операции

Расшифровка команд. Контроллер ПУ получает от процессора коман­ды, как правило, в виде сообщений через контроллер внешнего интерфейса, к которому он подключен. Например, набор команд для контроллера НМД включает следующие команды:

чтение последовательности кластеров;

запись последовательности кластеров;

поиск заданной дорожки и ряд других.

Команды могут сопровождаются аргументами.

Передача данных. Данные передаются между процессором и контроллером по линиям данных интерфейса.

Передача и нформации о текущем состоянии. Поскольку периферийные устройства ра­ботают значительно медленнее, чем внутренние компоненты компьютера, очень важно всегда знать, каково текущее состояние устройства. На­пример, если процессор требует от контроллера ПУ передать ему данные из устройства (операция ЧТЕНИЕ) вполне вероятно, что последнее еще не готово передать новую порцию данных, поскольку занято выполнением преды­дущей команды. В таком случае необходимо известить процессор о сложившей­ся ситуации, направив ему информацию о том, что в текущий момент устройство занято и не может выполнить новую команду. Общепринято разли­чать два состояния внешнего устройства: устройство занято и устройство готово к выполнению новой команды.

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

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

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

· на передающем конце формируется контрольная информация посредством использования циклических кодов. Эта контрольная информация передается вместе с пакетом полезной информации.

· получив пакет информации, периферийный контроллер внешнего интерфейса формирует свою контрольную информацию по такому же алгоритму, что и центральный контроллер внешнего интерфейса.

· сформированная контрольная информация сравнивается с принятой контрольной информацией. При несовпадении сформированной и принятой контрольной информации фиксируется ошибка при передаче информации.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



Сейчас читают про: