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

Процессор Itanium и архитектура IA-64 окончательно забыты: в ядре Linux 6.7 их код удаляют. Что пошло не так с Itanium?

Время на прочтение 5 мин
Количество просмотров 12K
Всего голосов 39: ↑39 и ↓0 +39
Комментарии 13

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

Что пошло не так с Itanium?

  1. Дороговизна

  2. Сложность

  3. Тормозная эмуляция x86

  4. Вендор лок

Тормозная эмуляция x86

Это ключевое.

Да пресловутая совместимость. Сколько архитектур она убила.

Это вопрос практического применения этой архитектуры (несовместимость очень сильно сужает эти рамки).

apple неоднократно показывали что это всё фигня
да и линуксоиды (из тех у кого не установлен steam) тоже вполне безболезненно на aarch64 пересаживаются
и только в мире масдая всё сложно..

Apple все проблемы добровольно-принудительно вешает на разработчиков.

У Linux вроде всё является open-source, и не разработчик, а сам сильно продивнутый пользователь сам занимается перекомпиляцией.

В случае Windows никто не запрещает разработчику забить на геморой.

Apple все проблемы добровольно-принудительно вешает на разработчиков

Прозрачная эмуляция со времён перехода с Motorola 68000 на PowerPC и заканчивая сегодняшней Rosetta, мультиархитектурные fat binary как бэ намекают, что всё немножко не так.

10-20 лет назад всё зависели от windows и её совместимость с софтом. Сейчас ситуация серьёзно поменялась. Больше софта под Linux и. т. д

Больше всего софта под

Эппл сервера практически никогда не выпускала, учитывая что в мире кобол до сих пор в ходу, очень безответственно рубить совместимость со словами "надо будет сами приползете"...не приползут, итантиум тому пример

Так-то винда первая из популярных декстопных систем, которая начала полноценную поддержку арм и "прозрачной" эмуляции там х86

Да и в целом Microsoft всегда была за совместимость: тот же dotnet делался чтобы не забивать себе голову какая там именно архитектура у ЦПУ; а ещё UWP вообще стёрла разницу между мобильной и дектопной ОС - пока апол даже не могла добиться совместимости даже между своим 6 и 10 айфонами с одинаковыми процессорами

Была и еще одна сложность — сложности с компилятором. Так, в программном
коде было очень непросто выявлять независимые по данным команды для
выполнения на VLIW-машине. Слишком много NOP-команд оказывалось в
результате в связках (bundles) сверхдлинного слова. Эту проблему,
насколько можно судить, изначально недооценили, а потом уже было поздно
что-то менять.

Это сложности не с компилятором, если имеется в виду что компилятор плохо компилирует. Это проблема любых VLIW, что для оптимальной компиляции для них нужны данные профилировки на типовых данных/операциях. Иначе компилятор не знает в какую сторону оптимизировать. Расставлять подсказки для компилятора вручную - тяжело, мало кто этим занимается (вы могли заметить макросы likely/unlikely в некотором коде, но это не распространено повсеместно). Некоторые разработчики добавляют перекомпиляцию по профилю собранному на типовых данных, но это тоже редкость.

В свой проект в качестве исследования решил поставить директивы likely/unlikely в условиях и операциях ветвления. Посмотрю что из этого выйдет.

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.