Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЭВМ и ПУ. Лекция 05 0

.pdf
Скачиваний:
17
Добавлен:
06.03.2016
Размер:
588.28 Кб
Скачать

 

 

 

Начало

 

 

 

 

 

 

Счет

 

Счет или ожидание

 

Ожидание

 

 

 

 

 

 

 

 

 

 

Запрос прерывания

 

Есть

Есть

 

Запрос прерывания

 

 

 

 

 

 

 

 

t1

 

Нет

 

 

 

 

 

Нет

 

 

 

 

 

 

 

 

 

 

 

Выборка команды. Формирование ад-

 

 

 

К обработке запросов прерывания

 

реса следующей команды в СчК

 

 

 

 

 

 

 

 

 

 

 

 

Анализ кода операции в команде

 

 

 

 

 

 

Основные команды

Команды переда-

Систем-

 

Ввода-вывода

t2

Формирование исполни-

 

чи управления

Изменение

Формирование номера

 

тельных адресов операндов

 

 

 

канала, подканала и

 

 

 

 

Нет

состояния

 

 

 

t3

Выборка операндов из памя-

Условие перехо-

процессо-

 

 

 

 

 

да выполняется

 

 

Канал и ПУ свободны

Нет

 

Выполнение

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t4

Формирование признака

 

Да

 

 

 

Да

 

 

 

Передача адреса

 

 

 

 

 

 

 

 

Передача в канал

 

 

 

результата

 

 

Перевод процессора в

 

перехода в СчК

 

 

 

 

 

 

кода операции вво-

состояние «Ожида-

 

 

 

 

 

 

t5

Запоминание результата

 

 

 

 

да-вывода и номера

 

ние»

 

 

 

 

 

 

 

 

Рис 3.15. Рабочий цикл процессора

 

 

 

21

На схеме показаны варианты рабочего цикла для четырех групп команд: основных (арифметические, логические и пересылочные операции); передачи управления; ввода-вывода; системных (устанавливающих состояние процессора, маску прерывания, слово состояния программы и др.)

Рабочий цикл начинается с распознавания состояния процессора – «счет» или «ожидание». Далее производится проверка наличия немаскированных прерываний.

Всостоянии «ожидание» никакие программы не выполняются – процессор ждет поступления прерывания, после чего управление передается прерывающей программе, переводящей процессор в состояние «счет».

Всостоянии «счет» при наличии немаскированных прерываний происходит выход из нормального рабочего цикла и переход к процедуре обработки запросов

прерывания.

При отсутствии прерываний в состоянии «счет» последовательно выполняются этапы рабочего цикла: выборка очередной команды и определение по коду операции ее группы, подготовка операндов (формирование исполнительных адресов и выборка операндов из памяти), обработка операндов в АЛУ и запоминание результата.

На этапе выборки очередной команды образуется согласно естественному порядку адрес следующей за ней команды (продвинутый адрес), при этом счетчик команд инкрементируется.

В процессе выполнения заданной командой операции формируется признак результата операции, используемый командами условного перехода при организации ветвлений в программах.

Указанная выше последовательность составляет основной вариант рабочего цикла, реализуемый при выполнении основных команд.

При выполнении команд передачи управления проверяется заданное условие. Если условие не выполняется, то следующую команду указывает продвинутый адрес, установленный ранее в СчК. Если условие выполняется, то в СчК передается адрес, заданный командой передачи управления.

Команды ввода-вывода инициируют в канале операцию обмена информацией между ядром ЭВМ (основной памятью) и периферийным устройством.

Системные команды осуществляют переключения состояния процессора (программы) путем загрузки нового слова в регистр состояния процессора.

Основные этапы выполнения прерываний:

1.Запоминание состояния прерываемой программы.

2.Определение адреса подпрограммы-обработчика прерывания (вектора прерывания).

3.Переход к выполнению подпрограммы обработки прерывания.

4.Восстановление состояния прерванной программы и возврат к ней.

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

22

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

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

Характеристики системы прерываний:

1.Общее число возможных запросов.

2.Число уровней или классов прерываний.

3.Глубина прерываний – максимальное количество запросов, которые могут прерывать друг друга.

4.Время реакции системы прерываний – время от формирования запроса до начала выполнения подпрограммы обслуживания прерывания.

5.Эффективность системы прерываний – отношение времени выполнения п/п обработчика прерывания к общему времени, затрачиваемому на прерывание (складывается из времени реакции, времени выполнения п/п обработчика и времени восстановления).

6.Используемая система приоритетов (количество маскируемых и немаскируемых прерываний, способ изменения приоритетов и т.д.)

23

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

Если в процессе работы команды, обрабатываемые конвейером, не противоречат друг другу, и одна не зависит от результата другой, то такое устройство (ядро) может осуществить параллельное выполнение команд.

В более поздних системах, таких как Эльбрус-3 и Itanium, используется статпланирование, то есть параллельные инструкции объединяются компилятором в длинную команду, в которой все инструкции заведомо параллельные (архитектура

VLIW).

все модули исполнения в нём были конвейеризованы, как в современных суперскалярных микропроцессорах.

переименование регистров и конвейеризацию исполнительных устройств

Ускорение вычислений

В суперскалярных вычислительных машинах используется ряд методов для ускорения вычислений, характерных, прежде всего, для них, однако такие методики могут использоваться и в других типах архитектур:

Внеочередное исполнение

Переименование регистров

Объединение нескольких команд в одну(архитектура VLIW)

Также используются общие методики увеличения производительности, при-

меняемые и в других типах вычислительных машин:

Предсказатель переходов

Кэш

Конвейер — используется во всех современных суперскалярах

24