Лекция

Скачать как pdf или txt
Скачать как pdf или txt
Вы находитесь на странице: 1из 7

47

Лекция №6. ФИЗИЧЕСКАЯ ОРГАНИЗАЦИЯ


ПОДСИСТЕМЫ ВВОДА-ВЫВОДА

Системная шина, контроллеры устройств, прерывания в сре-


де ОС, контроллер прерываний.

Современные ЭВМ создаются на основе архитектуры фон Ней-


мана (Джон фон ), принципиальная схема такой ЭВМ показана
на рис. 6.1.

Рис. 6.1. Принципиальная схема ЭВМ

В состав ЭВМ входит память, которая подразделяется на опера-


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

Процессор, память и многочисленные внешние устройства связаны


большим количеством электрических соединений – линий. Линии принято
называть локальной магистралью компьютера – системной шиной.
Внутри системной шины находятся линии, служащие для пере-
дачи сходных сигналов и предназначенные для выполнения сходных
функций. Их принято группировать в магистрали. Магистрали также
принято называть шинами. Таких шин три.
Шина данных – служит для передачи информации между про-
цессором и памятью, процессором и устройствами ввода-вывода, па-
мятью и внешними устройствами.
Адресная шина – служит для задания адреса ячейки памяти
или указания устройства ввода-вывода, участвующих в обмене ин-
формацией.
Шина управления – состоит из линий управления системной
шины и линий ее состояния, определяющих поведение системной
шины. В некоторых ЭВМ линии состояния выносятся из этой шины в
отдельную шину состояния.

Характеристики шин

Разрядность – количество линий, входящих в состав шины.


Ширина адресной шины определяет максимальный размер опе-
ративной памяти, которая может быть установлена в вычислительной
системе.
Ширина шины данных определяет максимальный объем инфор-
мации, которая за один раз может быть получена или передана по
этой шине.

Подключение устройств к шине

Внешнее устройство подключается к шине через порт ввода –


вывода. Порт ввода-вывода – точка подключения устройства к ма-
гистрали. Адресное пространство ввода-вывода – служит для
отображения портов. При этом каждый порт ввода-вывода получает
49
свой номер или адрес. Занесение информации в порт представляет
собой инициализацию операции ввода-вывода.
Что именно должны делать устройства, приняв информацию че-
рез свой порт, и каким именно образом они должны поставлять инфор-
мацию для чтения из порта, определяется контроллером устройства.

Механизм ввода-вывода

Устройства ввода-вывода подключаются к системе через порты.


Могут существовать два адресных пространства: пространство памя-
ти и пространство ввода-вывода.
Порты, как правило, отображаются в адресное пространство
ввода-вывода и иногда – непосредственно в адресное пространство
памяти. Использование того или иного адресного пространства опре-
деляется типом команды, выполняемой процессором, или типом ее
операндов.
Физическим управлением устройством ввода-вывода, передачей
информации через порт и выставлением некоторых сигналов на маги-
страли занимается контроллер устройства.

Архитектура контроллера

Основу архитектуры контроллера образуют его регистры. Ре-


гистр – внутренняя память контроллера. Для доступа к содержимому
этих регистров вычислительная система может использовать один
или несколько портов. Рассмотрим базовый состав регистров кон-
троллера.
Регистр состояния содержит биты, значение которых опреде-
ляется состоянием устройства ввода-вывода и которые доступны
только для чтения вычислительной системой. В его составе выделяют
флаги, биты:
Бит занятости – завершение выполнения текущей команды на
устройстве.
Бит готовности данных – наличие очередного данного в реги-
стре выходных данных.
50
Бит ошибки – возникновение ошибки при выполнении команды.
Регистр управления получает данные, которые записываются
вычислительной системой для инициализации устройства ввода-
вывода или выполнения очередной команды, а также изменения ре-
жима работы устройства.
Регистр выходных данных служит для помещения в него дан-
ных для чтения вычислительной системой.
Регистр входных данных предназначен для помещения в него
информации, которая должна быть выведена на устройство.
Емкость перечисленных регистров не превышает ширину линии
данных. Некоторые контроллеры могут использовать в качестве реги-
стров очередь FIFO для буферизации поступающей информации.

Взаимодействие с контроллером

Процессор в цикле читает информацию из порта регистра со-


стояний и проверяет значение бита занятости. Если бит занятости ус-
тановлен, то это означает, что устройство еще не завершило преды-
дущую операцию и процессор уходит на новую итерацию цикла. Если
бит занятости сброшен, то устройство готово к выполнению новой
операции и процессор переходит на следующий шаг.
Процессор записывает код команды вывода в порт регистра
управления.
Процессор записывает данные в порт регистра входных данных.

Стратегии взаимодействия с контроллером

Ожидание освобождения устройства путём непрерывного опроса


