Главная » Просмотр файлов » Глинченко А.С. Принципы организации и программирования сигнальных процессоров ADSP-21xx (2000)

Глинченко А.С. Принципы организации и программирования сигнальных процессоров ADSP-21xx (2000) (1264223), страница 11

Файл №1264223 Глинченко А.С. Принципы организации и программирования сигнальных процессоров ADSP-21xx (2000) (Глинченко А.С. Принципы организации и программирования сигнальных процессоров ADSP-21xx (2000)) 11 страницаГлинченко А.С. Принципы организации и программирования сигнальных процессоров ADSP-21xx (2000) (1264223) страница 112021-07-29СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 11)

Ее следующий Х-операнд всегда загружается из памяти данных,а следующий Y-операнд − из памяти инструкций (внешняя и внутренняяпамять не отличаются с точки зрения набора инструкций). Результатвычислений всегда помещается в регистр результата (MR или AR), а не врегистр обратной связи (MF или АF).Ниже приводится пример такой инструкции:MR=MR+MX0*MY0 (SS), MX0=DM (I0, M0), MY0=PM (I4, M5);Первая часть ее (до первой запятой) суммирует предыдущее содержимоерегистра MR с произведением значений регистров МХ0 и MY0 в началецикла, причем оба операнда считаются знаковыми (SS).Вторая и третья части этой многофункциональной инструкции в концетого же процессорного цикла загружают два новых операнда.

Один из нихсчитывается из памяти данных (DM), указатель на данные находится виндексном регистре I0, после загрузки происходит пост-модификацияуказателя значением, содержащемся в регистре М0. Другой операндсчитывается из памяти инструкций (РМ), указатель на данные находится виндексном регистре I4, после загрузки происходит пост-модификацияуказателя значением, содержащемся в регистре М5..Чтение памяти данных и памяти инструкцийЭта вариация многофункциональной инструкции представляетспециальный случай выше описанной инструкции с опущеннойвычислительной частью, например:AX0=DM (I2, M0), AY0=PM (I4, M6);60Как и для предыдущей инструкции, Х-операнд должен загружаться изпамяти данных, Y-операнд – из памяти инструкций.Вычисление с чтением из памятиЕсли производится одно чтение из памяти вместо двух, как впредыдущих командах, можно выполнять более широкий класс вычислений.Возможны все операции ALU, кроме деления, все операции MAC и всеоперации SHIFTER, кроме немедленного сдвига.

Вычисление должно бытьбезусловным. Пример данного типа многофункциональной инструкции:AR=AX0+AY0, AX0=DM (I0, M3);Здесь производится сложение в ALU и в то же время происходит загрузкаоперанда из памяти данных. Ограничения здесь такие же, как и дляпредыдущих инструкций. Значение регистра AX0, используемое в качествеоперанда сложения, является его содержимым в начале цикла. Операциячтения данных загружает новое значение в этот регистр в конце цикла. Поэтой причине регистр результата (AR в данном примере) не может бытьприемником для чтения из памяти.Вычисление с записью в памятьВычисление с записью в память аналогично по структуре вычислению счтением из памяти, однако порядок инструкций здесь меняется напротивоположный. Сначала записывается операция записи в память, затемвычисления, как показано ниже:DM (I0, M0)=AR, AR=AX0+AY0;Опять значение исходного регистра для записи в память (AR в данномпримере) соответствует его содержимому в начале цикла.

Вычислениеприводит к записи нового значения в этот регистр в конце цикла.Перестановка инструкций в данной записи недопустима. Инструкцияподдерживает тот же класс вычислений, что и предыдущая.Вычисление с пересылкой регистр-регистрПоследний тип многофункциональных инструкцийвычисление с пересылкой регистр-регистр, например:производитAR=AX0+AY0, AX0=MR2;Здесь происходит сложение значений AX0 и AYO в начале цикла изагрузка нового операнда в AX0 из MR2 в конце цикла. Пересылка регистррегистр может быть в/из любого регистра ALU, MAC и SHIFTER (кромерегистров обратной связи АF и МF и регистра SB).Возможен тот же класс вычислений, что и выше.6111.4.

ИНСТРУКЦИИ ALU, MAC И SHIFTERЭта группа инструкций производит вычисления. Все инструкции этойгруппы могут исполняться условно за исключением деления (ALU) инепосредственного сдвига (SHIFTER).Инструкции ALUНиже приведено обобщенное описание одной из инструкций ALU и ееконкретный пример:[IF cond] AR=xop+yop+C;IF AC AR=AX0+AY0+C;Условное выражение IF AC (которое может отсутствовать) проверяетфлаг переноса ALU (АС); если предыдущая инструкция сгенерировала флагпереноса, выполняется данная инструкция, в противном случае происходитисполнение инструкции NOP и переход к следующей инструкции.Алгебраическое выражение AR=AX0+AY0+C означает, что содержимымрегистра AR будет сумма AX0 и AY0 плюс значение флага переноса.Инструкции MACОбобщенная запись одной из инструкций МАС и ее конкретный примеримеют следующий вид:[IF cond] MR=MR+xop*yop (SS|UU|US|SU|RND);IF NOT MV MR=MR+MXO*MY0 (UU);Условное выражение IF NOT МV проверяет флаг переполнения MAC.Если флаг сброшен, исполняется инструкция NOP.

