Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

12. Сопроцессор ввода/вывода.

В ЭВМ система ввода/вывода строится путем централизации аппаратуры управления вводом/выводом на основе применения программно-управляемых сопроцессоров ввода/вывода (каналов ввода/вывода). Обмен информацией между периферийными устройствами (ПУ) и ОП осуществляется через каналы ввода/вывода.

Благодаря наличию в составе ЭВМ каналов ввода/вывода, способных реализовывать достаточно сложные процедуры, появляется возможность полностью разгрузить процессор от управления операциями ввода/вывода.

Для сопроцессора существует программа в/в (канальная программа) и он инициирует запрос ЦП (прерывание) только после завершения выполнения этой программы; СПВВ повышает эффективность использования ЦП, реализуя распараллеливание работы во времени.

Канал для обеспечения доступа к памяти имеет следующие функции:

·  Задание размера массива данных и области памяти, участвующих в обмене информацией.

·  Формирование адресов последовательных ячеек ОП, используемых в передаче.

·  Подсчет числа единиц данных (слов, байт и т. д.), прошедших через канал.

·  Определение момента завершения передачи массива данных.

·  Обеспечение буферизации и преобразование форматов передаваемых данных для согласования работы ОП и ПУ.

Каждая операция или совокупность операций ввода-вывода производится под управлением соответствующей программы канала.

12.1. Управляющая информация для операций ввода/вывода.

В операциях ввода/вывода участвуют: процессор (первый уровень управления), канал ввода/вывода (второй уровень), ПУ (третий уровень). Каждому типу устройств соответствует определенный вид управляющей информации: процессору – команды ввода/вывода; каналу – управляющие слова канала (УСК); ПУ – приказы. Кроме того, в управлении вводом/выводом используются коды состояния канала (слово состояния канала - ССК) и ПУ (байт состояния и байт уточненного состояния).

НЕ нашли? Не то? Что вы ищете?

12.2. Форматы основных видов управляющей информации.

12.2.1. Команды.

Система команд ЭВМ содержит небольшое число универсальных по отношению к разным типам ПУ команд ввода/вывода:

-  Начать ввод/вывод (признак результата, формируемый при выполнении данной команды, указывает, нормально ли прошел пуск операции ввода/вывода).

-  Остановить ввод/вывод (по данной команде операция ввода/вывода может быть принудительно прекращена процессором до её завершения в адресуемых командой канале и ПУ).

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

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

Формат команды.

КОП Номер канала Номер ПУ

 

КОП - код операции (начать/остановить ввод/вывод);

Номер канала - номер канала ввода/вывода (сопроцессора);

Номер ПУ - номер ПУ, подключенного к данному каналу;

В команде «Начать ввод/вывод» нужно указать адрес первого УСК (управляющего слова канала) в программе канала; этот адрес содержится в АСК (адресном слове канала), хранимом в определенной ячейке ОП. Во всех остальных командах достаточно указывать лишь КОП, номер канала и ПУ.

12.2.2. Управляющие слова канала.

При выполнении канальной программы её управляющие слова выбираются последовательно из памяти, если только не предусмотрено программой канала нарушение естественного порядка выборки УСК.

Формат управляющего слова канала.

Приказ

(КОП)

Указатели

Адрес данных

(АД)

Счетчик данных

(СД)

ЦД

ЦО

УБ

ПИ

ПР

ЦД – указатель цепочки данных (при ЦД=0 операция после использования данного УСК оканчивается, при ЦД=1 она продолжается с новым массивом данных, указанным в следующем УСК).

ЦО – указатель цепочки операций (при ЦО=0 программа канала для заданного ПУ заканчивается на текущем УСК; при ЦД=0 и ЦО=1 после выполнения действий по текущему УСК, выбирается следующее по порядку УСК и выполняется новая операция ввода/вывода с тем же ПУ).

УБ – указатель блокировки (сигнал неправильной длины, формируется при несоответствии числа фактически переданных байт длине физической записи).

ПИ – указатель пропуска информации (при ПИ=1 передача информации между каналом и ОП подавляется, идет подсчет слов, проходящих между каналом и ПУ).

ПР – указатель прерывания (при ПР=1 канал посылает в процессор запрос прерывания).

Счетчик данных - размер передаваемого блока данных.

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

Приказ - для канала и ПУ тип операции.

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

12.2.3. Формат слова состояния канала.

Адрес последнего УСК

Байт состояния ПУ

Байт состояния канала

Счетчик данных

12.2.4. Приказы.

Приказ – часть УСК, которая задает операцию, выполняемую каналом и ПУ.

Виды приказов:

«Записать» (Вывод информации из ОП в ПУ);

«Прочитать» (Ввод информации из ПУ в ОП);

«Переместить головки» и т. д.

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

Описание блоков (модулей) сопроцессора В/В:

    RG НПУ - принимает номер ПУ. RG КВВ - принимает команду В/В. RG ПУСК - хранит предварительное УСК. Блок КОУ - хранит код операции (приказ ПУ) и флаги. СчТД - хранит и модифицирует значение оставшихся для передачи байт, формирует сигнал Z - пуст. Блок ТАД - хранит и модифицирует значение текущего адреса данных. Блок АУСК - хранит и модифицирует адрес управляющего слова канала (загрузка или увеличение). RG Данных - буферный регистр для промежуточного хранения данных. Сч Байт - управляет СИ (указывает номер последнего обработанного байта в текущем слове данных), формирует сигнал OV – переполнение. RG СИ - регистр связи с интерфейсом ПУ. УУ - устройство управления каналом.

12.3. Запуск сопроцессора ввода/вывода.

Выполнение операции ВВ в канале можно рассматривать как совокупность нескольких видов процедур, из которых наиболее важными являются начальная выборка и обслуживание ПУ. Начальная выборка производится по инициативе процессора при пуске новой операции ВВ. Процессор передаёт в канал код операции ВВ, номер ПУ и адрес первого слова УСК. Эти параметры заносятся каналом в регистры RG КВВ, RG НПУ, RG АУСК. После этого, используя содержимое RG АУСК как адрес, канал выбирает из ОП первое УСК, размещая его поля в RG КОУ, RG ТАД, СчТД. К содержимому RG АУСК прибавляется число, равное длине управляющего слова, после чего RG АУСК указывает адрес следующего УСК в цепочке. Канал, устанавливая признак результата ПР=0, запускает в работу требуемое ПУ. Если устройство свободно и во время начальной выборки не обнаружены программные или аппаратные ошибки, считается, что пуск произошёл нормально. Канал, устанавливая признак результата ПР=0, сообщает об этом процессору, который переходит к выполнению следующей команды своей программы.

12.4. Функциональная схема сопроцессора ввода/вывода.

Функциональная схема сопроцессора ввода/вывода приведена на рис. 9.

Комментарии к функциональной схеме сопроцессора в/в.

RG ПУСК, RG КВВ, RG НПУ, RG в блоке КОУ, RG в блоке АУСК, RG в адресном селекторе имеют следующие режимы работы: при S = 1 – параллельная загрузка, при S = 0 – удержание.

Устройство, обозначенное как СТ в блоке СчТД, имеет следующие режимы работы: при S1S0 = 10 или 11 – вычитающий счётчик, при S1S0 = 01 – параллельная загрузка, при S1S0 = 00 – удержание.

Устройство, обозначенное как СТ в блоке ТАД, имеет следующие режимы работы: при S1S0 = 10 или 11 – суммирующий счётчик, при S1S0 = 01 – параллельная загрузка, при S1S0 = 00 – удержание.

Для загрузки данных в RG КВВ, RG НПУ и RG АУСК используется адресный селектор. Процессор выставляет адрес на шину адреса/данных, который может являться адресом RG КВВ, RG АУСК или RG состояния. Селектор определяет, принадлежит ли выставленный адрес какому-либо из этих регистров (это делается с помощью схемы преобразования адреса), и, если принадлежит, устанавливает высокий уровень на линии управления этим устройством, т. е. разрешает в следующем такте либо загрузиться с шины адреса/данных (RG КВВ, RG НПУ и RG АУСК), либо отправить данные на неё (RG состояния). Адреса регистров после преобразования выглядят следующим образом: RG КВВ – 001, RG состояния – 010, RG АУСК – 100.

Когда канал читает из памяти первое УСК, устройство управления подаёт высокий уровень на буфер, разрешая ему пропустить данные в RG КОУ, RG ТАД, СчТД, а сами эти устройства переводит в режим параллельной загрузки. Для управления этим предусмотрено 2 бита из УУ, так как загрузка данных в блок КОУ и СчТД происходит в одном такте, а в блок ТАД – в другом, потому что УСК имеет длину 2 слова.

Схема управления предварительной выборкой следит за состоянием счётчика текущих данных, и, когда содержимое СчТД станет меньше восьми, СПВВ производит обращение к памяти по адресу из RG АУСК. Новое управляющее слово посылается в RG ПУСК, в то время как канал продолжает обработку предыдущего УСК. После того, как содержимое СчТД станет равным 0, содержимое RG ПУСК замещает старое содержимое RG ТАД, СчТД и указателей в регистре КОУ.

По шине через регистр СИ между ПУ и сопроцессором передаются различные данные. Для определения, какие именно данные, существует линия признака.

Признаки канала:

·  Адрес – сигнал, который используется для установления связи с определенным контроллером;

·  Управление – сигнал, который задает операцию подключенному контроллеру.

·  Информация – сигнал для передачи данных в ПУ.

Признаки ПУ:

    Адрес – сигнал, с помощью которого отвечающий контроллер подтверждает, что он выбран; Управление – сигнал, посредством которого контроллер выдает информацию о текущем состоянии или о состоянии, полученном в результате предыдущих действий; Информация – сигнал, с помощью которого контроллер передает в сопроцессор данные; Линии управления опросом. В состав линий опроса входят две входные и две выходные линии сопроцессора. Эти линии используются как для установления начальной связи, так и для связи во время выполнения команды. Линии взаимной блокировки. Сигналы “работа” сопроцессора и “работа” контроллера. Для указания, что сопроцессор и контроллер работают в паре –блокирует работу других контроллеров. Специальные линии. Для обеспечения взаимной синхронизации, измерения времени.