Главная » Просмотр файлов » 1.Особенности архитектуры сигнальных процессоров

1.Особенности архитектуры сигнальных процессоров (1086957), страница 4

Файл №1086957 1.Особенности архитектуры сигнальных процессоров (Архив, содержащий лекции) 4 страница1.Особенности архитектуры сигнальных процессоров (1086957) страница 42018-01-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

TMS320С2х поддерживает аппаратный 16  16 умножитель, работающий с величинами в дополнительном коде, который вычисляет 32-разрядное произведение за один командный цикл. Частью умножителя являются следующие два регистра:

  • 16-разрядный временный регистр (TR) хранит один из сомножителей,

  • 32-разрядный регистр произведения (PR) хранит произведение.

Обычно команда LT (загрузить T-регистр). загружая TR с шины данных, обеспечивает один из сомножителей, а команда MPY (умножить) обеспечивает другой сомножитель, также выбирая его с шины данных. Умножение может также выполняться с использованием непосредственного операнда. В любом случае произведение вычисляется за два командных цикла.

Две команды умножения с накоплением (MAC и MACD) полностью используют вычислительные возможности умножителя, позволяя оба сомножителя захватывать одновременно через шины команд и данных. Использование команд MAC и MACD с командами повторения RPT и RPTK позволяет выполнять операции умножения/сохранения за один командный цикл. Заметим что команда DMOV, входящая в команду MAСD, не работает с адресами внешней памяти данных. На TMS32020 множимое и множитель должны размещаться в разных блоках внутренней памяти RAM. На TMS320C25 команды MAC и MACD могут выбирать операнды как из внутренней, так и из внешней памяти и использовать одну и ту же область внутреннего блока RAM. Команды SQRA (возвести в квадрат/сложить) и SQRS (возвести в квадрат/вычесть) передают одно и то же значение с шины данных на оба входа умножителя для вычисления квадрата.

Команда MPYU на TMS320C25 выполняет беззнаковое умножение, которое имеет важное значение при выполнении команд повышенной точности. Беззнаковое содержимое T-регистра умножается на беззнаковое содержимое адресуемой ячейки памяти, результат помещается в P-регистр. Это позволяет операнды, имеющие длину более 16-ти разрядов, поместить в две ячейки памяти и, обрабатывая их раздельно, получать произведения длиной более 32-х разрядов. После перемножения двух 16-разрядных чисел в дополнительном коде получится 32-разрядное произведение, которое размещается в 32-разрядном регистре произведения (PR). Содержимое PR может затем быть передано в ALU без изменений либо с предварительным сдвигом.

Возможны четыре режима сдвига произведения (PM). Поле PM в регистре состояния ST1 определяет режим сдвига, как показано в таблице 3-3:

Таблица 3-3. Режимы сдвига произведения (PM)

Содержимое PM

Режим сдвига

00

Нет сдвига

01

Левый сдвиг на 1 разряд

10

Левый сдвиг на 4 разряда

11

Правый сдвиг на 6 разрядов

Левые сдвиги полезны для операций с дробными числами и для выравнивания дробных произведений. Например, произведение двух нормализованных 16-разрядных чисел или двух чисел в формате Q15 содержит два знаковых разряда, один из которых избыточный. Левый сдвиг на 1 бит удалит этот дополнительный бит, прежде чем передаст произведение в ALU. После этого результат окажется в том же формате, что и сомножители. Еще пример. Произведение 16-разрядного нормированного числа в дополнительном коде или числа в формате Q15 с 13-разрядной константой в дополнительном коде имеет пять знаковых бит. Это может случиться при использовании команды MPYK. Левый сдвиг на 4 разряда правильно выровняет произведение прежде, чем передаст его в ALU. Использование правого сдвига позволяет выполнить подряд 128 команд умножения с накоплением не опасаясь переполнения аккумулятора. Сдвиги могут быть запрещены при работе с целыми числами или при операциях, требующих 32-разрядной точности. Это позволяет сохранить совместимость с системой команд TMS32010.

Использование правого сдвига на 6 разрядов позволяет выполнять до 128 последовательных умножений с одновременным накоплением произведений в аккумуляторе. Этот сдвиг предохраняет от возможного переполнения аккумулятора. Заметим, что в данном случае правый сдвиг всегда выполняется с расширением знака не зависимо от состояния бита SXM.

Четыре младших значащих бита T-регистра (TR) определяют также переменный сдвиг через масштабирующий сдвиговый регистр для команд LACT/ADDT/SUBT (загрузить/прибавить к/вычесть из аккумулятора со сдвигом, указанном в TR). Эти команды используются при операциях с плавающей точкой, в которых числа должны быть предварительно денормализованы, т.е. представлены в формате с фиксированной точкой. Команда тестирования бита (BITT) позволяет проверить один бит в слове данных, номер которого указывается содержимым четырех младших разрядов TR.

1.4.Последовательный порт

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

