Я читал историю компьютера и пришел на процессоры 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.
источник
Ответы:
Производительность была очень разочаровывающей по сравнению с ожиданиями, и она не очень хорошо продавалась по сравнению с архитектурами 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 :
В « тематическом исследовании » говорится, что я создал версию Itanium, потому что клиенты требовали ее. Но я не помню, чтобы когда-либо продавал копию для Itanium. Продайте их за все остальное, включая PowerPC (и сколько из тех, кто работает с NT, по-видимому, были?), Но никогда за Itanium.
источник
Быстрый ответ: низкая производительность. Intel попыталась выпустить революционный продукт, когда им следовало перейти на продукт, который они хотели.
Более конкретно: процессор не был достаточно быстрым в обычных обстоятельствах. Intel выпустила процессор так же, как разрыв между скоростью процессора и памяти увеличивался. Itanium, будучи процессором с сокращенным набором инструкций (RISC), требовал больше байтов на инструкцию, чем его двоюродный брат, x86-варианты. Увеличенная загрузка памяти, заставила процессор работать медленно.
Все это было вызвано тем, что вся архитектура была, по сути, первым выпуском. Хотя сама RISC не была новой идеей, многие из аппаратных компонентов были и нуждались в новых макетах. В макете команд Itanium появилось много новых идей, которые сообщество разработчиков должно было тщательно усвоить, прежде чем появилось высококачественное программное обеспечение.
В конце концов, многие технологии в конечном итоге стали использоваться в существующих выпусках микросхем Intel, но конечному пользователю их было не так легко увидеть.
источник
time
вычислять связанные вещи (например, разложить числа), ввод / вывод (копирование или катирование файлов) и производительность ОС (создание потоков или процессов). На Альфе это было похоже, вау, это быстро. Дайте мне двойной процессор, я мог бы измерить это легко. Я говорю вам, что Itanium был собакой, как бы вы на нее ни смотрели, особенно по сравнению с ажиотажем.Itanium - отличный дизайн, если вы можете использовать его преимущества .
К сожалению, это означает, что для этого вам понадобится очень продвинутый компилятор. Или даже по одной на конкретную модель процессора. (Например, более новая версия Itanium с дополнительной функцией потребует другого компилятора).
Создание такого компилятора один раз - сложная задача. Делать это для каждого варианта процессора не экономично.
источник
Другой важной частью истории Itanium, которая не была затронута в действительности, является тот факт, что в 2001 году с дебютом Itanium было невозможно получить большие объемы оперативной памяти в обычном оборудовании. x86_64 - это просто проблеск на горизонте, и AMD Opterons на самом деле даже не выйдет еще 2 года.
Мой первый (и единственный) опыт работы с сервером Itanium был в 2002 году в химической компании, где им был необходим SQL Server для анализа масла для обнаружения дефектов. Эта нефть прибыла из машин стоимостью в несколько миллионов долларов в компанию за миллиард долларов, поэтому у них был кластер Itanium, каждый с 128 ГБ оперативной памяти. 128 ГБ оперативной памяти сегодня все еще довольно много, но их легко и дешево установить на сервере.
В 2002 году 128 ГБ ОЗУ было огромным объемом, и, поскольку у них уже была существующая инфраструктура SQL Server, было дешевле раскошелиться на несколько компьютеров Itanium и загрузить их ОЗУ, чем переключиться на другую платформу и другая база данных.
Теперь, когда тривиально получить 128 ГБ (или более) на обычном сервере, одной из крупных частей рынка Itanium, у которой не было реальных жизнеспособных конкурентов (Opteron появился в 2003 году, и теперь, конечно, серверы, которые могут брать сотни гигабайт памяти повсеместно) наводнен вариантами, которые дешевле купить, дешевле приобрести и быстрее.
источник
Я слышал, что это потому, что AMD подтолкнула Intel выделять больше ресурсов для своих основных процессоров, чтобы конкурировать. AMD выпустила свои Athlon 64 в 2003 году, у которых была лучшая цена / производительность, чем у Pentiums. Существует поверье, что если Intel продолжит разработку Itanium в полную силу, то это будет быстрее, чем нынешние процессоры x86.
источник