"У VLIW достаточно долбанутые заморочки по взаимозависимости команд."Думаю нельзя говорить о всех VLIW одинаково. Зависит от конкретной реализации архитектуры.
Изначально VLIW - это широкое командное(ШК) слово, которое теоретически можно набрать из определённого количества разных команд, но естественно в целях экономии ресурсов могут чем-то пожертвовать. Например(насколько помню), в видеокартах AMD ШК слово могло состоять максимум из 5 команд и только одна пятая команда могла выполнять сложные операции. Например все 5 могли производить сложения, а операцию синус могла делать только пятая.
Мне неизвестно, как в Эльбрусе устроено ШК слово, но именно от его возможностей и будет зависеть сложность его программирования. Например, если все 25 команд могут быть произвольными и аппаратно независимыми, тогда сложность программирования падает, а задача компилятора просто для каждого такта попытаться набрать как можно больше независимых во времени команд в это слово. Но так же и возрастает сложность архитектуры в таком случае.
У разработчиков Эльбруса свои компиляторы и они хорошо знают устройство своего процессора. И насколько я знаю, сам процессор разрабатывался с учётом на высокоуровневые языки программирования.
Они портировали некоторые программы и ядро линукс тоже. Так что было на чём тестировать
А ещё по сравнению с предыдущей версией процессора они увеличили ШК слово на 2 инструкции - не просто же так они это сделали. Если бы у них были трудности с заполнением 23 инструкций, то стали бы они добавлять ещё 2 ?