Мысловский Э.В. Цифровые сигнальные процесссоры (2003), страница 3
Описание файла
PDF-файл из архива "Мысловский Э.В. Цифровые сигнальные процесссоры (2003)", который расположен в категории "". Всё это находится в предмете "компьютерные методы и технологии автоматизации и управления" из 9 семестр (1 семестр магистратуры), которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст 3 страницы из PDF
В соответствии с командами, читаемыми изпамяти программ устройство вырабатывает сигналы управления работой всех устройствпроцессора. Имеющиеся у устройства регистры содержат информацию о конфигурациипроцессора, например используемой памяти, о событиях в ходе работы, например опоступившем сигнале прерывания, и инициализируются перед началом работы.Устройство генерации адреса формирует адреса данных извлекаемых из памятипрограмм или памяти данных. Данное устройство имеет собственные арифметическиемодули, что позволяет разгрузить АЛУ при использовании сложных методов адресации,например, таких как циклический буфер или бит-реверсная адресация.
Составвнутрикристальной периферии зависит от назначения ЦСП, практически все моделиимеют последовательные порты и таймер.Все ЦСП имеют регистровые файлы - набор регистров для хранения операндови результатов операций. Существует шесть типов операций:141.регистр, регистр => регистр2.память, память => регистр3.память, регистр => регистр4.память, память => память5.регистр, регистр => память6.память, регистр => памятьТип команды регистр, регистр => регистр означает, что операнды находятся врегистрах и результат помещается в регистр. Компиляторы языков высокого уровнянаиболее эффективно используют именно этот тип операции. Именно поэтомуразработчики стараются увеличить размер регистрового файла, поскольку это позволяетсоздавать более эффективные компиляторы языков высокого уровня.Процесс выполнения команды во всех процессорах разбивается на несколькоэтапов.
Конвейерный принцип выполнения команд состоит в том, что различные этапыразличных команд выполняются одновременно.Количество этапов, на которые разбивается выполнение команд в разныхпроцессорах различно:•В процессорах TI С2х существует три этапа конвейера: выборка,декодирование, выполнение команды.•В процессорах TI С20х, С5х, С24х количество этапов - четыре: выборка,декодирование, подготовка операнда, выполнение команды.•В процессорах ADSP 21хх, 2106х - три этапа: выборка, декодирование,выполнение команды.Время выполнение одного этапа называется командным циклом или тактом.Время командного цикла равно периоду внутреннего генератора синхронизирующихимпульсов, и может отличаться от периода внешнего генератора.Несмотря на то, что каждая команда выполняется за три цикла, результатывыполнения появляются через интервал в один цикл.
Период появления результатов вэтом случае является временем выполнения команды.Конвейерноевыполнениекомандвозможноприналичиинесколькихфункциональных узлов для выполнения одновременно различных этапов с различнымиданными, относящимися к различным командам.15В частности использование гарвардской архитектуры позволяет одновременновыбирать команду из памяти программ и данные из памяти данных.На стационарность конвейерного выполнения влияет несколько факторов:1.Длина команды. Для нормальной работы конвейера все команды должныиметь одинаковую длину2.Количество условных переходов.
Если выполняется команда условногоперехода, то адрес следующей команды становиться известным только после этапавыполнения команды. Поэтому если должна выполняться команда, располагающаяся неследом за командой условного перехода, то возникает, так называемый, конфликтконвейера.Иногда при выполнении команд конфликты конвейера возникают на аппаратномуровне:1.Необходимо на одном этапу осуществить из внешней памяти выборкукоманд и данных. Большинство ЦСП имеют одну общую шину для доступа к внешнейпамяти. Для предотвращения подобных конфликтов необходимо размещать программу иданные по различным блокам память, допускающим совместный доступ.2.Возникновение необходимости использовать на этапе выполнения однии те функциональные устройства.При возникновении конфликта на этапе эксплуатации процессор в большинствеслучаев автоматически добавляет пустые такты.1.2 Процессоры с фиксированной и плавающей точкойПроцессоры с фиксированной точкой и процессоры с плавающей точкойотличаются формой представления данных.
При этом следует заметить, что всепроцессоры с плавающей точкой имеют наборы команд как для обработки данных сфиксированной точкой, так и для обработки данных с плавающей точкой. Инымисловами, процессоры с плавающей точкой являются расширением процессоров сфиксированной точкой. С другой стороны в процессорах с фиксированной точкой всегдаможно организовать обработку данных с плавающей точкой программным путем, однако,соответствующие подпрограммы требуют достаточно много времени для выполнения.В силу того, что алгоритмы выполнения операций с плавающей точкой болеесложны, чем аналогичные алгоритмы с фиксированной точкой, цена процессоров сфиксированной точкой выше.16Поэтому необходим тщательный анализ задачи для правильного выборасемейства ЦСП.1.3 Основные типы ЦСПС точки зрения архитектуры, все существующие в настоящее время процессорыможно разделить на следующие основные типы;•Стандартные ЦСП•Улучшенные ЦСП•Процессоры VLIW•Суперскалярные процессоры•Гибриды ЦСП/микроконтроллер1.3.1 Стандартные процессоры ЦОСАрхитектура стандартных ЦСП описана в п.
1.2. Рассмотрим алгоритм КИХфильтра, выполняемый на данном процессоре.Выходной отсчет вычисляется как:Коэффициенты фильтра хранятся в памяти программ, входные данные хранятся впамяти данных. За один такт происходит считывание из памяти входного отсчета,коэффициента и их перемножение. В процессорах ADSP-21xx эта операция выглядитследующим образом:MR = MR + МХО * MYO, МХО = DM(I0,M0), MY0 = РМ(I4,М4)Таким образом, выходной отсчет вычисляется за N тактов.1.3.2Улучшенные ЦСПСуществует три основных пути увеличения производительности ЦСП:1. Увеличение тактовой частоты процессора2. Увеличение количества одновременно производимых операций3.
Увеличение количества одновременно выполняемых командПроцессоры, в которых увеличение производительности достигается увеличениемколичествастандартнымодновременнопроцессорам.производимыхУвеличениеопераций,количестваопераций достигается:17относятсяодновременнокулучшеннымпроизводимых•Увеличениемколичествадополнительныхфункциональныхмодулей(например, сумматоров или умножителей с накоплением)•Введением специализированных функциональных модулей (например,модулей для построения цифровых фильтров)•Расширениемшинпередачиданныхдляувеличенияколичествапередаваемой одновременно информации•Использованием памяти с многократным доступом (памяти с возможностьювыполнения нескольких обращений за такт)Следствием подобных мер увеличения производительности является усложнениесистемы команд и усложнение разработки программного обеспечения. С другой стороныподобная архитектура является не дружественной для компиляторов языков высокогоуровня.
Как отмечалось выше, компилятор эффективно использует простые команды,характерные для архитектур типа RISC.Тем не менее, улучшенные стандартные процессоры получили достаточноширокое распространение, среди них можно назвать процессоры DSP56301 (Motorola),TMS320C55x (Texas Instruments), ADSP-2116x (Analog Device).1.3.3 Процессоры с архитектурой VLIYVОдним из способов увеличения производительности является увеличениеколичества команд, выполняемых одновременно. Этот способ реализован в процессорах сархитектурой VLIW (Very Long Instruction Word).
Подобные процессоры используютпростую систему команд, каждая из которых представляет собой элементарнуюоперацию. Несколько простых команд выполняется одновременно в различныхнезависимыхблокахпроцессора.Команды,которыедолжныбытьвыполненыодновременно собираются в пакет и представляют собой, так называемую, суперкоманду.Архитектура предполагает использование регистровых файлов большого размера дляхранения операндов и результатов работы всех операционных модулей. Длинные команды(суперкоманды) предполагают так же наличие многоразрядных шин передачи команд иданных.Недостатком данной архитектуры следует считать большие объемы памяти,требуемые для записи программы с суперкомандами и нерациональное использованиеэтой памяти.18К процессорам, построенным по архитектуре VLIW, следует отнести процессорыфирмы Texas Instruments TMS320C6xxx и процессоры фирмы Motorola MSC8lOx1.3.4 Суперскалярные процессорыВ процессорах с VLIW архитектурой работу по группировке команд в пакет(суперкоманду) выполняет программист, в суперскалярных процессорах эту работувыполняет сам процессор.
Команды группируются в пакет на этапе выполнения, поэтому,с точки зрения программиста все команды являются самостоятельными.В процессорах с суперскалярной архитектурой вводятся два дополнительныхмодуля:•Модуль команд•Модуль данныхМодуль команд состоит из узла выборки команд, кэша команд и узла отправки навыполнение. Узел выборки команд в течение одного такта выбирает из памяти программ вкэш некоторое количество команд, при этом используются методы предсказанияпереходов и другие методы, уменьшающие конфликты и задержки конвейера выполнениякоманд.