Поделиться Поделиться

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


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

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

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

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

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

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

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

Основные стадии выполнения команд - Инвестирование - 1

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

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

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

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

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

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

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

 
  Основные стадии выполнения команд - Инвестирование - 2


R1 + R2 R1

R3 + R1 R3

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

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

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

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

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

1)

 
  Основные стадии выполнения команд - Инвестирование - 3


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

Основные стадии выполнения команд - Инвестирование - 4

ОП

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

РАП = РК (Аi)

РЧП = Чт (РАП)

РА = РЧП

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

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

 
  Основные стадии выполнения команд - Инвестирование - 5


операнд АЛУ

РА = РК (Аi)

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

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

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

 
  Основные стадии выполнения команд - Инвестирование - 6


ОП

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

операнд АЛУ

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

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

РАП = РЧП

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

РА = РЧП

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

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

Основные стадии выполнения команд - Инвестирование - 7

ОП

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

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

Микропрограмма выполнения двухадресной команды формата регистр-регистр (R-R). Структура операционной части ЦП

Запись результата производится на место первого операнда.

Основные стадии выполнения команд - Инвестирование - 8 ОП

Чт

РК

+n

Чт

Зп

РАРП– регистр адреса регистровой памяти

РЧРП– регистр числа регистровой памяти

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

РАП = СчК – адрес следующей выполняемой команды помещаем в память.

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

РК = РЧП – передали команду на РК.

СчК = СчК + n – (n – это длина в байтах текущей выполняемой команды).

2 этап . Дешифрация.

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

РАРП = РК (R1) – подали номер РОНа, где хранится первый операнд.

РЧРП = Чт (РАРП) – выбрали первый операнд.

РА = РЧРП

РАРП = РК (R2)

РЧРП = Чт (РАРП) – выбрали второй операнд.

РВ = РЧРП

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

РС = РА оп РВ

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

РАРП = РК (R1)

РЧРП = РС

Зп (РАРП) = РЧРП – записали результат в R1.

Базовая адресация

Ai

Основные стадии выполнения команд - Инвестирование - 9

1.


В адресном поле Аi выделяется 2 подполя: Вi и Di.

Biномер базового регистра или адрес ячейки памяти, где хранится база.

(Bi)база; наиболее часто база хранится в РОНах.

Diсмещение, выбирается непосредственно из команды.

Исполнительный адрес формируется как сумма базы и смещения:

ИА = (Bi) + Di .

Основные стадии выполнения команд - Инвестирование - 10

Di

Bi (Bi) ИА операнд

АЛУ

производит только сложение

и вычисляет адрес (индексное АЛУ)

Индексная адресация

Ai

Основные стадии выполнения команд - Инвестирование - 11


Xiномер индексного регистра.

(Xi)индекс.

Diсмещение.

Исполнительный адрес формируется как сумма индекса и смещения:

ИА = (Xi) + Di .

Основные стадии выполнения команд - Инвестирование - 12

Р

Di

Xi (Xi) ИА операнд

АЛУ

Базово-индексная адресация

Ai

 
  Основные стадии выполнения команд - Инвестирование - 13


Xiномер индексного регистра.

Biномер базового регистра.

Diсмещение.

Исполнительный адрес формируется как сумма индекса, базы и смещения:

ИА = (Xi) + (Bi) + Di.

Основные стадии выполнения команд - Инвестирование - 14

Основные стадии выполнения команд - Инвестирование - 15

Di

Bi (Bi) ИА операнд

Xi (Xi)

← Предыдущая страница | Следующая страница →