Почему Intel отказалась от Itanium? [закрыто]

14

Я читал историю компьютера и пришел на процессоры IA-64 (Itanium). Они звучали очень интересно, и я был озадачен тем, почему Intel решит отказаться от них.

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

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

Возможность делать такие инструкции:

(qp) xor r1 = r2, r3    ; r1 =   r2  XOR r3

(qp) xor r1 = (imm8), r3 ; r1 = (imm8) XOR r3

по сравнению с необходимостью сделать:

; eax = r1
; ebx = r2
; ecx = r3

mov eax, ebx ; first put r2 into r1
xor eax, ecx ; then set r1 equivalent to r2 XOR r3

mov eax, (imm32) ; first put (imm32) into r1
xor eax, ecx ; then set r1 equivalent to (imm32) XOR r3

Я слышал, что это из-за отсутствия обратной совместимости с x86, но это невозможно исправить, просто добавив к нему схему Pentium и просто добавив флаг процессора, который переключил бы его в режим Itanium (например, переключение в защищенный или длинный режим).

Все эти замечательные вещи могли бы сделать их гигантским скачком перед AMD.

Есть идеи?


К сожалению, это означает, что для этого вам понадобится очень продвинутый компилятор. Или даже по одной на конкретную модель процессора. (Например, более новая версия Itanium с дополнительной функцией потребует другого компилятора).

Когда я работал над проектом WinForms (цель имела только .NET 2.0) в Visual Studio 2010, у меня была цель компиляции IA-64. Это означает, что существует среда выполнения .NET, которую можно было скомпилировать для IA-64, а среда выполнения .NET означает Windows. Кроме того, в ответе Гамильтона упоминается Windows NT. Наличие полноценной ОС, такой как Windows NT, означает, что есть компилятор, способный генерировать машинный код IA-64.

Коул Джонсон
источник
1
Этот ответ содержит некоторую справочную информацию о Itanium, которую вы могли бы найти полезной.
amiregelz
1
Я считаю, что процессоры EDGE - самая перспективная новая архитектура. И они даже лучше, чем процессоры VLIW (например, Itanium). Вы могли бы хотеть прочитать связанную страницу внизу в "Новом ISA?" и «Теория» как та часть объясняет, почему они намного лучше.
Дэн Д.
@DanD проблема в том, что x86 является стандартом де-факто . Самое близкое, что вы могли бы получить - это переход Apple с Intel на EDGE, но даже тогда это может занять годы.
Коул Джонсон
«Я слышал, что это из-за отсутствия обратной совместимости с x86, но это невозможно исправить, просто добавив к нему схему Pentium и просто добавив флаг процессора, который переключил бы его в режим Itanium (например, переключение в защищенный или длинный режим)» Если бы они могли создавать микросхемы с вдвое большим количеством транзисторов, не жертвуя при этом стоимостью, производительностью, надежностью, нагревом и т. Д., Они бы уже это делали.
Дэвид Шварц
1
Я думал , что Itanium был еще не умер .
Дэвид Шварц

Ответы:

29

Производительность была очень разочаровывающей по сравнению с ожиданиями, и она не очень хорошо продавалась по сравнению с архитектурами Intel x86.

Intel уговорила меня построить свою оболочку Hamilton C на Itanium под Windows NT где-то в 2000 году для выставки. Было трудно найти Itanium, поэтому я использовал VPN на машине в их лаборатории. Уже собрав версии для NT на x86, MIPS, Alpha и PowerPC, «порт» был тривиальным, лишь незначительные изменения в основном для моих make-файлов. Я думаю, что это заняло у меня полчаса.

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

Добавлено:

Некоторое время Intel рассказывала о своем опыте портирования на Itanium, используя свой опыт удаленной разработки VPN на своем веб-сайте. Ушел сейчас, но снимок на archive.org, вот что он сказал в их удаленном FAQ :

В: У вас есть клиент, с которым я могу поговорить об услуге удаленного доступа?

A: Да, Лаборатории Гамильтона *. Для более подробного ознакомления с преимуществами Hamilton Laboratories, полученными от сервиса, см. Тематическое исследование Hamilton Laboratories .

В « тематическом исследовании » говорится, что я создал версию Itanium, потому что клиенты требовали ее. Но я не помню, чтобы когда-либо продавал копию для Itanium. Продайте их за все остальное, включая PowerPC (и сколько из тех, кто работает с NT, по-видимому, были?), Но никогда за Itanium.

Задача: ускорить разработку продукта Hamilton C Shell, чтобы обеспечить выгодное время выхода на рынок инструментов клиентов для архитектуры Intel® Itanium® и Windows * 2000.

