Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МПСиС / shpory.docx
Скачиваний:
46
Добавлен:
18.02.2017
Размер:
74.06 Кб
Скачать

88888_Система команд и способы адресации операндов. Конвейерный

Команда МП содержит два поля: код операции и код адреса (адреса операндов и адрес, по которому следует поместить результат).

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

· Прямая

Операнд выбирают из ячейки памяти, адрес которой указан в команде.

· Регистровая

Операнд выбирают из регистра, номер или имя которого указан в команде.

· Косвенно-регистровая

Операнд выбирают из ячейки памяти, адрес которой содержится в регистре, указанном в команде.

· Косвенно-регистровая со смещением

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

· Непосредственная Операнд содержится непосредственно в поступившей команде.

Команды могут быть, как и безадресные, так и одно-, двух-, трехадресные.

Виды команд:

· Пересылки: MOV

· Арифметические: ADD, SUB, MUL, DIV

· Логические: AND, OR, NOT, XOR

· Сдвига: SHL – логический сдвиг влево, SHR, SAL – арифметический сдвиг влево, SAR

· Сравнения: СМР – вычитание двух указанных операндов, при этом результат не сохраняется, и операнды не изменяются, результатом операции является изменение

содержимого регистра состояний

· Управления программой: CALL – вызов подпрограммы, JMP – переход по адресу, JNE – переход, если операнды не равны, флаг нулевого результата z=0

· Управления процессором: HALT – приводит к остановке выполняемую программу, RST – команда сброса

Параллелизм – совмещение операций во времени достигается параллельной работой аппаратуры.

Конвейеризация – параллельная работа блоков, выполняющих различные части задачи. В общем случае подразумевается разделение операций на более мелкие части, называемые ступенями конвейера, и выделение аппаратуры под выполнение каждой этой части. Таким образом, образуется конвейер, в котором команды и данные передаются от ступени к ступени. При этом появляется возможность совмещения во времени этапов различных команд. Конвейерный принцип повышает пропускающую способность процессора, но не уменьшает время выполнения

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

Пример разбиения команды на ступени.

· выборка команды

· дешифрация команды

· формирование адреса операнда

· получение операнда

· выполнение операции

· размещение результата

99999_Структурные конфликты и способы их минимизации. Конфликты по данным,

Существует 3 класса конфликтов:

· Структурный - конфликт по ресурсам

Совмещенный режим выполнения команд требует конвейеризацию операционных устройств и дублирование ресурсов системы для разрешения всех возможных комбинаций команд в конвейере. Примером является вычислительная система с наличием ОУ, выполняющая свою задачу за несколько тактов конвейера. В этом случае команды и данные не могут поступать на вход устройства на каждом такте. Бывает недостаточно просто дублировать ресурсы: например в

системе есть один порт для записи в память. Сложилась ситуация, на одном и том же такте двум командам надо произвести запись в память.

· По данным – выполнение команды зависит от результата предыдущей

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

чтение после записи (RAW), запись после чтения (WAR), запись после записи (WAW). RAW можно разрешить следующим образом: выход АЛУ заводится на вход, минуя другие регистры

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

· По управлению - возникают при выполнении команд условного перехода

Пример конфликта по данным, который нельзя решить оптимизацией: A=B+C

Выборка команды; дешифрация команды; формирование адреса операнда; получение операнда; выполнение операции; размещение результата. Хотя если бы была следующая последовательность операций: A=B+C; D=E-F, то

_ 66666_Регистровое АЛУ однокристального типа. Состав и назначение сигналов управления

управляет режимом регистра А(C): 1 – запись, 0 - хранение. Пара – хранение;

0 1 – сдвиг вправо; 1 0 – сдвиг влево; 1 1 – запись. R /W : 1 – чтение, 0 – запись. А – сигнал

управляющий мультиплексором: 0 – БРОН, 1 – ВУ. P – управление записью в триггер 1 T . 1 L

выбор либо 0 P при 0, либо 1 T при 1. При 2 L выбирается, что будет записано в регистр 2 T , 0 –

старший разряд регистра B,1 - младший. С помощью 3 L задается источник данных для регистра B

при сдвиге, 0 выбирается IS, при 1 на вход регистра B подается содержимое регистра 2 T . 4 L

управляет записью в регистр 2 T .

_

· cдвиг влево содержимого РгB на один разряд с запоминанием результата сдвига и

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

· сложение двух операндов А и В, младшие части которых находятся в РОН с адресами А1 и

А2, а старшая части по А3 и А4 соответственно. Результат поместить в А1 и А2

Соседние файлы в папке МПСиС