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.

5 ответов5

28

Производительность была очень разочаровывающей по сравнению с ожиданиями, и она не очень хорошо продавалась по сравнению с архитектурами 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, по-видимому, были?) просто никогда для итаниума.

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

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

4

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

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

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

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

3

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

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

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

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 году, и теперь, конечно, серверы, которые могут брать сотни гигабайт памяти повсеместно) наводнен вариантами, которые дешевле купить, дешевле приобрести и быстрее.

0

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .