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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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



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

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

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

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

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), следующие за ней команды будут блокироваться – блокировка конвейера.

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

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

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

 

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

1)
 
 


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

 

ОП

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

 

РАП = РК (Аi)

РЧП = Чт (РАП)

РА = РЧП

 

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

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

 
 

 


 

операнд АЛУ

 

РА = РК (Аi)

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

 

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

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

 

 
 


ОП

 

 

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

 

операнд АЛУ

 

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

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

РАП = РЧП

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

РА = РЧП

 

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

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

 

 

ОП

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

 

 

 

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

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

 

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

 

ОП

Чт

 

РК

 

 

+n

 

Чт

Зп

 

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

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

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

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

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

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

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

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

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

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

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

РА = РЧРП

РАРП = РК (R2)

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

РВ = РЧРП

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

РС = РА оп РВ

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

РАРП = РК (R1)

РЧРП = РС

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

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

Ai

1.


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

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

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

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

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

ИА = (Bi) + Di.

 

 

Di

 

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

 

 

АЛУ

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

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

 

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

Ai


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

(Xi)индекс.

Diсмещение.

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

ИА = (Xi) + Di.

 

Р

 

Di

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

 

 

АЛУ

 

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

Ai

 
 


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

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

Diсмещение.

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

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

 

 

 

Di

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

 

Xi (Xi)

 



Поделиться:


Последнее изменение этой страницы: 2016-08-10; просмотров: 404; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.131.110.169 (0.02 с.)