Солонина А., Улахович Д. Алгоритмы и процессоры цифровой обработки сигналов (2002) (1095891), страница 44
Текст из файла (страница 44)
главу 2); такие процессоры условно назовем процгссорпзт с одновременных выполнением группы команд; особенности организации команд в подобных процессорах будем оговаривать особо, в противном сл>чае, по умолчанию станем полразумевать процессоры со стандартной архитектурой. 6.2Л.
Структура слова команды в процессорах со стандартной архитектурой Слово команды в процессорах со стандартной архитектурой содержит сле- дуюшие основные поля (рис. 6.!): П условия; С) операндов; С) операции; С) параллельных пересылок. Рис. 6.1. Обобщенная структура слова команды Количество, последовательность и длина полей зависят от архитектуры кон- кретного процессора и функционального назначения команды. Рассмотрим перечисленные поля. Поле условия содержит код условия выполнения операции, указанной в по- ле операции. Поле условия может содержаться в словах команд: С) управления; ьз операций над ланными. Слово команды упрпвлеиия (перехода, вызова подпрограммы, цикла) имеет поле условия, если выгюлняется операция перехола (разветвления) к раз- личным точкам программы по условию, »кпзываелгоиу япльзпвптелеи.
Поле условия в слове команды управления отсутствуег, если условие не зави- сит от пользователя, например, условием является равенство нулю содержи- мого конкретного регистра. Слово команды управления имест поле условия, если сама команда управления (как правило, безусловного перехода) выполняется в зависимости от угловая, укпзывпгмпгп яользавптелел~ )) различных процессорах реализованы различные варианты команд управления. Команды операций нпд дпннымн закже люгут выполняться в зависимости от условия, задаваемого пользователем.
Сушествует два способа реализации условного выполнения таких команд: (') программный с использованием команлы условного перехода; в этом случае слово самой команлы операции над данными не умеет поля условия; (Т аппаратный. когда условие выполнения операции указывается непосредственно в команде операции над данными, для чего в слове этой команды предусмотрено поле условия. Сведения о наличии поля условия в командах операций над даннымн приводятся в табл.
6.2. Таблица 6.2. Поле условия выполнения операции над данными Фирма Процессор Поле условия 03Р56ххх/96ххх Имеется в слове команды пересылки по условию яви)ой Оеысез АСЗР-21хх/21ххх Имеется половах большинства команд Как частный случай условного выпгячнения операций над данными можно Рассматривать некоторые команды процессора ТМБ320С55хх фирмы тсхж (пз1гишепьз с внутренним разветвлением, когда выполняется одна пз двух арифметических опе)жций в зависимости от некоторого условия. Однако ус"овие во всех подобных командах не выбирается пользователем, а определяется состоянием конкретного бита, поэтому в словах таких команл поле усяоння отсутствует.
Например, по команде лоозовсс может выполняться операшш сложения или вычитания в зависимости от состояния бита ТСх и т. п. Поле операции содержит кол операции (КОП) и является обязательным лля слова любой команды. )толе операндов содержит: Сз укпзптпя нп операнды в командах операций над данными; (2 адреса переходов в командах управления. Алгоритмы и процессоры цифровой обРаботки сигналов рава 6. Система ксмаьд 24 т Кролте того, иоле операндов может содержать дополни гельную информацпы об операции. Например, в процессорах ТМ8320С2ххх/5ххх фирлгы Текат (пьттцптептз поле операндов может содержать информацию о сдвиге (колл чсстве битов и направлении сдвига) одного из операндов, цроизволпмом го операции. В процессорах фирм Матого1а и Апа(оя ()ет!ссз сдвиг выполняется по специальным команлалт, поэтому а поле операндов информация о слввгс отсутствует. Поле операндов является обязательным для комапл операций над ланныма и команд управления последовательностью выполнения операций.
Количество операнлов определяется архитектурой конкретного процессора и спецификой команлы. В большинстве команд общего управления работой процессора поле операндов отсутствует; примерами команд без операндов являются: иов — пустая операция, вкзкт — программный сброс, зит— программное прерывание и т. д.
Ос1ювные способы указания опера~~дав и адресов псрсхолов в командах рассмотрены в главе 5. Поля параллельвых пересылок содержат уьтазпяия на операнды пересылок Пгресььтки, выполняемые одноврелтенно с основной операцией команды я указываемые в этой кома~ьте, называют пгтртььтетьныхги. В различных процессорах поддерживается от одной ло двух операций параллельных пересылок. Возможность и типы параллельных пересылок, а также правила их оргюшзации опрсделяктгся архитектурой конкретного процессора и спецификой команды. В частности, параллельныс пересылки недопустимы в командах управления. Краткие сведения о возможных параллельных пересылках (бсзотноситечьно комапл, в которых они допустимы) содержатся в табл.
6.3, г1е использованы слелующие условные обозначения: П ЕА!. ЕА2 — исполняемые адреса для пер~юга и второго полей пересылок; П ЕА — исполняемыи адрес для одного поля пересылок; П ЕАР— исполняемый адрес в памяти программ (в процессорах фирмы Апа!об Оет!ссз); П ЕАХ вЂ” исполняемый адрес в Х-памяти данных (в процессорах фирмы Магога!а); П ЕА'т' — исполняемый адрес в т'-паьтяти ланных (в процессорах фпрыи Ма!ого(а); П ЕА1. — исполняемый адрес в 1-памяти данных: ячейка 1.-памяти образУ- ется из обьелиненвя двух ячеек Х- и т'-паьгягп с олинаковыми алресатп~ (в процессорах фирмы Мотого!а); П 81, 82 — источники для первого и второго поля пересылок; П (31.
(32 — приемники лля первого и вгорого поля пересылок; гт 8, (3 — источник н приемник лля одного поля пересылок; гт №С — константа. Таблица 6.3. Папи параллельных пересылок Процессор Кол-ао палей пересылок Допустимые типы пересылок фирме Первое поле пересылок Второе поле пересылок Нет Нет ФС ~ 0 8-» 0 8- ЕАХ ЕАХ -» 0 8-» ЕАУ ЕАт'-» 0 82 02 82 02 82 -» ЕАт' ЕАУ -» 02 ЕАУ-» 02 82 ЕА'т' ЕА»Г -» 02 82 ЕАУ ЕАР 02 Телке ТМ832002хххтзх/5ххх Нет 1гввогпелтз Мотаю(а 08Р56ххх/йвххх До 2-х е св А08Р-21хх/21ххх До 2-х Вемсее 81- ЕАХ ЕАХ -» 01 81 01 81 01 8- ЕА1.
ЕА1. 0 ЕАХ 01 ЕАХ 01 81- ЕАХ 81- ЕАХ ЕА» 0 ЕАР 0 ЕА 01 8-» ЕА 8- ° 0 Глава 6. Система команд Алгоритмы и процессоры цифровой обработки сигналов 243 242 Выполнение операций параллельных пересылок в кажлом процессоре имеет специфику, однако можно сс)тарьзулировать следующие общие правила: П дублирование источников в поле операндов и в поле пересылок разрешается, а дублирование приемников — запрещается; П если источников в пале пересылок является лриечник в поле операнлов то соответствующая пересылка выполняется до основной операции, за даппай кодом операции (КОП); П если лриеиникаи в поле пересылок является исглочиик в поле операнлоа, то соответствующая пересылка выпали~ется ласте основной операции. Параллельные пересььзкп позволгвот одновременно с основной операцией сохранить результат, полученный при выполнении прелыиущей команды, и загрузить исхолпые данные, необходимые лля выполнения слелующсй команды.
Отметиьп что слова комаплы, за исключением специальных команд пересылки по >словша, не илаеетл сидерзкпгль одттоерелтенно и лоле >ютлвия и лоле парпллетьлых пересылок, Параллельные пересылки не следует путать с комбинированными команлами. имеющимися, например, в системе команд процессоров ТМ8320С5ххх Фирмы Техаз !пз!гшпеппл при выполнении этих команд одновременна выполняются две операции, одной из которых может быть операция пересылки (сзп рлзд. б.5.4).
6.2.2. Структура слова команды в процессорах с одновременным выполнением группы команд Возможность одновременного выполнения группы команд обеспечивается за счет специальной архитектуры процессоров, при которой различные коььанды выполняются независимо Функционирующими устройствами. Зта позволило перейти к качественно новому, значительно более высоком>.
уровню произвалительности. Архитектуры процессоров ТМ5320Сбххх фпр мы Телах 1пз!пппепш и МЯС8!Ох фирмы Мо!ого1а (см. табл. 6.1) построены по этому принципу, однако супгественно различны. В рамках рассматриваемых вопросов эти отличия относятся к форматам команд, структуре ело лов команд, способу объелинения команд в группы для одновременного выполнения, синтаксису команд и т. л. В качестве примера рассмотрим структур> слава комши в процессорах ТМ8320С6ххх; по ходу обсуждения будем звкже отмечать принципиальные отличия организации команд в процессараз МВС810х. Слово команды (ллина 32 бита) я процессорах ТМ8320Сбххх содержит следующие поля (рис. 6.2): П условия: П устройства: П признака ~руппировки П операции; П операндов; Рис.