Комментарии 13
Что пошло не так с Itanium?
Дороговизна
Сложность
Тормозная эмуляция x86
Вендор лок
Тормозная эмуляция x86
Это ключевое.
Да пресловутая совместимость. Сколько архитектур она убила.
Это вопрос практического применения этой архитектуры (несовместимость очень сильно сужает эти рамки).
apple неоднократно показывали что это всё фигня
да и линуксоиды (из тех у кого не установлен steam) тоже вполне безболезненно на aarch64 пересаживаются
и только в мире масдая всё сложно..
Apple все проблемы добровольно-принудительно вешает на разработчиков.
У Linux вроде всё является open-source, и не разработчик, а сам сильно продивнутый пользователь сам занимается перекомпиляцией.
В случае Windows никто не запрещает разработчику забить на геморой.
10-20 лет назад всё зависели от windows и её совместимость с софтом. Сейчас ситуация серьёзно поменялась. Больше софта под Linux и. т. д
Эппл сервера практически никогда не выпускала, учитывая что в мире кобол до сих пор в ходу, очень безответственно рубить совместимость со словами "надо будет сами приползете"...не приползут, итантиум тому пример
Так-то винда первая из популярных декстопных систем, которая начала полноценную поддержку арм и "прозрачной" эмуляции там х86
Да и в целом Microsoft всегда была за совместимость: тот же dotnet делался чтобы не забивать себе голову какая там именно архитектура у ЦПУ; а ещё UWP вообще стёрла разницу между мобильной и дектопной ОС - пока апол даже не могла добиться совместимости даже между своим 6 и 10 айфонами с одинаковыми процессорами
Была и еще одна сложность — сложности с компилятором. Так, в программном
коде было очень непросто выявлять независимые по данным команды для
выполнения на VLIW-машине. Слишком много NOP-команд оказывалось в
результате в связках (bundles) сверхдлинного слова. Эту проблему,
насколько можно судить, изначально недооценили, а потом уже было поздно
что-то менять.
Это сложности не с компилятором, если имеется в виду что компилятор плохо компилирует. Это проблема любых VLIW, что для оптимальной компиляции для них нужны данные профилировки на типовых данных/операциях. Иначе компилятор не знает в какую сторону оптимизировать. Расставлять подсказки для компилятора вручную - тяжело, мало кто этим занимается (вы могли заметить макросы likely/unlikely в некотором коде, но это не распространено повсеместно). Некоторые разработчики добавляют перекомпиляцию по профилю собранному на типовых данных, но это тоже редкость.
Процессор Itanium и архитектура IA-64 окончательно забыты: в ядре Linux 6.7 их код удаляют. Что пошло не так с Itanium?