- •Архитектура вычислительных систем. Учебное пособие.
- •Характеристики и режимы работы эвм
- •Основные характеристики эвм
- •1.2. Режимы работы эвм
- •1.2.1. Однопрограммный режим работы
- •1.2.2. Мультипрограммный режим работы
- •1.2.3. Режим пакетной обработки
- •1.2.6. Режим работы в реальном масштабе времени
- •Классификация компьютеров по областям применения
- •2.1. Персональные компьютеры и рабочие станции
- •1.2.4. Режим разделения времени
- •1.2.5. Диалоговый режим работы
- •2.3. Серверы
- •2.4. Мейнфреймы
- •2.5. Кластерные архитектуры
- •3. Организация современного пк
- •Архитектура пк на базе набор микросхем 440 lx
- •3.1. Структура системной платы на наборе микросхем 440 lx
- •3.2. Типы системных плат на чипсете 440 lx
- •4. Функциональная и структурная организация процессоров
- •4.1. Классификация процессоров (cisc и risc)
- •4.2.Принципы организации процессоров
- •4.2.1. Назначение и структура процессора
- •Структура микропроцессора
- •4.2.2. Основные регистры процессоров
- •Операционное устройство и шинный интерфейс
- •4.2.3. Способы организации управления вычислительным процессом
- •Схемный принцип управления
- •Микропрограммный принцип
- •4.2.4. Технология mmx
- •Отображение ммх-регистров на fpu-регистры
- •Влияние ммх-команд на контекст fpu
- •4.2.5. Принципы конвейерной технологии
- •Представление о работе конвейера
- •Диаграмма работы простейшего конвейера
- •4.3. Микроархитектура процессоров p5
- •Структурная схема микропроцессора Pentium
- •4.4. Микроархитектура процессоров семейства р6
- •Структурная схема микропроцессора Pentium Pro
- •Ядро и подсистемы памяти Pentium
- •Устройство выборки/декодирования
- •Структура устройства диспетчирования/выполнения
- •Устройство отката
- •Интерфейс с шиной
- •4.5. Микроархитектура процессоров семейства amd
- •Микроархитектура процессора amd-k6-2
- •Микроархитектура процессора amd Athlon
- •Рабочая схема модуля вычислений с плавающей точкой
- •Организация системной шины
- •5.Принципы организации системы прерывания программ
- •5.1. Классы сигналов прерывания
- •5.2. Распределение прерываний в пк на базе процессоров х86
- •Распределение аппаратных прерываний
- •5.3. Приоритеты прерываний
- •Временная диаграмма возможного процесса прерывания программы
- •Определение исполнение программ в системе с учетом приоритетности запросов прерывания
- •5.4. Защита от прерывания
- •Организация памяти пк
- •6.1. Иерархии памяти
- •6.2. Организация кэш-памяти
- •6.3. Организация оперативной памяти (ram)
- •6.3.1. Типы и классификация оп
- •Прямая регистровая адресация
- •6.3.2.4. Подразумеваемая адресация
- •6.3.2.5. Косвенная адресация
- •Косвенная адресация с использованием оперативной памяти
- •6.3.2.6. Косвенная регистровая адресация
- •6.3.2.7. Модификация адресов
- •Индексная адресация с использованием регистров
- •6.3.2.8. Относительная адресация
- •Относительная адресация
- •Формирование исполнительного адреса при относительной и индексной адресации
- •6.4. Организация виртуальной памяти
- •6.4.1. Страничная адресация памяти
- •Адреса при страничной адресации
- •Порядок использования таблицы страниц
- •6.4.2. Сегментация памяти
- •7. Организация ввода-вывода
- •7.2. Системные и локальные шины
- •7.3. Шины ввода/вывода
- •7.3.1. Шина agp
- •Схемы pci и agp
- •7.3.2. Шина usb
- •Топология шины usb
- •7.3.3. Шины ide и scsi
- •8. Периферийные устройства
- •Примеры устройств ввода/вывода
- •8.1. Магнитные и магнитооптические диски
Временная диаграмма возможного процесса прерывания программы
П1
t
ЗП
t
t
tр tз tп tв
Рис. 5.1.
Максимальное количество программ, прерывающих друг друга вновь возникающими запросами, называют глубиной прерывания. Степень важности запросов на прерывания в общем случае зависит от времени их поступления в систему прерывания программ, характера источников запросов. Поэтому каждому источнику запросов на прерывания присваивается постоянный, как правило, уровень приоритетности, или глубина прерывании. Наивысшим приоритетом (нулевой уровень) прерывания обладают прерывания от схем контроля ЭВМ. Прерывания нулевого уровня могут прервать любую из программ, отвечающих, уровням 1, 2, ... , n при выделении (n+1) уровней.
Первый уровень присваивается прерываниям от устройств ввода-вывода, второй уровень — внешним прерываниям, третий уровень — программным прерываниям и прерываниям при обращении к управляющей программе-диспетчеру. Эти два класса прерываний исключают взаимно друг друга, а поэтому имеют одинаковый приоритет.
Прерывания первого уровня могут прерывать любую из программ второго и третьего уровней приоритетности, но не могут прервать программу с нулевым уровнем приоритетности. На временной диаграмме (рис. 5.2) показано обслуживание запросов 3Пi с учетом их приоритетности.
Определение исполнение программ в системе с учетом приоритетности запросов прерывания
ЗПi 2
1 3 0
t
П0
t
П1
t
П2
t
П3
t
Рис. 5.2.
В связи с введением приоритетов время реакции tр на отдельные запросы увеличивается.
5.4. Защита от прерывания
Процессор должен обеспечивать такой подход к запросам на прерывание, при котором прерывание по отдельным причинам может быть запрещено в течение некоторого промежутка времени, в то время как для других запросов прерывание разрешается. В современных ЭВМ наибольшее распространение получило программное управление приоритетом на основе маски-кода защиты от прерываний, представляющего собой двоичное число, разряды которого соответствуют отдельным причинам или уровням прерывании. Если разряд маски имеет значение 0, то соответствующая причина прерывания замаскирована и процессор не реагирует на данный запрос на прерывание. Если разряд маски равен 1, то соответствующая причина прерывания не замаскирована и процессор воспринимает данный запрос на прерывание.
С замаскированным запросом в зависимости от причины прерывания поступают двояким образом или он игнорируется, или запоминается с тем, чтобы осуществить затребованные действия, когда запрет будет снят. Например, если прерывание вызвано окончанием операции в периферийном устройстве, то его следует, как правило, запомнить, так как иначе ЭВМ останется неосведомленной о том, что периферийное устройство освободилось. Прерывание, вызванное переполнением разрядной сетки при выполнении арифметической операции, следует в случае его маскирования игнорировать, так как запоминание этою запроса может привести к искажению результата этой программы.
Реализация прерываний в современных ЭВМ осуществляется аппаратными и программными средствами, совокупность которых получила название системы прерывания. С помощью аппаратных средств обнаруживаются сигналы запроса прерывания, организуется запоминание информации, необходимой для начала функционирования программных средств, а также для передачи управления программе прерываний и восстановления старой программы. С помощью программных средств производится запись в память содержимого большинства регистров и информации о состоянии процессора. Все обслуживание прерываний, включая определение номера и типа устройства, вида ошибки, возлагается полностью на программное обеспечение (ПО). Иногда ПО определяет и метод возвращения к старой (прерванной) программе.
Различают два метода обработки прерываний: с опросом и по вектору.
1. Прерывание с опросом. При помощи аппаратных и программных средств осуществляется опрос каждого периферийного устройства, пока не обнаружится то, которое запрашивает прерывание, после чего осуществляется переход на соответствующую подпрограмму обслуживания прерывания, которая и выполняет затребованные действия. При этом приоритет периферийного устройства определяется его местом в последовательности опроса.
2. Прерывание по вектору. Запрос непосредственно передается на соответствующую подпрограмму, т. е. все периферийные устройства обладают одинаковым приоритетом. Поскольку в данном случае опроса не требуется, время реализации прерывания меньше, чем при выполнении с опросом.
Достоинство системы прерывания заключается в том, что для обеспечения прерываний не нужно принимать никаких мер на уровне рабочей программы пользователя. Составляя свою программу, программист может даже ничего не знать о системе прерываний. Однако системному программисту возможно потребуется разработать особые программы обслуживания прерываний, специфичные для данного устройства, если таких программ может не оказаться в средствах ПО, созданных разработчиками этих средств.
