Китайцам нахрен не упал эльбрус, ПО где под него брать? Самим писать что ли? МЦСТ от того что китайцы скопируют их процессор вообще ничего не потеряет, даже скорей приобретет так как архитектура получит распространение за китайский счет и без гарантийных обязательств со стороны мцст. Были бы они поумней ещё бы и утечку бинариев оргонизовали под такое дело.
Но именно из за того что китайцы это не наши манагеры каргокультисты из всяких айтишных компаний, они не будут вбухивать бабки в развитие и продвижение чужой архитектуры, у них есть свой loongArch, они пытались купить мипс технолоджис что бы получить контроль над стеком мипс-софта, на секунду третьим по величине после x86 и arm, но им провели известным органом по губам, ибо так просто контроль над такими вещами не продается.
CISC это complex instruction set architecture, то есть это архитектура системы команд, а не архитектура процессора. Архитектуры у них out-of-order superscalar.
VLIW это вообще отдельная парадигма, не указывающая на архитектуру системы команд (фиксированная длинна или переменная, упрощенный набор инструкций или комплексный), а указывающая на то, как ее надо строить.
Архитектура у интела называется Wolfdale, Haswell итд.
ISA у интела называется ia32 (16-32 разрядные режимы адресации) и ia32e (32-64 разрядные режимы)
x86 это патерн для прикладного ПО указывающий на то что оно работает на любом iX86 процессоре. Раньше, кто помнит у образов дистрибутивов линукса в конце писалось i386, i586, i686 так как у одних есть PAE и прочие прерывания/расширения а у других нет что важно для ядра ОС но не важно для прикладного ПО. Ну а в x86-64 есть все из коробки поэтому для него уже не пишут.
На самом деле не в каждом x86-64 может оказаться к примеру аппаратная виртуализация, как и набор других расширений но на это уже всем пофик.
Пока писал поймал себя на мысли что эльбрус в общем то повторяет интел со своими e2s e8c e8sv e16s - дистрибутив и софт под конкретный процессор. Надеюсь так же как интел перестанут игнорировать е2k_vX и начнут тоже использовать.
Я не вижу что бы госзаказчик менял законодательство или создавал ведомства по типу дарпа, которое в свое время так же создали что бы решить бюрократические проблемы у частных компаний получающих госфинансирование.
Безусловно и к мцст есть вопросы, но на них ответ будет в духе "пока не до этого"
На хабре так же обсуждалось и какое Г этот риск-v причем гораздо более развернуто вместо каких то невнятных попыток убедить что эльбрус плохая архитектура потому что интел кебилейк/скайлейк гораздо лучше.
Почему бы на основании этого не посчитать риск-v тупиковым направлением в принципе? Причем тупиковым в хорошем смысле - у него одна задача отжать у арм рынок мелкой электроники, которую мипс в свое время профукал арму, как раз из за того что арм все расширения к процессору предлагал отдельно а мипс только все в комплексе. Ну а дальше всё, в других сегментах перспектив у нее нет.
Документация на эльбрус открытая, книжка раскрывающая технические аспекты была опубликована еще в 2013м а недавно появилась дока и с системой команд, хоть там и явно не все, но тем не менее все основное разжевано и преведено.
У них там какая то беда с исходниками, оказывается если госзаказчик оплатил перенос каких то свободных программ, то патчи его и их не трожь, никому без разрешения не давай. Что то типа того, то же самое было и с документацией - написали свою за свой счёт и смогли выложить, порт rust тоже за свой счет делали и тоже выложили.
У нас на самом деле государственная система если так посмотреть она почему то против государства работает, ФАС не разрешает росатому с российскими компаниями контракты заключать (с иностранцами - пожалуйста), другие ведомства тратят госденьги на создание отечественного эльбруса и делают все чтоб он никуда не пошёл, итд итп.
Во первых советские эльбрус-1/2 были суперскалярными ОоО циск архитектурами.
Во вторых идеи его разработчиков (сделать машину с высокоуровневым языком в качестве базового) никак не ограничивались какой то одной сферой применений, его (если верить статьям с хабра) вообще можно было спокойно приобрести любому институту не связанному с военкой, проблема только в том что у него было водяное охлаждение которое едва справлялось и поэтому нужны были в довесок особые условия в помещении.
И повидимому в связи с этим решили сделать эльбрус-3 на подобии машины карцева, которая те же 2оп делала простым указанием алу0,алу1 и была гораздо энергоэффективней.
Честно говоря не понимаю эти постоянные кивания на военных, интернет и gps создавались для военных целей как это мешает их использовать в гражданской сфере?
Я понимаю еслиб в ассемблере были какие нибудь специальные команды вроде "есть", "так точно" и "доложить", и к слову говоря симуляция ядерных испытаний это не военная задача и занимаются ей профильные институты с вполне себе гражданскими сотрудниками.
Ему ориентироваться на предсказатель ветвлений и генерировать код где этот предсказатель покажет всю свою силу милое дело.
jit компилятор не пишет код он его компилирует, вся разница в том что у него на руках есть статистика исполнения, он видит сколько у циклов итераций, в какой бранчь вообще никогда не переходят итп и может применять очень агрессивные оптимизации, разворачивать, выкидывать, заменять. Бранчпредиктор как раз при прыжках из неоптимизованного кода в отимизованный и обратно только мешается.
Процессору поступает самый обычный нативный код. Байткод обрабатывается компилятором. При чем тут процессор непонятно.
Байткод исполняется в виртуальной машине (виртуальном процессоре) который рабортает поверх настоящего, это такая схема работы. А эльбрусу надо полностью всю программу снизу доверху, а то еще и из дополнительных файлов, и строить оптимальное исполнение
Нужно "всего лишь" написать оптимальный jit комплятор под Эльбрус.
Проблема в том джиты для языков уже написаны, ты можешь только в них добавить поддержку своей архитектуры, но качественно поддержать все возможности эльбруса в них не получится так как изменения сумарно потянут на отдельный джит. Представляешь себе V8 в котором 100мб исходников для всех архитектур и 100мб персоонально для эльбруса. Врядли такое произойдет, надо либо держать форк согласованый с основной веткой либо написать свой отдельный vm/jit не связанный с конкретным языком а во все проекты протолкнуть поддержку его представления.
Предсказатель ветвлений это костыль предугадывающий инструкции из какого бранча готовить прежде чем вообще дойдет до инструкции вызова или перехода. Программисту на него нельзя никак вообще опираться, так как это чисто аппаратная хреновина, программисты наоборот чаще его пытаются обойти всякими уродливыми ухищрениями, если в коде поджидают явные или частые ошибки предсказания.
У эльбруса проблемы с джитом из за своей процедурной безопасности и стековости. Джит подразумевает что безопасность обеспечивается его рантаймом, а машине безопасной быть не нужно, так как это тоже забирает эффективность/скорость. В принципе у них же есть небезопасный режим для совместимости с интелом, не знаю почему они его не хотят использовать для рантайм языков а заставляют портировать в обычный режим с его защищенными стеками, либо может там дофига делов с тем что бы увязать все это в ядре ОС.
Ну и еще проблема с байткодами виртуальной машины, там посути поток команд для виртуального процессора, а эльбрусу надо чтоб ему код раздербанили на задачи.
Товарищь профессионал форумов и клавиатуры, маневры от отрицания до придирок к каким то якобы не правильным терминам я могу проигнорировать, но обвинения меня в мантрах и тут же мне зачитать мантру про то что в эльбрусе там все уже что можно сделано и все , не на что тут смотреть это просто ни в какие ворота уже. С чего ты это взял вообще, ты в глаза не видел кто и на чем его разрабатывает и такие заявы делаешь.
Я обычный человек и говорю так как понятно мне и таким же как я. Под физ.дизайном я в данном контексте подразумеваю дизайн транзисторных блоков/элементов а не какой то логики. То что это в какой то там среде проектировщиков считается оскарблением меня не касается, завтра придет дядя вася с паяльником и скажет что ФИЗ это когда ты вот руками берешь травишь, паяешь, дорожки чертишь и у них в мастерской за такие ошибки вообще убивают сразу же.
Ещё в первой статье выше (которая якобы про фпга), содержит раздел про Analog-Digital Mixed дезигн - оно? Как бы там нибыло я подразумеваю разработку специальных блоков под разные устройства, не может это не давать прирост.
Вон мцст сделали кастом дизайн кешей у них поместилось 1мб L2 на ядро вместо прежних 512к. Сразу же вспоминаются интел и амд середины нулевых, у амд и полноценный четырехядерник и мму в кристалле но кэш 300кб на ведро и слив интелу с кэшами полтора три мегабайта.
Это что, шутка? Кто вообще на серьезных щах будет доказывать что кремний лучше чем фпга.
Полагал ты скажешь что нибудь типа реклама компаний которые на кастомных блоках бабки дела делают но отрицания вообще не ожидал. https://www.asicnorth.com/offerings/
ASIC North will work with your design team to create and verify a custom Intellectual Property (IP) block design. We have years of experience developing IP blocks such as biomedical sensor interfaces, voltage references, multiple A/D and D/A converters architectures, RFID circuits, IoT components and more.
We will also generate a complete set of IP deliverables (*.v, *.lib, *.lef, etc) which allow you to easily integrate the IP into your ASIC design.
А под светлым знаменем risc-v пролетарии всех стран объединятся и пойдут в светлое будущее. Уже тысячи компаний обратили на него свой пристальный взор и нет никаких сомнений, товарищи, что это будущее вот вот наступит. Нет, мы уже в нем живем, прямо сейчас. Предлагаю единогласно проголосовать "ЗА". Похлопаем.
для моторолы68k в дебиане наверное пакетов еще больше и что? либреофис запущеный на "правильном процессоре" майкрософт офисом не станет. Эльбрус лучше потому что мцст контролирует систему команд, патенты с ней связанные, систему прерываний, всю платформу. Имеет ядерщиков, библиотечников и компиляторщиков. Охват базового стека софта и полный контроль железа приблежает на одну ступеньку к таким компаниям как интел и нвидиа, про которых кто бы что не говорил но их железо ставят в серьезные системы, а в амд только школьники гоняют в киберпанк и майнят. Тот же майор может позвонить в мцст и сказать: "на ведомственном сайте ок а на котиках вконтакте проседает производительность в браузере сделайте что нибудь" и мцст выделит специалиста заниматься этим делом либо знает кому передать на аутсорс, а что скажет байкал или синтакор? "пишите в мазилу в багзиллу или nekonekonyan -у в гит ижуи, мы к софту который на нашем железе работает не имеем отношения"? Сопровождение нужного тебе софта и помощь от сообщества ты не получишь нахаляву, все равно требуется чью то еще отдельно покупать. Свободное от патентов ISA - это не спо и не свободное железо даже, его нельзя взять себе как нельзя взять себе питон или с++, это стандарт только языка железа. я не слышал аргументов в духе "зачем делать раст если есть го", или "зачем делать свифт если есть котлин". или вот зачем эплу понадобился Obj-c вместо плюсов? Да потому что у них было иное виденье ООП и оно лучше реализовывало те задачи, которые эпл реализовали в своей ос и ее api. Примут ли в риск-5 расширения касающиеся ускорения российских криптоалгоритмов, или там тензорных для росатома или двигателистов? Никогда, а вот aes или sha1024 я уверен вполне. Про безопасные режимы даже говорить бессмысленно, нужна ли нам не удобная под наши задачи, а некая "стандартизированная" какими то джонами система команд? Я не вижу в этом плюсов, одни минусы. Отпортировать весь стек СПО и протолкнуть арч в апстримы это дело наживное, хоть и не простое в случае с эльбрусами тупо в силу того что это в первую очередь теговая и стековая архитектура, что создает проблемы в адаптации низкоуровневых приложений, ну и влив мешает портированию компиляторов. Но зато все знают что е2k это е2k, семейство процессоров с конкретной архитектурой а не подмножество с вольным набором расширений.
Ты в барнауле живешь, ау. Причем здесь эпл или гравитон?
Риск-5 это система команд, простая, последовательная, сама она дает только бинарную совместимость (с кое как портированным на нее спо, лол) все что нужно для ее эффективного исполнения необходимо разрабатывать с нуля. Хотя бы на уровне кортексов не самых новых, а уж что бы их переплюнуть и подобраться ближе к интел/амд надо перейти на кастомный физ. дизайн. Уверен в 2ггц 12нм восьмиядернике все будет и физдизайн и кокаин и шлюхи. И все на частные деньги - 18млрд даст частная компания ростех а 5млрд ядро возьмет кредитом во внешэкономбанке у шувалова, и на госзакупках в школы и куда то там еще отобъют, все честно рыночно, интел напрягся.
Цимес в том что весь перечисленный зоопарк не обладает стеком унникального софта как intel и arm, они все вместе с эльбрусом могут рпассчитывать максимум на открытое ПО под линукс и ПО от отечественных разработчиков, никакой риск-5 который по скорости будет максимум как эльбрус, не поможет, никто на него не перенесет ни кады ни сапры его самого будут проектировать на интеле а путину чемезов представит очередной планшет, только уже с третьегномом если его к тому времени портируют с полноценной графикой. Это максимум что будет через 5лет, очередной никому не нужный процессор без софта.
Надо все силы киидать в софт, переносить всё необходимое спо под эльбрус, допиливать трансляцию x86, чтоб где это безальтернативно, он мог интел заменить.
Байкалу дать по репе и привести их в чуства, у нас огромный спрос на арм/мипс устройства, мультимедийные системы типа яндекс авто, сеилфиш ос она же аврора, роутеры всякие, кассы станки, они компьютеры на линуксе собирают никому не нужные и лезут в госзакупки по квотам, и еще серверы собираются так же толкать, они или не нормальные или кто-то там пилит бабло тупо.
Элвису пусть делает ускорители потокового видео и прочего, модуль тензорные ядра и всех объеденить в группу чтоб использовали наработки друг друга и свободно лицензировались.
Даже если в твоем интеле супернавороченный предиктор, который запоминает интервалы между входом в бранчь, пароли от банковских карт и в какой папке хранится цп, то все равно он это выучит не сразу, а у твоих пользователей интел может быть не такой крутой и новый, или вовсе неинтел. Так то надо это тоже учитывать.
Компилятор в случае с амд атлоном с дедовским предсказателем, может развернуть цикл на несколько итераций вперед чтоб хотя бы помочь суперскаляру загрузки/сравнения запускать параллельно, так как он видит что они ни от чего не зависят. В случае с эльбрусом компилятор вовсе знает сколько длится подготовки переходов и загрузки, пока готовится конвеер с функцией принт, он может сравнить уже заранее подгруженный a[i] > 0, запустить загружаться a[i+1] условно выполнить подготовленный print ? p1 и перейти в следующую итерацию.
Бранчпредиктор - это умный лифт который пытается угадать на каком этаже ловить пассажира и подоспеть чтоб он как можно меньше ждал, подготовки - это два лифта с кнопками, один поедет за твоим другом наверх, второй поедет к тебе, и должно получится так что когда твой друг спустится приехал уже грузовой лифт куда вы вдвоем погрузите диван и поедете на первый этаж, чтоб никто никого не ждал.
явное количество итераций цикла, это само по себе большой простор для оптимизаций вплоть до инлайн подстановки заранее посчитанного результата, во вторых твой код как раз заставляет дристать под себя предсказатель переходов и рекламирует условное исполнение через флаги или через предикаты (без разницы) которые целиком ориентированы на подстановку компилятором.
void ex(int arr[], const int idx[], const int isz)
{
for (int n = 0; n < isz; n++)
arr[idx[n]] += n;
}
Поздравляю, мы не можем статически предсказать куда проходит запись может быть все пишут в один элемент массива а может быть в один элемент тут несколько раз запись проходит, и поэтому мы не можем спекулятивно (заранее) загружать значения из arr, а это значит что надо ждать пока загрузится idx[n] и потом только arr[ idx] и причем мы не можем параллельно итерации обрабатывать, так как вдруг следующая пишет туда же.
логически мы можем обрабатывать этот алгоритм только последовательно, тогда как в рантайме у нас на руках есть реальные данные и внеочередное исполнение может видеть что зависит а что нет, что можно обработать параллельно, а что нет.
Но даже в этом случае умный компилятор+адекватный программист эффективнее внеочередных костылей. Компилятор видит что ничего не мешает пихнуть указатели на один и тот же массив и картина обработки массива резко меняется, и можно подготовить код на оба случая если программист не запретил рассматривать такие случаи всякими там рестриктами и ассертами. Можно ловить пересечения сравнивая адреса и сопоставляя предикаты, в конце концов программист видя что компилятор слишком замороченый код генерит, разделит циклы, отсортирует сгруппирует а компилятору останется только развернуть итерации.
Один писал эмулятор команд суперскаляра для эльбруса пришел к выводу что раз в ассемблере х86 микрокода и пайплайна не видно значит там такой проблемы нет, а декодируется исполняется,конвейризируется и инлайнится там все так же как в компиляторе и все за один такт а то и меньше.
Второй поверх суперскаляра городил явно управляемую машину и пришел почему то к выводу что на целевой машине тоже при переходах все откидывается и берется со стека, а порядок исполнения интеловский ассемблер не позволяет нарушать и поэтому это проблема эльбруса что он не позволяет силами x86 isa реализовать какие то свои причуды с порядком исполнения действий с операндами. А пайплайн это что то из мифологии и 6 тактов подготовка просто потому что глупые люди делали надо просто прыжок делать за один такт и всё, как на умных интелах.
Все ровно наоборот - в Itanium первого поколения (Marced вроде) бы аппаратный энджин для х86 и работало это просто позорно, где то на уровне 386го или даже ниже. В Itanium II его выкинули и сделали бинарную трансляцию как в эльбрусе и крузо, стало хотя бы как равночастотный пень3, что кстати до сих пор демонстрирует эльбрус и это очень печально. Если бы интел, трансмета и мцст не пилили бы свои проприетарные поделки каждый в своем темном углу а вносили бы общий вклад открывая свои поделия, дело бы гораздо дальше продвинулось за 20 то лет.
Не знаю синхронизовано ли это было с покупкой интелом бабаяновской команды, но так же во втором итаниуме появились конвейризованные циклы (такие же как на эльбрусе), а в x86 появился nX-bit - по сути безопасный режим с тегом исполняемости реализованый трансметой в рамках ограничений ia32 и лицензированный интелом.
Так что да, обмен шел активный, жаль только не в сфере ПО, потому что jit-ы, компиляторы, кодеморфинги пилившиеся под итаниум и трансметовские процессоры все похерены.
Китайцам нахрен не упал эльбрус, ПО где под него брать? Самим писать что ли? МЦСТ от того что китайцы скопируют их процессор вообще ничего не потеряет, даже скорей приобретет так как архитектура получит распространение за китайский счет и без гарантийных обязательств со стороны мцст. Были бы они поумней ещё бы и утечку бинариев оргонизовали под такое дело.
Но именно из за того что китайцы это не наши манагеры каргокультисты из всяких айтишных компаний, они не будут вбухивать бабки в развитие и продвижение чужой архитектуры, у них есть свой loongArch, они пытались купить мипс технолоджис что бы получить контроль над стеком мипс-софта, на секунду третьим по величине после x86 и arm, но им провели известным органом по губам, ибо так просто контроль над такими вещами не продается.
CISC это complex instruction set architecture, то есть это архитектура системы команд, а не архитектура процессора. Архитектуры у них out-of-order superscalar.
VLIW это вообще отдельная парадигма, не указывающая на архитектуру системы команд (фиксированная длинна или переменная, упрощенный набор инструкций или комплексный), а указывающая на то, как ее надо строить.
Архитектура у интела называется Wolfdale, Haswell итд.
ISA у интела называется ia32 (16-32 разрядные режимы адресации) и ia32e (32-64 разрядные режимы)
x86 это патерн для прикладного ПО указывающий на то что оно работает на любом iX86 процессоре. Раньше, кто помнит у образов дистрибутивов линукса в конце писалось i386, i586, i686 так как у одних есть PAE и прочие прерывания/расширения а у других нет что важно для ядра ОС но не важно для прикладного ПО. Ну а в x86-64 есть все из коробки поэтому для него уже не пишут.
На самом деле не в каждом x86-64 может оказаться к примеру аппаратная виртуализация, как и набор других расширений но на это уже всем пофик.
Пока писал поймал себя на мысли что эльбрус в общем то повторяет интел со своими e2s e8c e8sv e16s - дистрибутив и софт под конкретный процессор. Надеюсь так же как интел перестанут игнорировать е2k_vX и начнут тоже использовать.
Я не вижу что бы госзаказчик менял законодательство или создавал ведомства по типу дарпа, которое в свое время так же создали что бы решить бюрократические проблемы у частных компаний получающих госфинансирование.
Безусловно и к мцст есть вопросы, но на них ответ будет в духе "пока не до этого"
>только что обсуждалось, что нет
На хабре так же обсуждалось и какое Г этот риск-v причем гораздо более развернуто вместо каких то невнятных попыток убедить что эльбрус плохая архитектура потому что интел кебилейк/скайлейк гораздо лучше.
Почему бы на основании этого не посчитать риск-v тупиковым направлением в принципе? Причем тупиковым в хорошем смысле - у него одна задача отжать у арм рынок мелкой электроники, которую мипс в свое время профукал арму, как раз из за того что арм все расширения к процессору предлагал отдельно а мипс только все в комплексе. Ну а дальше всё, в других сегментах перспектив у нее нет.
Документация на эльбрус открытая, книжка раскрывающая технические аспекты была опубликована еще в 2013м а недавно появилась дока и с системой команд, хоть там и явно не все, но тем не менее все основное разжевано и преведено.
У них там какая то беда с исходниками, оказывается если госзаказчик оплатил перенос каких то свободных программ, то патчи его и их не трожь, никому без разрешения не давай. Что то типа того, то же самое было и с документацией - написали свою за свой счёт и смогли выложить, порт rust тоже за свой счет делали и тоже выложили.
У нас на самом деле государственная система если так посмотреть она почему то против государства работает, ФАС не разрешает росатому с российскими компаниями контракты заключать (с иностранцами - пожалуйста), другие ведомства тратят госденьги на создание отечественного эльбруса и делают все чтоб он никуда не пошёл, итд итп.
Во первых советские эльбрус-1/2 были суперскалярными ОоО циск архитектурами.
Во вторых идеи его разработчиков (сделать машину с высокоуровневым языком в качестве базового) никак не ограничивались какой то одной сферой применений, его (если верить статьям с хабра) вообще можно было спокойно приобрести любому институту не связанному с военкой, проблема только в том что у него было водяное охлаждение которое едва справлялось и поэтому нужны были в довесок особые условия в помещении.
И повидимому в связи с этим решили сделать эльбрус-3 на подобии машины карцева, которая те же 2оп делала простым указанием алу0,алу1 и была гораздо энергоэффективней.
Честно говоря не понимаю эти постоянные кивания на военных, интернет и gps создавались для военных целей как это мешает их использовать в гражданской сфере?
Я понимаю еслиб в ассемблере были какие нибудь специальные команды вроде "есть", "так точно" и "доложить", и к слову говоря симуляция ядерных испытаний это не военная задача и занимаются ей профильные институты с вполне себе гражданскими сотрудниками.
jit компилятор не пишет код он его компилирует, вся разница в том что у него на руках есть статистика исполнения, он видит сколько у циклов итераций, в какой бранчь вообще никогда не переходят итп и может применять очень агрессивные оптимизации, разворачивать, выкидывать, заменять. Бранчпредиктор как раз при прыжках из неоптимизованного кода в отимизованный и обратно только мешается.
Байткод исполняется в виртуальной машине (виртуальном процессоре) который рабортает поверх настоящего, это такая схема работы. А эльбрусу надо полностью всю программу снизу доверху, а то еще и из дополнительных файлов, и строить оптимальное исполнение
Проблема в том джиты для языков уже написаны, ты можешь только в них добавить поддержку своей архитектуры, но качественно поддержать все возможности эльбруса в них не получится так как изменения сумарно потянут на отдельный джит. Представляешь себе V8 в котором 100мб исходников для всех архитектур и 100мб персоонально для эльбруса. Врядли такое произойдет, надо либо держать форк согласованый с основной веткой либо написать свой отдельный vm/jit не связанный с конкретным языком а во все проекты протолкнуть поддержку его представления.
Предсказатель ветвлений это костыль предугадывающий инструкции из какого бранча готовить прежде чем вообще дойдет до инструкции вызова или перехода. Программисту на него нельзя никак вообще опираться, так как это чисто аппаратная хреновина, программисты наоборот чаще его пытаются обойти всякими уродливыми ухищрениями, если в коде поджидают явные или частые ошибки предсказания.
У эльбруса проблемы с джитом из за своей процедурной безопасности и стековости. Джит подразумевает что безопасность обеспечивается его рантаймом, а машине безопасной быть не нужно, так как это тоже забирает эффективность/скорость. В принципе у них же есть небезопасный режим для совместимости с интелом, не знаю почему они его не хотят использовать для рантайм языков а заставляют портировать в обычный режим с его защищенными стеками, либо может там дофига делов с тем что бы увязать все это в ядре ОС.
Ну и еще проблема с байткодами виртуальной машины, там посути поток команд для виртуального процессора, а эльбрусу надо чтоб ему код раздербанили на задачи.
Товарищь профессионал форумов и клавиатуры, маневры от отрицания до придирок к каким то якобы не правильным терминам я могу проигнорировать, но обвинения меня в мантрах и тут же мне зачитать мантру про то что в эльбрусе там все уже что можно сделано и все , не на что тут смотреть это просто ни в какие ворота уже. С чего ты это взял вообще, ты в глаза не видел кто и на чем его разрабатывает и такие заявы делаешь.
Я обычный человек и говорю так как понятно мне и таким же как я. Под физ.дизайном я в данном контексте подразумеваю дизайн транзисторных блоков/элементов а не какой то логики. То что это в какой то там среде проектировщиков считается оскарблением меня не касается, завтра придет дядя вася с паяльником и скажет что ФИЗ это когда ты вот руками берешь травишь, паяешь, дорожки чертишь и у них в мастерской за такие ошибки вообще убивают сразу же.
Ещё в первой статье выше (которая якобы про фпга), содержит раздел про Analog-Digital Mixed дезигн - оно? Как бы там нибыло я подразумеваю разработку специальных блоков под разные устройства, не может это не давать прирост.
Вон мцст сделали кастом дизайн кешей у них поместилось 1мб L2 на ядро вместо прежних 512к. Сразу же вспоминаются интел и амд середины нулевых, у амд и полноценный четырехядерник и мму в кристалле но кэш 300кб на ведро и слив интелу с кэшами полтора три мегабайта.
Это что, шутка? Кто вообще на серьезных щах будет доказывать что кремний лучше чем фпга.
Полагал ты скажешь что нибудь типа реклама компаний которые на кастомных блоках бабки дела делают но отрицания вообще не ожидал. https://www.asicnorth.com/offerings/
И чтоб совсем уж поставить точку в вопросе:
https://www.eng.uwo.ca/people/wwang/ece616a/616_extra/notes_web/1_dintro.pdf
О, кастомный дизайн - лженаучный миф капитализма https://www.electronicdesign.com/technologies/analog/article/21807187/11-myths-about-custom-silicon
А под светлым знаменем risc-v пролетарии всех стран объединятся и пойдут в светлое будущее. Уже тысячи компаний обратили на него свой пристальный взор и нет никаких сомнений, товарищи, что это будущее вот вот наступит. Нет, мы уже в нем живем, прямо сейчас. Предлагаю единогласно проголосовать "ЗА". Похлопаем.
для моторолы68k в дебиане наверное пакетов еще больше и что? либреофис запущеный на "правильном процессоре" майкрософт офисом не станет. Эльбрус лучше потому что мцст контролирует систему команд, патенты с ней связанные, систему прерываний, всю платформу. Имеет ядерщиков, библиотечников и компиляторщиков. Охват базового стека софта и полный контроль железа приблежает на одну ступеньку к таким компаниям как интел и нвидиа, про которых кто бы что не говорил но их железо ставят в серьезные системы, а в амд только школьники гоняют в киберпанк и майнят. Тот же майор может позвонить в мцст и сказать: "на ведомственном сайте ок а на котиках вконтакте проседает производительность в браузере сделайте что нибудь" и мцст выделит специалиста заниматься этим делом либо знает кому передать на аутсорс, а что скажет байкал или синтакор? "пишите в мазилу в багзиллу или nekonekonyan -у в гит ижуи, мы к софту который на нашем железе работает не имеем отношения"? Сопровождение нужного тебе софта и помощь от сообщества ты не получишь нахаляву, все равно требуется чью то еще отдельно покупать. Свободное от патентов ISA - это не спо и не свободное железо даже, его нельзя взять себе как нельзя взять себе питон или с++, это стандарт только языка железа. я не слышал аргументов в духе "зачем делать раст если есть го", или "зачем делать свифт если есть котлин". или вот зачем эплу понадобился Obj-c вместо плюсов? Да потому что у них было иное виденье ООП и оно лучше реализовывало те задачи, которые эпл реализовали в своей ос и ее api. Примут ли в риск-5 расширения касающиеся ускорения российских криптоалгоритмов, или там тензорных для росатома или двигателистов? Никогда, а вот aes или sha1024 я уверен вполне. Про безопасные режимы даже говорить бессмысленно, нужна ли нам не удобная под наши задачи, а некая "стандартизированная" какими то джонами система команд? Я не вижу в этом плюсов, одни минусы. Отпортировать весь стек СПО и протолкнуть арч в апстримы это дело наживное, хоть и не простое в случае с эльбрусами тупо в силу того что это в первую очередь теговая и стековая архитектура, что создает проблемы в адаптации низкоуровневых приложений, ну и влив мешает портированию компиляторов. Но зато все знают что е2k это е2k, семейство процессоров с конкретной архитектурой а не подмножество с вольным набором расширений.
Ты в барнауле живешь, ау. Причем здесь эпл или гравитон?
Риск-5 это система команд, простая, последовательная, сама она дает только бинарную совместимость (с кое как портированным на нее спо, лол) все что нужно для ее эффективного исполнения необходимо разрабатывать с нуля. Хотя бы на уровне кортексов не самых новых, а уж что бы их переплюнуть и подобраться ближе к интел/амд надо перейти на кастомный физ. дизайн. Уверен в 2ггц 12нм восьмиядернике все будет и физдизайн и кокаин и шлюхи. И все на частные деньги - 18млрд даст частная компания ростех а 5млрд ядро возьмет кредитом во внешэкономбанке у шувалова, и на госзакупках в школы и куда то там еще отобъют, все честно рыночно, интел напрягся.
Цимес в том что весь перечисленный зоопарк не обладает стеком унникального софта как intel и arm, они все вместе с эльбрусом могут рпассчитывать максимум на открытое ПО под линукс и ПО от отечественных разработчиков, никакой риск-5 который по скорости будет максимум как эльбрус, не поможет, никто на него не перенесет ни кады ни сапры его самого будут проектировать на интеле а путину чемезов представит очередной планшет, только уже с третьегномом если его к тому времени портируют с полноценной графикой. Это максимум что будет через 5лет, очередной никому не нужный процессор без софта.
Надо все силы киидать в софт, переносить всё необходимое спо под эльбрус, допиливать трансляцию x86, чтоб где это безальтернативно, он мог интел заменить.
Байкалу дать по репе и привести их в чуства, у нас огромный спрос на арм/мипс устройства, мультимедийные системы типа яндекс авто, сеилфиш ос она же аврора, роутеры всякие, кассы станки, они компьютеры на линуксе собирают никому не нужные и лезут в госзакупки по квотам, и еще серверы собираются так же толкать, они или не нормальные или кто-то там пилит бабло тупо.
Элвису пусть делает ускорители потокового видео и прочего, модуль тензорные ядра и всех объеденить в группу чтоб использовали наработки друг друга и свободно лицензировались.
Даже если в твоем интеле супернавороченный предиктор, который запоминает интервалы между входом в бранчь, пароли от банковских карт и в какой папке хранится цп, то все равно он это выучит не сразу, а у твоих пользователей интел может быть не такой крутой и новый, или вовсе неинтел. Так то надо это тоже учитывать.
Компилятор в случае с амд атлоном с дедовским предсказателем, может развернуть цикл на несколько итераций вперед чтоб хотя бы помочь суперскаляру загрузки/сравнения запускать параллельно, так как он видит что они ни от чего не зависят. В случае с эльбрусом компилятор вовсе знает сколько длится подготовки переходов и загрузки, пока готовится конвеер с функцией принт, он может сравнить уже заранее подгруженный a[i] > 0, запустить загружаться a[i+1] условно выполнить подготовленный print ? p1 и перейти в следующую итерацию.
Бранчпредиктор - это умный лифт который пытается угадать на каком этаже ловить пассажира и подоспеть чтоб он как можно меньше ждал, подготовки - это два лифта с кнопками, один поедет за твоим другом наверх, второй поедет к тебе, и должно получится так что когда твой друг спустится приехал уже грузовой лифт куда вы вдвоем погрузите диван и поедете на первый этаж, чтоб никто никого не ждал.
явное количество итераций цикла, это само по себе большой простор для оптимизаций вплоть до инлайн подстановки заранее посчитанного результата, во вторых твой код как раз заставляет дристать под себя предсказатель переходов и рекламирует условное исполнение через флаги или через предикаты (без разницы) которые целиком ориентированы на подстановку компилятором.
Поздравляю, мы не можем статически предсказать куда проходит запись может быть все пишут в один элемент массива а может быть в один элемент тут несколько раз запись проходит, и поэтому мы не можем спекулятивно (заранее) загружать значения из arr, а это значит что надо ждать пока загрузится idx[n] и потом только arr[ idx] и причем мы не можем параллельно итерации обрабатывать, так как вдруг следующая пишет туда же.
логически мы можем обрабатывать этот алгоритм только последовательно, тогда как в рантайме у нас на руках есть реальные данные и внеочередное исполнение может видеть что зависит а что нет, что можно обработать параллельно, а что нет.
Но даже в этом случае умный компилятор+адекватный программист эффективнее внеочередных костылей. Компилятор видит что ничего не мешает пихнуть указатели на один и тот же массив и картина обработки массива резко меняется, и можно подготовить код на оба случая если программист не запретил рассматривать такие случаи всякими там рестриктами и ассертами. Можно ловить пересечения сравнивая адреса и сопоставляя предикаты, в конце концов программист видя что компилятор слишком замороченый код генерит, разделит циклы, отсортирует сгруппирует а компилятору останется только развернуть итерации.
Да вижу.
Один писал эмулятор команд суперскаляра для эльбруса пришел к выводу что раз в ассемблере х86 микрокода и пайплайна не видно значит там такой проблемы нет, а декодируется исполняется,конвейризируется и инлайнится там все так же как в компиляторе и все за один такт а то и меньше.
Второй поверх суперскаляра городил явно управляемую машину и пришел почему то к выводу что на целевой машине тоже при переходах все откидывается и берется со стека, а порядок исполнения интеловский ассемблер не позволяет нарушать и поэтому это проблема эльбруса что он не позволяет силами x86 isa реализовать какие то свои причуды с порядком исполнения действий с операндами. А пайплайн это что то из мифологии и 6 тактов подготовка просто потому что глупые люди делали надо просто прыжок делать за один такт и всё, как на умных интелах.
Так и живем.
Все ровно наоборот - в Itanium первого поколения (Marced вроде) бы аппаратный энджин для х86 и работало это просто позорно, где то на уровне 386го или даже ниже. В Itanium II его выкинули и сделали бинарную трансляцию как в эльбрусе и крузо, стало хотя бы как равночастотный пень3, что кстати до сих пор демонстрирует эльбрус и это очень печально. Если бы интел, трансмета и мцст не пилили бы свои проприетарные поделки каждый в своем темном углу а вносили бы общий вклад открывая свои поделия, дело бы гораздо дальше продвинулось за 20 то лет.
Не знаю синхронизовано ли это было с покупкой интелом бабаяновской команды, но так же во втором итаниуме появились конвейризованные циклы (такие же как на эльбрусе), а в x86 появился nX-bit - по сути безопасный режим с тегом исполняемости реализованый трансметой в рамках ограничений ia32 и лицензированный интелом.
Так что да, обмен шел активный, жаль только не в сфере ПО, потому что jit-ы, компиляторы, кодеморфинги пилившиеся под итаниум и трансметовские процессоры все похерены.