ВыражениеMR=MR+MXO*MY0 – это операция умножения с суммированием. Врегистре результата (MR) получается сумма его предыдущего значения спроизведением значений входных Х и Y регистров. Mодификатор в скобках(UU) сообщает процессору, что операнды беззнаковые. Только один такоймодификатор может быть выбран из пяти доступных: SS − оба операндазнаковые; US – первый операнд беззнаковый, а второй знаковый; SU –первый операнд знаковый, а второй беззнаковый; RND – округлениерезультата (для знаковых операндов).Инструкции SHIFTERПримером инструкций данного типа может служить инструкциянормализации, записанная ниже в обобщенной и конкретной форме:[IF cond] SR=[SR OR] NORM xop (HI | LO);IF NOT CE SR=SR OR NORM SI (HI);Условное выражение IF NOT СЕ проверяет условие «если счетчик числа62повторений ненулевой».

Если условие не выполняется, исполняетсяинструкция NOP. Приемником для всех операций SHIFTER является регистррезультата SR, кроме операции определения экспоненты (порядка), гдеприемник – это регистры SE или SB. В этом примере SI (входной регистр)является операндом. Длина и направление сдвига контролируются знаковымчислом в регистре SE для всех операций сдвига, кроме немедленного сдвига.Положительные значения приводят к сдвигу влево; отрицательные – к сдвигувправо. Модификатор «SR OR» (который может быть опущен) производитоперацию логическое ИЛИ результата с текущим содержимым регистра SR;это позволяет получить 32-битное значение в SR из 16-битных частей.«NORM» – это оператор, a (HI) - модификатор, который определяет,происходит ли сдвиг относительно верхней (НI) или нижней (LO) 16-битнойчасти SR.

Если модификатор «SR ОR» опускается, результат сразузаписывается в регистр SR.11.5. КОМАНДЫ ПЕРЕСЫЛКИ ДАННЫХДанные инструкции реализуют пересылки данных типа регистр –регистр, регистр – память, память – регистр.. Регистры условно разделены на2 группы, первая из которых обозначается reg и включает практически всепрограммно доступные регистры, а вторая, обозначаемая dreg, − толькорегистры данных (регистры вычислительных устройств), являясьподмножеством первой.

Лишь регистр PC (указатель инструкции) и регистрыобратной связи ALU и MAC (AF и MF) недоступны для инструкцийпересылки данных. Примеры таких инструкций:reg=reg; reg=<data>; reg=DM(<addr>); dreg=PM(In, Mn);AX0 = DM (I0, M0);11.6. ИНСТРУКЦИИ УПРАВЛЕНИЯ ИСПОЛНЕНИЕМ ПРОГРАММЫК командам данной группы относятся инструкции перехода JUMP,вызова подпрограмм CALL, возврата из подпрограмм RTS и прерыванийRTI, цикла DO UNTIL, а также инструкция ожидания IDLE.Вариации инструкций перехода JUMP и вызова CALL обобщенно могутбыть представлены в следующем виде:[IF cond] JUMP | CALL (In) | <addr>; n=4−7.Примеры таких инструкций:IF EQ JUMP my_label; CALL (I6);my_label здесь – это любой идентификатор или метка, определяющаяадрес перехода. Вместо метки можно использовать также индексный регистрDAG2 (I4–I7).Если используется условие проверки счетчика CNTR (NOT СЕ), ондолжен быть предварительно инициализирован инструкцией CNTR. С63инструкциями JUMP и CALL (но только с непосредственной адресацией)допускаются дополнительные условные выражения IF FLAG_IN и IF NOTFLAG_IN, зависящие от состояния линии FI.По команде IDLE процессор входит в состояние неопределенногоожидания в режиме пониженной потребляемой мощности до получениясигнала прерывания.

После обслуживания немаскируемого прерыванияпроцессор переходит в нормальный режим работы и программа выполняетсядальше, начиная с команды, следующей за командой IDLE.Усовершенствованная версия команды IDLE (n) позволяет замедлятьвнутреннюю тактовую частоту процессора в n раз, также уменьшаяпотребление энергоресурсов. Значения n могут быть16, 32, 64 или 128. Привыполненииданнойкомандыпроцессоростаетсяполностьюработоспособным, но работает с меньшей внутренней тактовой частотой. Втой же степени уменьшаются и частоты всех остальных внутренних тактовыхсигналов, например SCLK, CLKOUT, тактовых синхроимпульсов таймера.Увеличивается также время реакции (ответа) процессора на запросыпрерывания.При отсутствии значения делителя n в команде IDLE по умолчаниювыполняется ее стандартная версия.Инструкция цикла DO UNTIL обобщенно описывается выражением:DO <addr> [UNTIL term];где <addr> − метка конца цикла, term − одно из условий завершения цикла,например: DO loop UNTIL CE; Действие этой инструкции рассматривалосьпри описании программного автомата.Следует обратить внимание, что возможен также вариант безусловнойинструкции DO <addr> (без UNTIL), задающей бесконечный цикл.11.7.

ДРУГИЕ ИНСТРУКЦИИДанная группа включает такие инструкции, как NOP (пустая операция),PUSH/POP (операции со стеками), ENA, DIS (разрешить, запретить),MODIFY, SET, RESET и TOGGLE. Последние три инструкции управляютвыходами FO (Flag Out), обеспечивая внешние коммуникации процессора.За командами ENA (ENаble – разрешить) и DIS (DISable – запретить)может следовать любое количество идентификаторов режимов работыпроцессора, разделенное запятыми. Все семь режимов, которые могут бытьустановлены или сброшены в одной инструкции, находятся в регистреMSTAT.Инструкция MODIFY модифицирует адрес, находящийся в I-регистре,значением, хранящемся в М-регистре, без реального доступа к памяти.6411.8.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6418
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее