48967 (666127)
Текст из файла
Федеральное агентство по образованию
Пензенский государственный университет
Кафедра "Информационной безопасности систем и технологий"
Реферат на тему
“ Система команд. Структура слова команд.
Синтаксис команд. Группы команд”
Дисциплина: ЦиМПТ
Группа:
Студент:
Пенза 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.
Операция непосредственного сдвига, необязательное условие, необязательная пересылка данных между памятью данных или памятью программы и регистровым файлом
Синтаксис:
a. IF условие Непосредственный сдвиг
DM (Ia,Mb) PM (Ic,Md) = dreg;
b. IF условие Непосредственный сдвиг
dreg = DM (Ia,Mb) PM (Ic,Md)
Функция:
Операция непосредственного сдвига - это операция устройства сдвига. Y-операнд - это непосредственные данные (одно 8-разрядное число или два 6-разрядных числа, в зависимости от операции). Х-операнд и результат являются регистрами регистрового файла.
Если определен доступ из регистрового файла к памяти данных или памяти программы, то он выполняется параллельно с операцией устройства сдвига. Регистр I используется для адресации памяти данных и памяти программы. Значение I поет-модифицируется значением определенного регистра М и обновляется модифицированным значением. Если условие определено, то оно влияет на выполнение всей команды.
Замечание: см. раздел 4.4.1 "Ограничения на передачу данных с использованием регистров DAG" в главе 4 Передача данных.
Примеры:
IF GT R2=R6 LSHIFT BY 30, DM (14,M4) =R0; IF NOT SZ R3=FEXT Rl BY 8: 4;
Код операции: (с доступом к данным)
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
100 | 0 | I | м | COND | G | D | DATAEX | DREG |
22 21 20 19 18 17 16 15 14 13 1211 10 9 8 7 6 5 4 3 2 1 0
0 | SHIFTOP | DATA | RN | RX |
Код операции: (без доступа к данным)
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 | 00010 | COND | DATAEX |
22 21 20 19 18 17 16 15 14 13 1211 10 9 8 7 6 5 4 3 2 1 0
0 | SHIFTOP | DATA | RN | RX |
COND определяет условие для проверки. Если в команде не определено никакого условия, то COND является условием TRUE, и команда выполняется всегда.
SHIFTOP определяет операцию устройства сдвига. Поле DATA определяет 8-разрядное непосредственное значение сдвига. Для операции устройства сдвига, требующей двух 6-разрядных чисел (значение сдвига и значение длины), поле DATAEX добавляет 4 старших разряда к полю DATA, образуя 12-разрядное непосредственное значение. Шесть младших разрядов являются значением сдвига, шесть старших - значением длины. Если определен доступ к памяти, то D выбирает тип доступа (чтение или запись). G выбирает память данных или память программы. DREG определяет регистр регистрового файла. I определяет индексный регистр I, который поет-модифицируется и обновляется значением регистра М, определяемым полем М. Поле COMPUTE определяет вычислительную операцию, выполняемую параллельно с доступом к данным. Если в команде не определено никакой операции вычисления, то это поле NOR. Модификация индексного регистра, необязательное условие, необязательная операция вычисления.
Синтаксис:
IF условие вычисление, MODIFY
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.