Как стать автором
Обновить

Комментарии 150

объясните пожалуйста, чем ваша архитектура отличается от VLIW-архитектуры? например, аля семейство DSP-процессоров TMS320C64xx
В статье «Мультиклеточный процессор — это что» есть очень подробное описание принципов построения нашей архитектуры habrahabr.ru/post/226773 также имеется документ «О принципиальном отличии архитектуры от других», можно скачать тут rghost.ru/7ZyVwdTvd (не могу давать ссылку на наш сайт к сожалению)
Это VLIW с пропуском пустых полей. По крайней мере, предыдущий кристалл был именно таким.
Если кратко, то всем.

Более подробно. VLIW команды исполняются in-order, пачками, как раз этими самими очень длинными словами. Пока текущая пачка не выполнилась, следующая не выполняется. Понятно, что есть конвейеры, bypass-ы и всё не так примитивно. Но если одна пачка команд в VLIW задерживается, например, при доступе в память или делении, то все другие команды стоят и не выполняются. В конвейерах пузыри и вообще растрата времени.

Поэтому у TMS320C64xx специальная архитектура памяти: есть медленная, есть быстрая, специальные методы выполнения долгих операций типа деления. И много других дополнительных особенностей. Например то, что формат пачки инструкций определяет количество и структуру исполнительных устройств.

В нашей архитектуре, нет никаких пачек инструкций. И все инструкции исполняются out-of-order. Если какая-то инструкция задерживается с завершением, то она не мешает процессору исполнять остальные инструкции. Кроме того, наше представление программы не зависит от количества функциональных устройств.
Если все инструкции исполняются OoO, то такой процессор нафиг не нужен никому будет. Делаешь операции с тремя регистрами и получаешь произвольный результат. Наверное вы имели ввиду что каждая клетка сама по себе выполняет команды независимо от других клеток?
Из статьи же понятно, что фактически мультиклет это вывернутый vliw. И там и там паралелльность обеспечивается компилятором, который правильно расставляет (в случае vliw пакует в одну) комманды, чтобы они доставались клеткам(в случае vliw вычислительным блокам) оптимальным образом и они не стояли в простое. «Вывернутость» получается в том смысле. что во vliw внутренние вычислялки заточены на максимальную потоковую скорость, а в мультиклете максимальная скорость поменяна на более гибкую «упаковку» комманд.
Ну и конечно пиковая производительность под большим вопросом. Вангую реальный specfp раз в 5-10 ниже.
Сейчас поломаю Вам все гештальты, заранее прошу прощения за это, но все современные высокопроизводительные процессоры являются процессорами с внеочередным исполнением, то есть, с out-of-order execution engine. Если Вы утверждаете, что такие процессоры нафиг никому не нужны, то на какие средства живут AMD и Intel? Мы только что раскрыли с Вами всемирный заговор?

В общем, ерунду Вы написали.

В обычных процессорах порядок инструкций при OoOE контролируется кучей аппаратных механизмов, в Мультиклете этот порядок сразу задан связями инструкций через коммутатор. Каждая клетка может исполнять инструкции, загруженные в её буфер инструкций в порядке, задаваемом готовностью аргументов.

Внутренние вычислялки, то есть, то, что на нормальном языке называется функциональные устройства (functiona units), везде заточены под максимальную скорость, они не принимают решения о том, какие инструкции они исполняют. Им на вход подаются инструкции, которые они должны выполнить. ФУ у Мультиклета довольно быстрые (не идеальные ещё, но быстрые), большинство операций исполняется за 1 такт.

И вся разница между современными процессорами, в основном, заключается именно в том, как и когда инструкции и данные поступают на эти ФУ. Сами ФУ, в общем-то, хорошо изучены и являются почти стандартными для каждого требующегося диапазона рабочих частот процессора.
Я не говорил что ОоО никому не нужно, я лишь уточнил, что говорить об том что все ядра выполняют команды вообще независимо от других неправильно и логически бессмысленно, особенно в свете описания в первоначальной статье, что ядра вполне ждут данные других ядер.

Вот именно поэтому я и написал что мультиклет по сути вывернутый vliw. Во vliw связанность инструкций контроллируется непосредсвенно организацией системы комманд. В мультиклете — дополнительными связями между коммандами. И там и там чтобы получать бонусы нужен хороший компилятор. Впрочем в современных процессорах всё тоже самое, хороший компилятор знает как правильно разместить команды, чтобы получить бонусы от OoO.

Внутренние вычислялки в современных процессорах бывает даже меньше чем за один такт вычисляют. Впихнут ALU работающий на удвоеной частоте, а то и два. Но вот чтобы получить описаные 2.4ГФлопа на 100 мегагерц и четыре ядра(клетки), нужно обеспечить уж шибко большое количество float-умножалок, которые нигде в описаниях у них не отсвечивают. Вполе может это число взято из таблички о 64клеточном варианте и «случайно» тиражируется от поста к посту. Или флопы тут посчитаны относительно 16битных float. Или ещё какой казус. Но в 2.4ГФлопа верится с трудом.
Внутренние вычислялки в современных процессорах бывает даже меньше чем за один такт вычисляют. Впихнут ALU работающий на удвоеной частоте, а то и два. Но вот чтобы получить описаные 2.4ГФлопа на 100 мегагерц и четыре ядра(клетки), нужно обеспечить уж шибко большое количество float-умножалок, которые нигде в описаниях у них не отсвечивают. Вполе может это число взято из таблички о 64клеточном варианте и «случайно» тиражируется от поста к посту. Или флопы тут посчитаны относительно 16битных float. Или ещё какой казус. Но в 2.4ГФлопа верится с трудом.

Не нужно большое количество float умножалок, у нас есть блок ALU_FLOAT в каждой клетке.
Как получаются 2.4 ГФлопса в статье расписано очень подробно на мой взгляд. Состав блоков процессора также показан в предыдущей статье, на которую приводится ссылка. Случайно у нас ничего не тиражируется в статьях.
Вы про это:?
<>
В каждом такте на исполнение могут отправиться до 12-ти команд (4 клетки с тремя независимыми портами для ALU_FLOAT, ALU_INTEGER, DMS в каждой), но выход у них один, поэтому выдать результат в текущей реализации архитектуры могут до 4-х команд за такт. Производительность в Гигафлопсах получается в пике за счет темпа выполнения команд комплексного умножения двух аргументов (a + bi) * (c+di), в результате получаем 6 операций на клетку, умножаем на 4 клетки и получаем 24 операции за такт. Умножив количество операций за такт на частоту (для R1 это 100 МГц) получим 2,4 ГФлопса.
<>

