Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lektsii_po_OSyam.doc
Скачиваний:
27
Добавлен:
27.09.2019
Размер:
493.06 Кб
Скачать

9. Управление устройствами компьютера

Вопрос№56 9.1. Логическая структура компьютера

Обозначения:

ЦП – центральный процессор

ОП – оперативная память

У1, У2, …, Уn – устройства

Центральным процессором называется интегральная схема (ИС), которая выполняет две основные функции:

- исполняет команды программы;

- управляет работой устройств компьютера.

Оперативной памятью называется набор ИС, которые предназначены для хранения команд и данных программы.

Устройством называется ИС или набор ИС, которые выполняют вспомогательные функции, исполняя специальные команды.

Системной шиной называется набор ИС и линий передачи сигналов, которые предназначены для обмена сигналами между ЦП, ОП и устройствами.

Системная шина обеспечивает 3 вида обмена данными:

- ЦП <-> ОП;

- ЦП <-> У;

- ОП <-> У.

Системная шина состоит из трех шин:

- шины управления, по которой передаются управляющие сигналы;

- шины данных, по которой передаются данные;

- адресной шины, по которой передаются адреса.

Вопрос№57 9.2. Типы устройств

Исполнительные устройства – это ИС, которые функционально дополняют ЦП. Различают два типа исполнительных устройств:

- контроллеры;

- процессоры

Контроллеры – это ИС, которые предназначены для управления другими устройствами, освобождая от этих функций ЦП.

Пример 1. Контроллер прерываний управляет диспетчеризацию сигналов прерываний от устройств.

Пример 2. Контроллер прямого доступа к памяти управляет прямым доступом устройств к ОП.

Сопроцессоры – это процессоры специального назначения.

Пример. Процессор цифровой обработки сигналов (DSP – digital signal processor).

Интерфейсные устройства – это ИС, которые управляют обменом данными между компьютером и внешними устройствами ввода/вывода данных. Часто интерфейсные устройства называются интерфейсными или устройствами ввода/вывода.

Последовательные интерфейсы передают данные последовательно по битам. Например, интерфейс RS 232.

Параллельные интерфейсы передают параллельно целое слово данных (8,16,32 или 64 бита).

В операционных системах для доступа к устройствам используются специальные программы, которые называются драйверами устройств.

Вопрос№58 9.3. Логическая архитектура процессора

Обозначения:

УУ – устройство управления;

Назначение УУ:

- исполняет инструкции перехода;

АЛУ – арифметико-логическое устройство;

Назначение АЛУ:

- исполняет арифметические команды;

- исполняет логические команды.

Память – регистры микропроцессора, в которых хранятся:

- команды;

- данные;

- состояние процессора.

Введем следующие обозначения для регистров микропроцессора:

- PC – счетчик команд (program counter);

- IR – регистр команд (instruction register).

Через MemPtr обозначим массив байтов основной памяти.

Цикл работы процессора

while (true)

{

IR = MemPtr[PC]; //извлекаем команду

++PC; //увеличиваем счетчик

if (InstructionCode (IR) == Jump)

PC = JumpAddress(IR);

else

Execute(IR); //вызов АЛУ

}

Такая архитектура и принципы работы процессора называются архитектурой фон Неймана. Принципы архитектуры фон Неймана:

- данные и инструкции хранятся в основной памяти (программа хранится в основной памяти);

- для доступа к содержимому основной памяти используется адресация (данные и инструкции в основной памяти неразличимы);

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

Вопрос№59 9.4. Прерывания

Состояние регистров процессора при исполнении программы называется контекстом процессора. Контекст процессора определен только в точках между выполнением двух последовательных команд. В этих точках можно изменить контекст процессора, то есть запомнить текущий контекст процессора в памяти, а затем загрузить из памяти в процессор новый контекст. Такая операция называется перестановкой контекста процессора.

Точка, в которой происходит перестановка контекста процессора, называется точкой прерывания программы, так как в этом случае последовательность выполнения команд программы прерывается, и управление передается другой программе. Сам процесс перестановки контекста процессора называется прерыванием программы.

Прерывание программы происходит только в том случае, если в процессоре установлен специальный флаг, который сигнализирует о прерывании программы. Процессор проверяет состояние этого флага после выполнения каждой команды. Сигнал, устанавливающий флаг прерывания, называется прерыванием.

Классификация прерываний по отношению к исполняемой программе

Внешние прерывания

Внешние прерывания генерируются внешними устройствами и являются асинхронными по отношению к исполняемой программе, так как могут прервать программу в любой точке прерывания.

Внутренние прерывания

Внутренние прерывания инициализируются самой исполняемой программой:

- явно в случае программных прерываний;

- неявно в случае аппаратных прерываний.

Внутренние аппаратные прерывания

Внутренние аппаратные прерывания являются асинхронными и могут происходить по следующим причинам:

- ошибки в работе программы, например, деление на нуль или неправильная адресация. Такие прерывания также называются исключениями;

- захват аппаратного ресурса, например, подкачка виртуальной страницы в виртуальную память.

Внутренние программные прерывания

Внутренние программные прерывания являются синхронными и явно инициируются программой посредством исполнения команды (функции), которая обращается к ядру ОС.

Вопрос№60 9.9. Обработка прерываний

Обозначения устройств:

- ЦП – центральный процессор;

- КП – контроллер прерываний.

Обозначение сигналов:

- IR0, ..., IR7 – сигналы прерывания от устройств (interrupt request);

- INTR – сигнал запроса на прерывание от КП (interrupt request);

- INTA – сигнал подтверждения прерывания от ЦП (interrupt acknowledge);

- NMI – сигнал немаскируемого прерывания.

ЦП может блокировать обработку сигнала по линии INTR. КП может блокировать обработку сигнала по линиям IR0, ..., IR7. В этом случае говорят, что соответствующие прерывания маскируются.

Прерывания по линии NMI не маскируются. Эта линия служит для передачи сигнала прерывания в случае аварии оборудования, например, падение напряжения в сети.

КП выполняют диспетчеризацию сигналов прерывания от устройств, которые поступают на входы IR0, ..., IR7. Для этого УП программируется таким образом, чтоб каждому из входов IR0, ..., IR7 ставится в соответствие свой приоритет. Если на входы КП поступает несколько сигналов прерывания, то обрабатывается сигнал с небольшим приоритетом, а остальные маскируются. Такая дисциплина обслуживания прерываний называется одноуровневой с приоритетами. Контроллеры прерываний могут подключаться каскадом, то есть выход INTR одного КП подключается к одному из входов IR0, ..., IR7 другого КП. В этом случае дисциплина обслуживания прерываний называется многоуровневой с приоритетами.

Алгоритм обработки сигналов прерывания от устройств

1. Сигналы прерывания поступают на входы IR0, ..., IR7 контроллера прерываний.

2. КП обрабатывает сигналы и выдает запрос ЦП на вход INTR.

3. Если вход INTR не маскирован, то ЦП передает КП подтверждение о получении сигнала прерывания по линии INTA.

4. По второму сигналу от ЦП по линии INTA контроллер прерываний устанавливает на адресную шину адрес программы обработки прерывания.

5. ЦП передает управление программе обработки прерывания.

Передача управления программе обработки прерывания происходит путем перестановки контекста процессора, которая выполняется аппаратно. Если процессор сохраняет только свое текущее слово состояния (PSW – processor state word), то программа обработки прерывания должна иметь следующую структуру:

вход: //состояние PSW

сохранение содержимого регистров;

обработка прерывания;

восстановление содержимого регистров;

выход; //восстановление PSW

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]