- •6.1 Контрольные вопросы для зачёта по дисциплине:
- •Краткая история развития вт
- •Базовая структура машины Джона фон Неймана
- •Поколения эвм
- •Представление информации в эвм
- •2.2.2. Представление других видов информации
- •2.1. Системы счисления
- •2.1.1. Перевод целых чисел
- •2.1.2. Перевод дробных чисел
- •2.6. Прямой, обратный и дополнительный коды
- •2.6.1. Прямой код
- •2.6.2. Обратный код
- •2.6.3. Дополнительный код
- •2.6.8. Модифицированные коды
- •2.4.1.Основные сведения из алгебры логики
- •2.4.3. Понятие о минимизации логических функций
- •Диаграмма Вейча функции y
- •2.4.4. Техническая интерпретация логических функций
- •Диаграмма Вейча для функции f
- •Классификация элементов и узлов эвм
- •3.3. Схемы с памятью
- •Условия работы триггера
- •Диаграмма Вейча для таблицы переходов триггера
- •Общие принципы построения современных эвм
- •3.1. Операционные устройства (алу)
- •3.2. Управляющие устройства
- •3.2.1. Уу с жесткой логикой
- •3.2.2. Уу с хранимой в памяти логикой
- •3.2.2.1. Выборка и выполнение мк
- •3.2.2.3. Кодирование мк
- •3.2.2.4. Синхронизация мк
- •5.2.1. Структура базового микропроцессора
- •Характеристики микропроцессоров фирмы Intel
- •Структура микропроцессора
- •5.2.3. Взаимодействие элементов при работе микропроцессора
- •Структура памяти эвм
- •4.2. Способы организации памяти
- •4.2.1. Адресная память
- •4.2.2. Ассоциативная память
- •4.2.3. Стековая память (магазинная)
- •4.5. Постоянные зу (пзу, ппзу)
- •4.6. Флэш-память
- •5.1.2. Размещение информации в основной памяти ibm pc
- •Назначение, принцип работы и организация системы прерываний эвм
- •Возможные структуры систем прерывания
- •Характеристики систем прерывания
- •Принципы организации ввода / вывода информации в эвм
- •8.1. Общие принципы организации вв
- •8.2. Программный вв
- •8.3. Вв по прерываниям
- •8.4. Вв в режиме пдп
- •8.4.1. Пдп с захватом цикла
- •8.4.2. Пдп с блокировкой процессора
- •Интерфейсы периферийных устройств
- •Последовательный порт
- •Системы визуального отображения информации (видеосистемы)
- •.2. Клавиатура
- •7.3. Принтер
- •.4. Сканер
- •7.5. Анимационные устройства ввода-вывода
- •7.6. Устройства ввода-вывода звуковых сигналов
- •Глава 8. Внешние запоминающие устройства (взу)
- •8.1. Внешние запоминающие устройства на гибких магнитных дисках
- •Стандартные форматы нгмд ms dos
- •8.2. Накопитель на жестком магнитном диске
- •8.3. Стриммер
- •8.4. Оптические запоминающие устройства
- •Основные внешние устройства пк
- •Компоненты материнской платы
- •Разновидности слотов
- •Типы разъемов оперативной памяти
- •Разъемы для подключения внешних устройств
- •Разъемы для подключения дисковых устройств
- •Разъемы процессоров
- •Интерфейс
- •Шинная структура
- •Типы обмена по системной магистрали.
- •Магистраль процессора.
- •Формирование сигналов системной магистрали
- •Магистрально-модульный принцип построения компьютера
- •Принципы организации арбитража магистрали
- •Классификация мп
- •2 Типы микропроцессоров
- •3.7.3 Характеристики мп
- •Структура типового микропроцессора
- •Логическая структура микропроцессора
- •Типы архитектур
- •Микропроцессорные устройства.
- •1. Технология медной металлизации
- •2. Технология soi («кремний-на-изоляторе»)
- •3. Технология Low-k dielectric
- •4. SiGe: кремниево-германиевые микросхемы
- •5. Напряженный кремний
- •1.1. Общая структура микропроцессорной системы
- •Уровни представления микропроцессорной системы
- •1.2. Построение микропроцессорных систем с использованием различных микропроцессорных комплектов
- •1.3. Основные этапы разработки микропроцессорной системы
- •Лекция 13. Рабочие станции и серверы Классификация вычислительных систем. Персональные компьютеры и рабочие станции. X-терминалы. Cерверы. (6 ч.) Классификация вычислительных систем
- •Рабочая станция
- •Микроэвм
- •Классификация аппаратных средств вычислительных систем по ф.Г. Энслоу
- •1. С общей шиной.
- •2. С перекрестной коммутацией.
- •3 Мпвк с многовходовыми озу.
- •4. Ассоциативные вс.
- •5. Матричные системы.
- •6. Конвейерная обработка информации.
- •Признаки суперЭвм
- •Сферы применения суперкомпьютеров
- •Архитектура современных суперЭвм
- •Векторные суперкомпьютеры [simd]
- •Многопроцессорные векторные суперкомпьютеры (mimd)
- •Лекция 17. Проблемно-ориентированные эвм
- •Основы конфигурирования серверов баз данных
Характеристики систем прерывания
Эффективность систем прерывания ЭВМ может оцениваться по весьма многочисленным характеристикам, которые отражают особенности их технической реализации. Однако для изучения общих принципов построения систем прерывания достаточно рассмотреть только самые обобщенные. К их числу относятся следующие характеристики.
Общее количество запросов прерывания
Количество запросов прерывания (источников запросов прерывания – ИЗП) существенно различается у ЭВМ различных типов и может достигать десятков. В системах прерывания радиальной структуры это понятие может совпадать с понятием количества входов в систему прерывания. При цепочечной организации системы прерывания эти понятия не совпадают.
Время реакции
Время реакции определяется как временной интервал между появлением запроса прерывания и началом выполнения прерывающей программы.
На рис. 6.2 приведена упрощенная временная диаграмма процесса прерывания в предположении, что управление запоминанием и возвратом возложено на сам обработчик. В этом случае он состоит из трех частей – подготовительной и заключительной, обеспечивающих переключение программ, и собственно прерывающей программы, выполняющей затребованные запросом операции. Кроме того, предполагается, что запрос представлен уровнем потенциала.
Для одного и того же запроса задержка в исполнении прерывающей программы (обработчика данного запроса) зависит от того, сколько запросов со старшим приоритетом ожидает обслуживания, поэтому время реакции определяется для запроса с наивысшим приоритетом. На рис. 6.2 оно обозначено tp.
Задержка прерывания (издержка прерывания)
Задержка прерывания (tзад) определяется суммарным временем на запоминание (tз) и восстановление (tв) программы (см. рис. 6.2):
.
Глубина прерывания
Глубина прерывания определяет максимальное число программ, которые могут прерывать друг друга. Если после перехода от основной программы к прерывающей обслуживание остальных запросов запрещено, то считается, что система имеет глубину прерывания, равную 1. Глубина равна n, если допускается последовательное прерывание до n программ. Глубина прерывания обычно совпадает с числом уровней приоритетов в системе прерывания. Если глубина прерывания не равна 1, то упрощенно это можно изобразить диаграммой (рис. 6.3). Здесь имеется в виду, что приоритет прерываний возрастает у каждого следующего запроса. Системы с большим значением глубины прерывания обеспечивают более быструю реакцию на срочные запросы.
Насыщение системы прерывания
Если запрос окажется не обслуженным к моменту прихода нового запроса от того же источника (т.е. того же приоритета), то возникает явление, называемое насыщением системы прерывания. В этом случае часть запросов прерывания будет утрачена, что для нормальной работы ЭВМ недопустимо. Поэтому быстродействие ЭВМ, характеристики системы прерывания и частоты возникающих запросов должны быть строго согласованы, чтобы насыщение было невозможно.
Допустимые моменты прерывания программ
В большинстве случаев прерывания допускаются после выполнения любой текущей команды, когда время реакции на прерывание определяется, в основном, длительностью выполнения одной команды.
При работе ЭВМ с быстрыми технологическими процессами в реальном масштабе времени (т.е. в контурах управления реальных физических процессов) это время может оказаться недопустимо большим. Кроме того, существуют задачи, при выполнении которых требуется немедленная реакция на ошибку, обнаруженную, например, аппаратурой контроля, чтобы не допустить выполнения ошибочно сформированного кода команды. Такие ситуации характерны для управляющих ЭВМ военного назначения.
В этом случае в системе прерывания реализуется возможность прерывания после любого такта выполнения команды программы. Однако это требует запоминания, а потом восстановления гораздо большего объема информации, чем в случае прерывания после окончания команды, поэтому такая организация прерываний возможна только в ЭВМ с быстродействующей сверхоперативной памятью достаточного объема.
Число уровней прерываний
Уже отмечалось, что в ЭВМ число различных источников запросов (причин) прерывания может достигать десятков и даже сотен. Однако в ряде случаев многие запросы поступают от групп однотипных устройств, для обслуживания которых требуется одна и та же прерывающая программа (обработчик). Запросы от однотипных устройств целесообразно объединить в группы, каждой из которых будет соответствовать свой сигнал запроса прерывания.
Уровнем или классом прерывания называется совокупность запросов, инициирующих одну и ту же прерывающую программу (обработчик).
Технически такое объединение может быть реализовано по-разному. На рис. 6.4 приведен возможный вариант решения этой задачи при условии, что все поступающие запросы фиксируются в разрядах регистра запросов прерывания (РгЗП).
Запросы от всех источников поступают в РгЗП, устанавливая соответствующие его разряды (флажки) в состояние 1, указывающее на наличие запроса прерывания. Запросы классов прерывания ЗПК1-ЗПКk формируют элементы ИЛИ, объединяющие разряды РгЗП, относящиеся к соответствующим уровням. Еще одна схема ИЛИ формирует ОСП, поступающий в УУ процессора. Он формируется при любом запросе (поднятом флажке) прерывания.
Информация о действительной причине прерывания (конкретном источнике запроса), породившей запрос данного класса, содержится в коде прерывания, который отражает состояние разрядов РгЗП, относящихся к данному классу прерываний. В процессе обработки прерывания эти разряды (содержащийся в них код) подвергаются анализу. Такое объединение прерываний в классы уменьшает объем аппаратуры, но замедляет работу системы прерывания. После передачи управления прерывающей программе соответствующий триггер РгЗП сбрасывается.
Прерывания: семейство процессоров Intel 80x86 и MS-DOS
Семейство микропроцессоров Intel 80x86 поддерживает 256 уровней приоритетных прерываний, вызываемых событиями трех типов:
внутренние аппаратные прерывания
внешние аппаратные прерывания
программные прерывания
Внутренние аппаратные прерывания, иногда называемые отказами (faults), генерируются определенными событиями, возникающими в процессе выполнения программы, например попыткой деления на нуль. Закрепление за такими событиями опреденных номеров прерываний зашито в процессоре и не может быть изменено.
Внешние аппаратные прерывания инициируются контроллерами периферийного оборудования или сопроцессорами (например, 8087/80287). Источники сигналов прерываний подключаются либо к выводу немаскируемых прерываний процессора (NMI) либо к выводу маскируемых прерываний (INTR). Линия NMI обычно предназначает для прерываний, вызываемых катастрофическими событиями, такими, как ошибки четности памяти или авария питания.
Вместо непосредственного подключения к ЦП прерывания от внешних устройств могут поступать в процессор через специальное устройство - программируемый контроллер прерываний (РIС) 8259А. ЦП управляет контроллером через набор портов ввода-вывода, а контроллер в свою очередь сигнализирует процессору через вывод INTR. РIС предоставляет возможность программно разрешать и запрещать прерывания от конкретных устройств, а также назначать им приоритеты.
Изготовители компьютерных систем так же, как и изготовители периферийного оборудования, назначают внешним устройствам определенные уровни контроллера прерываний 8259A. Эти назначения выполняются в виде физических электрических соединений и не могут быть изменены программным образом.
Программные прерывания. Любая программа может инициировать синхронное программное прерывание просто путем выполнения команды INT. MS-DOS использует для взаимодействия со своими модулями и прикладными программами прерывания от 20Н до 3FH. (Например, доступ к диспетчеру функций MS-DOS осуществляется выполнением Int 21Н.) Программы BIOS, хранящиеся в ПЗУ, и прикладные программы IBM PC используют другие прерывания, с большими или меньшими номерами. Это распределение номеров прерываний условно и никаким образом не закреплено аппаратно.
Таблица векторов прерываний.
Нижние (с меньшими адресами) 1024 байт системной памяти носят название таблицы векторов прерываний (рис. 1.10). Каждый 4-байтный элемент таблицы соответствует типу прерывания (от 0 до 0FFH) и содержит сегмент и относительный адрес обработчика прерывания данного уровня. Прерывания от 0 до 1FH (самые нижние уровни) используются как прерывания внутренней аппаратуры; MS-DOS использует прерывания от 20Н до 3FH, все остальные прерывания могут использоваться внешней аппаратурой, системными драйверами и прикладными программами.
Если контроллер прерываний 8259А или другое устройство посылает в ЦП прерывание через вывод INTR, оно должно также поместить тип прерывания в виде 8-разрядного числа (от 0 до 0FFH) на системную магистраль для передачи в ЦП. Процессор, умножив это число на 4, определяет адрес используемого вектора прерывания.
Рис. 1.10 Таблица векторов прерываний
Обслуживание прерываний. ЦП, обнаружив сигнал прерывания, помещает в машинный стек слово состояния программы (определяющее различные флаги ЦП), регистр программного сегмента (CS) и указатель команд (IP) и блокирует систему прерываний. Затем ЦП с помощью 8-разрядного числа, установленного на системной магистрали прерывающим устройством, извлекает из таблицы векторов адрес обработчика и возобновляет выполнение с этого адреса.
Состояние системы в момент передачи управления обработчику прерываний совершенно не .зависит от того, было ли прерывание возбуждено внешним устройством или явилось результатом выполнения программой команды INT. Это обстоятельство удобно использовать при написании и тестировании обработчиков внешних прерываний, отладку которых можно почти полностью выполнить, возбуждая их простыми программными средствами.
Обработчики прерываний и MS-DOS. Для установки корректных обработчиков прерываний таким образом, чтобы они не вступали в конфликт с функциями операционной системы или другими обработчиками прерываний, MS-DOS предоставляет специальные средства в виде функций программного прерывания Int 21H, приведенные в таблице 1.1.
Таблица 1.1 Функции MS-DOS для работы с прерываниями
Функция |
Действие |
Int 21H, функция 25H |
Установить вектор прерывания |
Int 21H, функция 35H |
Получить вектор прерывания |
Int 21H, функция 31H |
Завершить и оставить резидентной |
Эти функции дают возможность анализировать или модифицировать содержимое таблицы системных векторов прерываний и резервировать память для использования обработчиком, не вступая в конфликты с другими процессами в системе и не нарушая правила использования памяти.
В системе MS-DOS на функционирование обработчиков внешних аппаратных прерываний накладывается ряд весьма жестких ограничений:
в силу отсутствия свойства повторной входимости у версий MS-DOS обработчик аппаратных прерываний в процессе обработки прерывания не должен вызывать функции MS-DOS
как только обработчик получает управление, он должен немедленно разблокировать прерывания, чтобы не нарушать работу других устройств и не снижать точность системных часов
Ограничения, накладываемые на функционирование обработчиков прерываний, заменяющих стандартные обработчики MS-DOS для внутренних аппаратных прерываний или системных исключительных состояний (таких, как Ctrl-C или критическая ошибка), не столь жестки, однако программировать обработчики следует все же с большой осторожностью, чтобы не допустить разрушения системных таблиц или перевода операционной системы в неустойчивое состояние.
При составлении программы обработчика прерывания следует иметь в виду правила:
для модификации вектора прерывания использовать системные функции Int 21H; не записывать в таблицу прерываний непосредственно
если ваша программа не единственный процесс в системе, использующий данный уровень прерываний, то после выполнения собственной обработки прерывания следует вернуться в предыдущий обработчик, к которому привязан ваш
если ваша программа не остается резидентной в памяти, следует получить и сохранить текущее состояние вектора прерываний перед его модификацией, а по завершении программы - восстановить исходное содержимое
если ваша программа остается резидентной в памяти, используйте одну из функций завершения и сохранения в памяти (предпочтительно Int 21H с функцией 31H), чтобы зарезервировать для вашего обработчика требуемый объем памяти
если вы собираетесь обрабатывать аппаратные прерывания, следует, насколько возможно, сокращать время, в течение которого прерывания заблокированы, а также длину программы обработки прерывания
В приведенном ниже листинге содержится пример установки вектора прерывания по делению на нуль (номер прерывания 0):
|
|
|
|
|
|
mov ah, 25h |
;номер функции |
mov al, 0 |
;номер прервывания |
mov dx, seg zdiv |
;адрес обработчика |
mov ds, dx |
|
mov dx, offset zdiv |
|
int 21h |
;переход в MS-DOS |
. |
|
. |
|
. |
|
zdiv: |
;обработчик прерывания int 00h |
iret |
;(ничего не делает) |
Лекция 7. Системы ввода-вывода
Общие принципы организации ввода/вывода. Программный ввод/вывод. Ввод/вывод по прерываниям. Ввод/вывод в режиме прямого доступа к памяти. Системные и локальные шины. Устройства ввода/вывода