ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
20 апреля
267337
Evgeny_CD, Архитектор (16.08.2011 18:34, просмотров: 8995)
Развитие идеи микросеквенсеров. А что если сделать так? Вот есть у нас SDRAM. Контроллер работает только блоками. Есть ОДИН банк памяти. Двухпортовой. С одной стороны его заливают/отливаю в SDRAM. С другой стороны стоит большой мультиплексор, который все хозяйство делит на несколько машинок. Внутри блочной памяти находится программа и данные для кучки секвенсоров. Секвенсоры такие: * пересылка данных. Между блочной памятью и SDRAM. Управляет контроллером SDRAM. * DSP MAC блок: типа возьми вон там операнд, вот тут операнд, сделай то-то, положи результат туда-то. Вся обработка разделена на слои. Типа вот набор данных и махонькие проги для обработки. Есть система железных семафоров. Для локальной синхронизации и определения - все ли отработали? Сложность разработки микропрограмм велика (отладка вообще никак - токо на моделях), не спорю, но можно осоздать удоьбные тулзы для помощи такой работы. Но, как я понимаю, экономия ресурсов плиски может получить очень даже недетская. Никаких супер-шин. При внутрикристальной тактовой 200 Мгц все будет не так уж и медленно. Пусть у нас 4 сервенсера. При хороших мультиплексорах это даст 50 мгц на машинку. Пусть каждая операция занимает 4 такта: возьми операнд, возьми операнд, сделай, положи результат. 12,5 MOPS это не плохо, с учетом того, что 4 машинки дадут 50 MOPS. Причем мопсы эти могут быть достаточно серьезными. Одна машинка фильтрует, другая FFTшит, третья чего-нибудь ищет, четвертая хитро по памяти раскладывает. Обычный проц с тактовой 100 Мгц может и не успеть такое сделать, притем ресурсов он пожрет несоизмеримо больше. Вопрос в качественной среде для ОДНОВРЕМЕННОЙ разработки кучи кода для кучи машинок. Это в обычном редакторе не сделать :)