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

Не дурят ли нашего брата?

ну раз флуд, давайте, я это дело лю:

прикольная новая классификация! :) ну ветвь понятно - у нас домохозяет это называется поток (thread), функций тож понятно - параллелизм задач(task), комманд дано полагать это параллелизм инструкций (ILP как в VLIW), ещё забыт паралеллизм операций (OLP как в любом конвеере), но вот что скрывается под параллелизмом объектов? (в смысле трудно представить как они могут существовать непараллельно?)

 

:beer:

 

мы читаем с вами разную литературу, я использую терминологию почерпнутую в сссровской книге про распараллеливание вычислений (книга 1986 го года вроде). Гуру у которого я консультировался порекомендовал мне ее покурить.

 

Там рассматриваются именно такие виды параллелизма, в моем понятии (как я понял ту книгу) параллелизм объектов это параллелизм уровня системы, а все что перечислено дальше это параллелизм на уровне алгоритма.

 

ну это мы уже углубимся в оффтопик, захотите поспорить, если будет время, может флудить в чате или аське %))

 

Тут, по-моему, очень хорошо получается остаться в топике. Отбросим игры в красивые термины, а попросту возьмем простейший пример- реализация FIR-фильтра в FPGA

 

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

 

2 Aprox

 

ИМХО вам использовать софт ядра не имеет смысла, хотя решать вам. Удачи!!!

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


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

будте так добры приведите ссылки на альтеру где сказано что "ниосы могут все!"

Буквально эту фразу я конечно не укажу в материалах Альтеры. Hо принцип, которым руководствуется маркетинговая служба этой фирмы именно таков. В каждый кит идет в нагрузку ниос. А к нему и тулзы разработки программ. Естественно и DDR2 память и флэш, без которых ниос не имеет смысла. Происходит приучение начинающих юзеров к использованию именно софтпроцессоров. Примерно в той же манере посадки на иглу, как Билл Гейтс приучает детишек в школе к виндам.

на то как именно применялись или применяются софт процы в реальных проектах, вы похоже просто закрываете глаза, как впрочем и на здравый смысл. Дело ваше :biggrin:

Я не закрываю глаза, а очень внимательно пытаюсь найти здравое зерно в аргументах за софтпроцессоры. Увы, вместо здравого смысла вижу только мученья по утаптыванию неутаптываемого (ваше выражение?).

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


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

Aprox, Вы перегибаете палку. Одно только совместное расположение в одном корпусе CPU+FPGA ресурсов это уже большой плюс в плане технологичности (здесь и моделирование, и временные характеристики обмена, и гибкость периферии, даже банальная площадь на плате). Не во всех же задачах надо выжать 200-400 MIPS, зато в диапазоне 50 MIPSов и спец требованиях к периферии и т.п. это самое то.

Да, конечно, процессор специального назначения при прочих равных уделает софтовый по скорости, но это не лишает софт-ядро своих прелестей. Вы же не будете отрицать полезность ноутбука, который всегда при Вас, и строить всю работу только на настольнике только потому, что он производительнее, а ноутбуки это малоэффективное и дорогостоящее "дурение нашего брата" со стороны производителей ПК.

Я на НИОСе делаю то, что можно было бы сделать и типичными средствами для ПЛИС - VHDL, Verilog и (совершенно верно) даже бы быстрее работало, но скорость мне больше, чем есть, не нужна. Исходники на С прозрачнее для понимания, переносимее, приемственнее.

Всё зависит от конкретной задачи.

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


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

Отнюдь, автор просто думает, в каких случаях могут быть сколь-нибудь эффективно использованы софтпроцессоры.

 

и при этом не видит ничего дальше своего узкого случая сверх-вычислителя.

 

Hо принцип, которым руководствуется маркетинговая служба этой фирмы именно таков. В каждый кит идет в нагрузку ниос. А к нему и тулзы разработки программ.

 

И это правильный принцип. Если пользователь кита будет читать идущие с китом материалы, то даже если он полный ламер, он сможет быстро запустить хелло ворд на фпга.

 

Естественно и DDR2 память и флэш, без которых ниос не имеет смысла. Происходит приучение начинающих юзеров к использованию именно софтпроцессоров.

 

