29. Ввод-вывод с прямым доступом к памяти.
![]() |
Прямой доступ к памяти (ПДП) – это способ пересылки данных. при использовании которого устанавливается непосредственная связь между устройством ввода-вывода и памятью, без участия ЦП, т. е. периферийное устройство может пересылать данные непосредственно в память или получать их из памяти. ЦП при этом освобождается от функций управления обменом данными и может выполнять в это время другие задачи. Кроме того скорость обмена с ПДП намного выше, чем с участием ЦП.
Блок –схема системы ввода-вывода с ПДП
Видно, что ЦУ и периферийные устройства (ПУ) используют одну шину (SYS BUS) для связи с памятью, т. е. они не могут обращаться к памяти в одном цикле.
Система с ПДП может осуществлять пересылки данных между различными областями памяти и различными ПУ.
Существует несколько вариантов реализации ПДП:
- ПДП с блокировкой ЦП. ЦП отключается от общей шины на время выполнения пересылки с ПДП. Это наиболее простая реализация системы с ПДП, но отключение и подключение ЦП к шине требует довольно много времени. Кроме того в это время ЦП не может выполнять никаких операций.
- ПДП с квантованием цикла памяти. Каждый цикл памяти разбивается на два временных интервала – один для ЦП, другой для ПДП. Этот метод обеспечивает большую скорость как для выполнения операций ЦП, так и для ПДП. При этом в каждом цикле обеспечивается возможность обращения к памяти и ЦП, и ПУ в ходе ПДП. Недостаток: необходимость применения быстродействующих и дорогостоящих ЗУ.
- ПДП с «захватом цикла». Наиболее выгоден по соотношению стоимость/производительность. ПУ, осуществляющее ПДП, «отнимает» у ЦП цикл памяти, но ЦП не блокируется и может выполнять программу, т. е. работа ЦП и пересылка с ПДП совмещаются во времени. Если цикл памяти нужен одновременно ЦП и ПУ, то приоритет отдается последнему, а ЦП ожидает окончания цикла ПДП. Производительность ЦП снижается только в том случае, когда ЦП использует весь диапазон адресов памяти. Таким образом достигается удовлетворительная производительность за счет относительно не высоких затрат.
30. Структура и функции контроллера ПДП.
Поскольку ЦП не участвует в обмене с ПДП, а обменом нужно управлять, в состав системы вводится контроллер прямого доступа к памяти (КПДП), который и вырабатывает необходимые управляющие сигналы и адреса ОП.
КПДП выполняет следующие функции:
1. Управление инициируемой ЦП или ПУ передачей данных между ОП и ПУ.
2. Задание размера блока данных, который подлежит передаче, и области памяти, используемой при передаче.
3. Формирование адресов ячеек ОП, участвующих в передаче.
4. Подсчет числа единиц данных (байт, слов), передаваемых от ОП к ПУ или обратно, и определение момента завершения операции ввода-вывода.
|
![]() |
КПДП может быть как один на несколько ПУ, так и каждое ПУ может иметь свой КПДП.
При инициализации операции ввода-вывода в ТСчД заносится размер подлежащего передаче блока (число байт или слов), а в РгТАД – начальный адрес области памяти, используемой при передаче. При передаче каждого байта содержимое РггТАД увеличивается на 1, при этом формируется адрес очередной ячейки ОП, участвующей в передаче. Одновременно уменьшается на 1 содержимое ТСчД. Обнуление ТСчД указывает на завершение передачи.
31. Назначение, классификация сопроцессоров ввода-вывода. Управление сопроцессорами. Понятие программы управления сопроцессором ввода-вывода.
Сопроцессор ввода-вывода (СПВВ) предназначен для обеспечения ПДП. Выполняет следующие функции:
- задание размеров массива данных и области памяти, участвующих в обмене
- формирование адресов последовательных ячеек ОП, используемых в передаче
- подсчет числа единиц данных, прошедших через канал
- определение момента завершения передачи массива данных
При этом СПВВ должен обеспечивать буферизацию и преобразование данных для согласования работы ОП и ПУ.
Кроме того для минимизации участия ЦПУ в операциях ввода-вывода может выполнять: организацию цепочки данных; организацию пропуска информации; организацией цепочки операций; формирование запросов на прерывание; блокировку контроля неправильной длины.
СПВВ в отличие от КПДП, имеет средства позволяющие ему самостоятельно из памяти управляющее слово, получив команду от ЦПУ. Если управляющее слово выполнено нормально, то он не дает никакого запроса на прерывание, этот запрос будет только после последнего управляющего слова. Если он подает запрос на прерывание в ЦПУ после каждого выполненного управляющего слова, то он похож на КПДП + СА + Чт. УС., эти запросы необходимы лишь как сообщения о том, что слова выполнено нормально, и можно переходить к другому.
СПВВ | |||
КПДП | Средства адресации и чтения управляющих слов | ||
![]() |
Изначально СПВВ был ориентирован на другую структуру:
СПВВ четко делятся по обмену с ЦПУ на селекторные и мультиплексорные.
Программное управление СПВВ
Каждая операция или совокупность операций производится под управлением соответствующей программы канала. Программа канала представляет собой некоторую последовательность УС, обеспечивающую выполнение определенной операции ввода-вывода. Обычно канальные программы хранятся в ОП.
Система команд ЭВМ содержит небольшое число универсальных по отношению к разным типам ПУ команд ввода-вывода.
32. Структура и работа сопроцессора ввода-вывода в селекторном режиме.
СПВВ работая в селекторном режиме может вести обмен только с одним ПУ, при этом могут одновременно работать несколько ПУ, но обмен СПВВ будет вести только с одним.
|
![]() |
Структура:
КОП | GR TA | RG УС | RG TA – регистр текущего адреса RG УС – счетчик УС RG ПВУС – регистр предварительного УС | |
RG ПВУС | ||||
Если текущее УС не является последним, то RG УС … 8-4, инициируется процедура чтения следующего УС и оно в RG ПВУС, т. е. это можно рассматривать как дополнительную память размером в 1 УС.
1) Адрес 1-го УС содержится в команде, которая последует из СПВВ.
SIO | № СПВВ | № ПУ | Адрес 1-го УС |
2) Независимо от количества СПВВ в ОП выдается одна фиксированная ячейка наделенная адресом, содержимое этой ячейки – адресное слово.
ЦПУ формирует последовательность УС для СПВВ и размещает ее в ОП, адрес 1-го УС помещает в адресное слово, после этого ЦПУ выдает SIO в СПВВ, а СПВВ уже обращается по адресному слову (т. е. фиксированному адресу) и читает адрес УС, а потом и само 1-е УС и начинает работать.
ОП |
адресное слово |
33. Структура и работа сопроцессора ввода-вывода в мультиплексном режиме.
СПВВ работая в мультиплексорном режиме может вести обмен практически со всеми ПУ. Инициатива начала обмена всегда принадлежит ПУ. Иногда предусматривается монопольный режим, работа в таком режиме походит на работу в селекторном режиме.
|
![]() |
Структура:
СПВВ выполняет несколько программ (простых – либо ввод, либо вывод). Получается, что если ПУ1 производит ввод, то информация помещается в одну область ОП, а если ПУ1 производит вывод, то информация берется из другой области, соответственно и TA при этом будут разными.
На адресацию ПУ отводится 1 байт:
1 яч. | 1. УС (RG УС) | |
2. АУС (RG АУС) | ||
3. RG D | ||
4. №ПУ – адрес соответствующей ячейки | ||
└статическая память СПВВ |
Когда идет обмен, ПУ выставляет запрос на сеанс связи и это требование сопровождает своим №, СПВВ использует этот № в качестве адреса памяти, хранящей всю управляющую информацию. № ПУ сравнивается с хранящимся и если они совпадают, то выполняется обмен. После этого всю информация опять записывается во внутреннюю память СПВВ. Если совпадения не возникает, то это ошибка – сразу блокируется пересылка данных с СПВВ в ОП, и посылается запрос на прерывание, а несовпадение №-ов фиксируется в RG состояния СПВВ.
34. Принципы организации контроля функционирования ЭВМ. Классификация методов контроля. Программный контроль.
В производимых ЭВМ преобразованиях информации очень важна их достоверность, для этого используются различные методы контроля функционирования ЭВМ. Если такие методы отсутствуют, то пользователь вынужден производить повторный расчет, занимая тем самым машинное время.
![]() |
Наличие системного контроля должно закладываться на этапе проектирования ЭВМ. Системный контроль должен тесно взаимодействовать с системами диагностики.
Введение избыточности:
1) временная – увеличение времени выполнения операций для контроля.
2) пространственная – увеличение разрядности данных для контроля.
Аппаратный:
Наличие аппаратного контроля означает, что операционный контроль осуществляется непосредственно во время процесса выполнения операций. При введении аппаратного контроля вводится избыточность разрядов (пространственная).
Должен обеспечивать:
1) контроль данных
2) контроль команд – имеется дескриптор выполняемости, если он взведен – это команда, иначе – данные.
3) контроль адресов – не выходит ли адрес за пределы сегмента (при сегментно-страничной организации)
Оперативный контроль – это контроль, который производится постоянно:
- сквозной (контролируются все устройства)
- локальный (контролируется конкретное устройство)
Встроенный контроль – контроль, при котором в систему встраиваются специальные датчики, которые контролируют электрические параметры. Чаще всего используются в источниках питания.
Тестовый – различного рода тестирование:
- контролирующий – тестовые программы с заранее известным результатом
- диагностирующий – тестовые программы, выявляющие место сбоя
Сбои могут быть вызваны помехами. Помехи бывают:
1) локальные – в цепи прохождения сигнала. Например, несоответствие разъемов.
2) внутри каких-либо подсистем. Например, внутри провода.
3) внешние. Например, в сети.
Программно-логический контроль:
Контроль основан на формировании результата выполнения операции 2-мя различными независимыми путями и дальнейшем их сравнении. Необходимо выявлять как случайные ошибки, так и ошибки вызванные отказами. В данном методе функции контроля выполняет пользователь.
Можно выделить следующие методы:
- метод программного счета. Одна и та же программа прокручивается несколько раз. В итоге получаем результат. Если все хорошо, то достаточно прогнать 2 раза. Плохо определяются ошибки вызванные отказами.
- метод обратного счета. Сначала решается прямая задача, затем она же, но наоборот. Но возникает необходимость писать 2 программы, сравнивать результаты прямого и обратного счета с учетом погрешностей. Выгоден только при небольших размерах обратного алгоритма.
- решение задачи по двум алгоритмам: более и менее точному. Недостатки: необходимость написания двух программ; собственно, поиск второго, более простого, алгоритма.
- метод контрольных точек. В этом случае в программу вводится процедура для выполнения контроля. Этот метод реагирует не на случайные ошибки, а на отказ.
2-ой и 3-ий методы взаимодополняют друг друга.
35. Аппаратные методы контроля арифметических и логических операций.
Методы:
1) Цифровой контроль по модулю (в основном применяется)
2) Числовой контроль по модулю (почти не применяется)
1) В качестве контрольных разрядов берется остаток от деления суммы цифр исходного кода на выбранный модуль.
Частности: В качестве модуля берется 2 – если Σ цифр четная Þ 0, если Σ не четная Þ 1. Похоже на контроль по паритету. При отсутствии передачи – 0.
Методы:
1)
![]() |
Обращение кода – т. е. преобразование кода в прямой и наоборот.
2) Сдвиг – надо подсчитывать четность количества сдвинутых 1 (поставить Т-тригер)
3) Суммирование
S0, S1, …, Sn-1 ,где Si = ai Å bi Å ci (ci – входной перенос)
![]() | |
S0 Å S1 Å …Å Sn-1 = a0 Å a1 Å …Å an-1 Å b0 Å b1 Å …Å bn-1 Å c0 Å c1 Å …Å cn-1
2) В качестве контрольных разрядов берется остаток от деления самого числа на модуль.
Модуль берется 3 (2n – 1). Необходимо 2 контрольных разряда. Этот контроль выявляет одинарные и некоторые двойные ошибки.
Если А+В=С, то Кр. А+Кр. В=Кр. С (по модулю 3). Рассматривается в плане целых чисел.
А/В = С + ост. | 1) контроль умножения 2) контроль деления 3) контроль логич. опер. | \ | из-за этого не используется / |










