Реферати українською » Информатика, программирование » Система команд. Структура слова команд. Синтаксис команд. Групи команд


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

Страница 1 из 3 | Следующая страница

Федеральне агентство за освітою

>Пензенский державний університет

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

>Реферат на задану тему

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

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

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

Група:

Студент:

Пенза 2006 р.


Зміст

Запровадження

Команди обчислення і пересилки

Управління послідовністю виконання програми

Команди безпосередньої пересилки даних

Укладання

Список використаних джерел


Запровадження

У цьому рефераті докладно описуєтьсяADSP-2106х, розглядаються типи команд, синтаксисассемблера і код операції, яким транслюється команда. Багато типи команд мають полі визначення операції обчислення. Це операції, що використовуютьALU,умножитель чи пристрій зсуву. (Зауважимо, що пересилання даних між регістрамиMR ірегистровим файлом розглядаються як операціїумножителя)

Команди групуються щодо чотирьох категоріям:

Команди обчислення і пересилки чи модифікації, які визначають паралельне виконання операції обчислення з одного чи двомапересилками даних чи з модифікацією індексного регістру.

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

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

IV. Інші команди, такі як модифікація і перевірка біта, немає операції, і простий.

Команди нумеруються від 1 до 23. Деякі команди мають кілька синтаксичних форм, наприклад, команда четвертого типу має чотири різноманітні форми. При програмуванні номер команди до уваги береться, але відповідає коду операції,распознаваемому апаратуроюADSP-2106х. Чимало з подібних команд може бути умовними. Цим командам передує ">IF" плюс мнемоніка умови. У умовної команді виконання всієї команди полягає в заданому умови.


Команди обчислення і пересилки

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

>Синтаксис:

>compute,

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

>PM (>Ic,Md) =>dreg2dreg2=PM (>Ic,Md)

Функція:

Паралельний доступом до пам'яті даних, і пам'яті програми зрегистрового файла. Певні регістри I йдуть на адресації пам'яті даних, і пам'яті програми. Значення Iпоет-модифицируется й обновляється значенням певного регістру М.Предмодификация адреси зі зміщенням не підтримується.

Приклади:

>R7=BSETR6BYRO, 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 MSMRF=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;

>IFNOT SVF8=CLIPF2BYF14,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,<data6>)PM (>Ic,<data6>)

DM (<>data6>, Ia)PM (<>data6>,Ic)

>dreg = DM (>Ia,<data6>)PM (>Ic,<data6>)

>dreg = DM (<>data6>, Ia)PM (<>data6>,Ic)

Функція:

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

Приклади:

>IFFLAG0_INF1=F15*F12,F11=PM (110,40);R12=R3ANDRl, 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;

Функція:

Передача даних із одного універсального регістру на другий. Якщо операція обчислення визначено, вона виконується паралельно з доступом до даних. Якщо умова визначено, воно впливає виконання всієї команди.

Приклади:

>IFTFMRF=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

Оіл 1 >SourceUREG >COND >DestUREG

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, і команди виконується завжди.

>SourceUREG вказує універсальний регістр - джерело даних.DestUREG вказує універсальний регістр - адресат. Поле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 GTR2=R6LSHIFTBY 30, DM (>14,M4) =>R0;IFNOTSZR3=FEXTRlBY 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

(>Ia,Mb) (>Ic,Md)

Функція:

Оновлення певного регістру I значенням певного регістру М. Якщо операція обчислення визначено, вона виконується паралельно з доступом до даних. Якщо визначено умова, воно впливає виконання всієї команди. Зауваження: див. розділ 4.4.1 "Обмеження передати даних із використанням регістрівDAG" у розділі 4 Передача даних. Приклади: >IFNOTFLAG2_INR4=R6*R12 (>SUF),MODIFY (>110,M8);IFNOTLCEMODIFY (>13,Ml);

Код операції: (з доступом до даних)

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 00100 G >COND I М

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

 

>COMPUTE

>COND визначає умова для перевірки. Якщо команді не визначено ніякого умови, тоCOND є умовоюTRUE, і команди виконується завжди. G вибираєDAG1 чиDAG2.1 визначає індексний регістр, М - регістр модифікації. ПолеCOMPUTE визначає обчислювальну операцію, виконувану паралельно з доступом до даних. Якщо команді не визначено ніякої операції обчислення, це поліNOР.


Управління послідовністю виконання програми

Прямий (або відносно PC)переход/визов, необов'язкове умова

Функція:

Перехід чи виклик за певним адресою чи адресою щодо PC. Адреса щодо PC - це24-разрядное число якдвоичного доповнення.Модификатор команди DB вказує, що перехід затриманий; інакше - не затриманий. Якщо модифікатор переривання циклу (>LA) визначено до переходу, то дані беруться зстеков циклу і стека PC і під час переходу.МодификаторLA повинен застосовуватися лише у разі, якщо перехід виконується зарубіжних країн циклу. Якщо циклу немає або адресу переходу перебуває всередині циклу, то модифікаторLA ні використовуватися.

>Модификатор очищення переривання (CI) командиJUMP дозволяє повторно використовувати переривання під час його обробки. ЗазвичайADSP-2106x ігнорує і фіксує переривання, що відбувається повторно, коли програма його обробки вже виконується. КомандаJUMP (CI) повинна розміщатися всередині програми обробки переривання.JUMP (CI) очищає стан поточного переривання не маючи виходу з програми обробки переривання, зводячи програму обробки переривання до стандартноїподпрограмме - це дозволяє переривання статися знову у результаті будь-якого події чи завдання у системіADSP-2106x. КомандаJUMP (CI) зводить програму обробки переривання до стандартноїподпрограмме,обнуляя відповідний біт в регістрі фіксування переривання (>IRPTL) і регістрі покажчика маски переривання (>IMASKP). ПотімADSP-2106x дозволяє перериванню статися знову. Під час повернення з підпрограми, у яку було зведена програма обробки переривання командоюJUMP (CI), повинен використовуватися модифікатор (>LR) командиRTS (у разі, якщо переривання чинить упродовж двох останніх команд циклу).

Приклади:

>IFAVJUMP (PC,0X00А4);

>CALLinit (DB); (>init - це програмна мітка)

>JUMP (>PC,2) (>DB,CI); (очищення поточного переривання

для використання)

Код операції: (для прямого переходу)

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

000 00110 в А >COND >J CI
23 22 21 20 19
Страница 1 из 3 | Следующая страница

Схожі реферати:

Навігація