Команды арифметических операций — КиберПедия 

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

Команды арифметических операций

2017-10-16 419
Команды арифметических операций 0.00 из 5.00 0 оценок
Заказать работу

При записи функциональных схем алгоритмов по умолчанию будем считать, что ЭВМ имеет шинную организацию (рис.25).

КОП А1

Одноадресные команды имеют следующий формат:

где А1 - адрес первого операнда, второй операнд находится в регистре процессора, называемом аккумулятором - АК.

Правила выполнения команд арифметических операций можно сформулировать следующим образом: обратиться к ОЗУ по адресу, записанному на СЧАК, считать команду и переслать ее на регистр команд; расшифровать код операции; выбрать из ОЗУ операнд по адресу А1 и передать его по шинам данных (ШД) на буферный регистр АЛУ - Р1алу; выполнить арифметическую операцию (допустим - умножение) и разместить результат на АК. В дальнейшем будем пользоваться сокращенной записью в следующей форме: АК:= АК*ОЗУ[А1].

Функциональная схема алгоритма представлена на рис.27.

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

Далее приведена вся последовательность микроопераций по выборке и выполнению команды. Процедуры, выполняемые в АЛУ, в алгоритме заменены ждущей вершиной. Процедура передачи слова через шину записывается как две одновременно выполняемые микрооперации, например, ШД:=РС и РК:=ШД.

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

Первый операнд принимается из ОЗУ. Второй – из регистра АК, куда он передается, как результат предыдущей операции, или засылается по команде обмена. Результат фиксируется на выходном регистре АЛУ – РРалу, а затем пересылается на АК. Цикл команды завершается формированием на программном счетчике адреса следующей команды программы. Как правило, эта процедура выполняется в середине цикла и совмещается с приемом команды на РК. В дальнейшем при написании функциональных схем алгоритмов будем иметь это в виду.

Функциональная схема алгоритма позволяет построить структурную электрическую схему центральной части ЭВМ для реализации данной команды (рис.28).

В дальнейшем с целью сокращения записи алгоритмов процедуры передачи слова через шину будем записывать как один оператор (РАозу:=СЧАК) вместо двух операторов (ША:=СЧАК и РАозу:=ША). Аналогичные правила будем распространять и на передачи через шину данных.

Двухадресные команды имеют следующий формат:

 

КОП А1 А2

 

где КОП – код операции, А1 - адрес первого операнда и адрес результата, А2 – адрес второго операнда. Правило выполнения команды можно записать:

ОЗУ[А1]:=ОЗУ[А1]*ОЗУ[A2]

 
 

 
 

Рис.28

 

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

Ниже приведена (рис.30) структурная схема ядра ЭВМ, построенная по ФСА цикла исполнения 2-х адресной команды.

Трехадресные команды имеют следующий формат:

 

КОП А1 А2 А3

 

где А1- адрес первого операнда, А2- адрес второго операнда, А3-адрес результата.

 
 

 
 

 

Функциональная схема алгоритма трехадресной команды отличается от функциональной схемы алгоритма двухадресной только содержанием вершины, в которой процедуры размещения результата записываются следующим образом: РСозу:=РР; РАозу:=А3; ЗАПозу. На рис. 30 пунктиром указаны дополнительные элементы и связи, соответствующие алгоритму выполнения 3-х адресной команды.

 

Команды логических операций

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

Если в команде логической операции результат не записывается в память, например, в команде сравнения, по результату операции осуществляется только установка флагов в АЛУ.

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

 

Команды сдвига

 
 

Цель команды осуществить сдвиг слова вправо или влево на заданное количество разрядов. Как правило, направление сдвига указывается в коде операции команды, а для указания количества разрядов, на которое происходит сдвиг, и слов, которое должно сдвигаться, выделяются 2 адресных кода. Формат команды сдвига можно представить:

 

КОП А1 n

 

где А1- адрес сдвигаемого операнда;

n - количество разрядов, на которое должно быть сдвинуто слово.

Функциональная схема алгоритма команды сдвига вправо на n разрядов представлена на рис.31 (процедуры выборки команд здесь и далее опускаются).

 

 
 

Рис.32

 

Операнд засылается на Р1 арифметико-логического устройства, где производится сдвиг. Количество тактов сдвига фиксируется на СЧсдв. При каждом сдвиге комбинационная схема КС (рис.32) анализирует его значение на равенство нулю. При СЧсдв=0 сдвиг слова на Р1 завершается и полученный результат записывается в ОЗУ по адресу А1.

 


Поделиться с друзьями:

Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...

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

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

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



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.015 с.