Лекция № 4. Продолжение темы: «ЦПОС со стандартной архитектурой», страница 5

LOOP:

ADD      .L1 A0, A3, A0

ADD     .L2 B1, B7, B1

MPYHL.M1X A2,B2A3

MPYLH.M2XA2,B2,B7

LDW    .D2 *B4++,B2

LDW    .D1 *A7--,A2

[B0]     .ADD.S2 –1,B0,B0

[B0]     B .S1 LOOP

Данными командами за один такт в МП выполняются следующие действия:

-  вычисляются два произведения 16 разрядных чисел, результаты в регистрах А3, В7;

-  сомножители для произведения формируются из старших А2(Н) , В2(Н) и младших В2(L), А2 (L) слов содержимого регистров А2, В2;

-  результаты перемножения будут накапливаться в регистрах А0, В1;

-  пересылка из памяти данных новых сомножителей в регистры В2(L), А2 (L).  пересылки выполняются 32 разрядными словами.

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

-  указать операционный модуль, в котором будет выполняться операция;

-  задать необязательное условие выполнения команды (содержимое регистра [В0] в последней команде);

-  предусмотреть правильную последовательность операций по перемещению данных, и т.д.

Все вышеперечисленное требует хорошего знания системы команд и архитектуры МП для получения эффективной программы.

Выводы.

        «+»   Использование простой системы команд позволяет использовать языки высокого уровня, в результате можно получить исполняемые программы высокого качества.

         Недостатком ЦПОС с архитектурой  VLIW, является то что необходимо использовать большие объемы памяти для записи программы с длинными командами и  нерациональное использование этой памяти.

Суперскалярные процессоры

Отличие суперскалярных процессоров от процессоров типа VLIW, заключается в следующем:

-  процессор имеет модуль, который определяет, какие из команд могут быть выполнены параллельно , и группирует их в пакет;

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