Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
rk_-_mobile.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
14.08 Mб
Скачать

2.Программы с разветвлениями

2.2. Организация разветвлений

Для организации разветвлений в систему команд процессора вводят специальные команды переходов.

а). Команда безусловного перехода (БП) – JMP.

Рис.10

По этой команде осуществляется безусловный переход на команду с адресом А.

СЧК := А.

б) Команды условных переходов (УП) –

В команде :

J – это команда перехода,

Ψ – признак перехода,

А – адрес перехода.

результат записывается в аккумулятор (АК), признаки параллельно записываются в специальный регистр признаков РП

АК

. . .

Результат

Признаки

N

Z

C

РП

Для каждого признака отводится 1 разряд регистра признаков. Все эти признаки по одноразрядным цепям выводятся из регистра признаков и подаются в устройство управления для их анализа и выполнения переходов.

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

КОП

Операция

Команда

Содержание

8

1000

Безусловный переход

JMP A

СЧК := А

9

1001

Условный переход по знаку N=1

JN A

IF N=1 THEN СЧК :=А

10

1010

Условный переход АК=0

JZ A

IF AK=0 THEN СЧК := А

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

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

Например:

INC Ak:=Ak+1

DEC Ak:=Ak-1

NO Ak:=

SQR Ak:=(Ak)²

Таким образом, если некоторая функция зависит только от одного аргумента, то её можно выполнить одной специальной командой, если этот аргумент (операнд) предварительно занести в Ak.

Например, функцию

y=a(a+1)²

можно реализовать одной командой. Пусть FY – есть код её операции. Тогда команда FX реализует:

FY Ak:=Ak·(Ak+1)²

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

Данное непосредственно находится в самой команде и распологается в её адресной части. Для отличия этой команды от команды с адресом, введём в изображение кодаоперации букву K (константа). Операция выполняется над содержимым Ak и данным D, записанным в команде. Например:

RDK D Ak:=D – непосредственная загрузка данного D в Ак

ADDK D Ak:=Ak+D

SUBK D Ak:=Ak-D

MULK D Ak:=Ak·D

Данные команды используются для загрузки констант в Ak (RDK D) или выполнения операций с содержимым Ak и константой D.

5.Прямая адр

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

Схема

6.Базовая адр. 7Адресация по счк

8.Косвенная адр

В команде указан адрес ОЗУ, где находится адрес данного. Признаками того, что данная команда является косвенной в изображении кода операции вводим знак @.

Например:

а) команда загрузки данного косвенная.

RD@ A Ak:=ОЗУ(ОЗУ(А))

В приведённой записи во внешних скобках указывается где находится адрес данного. Схема

WR@ A ОЗУ(ОЗУ(А)):=Ak

Рис.20

ADD@ A Ak:=Ak+ОЗУ(ОЗУ(А))

Точно также косвенную адресацию можно использовать и для других команд:

SUB@ A

MUL@ A

9.Специальная система команд

Для улучшения временных характеристик вычислителя можно ввести ряд специальных команд:

 Умножение на 2 можно выполнить путём сдвига данного влево на 1 разряд

AK L Ak:=L1(AK),

где L1 означает сдвиг влево (left) на 1 разряд, AK – аккумулятор.

 Деление на два можно выполнить путём сдвига данного вправо на 1 разряд:

AK R Ak:=R1(AK),

где R1 означает сдвиг вправо (right) на 1 разряд.

 Сложение с единицей можно реализовать командой инкрементор:

INC Ak:=Ak+1.

 Вычитание единицы реализуется командой декрементор:

DEC Ak:=Ak-1.

 Можно ввести и ряд других команд:

SQR – возведение в квадрат,

INC2 – сложение с 2,

SINтригонометрическая операция sin.

Следует заметить, что введение дополнительных команд требует дополнительного оборудования, но повышает производительность вычислителя. Поэтому выбор их должен быть обоснованным с точки зрения объёма оборудования и производительности вычислителя.

Выполнение каждой команды начинается с того, что она вначале извлекается из ОЗУ и передаётся в устройство управления (УУ). Этот процесс, в особенности, для длинных команд, которые хранятся в нескольких ячейках, занимает значительное время. Поэтому уменьшение числа обращений к ОЗУ может значительно повысить быстродействие вычислителя.

Если система команд определяет сложность арифметического устройства, то программа – быстродействие вычислителя (время решения задачи).

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]