Перейти к содержанию
    

Мультипроцессоры AD, кто имеет опыт ...

Хочу - два процессора (ADSP21065L), одна расшаренная область (SDRAM), а так же у каждого своя внешняя память команд/данных (SRAM).

Каждый процессор, подчиняясь правилам арбитража шины, копирует кусок данных из общей памяти себе, далее работает

Полистал доку, получается, что нет встроенных средств "распараллеливания" шины.

Получается, что без "изврата" с сигналами ~BRx не обойтись?

Если кто имеет опыт, поделитесь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хочу - два процессора (ADSP21065L), одна расшаренная область (SDRAM), а так же у каждого своя внешняя память команд/данных (SRAM).

Каждый процессор, подчиняясь правилам арбитража шины, копирует кусок данных из общей памяти себе, далее работает

Полистал доку, получается, что нет встроенных средств "распараллеливания" шины.

Получается, что без "изврата" с сигналами ~BRx не обойтись?

Если кто имеет опыт, поделитесь.

Я использовал 5 процессоров ADSP21060, висящих на одной шине и плюс внешняя память. Заводил сигналы BRx и прочие для межпроцессорного обмена. Память выбиралась сигналами MSx. Проблем с доступом к внутренней и внешней памяти

не было. Может быть Вам посмотреть на ADSP21161N, внутренней памяти у них побольше, внешний интерфейс - как у ADSP21060?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Процессор менять я не могу.

Программы команд процессоров у Вас хранились во внутренней памяти?

Насколько я понял из доки, если память команд хранить во внешней, да еще и доступ к шине общий, все просто встанет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Процессор менять я не могу.

Программы команд процессоров у Вас хранились во внутренней памяти?

Насколько я понял из доки, если память команд хранить во внешней, да еще и доступ к шине общий, все просто встанет.

Да, программы сидели внутри, но вот мегасловные массивы данных - снаружи.

При использовании EXT DMA - все успевало ( это, конечно, сильно зависит от задачи ).

А у Вас очень сильно большой кусок кода, неужто внутрь не влезет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Код каждого из процессоров на 0.5Мбайт тянет :(

Похоже прийдется мудрить с буферами и логикой арбитража :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Посмотрел на Datasheet 21065 - сами процессоры стыкуются так-же, как и 21060,

а вот управление SDRAM - только от корневого. А что, если Вы возьмете статическую память - тогда доступ к ней будет совершенно равноправный от обоих

процессоров - дороже, но нет ограничений.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

<...а вот управление SDRAM - только от корневого...>

Странно, а где это сказано, ничего такого в доке не встретил.

 

Еще, а если под память данных отвести 16 разрядную SDRAM, в ней можно будет размещать 32 разрядные переменные (хотя вопрос звучит странно, но у AD по моему любой дебилизм возможен).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В Datasheet на странице 6 приведена Fig.3. На ней сигналы RAS и т.д. показаны только от корневого процессора, хотя это, может быть, просто из-за нежелания много рисовать. В случае применения статической памяти Вы тоже можете ставить 16 разрядов, программировать External Port на 16-тиразрядную шину и спокойно качать куски кода внутрь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хм, на своих доках я не нашел fig.3 на странице 6, зато в разделе "Multiprocessing" есть слова "The bus master always retains control of the SDRAM control pins—CAS, DQM, MSx, RAS, SDA10, SDCKE, SDCLKx, and SDWE.".

 

<В случае применения статической памяти Вы тоже можете ставить 16 разрядов, программировать External Port на 16-тиразрядную шину и спокойно качать куски кода внутрь.>

А кто будет заниматься упаковкой/распаковкой в 32 разряда?

Компилятор, или надо железячную приблуду настраивать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А кто будет заниматься упаковкой/распаковкой в 32 разряда?

Компилятор, или надо железячную приблуду настраивать?

Когда Вы программируете регистр DMACx, то указываете в поле PMODE значение b#01, что заставляет контроллер DMA и External порта заниматься упаковкой\распаковкой 32(48)<->16.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, кстати, а может ну его ......? Поставьте два раздельных процессора, каждый со

своей памятью, свяжите их по SPORT и вперед...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...