Главная страница
Навигация по странице:

  • 8.2. Управление магистралью "Общая шина" Общая организация

  • Чтение и Запись

  • Входной порт

  • Циклы магистрали

  • Вывод слова

  • 8.3. Программно-управляемая передача информации

  • Асинхронный обмен

  • Обмен по прерыванию программы.

  • 9. СИСТЕМА ПРЕРЫВАНИЙ 9.1. Основные понятия. Типы прерываний

  • 9.2 Общая организация прерываний Механизм прерывания обеспечивается соответствующими аппаратно-программными средствами компьютера. Задачей аппаратных средств

  • 9.3 Организация системы прерываний с использованием векторов прерываний

  • Запрос

  • Запрос прерывания

  • Архитектура ЭВМ. Курс лекций Томск 2013 2 Оглавление


    Скачать 1.9 Mb.
    НазваниеКурс лекций Томск 2013 2 Оглавление
    Дата09.09.2022
    Размер1.9 Mb.
    Формат файлаpdf
    Имя файлаАрхитектура ЭВМ.pdf
    ТипКурс лекций
    #669571
    страница8 из 14
    1   ...   4   5   6   7   8   9   10   11   ...   14
    адаптерами.
    Так как у терминов интерфейс, контроллер, адаптер нет общепринятых четких определений, они часто считаются синонимами.
    Основу контроллера составляют несколько регистров, которые служат для временного хранения передаваемой информации (рис.37.). Регистры входных и выходных данных работают соответственно только в режиме чтения (или ввода - перемещения информации из контроллера на системные шины) и только в режиме записи (или вывода - перемещения информации с системной шины в контроллер). Регистр состояния работает только в режиме чтения и содержит информацию о текущем состоянии внешнего устройства (включено/ выключено, готово/не готово к обмену данными и т.п.). Регистр управления работает только в режиме записи и служит для приема из ЭВМ приказов для внешнего устройства.
    Сигналы Ввод и Вывод поступают в контроллер от центрального процессора и служат запросом на выполнение контроллером соответствующих операций с внешним устройством. Сигналом Готовность ВУ контроллер сигнализирует процессор об окончании выполнения текущей операции.
    Уровень 2
    - внешние устройства
    - шины связи
    Уровень 1
    - контроллеры ВУ системный интерфейс

    55
    Рис. 37. Блок-схема контроллера ВУ для системного интерфейса
    8.2. Управление магистралью "Общая шина"
    Общая организация. Управление магистралью во многих современных универсальных ЭВМ осуществляется по аналогии с обращением к памяти. Ниже рассматривается именно эта схема.
    Для адресов внешних устройств отведена часть единого адресного пространства системной магистрали, то есть, для каждого регистра каждого контроллера выделен уникальный адрес (аналогичный адресам основной памяти). Таким образом, в контроллерах удается легко организовать селекцию (выбор) адресов собственных регистров из всего множества адресов, передаваемых по линиям адресной шины.
    Запрос во внешнее устройство на ввод или вывод информации поступает по управляющим шинам Чтение и Запись, обеспечивающим обмен информацией процессора с модулями памяти. Кроме указания типа операции (ввод или вывод) запрос включает адрес
    порта
    При выполнении операции вывода (записи на устройство) адресуемый контроллер принимает данные, переданные ему процессором, пересылает их во внешнее устройство и соответствующим сигналом по шине управления (назовем его Готовность ВУ) сообщает процессору, что данные приняты внешним устройством и можно снять информацию с шин адреса и данных.
    При выполнении операции ввода (чтения с устройства) адресуемый контроллер считывает порцию данных из носителя, выставляет на линиях шины данных значение разрядов считанного слова и сигналом Готовность ВУ сообщает об этом процессору.
    Приняв данные из контроллера, процессор снимает сигналы с шины адреса и данных (рис.
    38.).
    Таким образом, управляющий осведомительный сигнал Готовность ВУ может служить для синхронизации работы процессора и контроллеров внешних устройств, точнее, для указания моментов времени, определяющих готовность данных во внешнем устройстве для передачи либо подтверждающих их прием.
    Приемо- передатчики шины данных с и с т е м н ы й и н т е р ф е й с
    Логика управления
    Приемники шины адреса
    Шина данных
    Ввод
    Вывод
    Готовнос ть
    ВУ
    Состояние ВУ или входные данные
    Приказ ВУ или выходные данные
    Шина адреса
    Управление обменом с регистрами контроллера
    Шина связи с
    ВУ
    Регистры контроллера
    Управления
    Входной
    Выходной
    Состояния

    56
    Рис. 38. Простейшее сопряжение контроллера с системным интерфейсом
    Передача данных между любыми двумя устройствами, подключенными к магист- рали Общая шина, осуществляется по принципу "управляющий - управляемый" ("задатчик
    - исполнитель", "ведущий - ведомый").
    Как правило, хозяином магистрали является сам процессор. Перехватить управ- ление магистралью разрешается лишь устройствам прямого доступа к памяти (например, контроллеру винчестерского диска) и лишь на период обмена с ОЗУ большими порциями данных (
    внепроцессорная
    передача данных).
    Порты ввода-вывода. Адресное пространство ввода-вывода организовано в виде портов. Если в передаче информации участвует процессор, то направление потока входной или выходной информации принято рассматривать относительно самого процессора.
    Входной порт - это любой источник данных (например, регистр контроллера), который подключается к Общей шине и из которого посылается слово данных в процессор.
    Выходной порт - приемник данных (например, регистр контроллера), который подключается к Общей шине и, будучи выбранным, принимает слово данных из процессора.
    Для согласования интерфейсов периферийные устройства подключаются к шине через свои контроллеры (адаптеры) и порты примерно по такой схеме:
    Циклы магистрали. Обмен данными по Общей шине осуществляется с помощью одного или нескольких циклов магистрали, за каждый из которых по шинам адреса данных передается одно машинное слово (между ОЗУ и процессором) или байт данных (между ОЗУ и внешним устройством).
    Каждый цикл Общей шины имеет свой протокол, то есть порядок обмена сигналами между ведущим и ведомым устройствами. Различными видами (типами) циклов являются
    Ввод
    данных, Вывод байта, Вывод слова, Ввод-пауза-вывод. Общим для всех видов циклов является их асинхронный характер. Это означает, что на каждый управляющий сигнал задатчика должен поступить ответ от исполнительного устройства (обмен
    Устройство
    Контроллер
    Порт
    Шина с и с т е м н ы й и н т е р ф е й с
    Адрес
    Данные
    Готовность ВУ
    Контроллер
    ВУ
    Чтение
    Запись
    Оперативная память

    57
    "рукопожатием") с фиксированным интервалом времени ответа (таймаутом). Если в течение таимаута задатчик не получил ответа, происходит внутреннее прерывание
    Любой из циклов магистрали начинается с адресации ячейки ОЗУ или регистра контроллера, к которым будет происходить обращение.
    В ходе адресной части цикла процессор устанавливает нужный адрес на шине адреса и вырабатывает сигнал синхронизации адреса, который действует в течение всего цикла. С появлением сигнала синхронизации переданный адрес воспринимается всеми управляемыми устройствами, подключенными к Общей шине, и адресная часть цикла заканчивается.
    В ходе последующей информационной части цикла выполняется конкретная опе- рация ввода, вывода и т. п. В информационной части цикла принимает участие только тот исполнитель, который имеет в своем составе ячейку (или регистр) с указанным в адресной части цикла адресом.
    8.3. Программно-управляемая передача информации
    Устройства ввода-вывода передают в ЭВМ и получают из нее, как правило, большой объем информации, который не может быть размешен только в регистрах процессора.
    Поэтому информация передается из внешнего устройства в оперативную память и поступает на внешнее устройство из оперативной памяти. При этом обмен может идти под управлением программы (программно-управляемая передача данных) или под управлением специального внешнего устройства (контроллера прямого доступа к
    памяти), минуя процессор (
    внепроцессорный
    обмен
    ).
    При использовании программно-управляемого обмена должна быть составлена программа для пересылки данных из памяти ЭВМ в регистр данных контроллера или в обратном направлении.
    В этой программе можно реализовать один из трех видов подобного обмена: син-
    хронный
    , асинхронный и обмен по прерыванию.
    Синхронный обмен можно использовать лишь для связи с такими внешними устройствами, для которых точно известно время выполнения операции (например, максимально возможное время, затрачиваемое на печать одного символа). При этом программу обмена необходимо составлять так, чтобы команды на обмен шли с интервалами не меньшими, чем время выполнения одной операции обмена.
    Это наиболее простой вид обмена, требующий минимальных затрат технических и программных средств. Однако при его использовании для передачи данных между ЭВМ и сравнительно медленными устройствами, как правило, не удается полностью загрузить процессор на время между двумя пересылками данных. Так, например, клавишное устройство позволяет организовать ввод данных со скоростью не выше 3-5 символов в секунду, в то время как за 1/5 секунды современный процессор может выполнить несколько сотен миллионов операций.
    Асинхронный обмен. При его реализации интервал между командами передачи данных задается самим внешним устройством. Контроллеры этих устройств снабжаются
    регистром
    состояния, который информирует процессор о готовности устройства к обмену информацией. Программа обмена функционирует следующим образом:
    1.
    проверяется состояние устройства;
    2.
    если устройство готово к обмену, производится переход к п.З. В противном случае повторить п. 1;
    3.
    производится передача очередной порции данных, выполняются действия по их обработке и/или другие операции, и если обмен данными еще не закончен, осуществляется переход к п. 1.
    Таким образом, устройство само информирует ЭВМ о завершении предыдущей операции и готовности к выполнению новой операции. Однако процессор должен тратить время на ожидание момента готовности, а так как готовность проверяется программным

    58 путем, в это время процессор не может выполнять никакой другой работы по преобразованию данных.
    Обмен по прерыванию программы. Отличается от асинхронного обмена тем, что готовность устройства к обмену проверяется при помощи аппаратных средств ЭВМ, а не программным путем. Это позволяет организовать работу ЭВМ следующим образом:
    1.
    Процессор выполняет какую-либо программу (назовем ее основной или фоновой), не связанную с обменом.
    2.
    Основная программа (через процессор) выдает запрос на выполнение операции обмена (обращение к требуемому порту).
    3.
    Когда устройство готово к приему или выдаче данных, оно посылает в процессор сигнал готовности, воспринимаемый специальным блоком ЭВМ
    (как правило, контроллером прерываний).
    4.
    Контроллер прерываний приостанавливает (прерывает) исполнение основной программы и передает управление подпрограмме, организующей нужный вид обмена данными.
    5.
    Когда выполнение подпрограммы завершается, возобновляется работа процессора по основной (временно прерванной) программе.
    Различие между рассмотренными видами программно-управляемого обмена можно проиллюстрировать на следующем примере.
    Пример. Необходимо вскипятить воду в чайнике.
    Синхронный обмен. В 8 часов чайник с водой поставлен на плиту. Зная, что обычное время закипания такого объема воды 15 мин., ровно в 8ч.15мин. чайник снимается с плиты; вопрос о том, закипела вода или нет не ставится.
    Асинхронный обмен. Чайник с водой поставлен на плиту, и через равные промежутки времени, например, раз в 3 минуты, осуществляется проверка, закипела вода или нет. Когда вода закипит, чайник снимается его с плиты.
    Обмен по прерыванию. На носик чайника с водой надевается свисток и он (чайник) поставлен на плиту. Пользователь чайника может заниматься своим делом (фоновой работой). Когда свисток засвистит, пользователь снимает чайник с плиты и продолжает фоновую работу.
    9. СИСТЕМА ПРЕРЫВАНИЙ
    9.1. Основные понятия. Типы прерываний
    Прерывание - это сигнал, по которому процессор "узнает" о совершении асин- хронного события. Другими словами, прерывание - это ответ вычислительной системы на наступление особого события, нарушающего последовательное выполнение команд текущей программы, то есть, это изменение естественного порядка выполнения программы, которое связано с необходимостью реакции системы на работу внешних устройств, а также на ошибки и особые ситуации, возникшие при выполнении программы.
    "Ответ" системы на наступившее событие заключается в запуске программы обработки данного прерывания - обработчика прерывания, специальной программы, специфической для каждой возникшей ситуации, после выполнения которой, если это возможно, возобновляется работа прерванной программы.
    Замечание. Таким образом, механизм обработки прерываний предоставляет возможность организации ветвления при реализации программных процессов.
    В упрощенном представлении можно выделить три типа прерываний:
    1)
    внутренние,
    2)
    внешние,
    3)
    внепроцессорные.
    Внутренние прерывания. К прерываниям этого типа относят:

    59

    группу программных прерываний (деление на нуль, переполнение, неверная адресация и т. п.),

    прерывания от схем контроля машины, сбоев системы питания и др.
    Обработка прерываний этого типа состоит в выдаче сообщений о причине прерывания, прекращении выполнения текущей программы и перехода к реализации другой программы либо, если дальнейшее функционирование системы невозможно, только в выдаче диагностического сообщения, локализующего причину отказа.
    В любом случае, при наступлении события, вызвавшего аварию, процессор не останавливается.
    Внешние прерывания. Эту группу прерываний представляют прерывания от внешних устройств. Обработка событий, связанных с выполнением операций обмена данными между внешними устройствами и ОЗУ, в конечном счете, сводится к запуску
    драйвера
    - программы, реализующей обмен с устройством конкретного типа (драйвер клавиатуры, драйвер монитора и т. п.).
    Внепроцессорные прерывания. Прерывания, обработка которых приводит к передаче управления Общей шиной от процессора к контроллеру внешнего устройства с реализацией дальнейшего обмена между устройством и основной памятью по Общей шине напрямую без посредничества процессора, то есть без запуска какого-либо драйвера (см. п.
    10.4.).
    9.2 Общая организация прерываний
    Механизм прерывания обеспечивается соответствующими аппаратно-программными средствами компьютера.
    Задачей аппаратных средств обработки прерывания в процессоре ЭВМ является приостановка выполнения одной программы (иногда называемой основной) и передача управления подпрограмме обработки прерывания.
    Поскольку для выполнения подпрограммы обработки прерывания используются различные регистры процессора
    (РОНы, счетчик команд, регистр флагов и т.д.), то информацию, содержащуюся в них в момент прерывания, необходимо сохранить для последующего возврата в прерванную программу.
    Обычно задача сохранения содержимого счетчика команд и регистра флагов, содержащего вектор состояния процессора возлагается на аппаратные средства обработки прерывания. Сохранение содержимого других регистров процессора, используемых в подпрограмме обработки прерывания, производится непосредственно в подпрограмме (рис. 39.).

    60
    Рис.39. Структура подпрограммы обработки прерывания и ее связь с основной программой
    9.3 Организация системы прерываний с использованием векторов
    прерываний
    Рассмотрим подробнее процесс обработки внешних прерываний.
    Действия, выполняемые при этом процессором, как правило, те же, что и при обращении к обычной подпрограмме; различие в том, что при обращении к подпрограмме эти действия инициируются командой, а при обработке прерывания - управляющим сигналом от внешнего устройства, называемым Запрос (или Требование) прерывания.
    Эта важная особенность обмена с прерыванием программы позволяет организовать обмен данными с внешними устройствами в произвольные моменты времени, не зависящие от программы, выполняемой в ЭВМ. Таким образом, появляется возможность обмена данными с внешними устройствами в реальном масштабе времени, определяемом внешней по отношению к ЭВМ средой (например, с датчиками, следящими за состоянием технологического процесса).
    Прерывание программы по требованию внешнего устройства не должно оказывать на прерванную программу никакого влияния, кроме увеличения времени ее выполнения за счет приостановки на время выполнения подпрограммы обработки прерывания.
    Формирование сигналов прерываний - запросов устройств на обслуживание, происходит в их контроллерах.
    В серийных ЭВМ обычно используется одноуровневая система прерываний, то есть сигналы Запрос прерывания от всех внешних устройств поступают на один вход процессора. Поэтому возникает проблема идентификации внешнего устройства, запросившего обслуживание. Основным способом, решающим проблему идентификации в большинстве современных ЭВМ в настоящее время, является использование векторов
    прерываний.
    Внешнее устройство, запросившее обслуживание, само идентифицирует себя с помощью адреса своего вектора прерывания - ячейки основной памяти, в которой хранится адрес начала программы обработки прерывания данного типа.
    Векторы всех обработчиков прерываний собраны в единую таблицу векторов
    прерываний, располагающуюся в самых младших адресах оперативной памяти, имеющую объем 1 Кбайт и содержащую 4-х байтные элементы (векторы прерываний) для 256 обработчиков прерываний. Так как таблица всегда имеет нулевой начальный адрес и длину вектора в 4 байта, чтобы определить адрес вектора для прерывания типа i, достаточно просто умножить это значение на 4.
    Основная программа
    Запрос прерывания
    Запрос прерывания
    Восстановление вектора состояния программы
    Обработка прерывания
    Сохранение вектора состояния программы
    Возврат в основную программу

    61
    Вектор прерывания выдается контроллером не одновременно с запросом на прерывание, а только по разрешению процессора (рис.40 ).
    Условные обозначения:
    • РП (вх) - Разрешение прерывания (входной);
    • РП (вых) - Разрешение прерывания (выходной).
    Рис. 40. Реализация приоритетов ВУ в ЭВМ с векторной системой прерывания
    В ответ на сигнал контроллера Запрос прерывания процессор формирует управляющий сигнал Разрешение прерывания (входной), который разрешает контроллеру, запросившему обслуживание, выдачу адреса своего вектора прерывания в шину адреса системного интерфейса.
    Сигнал
    1   ...   4   5   6   7   8   9   10   11   ...   14


    написать администратору сайта