- •Лекция 6 Внутренняя организация процессора Реализация принципов фон Неймана в эвм.
- •Структура процессора
- •Устройство управления.
- •Регистры процессора.
- •Структура команды процессора.
- •Понятие рабочего цикла, рабочего такта.
- •Принципы распараллеливания операций и построения конвейерных структур.
- •Классификация параллельных вс
- •Системы команд и классы процессоров: cisc, risc, misc, vlim.
Понятие рабочего цикла, рабочего такта.
Функционирование процессоров в основном состоит из повторяющихся рабочих циклов, каждый из которых соответствует выполнению одной команды программы. Завершив рабочий цикл для текущей команды, процессор переходит к выполнению рабочего цикла для следующей команды программы. В общем виде команды, выполняемые процессором, имеют следующий формат:
Выделяют четыре группы команд: основные (арифметические, логические и пересылочные операции); передачи управления; ввода-вывода; системные (устанавливающие состояние процессора).
Рабочий цикл процессора.
Во время выполнения текущей программы, внутри ЭВМ и в связанной с ней внешней среде (например, в технологическом процессе, управляемом ЭВМ) могут возникать события, требующие немедленной реакции на них со стороны ЭВМ.
Реакция состоит в том, что ЭВМ прерывает обработку текущей программы и переходит к выполнению некоторой подпрограммы, специально предназначенной для данного события. По завершении указанной подпрограммы ЭВМ возвращается к выполнению прерванной программы.
Прерывание программы
Начальный адрес прерывающей программы называется вектором прерывания. В общем случае, каждому запросу прерывания соответствует свой вектор прерывания, способный инициировать выполнение соответствующей прерывающей программы. Векторы прерывания обычно находятся в специально выделенных фиксированных ячейках памяти – таблице векторов прерывания. Таблица векторов прерываний располагается в ОП по нулевому адресу. Номер прерывания передается контроллером прерывания в ЦП в виде 8-разрядного числа.
В
таблице векторов прерываний для каждого
прерывания всегда указывается адрес
начала сегмента кода (этот адрес
представляет собой 16-тиразрядное число),
который будет записан в регистре CS
процессора, и смещение первой команды
программы-обработчика прерывания
относительно начала сегмента кода этой
программы-обработчика. Это смещение
тоже представляет собой 16-тиразрядное
число и будет записано в регистре IP
процессора. Таким образом, таблица
векторов прерываний состоит из 4-байтных
элементов, соответствующих каждому
типу прерывания. Соответственно, в ОП
эта таблица будет занимать 28
4
байта = 1024 байта.
Когда контроллер прерываний посылает в ЦП сигнал (электрический) через вывод INTR, он должно также поместить тип прерывания в виде 8-разрядного числа на системную магистраль для передачи в ЦП. Процессор, умножив это число на 4, определяет адрес используемого вектора прерывания и перейдет на обслуживание прерывания.
Обслуживание состоит в том, что ЦП, обнаружив сигнал прерывания, помещает в сегмент стека регистр флагов, регистр программного сегмента (CS) и указатель команд (IP) и блокирует прием следующих прерываний. Затем ЦП с помощью 8-разрядного числа, установленного на системной магистрали контроллером прерываний, извлекает из таблицы векторов адрес обработчика и возобновляет выполнение с этого адреса. По завершении выполнения подпрограммы обработчика прерывания, ЦП восстанавливает из стека содержимое регистров CS, IP и содержимое регистра флагов, вследствие чего возобновляется выполнение прерванной программы.
При наличии нескольких источников запросов прерывания определяется тот, который имеет наибольший приоритет. Больший приоритет имеет прерывание с меньшим номером в таблице векторов прерываний.
Прерывания от 0 до 31 (самые нижние уровни) используются как прерывания внутренней аппаратуры (прерывания BIOS). Прерывания от 32 до 63 используются как прерывания MS-DOS. Все остальные прерывания применяются внешней аппаратурой, системными драйверами и прикладными программами.
Возможность прерывания программ — важное архитектурное свойство ЭВМ, позволяющее эффективно использовать производительность процессора при наличии нескольких протекающих параллельно во времени процессов, требующих в произвольные моменты времени управления и обслуживания со стороны процессора.
