64194 (Описание процессоров семейства ADSP), страница 2
Описание файла
Документ из архива "Описание процессоров семейства ADSP", который расположен в категории "". Всё это находится в предмете "компьютерные науки" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "компьютерные науки" в общих файлах.
Онлайн просмотр документа "64194"
Текст 2 страницы из документа "64194"
Программное обеспечение включает:
-
System Builder (системный составитель программы) – определяет структуру аппаратной системы. Он описывает количество внешней памяти и доступные порты ввода/вывода.
-
Assembler (ассемблер) – транслирует исходный код и модули данных и обеспечивает синтаксис высокого уровня. В дополнение к полной диагностике системы Ассемблер обеспечивает макро обработку: включение файлов и модульную обработку кода.
-
Linker (компановщик) – связывает раздельные модули программы, получая связанный код, и направляет его к аппаратным средствам, описанным с помощью System Builder.
-
Simulator (тренажер) – выполняет интерактивное моделирование аппаратной конфигурации описанной System Builder. Он отмечает запрещенные команды и поддерживает полную символическую трансляцию и дизассемблирование.
-
PROM Splitter – этот модуль по выходным данным компановщика генерирует код совместимый с форматом памяти PROM.
-
C compiler (С транслятор) – читает исходники написаные на С в формате ANSI и код на языке семейства ADSP-2100, готовый к ассемблированию.
Вычислительные модули
-
Краткое описание
-
Двоичные строки
Двоичные строки - самое простое представление чисел в процессорах семейства ADSP-2100. Этот формат, например, используют элементарные логические функции: NOT, OR, AND, XOR и т.д. Вычислительный модуль ALU обрабатывает эти числа ввиде двоичных последовательностей не привлекая возможности работы с плавающей точкой и знаковым разрядом.
-
Беззнаковые числа
Под двоичными числами без знака понимаются положительные числа. Диапазон их представления в процессоре в два раза больше чем у чисел со знаком. Числа большой точности обрабатываются как беззнаковые.
-
Числа со знаком: двойное дополнение
Расматривая арифметику семейства ADSP-2100 знаковые числа можно отнести к числам с двойным дополнением. Дольшенства операций процессора поддерживают работу с двойным дополнением. Процессоры семейства ADSP-2100 не поддерживают работу с остатками и BCD-форматом.
-
Дробное представление: 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 |
-
Арифметика ALU
Все комманды ALU обрабатывают операнды, как двоичные 16-разрядные последовательности. Биты состояния: AV- переполнение, AN – знак.
Логика бита переполнения основана на арифметике двойного дополнения. Например при сложении двух положительных чисел получается положительный результат, но может повлечь за собой переполнение. При сложении двух чисел с разными знаками результат может быть как положительным так и отрицательным, но переполнение в этом случае невозможно.
Логика бита переноса основана на арифметике чисел без знака. Он устанавливается если перенос сгенерирован 16-ым битом (MSB).
-
Арифметика MAC
Операциив модуле MAC производятся над числами, представленными ввиде двоиных последовательностей и результет выдается в том же виде.
Процессоры семейства ADSP-2100 поддерживают два режима корректировки формата: дробный режим – для дробных операндов (формат 1.15) и целочисленный режим для целых чисел формата 16.0.
Когда процессор умножает два операнда в формате 1.15 в результате получается число 2.30 (два знаковых и 30 дробных разряда). В дробном режиме МАС автоматически сдвигает результат на один бит влево перед пересылкой его в регистр результата (MR). Этим сдвигом результат приводится к виду 1.31, который может быть округлед до формата 1.15.
В целочисленном режиме сдвига влево не происходит. Напрмер при умножении операндов 16.0 результат представляется ввиде 32.0. Сдвиг влево в этом случае не нужен, т.к. он изменит числовое представление результата.
-
Резюме
Таблица 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 | ||
Логические сдвиги | Баз знака/двоичные строки | Тот же, что и операнды |
Арифметические сдвиги | Знаковые | Тот же, что и операнды |
Определение порядка | Знаковые | Тот же, что и операнды |
-
Арифметико-логический модуль ALU
Модуль ALU предоставляет набор стандартных арифметических и логических функций. Арифметические функции: сложение, вычитание, отрицание, инкремент, декремент и модуль.Они дополненны двумя примитивами деления, с помощью которых возможна реализация цикла многократного деления. Логические: OR, AND, XOR (исключающее ИЛИ) и NOT.
-
Блок-схема 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, то дополнительный.
-
Стандартные функции
Стандартные функции ALU перечисленны в таблице 2.1.
Таблица 2.1
Функция | Назначение |
R= X+Y | Сложение операндов X и Y |
R= X+Y+CI | Сложение операндов X и Y и бита коррекции |
R= X-Y | Вычитание операндов X из Y |
R= X-Y+CI-1 | Вычитание операндов X из Y с заемом |
R= -X | Инверсия X |
R= -Y | Инверсия Y |
R= X+1 | Инкремент X |
R= Y+1 | Инкремент Y |
R= X-1 | Декремент X |
R= Y-1 | Декремент Y |
R= PASS X | Операнд X не изменяет результата |
R= PASS Y | Операнд Y не изменяет результата |
R= 0 | Очистка результата |
R= ABS X | Модуль X |
R= X AND Y | Логическое умножение операндов X и Y |
R= X OR Y | Логическое сложение опреандов X и Y |
R= X XOR Y | Исключающее ИЛИ операндов X и Y |
R= NOT X | Отрицание X |
R= NOT Y | Отрицение Y |
-
Регистры ввода вывода ALU
Регистры ввода ALU перечисленны ниже.
Регистры для порта X: AX0, AX1, AR, MR0, MR1, MR2, SR0, SR1.
Регистры для порта Y: AY0, AY1, AF.