Решение: использовала программу удаленного доступа, включая высокоскоростной доступ в Интернет и VPN-клиента Shiva®, для доступа к среде разработки Itanium, изменения исходного кода и создания файлов, тестирования отладки и перекомпиляции 64-разрядного приложения удаленно всего за 7 часов.

Николь Гамильтон
источник
5
Нечего настраивать. Вся моя оболочка C очень многопоточная, но особенно в те дни, она должна была быть очень переносимой C и очень эффективной, как написано, потому что компиляторы, которые я использовал в начале 90-х, часто были очень простыми, а оптимизаторы иногда ненадежными. Я уже построил для 64-битных машин RISC и уже нашел и исправил любые проблемы с выравниванием. Что касается перфектов, я всегда обращался к API Win32 по всем вопросам, так что, возможно, это тоже не плохая библиотека времени выполнения Си. По-настоящему горячей машиной была Alpha, и по сравнению с ней Itanium просто разочаровал.
Николь Гамильтон
8
Просто посмотрел на вашу C Shell. Это довольно круто. Я всегда смотрел на Сигвина как на откуп. Я собираюсь попробовать это когда-нибудь.
Майкл Браун
6
Это была Intel, а не Microsoft, с этой сумасшедшей удаленной системой разработки. Microsoft была очень полезна для разработчиков. Microsoft помогла мне получить машины MIPS, Alpha и PowerPC. Раньше я получал компакт-диски ручной сборки новых сборок NT от группы разработчиков в начале 1992 года, когда за пределами кампуса Microsoft не было много копий.
Николь Гамильтон
8
Нет, ядро ​​NT довольно агностично относилось к архитектуре процессора. Дэйв Катлер был фанатиком по этому поводу. Они начали разработку NT на i960 только для того, чтобы избежать попадания в код x86-измов. И хотя они выпустили i960, бета-версия NT 3.1 была выпущена на x86 и MIPS в июле 1992 года, а на Alpha - пару месяцев спустя, iirc. Microsoft помогла мне получить MIPS и машины Alpha, поэтому я поддержал все 3 процессора, как они были объявлены. Единственное, что было особенным в Itanium, это то, что он был разочарован и плохо продавался.
Николь Гамильтон
1
@ColeJohnson - Как отмечает Николь Гамильтон, проблема не в ядре NT. Я имею в виду, черт возьми, Windows Server 2008 R2 поддерживает Itanium. Так что проблема не в операционной системе. Проблема была в самой платформе. Конечно, не помогло, что AMD нарушила планы Intel, просто расширив саму платформу x86.
Ramhound
4

Быстрый ответ: низкая производительность. Intel попыталась выпустить революционный продукт, когда им следовало перейти на продукт, который они хотели.

Более конкретно: процессор не был достаточно быстрым в обычных обстоятельствах. Intel выпустила процессор так же, как разрыв между скоростью процессора и памяти увеличивался. Itanium, будучи процессором с сокращенным набором инструкций (RISC), требовал больше байтов на инструкцию, чем его двоюродный брат, x86-варианты. Увеличенная загрузка памяти, заставила процессор работать медленно.

Все это было вызвано тем, что вся архитектура была, по сути, первым выпуском. Хотя сама RISC не была новой идеей, многие из аппаратных компонентов были и нуждались в новых макетах. В макете команд Itanium появилось много новых идей, которые сообщество разработчиков должно было тщательно усвоить, прежде чем появилось высококачественное программное обеспечение.

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

А. Филлипс
источник
2
Вы имели в виду низкую производительность при работе с Itanium или совершенно ужасную производительность при эмуляции устаревшего кода X86?
Hennes
1
и то и другое. У меня сложилось впечатление, что эмулятор X86 был не очень важен для команды Itanium. Вместо этого эмулятор был важной функцией продукта, чтобы получить право, потому что это был промежуток, на который большинство клиентов произвело бы первое впечатление.
А. Филлипс
1
Производительность Itanium в хорошо написанном коде Itanium была фантастической - хорошего кода просто не было.
А. Филлипс
5
Что означает «хорошо написанный код Itanium», Аарон? Если это хорошая чистая C, где все правильно выровнено без каких-либо неблагоприятных забросов и т. Д., Что еще делает что-то особенно хорошо написанное для Itanium? С моей оболочкой C я мог легко timeвычислять связанные вещи (например, разложить числа), ввод / вывод (копирование или катирование файлов) и производительность ОС (создание потоков или процессов). На Альфе это было похоже, вау, это быстро. Дайте мне двойной процессор, я мог бы измерить это легко. Я говорю вам, что Itanium был собакой, как бы вы на нее ни смотрели, особенно по сравнению с ажиотажем.
Николь Гамильтон
4
Платформы MIPS, Alpha и PowerPC также были новыми, наряду со всеми NT в начале 90-х, а другие чипы, особенно Alpha, были быстрыми по сравнению с большинством машин x86. У меня все еще есть одна из тех машин в моем подвале. Itanium просто не был таким уж замечательным. Это была не первая ошибка Intel. Другие серые помнят свою катастрофу 432 года в 1981 году. Это также была плохо спроектированная архитектура, которая упала в производительности.
Николь Гамильтон
3

Itanium - отличный дизайн, если вы можете использовать его преимущества .

К сожалению, это означает, что для этого вам понадобится очень продвинутый компилятор. Или даже по одной на конкретную модель процессора. (Например, более новая версия Itanium с дополнительной функцией потребует другого компилятора).

Создание такого компилятора один раз - сложная задача. Делать это для каждого варианта процессора не экономично.

Hennes
источник
Вам не нужно обновлять компилятор для более новых. Вы просто хотели бы использовать новые функции. Я слышал, что они будут поддерживать обратную совместимость.
Коул Джонсон
Он любит только ассемблер.
ot--
Я упоминаю, что это облегчит сборку кода. Компилятор может по крайней мере использовать самые простые инструкции, которые он может придумать.
Коул Джонсон
Создание работающего компилятора сильно отличается от того, в котором эффективно используются широкие / параллельные возможности команд процессора. Если вы ручной сборщик, вы сможете делать замечательные вещи, но за счет большой работы.
Hennes
2
Из старой ветки slashdot: компиляторы для Itanium сложны
Rich Homolka
2

Другой важной частью истории Itanium, которая не была затронута в действительности, является тот факт, что в 2001 году с дебютом Itanium было невозможно получить большие объемы оперативной памяти в обычном оборудовании. x86_64 - это просто проблеск на горизонте, и AMD Opterons на самом деле даже не выйдет еще 2 года.

Мой первый (и единственный) опыт работы с сервером Itanium был в 2002 году в химической компании, где им был необходим SQL Server для анализа масла для обнаружения дефектов. Эта нефть прибыла из машин стоимостью в несколько миллионов долларов в компанию за миллиард долларов, поэтому у них был кластер Itanium, каждый с 128 ГБ оперативной памяти. 128 ГБ оперативной памяти сегодня все еще довольно много, но их легко и дешево установить на сервере.

В 2002 году 128 ГБ ОЗУ было огромным объемом, и, поскольку у них уже была существующая инфраструктура SQL Server, было дешевле раскошелиться на несколько компьютеров Itanium и загрузить их ОЗУ, чем переключиться на другую платформу и другая база данных.

Теперь, когда тривиально получить 128 ГБ (или более) на обычном сервере, одной из крупных частей рынка Itanium, у которой не было реальных жизнеспособных конкурентов (Opteron появился в 2003 году, и теперь, конечно, серверы, которые могут брать сотни гигабайт памяти повсеместно) наводнен вариантами, которые дешевле купить, дешевле приобрести и быстрее.

Марк Хендерсон
источник
Я почти уверен, что в настоящее время модуль оперативной памяти ddr3 объемом 128 ГБ будет работать не менее чем на один великий (USD)
Коул Джонсон,
2
Я никогда не видел модуль DDR объемом 128 ГБ ... но размещение 128 ГБ ОЗУ зарегистрированного ECC на сервере стоит более 1000 долларов, но не намного; зависит от сделки, которую вы можете получить от вашего поставщика.
Марк Хендерсон
Я никогда не видел простой модуль 128 ГБ . Но этот набор 8x16GB является эквивалентом и стоит 1500 долларов, что довольно дешево по сравнению с наборами по 10 тысяч долларов, которые я видел в других местах
Коул Джонсон,
Я вижу много Гбс; это должны быть ГБ?
Чарли
1

Я слышал, что это потому, что AMD подтолкнула Intel выделять больше ресурсов для своих основных процессоров, чтобы конкурировать. AMD выпустила свои Athlon 64 в 2003 году, у которых была лучшая цена / производительность, чем у Pentiums. Существует поверье, что если Intel продолжит разработку Itanium в полную силу, то это будет быстрее, чем нынешние процессоры x86.

Томас
источник
1
Поговорка «мог бы ... был бы» относится к тому, чем мог бы быть Itanium, если бы AMD не просто расширила x86. Intel могла бы, если бы действительно захотела, убить x86-64, но под давлением Microsoft я уверен, что если бы Intel не лицензировала x86-64 у AMD, то нынешняя ситуация, скорее всего, изменится с лидерством AMD, а Intel едва сможет идти в ногу с достижениями AMD.
Ramhound