Регистры управления линк-портами
Для управления работой линк-портов используются три регистра: регистр управления линк-буферами (LCTL), общий регистр управления линками (LCOM) и регистр назначения линков (LAR). Для конфигурирования линк-порта значения в эти регистры должны быть записаны в следующем порядке: LAR, LCOM и LCTL. Перед переназначением линк-порта через регистр LAR соответствующий ему линк-буфер должен быть запрещен соответствующим битом в регистре LCTL.
Линк-порт является запрещенным, если он не имеет назначенного ему буфера или если назначенный ему буфер запрещен.
С помощью назначения одному линк-порту двух линк-буферов (режим "loopback") могут выполняться одновременно до трех пересылок типа "память-память". В таком режиме линк-порт не управляет линиями LxDAT3-0, LxCLK и LxACK.
Регистр LAR
Биты | Поле | Функция |
0-2 | A0LB | номер назначенного линк-порта для линк-буфера № 0 (000-линк-порт № 0, 001-линк-порт № 1, 010-линк-порт № 2, 011-линк-порт № 3, 100-линк-порт № 4, 101-линк-порт № 5, 111-буфер неактивен) |
3-5 | A1LB | аналогично для линк-буфера № 1 |
6-8 | A2LB | аналогично для линк-буфера № 2 |
9-11 | A3LB | аналогично для линк-буфера № 3 |
12-14 | A4LB | аналогично для линк-буфера № 4 |
15-17 | A5LB | аналогично для линк-буфера № 5 |
18-31 | зарезервировано |
Регистр LCTL
Биты | Поле | Функция |
0-3 | - | биты управления линк-буфером № 0: бит № 0 (L0EN) – разрешение линк-буфера. При сбросе этого бита очищаются биты LxSTAT и LPERR в регистре LCOM и связанный линк-порт прекращает прием данных (управление линией LxACK) или передачу данных (управление линией LxCLK) бит № 1 (L0DEN) – разрешение DMA-пересылок через линк-буфер № 0 бит № 2 (L0CHEN) – разрешение цепочечных DMA-пересылок через линк-буфер № 0 бит № 3 (L0TRAN) – направление работы линк-буфера: 1-передача, 0-прием |
4-7 | - | аналогичные биты управления линк-буфером № 1 |
8-11 | - | аналогичные биты управления линк-буфером № 2 |
12-15 | - | аналогичные биты управления линк-буфером № 3 |
16-19 | - | аналогичные биты управления линк-буфером № 4 |
20-23 | - | аналогичные биты управления линк-буфером № 5 |
LEXT0 | разрядность слов, передаваемых/принимаемых через линк-буфер № 0: 1 - 48 бит, 0 - 32 бита. | |
LEXT1 | разрядность слов, передаваемых/принимаемых через линк-буфер № 1: 1 - 48 бит, 0 - 32 бита | |
LEXT2 | разрядность слов, передаваемых/принимаемых через линк-буфер № 2: 1 - 48 бит, 0 - 32 бита | |
LEXT3 | разрядность слов, передаваемых/принимаемых через линк-буфер № 3: 1 - 48 бит, 0 - 32 бита | |
LEXT4 | разрядность слов, передаваемых/принимаемых через линк-буфер № 4: 1 - 48 бит, 0 - 32 бита | |
LEXT5 | разрядность слов, передаваемых/принимаемых через линк-буфер № 5: 1 - 48 бит, 0 - 32 бита | |
30-31 | зарезервировано |
Поле LEXTx имеет приоритет над полем длины слова внутренней памяти IMDW в регистре SYSCON. Если LEXTx=1, то обращение к памяти происходит в пространство памяти 48-рязрядных слов независимо от значения бита IMDW.
Регистр LCOM
Биты | Поле | Функция |
0-1 | L0STAT | состояние линк-буфера № 0: 11-полон, 00-пуст, 10-частично полон |
2-3 | L1STAT | состояние линк-буфера № 1: 11-полон, 00-пуст, 10-частично полон |
4-5 | L2STAT | состояние линк-буфера № 2: 11-полон, 00-пуст, 10-частично полон |
6-7 | L3STAT | состояние линк-буфера № 3: 11-полон, 00-пуст, 10-частично полон |
8-9 | L4STAT | состояние линк-буфера № 4: 11-полон, 00-пуст, 10-частично полон |
10-11 | L5STAT | состояние линк-буфера № 5: 11-полон, 00-пуст, 10-частично полон |
LCLKX20 | передача данных на удвоенной частоте через линк-буфер № 0 | |
LCLKX21 | передача данных на удвоенной частоте через линк-буфер № 1 | |
LCLKX22 | передача данных на удвоенной частоте через линк-буфер № 2 | |
LCLKX23 | передача данных на удвоенной частоте через линк-буфер № 3 | |
LCLKX24 | передача данных на удвоенной частоте через линк-буфер № 4 | |
LCLKX25 | передача данных на удвоенной частоте через линк-буфер № 5 | |
L2DDMA | разрешение 2D-DMA (общее поле для всех портов). Линк-буферы № 4 и 5 на DMA-каналах № 6 и 7 не поддерживают режим двумерной DMA | |
LPDRD | запретить использование внутреннего согласующего резистора для линий LxCLK и LACK (общее поле для всех портов) | |
LMSP | =1 для разрешения режима mesh multiprocessing (общее поле для всех портов) | |
21-22 | LPATHD | поле задержки при переключении LPATH в режиме mesh multiprocessing (общее поле для всех портов) |
23-25 | --- | зарезервировано |
LPERR0 | состояние приема слова через линк-буфер № 0 (1 - незавершен, 0 - завершен) | |
LPERR1 | состояние приема слова через линк-буфер № 1 (1 - незавершен, 0 - завершен) | |
LPERR2 | состояние приема слова через линк-буфер № 2 (1 - незавершен, 0 - завершен) | |
LPERR3 | состояние приема слова через линк-буфер № 3 (1 - незавершен, 0 - завершен) | |
LPERR4 | состояние приема слова через линк-буфер № 4 (1 - незавершен, 0 - завершен) | |
LPERR5 | состояние приема слова через линк-буфер № 5 (1 - незавершен, 0 - завершен) |
42. Организация взаимодействия между процессорами. Регистр LSRQ. Алгоритм "передачи маркера".
ADSP_2106x имеет такие функциональные характеристики, которые позволяют создавать многопроцессорные системы. Эти характеристики включают: встроенный арбитраж шины и возможность обращения в многопроцессорной системе к внутренней памяти и регистрам устройства ввода_вывода (IOP, Input Output Processor) других ADSP_2106x. ADSP_2106x также способен блокировать шину для выполнения неделимой последовательности чтение_модификация_ запись для семафоров.
В многопроцессорной системе с несколькими ADSP_2106x, совместно использующими внешнюю шину, любой из процессоров может стать ведущим. Ведущий процессор берет на себя управление шиной, которая включает сигналы DATA47_0, ADDR31_0 и линии управления. На рис. 7.1 показана многопроцессорная система.
В многопроцессорных системах обычно используют одну из двух схем связи между процессорами. В первой схеме реализуется соединение «точка к точке». В другой связь с совместно используемой глобальной памятью осуществляется по общей параллельной шине.
В ADSP_2106x SHARC обеспечивается реализация соединения «точка к точке»
через шесть линк_портов. Многопроцессорная система, связь в которой реализуется по совместно используемой параллельной шине, называется кластерной многопроцессорной системой.
Характеристики кластерной многопроцессорной системы ADSP_2106x описаны в этой главе, а соединение «точка к точке» описано в главе Линк_порты этого руководства.
При создании многопроцессорной системы нужно решить две проблемы, связанные с непроизводительными затратами при межпроцессорном взаимодействии и ограниченной полосой пропускания данных. Архитектура ADSP_2106x SHARC позволяет решить эти проблемы несколькими способами (см. далее описание трех основных типов многопроцессорной системы).