- •1. Понятие «архитектура эвм»
- •2. Cisc-процессоры. Risc-процессоры
- •2.1. Сравнительный анализ cisc- и risc-процессоров
- •2.2. Структура процессора Intel 8086
- •Регистры общего назначения
- •Регистры сегментов
- •3. Рабочий цикл процессора
- •4. Память
- •4.1. Иерархия памяти
- •4.2 Физическая организация памяти
- •Внутренняя память
- •Сегментированная модель оперативной памяти
- •Формирование физического адреса в реальном режиме
- •Формирование физического адреса в защищенном режиме
- •Страничная модель оперативной памяти
- •Сегментно-страничная модель распределения памяти
- •Плоская модель памяти
- •Внешняя память
- •Винчестеры (накопители на жестких магнитных дисках)
- •Дискеты (накопители на гибких магнитных дисках)
- •Компакт-диски
3. Рабочий цикл процессора
Код операции |
Адресный код |
Выделяют четыре группы команд: основные (арифметические, логические и пересылочные операции); передачи управления; ввода-вывода; системные (устанавливающие состояние процессора).
Н
а
рис 5 представлен рабочий цикл процессора.
Рис. 5. Рабочий цикл процессора
Во время выполнения текущей программы, внутри ЭВМ и в связанной с ней внешней среде (например, в технологическом процессе, управляемом ЭВМ) могут возникать события, требующие немедленной реакции на них со стороны ЭВМ.
Реакция состоит в том, что ЭВМ прерывает обработку текущей программы и переходит к выполнению некоторой подпрограммы, специально предназначенной для данного события. По завершении указанной подпрограммы ЭВМ возвращается к выполнению прерванной программы (рис. 6).
Рис. 6. Прерывание программы
Начальный адрес прерывающей программы называется вектором прерывания. В общем случае, каждому запросу прерывания соответствует свой вектор прерывания, способный инициировать выполнение соответствующей прерывающей программы. Векторы прерывания обычно находятся в специально выделенных фиксированных ячейках памяти – таблице векторов прерывания. Таблица векторов прерываний располагается в ОП по нулевому адресу. Номер прерывания передается контроллером прерывания в ЦП в виде 8-разрядного числа.
В
таблице векторов прерываний для каждого
прерывания всегда указывается адрес
начала сегмента кода (этот адрес
представляет собой 16-тиразрядное число),
который будет записан в регистре CS
процессора, и смещение первой команды
программы-обработчика прерывания
относительно начала сегмента кода этой
программы-обработчика. Это смещение
тоже представляет собой 16-тиразрядное
число и будет записано в регистре IP
процессора. Таким образом, таблица
векторов прерываний состоит из 4-байтных
элементов, соответствующих каждому
типу прерывания. Соответственно, в ОП
эта таблица будет занимать 28
4
байта = 1024 байта.
Когда контроллер прерываний посылает в ЦП сигнал (электрический) через вывод INTR, он должно также поместить тип прерывания в виде 8-разрядного числа на системную магистраль для передачи в ЦП. Процессор, умножив это число на 4, определяет адрес используемого вектора прерывания и перейдет на обслуживание прерывания.
Обслуживание состоит в том, что ЦП, обнаружив сигнал прерывания, помещает в сегмент стека регистр флагов, регистр программного сегмента (CS) и указатель команд (IP) и блокирует прием следующих прерываний. Затем ЦП с помощью 8-разрядного числа, установленного на системной магистрали контроллером прерываний, извлекает из таблицы векторов адрес обработчика и возобновляет выполнение с этого адреса. По завершении выполнения подпрограммы обработчика прерывания, ЦП восстанавливает из стека содержимое регистров CS, IP и содержимое регистра флагов, вследствие чего возобновляется выполнение прерванной программы.
При наличии нескольких источников запросов прерывания определяется тот, который имеет наибольший приоритет. Больший приоритет имеет прерывание с меньшим номером в таблице векторов прерываний.
Прерывания от 0 до 31 (самые нижние уровни) используются как прерывания внутренней аппаратуры (прерывания BIOS). Прерывания от 32 до 63 используются как прерывания MS-DOS. Все остальные прерывания применяются внешней аппаратурой, системными драйверами и прикладными программами.
Возможность прерывания программ — важное архитектурное свойство ЭВМ, позволяющее эффективно использовать производительность процессора при наличии нескольких протекающих параллельно во времени процессов, требующих в произвольные моменты времени управления и обслуживания со стороны процессора.
