Проектирование центральных и периферийных устройств Преподаватель: Мельников Максим Игоревич
Ввод/Вывод 2 Передача информации с периферийного устройства в ядро ЭВМ называется операцией ввода, а передача из ядра ЭВМ в периферийное устройство - операцией вывода.
Интерфейс представляет собой совокупность линий и шин, сигналов, электронных схем и алгоритмов, предназначенную для осуществления обмена информацией между устройствами. Интерфейс представляет собой совокупность линий и шин, сигналов, электронных схем и алгоритмов, предназначенную для осуществления обмена информацией между устройствами. 3
4 При разработке систем ввода-вывода должны быть решены следующие проблемы: 1) Должна быть обеспечена возможность реализации машин с переменным составом оборудования. 2) Для эффективного использования оборудования ЭВМ должны реализовываться параллельная во времени работа процессора над программой и выполнение периферийными устройствами процедур ввода-вывода. 3) Необходимо стандартизировать программирование операций ввода-вывода для обеспечения их независимости от особенностей периферийного устройства. 4) Необходимо обеспечить автоматическое распознавание и реакцию ядра ЭВМ на многообразие ситуаций, возникающих в ПУ (готовность устройства, различные неисправности и т.п.).
5 Организации передачи данных между памятью и периферийными устройствами В системах ввода-вывода ЭВМ используются два основных способа организации передачи данных между памятью и периферийными устройствами: программно-управляемая передача и прямой доступ к памяти.
6 Программно-управляемая передача данных Программно-управляемая передача данных осуществляется при непосредственном участии и под управлением процессора, который при этом выполняет специальную подпрограмму процедуры ввода-вывода. Данные между памятью и периферийным устройством пересылаются через процессор. Операция ввода - вывода инициируется текущей командой программы или запросом прерывания от периферийного устройства. При этом процессор на все время выполнения операции ввода- вывода отвлекается от выполнения основной программы.
7 Прямой доступ к памяти Прямым доступом к памяти управляет контроллер ПДП, который выполняет следующие функции: 1) управление инициируемой процессором или ПУ передачей данных между ОП и ПУ; 2) задание размера блока данных, который подлежит передаче, и области памяти, используемой при передаче; 3) формирование адресов ячеек ОП, участвующих в передаче; 4) подсчет числа переданных единиц данных (байт или слов) и определение момента завершения операции ввода-вывода. Указанные функции реализуются контроллером ПДП с помощью одного или нескольких буферных регистров, регистра - счетчика текущего адреса данных и регистра- счетчика подлежащих передаче данных.
Структура с одним общим интерфейсом 8
9 Структура с каналами ввода- вывода
10 ОСНОВНЫЕ ПАРАМЕТРЫ ИНТЕРФЕЙСОВ Интерфейсы характеризуются следующими параметрами: 1) Пропускная способность интерфейса - это количество информации, которое может быть передано через интерфейс в единицу времени (имеет диапазон от десятков байт до сотен мегабайт). 2) Максимальная частота передачи информационных сигналов через интерфейс (от десятков герц до сотен мегагерц). 3) Максимально допустимое расстояние между соединяемыми устройствами (имеет диапазон от десятков сантиметров до нескольких километров при использовании оптоволоконных линий).
11 4) Динамические параметры интерфейса: время передачи отдельного слова и блока данных с учетом продолжительности процедур подготовки и завершения передачи. Эти параметры особенно важны для систем реального времени. 5) Общее число линий (проводов) в интерфейсе. 6) Информационная ширина интерфейса - число бит данных, передаваемых параллельно через интерфейс. Различные интерфейсы имеют ширину 1, 8, 16, 32, 64, 128 или 256 бит.
12 7) Связность интерфейса: интерфейс может быть односвязным, когда существует лишь единственный путь передачи информации между парой устройств машины, и многосвязным, позволяющим устройствам обмениваться информацией по нескольким независимым путям. Многосвязность интерфейсов требует дополнительной аппаратуры, но повышает надежность и живучесть вычислительной машины, обеспечивает возможность автоматической реконфигурации вычислительного комплекса при выходе из строя отдельных устройств.
Организация обработки прерываний в ЭВМ 13 Прерывание - это прекращение выполнения текущей команды или текущей последовательности команд для обработки некоторого события специальной программой - обработчиком прерывания, с последующим возвратом к выполнению прерванной программы. Событие может быть вызвано особой ситуацией, сложившейся при выполнении программы, или сигналом от внешнего устройства. Прерывание используется для быстрой реакции процессора на особые ситуации, возникающие при выполнении программы и взаимодействии с внешними устройствами.
14 Выполнение прерывания в компьютере: tр - время реакции процессора на запрос прерывания; tс - время сохранения состояния прерываемой программы и вызова обработчика прерывания; tв - время восстановления прерванной программы
15 Время реакции - это время между появлением сигнала запроса прерывания и началом выполнения прерывающей программы (обработчика прерывания) в том случае, если данное прерывание разрешено к обслуживанию. Глубина прерывания - максимальное число программ, которые могут прерывать друг друга. Глубина прерывания обычно совпадает с числом уровней приоритетов, распознаваемых системой прерываний. То есть предполагается, что с увеличением номера запроса прерывания увеличивается его приоритет.
Виды прерываний 16 Аппаратные прерывания используются для организации взаимодействия с внешними устройствами. Запросы аппаратных прерываний поступают на специальные входы микропроцессора. Они бывают: маскируемые, которые могут быть замаскированы программными средствами компьютера; немаскируемые, запрос от которых таким образом замаскирован быть не может. Программные прерывания вызываются следующими ситуациями: особый случай, возникший при выполнении команды и препятствующий нормальному продолжению программы (переполнение, нарушение защиты памяти, отсутствие нужной страницы в оперативной памяти и т.п.); наличие в программе специальной команды прерывания INT n, используемой обычно программистом при обращениях к специальным функциям операционной системы для ввода-вывода информации.
17 Обработка запроса на прерывание При поступлении запроса прерывания компьютер выполняет следующую последовательность действий: 1.определение наиболее приоритетного незамаскированного запроса на прерывание (если одновременно поступило несколько запросов); 2.определение типа выбранного запроса; 3.сохранение текущего состояния счетчика команд и регистра флагов; 4.определение адреса обработчика прерывания по типу прерывания и передача управления первой команде этого обработчика; 5.выполнение программы - обработчика прерывания; 6.восстановление сохраненных значений счетчика команд и регистра флагов прерванной программы; 7.продолжение выполнения прерванной программы.
18 Обработка прерываний в персональной ЭВМ
19 Существует два варианта реализации прерывания: невекторное интерфейсное и векторное. При передаче невекторного прерывания используется одна из линий запроса прерываний (IRQ). В этом случае контроллер прерываний распознает конкретную линию запроса IRQi, и, в зависимости от значения i выполняется соответствующая подпрограмма обслуживания прерываний. При векторном прерывании, после запроса на обслуживание прерывания, по информационной шине передается код вектора прерывания. Как правило, код вектора прерывания содержит начальный адрес подпрограммы обслуживания данного прерывания, которая должна быть заранее записана в ОЗУ или ПЗУ системы. В ряде интерфейсов шина прерываний содержит линию подтверждения запроса на прерывание INTA.