ПОНЯТИЕ ПРЕРЫВАНИЯ. ВИДЫ ПРЕРЫВАНИЙ


УПРАВЛЕНИЕ ВВОДОМ-ВЫВОДОМ

АССОЦИАТИВНЫЙ КЭШ

 

В отличие от предыдущих у полностью ассоциативного кэша любая его строка может отображать любой блок памяти, что существенно повышает эффектив­ность использования его ограниченного объема. При этом все биты адреса кэшированного блока, за вычетом бит, определяющих положение (смещение) данных в строке, хранятся в памяти тегов. В такой архитектуре для определения наличия затребованных данных в кэш-памяти требуется сравнение со старшей частью адреса тегов всех строк, а не одной или нескольких, как при прямом отображении или наборно-ассоциативной архитектуре. Естественно, последовательный перебор ячеек памяти тегов отпадает — на это может уйти слишком много времени. Остается параллельный анализ всех ячеек, что является сложной аппаратной задачей, которая пока решена только для небольших объемов первичного кэша в некоторых процессорах. Применение полностью ассоциативной архитектуры во вторичном кэше пока не предвидится.

 


ПЕРЕФЕРИЙНЫЕ (ВНЕШНИЕ) УСТРОЙСТВА - устройства, выполняющие внешние функции обработки информации (в отличие от внутренних функций, выполняемых центральным процессором). В группу периферийных устройств попадают устройства внешней памяти, устройства ввода-вывода, и даже удаленные ЭВМ, подключенные посредством специальных каналов или адаптеров. Объединяющим являются два обстоятельства:

1. Производительность (быстродействие или время подготовки результата) периферийных устройств значительно ниже, чем производительность CPU.

2. Для организации обмена с периферийными устройствами применяется особый способ работы, получивший название работа по прерыванию.

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

 

Прерывание(interrupt) заключается в выполнении микропроцессором следующих действий:

1. Регистрации его состояния процессора, предшествовавшего прерыванию;

2. Временное прекращение текущего процесса, вызванное событием, инициировавшим прерывание;

3. Выполнение программы обработки прерывания;

4. Возвращение к прекращенному процессу;

 

Различают следующие типы прерываний:

- внешнее прерывание [external] - прерывание от устройства, НЕ ВХОДЯЩЕГО в состав ЦП или от процесса внешнего по отношению к текущему. Например, прерывание по таймеру или от высокоприоритетного процесса.

- внутреннее [internal] прерывание - прерывание, обусловленное внутренними по отношению к текущему процессу причинами. К ним относят: прерывание по обращению к супервизору, к операциям ввода-вывода, обработка машинных сбоев, прерывания от пользователя путем нажатия необходимых клавиш, прерывание по подкачке страниц и т.п. - SVC-ПРЕРЫВАНИЯ (SuperVisor Call) - прерывание по вызову супервизора. Это, как правило, запрос на предоставление какой-либо услуги операционной системы: увеличение размера памяти, запуск дочернего процесса.

- прерывание ввода-вывода (I/O). Прерывание такого рода происходит при завершении каждой операции ввода-вывода. Инициатором является аппаратура ввода-вывода, которая сообщает о завершении операций, о готовности к приему новых данных и т.п.

- прерывание по рестарту [Attention Interrupt] или по сигналу "Внимание". Инициируется оператором путем нажатия соответствующих кнопок и/или клавиши (Ctrl-Alt-Del).

- программное [Software] прерывание - вызывается машинной командой в процессе управления. Это может быть ошибка в программе, запрещенная операция и т.п.

- аппаратное [Hardware] прерывание вызывается всевозможными ошибками и сбоями в аппаратуре, или же прерывание реализованное аппаратно от внешнего устройства.

Механизм обработки прерываний

 

Как следует из определения прерывания, общая стратегия такова:

1. Управление передается ОС.

2. ОС тем или иным способом и в той или иной степени запоминает состояние прерванного процесса в стеке или блоке управления.

3. Анализируется тип прерывания и причина, его вызвавшая, после чего управление передается соответствующей программе обработки.

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