Каким образом внезапно все три блока стали ALU_FLOAT и одинаково участвуют во FLOPs производительности? 4 клетки на 100МГц с одним независимым ALU_FLOAT (остальные два то не FLOAT), пусть будет даже одно умножение за такт. Получим 400MFLOPs. При этом, как я и говорил, в specfp, так как одним умножением сыт не будешь. Это опустится еще раза в два-три.
У нас одно ALU_FLOAT каждый так выполняет одно комплексное умножение, а это 6 операций.
Проведем краткий экскурс в математику(раскроем скобки):
(a+bi)*(c+di) = (a*c — b*d) + i*(a*d+b*c)
Теперь считаем операции:
(для реальной части): умножение, вычитание, умножение — 3 операции
(для комплексной части): умножение, сложение, умножение — 3 операции
Итого в потоке пиковая производительность составит 6 операций за такт.
Я правильно понял, что R1 имеет в итоге меньшую производительность, чем было у P1 (из-за меньшей предельной тактовой частоты)?
«Микрон» 180 нм не рассматриваете из-за стоимости, или есть какие-то еще причины?
На более низкие проектные нормы планируете переходить?
Топологию по-прежнему полностью аутсорсите, или собираетесь сами ей заниматься в какой-то перспективе?
Питания 3.3 и 1.8 надо извне подавать на кристалл, или у вас встроенный преобразователь есть? Над динамическим изменением напряжения питания в различных режимах не думали?
Мы в таблице и привели для 100 МГц производительность. В принципе да, P1 разгоняется до 120МГц, на R1 не было времени вытянуть на большую частоту, поэтому 100МГц, но зато с реконфигурацией и много чем еще, что позволяет R1 работать быстрее не в пиковой производительности а в целом и решать больший круг задач.
Руководство рассматривало «Микрон», я только за попробовать сделать пластину на Микроне, надо у руководства уточнять выбор фабрики и причины.
На более низкие топонормы планируем переходить в ближайшем будущем.
Топологию «Цифровые решения» делали, в перспективе конечно хотелось бы всё самим.
В текущей версии процессора надо извне подать 1.8 и 3.3, в следующих версиях будет одно питание 3.3 В, над динамическим изменением напряжения также думали, у нас очень много того, что мы хотим, но все за раз сложно сделать и отладить.
Сколько стоят отладочные наборы для обычных гиков? Если судить по информации приведённой на сайте (может она устарела?), то цены кусаются, проще приобрести малину, кубик или последние предложения от intel.
Правилами хабра кажется запрещено написать конкретную цифру. Но отладочный комплект состоит из двух плат, в принципе если для себя, то можно взять только процессорную плату, экран и остальное можете сами припаять.
На сайте LDM-systems есть прайс, с помощью гугл можно найти легко, там не сильно кусается цена. Если хотите совсем подешевле, то только самим взять процессор и вытравить плату под него.
А можно ли уже писать не на ассемблере под мультиклет? На С89 хотя бы?
Да и для P1 и для R1 можно уже писать на Си89, компилятор Си99 оптимизирующий на подходе(была произведена ротация в команде разработчиков компилятора с целью его скорейшего выхода).
А для llvm бэкенд не планируете сделать?
Скажем так, если был бы backend для llvm это бы решило проблемы активного продвижения в отрасль за счет хреновой тучи frontend'ов для оного. Потом нужно ставить вопрос не «планируете сделать», а кричать «вам обязательно нужно это сделать, черт побери!».
У llvm куча проблем с нестандартными архитектурами. Тот же VLIW в пример.
Не обращайте внимание на слова «это не нужно», «страдаете фигней», и т.д. Вы делаете очень крутую работу!
Можно ли будет в ближайшее время достать где-нибудь отладочную плату для себя?
Очень хотелось бы поиграться :)
Никаких ограничений на платы нет, их может получить любой желающий из любой страны. В некоторых Вузах можно будет скоро попробовать плату бесплатно.
Дороговато конечно,
планируется ли плата подобная LDM-MCp0411100101-Q-208 Evolution, но с R1?
Процессорная плата может работать отдельно от базовой, надо только питание на неё подать и JTAG приобрести или если есть PicoTap, то им воспользоваться. Намекну LDM-Systems, что нужен очень дешёвый аналог отладки как у STM32F4 discovery.
Но как я понял LDM-MCp0411100101-Q-208 самодостаточна, т.е. купил подцепил к компьютеру и можно уже помигать светодиодом?
Именно так.
Хочу еще дополнить свой ответ, тем что процессорную плату можно запитать по USB проводу от ПК, т.е. минимально достаточным набором будет процессорная плата + программатор LDM Pico Prog
Да! Еще как нужен.

Аналог STM32F4 Discovery по формату: со встроенным отладчиком (да пусть даже без него, но внешний чтобы был недорогим), да еще бы конфигуратор/генератор кода вроде STM32CubeMX.
Сигма-дельта АЦП 16 бит @ 48 кГц — очень вкусная фича. Мне бы хватило и 2 кГц.
Параллельность и возможность запустить FreeRTOS — важно.
512КБ памяти для приложения — мне хватит с запасом.
ОЗУ 30 кБ — меньше нежелательно.

Купил бы такой вариант уже сейчас за 2-3 тыр.
Интересно: на сайте ЦР написано, что вы им дали нетлист, а топологию они сделали сами под один из техпроцессов, который они поддерживают. Т.е. у них, видимо, куплены библиотеки стандартных ячеек под несколько техпроцессов (TSMC, Silterra, TowerJazz, Микрон). Библиотека (да и memory compiler) ведь нужна для синтеза — они вам ее дали, перепродали, или вы сами с фабрикой договаривались? На каком этапе разработки был выбран техпроцесс? Заранее, под какие-то рамки производительности, или сначала написали RTL, а потом выбирали, где произвести? (т.е. выбирали техпроцесс под частоту, или частоту под техпроцесс?)
Точно не уверен, но насколько мне известно фабрики бесплатно предоставляют свои библиотеки. С фабрикой у нас есть прямые контакты. Для R1 до начала работ выбирался техпроцесс с учетом стоимости техпроцесса, рамок производительности и размером кристалла, сейчас у нас 12 на 12 мм кристалл на 180 нм. Главным аргументом выбора техпроцесса была стоимость выпуска первой партии и круг задач решаемых процессором. Клетке на самом деле не важно на каком техпроцессе она будет произведена, вопрос лишь в том, под какой техпроцесс у нас должна быть PLL, АЦП, ЦАП. В R1 мы главное, мы хотели попробовать очень много нового, частота для нас стояла на втором плане, в текущей ревизии мы не занимались вытаскиванием высокой частоты, главное было, чтобы все заработало так как задумали.
Обычные библиотеки стандартных элементов, как правило, не покупаются, а выдаются вместе с дизайн-китом бесплатно.
Ну просто я знаю, что наша контора продает свои собственные библиотеки для TSMC. То есть если я пойду прямо к TMSC и скажу, что хочу в их шаттл — они дадут либы бесплатно? Или нужно сначала кровью подписаться, что куплю контейнер пластин?

Интересно, как фаблесс модель работает в реальной жизни.
Обычный дизайн-кит включает в себя модели элементов, топологические примитивы, средства для верификации и базовые библиотеки цифровых элементов. Для того, чтобы дали вот это все, ничего обещать не надо, надо просто подписать NDA.
Аналоговые блоки, компиляторы памяти, небазовые библиотеки цифровых элементов обычно продаются отдельно.
В таблице характеристик для АЦП ЦАП не хватает разрядности, и для ЦАП нет ли «очепятки» в 100 Мвыб/сек.
АЦП 16 бит, 8 независимых каналов, дельта-сигма, 48 киловыборок/с
ЦАП 12 бит, 1 канал, и работает на системной частоте в 100 МГц, т.е. главное как быстро мы будем ему данные на вход подкладывать
И судя по фотографии пластины это был не MPW шаттл. Рисковые вы парни :)
Мы не делаем шаттлы и для P1 тоже не делали, дешевле выпустить 3-4 тысячи процессоров в кремнии.
То есть это что-то вроде Engineering run / MLM сразу? Тогда это действительно не смертельно дорого, можно и рискнуть, если сила воли есть.
С шаттлами там какие-то сложности были с переделкой под нас, поэтому всё взвесив получилось, что экономичнее и надежнее сделать минимальную партию пластин.
Does it run NetBSD? Есть ли уже под него линукс?:)
Пока что с отладочной платой можно работать под Linux. На борт процессора ещё не успели uClinux портировать.
Я в железной части сильно плаваю, поэтому следующий вопрос, наверное, покажется глупым, но насколько можно считать этот процессор «процессором общего назначения»? Т.е. я вижу там, судя по описанию, пучок привычных интерфейсов, типа usb, wifi, ethernet, sdram. Насколько возможно на базе данного процессора сделать что-то в стиле «малинки»?
Наш процессор вполне можно использовать во многих проектах, сейчас стараемся выложить побольше примеров программ с подробным описанием и дополняем документацию, затем (пока правда не решили как назовем русский вариант раздела с такими документами)сделаем по каждому блоку Application Notes.
Ок, ждём, спасибо!
А что насчет поддержки FreeRTOS?
Да можно запускать FreeRTOS, вот мы сами запускали 2 года назад на P1 www.youtube.com/watch?v=PhJqBR1Yank
Насколько я понимаю, многое зависит от качества компилятора.
Помню какой это ад был с программированием ресурсоёмких приложений под Itanium. Я уже оставлял платформу, когда компилятор стал выдавать более-менее вменяемый код.
Как у вас в этом направлении?
Оптимизирующий компилятор пока только обещают. В смысле, первую версию.
Т.е. все очень печально пока что.
Очень надеюсь, что это временные проблемы роста.
Не. Там ничего печального нет. Наоборот, компилятор у нас забавный и работать над ним весело.

Единственное, что печалит, так это отсутствие внимания к нему общественности, не смотря на то, что он открытый со свободной лицензией. Помощь бы, хотя бы в его обсуждении, нам бы не помешала.
Так напишите о нем хотя бы статью здесь же, с линком на репозиторий, описанием того, что есть, и того, чего нет. Глядишь, кто-то и подтянется.
А то сейчас ваш компилятор точно как неуловимый Джо.
Угу. Надо написать. Но сначала надо закончить работу.
А откуда программистская общественность узнает о вашем компиляторе,
если даже о самом процессоре мультиклет с трудом можно узнать? На деле от вас нет ни одной ссылки на RSDN — на что вы рассчитываете? Гугл с трудом находит ваш форум — это он? multiclet.com/community/news/1

Ага. Это он. Просто публиковать решили не идеи, а результаты. А я постарался привлечь людей, которым тоже нужен компилятор для их экзотических архитектур через личные контакты, но как-то не получилось. Сидят, ждут результата, молчат.
Более или менее хорошо, только не так быстро, как хотелось бы, к сожалению. Мы взялись за разработку универсального средства для разработки компиляторов. Нечто типа LLVM, поэтому процесс затянулся. Сами сейчас подошли к финальной стадии разработки компилятора Си-99.

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

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

2. Уметь определять линейные циклы, чтобы пользоваться аппаратными возможностями для их поддержки: векторизация, индексные регистры и прочее.

3. Нужно уметь определять места в программе, где можно использовать неупорядоченные операции с памятью. Это помогает не задерживать вычисления.

Самое важное здесь — это оптимизации пункта 1. Если их делать вручную сразу получается, как минимум, троекратный прирост скорости.
А что мешало сам LLVM взять? Он что-ли совсем неэффективен by design для данной архитектуры? Просто было бы круто иметь c++14, rust и прочие новомодные языки.
LLVM не может быть неэффективен для архитектуры, потому что архитектура является вторичной. Бо́льшая часть кода вообще не оперирует понятиями целевой архитектуры.

Это ОЧЕНЬ сомнительное удовольствие писать свою библиотеку. Вместо того чтобы взять тонны отлаженного и документированного кода (не говоря уже о фрондендах языков).
LLVM заточен на регистровые машины, то есть на те, в которых обмен данными между инструкциями осуществляется через регистры. Регистр, как абстракция, это такая именованная ячейка памяти. LLVM ожидает, что если в регистр с именем X записано некоторое значение, то потом оно и будет всегда читаться по этому имени X до следующей записи. Объяснить LLVM, что такое «ссылка на результат одной из предыдущих инструкций», и то, что одно и то же имя, например, "@1" может означать разные значения, не понятно как. Мы не разобрались сами. Но если кто-то нам подскажет, мы будем весьма рады и благодарны этому хорошему человеку.
На каком уровне вы пытаетесь это объяснить? На уровне представления программы есть SSA, в которой в принципе нет понятия регистра. Есть имя которое привязано к данному конкретному вычислению. Есть другие вычисления, использующие данное имя — это прямой аналог того что вы делаете, когда говорите о зависимости одной инструкции от другой.

На уровне кодогенератора мы берем SSA представление и последовательными проходами «опускаем» его до уровня железа. Регистры назначаются практически в самом конце. До того представление оперирует виртуальными регистрами vreg коих может быть много.

Я так понимаю что разрешить регистровую связь можно как раз через vreg-и. Ну и разумеется написать свой умный регистровый аллокатор, который не просто растолкает vreg-и по реальным регистрам, но еще и сохранит эти отношения.
На каком уровне вы пытаетесь это объяснить?

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

До того представление оперирует виртуальными регистрами vreg коих может быть много.

Проблема не в количестве, а в том, что эти vreg-и являются именно регистрами, то есть, они хранят связанные с ними значения постоянно. LLVM считает, что vreg переживает ветвления. А у нас совсем не так.

То есть, ссылка на коммутатор, в общем случае, не переживает линейный блок. И нужно делать анализ, каково время жизни текущего vreg-а. Много проблем в этот анализ добавляет наличие phi-узлов с их хитрыми множественными входами.

И это половина беды. LLVM к тому же считает, что все операции с памятью и регистрами осуществляются последовательно. То есть, он пишет в свой этот vreg и считает, что все следующие чтения из него будут давать последнюю версию данных. Это же считается справедливым и для записей в память.

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

По идее, нам бы хорошо иметь в самом начале оптимизации замкнутые по чтениям/записям линейные участки, а потом их уже объединять, анализируя ссылки на память или регистры, куда осуществляются доступы. А LLVM выдаёт совсем не такой код.
Спасибо, очень интересная информация!

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

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

P.S.: Я был бы очень признателен, если бы вы описали это дело в виде статьи. Тема очень интересная и нестандартная. С такими проблемами мало кто сталкивался.
Можно и так сказать, что неэффективен. Конечно, очень бы хотелось бы взять LLVM и не страдать этой затяжной тяжёлой разработкой. Однако, код, который нам LLVM выдаёт, особенно с высоким уровне оптимизации, ну совсем уж далёк от нашей архитектуры. Пока мы пилили компилятор для Си-99 стало более или менее понятно, что делать со всеми этими проблемными на тот момент для нас конструкциями. Но на момент начала разработки вообще никаких идей не было. Мы что-то там сделали даже, и я даже просил опытных пользователей LLVM помочь. Но они сказали, что у нас вообще всё ни как у людей, что никогда мы компилятор не напишем (хотя на тот момент уже был C89), что надо переписывать ядро LLVM, а ради нас это никто делать не будет, сами барахтайтесь.

Ну и вот. Так получилось. Теперь, видимо, имеет смысл сделать LLVM одним из доступных для нашей системы front-end-ов. Но всё равно, мы получим более подходящее нам промежуточное представление, если будем описывать семантику C++ сразу в терминах нашей системы, а не обрабатывать код, в котором уже нет интересных для оптимизации подробностей.
А вот это очень интересный процессор, кмк. По крайней мере, необычный.
и что не мало важное, его можно пойти, купить и потыкать, в отличии от Эльбруса :(
Главное, что без дикого количества пафоса. Сразу видно, люди что-то реальное пилят.
А в чём его польза, если убрать из рассмотрения духовные скобы, депрессивную стадию вставания с колен и прочий ура-национализм?

То есть, с позиций:

Консьюмера
Бизнеса, которому хочется попроще и получше всё то, что было
Связистов
IoT'а
Любителей-монтажников

?
proof of concept гибрида ужа и ежа (cpu и dsp).
В перспективе, когда все отладят, ядра (клетки) можно будет напихивать сотнями как в gpu, но в отличие от, эти ядра а) универсальные, б) гибко обмениваются данными напрямую на уровне инструкций, а не как сейчас через всякие мьютексы в памяти.
В более близкой перспективе — ну, будет просто быстрая универсальная числодробилка с очень низким энергопотреблением.
«Ядра обмениваются данными» — это как? Сейчас эксклюзивно у ядра в большинстве ЦП есть L1/L2. Весь «обмен» данными — это просто писать в расшаренную память. Мьютексы используют не потому что архитектура кривая, а потому что необходимо синхронизировать потоки выполнения на разных ядрах (или под «мьютексом» тут понимался MESI?). Для того, чтобы подобный супер-многоядерный процессор выигрывал — он должен значительно выигрывать по показателю производительности на доллар, и при этом класс задач, который можно решать — это то, что очень сильно параллелится, но то что нельзя переложить на GPU в силу сложности логики каждого потока и то где необходим быстрый обмен данными. Если хоть одно из этих условий не выполняется то GPU или CPU будет быстрее (если, конечно, архитектуру самого ядра не добьют до уровня, конкурирующего с Intel, но вроде такой задачи не ставят). Даже если все выполняется — встает проблема переписывания кода и экономической обоснованности покупать железо под конкретную задачу (задачу завтра решат, а железо останется).
Клетки обмениваются данными. Не ядра. Обмениваются через коммутатор результатами исполнения инструкций. Это быстрее, чем L1 и как раз и нужно для задач, которые плохо разваливаются на отдельные нити.

MESI — это протокол синхронизации кэшей. Он не обеспечивает согласование обмена данными между задачами, то есть, между потоками управления, то есть, нитями. Чтобы договориться о какой-то общей логике работы нитям нужны примитивы более высокого уровня, «мьютексы» разные, например. Если и у нас будет запущена многонитевая задача, то и нам понадобятся «мьютексы» для синхронизации логики работы в разных нитях. Тут ничего особенного.

Особенность в том, что пользователь может отконфигурировать вычислительное поле под текущие особенности своего алгоритма: много независимых простых потоков — много клеток, мало простых потоков — мало клеток, остальные отключены и экономят энергию, мало сложных потоков — много клеток, объединённых в группы. Плюс всевозможные смешанные режимы.

Не известно пока ещё, будем ли мы эффективнее на доллар, чем конкуренты, особенно в традиционных тестах. Но то, что решение наше более универсальное — это уже понятно. Хотя бы даже по опыту разработки криптотелефона.
Я знаю что такое MESI, но мьютексы и прочие примитивы синхронизации — это, еще раз повторю, не из-за особенности процессора, а из-за необходимости синхронизации алгоритма, запустить его хоть на камне — от этого мьютексы не исчезнут.
«Мало клеток» не дадут прироста скорости линейным вычислениям. Т.е. есть у меня алгоритм, который не параллелится — и если я объединю хоть миллион небольших ядер/клеток/назовите как угодно — я не получу прироста производительности.

Ответьте на три вопроса:
1 — как вы предлагаете избавиться от примитивов синхронизации?
2 — Зачем нескольким вычислительным модулям обмениваться быстро данными? Какая область применения, когда нужно такое постоянное взаимодействие? Если задача плохо параллелится, то все что вы можете сделать — это ILP, применимость ILP заметно ограничена контекстом, и получить выигрыш от большого количества ядер здесь тяжело, кроме того ILP есть и на обычных Intel процессорах, масштабировать его дальше не слишком далеко можно.
3 — Как я получу прирост производительности в алгоритме с 2 потоками если у меня будет хоть 2000 «клеток»? Против, например, варианта с 10 клетками.
Подпишусь. Пока не очень понятен стек задач.
Консьюмер у нас, предположительно, трёх видов:

1. Те, кому нужны надёжные системы (dependable). Им мы даём ещё один уровень защиты от сбоев. Если одна клетка заглючила, то её можно обнаружить, отключить и продолжать работу на оставшихся клетках с меньшей производительностью. Такую технологию можно использовать вместе с традиционным троированием, а можно отдельно, если хочется подешевле. Понятно, что вероятность отказа системы в последнем варианте будет несколько больше, но это уже вопрос оценки рисков.

2. Те, кому нужны высокопроизводительные системы. Поле клеток можно отконфигурировать под особенности задачи. Если алгоритм хорошо раскладывается на множество мелких нитей, как в GPU, то можно поле развалить на отдельные клетки и получить нечто вроде GPU. Если же есть участки с вычислениями сильно зависимыми по данным, то клетки можно объединить в группы и обрабатывать данные как традиционными out-of-order процессорами. При чём, это всё в динамике и в зависимости от текущих потребностей.

3. Те, кому нужно гибко управлять энергопотреблением. Хочется работать в энергосберегающем режиме: просто отключаем часть клеток. Не нужно дробить программу на нити, управлять ими, синхронизировать, как в bit.LITTLE у ARM. Клетки отключать/включать можно даже прямо из приложения, сложная поддержка со стороны OS не требуется.

4. Те, кому нужно поэкспериментировать с архитектурой своего ПО. Один наш процессор, в простом корпусе, может заменить от 4 до 1 обычных контроллеров.

И ура-национализм тут совершенно не при чём. Однако, есть национальные интересы. Некоторым разработчикам оборудования хочется больше контроля над процессорами. Ну, типа, если они там закладку обнаружат, чтобы было кому больно настучать по башке. Этим людям мы тоже даём возможность удовлетворить их потребность в чувстве собственной безопасности.
> Консьюмер у нас, предположительно, трёх видов:

Звучит так, как будто консюмера вживую пока никто не видел.

Ну то есть вы придумали архитектуру, а заказчиков пытаетесь под эту архитектуру подогнать. Но существуют ли эти люди? Они в курсе, что им это надо?
1) Ну, может быть, правда кому надо эту проблему давно решили без экзотических процессоров.
2) «высокопроизводительные» — это очень теоретические мечты, вам до GPU лет 10. Только там понятно на какие деньги развитие было, а у вас — нет. Зачем мне конфигурировать CPU в GPU, если у меня в компе стоят оба?
3) «отключать прямо из приложения» — это удобно, вирусописатели оценят. Но не очень понятно зачем. Ну может у вас это и лучше работает (без реальных тестов не понятно), но если это единственное преимущество для задачи — (почти)всегда можно батарейку побольше поставить.

То есть кроме ура-патриотического космоса, оборонки и школ — не очень понятно кому он может массово понадобится. А, на сколько я помню, у вас и ценник на порядок отличается.
Ну то есть вы придумали архитектуру, а заказчиков пытаетесь под эту архитектуру подогнать. Но существуют ли эти люди? Они в курсе, что им это надо?

Как и с любым действительно новым продуктом. Лично я пока не вижу в этом ничего плохого. Ребята развиваются и ищут свою нишу.
1) Ну, может быть, правда кому надо эту проблему давно решили без экзотических процессоров.

Они решили эту проблему эффективно? Или, может, там настолько всё топорно, что есть непаханное поле для эволюции?
Зачем мне конфигурировать CPU в GPU, если у меня в компе стоят оба?

Зачем вам два, если можно обойтись одним?
То есть кроме ура-патриотического космоса, оборонки и школ — не очень понятно кому он может массово понадобится. А, на сколько я помню, у вас и ценник на порядок отличается.

Как и с любым действительно новым продуктом. Лично я пока не вижу в этом ничего плохого. Ребята развиваются и ищут свою нишу.
Как и с любым действительно новым продуктом.
Да? А я всегда считал что сначала надохится ниша, а потом для нее делается продукт (разве что кроме фундаментальных исследований, но там и «продукта» как такового нету). А не, как пишут авторы «скрестили уже с ежом», а теперь ищут кому бы это можно было загнать.
Пример с потолка — яндекс. Ребята делали поиск ради поиска и про интернет тогда думать не знали вообще. А оно оказалось.

И это пример, пришедший в голову в первую секунду. Можно вспомнить про планшеты ещё. Айпэд тоже казался никому ненужной фиготой на момент выхода («Но у меня уже есть и мобильный телефон и ноутбук — зачем мне это?»). На самом деле, довольно много продуктов появлялись, когда рынка под них не было.

«Пусть расцветёт тысяча цветов». А там уже выживет полезнейший:)
Вы путаете, iPad просто занял нишу, но у них был план продвижения и они знали кто целевая аудитория и какие задачи железка решает. Здесь же я не вижу ни примера конкретного задач, которые бы продукт решал лучше, ни целевой аудитории.
mikhanoid уже писал в каких направлениях процессор можно применять, наибольший выйгрыш мы конечно получим на задачах, которые распараллеливаются, таких задач очень много: обработка сигналов, работа со спектрами, кодирование, декодирование, обработка массивов информации, функции управления, задачи, где нужна повышенная надежность, широкий температурный диапазон и др.
На задачах, где весь процесс идет друг за другом, мы можем быть не хуже других по производительности и при этом не потреблять энергию, т.е. если все идет один за другим, то можем на это оставить одну клетку и она отработает.
На задачах, где весь процесс идет друг за другом, мы можем быть не хуже других по производительности и при этом не потреблять энергию, т.е. если все идет один за другим, то можем на это оставить одну клетку и она отработает.
Эта фраза подразумевает что одна ваша «клетка» по производительности сравнима с ядром Intel процессоров, иначе вы в принципе не можете быть «не хуже». Но если вам удалось сделать ядро на уровне Intel — то зачем вся эта возня с «клетками» — выпускайте просто конкуренты, при более низкой цене у вас уже завтра будут клиенты. Но что-то мне подсказывает что ваша «клетка» по уровню до современных ядер очень сильно не дотягивает, а значит на не параллелящихся задачах вы получите огромный проигрыш, и чем меньше степень распараллеливания — тем более драматичен проигрыш.

Вы выигрываете не на просто задачах которые распараллеливаются, а на задачах, которые распараллеливаются и при этом не ложатся на видеокарточку, потому что специализированные ядра видеокарточек будут практически by design быстрее ядер общего назначений которые вы делаете. И еще задачи не должны быть исключительно параллельными по данным, потому что в этом случае все масштабируется очень хорошо на несколько серверов почти без потерь. Так что пока не вижу конкретно задач, удовлетворяющих этим критериям.
Эта фраза подразумевает что одна ваша «клетка» по производительности сравнима с ядром Intel
А почему именно Intel?
Потому что есть люди, для которых «процессор» = «персональный компьютер», максимум — видеокарта для майнинга биткоинов. И они почему-то не в курсе того, что микропроцессоры и микроконтроллеры давно уже стоят везде, вплоть до чайников и лампочек, и поэтому мерить их на Intel не то, чтобы неактуально, а даже иногда и глупо.
Я ничего не путаю, я просто предлагаю дать ребятам сделать своё дело и посмотреть, что в итоге получится. Если этот продукт по какой-то причине кажется бесполезным для вас, то это не значит, что он бесполезен для всех.
Я же не прошу запретить, конечно пусть делают. Я просто пока не вижу вообще ниши на которой он может быть нужен.
Не «поиск ради поиска», а «поиск ради результата».

Рынок планшетов недвусмысленно и безуспешно окучивал wintel с MID ещё года с 2002, прекрасно понимая потенциал. Если вы считали, что раз у вас есть ноутбук, то он есть у всех — это не проблема айпада.
Процессоры P1 и R1 создавались на основе анализа запросов компаний с которыми мы сотрудничаем. Мы также можем сделать процессор по требованиям заказчика, т.е. под определенную сферу задач, убрав всё что не надо и добавив специализированные блоки и команды. Мне лично хотелось сделать массовый продукт в виде процессора превосходящего показатели MSP430 с FRAM на борту, мультиклеточная архитектура как раз позволяет сделать низкое энергопотребление, но пока мы не пошли в разработку такого процессора, который был бы полезен в датчиках и других устройствах, где нужно низкое энергопотребление и просто так никто батарейку посильнее не поставит. Но я надеюсь, что в будущем мы пополним линейку процессором заточенным на очень низкое потребление.
FRAM вы где собрались взять себе на борт?
Несколько фабрик находили, которые могут FRAM поставить на борт.
Понятно. Т.е. по сути вы делаете ASIC'и, и теперь добавили немного стероидов и продвигаете.
> Как и с любым действительно новым продуктом.

Ну, что он «действительно новый» — это отдельный разговор.
Радио изобреталось с понятными целями, это — «потому, что могу».

> Они решили эту проблему эффективно? Или, может, там настолько всё топорно, что есть непаханное поле для эволюции?

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

> Зачем вам два, если можно обойтись одним?

Мне не 2, и не 1 — мне чтоб считало. Это называется «решить эффективно».
Радио изобреталось с понятными целями, это — «потому, что могу».

И я не вижу в этом ничего плохого. Могут — молодцы. Это кому-то интересно и полезно — вообще отлично.
Вы сейчас это поле через госзаказы и налоги оплачиваете. Вы уверены, что вы именно тут эффективность повышать хотите?

Предпочитаю через госзаказа с моих налогов оплачивать продукт, продукт производимый у нас же, чем вывозить деньги за бугор. Раз уж на то пошло.
Мне не 2, и не 1 — мне чтоб считало. Это называется «решить эффективно».

«Решить еффективно» — это максимум пользы при минимуме затрат. Вы уверены, что первое же полученное человечеством решение какой-то проблемы — единственно верное?
Наша компания пока существует за счет частных инвесторов, поэтому мы не так быстро как хотелось развиваемся. Но очень хотелось бы получить финансовую поддержку от государства.
Вы веткой не промахнулись?:) Я то вас поддерживаю:)
Да), я для пользователя areht написал.
Чего уж там, мне бы тоже хотелось поддержку государства, а не жить на одну зарплату.

Только пока вы претендуете на поддержку (да и получаете немало госзаказов) из моих налогов — позвольте вас не поддержать в этом стремлении.

Если бы вы не за господдержку боролись, а за делали конкурентоспособный продукт на международный рынок — я был бы двумя руками «за».
> Предпочитаю через госзаказа с моих налогов оплачивать продукт, продукт производимый у нас же, чем вывозить деньги за бугор. Раз уж на то пошло.

> «Решить еффективно» — это максимум пользы при минимуме затрат. Вы уверены, что первое же полученное человечеством решение какой-то проблемы — единственно верное?

А вы уверены, что продукт, произведённый у нас — «единственно верный»? Я уверен, что нет, а вы разговариваете противоречащими параграфами.
А вы уверены, что продукт, произведённый у нас — «единственно верный»? Я уверен, что нет, а вы разговариваете противоречащими параграфами.

Нет, я не только в этом не уверен, более того, я об этом нигде не говорил. Вы просто читаете то, что вам удобно. Я уже выше писал:

Я ничего не путаю, я просто предлагаю дать ребятам сделать своё дело и посмотреть, что в итоге получится. Если этот продукт по какой-то причине кажется бесполезным для вас, то это не значит, что он бесполезен для всех.
> Я ничего не путаю, я просто предлагаю дать ребятам сделать своё дело и посмотреть, что в итоге получится.

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

Если заинтересованных заказчиков не достаточно для развития этой технологии — вероятно люди страдают ерундой, а не эффективным решением задач.
Вот поэтому мы вместо полета к Марсу, исследования земных глубин и прочих «высоких целей» тратим деньги на разные шоу «Биланов», очередные iPhone c экранами побольше и феррари с колесами покруглее. Маркетолухи убедили что это как раз то что нужно «заинтересованному заказчику».

А ребята молодцы — действительно ищут что то новое, и я уверен найдут!
Зачем вам земные глубины, какая в этом высокая цель? Я знаю одну причину — выкопать оттуда нефть/металлы и собрать из этого очередной айфон.

Вообще, в 101 архитектуре процессора ничего общего с полётами к марсу. Это и есть кусок очередного айфона (даже на КДПВ топике — кусок айфона!)
А я предлагаю это делать на деньги заинтересованного заказчика, а не явно и неявно спонсировать из моего кармана.

Если заинтересованных заказчиков не достаточно для развития этой технологии — вероятно люди страдают ерундой, а не эффективным решением задач.


Мы именно так сейчас и развиваемся только на средства заинтересованных заказчиков. Госзаказов у нас пока тоже нет, у нас инициативная разработка.
Если бы у нас еще были государственные средства, то мы бы сейчас делали ускоритель с большим количеством клеток, сделали бы надежный радстойкий процессор и компилятор был бы готов.
Судя по упоминаниям заказов от клиентов, боящихся закладок и получения заказов по причинам «чисто по политическим» — госзаказ у вас есть. Ну или окологос, но явно не рыночный.
Вы прям в качестве вины какой-то это преподносите.
Ну делать вид, что кормит не государство — скорее да.
Остальное — скорее к государству.
Вы предлагаете свернуть оборонную промышленность в стране? Каково Ваше видение правильного расходования бюджетных средств?
Я предлагаю свернуть оборонную промышленность до адекватного состояния. Раза в 2-3.

У нас, по соотношению военных расходов к ВВП, третье место в мире. Больше, чем у США и остальных 260 стран в мире.
Но Вы ведь понимаете, что у нашей военной промышленности нет возможности использовать какую-то существующую отечественную технологическую базу? Ведь так исторически сложилось, что у нас нет частных компаний, производящих современную высокотехнологичную продукцию. Поэтому государство вынуждено тратить существенно больше денег на военные разработки чуть ли не с нуля, что влечёт за собой дополнительные расходы, как раз в эти самые 2-3 раза.
> Но Вы ведь понимаете, что у нашей военной промышленности нет возможности использовать какую-то существующую отечественную технологическую базу?

Как и у остальных 260 стран
> Как и у остальных 260 стран

Из которых треть — в блоке НАТО, треть подвергается агрессии со стороны блока НАТО, и оставшаяся треть просто не представляет интереса для блока НАТО.
Но нам обязательно нужен особый путь. Опция «войти в НАТО» почему-то даже не рассматривается.
Не «нам нужен особый путь», а для поддержания мира нужна многополярная система. Единоличная и безграничная власть, как показала история, ни к чему хорошему не приводит.

Из википедии: «Блок НАТО основан 4 апреля 1949 года в США, «чтобы защитить Европу от советского влияния»». Так что там насчёт опции «вступить в НАТО»?
Я напомню, что на этот «особый путь» полюса в среднем с каждого гражданина РФ собирается лишних 50 000 рублей в год. Подозреваю, что вы зарабатываете больше среднего, умножте сами.

И, что характерно, полюсом мы от этого не стали. Им может быть США, Китай и ЕС. А мы просто тратим много денег на оборонку.
Я подозреваю, что Вы из разряда тех, кто помогает стране размахиванием флажков на митингах.
Я подозреваю, что переход на личности означает, что аргументы кончились.
Аргументы не кончились. Кончилась надежда на Вашу способность анализировать ситуацию.
Я так и понял
>Больше, чем у США и остальных 260 стран в мире.
В процентном соотношении — может быть, вот только в абсолютных цифрах — их бюджет не оборонку и исследования на четверть больше чем бюджет России в принципе. А оборонку развивать тем не менее нужно, конечно в том случае, если есть желание вести независимую политику и отстаивать геополитические интересы. Si vis pacem, para bellum.
Как вы себе представляете это отстаивание, когда у них больше, чем у нас бюджет в принципе? Отстаивание геополитических интересов заканчивается, извините, не курсом в 60 руб. Мне это «слона и моську» напоминает.

Вы бы вместо парабеллума в образование вложились, там глядишь, лет через 30, и процессоры конкурентоспособные будут производится у нас, и бюджет позволит в войнушку на равных поиграть.
Суть не в том, чтобы поиграть в войнушку с кем-то другим, а в том — чтобы ни у кого не возникало желания поиграть в нее с нами. А для этого приходится и заниматься НИОКР по все основным направлениям, не только по оружию, но и микроэлектроника, и космическая отрасль и прочее. В образование вкладываться нужно, согласен, даже скорее в повышение престижа качественного образования в первую очередь. Но при этом если сейчас не вкладываться в ОПК, чтобы поддерживать его на современном уровне, то через 30 лет может оказаться, что и процессоры производить будет уже некому.
А отстаивание интересов — это не обязательно война. Например такая ситуация — есть 3 стороны переговоров, у одной из них есть преимущество в военном плане. Первые две стороны проводят, допусти переговоры на строительство АЭС, которая может принести выгоду обеим сторонам, но тут приходит третья и требует. чтобы та сторона которая собралась строить у себя электростанцию — строила у себя не АЭС, заказывая ее у первой стороны, а ТЭЦ, заказывая ее у третьей. И все с этим соглашаются, потому что никому не охота рисковать навлечь на себя недовольство превосходящей в военном плане страны. А вот если у страна предлагающая АЭС и предлагающая ТЭЦ примерно равны в военном плане — то вероятность прямого конфликта между ними стремится к 0, и тогда им придется достигать своих выгод более тонкими методами, чем прямое давление.
> А вот если у страна предлагающая АЭС и предлагающая ТЭЦ примерно равны в военном плане — то вероятность прямого конфликта между ними стремится к 0

А в какую цифру вы оцениваете вероятность прямого военного конфликта, между участниками ядерного клуба?

Нас проще экономически уничтожить, чем воевать. И через 30 лет процессоры производить будет некому.

Но навлечь недовольство превосходящих в экономическом плане стран почему-то никто не боится.
>А в какую цифру вы оцениваете вероятность прямого военного конфликта, между участниками ядерного клуба?
Для США, Россия, Китай — меньше процента, для остальных стран участниц — меньше 5.

Экономически можно только обозлить, но не уничтожить, Куба и Северная Корея долгие годы живут долгие годы в экономической изоляции, но тем не менее существуют, как страны. Уничтожить страну можно двумя способами — подкупив часть элиты, которая продвинет разделение страны на части, либо прямая военная интервенция. Остальные способы могут существенно ухудшить положение страны, но не уничтожить.
> Куба и Северная Корея долгие годы живут долгие годы в экономической изоляции

И как у них дела с защитой геополитических интересов в плане постройки АЭС и ТЭЦ? Ну живут и живут, если бы северная корея не находилась рядом с южной — можно на их месте на карте пустыню нарисовать, мало что поменяется. Уничтожить как страну? Ну есть только одна проблема, как в анекдоте про неуловимого Джо.

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

Простите мне продажу идеалов «отстаивания интересов», но я не хочу жить ни на Кубе, ни в Северной Корее. Мне такое отстаивание интересов страны совершенно не интересно.
>И как у них дела с защитой геополитических интересов в плане постройки АЭС и ТЭЦ?
У них никак, но ведь в последнем посте у нас шел разговор об экономическом уничтожении страны. А в посте про ТЭЦ и АЭС — высказывалась мысль, что без военной силы — продвижение экономических интересов может быть легко заблокировано теми, у кого эта сила есть. А насчет неуловимого Джо — я например думаю, что Южной Корее было бы спокойнее.

Никто не предлагает вам жить ни на Кубе, ни в Северной Корее. Просто пытаюсь объяснить, что без НИОКР в разрезе ВПК и современной армии — сложно отстаивать любые свои интересы перед другими странами. Россия чисто в силу своих размеров — является глобальным игроком, и поэтому ее интересы всегда будут пересекаться с интересами других глобальных игроков, и чтобы отстаивать их — необходимо иметь вооруженные силы по боеспособности сравнимые с силам других игроков, а для этого — вести НИОКР и заниматься перевооружение техники на современные образцы(учитывая, что у нас с середины 80-х на это методично забивали — то теперь приходится проделывать большой и дорогостоящий объем работ). Обратите внимание — я не говорю, что другие сферы не важны в геополитическом плане — они очень важны, но без силовой составляющей — они не смогут принести выгоды.
Впрочем если вы знаете страну или блок стран, которые готовы взять Россию под свою защиту, с тем, чтобы мы могли распустить армию — я бы не прочь услышать их названия.
> Просто пытаюсь объяснить, что без НИОКР в разрезе ВПК и современной армии

Я не предлагал отказаться от НИОКР

> сложно отстаивать любые свои интересы перед другими странами

Нет, вы говорите, что нужна «сравнимая» армия. При чём тут НИОКР?
Вооружение можно покупать.
Армию можно в 2-3-5 раз уменьшить почти без потерь в отстаивании интересов — ядерный щит компенсирует.

И я не предлагал распускать армию.
Бразилия (коллега по БРИК) вон тратит в 3 раза меньше наc, и ничего, как страна не исчезает.

И вы правы, мне не предлагают жить ни на Кубе, ни в Северной Корее. Отращивают армию, лезут ей в чужие страны и нарываются на санкции совершенно меня не спрашивая.
>Нет, вы говорите, что нужна «сравнимая» армия. При чём тут НИОКР?
>Вооружение можно покупать.
При том, что без НИОКР армия будет отставать на 1-2 поколения минимум, т.к. современное оружие нам никто не продаст, по двум причинам — опасения в копировании, и опасения применения против себя. Плюс разбирать каждый элемент техники, исследовать всю закупаемую технику на предмет закладок, чтобы техника не прекратила работать в неожиданный момент вся разом. Может их и не будет, но обязательность исследования на их наличие — это не отменяет.
>ядерный щит компенсирует.
Только от прямой военной интервенции, с применением ОМП. Например Грузию ЯО совершенно не взволновало, т.к. они понимали, что в локальной войне его никто не будет применять. И если бы они не тупили в Цхинвале, а обошли и прорвались к Рокскому тоннелю — та заварушка могла пойти совсем по-другому.
>Бразилия (коллега по БРИК) вон тратит в 3 раза меньше наc, и ничего, как страна не исчезает.
Ну так они и не глобальный игрок, а региональный, вот и необходимости меньше. Из стран БРИКС — глобальными игроками являемся только мы, да Китай, который тратит в 2 раза больше нас на оборонку.
>Отращивают армию
92 год — 2,8 млн
2001 год — 1,35 млн
2010 год — 1,1 млн
2014 год — 0,8 млн
Мы точно одинаково понимаем значение слова «отращивают»?
Хотя конечно целевой показатель — 1 млн человек, но вот как-то не видно его.
> При том, что без НИОКР армия будет отставать на 1-2 поколения минимум

И что? Остальные то живут.

> Например Грузию ЯО совершенно не взволновало

А Чеченцев и наши достижения в НИОКР не волнуют.
Китай вот будет волновать ЯО.

> Ну так они и не глобальный игрок, а региональный, вот и необходимости меньше.

А вам обязательно глобально, без центропупизма никак?

> Мы точно одинаково понимаем значение слова «отращивают»?

Видимо нет
1992 — 4070 млрд
2000 — 9228 млрд
2010 — 58720 млрд
2014 — 84500 млрд
В конце опечатки, конечно. 84500 млн = 84.5 млрд
>И что? Остальные то живут
Являясь при этом максимум региональными игроками. Нам же в этом случае придется разделиться на 6-7 стран, потому что наши размеры будут пугать всегда.
>А Чеченцев и наши достижения в НИОКР не волнуют.
>Китай вот будет волновать ЯО.
Предлагаете в случае какого-либо конфликта сразу применять ЯО?

По поводу бюджета: вам не кажется — что если сравнить падение численности, с ростом бюджета — что большая часть денег идет не прокорм армии самой по себе, а именно на НИОКР и модернизацию техники? На мой взгляд это гораздо лучше, чем иметь армию в 2-3 млн человек, но вооруженную старым вооружением.
> Нам же в этом случае придется разделиться на 6-7 стран, потому что наши размеры будут пугать всегда.

Если вас размеры пугают — это к фрейду.
Делить нас никому не надо так же, как не надо Кубу уничтожать как страну.
Природные богатства мы и так отдадим.

> Предлагаете в случае какого-либо конфликта сразу применять ЯО?
Предлагаю не нарываться. Но в случае вторжения Китая у вас выбор то не большой, или ЯО или сдаваться. Или надо ещё раза в 2-4 отращивать бюджеты (но у нас пупок лопнет).

На мой взгляд деньги большей частью воруют, оправдывая бесконечное раздувание бюджетов страшилками про «придётся разделиться на 6-7 стран».

Вообще, мне бы хотелось получить внятный ответ, что именно мы защитили в наших интересах, потратив триллион долларов за 15 лет. Пока кроме непонятной стычки в Грузии(в Югославию мы гораздо дешевле сгоняли) и приобретения нового дотационного региона (при стоимости ещё в полтриллиона, сомнительное приобретение) — не очень понятно.

За эти деньги можно было без войн купить апл, гугл и микрософт. А у нас НИОКР и мультиклет.
При чём тут государство? Просто, например, есть компания, которая делает станки с ЧПУ. Им просто тупо надо надёжного поставщика процессоров, который не попадёт под санкции, в случае чего, и оперативно исполнит все их хотелки. virshke.ru — никакого государства тут нет, чисто бизнес.
То, что вашим конкурентным преимуществом стало «не попадёт под санкции», а не мультиклеточная архитектура — это бизнес, и государство тут ни при чём?

Я именно это и назвал «нерыночным заказом»
Это всё-таки рынок, хоть и фиговый.
Европейские поставщики электроники для космоса всегда озвучивают, что их продукция ITAR-free, и считают это важным рыночным преимуществом.
В отличии от ITAR-free тут есть один нюанс. ITAR защищает интересы страны вопреки интересам производителей оборудования. А у нас ровно наоборот.
Вообще, я же не спорю, что для них сейчас это преимущество.
Я считаю, что эксплуатировать текущую ситуацию не этичным, сродни продажи БАДов старикам под видом лекарств с десятикратной наценкой.
Предлагаете отказывать тем, кто приходит и говорит «нам нужен именно отечественный процессор»?
Разница с БАД старикам тут простая — никто никого не обманывает.
Если ситуация, сама по себе паршивая, создала вам конкурентное преимущество — им надо пользоваться, чтобы создать себе задел на будущее, когда ситуация исчезнет.
В этом принципиальная разница с теми, кто сразу и навсегда нацелен на госзаказ, в котором отечественность всегда была и будет необходима over everything.
Предлагаете отказывать бабушке, которая приходит в аптеку и требует Омега Форте Эвалар?
Я предлагаю «кто кого и как может обманывать» регулировать государству. Не запрещать импорт (равно как и нарываться на запрет импорта), а регулировать отрицательные девиации.

> им надо пользоваться, чтобы создать себе задел на будущее, когда ситуация исчезнет.

Если кассир отвернулся — надо хватать деньги, пока ситуация не исчезнет. Понимаю, не спорю. Но порицаю. Тут государство должно вмешиваться.
Странная однако у вас позиция. Дать комерции самой разобраться что к чему? Давали уже вон в 90 годы. В итоге ежу понятно что «купи там продай тут» в разы выгодней и надежнее.
Теперь поди найди «бизнесмена» который занимается не перепродажей, а производством.
Вас не напрягает что «кристалы растят» товарищи в Китае. И не потому что там дешевле (как это делают США) а потому что у нас вырастить кристалл да можно, но это сродни постройки если не самолета, то уж точно спорткара. А почему? А потому что «а зачем нам учиться растить кристаллы? в китае же вырастят дешевле в 10 раз».
Благодяря 90-м 2000-м у нас нету элементной базы от слова «совсем». В советские то годы процентов 90 были клонами импортных аналогов. А сейчас даже резисторы покупать в китае приходиться и не потому что там дешевле, а потому что у нас их штучно делают.
Странная однако у вас позиция. В США растят в Китае потому, что выгоднее, а у нас не потому, что выгоднее. У нас какая-то особенная коммерция?
в США почему-то коммерция спокойно занималась производством, перепродажей и там никакого диссонанса это не вызывает.
Может мы и футболки из Китая возим потому, что сами не можем пошить?

В 90-х проблема была с логистикой, поэтому «купи там продай тут» было выгодным. Сейчас Ашаны с X5 выжали палатки под ноль. И все, кому не лень занимаются продвижением СТМ, со своим контролем производства. А всякие TeXet и Redmond подбираются к разработке конечных устройств с нуля, а уж всякие не очень технологичные компании (одежда, обувь) давно имеют свои фабрики, но в Китае.

Подождите ещё лет 30, купи-продай станет ещё более унылым бизнесом, никакого «в разы выгоднее и надежнее». Это называется конкуренция, все дееспособные коммерсы пойдут в производство (точнее в разработку под Китай, как Apple). Хотя под пристальным контролем государства — просто заберут деньги и уедут в более другие края.

Впрочем, то, что у нас производство станет дешевле китайского — это необоснованная фантазия, не зависимо от того, что там в 90-х. Оно как в союзе было дороже, так и сейчас дороже. И дешевле не сделать, даже если начать нашим платить по 5 баксов в день — у нас даже тупо на обогрев больше уходит.
Звучит так, как будто консюмера вживую пока никто не видел.

Видели. Но они приходят с конкретными своими задачами, для которых наш процессор хорошо подходит. Это не целые классы заказчиков? а вполне конкретные люди, проблемы которых мы можем решить лучше, чем конкуренты. По разным причинам лучше, иногда, действительно, чисто по политическим.

но если это единственное преимущество для задачи — (почти)всегда можно батарейку побольше поставить.

Даже если батарейка больше, то есть разница: менять её раз в месяц, или раз в два месяца.
Суть батарейки побольше в том, что её менять _тоже_ раз в 2 месяца.

Если не секрет, какое соотношение поставок нашим заказчикам и иностранным (вне ссср)? Наверняка у иностранцев конкретных задач на 2 порядка больше?
Лично я этой информацией не владею. Это всё коммерческая тайна и интрига. Это Вам к дирекции надо обращаться с запросами.
image
Дорогие друзья, я искренне поддерживаю исследования в предметной области. НО. Если мы уже заговорили об отечественном заказчике в лице оборонки и прочих стратегических областях… То: хватит предлагать изотерику и оригинальщину. Если кто-либо думает, что у разработчика на предприятии ВПК много свободного времени и желания для изучения «клеток процессора» и способов их настроить «на успех» — сильно ошибается. Дайте разработчикам процессоры «общего назначения», это то что нужно в 99% случаев. Научитесь копировать имеющееся, берите пример с Миландра в части аналогов STM и TS, что, действительно, востребовано. Хотите предложить высокий параллелизм вычислений? Дайте отечественный SoC с ARM-ом и FPGA на борту! Или просто FPGA.
Я очень надеюсь что ошибаюсь, но на мой взгляд Мультиклет — это попытка на хромой козе объехать прогресс. А озвученные архитектурные идеи — скорее предмет исследований, чем коммерческое предложение.
Отечественному заказчику в лице оборонки и прочих стратегических областей «Мультиклет» не нужен, ему вполне хватает того десятка производителей, который уже есть (того же «Миландра» в их числе).
Даже если копировать, то получается не всё так радужно. Мультиклет — это и есть прогресс, а не попытка продолжить копирование.
Сразу замечу, что ошибки имеются и в наших процессорах и мы их исправляем, делаем пути обхода.Наши ошибки мы обычно указываем сразу в документации на процессор. Но я думаю в дальнейшем будет тоже отдельный документ(сейчас документацию приводим в полноценный вид по R1).
Так вот приведу первые попавшиеся примеры errata на Миландр, чтобы не было ощущения, что скопировав Вы получите идеал:
milandr.ru/uploads/doc_img/production/spec_seriya_1986BE9x_errata.pdf
milandr.ru/uploads/doc_img/production/spec_1986BE3_errata.pdf

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

