
- •Организация эвм
- •1. Принципы джона фон нейман. Поколения эвм
- •1.1. Принципы Джона фон Нейман
- •1.2. Поколения эвм: от ламп к интегральным микросхемам
- •1.2.1. Первое поколение эвм (1948 — 1958гг.)
- •1.2.2. Второе поколение эвм (1959 — 1967 гг.)
- •1.2.3. Третье поколение эвм (1968 — 1973 гг.)
- •Четвертое и пятое поколения эвм (1974 — настоящее время)
- •2. Архитектура технических средств
- •2.1.Микропроцессор
- •2. Краткие сведения об остальных компонентах компьютера
- •2.3. Функциональное назначение
- •2.4. Использование разъемов расширения
- •2.5. Совместимость блоков расширения
- •3. Классификация компьютеров по областям применения
- •3.1. Персональные компьютеры и рабочие станции
- •3.3. Серверы
- •3.4. Мейнфреймы
- •3.5. Кластерные архитектуры
- •4. Система прерываний
- •4.1. Общие сведения
- •4.2. Обработка прерываний.
- •4.3. Программирование контроллера прерываний
- •4.4. Обработка прерываний в реальном режиме
- •5. Иерархия памяти
- •5.1. Организация кэш-памяти
- •5.1.1. Где может размещаться блок в кэш-памяти?
- •5.1.2. Как найти блок, находящийся в кэш-памяти?
- •5.1.3. Какой блок кэш-памяти должен быть замещен при промахе?
- •5.1.4. Что происходит во время записи?
- •5.2.2. Развитие оперативной памяти
- •5.2.3. Установка оперативной памяти
- •5.3. Виртуальная память и организация защиты памяти
- •5.3.1. Концепция виртуальной памяти
- •5.3.2. Страничная организация памяти
- •5.3.3 Сегментация памяти
- •6. Организация ввода/вывода
- •6.1. Системные и локальные шины
- •6.2. Стандарты шин
- •6.3. Устройства ввода/вывода
- •6.3.1. Магнитные и магнитооптические диски
- •6.3.2. Дисковые массивы и уровни raid
- •6.3.3. Устройства архивирования информации
- •7. Многопроцессорные и многомашинные системы
- •7.1. Классификация эвм параллельной обработки
- •7.2. Модели связи и архитектуры памяти
- •8. Конвейерная обработка
- •8.1. Параллелизм и конвейеризация
- •8.2. Оценка производительности идеального конвейера
- •8.3. Конфликты в конвейере и способы минимизации их влияния на производительность процессора
- •8.3.1. Структурные конфликты
- •8.3.2. Конфликты по управлению
- •8.3.3. Конфликты по данным
- •9. Периферийные устройства
- •9.1. Принтеры
- •9.2. Мыши
- •9.3. Модемы
- •9.4. Сканеры
- •9.5. Накопители на жестких магнитных дисках
- •9.6. Накопители на гибких магнитных дисках
- •9.7. Накопители на компакт-дисках
- •9.8. Магнитооптические диски
- •9.9. Стримеры
- •9.10. Дигитайзеры
- •9.11. Плоттеры
- •9.12 Видеобластеры
- •9.13. Звуковые платы
- •9.14. Акустические системы
- •9.15. Трекболы
- •9.16 Джойстики
- •9.17. Источники бесперебойного питания.
- •Оглавление
4. Система прерываний
4.1. Общие сведения
Прерывание – это инициируемый определенным образом процесс, временно переключающий микропроцессор на выполнение другой программы с последующим возобновлением выполнения прерванной программы.
Механизм прерываний позволяет обеспечить наиболее эффективное управление не только внешними устройствами, но и программами. Некоторые операционные системы используют механизм прерываний не только для обслуживания внешних устройств, но и для предоставления своих услуг. Так, хорошо известная и до сих пор достаточно широко используемая операционная система MS-DOS взаимодействует с системными и прикладными программами преимущественно через систему прерываний.
Прерывания могут быть внешними и внутренними.
Внешние прерывания вызываются внешними по отношению к микропроцессору событиями. На них формируются внешние по отношению к микропроцессору сигналы, которые извещают микропроцессор о том, что некоторое внешнее устройство просит уделить ему внимание.
Внутренние прерывания возникают внутри микропроцессора во время вычислительного процесса. К их возбуждению приводит одна из двух причин:
– ненормальное внутреннее состояние микропроцессора, возникшее при обработке некоторой команды программы;
– обработка машинной команды «int xx». Такой тип прерываний называется программным. Это – планируемые прерывания, так как с их помощью программист обращается в нужное для него время за обслуживанием своих запросов либо к операционной системе, либо к BIOS, либо к собственным программам обработки прерываний.
4.2. Обработка прерываний.
Микропроцессоры Intel имеют два режима работы – реальный и защищенный. В этих режимах обработка прерываний осуществляется принципиально разными методами.
Рассмотрим обработку прерываний в реальном режиме.
В общем случае система прерываний – это совокупность программных и аппаратных средств, реализующих механизм прерываний.
К аппаратным средствам системы прерываний относятся
– выводы микропроцессора
INTR – вывод для входного сигнала внешнего прерывания. На этот вход поступает выходной сигнал от микросхемы контроллера прерываний 8259А;
INTA – вывод микропроцессора для выходного сигнала подтверждения получения сигнала прерывания микропроцессором. Этот выходной сигнал поступает на одноименный вход INTA микросхемы контроллера прерываний 8259А;
NMI – вывод микропроцессора для входного сигнала немаскируемого прерывания;
– микросхема программируемого контроллера прерываний 8259А. Она предназначена для фиксирования сигналов прерываний от восьми различных внешних устройств: таймера, клавиатуры, магнитных дисков и т. д. Обычно используют две последовательно соединенные микросхемы 8259A. В результате такого соединения количество возможных источников внешних прерываний возрастает до 15.
К программным средствам системы прерываний реального режима относятся:
– таблица векторов прерываний, в которой в определенном формате, зависящем от режима работы микропроцессора, содержатся указатели на процедуры обработки соответствующих прерываний;
– следующие флаги в регистре флагов flags\eflags:
IF (Interrupt Flag) – флаг прерывания. Предназначен для так называемого маскирования (запрещения) аппаратных прерываний, то есть прерываний по входу INTR. На обработку прерываний остальных типов флаг IF влияния не оказывает. Если IF=1, микропроцессор обрабатывает внешние прерывания, если IF = 0, микропроцессор игнорирует сигналы на входе INTR;
TF (Trace Flag) - флаг трассировки. Единичное состояние флага TF переводит микропроцессор в режим покомандной работы. В режиме покомандной работы после выполнения каждой машинной команды в микропроцессоре генерируется внутреннее прерывание с номером 1, и далее следуют действия в соответствии с алгоритмом обработки данного прерывания;
– машинные команды микропроцессора: int, into, iret, cli, sti ().
Микросхема контроллера прерываний выполняет следующие функции:
– фиксирование запросов на обработку прерывания от восьми источников, формирование единого запроса на прерывание и подача его на вход INTR микропроцессора;
– формирование номера вектора прерывания и выдача его на шину данных;
– организация приоритетной обработки прерываний;
– запрещение (маскирование) прерываний с определенными номерами.
Важным свойством данного контроллера является возможность его программирования, что позволяет достаточно гибко изменять алгоритмы обработки аппаратных прерываний.
В процессе загрузки компьютера и в дальнейшем во время работы контроллер прерываний настраивается на работу в одном из четырех режимов.
1) Режим вложенных прерываний. В этом режиме каждому входу (уровню) irq0...irq7 присваивается фиксированное значение приоритета, причем уровень irq0 имеет наивысший приоритет, а irq7 - наименьший. Приоритетность прерываний определяет их право на прерывание обработки менее приоритетного прерывания более приоритетным (при условии, конечно, что IF=1).
2) Режим циклической обработки прерываний. В этом режиме значения приоритетов уровней прерываний также линейно упорядочены, но уже не фиксированным образом, а изменяются после обработки очередного прерывания по следующему принципу: значению приоритета последнего обслуженного прерывания присваивается наименьшее значение. Следующий по порядку уровень прерывания получает наивысшее значение, и поэтому при одновременном приходе запросов на прерывания от нескольких источников преимущество будет иметь этот уровень.
3) Режим адресуемых приоритетов. Программист или система самостоятельно могут назначить уровень прерывания с наивысшим приоритетом.
4) Режим опроса. Этот режим запрещает контроллеру автоматически прерывать работу микропроцессора при появлении прерывания от некоторого внешнего устройства. Для того чтобы микропроцессор смог узнать о наличии того или иного запроса на прерывание, он должен сам обратиться к контроллеру прерываний, проанализировать его и далее действовать по своему алгоритму. Согласно этому подходу, инициатором обработки прерывания становится не само прерывание, как при векторной дисциплине, а микропроцессор, причем в определяемые им (точнее, операционной системой, выполняемой на нем) моменты времени.