А. В. Комаров цифровые сигнальные процессоры

Вид материалаДокументы

Содержание


генераторы адресов данных DAG1 и DAG2, регистр команд INSTRUCTION REGISTER и программный конвейер PROGRAM SEQUENCER.
Подобный материал:
1   2   3   4   5   6   7   8   9   ...   26

генераторы адресов данных DAG1 и DAG2, регистр команд INSTRUCTION REGISTER и программный конвейер PROGRAM SEQUENCER.


Внутренние шины обеспечивают пересылку команд из ПП, а также данных из памяти данных в вычислительные устройства и обратно. К ним относятся: шина адреса ПП PMA BUS (Program Memory Address Bus), шина адреса ПД DMA BUS (Data Memory Address Bus), шина данных ПП PMD BUS (Program Memory Data Bus), шина данных ПД DMD BUS (Data Memory Data Bus), шина команд I BUS (Instruction Bus) и шина результатов вычислений R BUS (Result Bus).

Можно говорить о наличии у процессора четырех магистралей: ПП PMA, PMD BUS, ПД DMA, DMD BUS, команд I BUS и результатов вычислений R BUS. Наличие множества внутренних магистралей позволяет распараллеливать процесс пересылок команд и данных, в частности, можно совместить во времени вычисление и считывание данных из памяти программ и памяти данных (см. п. 1.17.9). Это позволяет существенно повысить производительность процессора. Магистрали ПП и ПД соединены между собой с помощью узла обмена данными BUS EXCH (см. п. 1.5).

Ширина адресных шин (PMA, DMA) – 14 бит, что обеспечивает доступ к 16К ячейкам памяти. Ширина шины данных ПП (PMD, I) – 24 бита по числу бит команды процессора. Все оставшиеся шины (DMD, R) имеют ширину 16 бит, что позволяет обмениваться 16-битными данными за один цикл доступа к ПД.

Все вычислительные устройства имеют входные регистры (INP REGS), над содержимым которых они выполняют арифметические операции или операции сдвига. В ALU и MAC к таким регистрам относятся Х- и Y- регистры (см. пп. 1.5, 1.6), а в SHIFTER – S-регистр. Х- и S-регистры подключаются к DMD, а Y-регистры – к PMD, что позволяет одновременно считывать данные из памяти данных в Х-регистры, а из памяти программ – в Y-регистры вычислительных устройств.

Результаты арифметических операций и операций сдвига сохраняются в выходных регистрах (OUT REGS) вычислительных устройств, которые связаны с DMD и шиной результатов R. Шина DMD используется для обмена данными с ПД. Шина результатов позволяет использовать результат операции одного вычислительного устройства в качестве операнда в другом вычислительном устройстве без потери времени на сохранение результата операции в ПД.

DAG1 и DAG2 используются для реализации косвенной и косвенной автоинкрементной/автодекрементной адресации данных (см. п. 1.11), поскольку среди прочих содержат по четыре регистра указателей.

Программный конвейер формирует адреса инструкций для ПП. Он управляет регистром инструкций, который содержит исполняемую в данный момент команду. Команды загружаются в регистр инструкций в течение одного цикла, а исполняются в течение следующего, одновременно с загрузкой следующей инструкции.


I BUS



Рис. 1.3 показывает, что к периферийной части процессора отнесены:
  • мультиплексор шины адреса MUX1;
  • мультиплексор шины данных MUX2;
  • память программ – PROGRAM SRAM;
  • память данных – DATA SRAM;
  • байтовый КПДП – BDMA (Byte DMA Controller);
  • внутренний КПДП – IDMA PORT (Internal DMA PORT);
  • последовательные синхронные порты SERIAL PORT0, 1;
  • таймер – TIMER;
  • узел управления энергосбережением процессора – PDCL (Power Down Control Logic);
  • программируемые входы/выходы – PROG(rammable). I/O;
  • выходы флагов – FLAGS;
  • входы запросов прерываний – INTERRUPTS.

Периферийная и базовая части процессора соединяется внутренними шинами I, PMA, DMA, PMD, DMD. На рис. 1.3 их выходы изображены слева. Справа и снизу изображены внешние входы/выходы, которыми про­цессор соединяется с внешним миром. Для выдачи адреса на внешнюю шину адреса EXTERNAL ADDRESS BUS используется мультиплексор шины адреса MUX1. Если идет обращение к внешнему адресному пространству ПП, то на внешнюю шину адреса попадает код адреса с PMA. Если идет обращение к внешнему адресному пространству ПД, то на внешнюю шину адреса попадает код адреса с DMA. Выводы внешней шины адреса имеют обозначения ADDR[13:0] (см. п. 1.1).

