3.14 0 25 апреля, 2005 Опубликовано 25 апреля, 2005 · Жалоба Хочу - два процессора (ADSP21065L), одна расшаренная область (SDRAM), а так же у каждого своя внешняя память команд/данных (SRAM). Каждый процессор, подчиняясь правилам арбитража шины, копирует кусок данных из общей памяти себе, далее работает Полистал доку, получается, что нет встроенных средств "распараллеливания" шины. Получается, что без "изврата" с сигналами ~BRx не обойтись? Если кто имеет опыт, поделитесь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bve 1 25 апреля, 2005 Опубликовано 25 апреля, 2005 · Жалоба Хочу - два процессора (ADSP21065L), одна расшаренная область (SDRAM), а так же у каждого своя внешняя память команд/данных (SRAM). Каждый процессор, подчиняясь правилам арбитража шины, копирует кусок данных из общей памяти себе, далее работает Полистал доку, получается, что нет встроенных средств "распараллеливания" шины. Получается, что без "изврата" с сигналами ~BRx не обойтись? Если кто имеет опыт, поделитесь. <{POST_SNAPBACK}> Я использовал 5 процессоров ADSP21060, висящих на одной шине и плюс внешняя память. Заводил сигналы BRx и прочие для межпроцессорного обмена. Память выбиралась сигналами MSx. Проблем с доступом к внутренней и внешней памяти не было. Может быть Вам посмотреть на ADSP21161N, внутренней памяти у них побольше, внешний интерфейс - как у ADSP21060? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
3.14 0 25 апреля, 2005 Опубликовано 25 апреля, 2005 · Жалоба Процессор менять я не могу. Программы команд процессоров у Вас хранились во внутренней памяти? Насколько я понял из доки, если память команд хранить во внешней, да еще и доступ к шине общий, все просто встанет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bve 1 25 апреля, 2005 Опубликовано 25 апреля, 2005 · Жалоба Процессор менять я не могу. Программы команд процессоров у Вас хранились во внутренней памяти? Насколько я понял из доки, если память команд хранить во внешней, да еще и доступ к шине общий, все просто встанет. <{POST_SNAPBACK}> Да, программы сидели внутри, но вот мегасловные массивы данных - снаружи. При использовании EXT DMA - все успевало ( это, конечно, сильно зависит от задачи ). А у Вас очень сильно большой кусок кода, неужто внутрь не влезет? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
3.14 0 25 апреля, 2005 Опубликовано 25 апреля, 2005 · Жалоба Код каждого из процессоров на 0.5Мбайт тянет :( Похоже прийдется мудрить с буферами и логикой арбитража :( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bve 1 26 апреля, 2005 Опубликовано 26 апреля, 2005 · Жалоба Посмотрел на Datasheet 21065 - сами процессоры стыкуются так-же, как и 21060, а вот управление SDRAM - только от корневого. А что, если Вы возьмете статическую память - тогда доступ к ней будет совершенно равноправный от обоих процессоров - дороже, но нет ограничений. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
3.14 0 26 апреля, 2005 Опубликовано 26 апреля, 2005 · Жалоба <...а вот управление SDRAM - только от корневого...> Странно, а где это сказано, ничего такого в доке не встретил. Еще, а если под память данных отвести 16 разрядную SDRAM, в ней можно будет размещать 32 разрядные переменные (хотя вопрос звучит странно, но у AD по моему любой дебилизм возможен). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bve 1 26 апреля, 2005 Опубликовано 26 апреля, 2005 · Жалоба В Datasheet на странице 6 приведена Fig.3. На ней сигналы RAS и т.д. показаны только от корневого процессора, хотя это, может быть, просто из-за нежелания много рисовать. В случае применения статической памяти Вы тоже можете ставить 16 разрядов, программировать External Port на 16-тиразрядную шину и спокойно качать куски кода внутрь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
3.14 0 26 апреля, 2005 Опубликовано 26 апреля, 2005 · Жалоба Хм, на своих доках я не нашел 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 разряда? Компилятор, или надо железячную приблуду настраивать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bve 1 26 апреля, 2005 Опубликовано 26 апреля, 2005 · Жалоба А кто будет заниматься упаковкой/распаковкой в 32 разряда? Компилятор, или надо железячную приблуду настраивать? <{POST_SNAPBACK}> Когда Вы программируете регистр DMACx, то указываете в поле PMODE значение b#01, что заставляет контроллер DMA и External порта заниматься упаковкой\распаковкой 32(48)<->16. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bve 1 27 апреля, 2005 Опубликовано 27 апреля, 2005 · Жалоба Да, кстати, а может ну его ......? Поставьте два раздельных процессора, каждый со своей памятью, свяжите их по SPORT и вперед... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
3.14 0 27 апреля, 2005 Опубликовано 27 апреля, 2005 · Жалоба Сейчас так и построено. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться