Обновить
116
0

Пользователь

Отправить сообщение
Нужно понимать, что видео и т.д. — это рынок на сотни миллионов микросхем в год. FPGA никогда не сможет на нем конкурировать — для любого нового кодека через полгода китайцы выпустят микросхему, которая будет делать то же самое, но в десять раз быстрее и сто раз дешевле. И окажется, что запилить в такую микросхему реализацию всех известных кодеков все равно дешевле, чем реконфигурировать железо на лету.
Да, сейчас это модная тема, называется embedded vision. Главное слово тут embedded, потому что никаких особых проблем с алгоритмической точки зрения нет — бери OpenCV и радуйся. Проблема только в энергопотреблении. Поэтому все люди, варящиеся в этой кухне, смотрят либо в сторону ASIP, либо в сторону процессоров с заточенными под это DSP-расширениями. Если есть время и желание, очень рекомендую посмотреть вот этот вебинар: Case study: Designing an application-specific multicore system for pedestrian detection, using Processor Designer. Это то, про что я говорил — люди понимают, что нужна программируемость и производительность, но, к сожалению, FPGA здесь никак не годится, поэтому изобретают другие способы.

Я, наверное, уже утомил всех в этой ветке разговорами про энергопотребление, однако этот параметр, по моим ощущениям (а мне приходится общаться с десятками компаний-разработчиков микросхем) вышел на первое место, обогнав площадь кристалла и производительность (кому она теперь нужна, когда любой микроконтроллер можно разогнать до 1ГГц на 22нм техпроцессе?)
Декодирование аудио делают на аудиопроцессорах. Для самых наикрутейших аудиоформатов типа DTS HD достаточно двухядерного DSP-процессора, работающего на частоте всего в несколько сотен МГц, потребляющего несколько милливатт и занимающего на кристалле столько же места, сколько 100 LUT-ов в ПЛИСе. Форматы можно менять как перчатки.

Поэтому я уверен на 99% что ПЛИС никогда не будут использоваться в масс-маркете. Помимо высокого энергопотребления у них есть еще один недостаток — цена. Разумеется, для ускорения научных расчетов им нет конкурентов, но это 0,001% рынка.
А что такое высокопроизводительные вычисления сейчас? Шифрование? Обработка пакетов? Видео? Компьютерное зрение? Давно прошли те времена, когда эти функции в ASIC-ах делали на hard-coded логике, сейчас модны всякие ASIP, которые обеспечивают некоторую степень программируемости, поэтому больше нет нужды делать ASIC под каждый конкретный алгоритм. Погуглите, например, LDPC
( Low-density parity check code ), которые теперь повсеместно используются не только во всяких LTE, но и во многих SSD, где алгоритм меняется по мере износа диска. Допустим, я делаю какой-нибудь аццкий ускоритель на FPGA — я вижу, вы занимаетесь чем-то подобным — как часто в реальной жизни возникает нужда кардинально менять алгоритмы за время жизни продукта?
Я же не спорю, что их активно используют, когда нет денег сделать нормальную микросхему :) И вообще, я ПЛИСы люблю, с них начинал и до сих пор кое-что на них делаю, правда в моей области они используются исключительно для прототипирования ASIC-ов.
FPGA очень много жрут электроэнергии, просто неимоверно много. Поэтому их применение всегда будет очень ограниченным. Как мне кажется, индустрия движется в сторону гетерогенных систем, т.е. противоположную от реконфигурируемых. Проще добавить в систему десять модулей, каждый из которых делает что-то свое (не исключено, что с некоторой степенью свободы, т.е. это может быть специализированный процессор), и отключать ненужные для экономии энергии. Транзисторы нынче дешевы.
Ну я лично знаю как минимум одну широко известную в узких кругах 32-битную архитектуру, где можно конфигурировать ширину шины адреса в пределах от 16 от 32 бит.

Что касается RISC-V, то из вашей ссылки действительно следует, что разрядность архитектуры будет зависеть от реализации, что само по себе звучит как бред. Господа в очередной раз пытаются усидеть на трех стульях одновременно, создав универсальную архитектуру на все случаи жизни. По логике, за ней должна последовать универсальная ОС, покрывающая весь спектр от RTOS до мэйнфрэймовых операционок.
Регистровые окна живут и здравствуют. И очень популярны во встроенных системах, критичных ко времени обработки прерываний.
вообще-то разрядность архитектуры и режимы адресации — разные вещи.
Они 64-битную архитектуру предлагают для IoT, где люди каждый пикоджоуль считают?
Разница между Altera и сопоставимым семейством Xilinx глазу не заметна. Среди контор, занимающихся прототипированием своих ASIC-ов на ПЛИСах, они используются одинаково часто — так что выбор действительно это определяется другими факторами (например, у вас офис в Калифорнии по соседству).

Раньше у Альтеры было преимущество поддержки констрэйнов в настоящем формате SDC (том, который жрет Design Complier), так что не надо было переписывать одно и то же два раза. Но теперь Xilinx тоже этот формат поддерживает (правда только для седьмой серии и только в Vivado и еще зачем-то назвали его FDC). Но для тех, кто ASIC-и не делает, это не столь важно.

Ладно, открою страшную тайну. Альтера дешевле :) Поэтому ее все любят.
Первым уроком программирования должно быть написание «Hello World». Вторым — приседание/отжимание столько раз, сколько байт получилось в коде в первом уроке. Только это поможет увеличить количество достойных работников IT-сферы.
Расскажите лучше, какие действительно встраиваемые процессоры от других разработчиков использует Интел.
сложно сказать наверняка, но походу процессор делает из ассемблера ARM ассемблер ARM, т.е. там нет собственного внутреннего представления. Оптимизация заключается в том, что они разворачивают циклы, переставляют команды местами, переименовывают регистры и т.д., т.е. заменяют исходный код на такой же, но жестоко оптимизированный по быстродействию в ущерб размеру. В принципе, подобную оптимизацию делают и обычные суперскалярные процессоры (разве что циклы они не разворачивают) — но Нвидия надеется получить профит за счет гораздо большего «окна» (обещают в пять раз большее окно, около тысячи команд).
Тем не менее, в той статье, которую мы тут обсуждаем, A15 назван «3-way superscalar», что, похоже, намекает на то, что считается именно количество декодируемых за такт команд.
Это точно восемь команд из одного потока, или по одной команде из восьми потоков?
Из комментариев к оригинальной статье:

In other words, it is an in-order VLIW core with a dynamic recompiler ARM emulator in firmware. Like the old «x86» chips from Transmeta. Interesting design choice, we'll see how well it works in practice.
А причем здесь CUDA?

Кстати, ответ на мой вопрос нашелся в оригинале статьи. И должен сказать, что автор перевода просто выкинул самое интересное. Читайте оригинал, и желательно в это время сидеть на чем нибудь твердом, чтоб не упасть…
Что-то терзают меня сомнения насчет 7-wide superscalar. В свое время (конец 80-х) были проведены исследования, по результатам которых оказалось, что нет никакого смысла делать суперскалярные машины, способные выполнять больше 3-4 команд одновременно. Причем это число зависит исключительно от кода, который выполняется на процессоре, а точнее, от instruction-level parallelism в этом коде (т.е., грубо говоря, от количества идущих друг за другом ассемблерных команд, независимых друг от друга, которые можно выполнить параллельно).

Может я чего-то не уловил, но если «есть некий внешний регистр», который тактируется от совершенно другого тактового сигнала (т.е. является асинхронным по отношению к регистру внутри FPGA), то путь между этими регистрами должен быть объявлен как false path — нет абсолютно никакого смысла задавать input delay. Input delay имеет смысл только тогда, когда тактовые сигналы для «внутреннего» и «внешнего» триггеров синхронные. В противном случае, как правильно написано в документе по ссылке, есть неиллюзорный шанс загнать «внутренний» триггер в метастабильное состояние. Вот только никакими SDC-констрэйнами избавиться от этого нельзя, от метастабильности избавляются путем добавления синхронизаторов.

Информация

В рейтинге
Не участвует
Откуда
Porto, Португалия
Зарегистрирован
Активность