Для взаимодействия с внешней шиной данных (ввод команд или ввод/вывод данных) EXTERNAL DATA BUS используется мультиплексор шины данных MUX2. Если идет обращение к внешнему адресному пространству ПП, то код команды с внешней шины данных попадает на PMD. Если идет обращение к внешнему адресному пространству ПД, то внешняя шина данных соединяется с DMD. Выводы внешней шины данных имеют обозначения DATA[23:0] (см. п. 1.1).

ПП (см. п. 1.3) используется для хранения программы и данных. Это ОЗУ статического типа (SRAM – Static RAM), поэтому во время сброса процессора обычно осуществляется загрузка программы (см. пп. 1.15.4, 1.16.3).

ПД (см. п. 1.4) используется для хранения данных. В ее адресном пространстве располагаются также некоторые регистры специального назначения (РСН, см. пп. П1.1-П1.16).

Байтовый КПДП (см. п. 1.15) используется для взаимодействия с БП процессора (ввод программ, ввод/вывод данных). БП подключается к внешней магистрали процессора (внешние шины адреса и данных) с использованием селектирующего сигнала BMS# (см. п. 1.1). В частности, байтовая память может использоваться для хранения программы, которая во время сброса процессора загружается во внутреннюю ПП. Записать данные в БП или считать их оттуда прямо из программы (без использования байтового КПДП) невозможно, поскольку только байтовый КПДП формирует сигнал BMS#.

Внутренний КПДП (см. п. 1.16) используется для связи с внешним миром, например, для ввода программы во внутреннюю ПП при сбросе процессора, а также для ввода и вывода данных. Имеет собственную магистраль (см. п. 1.1), в которую входят: шина адреса/данных IAD[15:0] и шина управления IRD#, IWR#, IS#, IAL, IACK#. Поскольку шина адреса данных 16-битная, возможен обмен двухбайтными словами.

Последовательные синхронные порты (см. п. 1.12) используются для связи с внешним миром, например, для связи с другим процессором или любым другим последовательным синхронным портом. Связь осуществляется с использованием пяти выводов. По одному из них данные принимаются в регистр REC REG, по другому данные выдаются из регистра TRN REG, оставшиеся выводы используются для формирования управляющих сигналов. На рис. 1.3 условно не показан узел уплотнения данных COMPANDING CIRCUITRY, который связан с последовательными портами.

Таймер (см. п. 1.13) используется для формирования промежутков времени заданной длительности. Задание длительности, запуск и останов таймера осуществляется программно. Таймер формирует внутренние запросы на прерывание.

Узел управления энергосбережением процессора (см. п. 1.14.4) осуществляет поддержку входного сигнала PWD# и команд процессора IDLE, IDLE(n) (см. п. 1.17.8.з). Один из выходных сигналов узла PWDACK (см. п. 1.1) отражает состояние процессора (обычное или сохранения энергии).

Программируемые входы/выходы (см. п. 1.14.3) используется для связи с внешним миром. Каждая из этих линий может быть запрограммирована на ввод или вывод. Имеют обозначения PF7:0 (см. п. 1.1).

Выходы флагов (см. п. 1.14.3) используется для связи с внешним миром, например для вывода управляющих сигналов или сигналов состояния. Имеют обозначения FL2:0 (см. п. 1.1).

Входы запросов прерываний (см. п. 1.9) служат для ввода внешних сигналов запроса прерываний с различными свойствами IRQ2#, IRQL0#, IRQL1#, IRQE# (см. п. 1.1).


1.3. Память программ


ПП представляет собой ОЗУ объемом 16К х 24. Кроме этого возможно использование 8К х 24 внешней памяти оверлеев. При использовании этой памяти всегда вставляются такты ожидания, число которых определяется содержимым битовой группы PWAIT регистра System Control Register (РСН, расположенный в ПД по адресу 0х3FFF, см. п. П1.1).

Организация адресного пространства ПП (рис. 1.4) управляется внешним сигналом MMAP (см. п. 1.1) и содержимым программно доступного РСН PMOVLAY. Как показывает рис.1.4, при MMAP = 0 8К младших адресов принадлежат внутренней оперативной памяти. Это вынуждает при старте процессора (см. п. 1.14.1) производить загрузку программы (см. пп. 1.15.4, 1.16.3), поскольку процессор стартует с нулевого адреса. Старшие 8К адресов с помощью РСН PMOVLAY назначены на внутреннюю (PMOVLAY = 0) или внешнюю (PMOVLAY = 1 или 2) память процессора. Табл. 1.1 показывает выбор номера оверлея с помощью содержимого РСН PMOVLAY.