Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Организация и функционирование вычислительных машин1.doc
Скачиваний:
37
Добавлен:
01.05.2014
Размер:
1.13 Mб
Скачать

Способы выполнения операции передачи данных

передача данных

синхронная асинхронная

несовмещенный вв/выв по программному

вв/выв прерыванию

вв/выв по аппаратному

прерыванию

Синхронная передача.

← Команда вв/выв

Передача 1

← Команда вв/выв

Переача 2

Это самый быстрый способ передачи данных, но ненадежный.

Асинхронная передача.

Несовмещенный ввод-вывод.

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

Ввод-вывод по программному прерыванию.

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

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

Ввод-вывод по аппаратному прерыванию (прямой доступ к памяти).

Процесс передачи осуществляется без участия центрального процессора.

У процессора занимается один цикл памяти необходимый для передачи.

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

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

Структуры контроллеров внешних устройств, для управления различными режимами передачи данных.

1. Контроллер не совмещенного ввода-вывода.

Основы узла:

Селектор Адреса, который выдает на выходе единицу (разрешающий сигнал), только для одного адреса (своего адреса)

Регистр Управления и Состояния – который связывается с системой управления по входу и выходу и принимает от шины управления команду, на выходе выдает состояние внешних устройств при выполнение команды.

Буферный Регистр Данных – для согласования скоростей (буфер)

Используется в двух режимах

  1. Записи

  2. По чтению

2. Контроль передачи по программному прерыванию.

Контроль состоит из двух частей:

  1. Индивидуальный контроллер внешнего устройства.

(аналогично контроллеру не совмещенного ввода-вывода)

  1. Общий или выделенный контроллер прерывания.

КНВВ линий связи с памятью и процессором те же, что и раньше.

От РгУС КНВВ берется признак разрешения прерываний EIи признак готовности (Done), может быть задан приоритет.

IRR– регистр приема запросов

ISR– регистр обслуживания запросов

IMR– маска прерывания

PRIOR– арбитр, схема разрешения приоритетов.

ШД – для ввода IM(маски)

Int– Выдача прерываний в процессор

Inta– Разрешение на прерывание

НВП – Номер Вектора Прерывания

Если прерывание (IRQ)INTA= ‘разрешено', то тогда команда выставляется НВП.

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

Удобно для процессора.

Неудобно для устройств, так как устройство должно ожидает, пока контроллер получит разрешение.

3. Передача данных в режиме аппаратного прерывания (или прямого доступа к памяти).

Основные компоненты.

CAR- Регистр текущего адреса (работает в режиме автоинкрементирования) увеличивается на

1 (байт) или 2 (слово).

CWR– счетчик слов (или байт), который работает в режиме автодекрементирования после передачи содержимое регистра уменьшается на 1(байт) или 2 (слово).

ModeR- регистр передачи(определяет характер и направление передачи).

BAR- регистр базового адреса, содержимое в процессе передачи не изменяется (служит для защиты).

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

Управление – внутреннее управление передается внутри шины.

ШУ – Memrчтение памяти

Iorчтение устройства

Memwзапись памяти

Iowзапись устройства

ВУ – В режиме прямого доступа к памяти устанавливает взаимную передачу данных между памятью и внешним устройствам (HDD,Soundcardи т. д.).

Управление передачей происходит без участия процессора (Процессор должен только подготовить и инициализировать регистры контроллера.).

В обеспечении передачи задействованы все три вида контроллеров:

  1. Контроллер памяти.

  2. Контроллер прерываний, в к ПДП – формируется сигнал в процессоре о завершение передачи в прямом доступе.

  3. Обычный контроллер КНВВ содержащийся во внешнем устройстве..

  1. После подготовки устройством данного оно выставляет запрос на (DRQ) передачу в режиме прямого доступа.

  2. В ответ контроллер прямого доступа выставляет запрос на возможность захвата шины.

  3. Вырабатывается подтверждающий сигнал Back.

  4. Вырабатывается подтверждающий сигнал (DACK) у контроллера к внешнему устройству.

  5. Далее либо MemrлибоMemw

IOW IOR

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

  1. BRQ  0,DACK  0

  2. TA ++ либоCC --

Пункты с 1 по 7 называются “занятие цикла памяти”, и выполняются для передачи одного данного.

В i8086 в качестве КПДП выступала микросхема.

  1. 8237A–XT(содержит четыре канала с номерами 0 - 3, работает с одно байтовыми портами)

  2. 8237A– 5 -ATи выше (содержит две группы по четыре канала, первая как уXT(для поддержки), а вторая с шестнадцати битными портами).

Состав регистров и адресация 8237A.

00h– 07hномера регистров по каждому из каналов.

0Ahрегистр маски разрешает и запрещает работу по каждому из каналов.

номера битов:

0, 1 – номер канала

2 – разрешить, запретить

3…7 – не используются

0Bh– регистр режима

номера битов:

0, 1 – номер канала

2, 3 – тип цикл DMA

00 – цикл проверки

01 – цикл занятости

10 – цикл чтения

11 – запрещенная комбинация

4 – режим инициализации

5 – направление приращения адреса

0 – увеличение

1 – уменьшение

6, 7 – режим обслуживания

00 – по требованию

01 – одиночная передача

10 – блочная передача

11 – каскодирование (использование двух уровневых контроллеров)

0Ch– сброс триггеров байта

0Eh– сброс регистра маски

81h…8Fh– регистры страниц, текущий адрес равен 16 бит, шина адреса и шина данных (прямого доступа к памяти) равны 20 бит, регистры страниц задают адрес страницы (старшие четыре бита адреса – работают с 1Мб.), одна страница – 64 Кб. . При прямом доступе к памяти переходит границы страницы.

Для 8237A-5-ATиспользуются байтовые регистры станицы (24 бита) и появляется возможность адресовать до 16Мб оперативной памяти.

Расширенные возможности использования

специализированного процессора ввода-вывода.