ReferatWorld.ru
» » » Описание процессоров семейства ADSP
Вернуться назад

Описание процессоров семейства ADSP

Писание сигнальных процессоров семейства ADSP 2100.
Семейство процессоров ADSP-2100 представляет собой совокупность программируемых микропроцессоров с общей структурой, оптимизированную для обработки аналогового сигнала в цифровой форме, а так же для других прикладных целей. Различные микропроцессоры отличаются друг от друга преимущественно типом периферийных устройств, которые дополняют основную структуру. В различных членах семейства могут имеется память, таймер, последовательный и параллельный порты. Кроме того, процессоры ADSP-21msp58/59 включают аналоговый интерфейс для преобразования сигнала звуковой частоты.
2.1. Функциональные модули
Таблица 1.1 показывает характеристики, которыми обладают отдельные члены семейства.
Таблица 1.1
Computational Units (вычислительный модуль) – каждый процессор семейства ADSP-2100 содержит три полнофункциональных независимых вычислительных модуля: arithmetic/logic unit (ALU) – арифметичиско-логический, multiplier/accumulator (MAC) – накопитель, barrel shifter – сдвиговый расширитель.Все модули оперируют с 16-разрядными словами, а также обеспечивают аппаратную поддержку мультиточности.
Data Address Generators & Program Sequencer (генераторы адресов данных и программа sequencer) – два отдельных генератора адресов обеспечивают адреса для встроенной и внешней памяти. Сдвоенные генераторы адресов данных позволяют процессору генерировать адреса для двух выборок операнда одновременно, что максимизирует производительность.
Memory (память) – в семействе ADSP-2100 применяется архитектура памяти, в которой данные хранятся в секции данных, а в секции программ хранятся как данные так и команды. Все процессоры семейства имеют оперативную память состоящую и этих двух сегментов. Быстродействие внутренней памяти позволяет процессору выбирать два операнда (один из области данных, другой из области программ) в течении одного цикла.
Serial Ports (последовательные порты) – обеспечивают последовательный интерфейс связи с аппаратными средствами, предназначенными для сжатия, хранения и обработки данных. Интерфейс совместим с большим числом известных устройств. Каждый порт может использовать как внутренний таймер, так и внешний. Последовательный порт 0 имеет многоканальные возможности.
Timer – 8-разрядный программируемый таймер/счетчик обеспечивает периодическую генерацию прерываний.
Host Interface Port (главный связной порт) – обеспечивает прямое соединение с главным процессором ЭВМ. Например Motorola 68000, Intel 8051 или другой процессор семейства ADSP-2100 могут быть легко соединены с главным интерфейсом.
DMA Ports (порты DMA) – в ADSP-2181 внутренний (IDMA) и байтовый (BDMA) DMA порты обеспечивают эффективную передачу данных из внутренней памяти и в неё. IDMA порт имеет мультиплексный адрес и 16-битную шину данных. IDMA порт полностью асинхронный данные в него могут записываться, в то время когда ADSP-2181 полностью занят.
Analog Interface (аналоговый интерфейс) – процессоры ADSP-21msp58/59 имеют встроенную схему для цифровой обработки аналогового сигнала. Эта схема содержит АЦП (ADC) и ЦАП (DAC), аналоговые и цифровые фильтры и параллельный интерфейс связи с ядром процессора.
Архитектура семейства ADSP-2100 приспособлена к выполнению задач с помощью цифрового сигнального процессора и построена таким образом, что устройства за один такт могут выполнять следующие действия:
· генерировать следующий адрес программы;
· выбирать следующую команду;
· выполнять один или два шага программы;
· модифицировать один или два указателя адреса данных;
· выполнять вычисление.
В этом же такте процессоры, которые имеют релевантные модули могут:
· принимать и/или передавать данные через последовательный порт;
· принимать и/или передавать данные через главный порт интерфейса;
· принимать и/или передавать данные через DMA порты;
· принимать и/или передавать данные через аналоговый интерфейс.
2.2. Системный интерфейс и интерфейс памяти
В каждом процессоре семейства ADSP-2100 четыре внутренних шины соединяют внутреннюю память с другими функциональными модулями:
- шина адреса;
- шина данных;
- шина памяти программ;
- шина памяти данных.
Внешние устройства могут получать контроль над шинами посредством сигналов предоставления (BR,BG). Процессоры ADSP-2100 могут работать в то время когда шины предоставлены другому устройству, пока не требуется операции с внешней памятью.
Схема начальной загрузки дает возможность автоматической загрузки внутренней памяти после того как ее содержимое было стерто. Это можно осуществлять с помощью интерфейса памяти из EPROM, из главного компьютера, посредством главного порта интерфейса, а так же через BDMA порт процессора 2181. Программы могут загружаться без применения каких-либо дополнительных аппаратных средств.
2.3. Система команд
Процессоры семейства ADSP-2100 используют единую систему команд для совместимости с устройствами с более высокой интеграцией. Микропроцессоры ADSP-2171, ADSP-2181 и ADSP-21msp58/59 имеют ряд дополнительных команд. Система команд позволяет выполнять мультифункциональные команды за один такт процессора, с другой стороны каждая команда может быть выполнена отдельно в своем такте. Ассемблер имеет алгебраический синтаксис, для повышения удобочитаемости легкости кодирования.
2.4. Эффективность сигнального процессора
Сигнальный процессор должен быть не только очень быстродействующим, но удовлетворять некоторым требованиям в следующих областях:
· Быстрая и гибкая арифметика – архитектура процессоров ADSP-2100 позволяет в одном производить такие операции, как умножение, умножение с накоплением, произвольное смещение, а так же ряд стандартных арифметических и логических операций в одном цикле процессора.
· Расширенный динамический диапазон – 40-разрядный аккумулятор имеет восемь резервных бит защиты от переполнения при последовательном суммировании, которые гарантируют, что потери данных быть не может.
· Выборка двух операндов за один цикл – при расширенном суммировании на каждом цикле процессора необходимо два операнда. Все члены семейства ADSP-2100 способны поддерживать обработку данных с двумя операндами, сохранены ли данные в памяти или нет.
· Аппаратные циклические буферы – большой класс алгоритмов обработки цифро-аналоговых сигналов, включая цифровые фильтры требуют наличия циклических буферов. Архитектура семейства ADSP-2100 имеет аппаратные средства для обработки указателя адреса wraparound, что упрощает реализацию круговых буферов.
· Переход по нулю – повторяющиеся алгоритмы наиболее логично выражать через циклы. Программа SequenserADSP-2100 поддерживает работу с циклическим кодом с нулем на верху, в объединении со структурой clearestэто повышает эффективность системы. Также нет препядствий для работы с условными переходами.
3. Основная архитектура
В этом разделе описывается основная архитектура процессоров семейства ADSP-2100, схема которой приведена на рис. 2.1.
3.1. Вычислительные модули
Как уже говорилось выше каждый процессор семейства ADSP-2100 содержит три независимых вычислительных модуля:
- арифметико-логический (ALU);
- умножение с накоплением (MAC);
- расширитель (shiffter).
Эти устройства работают с 16-разрядными данными и обеспечивают аппаратную поддержку мультиточности.
ALU выполняет ряд стандартных арифметических и логических комманд в дополнене к примитивам деления. MACвыполняет одноцикловые операции умножения, умножения/сложения, умножения/вычитания. Shiffter осуществляет логические и арифметические сдвиги, нормализацию, денормализацию и операцию получения порядка, атак же управление форматом данных,разрешая работу с плавоющей точкой. Вычислительные модули размещаются последовательно друг за другом, таким образом чтобы выход одного мог стать входом другого в следующем цикле. Результаты работы модулей собираются на 16-разрядную R-шину.
Все три модуля содержат входные и выходные регистры, которые доступны черех 16-разрядную DMD-шину. Комманда, выполняемые в модулях, берут в качестве операндов данные находящиеся в регистрах ввода и после выполнения записывают результат в регистры вывода. Регистры являются как бы промежуточным хранилищем между памятью и вычислительной схемой. R-шина позволяет результату одного вычисления стать операндом к другой операции. Это позволяет сэкономить время обходясь без лишних пересылок модуль-память.
Рис.2.1 Основная структурная схема процессора семейства ADSP-2100

3.2. Генераторы адресов данных и программа sequencer
Два специализированных генератора адресов данных (DAGs) и мощная программа sequencer гарантируют эффективное использование вычислительных модулей. DAGs обеспечивают адреса памяти, когда необходимо поместить данные из памяти в регистры ввода вычислительных модулей, либо сохранить в результат из выхоных регистров. Каждый DAG отвечает за четыре указателя адреса. Если указатель используется для косвенной адресации то измениятся значение некоторого регистра. С двумя генераторами процессор может выдавать два адреса одновременно для выборки из памяти двух операндов.
Для автоматической адресации модуля круговых буферов значение длины операнда может быть связано с каждым указателем. (Круговая буферная особенность также используется последовательными портами для автоматической передачи данных).
DAG1 обеспечивает адреса только для данных, DAG2 – для данных и программ. Когда в регистре состояния (MSTAT) установлен соответствующий бит режима, адрес вывода DAG1 прежде чем попасть на шину адреса инвертируется. Эта особенность облегчает работу в двоичной системе.
Программа Sequenсer обеспечивает последовательность команд и адресацию памяти программы. Sequencer управляется регистром команд, который указывает на команду, которая в данный момент выполняется. Выбранные команды записываются в регистр команд за один такт процессора и выполняются в течении следующего. Чтобы уменьшить количество циклов, sequencer поддерживает работу с условными переходами.
3.3. Шины
Процессоры семейства имеют пять внутренних шин. Шины адреса программы (PMA) и адреса данных (DMA) связаны с адресами памяти данных и программы. Шина данных программы (PMD) и шина данных (DMD) используются для передачи информации связанной с областями памяти. Шины мультиплексированы в одну внешнюю шину адреса и одну внешнюю шину данных. R-шина предназначена для передачи промежуточных результатов непосредственно между вычислительными модулями.
Адресная шина PMA шириной 14 бит обеспечивает достум к 16Кбайтам смешанной системы команд и данных. 24-разрядная шина PMD предназначена для работы с 24-битными командами.
Адресная шина DMA шириной 14 бит, обеспечивает прямой доступ к 16Кбайтам области данных. 16-разрядная шина DMD предназначена для внутренних пересылок между любыми регистрами процессора и регистров с памятью в одиночном цикле. Адрес памяти данных исходит из двух источников: абсолютное значение, определенное в системе команд (прямая адресация) или вывод данных адресует генератор (косвенная адресация). Воспользоваться данными из области команд можно лишь с помощью косвенной адресации.
Шина данных памяти программы (PMD) предназначена для передачи данных в вычислительные модули и считывания результата вычислений через PMD-DMDмодуль обмена. Этот модуль позволяет передавать данные от одной шины к другой. Он имеет аппаратные средства для перехода от 8-разрядной шины к другой.
4. Внутренние переферийные устройства
Этот раздел описывает дополнительные функциональные модули, которые включены в различные процессоры ADSP-2100 семейства.
4.1. Последовательные порты
Большенство процессоров семейства ADSP-2100 имеют по два последовательных двунаправленных порта. Порты – синхронные и используют кадровые сигналы для контроля за приемом-передачей данных. Каждый порт имеет внутренний генератор частоты, но в то же время может использовать внешний генератор. Сигналы синхронизации могут вырабатываться как самим портом, так и внешним устройством. Длина кадра обмена может меняться от трех до шести бит. Последовательный порт SPRT0 имеет многоканальные возможности и пзволяет обмен данными произвольной длины от 24 до 32 байт. Второй порт SPORT1 может быть сконфигурирован с помощью внешних прерываний IRQ0 и IRQ1.
4.2. Таймер
Регистр счета (16-разрядов) определяет время генерации прерываний, прерывание вырабатывается когда значение регистра равно нулю.
4.3. Главный интерфейсный порт (HIP)
Главный интерфейсный порт – параллельный порт ввода-вывода осуществляет прямое соединение с процессором. Через него производится обмен между ADSP-2100 и памятью главной ЭВМ. HIP состоит из регистров, через которые ADSP-2100 и главный процессор обмениваются информацией о состоянии и данными. HIP может быть сконфигурирован следующим образом:
- 8-разрядная или 16-разрядная шина;
- мультиплексная шина данных/шина адреса или отдельно шина данных и шина адреса;
- чтение стробирующих сигналов READ/WRITE.
4.4. DMA порты (ADSP-2181)
ADSP-2181 два DMAпорта внутренний (IDMA) порт и байтовый (BDMA). IDMAпорт обеспечивает эффективную связь между главной системой и сигнальным процессором. Он используется для связи с внутренней памятью программы и памятью данных за один такт процессора. IDMA порт имеет 16-разрядный мультиплексный адрес и шину данных. IDMA порт полностью ассинхронный и может работать даже когда процессор полностью занят.
Байт памяти контроллера DMA позволяет загружать и сохранять комманды программ и данные, находящиеся в памяти. BDMAсхема способна обращаться к ячейке памяти, в то время как процессор работает в обычном режиме, используя только один такт процессора для передачи 8-,16- или 24-разрядных данных.
4.5. Аналоговый интерфейс
Входной аналоговый интерфейс состоит из входных усилителей и 16-разрядного аналогоцифрового преобразователя (ADC). Аналогично на выходе находится цифроаналоговый преобразователь и выходной дифференциальный усилитель.
5. ADSP-2100 - средства разработки
Семейство ADSP-2100 сопровождается полным набором программного обеспечения и аппартных средств для разработки. Система средств разработки для ADSP-2100 включает утилиты программного обеспечения для разработки программы и EZ-комплект для отладки аппаратных средств.
Программное обеспечение включает:
· SystemBuilder(системный составитель программы) – определяет структуру аппаратной системы. Он описывает количество внешней памяти и доступные порты ввода/вывода.
· Assembler (ассемблер) – транслирует исходный код и модули данных и обеспечивает синтаксис высокого уровня. В дополнение к полной диагностике системы Ассемблер обеспечивает макро обработку: включение файлов и модульную обработку кода.
· Linker (компановщик) – связывает раздельные модули программы, получая связанный код, и направляет его к аппаратным средствам, описанным с помощью System Builder.
· Simulator (тренажер) – выполняет интерактивное моделирование аппаратной конфигурации описанной SystemBuilder. Он отмечает запрещенные команды и поддерживает полную символическую трансляцию и дизассемблирование.
· PROMSplitter – этот модуль по выходным данным компановщика генерирует код совместимый с форматом памяти PROM.
· Ccompiler (С транслятор) – читает исходники написаные на С в формате ANSI и код на языке семейства ADSP-2100, готовый к ассемблированию.
Вычислительные модули
1. Краткое описание
1.1. Двоичные строки
Двоичные строки - самое простое представление чисел в процессорах семейства ADSP-2100. Этот формат, например, используют элементарные логические функции: NOT, OR, AND, XORи т.д. Вычислительный модуль ALU обрабатывает эти числа ввиде двоичных последовательностей не привлекая возможности работы с плавающей точкой и знаковым разрядом.
1.2. Беззнаковые числа
Под двоичными числами без знака понимаются положительные числа. Диапазон их представления в процессоре в два раза больше чем у чисел со знаком. Числа большой точности обрабатываются как беззнаковые.
1.3. Числа со знаком: двойное дополнение
Расматривая арифметику семейства ADSP-2100 знаковые числа можно отнести к числам с двойным дополнением. Дольшенства операций процессора поддерживают работу с двойным дополнением. Процессоры семейства ADSP-2100 не поддерживают работу с остатками и BCD-форматом.
1.4. Дробное представление: 1.15
Арифметики ADSP-2100 приспособленна для работы с числами в дробном двочном формате, называемом 1.15. В этом формате имеется один знаковый разряд (MSB) и пятнадцать дробных битов.
Далее представленны весовые значения битов в формате 1.15:
–20 2 –1 2 –2 2 –3 2 –4 2 –5 2 –6 2 –7 2 –8 2 –9 2 –10 2 –11 2 –12 2 –13 2 –14 2 –15
Числа в формате 1.15 Десятичный эквивалент
0x0001
0x7FFF
0xFFFF
0x8000
0.000031
0.999969
–0.000031
–1.000000
1.5. Арифметика ALU
Все комманды ALU обрабатывают операнды, как двоичные 16-разрядные последовательности. Биты состояния: AV- переполнение, AN – знак.
Логика бита переполнения основана на арифметике двойного дополнения. Например при сложении двух положительных чисел получается положительный результат, но может повлечь за собой переполнение. При сложении двух чисел с разными знаками результат может быть как положительным так и отрицательным, но переполнение в этом случае невозможно.
Логика бита переноса основана на арифметике чисел без знака. Он устанавливается если перенос сгенерирован 16-ым битом (MSB).
1.6. Арифметика MAC
Операциив модуле MAC производятся над числами, представленными ввиде двоиных последовательностей и результет выдается в том же виде.
Процессоры семейства ADSP-2100 поддерживают два режима корректировки формата: дробный режим – для дробных операндов (формат 1.15) и целочисленный режим для целых чисел формата 16.0.
Когда процессор умножает два операнда в формате 1.15 в результате получается число 2.30 (два знаковых и 30 дробных разряда). В дробном режиме МАС автоматически сдвигает результат на один бит влево перед пересылкой его в регистр результата (MR). Этим сдвигом результат приводится к виду 1.31, который может быть округлед до формата 1.15.
В целочисленном режиме сдвига влево не происходит. Напрмер при умножении операндов 16.0 результат представляется ввиде 32.0. Сдвиг влево в этом случае не нужен, т.к. он изменит числовое представление результата.
1.7. Резюме
Таблица 1.1 обобщает некоторые арифметические характеристики процессоров семейства ADSP-2100.
Таблица 1.1
Операции Арифметические форматы
Операнды Результат
ALU
Сложение Знаковые или без знака Установка флагов
Вычитание Знаковые или без знака Установка флагов
Логические операции Двоичные строки Тот же, что и операнды
Деление Явно знаковые/без знака Тот же, что и операнды
Переполнение ALU Знаковые Тот же, что и операнды
Бит коррекции ALU 16-разрядные без знака Тот же, что и операнды
Насыщение ALU Знаковые Тот же, что и операнды
MAC (дроб.)
Умножение (Р) 1.15 Явно знаковые/без знака 32 разряда (2.30)
Умножение (MR) 1.15 Явно знаковые/без знака 2.30 сдвинутый к 1.31
Умножение с накоплением 1.15 Явно знаковые/без знака 2.30 сдвинутый к 1.31
Умножение с вычитанием 1.15 Явно знаковые/без знака 2.30 сдвинутый к 1.31
Насыщение МАС Знаковые Тот же, что и операнды
МАС(цел.)
Умножение (Р) 1.15 Явно знаковые/без знака 32 разряда (2.30)
Умножение (MR) 16.0 Явно знаковые/без знака 32.0 без сдвига
Умножение с накоплением 16.0 Явно знаковые/без знака 32.0 без сдвига
Умножение с вычитанием 16.0 Явно знаковые/без знака 32.0 без сдвига
Насыщение МАС Знаковые Тот же, что и операнды
Shifter
Логические сдвиги Баз знака/двоичные строки Тот же, что и операнды
Арифметические сдвиги Знаковые Тот же, что и операнды
Определение порядка Знаковые Тот же, что и операнды
2. Арифметико-логический модуль ALU
Модуль ALU предоставляет набор стандартных арифметических и логических функций. Арифметические функции: сложение, вычитание, отрицание, инкремент, декремент и модуль.Они дополненны двумя примитивами деления, с помощью которых возможна реализация цикла многократного деления. Логические: OR, AND, XOR (исключающее ИЛИ) и NOT.
2.1. Блок-схема ALU
На рисунке 2.1 показана структурная схема вычислительного модуля ALU.
Рис.2.1. Структурная схема ALU
ALU – это 16-разрядное устройство с двумя 16-разрядными портами ввода данных Xи Y,и одним портом вывода - R . ALU генерирует шесть сигналов состояния: ноль (AZ), негатив (AN), перенос (AC), переполнение (AV), знак (AS) и quotient (AQ). В конце каждого цикла эти сигналы сохраняются в регистре состояния процессора (ASTAT).
Порт ввода Xможет принимать данные из двух источников: из регистра АX и с шины результатов R. R-шина соединяет выходные регистры всех вычислительных модулей. Регистр AX предназначен только для порта X и состоит из двух частей AX0 и AX1. Эти регистры подключенны к DMD-шине. Система команд позволяет чтение регистра AX и с помощью PMD-шины, но прямого соединения с ней нет, эта операция использует модуль DMD-PMD обмена. Выводы регистров AX0 и AX1 реализованы таким образом, чтобы один обеспечивал ввод в ALU, а другой в это время управлял DMD-шиной.
Порт ввода Yтакже принимает данные из двух источников: из регистра AY и регистра обратной связи ALU – AF. Регистр AY привязан к порту Y и состои из двух регистров AY0 и AY1. Эти регистры даступны для чтения и записи с DMD-шины и перезаписываемы с PMD-шины. Система комманд позволяет читать регистры AY0 и AY1 с помощью PMD-шины, но то же с использованием DMD-PMD модуля. Выводы ругистров AY0 и AY1 реализованы аналогично регистрам AX0 и AX1.
Выход ALUподключен к выходному регистру результата AR и через регистр обратной связи AF на вход. AF– внутренний регистр ALU, который позволяет результату вычисления использоваться в качестве следующего операнда. Регистр AR имеет выход на DMD- и R-шины. В системе комманд предусмотрена возможность чтения регистра ARпосредством PMD-шины аналогично двум предыдущим случаям.
Любой из регистров ALUдоступен для записи и чтения в течении цикла процессора (для чтения в начале цикла, для чтения - в конце). Таким образом, новое значение, записанное в конце одного цикла, может быть прочитанно лишь в начале следующего. Это позволяет входным регистрам записать в ALU опренд в начале цикла и считать следующий в конце того же цикла. Это так же позволяет сохранить содержимое регистра результата в памяти и прооперировать со следующим результатом в одном цикле.
ALUимеет двойные банки регистров AX, AY, AFи AR (на рис.2.1 это показано тенями). Но в один момент времени доступен только один банк. Доплнительный банк может быть активизирован для чрезвычайно быстрого контекстного переключения. В этом случае новая задача, подобно подпрограмме обработке прерывания, может выполнияться без сохранения текущих данных в памяти.
Выбор главного или альтернативного банка регистров определяется битом 0 регистра режимоа процессора MSTAT. Если этот бит – 0, то выбран главный банк, если – 1, то дополнительный.

Внимание, отключите Adblock

Вы посетили наш сайт со включенным блокировщиком рекламы!
Ссылка для скачивания станет доступной сразу после отключения Adblock!

Скачать полную версию
Рефераты по информатике Писание сигнальных процессоров семейства ADSP 2100. Семейство процессоров ADSP-2100 представляет собой совокупность программируемых микропроцессоров
Оценок: 366 (Средняя 5 из 5)

Одними из наиболее популярных услуг на рынке IT-технологий являются создание и продвижение лендингов. Они способны положительно влиять на деятельность любого бизнес-проекта в интернете. Судя по многочисленным отзывам, заказавшие создание лендингов люди ни разу не пожалели о потраченных деньгах. Они вложили в будущее, которое неразрывно связано с интернетом. Всё больше и больше предпринимателей обращаются к услугам разных агентств, веб-студий, чтобы заказать создание лендинга у профессионалов.

© 2017 - 2022 ReferatWorld.ru