P.S. Для того, чтобы начать работать с процессором R1 не нужно много всего изучать. Скоро будет процесс обучения нового поколения начиная со школы и продолжая Вузом. К Вам на предприятие придут специалисты уже обученные работать на отечественном процессоре.
krufter, наличие ошибок (в особенности в первых ревизиях чипа) — это вполне естественная вещь. Очевидно, что этот факт не отменяет нужности того или иного чипа.
Что касается Мультиклета. У меня 1 вопрос: какова ниша применения?
Все вычислители я для удобства поделю на 3 вида:
1. ЦОС.
В области радиолокации и связи оборонкой широко и почти безальтернативно применяется DSP процессор TigerShark. Его система команд хорошо известна разработчикам, базирована на комплексной алгебре, и имеется груда кода под этот процессор. Бескровное импортозамещение, понятно, возможно только на аналог. Поэтому вне зависимости от перечня ошибок, оборонка будет использовать 1967ВЦ2Ф и 1967ВЦ3Т фирмы Миландр. Первые обкатки этих чипов уже успешно пройдены. Ниша занята.
2. Микроконтроллеры
Тут, пожалуй, мультиклет способен о себе заявить в части отказоустойчевых систем управления (радиационная стойкость?). Но будет сложно, т.к. разработчиков придётся заставить перебераться с полюбленных ARM-ов. К тому же в производстве уже есть отечественные аналоги STM и отладки для них. Так что ниша в 95% применения уже занята. Согласны?
3. Производительные процессоры общего назначения (графика, мультимедиа)
Тут только Эльбрус. Хоть его можно и недолюбливать из-за вполне объективных недостатков, но другого нет. К тому же для него портирован Linux и QNX. Мультиклет, очевидно, по производительности и развитости не претендует на эту нишу.
По всему изложенному повторю вопрос: где мне следует встроить мультиклет и почему? Или так: в каких применениях мультиклет объективно выгоднее чем имеющиеся аналоги?
Разработчики Миландр, разумеется, стараются и исправляют свои ошибки(никто не оспаривает их профессионализм), но часть ошибок связана и с покупным ядром, которые должны править разработчики ядра. Я хотел показать, что копирование — это не всегда признак стабильной работы и надо развиваться дальше, не только подражая тому, что есть.
Разработчики полюбят и Мультиклет, только нам для этого нужно показать, что программировать под него, как и создавать новые устройства очень просто. Разработчики одной из компаний, которые выжимали максимум на процессорах фирмы TI, сказали нам, что наш ассемблер им очень понравился. В следующих статьях на Хабре я и мои коллеги постараемся показать, что программировать как на Си, так и на ассемблере, а также работать с отладочной платой легко и приятно. Как переносить свои текущие наработки без большого труда с STM32 на Мультиклет мы тоже покажем.
Что касается области применения:
1) В области радиолокации и обработки сигналов 2 процессора не занимают всю нишу. В каких-то проектах разработчики могут попробовать применить Мультиклет и мы вполне сможем соседствовать с Миландром.
TigerShark в дальнейшем сможем подвинуть, это вопрос времени. Мы прислушиваемся к пожеланиям разработчиков и просто неравнодушных людей и рассматриваем их.
2) В области под названием микроконтроллеры, а также отказоустойчивые системы сейчас сложно сказать, что ниша занята. Самое сложное — это сделать первый шаг и попробовать что-то написать на новом процессоре.
Многое в том, какой процессор применить, будет зависеть от разработчиков и людей принимающих решения.
3) Мы можем не конкурировать в дальнейшем с Эльбрусом, а наоборот сделать видеокарту или ускоритель для их компьютера. Но сначала надо привести в оптимальное состояние мультиклеточные процессоры текущего формата. Хотя сейчас как раз решается направление в которое мы идем дальше. Все зависит в большей степени от того, на что будут выделены средства.

Я уже писал в каких областях наши процессоры можно применить наилучшим образом: задачи, которые распараллеливаются, задачи управления, проекты с низким энергопотреблением, задачи с несколькими независимыми потоками, для построения надежных и устойчивых систем, задачи требующие высокой производительности и широкий набор периферии, обработка сигналов, задачи по работе с аудио информацией, устройства, работающие в агрессивных условиях среды при низких температурах от -60 до +125.

Процессоры P1 и R1 — это первые представители мультиклеточной архитектуры. Нельзя сказать, что это демонстрация идеальной реализации разработанной концепции (у нас имеется огромный простор для роста в снижении энергопотребления, увеличении производительности и дополнении архитектуры), но это процессоры с которыми можно работать и получать на их основе готовые устройства в различных областях применения.

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

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

Систему команд тайгера придумывали крупные специалисты ЦОС-а. Не ставя изначально себе цель побить ЦОС-гиганта, этого не сделать. Поэтому хочу вас предостеречь от ставок на этот счёт.
наши процессоры можно применить наилучшим образом: задачи, которые распараллеливаются

Для меня это лишь слова. Никакие процессы в концепции структурного программирования хорошо не распараллеливаются, если они не разнородные по своей природе. А разнородные — это есть потоки/процессы, которые успешно раздаются разным клеткам ядрам процессора.
Многое в том, какой процессор применить, будет зависеть от разработчиков и людей принимающих решения

Поэтому чтобы склонить разработчика к использованию мультиклета — активно делайте сравнительные тесты. Включайте чип в традиционных схемах и приводите сравнительные характеристики в разных применениях (коммуникация, элементы ЦОС, многозадачность и т.п.). С большим интересом отнёсся бы к подобным публикациям на Хабре.
Очень сложно догнать кого-то и перегнать, если ты идешь по тому же пути и встречаешь те же преграды, которые необходимо преодолевать, изобретая сложные конструкции и в которые приходится упираться. Можно попытаться найти другой путь, зная опыт преград и историю трудностей с которыми столкнулись другие.

У меня бывают такие же мечты: сделать не так как все, предложить альтернативное и непохожее решение, чем добиться невиданных свойств изящества и производительности. Но полезно признать, что окружающие не так уж глупы, а современные решения — во многом рациональны и сбалансированы. Поэтому искренне желаю вам трезвомыслия и, конечно, удачи в поиске!
Это бесспорно так. Речь идёт о том что копирование — это логичная мера для импортозамещения. Напомню, что во многих изделиях есть платформозависимый код, который нужно либо запустить на аналоге, либо переписывать под что-то другое.

Некоторые руководители компаний, хотя таких очень мало так и понимают, что импортозамещение процессора равно выкинули Texas и поставили Мультиклет, загрузили прошивку и все работает сразу на плате.

Систему команд тайгера придумывали крупные специалисты ЦОС-а. Не ставя изначально себе цель побить ЦОС-гиганта, этого не сделать. Поэтому хочу вас предостеречь от ставок на этот счёт.

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

Когда я пришел в Мультиклет, также заблуждался насчет распараллеливания. У нас не надо как-то сильно заморачиваться с распараллеливанием. На самом деле все просто, многое сводится к Ctrl+C и Ctrl+V(мы также думаем над дополнительными инструкциями чисто на программном уровне на ассемблере, чтобы и это упростить+в числе оптимизаций компилятора это будет). На самом деле этот вопрос очень интересный, написаны даже книги по этой области. И мы тоже сделаем статью по части примеров распараллеливания задачи и получения выйгрыша(сразу скажу, что распараллелить можно почти все в больших вычислениях). Но сначала на Хабре мы хотим сделать статьи простые, для того чтобы люди начали работать на Мультиклете и все моменты им были понятны и чтобы первый старт не занимал больше одного дня.
У меня бывают такие же мечты: сделать не так как все, предложить альтернативное и непохожее решение, чем добиться невиданных свойств изящества и производительности. Но полезно признать, что окружающие не так уж глупы, а современные решения — во многом рациональны и сбалансированы. Поэтому искренне желаю вам трезвомыслия и, конечно, удачи в поиске!

Мы пытаемся реализовать то, что планируем. Как у нас говорят: «Дорогу осилит идущий». Что касается архитектур типа АРМ и х86, тут надо понимать такой момент, что они являются заложниками своих предыдущих разработок, им нельзя просто взять все выкинуть и начать делать что-то новое, т.к. написано больше количество программного обеспечения и выбран путь разработки, на котором необходимо обходить все преграды. Система команд и концепция у многих архитектур разработаны достаточно давно и сложно сейчас что-то менять координально. Поэтому нельзя исключать возможности создания чего-то нового, что даст выйгрыш. Это как решение задач в школе, можно решить задачу строго по теме, которую ты проходишь, на основании того мат аппарата, который заложен как базовый. А можно применить ещё и логику и сделать решение задачи проще и быстрее, при этом конечно же потратить меньше мыслительных потугов и энергопотребления. Мы пытаемся мыслить трезво и идем к результату, на каких позициях мы окажемся покажет время.

P.S. В R1 можно управлять частотой, напряжением питания пока нет, но все лучшее впереди)
Да далась вам всем эта радиационная стойкость, как будто медом она намазана. В радстойкой нише и так уже полно предложений от хороших проверенных годами разработчиков, кучи кода, для переписывания которого нужно собрать сотни подписей — и никто никуда переходить не собирается и не соберется.
НЛО прилетело и опубликовало эту надпись здесь
1. Снижение потребления пропорционально производительности достигается при помощи адаптивного управления частотой и напряжением питания, которых в «Мультиклете» нет.
2. Уличные камеры разрабатывает компания «Элвис-Неотек» на базе собственных процессоров. Какой им резон переходить на «Мультиклеты»?
3. А хватит ему производительности для этого? Распознавание образов — это не самая простая задачка.
4. А куда именно его там пихать, простите?
НЛО прилетело и опубликовало эту надпись здесь
делать такое в нашей стране без гос.финансирования — это дорого стоит.
уж лучше бы мои налоги пошли на такие разработки, чем на иномарки чиновникам.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории