-
- Не все там так просто, с этими BF. Чтобы использовать всю "дурную мощь" ихнего ядра нужно зело извращенно программировать. SRAM на кристалле мало, и чтобы "выжать все" нужно очень грамотно пользоваться всякими фоновыми пересылками по DMA и пр. Evgeny_CD(226 знак., 08.03.2010 22:10)
- И по поводу переключения контекста не стоит перебарщивать, не сложнее, чем у других. Порт scmRTOS был сделан автором быстрее остальных не из-за "набитой руки", а потому что ядро достаточно прозрачно. - Sergey Pinigin(09.03.2010 07:30)
- Я не спец по DSP, но как там все эти кучи аккумуляторов и пр. добра сохранять? С учетом длины конвейера. - Evgeny_CD(10.03.2010 00:59)
- Нормально сохранять, командами, конвейер то тут причём. =AlexD=(3081 знак., 10.03.2010 06:57 - 07:04)
- Хорошо, если так. Насчет конвейера. ВОт дали ма команду MACу. И тут фигак - нас прервали. Если прямо сразу начать считывать регистры мака - то там еще может не быть результата. Нужно выждать максимальную латентность. - Evgeny_CD(10.03.2010 17:09)
- Конвейер никогда такой ситуации не допустит, так уж он сделан. Евгений, вы почему-то решили, что программист должен учитывать работу конвейера. Это не так. Когда я пишу программу, меня не интересует есть ли конвейер в проце. - Михаил Е.(11.03.2010 11:09)
- А вот это глупо. Либо конфу невнимательно читаете. Учитываем и еще как работу всяких конвееров и проч аппаратных прибамбасов. В частности аккуратно смотрим за выравниваниями своих тюнингированых по таймигам процедур, а выравнивания те оч зависят от AlexandrY(18 знак., 11.03.2010 12:01)
- Вы будете удивлены, но конвейер учитывает компилятор и грамотный народ при ручном асмачинге. - Evgeny_CD(11.03.2010 11:17)
- Не верю. - Михаил Е.(11.03.2010 11:43)
- Чушь, конвейер на то и конвейер, что к тому времени как команда сохранения начнёт исполняться, все результаты уже будут лежать по регистрам. Эффективная длина конвейера влияет только на условные переходы, и всё. - =AlexD=(10.03.2010 21:48)
- Конвейер АЛУ живет отдельно он конвейера проца, насколько я понимаю. - Evgeny_CD(10.03.2010 22:08)
- Что за удивительная субстанция "конвейер проца" живущий отдельно от АЛУ? Иногда делают отдельные конвейеры для команд разного типа, или даже неконвейеризированные операции, но в любом случае все операции синхронизируются автоматически, для этого есть =AlexD=(152 знак., 11.03.2010 06:48)
- Ок, значит я искал "черную кошку в черной комнате". - Evgeny_CD(11.03.2010 11:16)
- простите koyodza(68 знак., 10.03.2010 22:17)
- Вообще тема по "большим микроконтроллерам". Перенести в "средства"? - Evgeny_CD(10.03.2010 22:23)
- имхо тема как обычно, "лабрадорская, вечерняя" koyodza(63 знак., 10.03.2010 22:29)
- Вообще тема по "большим микроконтроллерам". Перенести в "средства"? - Evgeny_CD(10.03.2010 22:23)
- Что за удивительная субстанция "конвейер проца" живущий отдельно от АЛУ? Иногда делают отдельные конвейеры для команд разного типа, или даже неконвейеризированные операции, но в любом случае все операции синхронизируются автоматически, для этого есть =AlexD=(152 знак., 11.03.2010 06:48)
- Конвейер АЛУ живет отдельно он конвейера проца, насколько я понимаю. - Evgeny_CD(10.03.2010 22:08)
- Конвейер никогда такой ситуации не допустит, так уж он сделан. Евгений, вы почему-то решили, что программист должен учитывать работу конвейера. Это не так. Когда я пишу программу, меня не интересует есть ли конвейер в проце. - Михаил Е.(11.03.2010 11:09)
- Хорошо, если так. Насчет конвейера. ВОт дали ма команду MACу. И тут фигак - нас прервали. Если прямо сразу начать считывать регистры мака - то там еще может не быть результата. Нужно выждать максимальную латентность. - Evgeny_CD(10.03.2010 17:09)
- Нормально сохранять, командами, конвейер то тут причём. =AlexD=(3081 знак., 10.03.2010 06:57 - 07:04)
- Я не спец по DSP, но как там все эти кучи аккумуляторов и пр. добра сохранять? С учетом длины конвейера. - Evgeny_CD(10.03.2010 00:59)
- не перебарщивайте. этот мутант хорош и так, без извращений. по крайней мере способен очень успешно бодаться с равночастотнымы армами на одних и тех же исходниках и одном и том же компилере (gcc, конечно же). зато переход на ассемблерные вставки и Mahagam(462 знак., 08.03.2010 22:46)
- В 32к особо не "нажаришь". - Evgeny_CD(08.03.2010 23:00)
- И по поводу переключения контекста не стоит перебарщивать, не сложнее, чем у других. Порт scmRTOS был сделан автором быстрее остальных не из-за "набитой руки", а потому что ядро достаточно прозрачно. - Sergey Pinigin(09.03.2010 07:30)
- А у BF504F почему флэш executable называется? Программа прямо из нее выполняется? Без предварительной загрузки во внутреннюю память? - Dir(08.03.2010 21:55)
- Да. - quark(08.03.2010 22:03)
- Ну а те, которые SPI - очевидно, нет. Так? - Evgeny_CD(08.03.2010 22:05)
- Ну эти то понятно что только для загрузки. Dir(393 знак., 08.03.2010 22:13 - 22:22)
- Про то и речь! Если OS для универсального МК - это уже наука, все известно, что эффективная OS для DSP - это шаманство. - Evgeny_CD(08.03.2010 22:29)
- Я охотно верю, что без всякого шаманства BF на обычных задачах будет как 50 Мгц ARM7 - вполне себе микроконтроллер :) Но зачем? - Evgeny_CD(08.03.2010 22:30 - 22:32, картинка)
- А вот зачем... Смотрим на периферию - есть АЦП (у 506F) и 100МГц таймеры. Можно извратиться и все задачи DSP выполнять из кеши. И цена! 6$ за чип с 4Мбайт Флєш и 150$ за эмулятор - серьезная заявка - Dir(08.03.2010 22:39)
- Смотрим цены на Actel, -> и понимаем, что FPGA за 3 еврика сможет реализовать любой извращенный таймер мегах эдак на 200. А программирование Cortex к изващением уже не относится. Luminary тут вне конкуренции. "Но почему аборигены съели Кука? За что, Evgeny_CD(29 знак., 08.03.2010 22:44, ссылка, ссылка)
- Есть и вполне насущные задачи для такой молотилки. Как пример - распознавание отпечатков пальцев, анализ вибраций (с БПФ), распознавание звуков с БПФ в реальном времени. Тут и числомолотилка и большая флеш нужны - Dir(08.03.2010 22:49)
- Молотилка она только с оптимизироваными либами добытыми потом и временем, а так просто груда железа. AlexandrY(629 знак., 10.03.2010 11:43)
- Всё верно, но проблема в том, что как только "все стоящие разработки" "отливаются в граните, в ARM-ах и в кортексах" на них уже ничего не заработать, потому как к их производству тут же подключается целая армия китайцев и тупо давит всех конкурентов quark(77 знак., 10.03.2010 12:45)
- Вы че консамерную электронику делаете? Боюсь в местном контексте ваша мысль неактуальна. AlexandrY(866 знак., 10.03.2010 21:44)
- А uclinux? -> - Evgeny_CD(10.03.2010 22:13, ссылка)
- Эт тема для сарказма такая большая что не хочется даже всуе начинать. - AlexandrY(11.03.2010 12:15)
- А uclinux? -> - Evgeny_CD(10.03.2010 22:13, ссылка)
- +1 - Evgeny_CD(10.03.2010 17:11)
- Вы че консамерную электронику делаете? Боюсь в местном контексте ваша мысль неактуальна. AlexandrY(866 знак., 10.03.2010 21:44)
- Всё верно, но проблема в том, что как только "все стоящие разработки" "отливаются в граните, в ARM-ах и в кортексах" на них уже ничего не заработать, потому как к их производству тут же подключается целая армия китайцев и тупо давит всех конкурентов quark(77 знак., 10.03.2010 12:45)
- Молотилка она только с оптимизироваными либами добытыми потом и временем, а так просто груда железа. AlexandrY(629 знак., 10.03.2010 11:43)
- Есть и вполне насущные задачи для такой молотилки. Как пример - распознавание отпечатков пальцев, анализ вибраций (с БПФ), распознавание звуков с БПФ в реальном времени. Тут и числомолотилка и большая флеш нужны - Dir(08.03.2010 22:49)
- Смотрим цены на Actel, -> и понимаем, что FPGA за 3 еврика сможет реализовать любой извращенный таймер мегах эдак на 200. А программирование Cortex к изващением уже не относится. Luminary тут вне конкуренции. "Но почему аборигены съели Кука? За что, Evgeny_CD(29 знак., 08.03.2010 22:44, ссылка, ссылка)
- ... с негарантированной латентностью прерываний :( Т.е. может вполне работать и как 16МГц AVR. Однако в грамотных руках - это зверюга, работающая на частоте 400МГц :) - Dir(08.03.2010 22:35)
- Я не читал доку - а что, у них там с прерываниями полный швах? - Evgeny_CD(08.03.2010 22:45)
- С прерываниями там все нормально. Если, конечно, весь контекст не сохранять. Ненормально со случайным доступом к программе в флэш - 70нс. - Dir(08.03.2010 22:51 - 22:57)
- Строки кеша можно лочить - =AlexD=(09.03.2010 07:19)
- С прерываниями там все нормально. Если, конечно, весь контекст не сохранять. Ненормально со случайным доступом к программе в флэш - 70нс. - Dir(08.03.2010 22:51 - 22:57)
- Верно. Токо стоимость "грамотных рук" может не окупиться на тиражах 100 шт/мес. - Evgeny_CD(08.03.2010 22:40)
- Я не читал доку - а что, у них там с прерываниями полный швах? - Evgeny_CD(08.03.2010 22:45)
- А вот зачем... Смотрим на периферию - есть АЦП (у 506F) и 100МГц таймеры. Можно извратиться и все задачи DSP выполнять из кеши. И цена! 6$ за чип с 4Мбайт Флєш и 150$ за эмулятор - серьезная заявка - Dir(08.03.2010 22:39)
- Я охотно верю, что без всякого шаманства BF на обычных задачах будет как 50 Мгц ARM7 - вполне себе микроконтроллер :) Но зачем? - Evgeny_CD(08.03.2010 22:30 - 22:32, картинка)
- Про то и речь! Если OS для универсального МК - это уже наука, все известно, что эффективная OS для DSP - это шаманство. - Evgeny_CD(08.03.2010 22:29)
- Да, с SPI требуют загрузки кода в RAM или в SDRAM. - quark(08.03.2010 22:12)
- Ну эти то понятно что только для загрузки. Dir(393 знак., 08.03.2010 22:13 - 22:22)
- Ну а те, которые SPI - очевидно, нет. Так? - Evgeny_CD(08.03.2010 22:05)
- Да. - quark(08.03.2010 22:03)
- Не все там так просто, с этими BF. Чтобы использовать всю "дурную мощь" ихнего ядра нужно зело извращенно программировать. SRAM на кристалле мало, и чтобы "выжать все" нужно очень грамотно пользоваться всякими фоновыми пересылками по DMA и пр. Evgeny_CD(226 знак., 08.03.2010 22:10)