Солонина А., Улахович Д. Алгоритмы и процессоры цифровой обработки сигналов (2002) (1095891), страница 47
Текст из файла (страница 47)
Сравнение сттстелт команд различных процессоров производится по совокупностн следующих основных показателей: П полнота системы (достаточность команд); П уннфнкацня (едпнообразне) структуры слова н сннтакснса разлнчных команд; П разнообразие тнпов адресацнй; П количество указаний на операнлы в команлах арнфметнческнх операция: П возможность параллельных пересылок; П возможность условного выттолнеттта команды. Произвести сравнительную оценк> снстем команл прн большом количестве показателей нелегко, поэтому подобные оценки носят в определенной мере субъективный характер. Вместе с тем, понятно, что этн показатели связаны с длиной слова команды.
Прн большой алане слова команды для каждого поля, а также для каждого объекта внутри поля. можно вьшелнть свои, неза- Глава б. Система команд виснмые друг от др>та, участкн (колнчество битов), тем самым уннфнцпруя структуру слова команды и се синтаксис. Программисту не потребуется помнить о множестве инднвндузльных особенностей различных команд. Однако, прн большом колнчестве команд в снстеме, указаннн трех операндов (в арнфметнческнх операштях), разнообразнн типов адресаций, цалнчпн .Параллельных пересылок, условия выполнения опсрацнн н т. д. длина слова команды окажется слишком большой, а, следовательно, потребуются ббльшая разрядность соотвстствуютцнх шнн и рептстров. больший объем памяти программ, увеличатся габариты н возрастет стоимость процессора.
В то же время, лля многих прнложеннй требуются простые н дешевые снгнальные процессоры, поэтому разработчнкн снстсм команл учитывают обдасть прнмепення процессоров. Прн относнтельно небольшой длннс слова команды (1б — 24 бита) по перечнсленным показателям принимаются компромиссные решення, в результате системы команд разлнчпых процессоров имеют свои сильные н слабые стороны. Напрнмер, показатель уннфцкацнн синтаксиса разлнчных команл наиболее высок для процессоров ТМБ320Сбххх фирмы Тсхаз 1патцпзептз (что лостнгается за счет достаточно больцюй длины слова команды — 32 бнта), возможность параллельных пересылок наиболее полно обсспсчнвается в процессорах фирмы Мотого!а, а возлюжность условного выполнения отдельных команд — в процессорах фирмы Апа!оя Рек)сех н т. д. 6.5. Группы команд Согласно выполняемым действням команды можно разлел~ть нз след>чо!ттис основные группы: П пересылки; П арифметические; П логнческне; П бнт-маннпуляцнй; П управления.
Рассмотрнм команды гю группам, 6.5.1. Команды пересылок )(оманды пересылок в основном предназначены лля: П чт тення (загрузки) операндов (нсходных данных) нз памятн в регистр: П записи (сохранення) операндов (результатов) нз ретнстра в память; П органнзапнн ввода/вывода ланных — пересылки в ячейки памяти, которые предназначены лля связи с внешней я виутрсншей перпфсрней. 257 лава б, Система команд Алгоритмы и процессоры цифровой обработки сигналов различают слсду~аттгие основные типы пересылок: П в регистр: Таблица б. Х Глтимеры команд пересылки ° нз ячейки памяти данных; ° из другого регистра, ° нз ячейки памяти программ; ° константы; П в ячейку памяти ланных: ° из другой ячейки памяти данных; ° из регистра; ° из ячейки памяти про1 рамн; в константы; П в ячейку памяти программ: ° из ячейки памяти ланных; ° из регистра.
Соответственно перечисленным типам пересылок место, куда пересылается операнд, указывается: П именем приемника; П исполняемым адресом; П адресом ячейки памяти программ. 1)ересылаемый операнд указы таетсте П именем источника; П исполняемым адресом; П константои; П адресом ячейки памяти про1рамм. Команды пересылок могут отличаться: П наличием усвовия пересылки; П указанием сдвига данных перед их перссылкой; П гвилаи пересылаемых дпиныг (байт, старшее илн младшее полуслова, стшво, длинное слово). Синтаксис команд пересылок привелсн выше, а примеры команд пересылок — в табл. 6.7.
Особенностн ачресапни операндов си. в глпве 5 Процессор Примеры команд пврвемпок Операция МОЧЕ 675,АО е75 А024 МОЧЕ Х1,В (Х1) В МОЧЕС А.ЕС (А)56 1-Сн МОЧЕМ ЕЗ ° Р: (а2] (НЗ) Р (Р2 МОЧЕР Хт « ЕГГГГ,А (Х:ЗГГГГ) Амдля организации ввода данных техаз!пзвцятептз гои .01 *Ато,в1 (О;(А10)) В1 ТМ8320СвхххМнемо- Бтв .О1 А1,.А10 (А1 0.(А10) ничесхий синтаксис (А)м х 2 Вм Техаз (пз$пипептз ТМ8320С2хххГ С5ххх Мнемонический синтаксис (А) х 27 В Алгебраический синтаксис (ТМ8320С5ххх) 6.5.2. Команды арифметических операций Широкий набор арифметических команд обусловлен спецификой алгоритмов ЦОС, в которых основпымн операциями являются сложение (вычитание), умножение н нх комбинация — умножение с накоплением (МАС).
Мо1ого1а 08Р56ххх Мнемонический син- таксис Апа(од Оегбсез 08Р-21хх Алгебраический синтаксис ЕО А,т,а 'О $251,А ЬО *АЕ1,А зтн в,-в, Авз мчоо "Апз, Аа5  — А« 7 А = 4251 А = *АР.1 *АВ7 — ИЕ(В) «1-В) АЕ5* = ГЖЗ 11 = 14~ МХО = Ои(10,МО)т ОН111,М11 = Авт мто = РИ114,м5) ' Ф 251 А4о (О:(АН1)) А, (В)„х 2 3 0:(АНУ) (О (АНЗ)) -~ 0:(АН5) в251 А4а (О:(АН!))14 Ао (В) х 2 з 0:(АРУ) (О;(АНЗ)) -~ 0:(АН5) (И)н 14!6 (О (1ОД МХОМ при МО = 0 АР .
(0.(М)) при М1 = 0 (Р.(14)) МЧОМ авва б'. Система ксл<аыд 259 258 Алгоритмы и процессоры цифровой обработки си<налог Сложение и вычитание Варианты кол<вид сложения (вычитания) в олнол< процессоре нли в процессорах различных фирм в основном отчича<отся: П количеством указаний на операнды; П алресацией операндов; П форматом операндов (слово, лвойное слово, >пакованные данные); П типом данных (целые со знаком, беззнаковые); П возможностью сленга од<юго нз операндов перел выполнением операции; П использованием бита переноса С для переноса (заема) при программной организации сложения (вычитания) операндов увеличенного формата (двойное слово, учетверенное слово и т. и.); П возможностью выполнения по одной команде операции сложсшш или вычитания в зависимости от состояния определенного бита в репютрс состояния (только в процессорах ТМ8320С55хх); П наличием в команде условия выполнения операции.
Основныс правила выполнения операций сложения (вычитания) обсуждались в агавеЗ, а обработка переполнения, которое может возникнуть прп выполнении этих операций. в главе 4. Примеры команд сложения яр<<лечены в табл. 6.5. 4 Умножение и умножение с накоплением Команда у<<ножен<<я поддерживается всеми ЦПОС, а кол<аида умножения г наколлением — большинством ЦПОС (не поддерживается, например, процессорами ТМ8320Сбххх фирмы Техаз (из<иго!ел<5).
Варианты команл умножения и ул<ножепия с накоплением в одном процессоре или в процессорах различных фирм в основном отличаются: П количеством указаний на операнды; П адресацией операндов; П возможностью округления результата; П типом данных (целыс со знаком, беззнаковые); П форматом ланных (слово, двойное слово, >пакованные данные); П наличием в команде условия выполнения операции. Основные правила выполнения операш<н умножения обсужлалнсь в главе 3, а обработка переполнения, которое может воз<екнуть прн выполнении операции умножения с накоплением (млс), в главе 4.
Примеры команд для процессоров различных фнрл< привезены в табг<.6.8. Особенности адресации операнлов см. в главе 5 Таблица 8.8. г)римеры кома<и< умножения и умножения с накоплением Процессор Примеры команд умножения Операция и умножения с накоплением (Уг)г4 х!УО)г4 ВББ (А)ББ + (ХО)г4 х (Х1)г4 Ам мо!ого<а ОВРббххх ИРт тт,то, В Мнемонический син- и с хо хт А таксис Техаз !пз!гигпеп1з ТМ8320Сбххх Мнемонический синтаксис ИРУ .М Ат,А2,АЗ В умнсжителе М1: (А1)гг Х (А2)зг Аззг Тахаз !Пз!пгп<епм ТМ8320Сбххх Мнемонический синтаксис ИРТ АВ2*,АЯ4*,В (АЯ2) <Б -~ Т<ь' (Т) х (О:(АЯ4)) - Ваг (А)44 + 4)345 Х (Т)м Ам ИАС 4245,А Регистр Т хранит один из сомножителей Алгебраический синтаксис В = *АВ2 * АР4", Т = АЯ24 (АЯ2)„- т„; (т) х (О:(АЯ4)) В (А) + (Г345 х (Т),Б А, А А 4 4345"Т Регистр Т хранит один из сомножителей испи регистр, храня<ива результат операции устройства МАС, не переполнен, выполняется операЦиа МАС Апа1с9 Оеч!сез АОВР-21хх Алгебраический синтаксис 41 нот и<г ик = лй + + м хО*итог Арифметический сдвиг При ар<гдгмелгггческалг сдвиге солержнмого реплстра влево младшие, "освободившиеся", биты заполняются нулями, а старпше, "выдвигаемые", теряются (рнс.
6.5, а). При арифметическом сдвиге влраво младшие, "вылвигаемые" биты теряются, а старшие, "освободившиеся", заполня<отея расширением знака (рис. 65, б). В различных процессорах выполнение команд арифметического сдвига реализовано по-разному. Команды отличаются: П возможностью сдвига по умолчанию на олин бит нлн на произвольное количество битов; П сохранением "выдвигаемого" бита (если он олин) или последнего нз "выдвигаемых" битов в бите переноса С; гб) еа б. Система команд а) арифметический и пагический сдвиги влево "Выдвигаемые" биты б) арифметическии сдвиг епрееа "Освободившиеся" биты Расш алеке "Освободившиеся биты в) логический сдвиг впрееа "Выдвигаемые" биты "Осаабадиешкеся биты г) циклический сдвиг вправо 'Вьшеигеамые" биты д) циклический сдаиг влево шяйся" бит Процессор Примеры команд Операция логических операций Мо1ого)аОЗР58ххх йпо ХО,Д Мнемонический синтаксис Операции выполняются со старшим сло- вом аккумулятора До операции; ХО = $ГГОООО А = $00 123456 789АВС После операции: ХО = $ЕГОООО А =$00 120000 789АВС До операции: д = $00 123456 789АВС После операции д = $00 ЕОСВАВ 789АВС нот дз Алгоритмы и процессоры цифровой обработки сигналое 0 возможностью сдвига относительно старшего нли младшего слова регистра-сдвигателя (в процессорах фирмы дпа!08 ):)еа)ссз) и т.д.