Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методический материал по ЭВМ.doc
Скачиваний:
80
Добавлен:
22.09.2019
Размер:
2.38 Mб
Скачать

3.4 Основные стадии выполнения команд

1 этап: Выбор машинной команды из памяти.

2 этап: Дешифрация кода операции.

3 этап: Формирование исполнительного адреса и выбор операндов.

4 этап: Выполнение операций в АЛУ.

5 этап: Запись результата.

3.5 Конвейеризация

Конвейерная обработка команд:

Конвейерная обработка на уровне команд:

Каждый этап машинной команды обрабатывается на отдельном блоке. На 1-м такте 1-я команда подается на первый блок, то есть реализует 1-й этап (выборка команды из памяти). Во 2-м такте 1-я команда переходит на 2-й этап, а 2-я команда поступает на первый этап. В 3-ем такте, 1-я команда на 3 этапе, 2-я команда на 2-ом этапе, 3-я команда на 1-ом этапе. Т.е. конвейер команд аналогичен технологическому конвейеру.

За 8 тактов при последовательной обработке команд, обрабатывается 2 команды, а при конвейерной – 5 команд.

В случае отсутствия команд перехода и информационных конфликтов – повышение производительности!

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

Информационные конфликты:

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

R1 + R2 R1

R3 + R1 R3

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

3.6 Способы адресации

Адресный код команды в полях Аi в большинстве случаев не совпадает с исполнительным адресом.

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

1.Прямая адресация

В адресном поле Аi хранится непосредственно исполнительный адрес.

ОП

адрес операнд АЛУ

РАП = РК (Аi)

РЧП = Чт (РАП)

РА = РЧП

2.Непосредственная адресация

В адресном поле команды хранится операнд.

операнд АЛУ

РА = РК (Аi)

При непосредственной адресации можно только считывать операнд, но нельзя записывать результат на место Аi

3.Косвенная адресация

В адресном поле команды хранится адрес ячейки ОП, по которому находится адрес операнда (то есть адрес адреса).

ОП

адрес операнда

операнд АЛУ

РАП = РК (Аi) – подаём в память адрес адреса операнда.

РЧП = Чт (РАП) – получили адрес операнда.

РАП = РЧП

РЧП = Чт (РАП) – получили операнд.

РА = РЧП

4.Регистровая адресация

В адресном поле команды указывается номер РОНа, в котором хранится операнд.

ОП

Номер РОНа операнд АЛУ

РОНы используются для сокращения времени доступа за операндами.