Система команд. Структура слова команд. Синтаксис команд. Группы команд (48967)

Посмотреть архив целиком

Федеральное агентство по образованию

Пензенский государственный университет

Кафедра "Информационной безопасности систем и технологий"










Реферат на тему

Система команд. Структура слова команд.

Синтаксис команд. Группы команд”






Дисциплина: ЦиМПТ

Группа:

Студент:






Пенза 2006 г.


Содержание


Введение

Команды вычисления и пересылки

Управление последовательностью выполнения программы

Команды непосредственной пересылки данных

Заключение

Список использованных источников



Введение


В данном реферате подробно описывается ADSP-2106х, рассматриваются типы команд, синтаксис ассемблера и код операции, по которому транслируется команда. Многие типы команд имеют поле для определения операции вычисления. Это операции, которые используют ALU, умножитель или устройство сдвига. (Заметим, что пересылка данных между регистрами MR и регистровым файлом рассматриваются как операции умножителя)

Команды группируются по четырем категориям:

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

Команды управления последовательностью выполнения программы, которые определяют различные типы переходов, вызовов, возвратов и циклов. Некоторые из этих команд могут также содержать операцию вычисления и/или пересылки данных.

III. Команды пересылки данных, в которых непосредственное поле команды используется как операнд или для адресации.

IV. Прочие команды, такие как модификация и проверка бита, нет операции и простой.

Команды нумеруются от 1 до 23. Некоторые команды имеют несколько синтаксических форм, например, команда четвертого типа имеет четыре различные формы. При программировании номер команды не учитывается, но он соответствует коду операции, распознаваемому аппаратурой ADSP-2106х. Многие из команд могут быть условными. Этим командам предшествует "IF" плюс мнемоника условия. В условной команде выполнение всей команды основывается на заданном условии.


Команды вычисления и пересылки


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

Синтаксис:

compute,

DM (Ia,Mb) =dregl, dregl= DM (Ia,Mb)

PM (Ic,Md) =dreg2 dreg2=PM (Ic,Md)

Функция:

Параллельный доступ к памяти данных и памяти программы из регистрового файла. Определенные регистры I используются для адресации памяти данных и памяти программы. Значение I поет-модифицируется и обновляется значением определенного регистра М. Предмодификация адреса со смещением не поддерживается.

Примеры:

R7=BSET R6 BY RO, DM (10,M3) =R5, PM (111,M15) =R4; R8=DM (I4,M1), PM (I12,M12) =R0;

Код операции:


47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23


D



P

DM



PM

001

M

DMI

DMM

M

DREG

PMI

PMM

DREG


D



D





22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0


COMPUTE

Тип обращения (чтение или запись) выбирается DMD и PMD. Ячейка памяти регистрового файла определяется DMDREG и PMDREG. DMI и PMI определяют регистр I для памяти данных и памяти программы. DMM и РММ определяют регистр М, используемый для обновления регистра I. Поле COMPUTE определяет операцию вычисления, выполняемую параллельно с доступом к данным. Если операция вычисления не задана в команде, то это операция NO Р.

Операция вычисления, необязательное условие

Синтаксис:

IF условие вычисление;

Функция:

Условная команда вычисления. Команда выполняется, если при проверке определенное условие верно.

Примеры: IF MS MRF=0; F6= (F2+F3) /2;

Код операции: 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23


000

00001


COND



22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

COMPUTE

Если заданное полем COND условие верно, то определенная в поле COMPUTE операция выполняется. Если условие в команде не определено, то COND является условием TRUE, и вычисление выполняется всегда.

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

Функция:

Обращения между памятью данных или памятью программы и универсальным регистром. Определенные регистры I используются для адресации памяти данных и памяти программы. Значение I либо пред-модифицируется (М, I) либо пост-модифицируется (I, М) значением определенного регистра М. При пост-модификации значение регистра I обновляется модифицированным значением. Если определена операция вычисления, то она выполняется параллельно с доступом к данным. Если условие определено, то оно влияет на выполнение всей команды.

Замечание:

Универсальный регистр (ureg) может находиться не в том же самом DAG (т.е. DAG1 или DAG2), что и la/Mb или Ic/Md.

Примеры:

R6=R3-R11, DM (IO,M1) =ASTAT;

IF NOT SV F8=CLIP F2 BY F14, PX=PM (112,M12);

Код операции:


47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23

010

Т

I

м

COND

G

D

UREG

22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0


COMPUTE

COND определяет условие для проверки. Если условие в команде не определено, то COND является условием TRUE, и команда выполняется всегда.

Тип доступа (чтение или запись) выбирается D. G выбирает память данных или память программы. UREG определяет универсальный регистр. I определяет индексный регистр I, М - регистр модификации М. U выбирает либо пред-модификацию без обновления либо пост-модификацию с обновлением. Поле COMPUTE определяет вычислительную операцию, выполняемую параллельно с доступом к данным. Если в команде не определено никакой операции вычисления, то это поле NOR

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

Синтаксис:

DM (Ia,) PM (Ic,)

DM (, Ia) PM (, Ic)

dreg = DM (Ia,) PM (Ic,)

dreg = DM (, Ia) PM (, Ic)

Функция:

Обращения между памятью данных или памятью программы и регистровым файлом. Определенные регистры I используются для адресации памяти данных и памяти программы. Значение I либо пред-модифицируется (data, I), либо поет-модифицируется (I, data) непосредственным значением данных. При пост-модификации регистр I обновляется модифицированным значением. Если определена операция вычисления, то она выполняется параллельно с доступом к данным. Если условие определено, то оно влияет на выполнение всей команды.

Примеры:

IF FLAG0_IN F1=F15*F12, F11=PM (110,40); R12=R3 AND Rl, DM (6, II) =R6;

Код операции:


47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23

011

0

I

G

D

и

COND

DATA

DREG

22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0


COMPUTE

COND определяет условие для проверки. Если условие в команде не определено, то COND является условием TRUE, и команда выполняется всегда.

D выбирает тип обращения (чтение или запись). G выбирает память данных или память программ. DREG определяет регистр регистрового файла. I определяет индексный регистр I. DATA определяет 6-разрядное значение модификации в виде двоичного дополнения. U определяет либо пред-модификацию без обновления, либо пост-модификацию с обновлением. Поле COMPUTE определяет вычислительную операцию, выполняемую параллельно с доступом к данным. Если в команде не определено никакой операции вычисления, то это поле NOR

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

Синтаксис:

IF условие вычисление, uregl=ureg2;

Функция:

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

Примеры:

IF TF MRF=R2*R6 (SSFR), M4=R0; LCNTR=L7;

Код операции:


47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23

Oil

1

Source UREG

COND

Dest UREG

22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0


COMPUTE

COND определяет условие для проверки. Если никакого условия в команде не определено, то COND является условием TRUE, и команда выполняется всегда.

Source UREG указывает универсальный регистр - источник данных. Dest UREG указывает универсальный регистр - адресат. Поле COMPUTE определяет операцию вычисления, выполняемую параллельно с доступом к данным. Если в команде не определено никакой операции вычисления, то это поле NOP.


Случайные файлы

Файл
23252-1.rtf
1481.rtf
85880.rtf
6 punkt.doc
32681.rtf




Чтобы не видеть здесь видео-рекламу достаточно стать зарегистрированным пользователем.
Чтобы не видеть никакую рекламу на сайте, нужно стать VIP-пользователем.
Это можно сделать совершенно бесплатно. Читайте подробности тут.