Солонина А., Улахович Д. Алгоритмы и процессоры цифровой обработки сигналов (2002) (1095891), страница 35
Текст из файла (страница 35)
*аличие расширения ЕХТ позволяет за счет добавления дополнительных ,.ятов (обычно 4 или 8) к формату "двойное слово" повысить порог, при кором происхолит переполнение аккумулятора. По этой причине лополнильныс биты расширения ЕХТ обычно называют "сторожевыми" или "затными" (Вцагд Ь)гз). ли длина слова ЕХТ равна 4 нли 8 битам, в аккумуляторе могут накаплиться значения прол>ежуточных данных соответственно ло 24 или 2" (по мо)(улю) без риска переполнения. Если такие значении требуется сохранить в (замяти данных, возможен олнп из двух вариантов: Й) содержимое регистра ЕХТ сохранить в отдельной ячейке; 6 произвести л>атттттабираваттие содержимого аккумулятора до его пересылки в память данных.
В противном случае при сохранении содержимого аккумулятора в памяти данных, оно автоматически округляется ло амплитуды насышения (си. разд. 4. т'5). Длины слов а ов аккумуляторов в различных процессорах приведены в табл. 3.4. ° 1-4. Сдвигатели игаптегез> называют как устройство, выполняюшее операцию сдвиш Лан, так и регистр, в котором хранится результат сдвига. Как правило, из нтекста ясно, идет ли речь об устройстве или о регистре. При необлодити лается уточнение.
о выполняемым функциям сдвигатели люжпо разделить на: О пресдаигатели, в и, в которых сдвиг данных осушествляется перед выполнением или при выполнении операции; паса>сдвига>п ели, в которых сдвиг ланпых производится после выполнения операции, В у ' 1у тура сдвигателя, храняшего результат операции сдвига, обоих сл чаях ст > к опирует структуру аккумулятора. ° ю л~я . Глана 4. Операции над данным 175 179 к ма да и>ки,в,в Перед еьпопнением После выполнения 8ОВЬ В, Д 393231 1615 О в 3 393231 1615 О в М5Р )5р ' ЕХТ МЗР Расширзние з"ака 15 О ХН 3 ~ РЕОС команда вцвьв,д хи 3 ЯщД Посла атяпопнания 554847 2423 О Перед еыпопнаниам 554847 2423 О Сдзигагпепь 393231 1615 О 3 д 3 ЕХТ МЗР лвр ЕХТ МВР т мвр слр 55 48 47 24 23 554847 2423 О ехт м5Р ехт мвр 1.5Р Сдеизепмпь 554847 2423 О ЕХТ М8Р 1.БР Рис.
4.1. Сдвиг влево и вычитание Алгоритмы и процессоры цифровой обработки сигналоз Основные функции пресдацгатнеяей таковы. П Предварительное масштабирование — сдвиг данных перед выполнением арифметических операций сложения и вычитания, наприл)ер, перед вы полнениел1 в процессоре РЯР5600х фирмы Моього)а операции вычитания по команле где в, д — аккул)уляторы В и А в форл)ате "расширенное слово" длиной 56 битов, в сдвигателе производится смешение содержимого А на 1 бит влево (буква ь в команде); затем выполняется вычитание (А) х 2 — (В) результат сохраняется в А; в сдвигателс сохраняется (А) х 2 (рис.
4.!). П Предварительное масштабирование — сдвиг данных перел их загрузкой в аккумулятор, например, перед выполнением в процессоре ТМ$320С54"х фирмы Техаз 1пзггншепм операции загрузки содержимого ячейки палтяти данных в аккумулятор по команде )ОХН, 8, В где в — аккумулятор В в формате "расширенное слово" длиной 40 битов: хн — ячейка памяти данных в формате "слов~" длиной 16 бит, в слвнгатсле происходит сдвиг содержимого Х)ч) на 8 битов влево (рис. 42); нр» этом, согласно правилам преобразования Форматов ланных с ФТ, в стар ших битах слвигителя и о р исхолит расширение знака, а в млалших — обнуление; результат копируется в аккумуляторе.
Рнс. 4.2. Сдвиг влево и загрузка аккумупято П г Сдвиг данных перед выполнением в АЛУ логических операций; напри- 1 мер, перед выполнением в процессоре ТМБ320С2 пзгпппепьз операции логического умножения ххх фирмы Техаз ЛНОД, 3, В 'ле д, в — аккумуляторы А и В в л 40 б р и в форма е "расширенное;лов . шной ит, в сдвигателе п исхо Ро лит сдвиг содержимого А влево на 3 бита: за- Р тем выполняеты! Опе ация логи ческого умножения; результат сохраняется в В; содержимое А не меняется; в сдвига слвига (рис.
4.3). ; в сдвигателе сохраняется результат П С Сдвиг данных при выполнении в АЛ гов, нап име, в АЛУ операций арифметических слвиопе а ииа ов, например, при выполнении в процессоре РКР5600 р ц арифметического сленга по команде х ч,иРмы Могого)а Лви В в сдвигателе п "" '- '""ум -"р "Ф~рмате Расширенное слово" щ 1иной итов. че происходит сдвиг солср мого в ш!Р в 1 б слвиге значение мл Рава на ит; при ие младшего бита ).ЗВ сохраняется в бите переноса С регистра состояния, а значение старшего бита МЯВ зультат копируется в аккумуляторе в (рис. 4.4). остается нсизме1шым: ле:) лаев 4.
Операции над данными 180 181 Команда АИОА,З, В Команда Аай В Перед еыпслнением После еыпилнения После еыпппнения 39 3231 16 15 0 Перед еыпслнением 39 32 31 1Б 15 0 554847 2423 О В $ 554847 2423 0 В 3 А 3 ЕХТ МБР ЬБР А 3 ЕХТ МБР |.БР МЗР |ЗР ехт мБР |БР Бит переноса С П! Бит переносе С 393231 1Б 15 0 393231 1Б15 0 В 3 ЕХТ МЗР ьЗР В $ ЕХТ МЗР ьБР Содержимое В дп сдг|ие 55 48 47 Ссдержикое Я до сдвига 24 23 16 15 39 32 31 наК Ехт 3 А8 МЗР А88 420 |.ЗР А86421 'ьЗР 1200 МЗР ОООО ЕХТ $ 00 Сдвиг влево нв 3 бмпг 55 48 47 24 23 После сдвига Знак есгтенрепен ЕХТ $04 16 15 39 32 31 МЗР 543210 ьЗР 543210 ьЗР 9000 ЕХТ 3 ОО Логическое умнажение Сдан тетель 3 АИО Результат е В 3 Алгоритмы и процессоры цифровой обработки сигналое Рис.
4.3. Логическое умножение сс сдвигом !а!Оотоа!010!Оааамсатоаоатаааа !а!а!Оаоомаатооаа!Оааат с 3 АриФмепмческий сдвиг гпрееп на ! Бипт Содержимое В после сдвиге 1101 0010 01010100001100100001 00000101 0100001100100091 0000 ! Рис. 4.4. АРиФметический сдвиг содерх,и |жо в С двиг данных пр выполнен и в АЛу операц ло,„е,„их и ци „„1че х сдвигов. напРи""Р Р вь!полне 1 в ПРоцесе Ре ВВР5600х фир Магога!а операции логического сдвига по команде ЬЗР, В где в — аккумулятор В в формате "расширенное слово" длиной 56 битов. В отличие от приведенного выше арифметического сдвига, п н выполнен операции логического сдвига в сдвигателс выполняется сдвиг нс р всего содержимого аккумулятора, а только его старшего МЬР-слова; состояния млалптего слова |5Р и расширения ЕХТ не меняются„результат копируется в аккумуляторе (рис. 4.5).
О~Он НОВНЫЕ фУНКЦШ1 ПЛППСдеигплтслей: ь) мас штабнрование результатов прн их сохранении в памяти данных; 0 устранение битов расширения знака; (Лава 4. Операции над данными 183 !82 Команда !.ВП В После выполнения 554847 2423 0 Перед выполнением 554847 24 23 0 В $ ЕХТ МВР В $ ЕХТ МЗР ГВР Бит переноса С Бит переноса С Яккумуллеор В до сдвиге 24 23 55 48 47 кЗР Лри сдвиге 822222 записывается в бит С ЕХт $80 Логический сдвиг е прево нв ! бил! Яккумуляпюр В после сдвига 24 23 55 48 47 Ьзр 111111 МВР 411!11 ЕХТ $80 Ялгоритмы и процессоры цифровой обработки сигнвлсг С! нормализация результатов: С! масштабирование результатов прн выделении одинакового порядка в блоке.
10000000 !0000010001000100010001 0 0001 0001 0001 0001 0001 0001 10ОО ОООО 01000001 0001 0001 0001 0001 0001 0001 0001 000! 0001 0001 Рмо. 4.5. Логический сдвиг содержимого аккумулятора Маситтпбггроепние осуществляется при сохранении результатов операш!и 8 памяти ланных. Операция сдвига содержимого аккумулятора производите!! в сдвигателе (копирующем содержимое аккумулятора), содержимое аккумулятора не меняется. В ячейках памяти сохраняется старшее МВР или младшее !.5Р слово сдвигателя (возможно, оба слова в соседних ячейках) с соблюдением правил преобразования форматов. Постсдвигатели могут использоваться для устранения бита (или битов) рас- !Вирения знака, автоматически генерируемого (генерируемых) в регистре, которы!2 хранит результат умножения данных при целочисленной арифме- тике.
Указанием на выполнение операции постслвига кюжет быть: (3 состояние битов масштабирования в регистре состояния. Их комбинация определяет направление и величину сдвига. Например, в процессорах Р5Р56ххх фирмы Мо!ого1а состояние битов масштабирования 50 и 51 определяет три возможных режима в сдвигателе: отсутствие масштабирования, масштабирование вниз (сдвиг на 1 бит влево), масштабирование вверх (сдвиг на 1 бит вправо). Одновременно в сдвигателс меняется длина, отводимая на целую часть, соответственно, уменьшается или увеличивается на 1 бит.
Содержимое аккумулятора не меняется; ('.3 специальная команда. Например, в процессорах ТМ5320С2ххх фирмы Техаз !Озггцщеп!3, слово аккумулятора которых имеет формат двойного слова, содержимое старшего МБР и младшего ) 5Р слов аккумулятора сохраняется в памяти данных при выполнении команд злсн и злсы В частности, по команде где Х)к! — ячейка памяти данных в формате "слово" длиной 16 битов, в сдвигателе происходит сдвиг содержимого аккумулятора на 1 бит влево; после этого старшее слово М5Р сдвигателя сохраняется в ячейке памяти данных Х)ч; содержимое аккумулятора нс меняется (рис.
4.6); ;П непосредственное указание сдвига (количества битов и направления) в команде сохранения содержимого аккумулятора в памяти данных. В частности, в процессорах ТМ532С54хх, слово аккул!улятора которых имес! формат расширенного слова, при выполнении команды сохранения старшего М5Р слова аккумулятора в памяти данных втн х,г,хн в сдвигателе происходит сдвиг содержимого аккумулятора А на 4 бита влево и сохранение его старшего М5Р слова в ячейке Х)Ч; солержимое аккумулятора не меняется; команда выполняется аналогично предыдущей. Оп перации нормализации и выделения одинакового порядка в блоке из нескольких чисел рассмотрены в равд.