Работой последовательного порта управляют следующие регистры и биты управления режимами:

  • регистр передачи данных (DXR);

  • регистр сдвига передатчика (XSR);

  • регистр приема данных (DRR);

  • регистр сдвига приемника (RSR);

  • бит формата (FO);

  • бит режима передачи (TXM);

  • бит режима кадровой синхронизации (FSM).

Последовательный порт использует 2 адресуемых в памяти регистра: регистр DXR, который хранит данные, передаваемые последовательным портом, а регистр DRR, который защелкивает принятые данные (см. рис.3-22). Любая команда, адресованная в информационную память, может использоваться для чтения или записи в эти регистры. Однако, команда BLKD (перемещение блоков из информационной памяти в информационную память) не может использоваться для считывания содержимого этих регистров. Регистры DXR и DRR отображаются в ячейки "0000h" и "0001h" адресного пространства данных. Регистры XSR и RSR не являются доступными с помощью программных средств.

Передающие и приемные секции последовательного порта реализуются отдельно для того, чтобы можно было осуществить независимые операции передачи и приема данных как показано на рис.3-23. Внешне интерфейс последовательного порта реализуется с использованием следующих 6 выводов процессора TMS320C2х:

  • вывод передаваемых последовательных данных (DX),

  • вывод тактирования передачи (CLKX),

  • сигнал кадровой синхронизации при передаче (FSX),

  • вывод принимаемых последовательных данных (DR),

  • вывод тактирования приема (CLKR),

  • кадровый сигнал синхронизации при приеме (FSR).

Данные с выводов DX и DR передаются через регистры XSR или RSR, тактируются с помощью сигналов CLKX или CLKR соответственно. Требуется, чтобы сигналы CLKX и CLKR фактически присутствовали только во время передач последовательного порта и могут не подаваться, когда никакие данные не передаются. Биты данных могут передаваться либо 8-разрядными байтами, либо 16-разрядными словами. Биты данных выводятся из регистра XSR по передним фронтам сигнала CLKX, в то время как биты принимаемых данных тактируются по задним фронтам сигнала CLKR. Самый старший бит данных передается первым.

Регистры XSR и RSR подключаются к регистрам DXR и DRR соответственно. При операциях передачи содержимое регистра DXR передается в XSR перед началом новой передачи. При операции приема содержимое регистра RSR передается на DRR после того, как приняты все биты. Таким образом, в TMS320C25 последовательный порт имеет двойной буфер, так как данные могут передаваться в DXR или DRR, а также считываться из них, в то время, когда выполняется операция передачи или приема через последовательный порт.

Заметим, что в TMS32020 регистры DXR и XSR объединены в один общий регистр DXR, а регистры DRR и RSR объединены в регистр DRR. Поэтому последовательный порт TMS32020 не имеет двойной буферизации передаваемых и принимаемых данных.

Передачи последовательного порта обычно инициируются кадровым синхроимпульсом. Исключением из этого являются случай непрерывного режима передачи с битом FSM=0. Кадровый синхроимпульс подается на вход FSХ при операциях передачи и на вход FSR при операциях приема.

По завершении операции передачи/приема последовательного порта генерируется сигнал внутреннего прерывания. Для операции приема генерируется прерывание RINT, а для операции передачи – XINT. Сигналы RINT и XINT генерируются по переднему фронту сигналов CLKR и CLKX соответственно, после передачи последнего бита. Заметим, что если регистр приема данных считывается до получения сигнала прерывания RINT, он будет содержать данные предыдущей операции. Аналогично, если регистр передачи данных загружается более чем 1 раз после генерации сигнала XINT (в непрерывном режиме передачи), только последнее записанное значение будет загружено в регистр XSR при следующей операции передачи.

П
ри сбросе процессор TMS320C25 сбрасывает в нулевое состояние бит TXM, а вывод DX переходит в третье состояние. Любая операция передачи или приема, которая производилась, когда произошел сброс, прекращается.

Рис. 10.3. Блок-схема последовательного порта.

Если последовательный порт не используется, регистры DRR и DXR могут быть использованы как регистры общего назначения. В этом случае вывод CLKR или вывод FSR следует подключить к низкому логическому уровню для предотвращения начала возможной операции приема.

Бит формата FO, расположенный в регистре состояния ST1, используется для определения того, будут ли данные передаваться или приниматься 8-разрядными байтами или 16-разрядными словами. Если FO=0, данные форматируются в 16-разрядные слова. Если FO=1, данные форматируются в 8-разрядные байты. В побайтовом режиме передачи только младшие 8 бит используются при операции передачи или приема. Бит формата загружается командой FORT (форматирование регистров последовательного порта). При сбросе бит формата устанавливается в нулевое состояние.

Бит TXM (режима передачи), также расположенный в регистре состояния ST1, используется для определения того, будет ли кадровый синхроимпульс FSX при операции передачи генерироваться процессором или внешним устройством. Если TXM=0, вывод FSX является входом, а если TXM=1, вывод FSX становится выходом и кадровые синхроимпульсы вырабатываются на выводе FSX в начале передачи последовательного порта. Бит TXM может загружаться командами LST1, STXM или RTXM.

Бит FSM (режим кадровой синхронизации), расположенный в регистре состояния ST1, используется для выбора того, требуются ли кадровые синхроимпульсы для каждой передачи последовательного порта. Если FSM=1, требуются кадровые синхроимпульсы; если SFSM =0, они не требуются. Бит FSM устанавливается командой SFM (установка режима кадровой синхронизации) и сбрасывается командой RFSM (сброс режима кадровой синхронизации).

Временные соотношения сигналов последовательного порта совместимы с кодерами-декодерами серии 2910 фирмы "TI". Временные соотношения также совместимы с кодерами-декодерами серий AMI S3506, если инвертируются кадровые синхроимпульсы.

1.5.Системные средства

TMS320C2x содержит 16-разрядный счетчик команд (PC) и 4-уровневый (TMS32020) или 8-уровневый (TMS320C25) аппаратный стек для хранения содержимого PC. Счетчик команд адресует внешнюю и внутреннюю память программ для выборки команд. Стек используется во время прерываний и вызовов подпрограмм.

Счетчик команд адресует память программ, расположенную либо на кристалле, либо вне кристалла, через шину адреса памяти команд (PAB). Благодаря PAB, команды захватываются из памяти программ и загружаются в регистр команд (IR). После того, как IR загружен, PC инициирует следующий цикл захвата кода команды.

Перед началом нового цикла захвата кода команды PC загружается либо значением PC+1, либо адресом перехода (в случае команды ветвления, программного вызова или прерывания). В случае команды условного перехода, в которой переход не выполняется, PC дважды увеличивается на 1 для учета ячейки, содержащей адрес перехода. Содержимое аккумулятора может быть загружено в счетчик команд во время выполнения операции "вычисляемый GO TO" (команды BACC или CALA).

TMS320C2x имеет возможность выполнить одну команду N+1 раз. N определяется содержимым счетчика повторений (RPTC). Если используется эта возможность, то после каждого выполнения команды RPTC уменьшается на 1. И так до тех пор, пока RPTC не обнулится. Использование счетчика повторений полезно при выполнении таких команд, как NORM (нормализовать содержимое аккумулятора), MACD (умножить и сохранить с перемещением данных), SUBC (условное вычитание). Использование счетчика повторений с многоцикловыми командами такими, как MACD, позволяет выполнять их более эффективно за один цикл.

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

Стек доступен при помощи команд PUSH и POP. Всякий раз, когда содержимое PC проталкивается на вершину стека, предыдущее содержимое каждого уровня стека проталкивается вниз, а содержимое нижнего уровня теряется. Поэтому информация будет потеряна, если в стек будет помещено более четырех (восьми) слов, прежде чем выполнится чтение из стека. При чтении из стека возможен обратный результат: после трех (семи) последовательных чтений из стека каждая последующая выборка будет возвращать содержимое нижнего уровня стека. После этого все уровни стека будут содержать значения нижнего уровня. Две дополнительные команды, PSHD и POPD, позволяют обмениваться данными между вершиной стека и памятью данных. Эти команды позволяют расширить стек в область памяти в случае, если в программе используется более четырех (восьми) вложенных программных вызовов или прерываний.

Конвейер команд состоит из последовательности операций "предвыборка - декодирование - выполнение". Во время работы конвейера предвыборка, декодирование и выполнение команд независимы друг от друга. Это позволяет командам перекрываться. Так в течении одного цикла две или три команды могут быть активны, каждая на разных этапах работы. Добавочные аппаратные средства, имеющиеся на процессоре TMS320C25, позволяют расширить количество уровней конвейера до трех, что повышает производительность процессора. К этим средствам относятся счетчик предзахватов (PFC), 16-разрядный стек микровызовов (MCS), регистр команд (IR), и регистр очереди команд (QIR).

При трехуровневом конвейере PFC содержит адрес следующей команды, которая должна быть предзахвачена. Как только предзахват осуществлен, команда загружается в IR. Если же IR хранит команду, которая еще не выполнена, то предзахваченная команда помещается в QIR. После этого PFC увеличивается на 1. Как только текущая команда будет выполнена, команда из QIR будет перегружена в IR, для дальнейшего исполнения.

Счетчик команд (PC) содержит адрес команды, которая должна быть выполнена следующей, и не используется для операций захвата. Но обычно PC используется в качестве указателя на текущую позицию в программе. Содержимое PC увеличивается после каждой выполненной команды. Когда возникает прерывание или вызов подпрограммы, содержимое PC помещается в стек, чтобы в дальнейшем можно было выполнить возврат в нужное место программы.

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

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

Тип файла
Документ
Размер
505 Kb
Тип материала
Высшее учебное заведение

Список файлов лекций

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