модулі
Як вже мовилося вище кожен процесор сімейства ADSP-2100 містить три незалежні обчислювальні модулі:
арифметико-логічний (ALU);
множення з накопиченням (MAC);
розширювач (shiffter).
Ці пристрої працюють з 16-розрядними даними і забезпечують апаратну підтримку мультиточности.
ALU виконує ряд стандартних арифметичних і логічних комманд в дополнене до примітивів ділення. MAC виконує одноцикловые операції множення, множення/складання, множення/віднімання. Shiffter здійснює логічні і арифметичні зрушення, нормалізацію, денормалізацію і операцію отримання порядку, атак же управління форматом даних, вирішуючи роботу з плавоющей крапкою. Обчислювальні модулі розміщуються послідовно один за одним, таким чином щоб вихід один міг стати входом іншого в наступному циклі. Результати роботи модулів збираються на 16-розрядну R-шину.
Всі три модулі містять вхідні і вихідні регістри, які доступні черех 16-розрядну DMD-шину. Комманда, що виконуються в модулях, беруть як операнди дані що знаходяться в регістрах введення і після виконання записують результат в регістри виводу. Регістри є як би проміжним сховищем між пам'яттю і обчислювальною схемою. R-шина дозволяє результату одного обчислення стати операндом до іншої операції. Це дозволяє заощадити час обходячись без зайвих пересилок модуль-пам'ять.
Генератори адрес даних і програма sequencer
Два спеціалізовані генератори адрес даних (DAGs) і могутня програма sequencer гарантують ефективне використання обчислювальних модулів. DAGs забезпечують адреси пам'яті, коли необхідно помістити дані з пам'яті в регістри введення обчислювальних модулів, або зберегти в результат з выхоных регістрів. Кожен DAG відповідає за чотири покажчики адреси. Якщо покажчик використовується для непрямої адресації те измениятся значення деякого регістра. З двома генераторами процесор може видавати дві адреси одночасно для вибірки з пам'яті двох операндів.
Для автоматичної адресації модуля кругових буферів значення довжини операнда може бути пов'язане з кожним покажчиком. (Кругова буферна особливість також використовується послідовними портами для автоматичної передачі даних).
DAG1 забезпечує адреси тільки для даних, DAG2 – для даних і програм. Коли в регістрі стану (MSTAT) встановлений відповідний біт режиму, адреса виведення DAG1 перш ніж потрапити на шину адреси інвертується. Ця особливість полегшує роботу в двійковій системі.
Програма Sequenсer забезпечує послідовність команд і адресацію пам'яті програми. Sequencer управляється регістром команд, який указує на команду, яка в даний момент виконується. Вибрані команди записуються в регістр команд за один такт процесора і виконуються в перебігу наступного. Щоб зменшити кількість циклів, sequencer підтримує роботу з умовними переходами.
Шини
Процесори сімейства мають п'ять внутрішніх шин. Шини адреси програми (PMA) і адреси даних (DMA) пов'язані з адресами пам'яті даних і програми. Шина даних програми (PMD) і шина даних (DMD) використовуються для передачі інформації пов'язаної з областями пам'яті. Шини мультиплексированы в одну зовнішню шину адреси і одну зовнішню шину даних. R-шина призначена для передачі проміжних результатів безпосередньо між обчислювальними модулями.
Адресна шина PMA шириною 14 біт забезпечує достум до 16Кбайтам змішаної системи команд і даних. 24-розрядна шина PMD призначена для роботи з 24-бітовими командами.
Адресна шина DMA шириною 14 битий, забезпечує прямий доступ до 16Кбайтам області даних. 16-розрядна шина DMD призначена для внутрішніх пересилок між будь-якими регістрами процесора і регістрів з пам'яттю в одиночному циклі. Адреса пам'яті даних виходить з двох джерел: абсолютне значення, визначене в системі команд (пряма адресація) або виведення даних адресує генератор (непряма адресація). Скористатися даними з області команд можна лише за допомогою непрямої адресації.
Шина даних пам'яті програми (PMD) призначена для передачі даних в обчислювальні модулі і прочитування результату обчислень через PMD-DMD модуль обміну. Цей модуль дозволяє передавати дані від однієї шини до іншої. Він має апаратні засоби для переходу від 8-розрядної шини до іншої.
Внутрішні переферийные устрої
Цей розділ описує додаткові функціональні модулі, які включені в різні процесори ADSP-2100 сімейства.
Послідовні порти
Большенство процесорів сімейства ADSP-2100 мають по два послідовні двонаправлені порти. Порти – синхронні і використовують кадрові сигнали для контролю за прийомом-передачею даних. Кожен порт має внутрішній генератор частоти, але в той же час може використовувати зовнішній генератор. Сигнали синхронізації можуть вироблятися як самим портом, так і зовнішнім пристроєм. Довжина кадру обміну може мінятися від трьох до шести битий. Послідовний порт SPRT0 має багатоканальні можливості і пзволяет обмін даними довільної довжини від 24 до 32 байт. Другий порт SPORT1 може бути конфігурований за допомогою зовнішніх переривань IRQ0 і IRQ1.
Таймер
Регістр рахунку (16-разрядов) визначає час генерації переривань, переривання виробляється коли значення регістра дорівнює нулю.
Головний інтерфейсний порт (HIP)
Головний інтерфейсний порт – паралельний порт введення-виводу здійснює пряме з'єднання з процесором. Через нього проводиться обмін між ADSP-2100 і пам'яттю головної ЕОМ. HIP складається з регістрів, через які ADSP-2100 і головний процесор обмінюються інформацією про стан і даними. HIP може бути конфігурований таким чином:
8-розрядна або 16-розрядна шина;
мультиплексна шина данных/шина адреси або окремо шина даних і шина адреси;
читання стробуючих сигналів READ/WRITE.
DMA порти (ADSP-2181)
ADSP-2181 два DMA порту внутрішній (IDMA) порт і байтовий (BDMA). IDMA порт забезпечує ефективний зв'язок між головною системою і сигнальним процесором. Він використовується для зв'язку з внутрішньою пам'яттю програми і пам'яттю даних за один такт процесора. IDMA порт має 16-розрядну мультиплексну адресу і шину даних. IDMA порт повністю ассинхронный і може працювати навіть коли процесор повністю зайнятий.
Байт пам'яті контроллера DMA дозволяє завантажувати і зберігати комманды програм і дані, що знаходяться в пам'яті. BDMA схема здатна звертатися до елементу пам'яті, тоді як процесор працює в звичайному режимі, використовуючи тільки один такт процесора для передачі 8-,16- або 24-розрядних даних.
Аналоговий інтерфейс
Вхідний аналоговий інтерфейс складається з вхідних підсилювачів і 16-розрядного аналогоцифрового