Вы не внимательно читали топик, я неоднократно говорил, что софт ядра могут работать и без внешних ддр2 и флеш памяти. Достаточно внутренней памяти самой фпга. Все зависит от задачи и объема программы. Вы похоже так и не читали обзорные статьи про системы на софт ядрах.

 

Увы, вместо здравого смысла вижу только мученья по утаптыванию неутаптываемого (ваше выражение?).

 

Выражение это мое, если вы внимательно читали топик, то относилось оно к вопросу выбора фпга. А именно к тому что экономия на размере используемой фпга, может выйти боком. Т.к. разработчик может выбрать ее ресурс и при этом не уложиться в ТЗ, или у него не будет места в фпга что бы воспользоваться сигнал тапом. И вот тут начнутся танцы с бубном и борьба за ресурс. Но похоже что вы пропустили контекст выражения мимо глаз.

 

И не понятно чьи мучения вы видите. В топике было сказано достаточно аргументов за и против, приведены примеры. ИМХО но основе внимательного прочтения топика можно сформировать свое мнение о применимости софт ядер.

 

Я не закрываю глаза, а очень внимательно пытаюсь найти здравое зерно в аргументах за софтпроцессоры.

 

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

 

 

Отбросим игры в красивые термины, а попросту возьмем простейший пример- реализация FIR-фильтра в FPGA

 

думал сами поймете что написали глупость, ну да ладно поясню свое ИМХО:

 

вы не указали производительность своего фильтра и его параметры, без этого разговор о том что лучше теряет смысл.

может быть вам нужен цикл вычислений 1 раз в секунду и фильтр у вас не сложный, тогда способ реализации фильтра не принципиален, а может быть у вас отсчеты идут на частоте 350 МГц тогда способ реализации очевиден.

 

положим теперь что ваш FIR стоит в вычислительной системе, данные которые он обрабатывает ложаться во внешнюю память, потом в случайном порядке забираются и передаются по сети. При этом сама система управляется тоже по сети. Вы все это тоже будет описывать ручками и на КА ?

 

Неужели вы никогда не делали КА ? Процессор это тот же КА, только более продвинутый и более медленный.

 

Кстати почитайте статьи Ken Chapmen а с xilinx.com, очень интересно пишет про микропрограммное управление и микропрограммные автоматы.

 

Удачи.

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


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

может уже сделайте вывод какой нибудь? да и закроете тему нафиг?

Moderator:

Для начала выводы сделал я - скрыл в этом топике Ваши схоластические толкования названия темы.

Уже стало чище.

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


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

я использую терминологию почерпнутую в сссровской книге про распараллеливание вычислений (книга 1986 го года вроде).

подкинте полное название книжки, плз, я сейчас как раз собираю лит-ру по теории распараллеливания алгоритмов (при том желательно безотносительно программирования в многопроцессорных системах, а чисто теория на всех уровнях параллелизма с колличественными оценками)

 

захотите поспорить, если будет время, может флудить в чате или аське %))

был бы камень приткновения для спора, а так подозреваю мы придём к единому мнению после уточнения терминологии :) разве это интересно?.. )))

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


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

и при этом не видит ничего дальше своего узкого случая сверх-вычислителя.

Конечно я не вижу необходимости в FPGA на низких и средних скоростях поступления данных. Для этого существуют готовые сигнальные процессоры. И соревноваться с ними в эффективности на средних скоростях выглядит просто неразумно. Пустая трата сил.

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

Извините за вульгаризм, а нафига это "Hellо World"? Оно что, сразу делает юзера и его начальство счастливыми человеками?

Вы не внимательно читали топик, я неоднократно говорил, что софт ядра могут работать и без внешних ддр2 и флеш памяти. Достаточно внутренней памяти самой фпга. Все зависит от задачи и объема программы. Вы похоже так и не читали обзорные статьи про системы на софт ядрах.

Вы невнимательно читали тред. Например, тот-же Гуру утверждает, что софтпроцессор без внешней памяти становится бесполезным ублюдком в проекте. Я тоже так считаю, встроенная в FPGА быстродействующая память слишком дорогое удовольствие, чтобы ее расходовать для целей программной ROM софтпроцессора.

.... относилось оно к вопросу выбора фпга. А именно к тому что экономия на размере используемой фпга, может выйти боком. Т.к. разработчик может выбрать ее ресурс и при этом не уложиться в ТЗ, или у него не будет места в фпга что бы воспользоваться сигнал тапом. И вот тут начнутся танцы с бубном и борьба за ресурс. Но похоже что вы пропустили контекст выражения мимо глаз.

И тем не менее, когда экономишь средства, то лучше поплясать немного с бубном, нежели идти на поводу у маркетологов FPGA и отстегивать им явно лишнее. Вы же не будете спорить, что все маркетинговые новации имеют конечной целью - срубить с вас побольше бабок? Hе знаю, как в ксайлинксах, но в Альтере применение мало мальского софтядра ниоса немедленно требует перехода на более дорогой вариант FPGA. Зачем нам, разработчикам, это надо, спрашивается?

И не понятно чьи мучения вы видите. В топике было сказано достаточно аргументов за и против, приведены примеры. ИМХО но основе внимательного прочтения топика можно сформировать свое мнение о применимости софт ядер.

Может, я что-то и проглядел, но слышу в ответ только абстрактные заклинания типа: "Все зависит от задачи." По-делу видел заявления о возможности самому создавать свою периферию, не знаю правда зачем. Что еще... "подносить дрова" к конвееру обработки данных, как я понимаю, ввод извне и задание параметров в регистрах. Hазвать это софтпроцесором, извините, не могу. Тратить на такое ресурсы- тоже.

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

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

 

вы не указали производительность своего фильтра и его параметры, без этого разговор о том что лучше теряет смысл.

может быть вам нужен цикл вычислений 1 раз в секунду и фильтр у вас не сложный, тогда способ реализации фильтра не принципиален, а может быть у вас отсчеты идут на частоте 350 МГц тогда способ реализации очевиден.

Очень верное замечание! Только сразу вопрос, если скорость так мала, то нафига вообще FPGA? Берем готовый DSP чип, и вперед. Hа порядок дешевле и быстрее выйдет.

положим теперь что ваш FIR стоит в вычислительной системе, данные которые он обрабатывает ложаться во внешнюю память, потом в случайном порядке забираются и передаются по сети. При этом сама система управляется тоже по сети. Вы все это тоже будет описывать ручками и на КА ?

Я не знаю, что такое "КА". И представляете- горжусь этим! А сетевой задачей на FPGA занимаюсь как раз в настоящее время. Софтядрам там места точно нет. Не вытянут они 1G и выше Ethernet.

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


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

Конечно я не вижу необходимости в FPGA на низких и средних скоростях поступления данных. Для этого существуют готовые сигнальные процессоры. И соревноваться с ними в эффективности на средних скоростях выглядит просто неразумно. Пустая трата сил.

 

Очень верное замечание! Только сразу вопрос, если скорость так мала, то нафига вообще FPGA? Берем готовый DSP чип, и вперед. Hа порядок дешевле и быстрее выйдет.

 

Ну что же, пожалуйста примеры задач приводились. Коммутатор 10 ти уартов.

 

Могу подкинуть еще одну, над которой работаю : модем РРЛ, QAM16, Reed Solomon, непрерывный режим работы, HDB3 2/4/8 мегабита. У меня все работает на детской частоте в 34.816 МГц, занимает 70% с35. На каком дсп вы такое сделаете ?

 

 

Извините за вульгаризм, а нафига это "Hellо World"? Оно что, сразу делает юзера и его начальство счастливыми человеками?

 

Нет для того что бы быстро собрать ту же систему с 10ю уартами, силами инженера слабой/средней подготовки. Без долгого моделирования, переразводок, танцами с бубном и т.д.

 

Вы невнимательно читали тред. Например, тот-же Гуру утверждает, что софтпроцессор без внешней памяти становится бесполезным ублюдком в проекте. Я тоже так считаю, встроенная в FPGА быстродействующая память слишком дорогое удовольствие, чтобы ее расходовать для целей программной ROM софтпроцессора.

 

Великий гуру zltigo, говорил немного не так, не перегибайте палку. Он говорил именно про задачи которые стоят перед ним, и для его задач внутренней памяти не хватает.

 

Ну что же, экономьте на спичках. Значит многие мои коллеги и я не разумно используем ресурс фпга, отдавая 1-8 блоков памяти под хранение микропрограммы, которую кстати можно заменить без переразводки проекта.

 

И тем не менее, когда экономишь средства, то лучше поплясать немного с бубном, нежели идти на поводу у маркетологов FPGA и отстегивать им явно лишнее. Вы же не будете спорить, что все маркетинговые новации имеют конечной целью - срубить с вас побольше бабок?

 

еще вопрос, экономия на кристалле 30 баков, или дополнительный труд разработчика в течении 3-х месяцев с зарплатой в 2-3 килобака. Хотя конечно если у вас серия больше 10000 штук, то тут вы возможно правы.

 

Если для вашей конторы 500 баков за ниос, это большие деньги, а если учесть что мы на просторах бывшего ссср........ я не могу найти слов.

 

Hе знаю, как в ксайлинксах, но в Альтере применение мало мальского софтядра ниоса немедленно требует перехода на более дорогой вариант FPGA. Зачем нам, разработчикам, это надо, спрашивается?

 

из рабочих проектов: как стоял с35 так и стоит. что то делаю не так ?

 

По-делу видел заявления о возможности самому создавать свою периферию, не знаю правда зачем. Что еще... "подносить дрова" к конвееру обработки данных, как я понимаю, ввод извне и задание параметров в регистрах. Hазвать это софтпроцесором, извините, не могу. Тратить на такое ресурсы- тоже.

 

Займитесь кодированием видео, аудио. узнаете много интересного про "патроны" и свою переферию, рекомендую почитать выпуск Xcell Journal, посвященный софт-ядрам (там приведены рабочие проекты).

 

Я не знаю, что такое "КА". И представляете- горжусь этим! А сетевой задачей на FPGA занимаюсь как раз в настоящее время. Софтядрам там места точно нет. Не вытянут они 1G и выше Ethernet.

 

Никто и не обещал вам вытягивание гигабита с ниоса. Насколько я понимаю вы работаете на уровне сырых данных и в сети ваша машина работать не будет. Пример этот был референсный, который вы опять же отмапили на свой конкретный случай.

 

 

 

Извините меня господа, я устал от этого топика, при всем уважении к создателю оного, Вам как об стенку горохом. Для меня эта тема закрыта, больше писать не буду.

 

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

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


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

...zltigo, говорил немного не так, не перегибайте палку. Он говорил именно про задачи которые стоят перед ним, и для его задач внутренней памяти не хватает.

