Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

ADD .L1 A0, A1, A2;

X000A

0000 0000 0000 1010

X000B

0000 0000 0000 1011

Эта команда выполняет накапливающее суммирование произведений с предварительной пересылкой сомножителей из памяти данных (DM) и памяти программ (PM) во входные регистры умножителя MX0 и MY0 соответственно. Результат накапливающего суммирования содержится в выходном регистре умножителя MR. В этой команде осуществляется перемножение операндов, которые были загружены в регистры MX0 и MY0 в предыдущем цикле.

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

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

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

В качестве примера использования мнемонического синтаксиса рассмотрим команду процессора TMS320C30

ADDF3 R0, R2, R3.

В поле операции указана операция ADDF3. Рассмотрим элементы обозначения операции: ADD (addition – сложение), F (floating-point – плавающая точка), 3 (в операции участвуют 3 операнда). Таким образом, данная команда выполняет операцию сложения двух чисел с плавающей точкой, находящихся в регистрах R0 и R2, и записью результата в R3.

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

Структура слова команды в процессорах с одновременным выполнением группы команд

 

В поле устройства задаётся устройство, например, одно из 6 АЛУ или один из 2 умножителей, в которых выполняется операция, задаваемая командой.

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

Рассмотрим, как осуществляется группировка команд. В процессорах платформы С6000 команды выбираются из памяти не по одной, а пакетами. Пакет выборки содержит 8 команд. На рисунке показан формат пакета выборки. Длина слова команды составляет 32 бита. Нулевой бит слова, обозначенный на рисунке через p, является битом признака группировки команд.

Формат пакета выборки процессоров TMS320C6000

 

Если во всех командах пакета выборки p = 0, то все 8 команд выполняются последовательно одна за другой.

Если во всех командах кроме последней p = 1, то все 8 команд выполняются одновременно в разных блоках.

Возможно параллельно-последовательное выполнение команд в пределах одной выборки. Состояние p = 1 в слове i – ой команды означает, что она будет объединена с (i+1) –ой командой для одновременного выполнения.

 

Формат пакета выборки при последовательно-параллельном выполнении команд

Первая единица при просмотре пакета выборки слева направо означает, что с данной командой будут группироваться следующие за ней команды, включая ближайший нуль (C, D, E). Исполняться параллельно будут также команды F, G, H Следовательно, 8 команд будут выполнены за 4 цикла.

 

Выполнение последовательно-параллельных команд во времени

 

Циклы   Команды  
  A
  B
  C D E
  F G H

 

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

Структура команд на ассемблере при наличии группировки выглядит следующим образом:

Две вертикальные параллельные черты в начале команды означают, что эти команды выполняются параллельно с ближайшей предыдущей, у которой этот знак не указан.

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

Обратимся к примеру двух параллельных команд, записанных на ассемблере

ADD.L1 A0, A1, A2;

|| SHR.S1 A3, 15, A4;

В блоке.L1 выполняется операция сложения A0 и A1. Сумма помещается в A2. В блоке.S1 операнд A3 сдвигается на 15 разрядов вправо. Результат помещается в A4.

 


Дата добавления: 2015-07-08; просмотров: 60 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Ольга ЧЕТВЕРИКОВА| Непосредственная и прямая адресации данных

mybiblioteka.su - 2015-2024 год. (0.007 сек.)