Скачайте в формате PDF, TXT или читайте онлайн в Scribd
Скачать как 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.
Особенности устройств ЭВМ
Скорость обмена информацией меду процессором и устрой-
ством ЭВМ может варьироваться в диапазоне от нескольких бай-