Так, но тем не менее не так узко-конкретно - "стоят только передомной" :(. К моему величайшему сожалению внутренней памяти не хватает для очень и очень многих задач. Я не буду сейчас распинаться перечисляя задачи, и уж тем более мне надоело выслушивать в ответ - а для моих хватает... Давайте просто посмотрим на существующие массовые, подчеркиваю, массовые микроконтроллеры - это уже сейчас до 32..64K RAM и 128..512K Flash и единицы баксов цены. Если такие контроллеры, с такими ресурсами выпускаются, значит массовые задачи под них существуют. Вот такая совершенно объективная реальность. Причем это действительно массовые, мелкие, дешовые контроллеры отнюдь не в BGA. FPGA c хотя-бы прибижающимися к ним "лишними" ресурсами это железяка другого класса и совсем другой цены. Не реально просто "не сэкономить 30 баксов" и получить за эти деньги в не BGA корпусе upgrade столь-же массового 10-20-30 баксового FPGA эти дополнительные ресурсы. Посему, очень и очень не выгодно если это даже не "серия больше 10000 штук" :(. Как я уже неоднократно писал все меняется к лучшему :) и нашего брата не дурят подсовывая "всякие ниосы" - уже завтра это будет совершенно оправданным решением во много-много большем количестве применений.

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


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

....Посему, очень и очень не выгодно если это даже не "серия больше 10000 штук" :(. Как я уже неоднократно писал все меняется к лучшему :) и нашего брата не дурят подсовывая "всякие ниосы" - уже завтра это будет совершенно оправданным решением во много-много большем количестве применений.

Если не затруднит, то можно подробнее- что именно на ваш взгляд меняется к лучшему?

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


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

Читаю несколько дней эту переписку и жду, когда же "зачинатель" этого топика начнет "крыть" мои высказывания о софт-процессорах. А ведь я довольно подробно расписал мою точку зрения на этот вопрос, или говоря его словами - "дурю головы"... И делаю это уже много лет...

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

И еще... Конечно, если в голове только одна любимая Альтера, а Кен Чепман пишет на сайте Ксайлинкса, то он тоже не "указ" и тоже, наверное, "дурит"... Но про него пока ни слова не сказано...

Ну и давайте теперь спросим автора топика: почему же существуют как минимум 3 версии Ниоса, да еще секвенсер у Альтеры?

Почему у Ксайлинкса есть 2 процессора - большей и меньшей производительности? Почему Актел имеет 8-ми битник и АРМ.... Почему все они так настойчиво "дурят" автора топика?

Судя по топикам, для него автомат на пару сотен состояний - любимое дело... Или, или у него их там вовсе нет?

 

Вообще обсуждение похоже на известную басню о том, как слепые ощупывали слона.

Каждое суждение необходимо соотносить с конкретной задачей... Тут я только могу ему порекомендовать прочесть про "Гайку М3"...

Иначе, все высказывания можно свести к лозунгам.

Ну а по сути, все что ему написали в ответ - практически полностью совпадает с моими взглядами.

удачи всем господа!

 

P.S. Я, как и Денис, скорее всего, останусь при своем мнении. А оно Вам известно.

Пойду делать топик про новую микросхему KSZ8851. Это для жизни будет полезней...

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


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

Ну что же, пожалуйста примеры задач приводились. Коммутатор 10 ти уартов.

Существуют чипы MCU, в которых 4штуки UART-ов. Пара таких чипов будет дешевле и быстрее в реализации. чем 10 уартов плюс софтпроцессор в FPGA.

Могу подкинуть еще одну, над которой работаю : модем РРЛ, QAM16, Reed Solomon, непрерывный режим работы, HDB3 2/4/8 мегабита. У меня все работает на детской частоте в 34.816 МГц, занимает 70% с35. На каком дсп вы такое сделаете ?

Как коллега коллеге по модемам, скажу: кодирование/декодирование QAM16 и Reed Solomon вы точно делаете не софтпроцессором. Чем же он в вашем проекте занят?

Ну что же, экономьте на спичках. Значит многие мои коллеги и я не разумно используем ресурс фпга, отдавая 1-8 блоков памяти под хранение микропрограммы, которую кстати можно заменить без переразводки проекта.

Не замечал никаких проблем с переразводкой. Зачем ее избегать?

Займитесь кодированием видео, аудио. узнаете много интересного про "патроны" и свою переферию, рекомендую почитать выпуск Xcell Journal, посвященный софт-ядрам (там приведены рабочие проекты).

Никто и не обещал вам вытягивание гигабита с ниоса. Насколько я понимаю вы работаете на уровне сырых данных и в сети ваша машина работать не будет. Пример этот был референсный, который вы опять же отмапили на свой конкретный случай.

Да, начинал работу с RAW-пакетов. Но перешел на стандартное UDP именно для работы в сети без проблем. Поэтому не совсем понимаю, в чем ущербность моего примера.

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


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

Если не затруднит, то можно подробнее- что именно на ваш взгляд меняется к лучшему?

1. Главное. Цены на приличные FPGA падают на глазах :)

2. На контроллеры падают заметно медленее :( - собственно падать им особо уже и некуда. Да и собственно микроконтроллерная ветка достаточно тупиковая из-за сочетания такой весьма и весьма гибкой штуки как процессор и жестко ограниченного набора периферии. Плохое сочетание :(. Да естественно есть устоявшиеся майнстримовые джентельменские наборы периферии и при попадании в потребности конкретного проекта все просто изумительно по эфффективности. Но шаг в сторону и ... и появляется/добавляется FPGA. Мне, напимер, собственно контроллерная периферия практически нужна минимальнейшая.

3. Производства все меньше и меньше пугают BGA и многослойные платы, да и цены на них тоже снижаются по мере нарастания их доли в общем объме производства.

4. Выбор софтядер расширяется и они развиваются.

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


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

Чисто из любопытства..

Кто-нибудь может указать серийно выпускаемую модель сотового телефона в котором коррелятор и пр. кодеки реализованы в FPGA и в ней же, на оставшихся LE, синтезирован софт-процессор? Желательно, что-нибудь известное, а не поделки из китайского склепа в единичных экземплярах.. ИМХО, сотовые телефоны вполне подпадают под категорию "массовый продукт" и, следовательно, лишними мегабаксами никто разбрасываться не станет.. Про DSP, - вроде как их там вполне успешно применяют..

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


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

Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...