значение бита занятости. Если скорости работы процессора и устрой-
ства ввода-вывода примерно равны, то это не приводит к существен-
ному уменьшению полезной работы, совершаемой процессором [3].
Более эффективный способ взаимодействия между устройством
и процессором является оповещение внешним устройством процес-
сора о завершении команды вывода или команды ввода путем ис-
пользования механизма прерываний.
51
Виды прерываний

Маскированные прерывания – прерывания, которые могут быть


запрещены программным путем. Соответственно немаскированные
прерывания – часть прерываний, которые не возможно запретить.
Кроме того, различают аппаратные и программные прерыва-
ния. Аппаратные прерывания – прерывания внешние.
Внешнее прерывание обнаруживается процессором между вы-
полнением команд. Прерывание происходит асинхронно с работой
процессора и непредсказуемо, программист не может предугадать, в
каком именно месте работы программы произойдёт прерывание.
Процессор при переходе на обработку прерывания сохраняет
часть своего состояния перед выполнением следующей команды.
К прерываниям также относят исключительные ситуации. Они
возникают во время выполнения процессором команды. К их числу отно-
сятся ситуации переполнения, деления на ноль, и т.д. Исключительные
ситуации обнаруживаются процессором во время выполнения команд.
Процессор при переходе на выполнение обработки исключи-
тельной ситуации сохраняет часть своего состояния перед выполне-
нием текущей команды. Исключительные ситуации возникают син-
хронно с работой процессора, но непредсказуемо для программиста.
Программные прерывания возникают после выполнения специ-
альных команд, как правило, для выполнения привилегированных
действий внутри системных вызовов. Процессор при выполнении про-
граммного прерывания сохраняет своё состояние перед выполнением
следующей команды. Программные прерывания, возникают синхрон-
но с работой процессора и абсолютно предсказуемы программистом.

Вектор прерываний и контроллер

Обработку прерываний современные ОС выполняют на основе


механизма векторов прерываний. Вектор прерываний – номер
ячейки памяти, где хранится адрес обработчика прерывания. Получив
сигнал прерывания, процессор приостанавливает обработку команд
текущего процесса – программы и переходит на вектор прерывания.
По адресу, который хранится в векторе прерывания, процессор пере-
52
ходит на программу обработки прерывания, и по завершении этой
программы процессор возвращается к прерванному процессу и про-
должает его обработку.
Вектора прерываний образуют таблицу прерываний ОС. Для
эффективной обработки аппаратных прерываний в состав современ-
ных ЭВМ включают специальный контроллер. На рис. 6.2 показана
принципиальная схема контроллера прерываний, предназначенного
для совместной работы с процессором Intel 8086.
Устройства ЭВМ связаны линиями IRQ с контроллером преры-
вания. Получив сигнал прерывания от устройства, контроллер пере-
даёт процессору сигнал прерывания и вектор прерывания.
В табл. 6.1 приводится описание линий получения сигнала пре-
рывания.

Рис. 6.2. Контроллер аппаратных прерываний

Таблица 6.1
Линии сигналов аппаратных прерываний

Линия прерывания Вектор прерывания Устройство


IRQ0 08h Таймер
IRQ1 09h Клавиатура
IRQ2 0Ah Зарезервирован
IRQ3 0Bh Последовательный порт 2
53
Продолжение табл. 6.1

Линия прерывания Вектор прерывания Устройство


IRQ4 0Ch Последовательный порт 1
IRQ5 0Dh Жёсткий диск
IRQ6 0Eh Гибкий диск
IRQ7 0Fh Принтер, параллельный порт

Контрольные вопросы и задания

1. Дайте описание компонентам ЭВМ, которая отвечает архитек-


туре фон Неймана.
2. Какими особенностями обладает системная шина ЭВМ?
3. Что такое порт ввода-вывода устройства?
4. Для чего используется контроллер устройства ЭВМ?
5. Какие регистры входят в состав контроллера устройства?
6. Дайте классификацию флагов-битов регистра состояния кон-
троллера.
7. Как процессор взаимодействует с контроллером?
8. Приведите классификацию стратегий взаимодействия процес-
сора и устройств ЭВМ.
9. Дайте классификацию прерываний в среде ОС.
10. Что такое вектор прерывания ОС?
11. Как используется контроллер аппаратных прерываний?

Лекция №7. ЛОГИЧЕСКАЯ ОРГАНИЗАЦИЯ


ПОДСИСТЕМЫ ВВОДА-ВЫВОДА

Устройства ЭВМ, драйвера ОС, структура БСВВ (базовой


системы ввода-вывода), прямой доступ к памяти, спулинг, поддерж-
ка подсистемы ввода-вывода, особенности устройств, порты, ли-
нии прерывания, канал DMA.

Особенности устройств ЭВМ

Скорость обмена информацией меду процессором и устрой-


ством ЭВМ может варьироваться в диапазоне от нескольких бай-

Вам также может понравиться