вторник, 6 сентября 2022 г.

История Intel в процессорах. Часть двенадцатая - P.S. Itanium – поворот не туда

   В предыдущих сериях цикла статей про историю процессоров фирмы Intel, мы вспомнили какими были процессоры в наших компьютерах, и как они развивались. А что, если я Вам скажу, что по планам Intel, начиная с конца 90-х годов все должно было быть совсем иначе. И если-бы этим планам суждено было бы сбыться, то сейчас в наших компьютерах стояли-бы совсем другие процессоры! И это были не просто планы на бумаге – в течении 20 лет, параллельно с знакомой нам по прошлым частям, архитектурой x86, существовали процессоры, основанные на архитектуре названной IA-64 (Intel Architecture 64 bit), впервые выпущенные в 2001-м году. А начало им было положено в далёком 94-м году. Интересно? Тогда начинаем разбираться, что это за Itanium, и почему у него ничего не получилось…

   Для начала сделаю оговорку, что все рассматриваемые ранее процессорные семейства предназначались для использования в настольных (десктопных) компьютерах. В части про Pentium II/Pentium !!! я упомянул про появление серверного семейства Xeon, а в дальнейших частях проскакивали упоминания процессоров Xeon (чаще в связи с адаптацией серверного процессора для «экстремальной» десктопной платформы). Из чего следует простой вывод – что в общем-то серверные процессоры Xeon внутри были практически такими-же как и процессоры десктопных семейств, отличаясь какими-то специфическими свойствами. Так оно и было. Но было так далеко не всегда. И даже более – такое деление в какой-то мере было вынужденным. Но обо всем по порядку.
   Для начала вернемся в 80-е годы. Если на рынке десктопов безраздельно царствовали процессоры, носители архитектуры x86i286, i386, i486 и их многочисленные клоны, то в мощных промышленных серверах были совсем другие процессоры. Под словом «совсем» я подразумеваю не то, что они были выпущены каким-то иным производителем, а то, что в их основе была абсолютно другая архитектура, и на них исполнялось абсолютно другое программное обеспечение.
   Семейство команд x86 относится к архитектуре CISC (complex instruction set computing или вычисления с полным набором команд). В противовес философии CISC в начале 80-х была представлена архитектура RISC (reduced instruction set computing - вычисления с набором упрощённых команд). Основное различие между этими двумя идеологиями было в том, что процессоры CISC могут выполнять сложные команды переменной длины, в то время как идеология RISC состояла в том, чтобы команды были максимально простыми. Это, во-первых, позволило стандартизировать их длину (длина команд в CISC может различаться в разы), а во-вторых, упростить логику процессора и увеличить скорость выполнения команды. Также в RISC-процессоры раньше пришел конвейер, и благодаря тому, что все команды поступающие в него – максимально простые, удалось добиться одинакового времени их выполнения – один такт. Отрицательным моментом RISC было увеличение объема кода программы (так как одну сложную команду приходилось заменять набором простых), и как следствие - увеличение сложности разработки ПО.
   Таким образом, получалось так, что процессоры с архитектурой RISC обеспечивали более высокую производительность (во времена i386, который работал без конвейера, разница в производительности на одинаковой частоте могла быть 3-4-х кратной!), но программы для них занимали больше памяти и были сложнее в разработке. Это и определило их основную область применения как серверные процессоры, где выигрыш в производительности компенсировал увеличение затрат при разработке ПО. Именно поэтому в то время, все серьезные сервера были построены на процессорах на архитектуре RISC, кардинально отличающейся от десктопной архитектуры CISC, и не совместимой с ней по программному обеспечению.
   В 80-х годах, компания HP (Hewlett-Packard) выпускала свой серверный RISC процессор на архитектуре, названной PA-RISC. Этот процессор использовался в серверах выпускаемых компанией, которые работали под управлением собственной операционной системе HP-UX, основанной на коде ОС UNIX. В конце 80-х годов в HP поняли, что приближаются к пределу увеличения производительности архитектуры RISC. Помня про наличие конвейера и время выполнения одной операции за 1 такт становится понятным что процессор и так выполняет инструкции с максимально возможным темпом – по одной за такт. Для дальнейшего увеличения производительности нужно развивать параллельность на уровне исполнительного ядра. То, что в Intel позже сделали в процессоре Pentium и назвали суперскалярной архитектурой. Но в HP озаботились проблемой максимально полной загрузки исполнительных устройств. В Intel также столкнулись с этой проблемой, а чем я ранее уже рассказывал. Но в HP подошли к этому вопросу более тщательно – начали разрабатывать изменение своей системы команд, целью которой было ввести в одну инструкцию команды для всех исполнительных устройств, которые должны исполняться параллельно.
   В тоже время компания Intel не сидела сложа руки, и разрабатывала свой RISC процессор. В 1989-м году был выпущен процессор Intel i860, основанный на варианте RISC архитектуры называемой VLIW (very long instruction word - очень длинная машинная команда). Ее особенностью было то, что одна команда содержала несколько инструкций для разных исполнительных устройств, которые должны исполняться параллельно – таким образом обеспечивалась их одновременная обработка на уровне кода ПО. Теоретически процессор должен был выполнять по три команды за один такт, а также частично был 64-х разрядным.  Но на практике все оказалось несколько иначе – основной сложностью было создание компилятора максимально продуктивно задействующего ресурсы процессора. Если задача разделить ресурсы между различными командами еще не кажется слишком сложной, то обеспечить наличие необходимых для выполнения команд данных в регистрах процессора оказалось значительно сложнее. А в случае их отсутствия – требуется время на загрузку данных из кэша или, что еще хуже, из оперативной памяти. Таким образом реальная производительность процессора оказалась в разы ниже теоретической.
   В первой половине 90-х, две компании HP и Intel работали над похожими процессорами, и пытались решить похожие задачи – максимально эффективно использовать имеющиеся в процессоре исполнительные устройства, обеспечивая параллельность исполнения в виде явного указания в инструкциях. Поэтому не удивительно что в июне 94-м году HP и Intel решили объединить свои усилия в разработке будущего процессора. При этом Intel оказывалась в более выигрышном положении – в соглашении было прописано что все ключевые решения относительно будущей архитектуры остаются за Intel, которая также получила в свое распоряжение наработки HP – процессорную архитектуру EPIC (Explicitly Parallel Instruction Computing - вычисления с явным параллелизмом машинных команд) на основе VLIW. Важной особенностью нового процессора должна была стать совместимость с широко распространённым набором команд x86. Несмотря на то, что в режиме совместимости его производительность была-бы ниже чем на родном коде, это решение должно было сгладить сложности переходного периода. Также процессор решено было делать полностью 64-х разрядным, и его выпуск планировался на 98-й год. Напомню, что на дворе был 94-й год, и вершиной прогресса было иметь компьютер с процессором Pentium 100, но в тоже время классические i486 еще не ушли с рынка, а революционный Pentium PRO будет выпущен только в следующем году.
   Совместный проект HP и Intel получил название Merced, и был анонсирован широкой общественности спустя два года, в 1996-м году. Тогда была презентована архитектура EPIC и запланирован выход готовых процессоров в 1998-м году. Merced должен был стать первым полностью 64-х битным процессором компании Intel, и начав с сегмента высокопроизводительных серверов и суперкомпьютеров со временем прийти во все сегменты рынка заменив процессоры x86, которые получили наименование IA-32 (Intel Architecture 32 bit), в противовес IA-64 – обозначению будущих 64-х разрядных процессоров. 
   В середине 90-х техпроцессы были слишком грубыми, и количество транзисторов в процессорном ядре только приближалось к десятку миллионов. В процессорах шестого поколения - Pentium PRO довольно большая часть транзисторного бюджета была задействована управляющей логикой – предсказатели ветвлений, декодеры и буферы команд, логика системы внеочередного исполнения и прочее. Упразднив все это – можно реализовать больше исполнительных устройств, а повысив внутренний параллелизм с помощью компилятора, который будет четко указывать на каких исполнительных устройствах какие команды выполнять параллельно – можно упразднить логику системы внеочередного исполнения, которая потребляла большое количество транзисторов и требовала много электрической энергии (поэтому, как мы помним, процессоры Atom первых поколений были ее лишены). Для упрощения логики предсказания ветвлений вместо попытки угадать правильную ветвь программы – решили выполнять обе ветви параллельно! А после получения результата условного перехода – ошибочная ветвь программы просто удаляется. Благодаря широкому внутреннему параллелизму такое решение приносит меньше вреда чем неудачные предсказания с последующей очисткой конвейера.
   Но после того как в 1996-м году процессор Merced был спроектирован, оказалось, что получился настолько сложный чип, что его невозможно реализовать с помощью не только имеющихся производственных мощностей, но даже будущий техпроцесс 0,25 мкм который Intel освоит только под конец 1997-го года не подходит для его производства. Это автоматически отодвинуло дату выпуска на конец 1999-го года, когда будет освоен техпроцесс 0,18 мкм. Но все равно ядро пришлось упрощать. И под нож попали блоки, обеспечивающие совместимость с 32-х разрядными командами x86. Формально процессор мог выполнять привычный 32-х разрядный код, но его производительность в таком режиме не выдерживала никакой критики. Также был урезан объем кэша второго уровня до смешных 96 кб.
   В том-же 1996-м году компанией HP была начата самостоятельная разработка следующего поколения процессора, названная McKinley. На презентациях в 19997-м году в Intel анонсировали выход Merced в 1999-м году, а в 2001-м должен был выйти McKinley, который обещал удвоить производительность процессора.
   К следующему, 1997-му году, стало понятно, что создать компилятор для новой архитектуры, максимально использующий ее сильные стороны гораздо труднее чем предполагалось ранее. Проблема была в том, что оказалось сложнее, чем это предполагалось ранее, заранее, в программном коде, предугадать какие данные будут в кэше процессора. И хоть архитектура IA-64 предполагала в коде команды предварительной загрузки данных в кэш, это слишком усложняет процесс разработки, и в любом случае не исключало ситуаций, когда необходимых данных в кэше не оказывалось. Кроме сложности ручной разработки на низкоуровневом ассемблере (написание программы непосредственно командами процессору), было гораздо сложнее реализовать компилятор, который будет переводить команды языка программирования высокого уровня в машинные коды, учитывая все эти нюансы. Забегая вперед – эффективный компилятор для IA-64 так и не был создан…
   А время шло, и классические x86 процессоры становились все быстрее и умнее. Появившаяся в 95-м году архитектура P6 обеспечивала внутренний параллелизм благодаря декодированию сложных CISC инструкций в RISC-подобные микрооперации, которые были проще, исполнялись быстрее, и которые благодаря внеочередному исполнению, можно выполнять параллельно, выбирая необходимые микрооперации аппаратно согласно текущей ситуации с наличием инструкций и доступностью данных в кэшах. С улучшением техпроцессов все менее значимой становилась проблема количество транзисторов в процессорном кристалле. Также росли и частоты – если во время начала работы над проектом Merced нормой были 100-150 МГц и суперскалярная CISC архитектура, то спустя 4 года, в 1998-м это были процессоры с частотой в 3-4 раза больше оснащенные RISC ядром, тремя конвейерами и внеочередным исполнением. Поэтому в 1998-м году Intel в очередной раз переносит сроки выхода Merced на середину 2000-го года, для его доработки. И уже тогда многие поставили под вопрос успешность проекта – пока только в свете того, что спустя год должен выйти McKinley, который, как мы помним, обещает быть вдвое более быстрым. Таким образом, уже в 1998-м году формируется мнение о том, что Merced будет не столько коммерчески успешным продуктом, сколько демонстратором технологий и тестовой платформой для разработки ПО под 64-х разрядную архитектуру IA-64. Но тем не менее он сможет занять свое место в серверах где критичен большой объем памяти (основным стимулом перехода на 64 бита, кроме работы с данными более высокой точности, была возможность адресовать более 4-х Гб памяти – ограничение 32-х разрядных процессоров).

Merced

   Наконец 4 октября 1999-го года, был представлен новый процессор в рамках проекта Merced, получивший имя Itanium (которое it-обозревателями в тот-же день трансформировалось в ироничное Itanic, с отсылкой к кораблю Титаник, который будучи масштабным проектом своего времени, затонул во время первого рейса). Во время анонса первого 64-х разрядного процессора компании, звучали заявления о том, что архитектура IA-64 представляет из себя самую значительную разработку со времен i386. Впрочем, так оно и было. Правда грандиозность затеи совсем не означает ее успех… Тем более что это не был полноценный выпуск Itanium на рынок – были представлены не коммерческие продукты, а демонстрационные платформы для разработчиков ПО и отладки технологий, а в широкую продажу процессоры и сервера на их основе не поступили.
   Несмотря на это, у Intel были грандиозные планы на полное вытеснение старой 32-х разрядной архитектуры IA-32, новой 64-х разрядной архитектурой IA-64 в течении следующих пяти лет. Первые два с половиной года архитектура Itanium будет представлена в небольшом сегменте высокопроизводительных серверов. За это время должно быть написано или адаптировано большое количество программного обеспечения, и в течении следующего года должен произойти слом, после чего процессоры на старой архитектуре начнут стремительно терять свою долю рынка, полностью уйдя с него в конце 2005-го года. Планы были амбициозные, несмотря на то, что в момент анонса Intel не могла предложить ничего кроме демонстрационных образцов.
   Процессоры были выпущены с использованием новейшего на то время техпроцесса 0,18 мкм (Pentium !!! Coppermine будет выпущен только спустя три недели), состояли из 25,4 млн. транзисторов. Также на процессорной плате был размещен кэш третьего уровня объемом 2 или 4 Мб, который состоял из 295 млн. транзисторов. Частоты процессоров были от 500 до 667 МГц. Неплохо для времени когда Pentium !!! 600 был топовым процессором.
   Ядро Merced содержало 32 Кб кэша первого уровня (по 16 кб на данные и инструкции), 96 кб кэша второго уровня, и общалось с размещенным на процессорной плате полноскоростным кэшем третьего уровня по 128-битной шине. Процессор обладал огромным количеством регистров – 320 шт. (против 40 регистров а архитектуре P6).
   Конвейер состоял из 10 ступеней, что как мы помним указывает на то что основной упор был сделан на высокую удельную производительность, а не покорение высоких частот. Исполнительное ядро процессора состояло из девяти портов запуска, на которые отправлялись по 6 инструкций за такт. Для работы с 32-х битным кодом x86 был добавлен аппаратный блок, осуществляющий выборку команд IA-32 из кэша первого уровня, выполняющего их декодирование в команды IA-64 и отправляющего на исполнительные устройства. Но так как поддержка старого набора команд была заявлена только для совместимости, и изначально не являлась ключевой возможностью процессора – эффективность такого решения оказалась чрезвычайно низкой и разочаровывающей. Стоит сказать, что производительность представленных процессоров на x86 коде была на уровне Pentium 75-100 МГц. Но также, справедливости ради, нужно сказать, что на момент своего появления, Itanium был самым быстрым процессором в операциях с плавающей запятой выполняя оптимизированный код!
   Для связи с чипсетом материнской платы использовалась 64-х битная шина, работающая на частоте 133 МГц, с передачей двух пакетов за такт (технология DDR) что дает результирующую частоту в 266 МГц. Чипсет для работы с Itanium получил название i460GX, поддерживал от 1 до 4-х процессоров и работал с памятью SDRAM-66 в четырехканальном режиме общим объёмом до 64 Гб. Именно скорость оперативной памяти была самым слабым местом платформы. Процессорная шина только одного процессора Itanium использует всю пропускную способность оперативной памяти. А если процессоров было несколько, все было еще хуже. Низкую скорость памяти инженеры надеялись компенсировать огромным размером кэша третьего уровня – от 2-х до 4-х Мб.
   Необычным был и конструктив процессора - Socket PAC418. Процессорный модуль представлял из себя металлическую коробочку, внутри который был бутерброд из печатных плат. Также необычным было то, что процессор имел два разъема – боковой слотовый разъем для подачи питания и нижний массив выводов для установки в разъем типа сокет на материнской плате, который предназначался только для сигнальных линий.

   Внутри металлической рамки находились несколько плат – основная плата, сбоку которой были выведены контакты питания. На нее сверху припаивалась плата с процессорным кристаллом и рядом с ней один из двух вариантов платы содержащей кристаллы кэша третьего уровня. Под процессорным кристаллом, припаивалась еще одна плата содержащая массив штырьковых выводов для установки в сокет материнской платы. Сверху же все накрывалось теплораспределительной пластиной, которая через слой термоинтерфейса контактировала с кристаллами процессора и кэш-памяти. И уже на эту конструкцию сверху устанавливался радиатор охлаждения. Также следует сказать, что получившиеся процессоры потребляли от 116 до 130 Вт. Эти цифры сегодня не кажутся такими большими, но следует помнить, что в 99-м году Pentium !!! Katmai на 0.25 мкм техпроцессе только подбирался к мощности в 35 Вт, а с появлением Coppermine мощность упала почти в два раза. Мощность же первых процессоров Pentium 4, появившихся через год, осенью 2000-го года,  была на уровне 50-70 Вт и эти цифры казались огромными. Itanium же сходу увеличивает их вдвое.
Intel Itanium на ядре Merced – вид снизу. Массив выводов. На левой грани – контакты для разъема питания.

Боковая грань с наклейкой, на которой указаны характеристики процессора – 733 МГц, 2 Мб кэша третьего уровня и 133 МГц шина.

Взгляд на внутренности процессора. Слева – процессорная плата, справа – плата, содержащая 2 Мб кэш-памяти третьего уровня. В версиях с 4 Мб кэша – правая плата занимала все свободное место и содержала 4 кристалла по 1 Мб.
 
   В общем Itanium оказался очень необычным процессором – очень дорогим, потребляющим много электроэнергии (и от того сильно греющимся), и показывающим как максимально возможную производительность на оптимизированном коде, так и не выдерживающий никакой критики выполняя привычный x86 код. Где-то это мы уже видели? Точнее мы, из 2022-го года это конечно видели, а вот в 1999-м году похожее только предстояло увидеть – после анонса Pentium 4 на абсолютно новой архитектуре NetBurst. И высокое (в сравнении с предшественниками) энергопотребление, и высокая производительность на оптимизированном коде вместе с провальной на неоптимизированном. Вот только вся разница окажется в том, что оптимизировать код под NetBurst окажется намного легче, а под Itanium – практически невозможно. И даже без оптимизации Pentium 4 терял несколько десятков процентов производительности, и то не во всех задачах, а Itanium стабильно оказывался медленнее в разы.  Но все это будет позже…
   Официально процессор Itanium был выпущен только 29 мая 2001-го года. В этот день процессоры, а главное готовые системы на их основе, стали поставляться заказчикам. Чтобы хоть немного поднять скорость оперативной памяти, системы на Itanium стали поддерживать память SDRAM-100. Что для 2001-го года все равно было очень медленно и архаично. Еще подросли частоты – в продажу пошли процессоры, работающие на частотах 733 и 800 МГц, с 2 и 4 Мб кэша третьего уровня. Частота системной шины осталась на уровне 133 МГц (266 эффективная частота передачи данных).
   Также к этому времени был готов и софт для нового процессора. Операционные системы Windows, Unix и Linux, СУБД, системы автоматизации предприятий и ПО для научных вычислений... Но о широкой доступности программного обеспечения под новую платформу речи не шло, а вариант с запуском старого ПО, в ожидании пока разработчик портирует его – тоже не подходил ввиду удручающе низкой производительности в таком режиме. Кроме этого, за годы разработки, остальные процессоры на рынке не стояли на месте. Как RISC процессоры конкурентов в высокопроизводительных серверах, так и процессоры семейства x86 как от Intel, так и от ее конкурентов, в частности AMD. Последняя подлила масла в огонь, объявив в 2000-м году свою спецификацию 64-х разрядных вычислений, получившую название x86-64 или AMD64. Как можно понять, в случае с AMD речь не идет о новой архитектуре – это были просто расширения набора команд x86 позволяющие работать с 64-х разрядными данными, и обеспечивающие полную совместимость со старым кодом без потери производительности. Но пока это были просто спецификации и у Itanium все еще были шансы занять свое место на рынке. Но успеха Merced не имел. Как ввиду низкой, как для его цены, производительности, так и из-за ожидания второго поколения процессоров Itanium, известных как McKinley, которое должно было ощутимо улучшить производительность.

McKinley

   Год спустя, 8 июля 2002-го года было представлено второе поколение процессоров на архитектуре IA-64, ранее известное как McKinley и получившее название Itanium 2. Новый процессор также был носителем архитектуры IA-64. Оставаясь программно-совместимым с Itanium он принес некоторые улучшения, и в целом его можно считать работой над ошибками Merced.
   Сильно изменилась система кэширования. Кэш первого уровня, не изменившись в размере (по 16 Кб на данные и инструкции) стал вдвое быстрее, уменьшив латентность с 2-х до одного такта. Кэш второго уровня наконец-то получил нормальный объем в 256 Кб, вместе с почти двукратным уменьшением латентности (с 9 до 5 тактов). Кэш третьего уровня был перенесен на кристалл процессора, немного потеряв в объеме (были варианты 1,5 и 3 Мб), но при этом также почти в два раза уменьшив латентность (с 21 до 12 тактов), и почти в три раза увеличив пропускную способность. Последнее стало возможным также из-за того, что кэш L3 теперь связывает с ядром 256-битная шина.
   Скорость доступа к оперативной памяти у второго поколения Itanium также существенно выросла. Так процессор общается с чипсетом с помощью 128-битной шины, работающей на частоте 200 МГц, с технологией DDR (что дает результирующую частоту в 400 МГц). Все это позволило ускорить шину процессора в три раза.
   И наконец Itanium 2 получил новые исполнительные устройства, которые организованы в 11 портов запуска. Огромное количество для своего времени! Но, тем не менее, для сохранения совместимости, процессор отправляет на выполнение по 6 команд за такт, как и его предшественник.
 
   Конвейер процессора был уменьшен до 8 ступеней, что как мы помним также повышает удельную производительность за такт. Но несмотря на это частоты даже немного подросли – процессоры были представлены в трех вариантах с двумя частотами 900 МГц и 1 ГГц, и с двумя вариантами кэша третьего уровня 1,5 и 3 Мб. При этом младшая модель с частотой 900 МГц обладала только минимальным объемом кэша, а старшая – предлагала два варианта на выбор.
   Несмотря на все вышеперечисленные улучшения, и многократно возросшую сложность ядра – процессоры Itanium 2 на ядре McKinley все также выпускались на уже устаревшем 0,18 мкм техпроцессе и состояли из огромного количества транзисторов – 221 млн (из которых 25 миллионов реализуют логику процессора – остальное кэш). Для того, чтобы понять насколько это много, можно вспомнить что Pentium 4 на ядре Willamette, выпускавшийся на таком-же 0,18 мкм техпроцессе состоял всего из 42 млн. транзисторов! Но стоит отдать должное инженерам Intel (или HP, ведь это была их разработка) – итоговая мощность процессоров Itanium второго поколения стала ниже – от 90 до 100 Вт, в зависимости от частоты.
   Конструктив процессора естественно изменился. Теперь он называется PAC611, и продолжает представлять из себя гибрид сокета и слота. По-прежнему сам процессор общается с материнской платой посредством матрицы штырьковых выводов, а питание подается на контактные площадки процессорной платы через боковой слотовый разъем со специального модуля VRM (voltage regulator module – модуль управления напряжением).
   Несмотря на необычный конструктив, вид процессора стал привычнее – сам процессорный кристалл упакован и закрыт теплораспределительной крышкой подобно процессорам Pentium 4 и припаян на процессорную плату, содержащую с одного края контактные площадки для подачи питания, а снизу – штырьковые выводы.
Itanium 2 на ядре McKinley. Справа от процессора – контактные площадки для подачи питания, слева – силовая обвязка.
 
Вид на Itanium 2 снизу. Справа присоединён модуль VRM обеспечивающий процессор питанием.
 
   Для работы новых процессоров был выпущен набор системной логики Intel E8870. Чипсет наконец перешел на работу с памятью DDR. Поддерживается медленная память с частотой 100 МГц (эффективная частота 200 МГц), но благодаря четырехканальному режиму работы пропускная способность памяти составляет внушительное значение 6,4 Гб/с. Что, впрочем, по-прежнему равно пропускной способности одного процессора. А процессоров может быть до четырех. Также с помощью специальных микросхем, такие блоки – четыре процессора, чипсет и набор памяти (до 128 Гб на чипсет), могут соединяться между собой образуя многопроцессорные системы с числом процессоров кратным четырем.

Madison

   Спустя еще год, 30 июня 2003-го года, Intel наконец переводит Itanium на актуальный техпроцесс 0,13 мкм. Новый чип получил название Madison, и является переносом архитектуры McKinley на более тонкий техпроцесс. Это позволило как поднять частоту работы процессора, так и увеличить размер кэша третьего уровня, максимальный объем которого составил 6 Мб. Для этого пришлось увеличить количество транзисторов в ядре до 410 млн. Первые процессоры на ядре Madison работали на частотах от 1,3 до 1,5 ГГц и обладали кэшем третьего уровня от 3 до 6 Мб. Позже появились варианты с кэшем 1,5 Мб (для модели 1,4 ГГц), а также более скоростная модель, работающая на частоте 1,6 ГГц и оснащенная кэшем 3 Мб.
   Так как Madison представлял из себя простой перенос McKinley на более тонкий техпроцесс, то платформа на которой работали новые процессоры не поменялась, и они могли использоваться для апгрейда уже работающих систем. Также не поменялось и название процессора – это все также Itanium 2.
   Незадолго до появления Madison, в апреле 2003-го года, компания AMD выпускает свой первый 64-х разрядный процессор Opteron, в основе которого лежал набор команд x86-64 или AMD64. Эти процессоры были предназначены для рынка высокопроизводительных многопроцессорных серверов, имели встроенный контроллер памяти, шину HyperTransport для прямой связи между процессорами, и главное – были полностью совместимы с привычным набором команд x86, выполняя 32-х битный код без потери производительности, одновременно обладая такими преимуществами 64-х битной архитектуры как возможность обработки данных высокой точности и возможность адресовать объем памяти больше 4 Гб.
   Благодаря этим особенностям, а также достаточно высокой производительности как в режиме 32-х, так и 64-х битных вычислений, процессор Opteron начал завоевывать свое место в высокопроизводительных серверах. Это привело к давлению на Intel из-за отсутствия поддержки x86-64 в процессорном семействе Xeon – серверных процессорах Intel для серверов на архитектуре x86. Итогом чего стало появление 64-х битных расширений для набора команд x86, в процессорах Xeon в июне 2004-го года. В реализации Intel эта технология получила название EM64T (Extended Memory 64 Technology) и обеспечивала полную совместимость с решением от AMD. Таким образом, уже летом 2004-го года, можно было утверждать, что набор команд x86-64 стал промышленным стандартом принятым рынком, а на проекте Itanium можно было ставить крест. НО…
   Но в ноябре 2004-го года Intel выпускает новое ядро для Itanium, получившее название Madison 9M. Как можно догадаться, основным его отличием было увеличение кэша третьего уровня до огромных 9 Мб. Для реализации такого размера кэша понадобилось упаковать в ядро 592 млн. транзисторов при нормах техпроцесса 0,13 мкм. Для понимания того насколько это много напомню, что Pentium 4 Northwood производимый на таком-же техпроцессе состоял из 55 млн. транзисторов!
   Максимальный объем кэша был доступен только старшей модели с частотой 1,6 ГГц, но были доступны также варианты с 6 или 4 Мб кэша третьего уровня. Позже были выпущены модели с частотой шины 266 МГц (эффективная частота 533 МГц) и 333 МГц (эффективная частота 667 МГц).
   В целом вся дальнейшая история Itanium напоминает агонию. Двумя компаниями в проект были вложены миллиарды долларов. Как на разработку и выпуск чипов, так и для финансирования процесса портирования приложений на платформу. Кроме того, все же было написано ПО, показывающее максимальную производительность на Itanium. Также не стоит забывать, что основное предназначение Itanium – это не персональные компьютеры и даже не рабочие станции (хоть они и выпускались) – это многопроцессорные сервера и кластерные системы, когда несколько таких серверов объединяются в один вычислительный узел. Такие системы стоят больших денег, также, как и разработка ПО для них. Но обратной стороной становится более длинный жизненный цикл – клиенты вложившие немаленькие суммы в центры обработки данных хотят иметь поддержку и возможность апгрейда не стандартные год-два, а побольше. Поэтому нельзя было вот так взять и прекратить развитие такого дорогостоящего проекта. И в Intel не прекращали его…

Montecito

   Следующим шагом развития линейки Itanium, логично должен был стать перевод на актуальный техпроцесс 90 нм. Вместе с тем, более тонкий техпроцесс позволит расширить и возможности процессора. Увеличить размер кэша, реализовать аппаратную поддержку виртуализации, добавить технологию виртуально многопоточности Hyper-Threading или сделать процессор двухъядерным. Все это и было реализовано в следующем поколении Itanium, получившем название Montecito. Первые прототипы нового чипа были представлены еще в сентябре 2004-го года (согласно ранним планам, тогда новый процессор и должен был быть выпущен), но в широкую продажу процессоры должны были поступить только через год. Но как это уже было с Itanium, процессор был выпущен с опозданием - только летом 2006-го года.
   18 июля 2006-го года были выпущены процессоры, относящиеся к новому поколению Itanium. Название процессорного семейства не изменилось (как и прежде это Itanium 2), но поменялась маркировка – теперь процессоры получили процессорные номера, как и остальные x86 модели. Как топовые решения, Itanium 2 на ядре Montecito получили 9000-ю серию.
   Чем-же новые процессоры отличаются от старых, кроме изменившегося техпроцесса? Во-первых – Montecito стал двухъядерным процессором. Во-вторых – наконец появилась технология Hyper-Threading, знакомая по остальным процессорам компании почти 4 года. В-третьих – вместе с ростом объемов кэш-памяти, изменилась и организация кэшей.
   Начнем с Hyper-Threading. Если в архитектуру x86 эта концепция вписалась весьма органично, благодаря тому, что процессор оперирует загрузкой исполнительных устройств самостоятельно, основываясь на наличии команд и данных для их исполнения в кэшах, то для IA-64 с его концепцией планировать загрузку исполнительных устройств на этапе компиляции кода, такой подход реализовать невозможно. Но инженеры Intel все же нашли возможность использовать простаивающие ресурсы процессора - была применена концепция получившая название «временная многопоточность», в отличие от «одновременной многопоточности» применяемой в процессорах x86. Ее основное отличие в том, что процессор выполняет поток пока не столкнется с отсутствием необходимых данных в кэше. После этого, он запоминает состояние регистров потока ожидающего доставки данных, и переключается на второй поток. До тех пор, пока и он не столкнется с такой нехваткой данных. К этому времени данные необходимые для выполнения первого потока уже должны быть доставлены в кэш, для продолжения его работы. Выше я уже рассказывал, что именно невозможность прогнозировать наличие данных в кэше является одной из самых больших проблем архитектуры IA-64. Теперь эта проблема была частично решена и включение Hyper-Threading повышает производительность Itanium на 15-35%..
   Кроме виртуальной многоядерности, процессоры Montecito получили двухъядерный дизайн. Таким образом имея два ядра, каждое из которых выполняет два потока, новый процессор может обеспечить выполнение четырех потоков. Также, в отличие от более поздних десктопных процессоров, оснащенных общим кэшем третьего уровня, архитектура Montecito предусматривала объединение на одном кристалле двух процессорных ядер, каждое из которых обладало полным набором кэш-памяти. Для взаимодействия двух независимых процессоров и общего использования системой шины были добавлены дополнительные блоки.
   Также важным отличием был отказ от аппаратного блока выполнения инструкций IA-32. Вместо этого был написан программный эмулятор, транслирующий код x86 в набор команд IA-64. Такое решение показывало производительность в разы выше аппаратной реализации, поэтому соответствующие блоки были убраны из ядра Montecito.
   Большие изменения претерпела и организация кэшей. Кроме простого увеличения объема, была изменена и организация кэша второго уровня. Теперь кэш L2 разделен на две части – для данных и инструкций, аналогично делению кэша первого уровня. Но кэш второго уровня был поделен не поровну – так кэш данных имеет объем 256 Кб, а для хранения инструкций размер кэша второго уровня был увеличен до 1 Мб. Объемы кэша первого уровня не изменились – по 16 Кб для данных и инструкций. Кеш третьего уровня мог иметь объем до 12 Мб на одно ядро! Также были выпущены модели с кэшем третьего уровня размеров 9, 6 или 4 Мб.
   Для реализации такого огромного кэша, понадобилось разместить на кристалле 1.72 млрд транзисторов, из которых процессорной логикой используется только 57 млн (по 28.5 млн на ядро), остальное кэши. При этом огромный кэш третьего уровня состоит из 1.55 млрд транзисторов выполненных с применением норм техпроцесса 90 нм.
Процессор Itanium 2 9000-й серии со снятой защитной крышкой.
 
   Несмотря на значительные изменения внутри, новые процессоры сохранили совместимость с прошлым поколением Itanium 2, работая на той-же платформе PAC611. Благодаря физическому разделению линий передачи данных и питания, получилось легко обеспечить совместимость новых процессоров со старыми платами – нужно вместе с процессором заменить модуль VRM выдающий необходимые для новых процессоров напряжения.
   Не увеличилась и потребляемая процессорами мощность. Единственная в семействе одноядерная модель потребляет 75 Вт, а остальные двухъядерные модели 104 Вт. Анонсируя Montecito, Intel обещала удвоение производительности вместе с уменьшением энергопотребления на 20%.
   Частоты процессоров не изменились и по-прежнему находятся около 1.5 ГГц. Старшие модели работают на 1.6 ГГц, а младшие на 1.4 ГГц.

Montvale

   Спустя год, в ноябре 2007-го года, Intel обновляет семейство своих процессоров на архитектуре IA-64. Это был все тот-же процессор, с небольшими изменениями, выделенный в новое поколение исключительно ради маркетинга. Также изменилось название процессора – теперь новые процессоры потеряли цифру 2 в своем названии, и снова получили имя Itanium. Ядро обновленного процессора получило название Montvale, и было практически идентично предшественнику Montecito.
   В новых Itanium стала широко применяться шина 667 МГц (333 МГц реальной частоты), следовательно, максимальная частота немного подросла до 1.66 ГГц.
   Обновлённые процессоры получили принадлежность к линейке 9100 (процессорные номера). Все остальное осталось без изменений – двухъядерный дизайн с поддержкой Hyper-Threading (но в семействе осталась и одна однопоточная модель), максимальный размер кэша третьего уровня в 12 Мб на ядро, и совместимость с платформой PAC611.
   Также это было последнее ядро, в разработке которого принимали участие инженеры HP. После него компания отказалась от участия в разработке новых поколений Itanium, а команда разработчиков перешла в Intel.

Tukwila

   Начало работы над новым поколением процессоров Itanium, получивших кодовое имя Tukwila было анонсировано еще в марте 2005-го года. Ключевыми особенностями новых процессоров должны были стать – четырехъядерный дизайн и интегрированный контроллер памяти, а выпуск готовых процессоров планировался на 2007-й год. Но, как это было уже не раз с процессорами Itanium, в 2007-м году выпуск был отложен на год. А по факту новые процессоры увидели мир только в феврале 2010-го года.
   8 февраля 2010-го года было представлено новое поколение процессоров Itanium, известных ранее как Tukwila. Это было действительно новое поколение процессоров, не имеющее совместимости с существовавшей уже восемь лет платформой PAC611.
   Новые процессоры Itanium, получившие принадлежность к серии 9300, наконец-то получили интегрированный четырехканальный контроллер памяти, работающий с памятью DDR3. Правда он не может похвастаться поддержкой скоростных модулей – поддерживается медленная DDR3-800, но для серверного мира это естественно – отдается преимущество надежности перед скоростью.
Так как платформа оказалась лишена северного моста (его функционал теперь перенесен в процессор), то для связи с чипсетом и другими процессорами в многопроцессорных системах, была использована шина QPI (QuickPath Interconnect) уже знакомая по процессорам Nehalem. У Intel были планы разработки платформ, где процессоры Xeon и Itanium будут взаимозаменяемы, упростив таким образом производство серверных комплектующих и самих серверов, где на одном шасси могут быть различные варианты процессоров. Эта функциональность так и не была реализована и процессоры Xeon и Itanium работали в разных сокетах. Но тем не менее была унификация на уровне чипсета – чипсет Intel 7500 работал на обеих платформах.
   Кстати само исполнительное ядро осталось практически без изменений. Процессор по-прежнему имеет одиннадцать портов запуска отправляя на выполнение по шесть инструкций за такт. Осталась поддержка Hyper-Threading, позволяющая одному четырехядерному процессору выполнять 8 потоков. Но была добавлена функция динамического разгона Turbo Boost, повышающая частоту процессора на 133 МГц в случае не полной загрузки и соблюдения теплового пакета, который был увеличен до 185 Вт для старших моделей.
   Про частоты – они практически не изменились. Старшая модель Itanium 9350 работает на частоте 1,73 ГГц. А для остальных моделей частоты лежат в диапазоне 1,33 – 1,73 ГГц.
   Немного изменились кэши. Так их организация осталась прежней – полная иерархия от первого до третьего уровня, своя у каждого ядра. Но вместе с четырехядерным дизайном изменились объемы кэшей. Кэш первого уровня остался без изменений – по 16 Кб для данных и инструкций. Кэш второго уровня, оставшись разделенным уменьшил объем кэша инструкций до 512 Кб (кэш для данных сохранил свой объем в 256 Кб). Кэш третьего уровня был уменьшен в два раза до 6 Мб. Но тем не менее, для реализации процессора понадобилось немногим более 2-х миллиардов транзисторов (что сделало Itanium на ядре Tukwila первым процессором, перешагнувшим этот рубеж!). Интересно, что процессор выпущенный в 2010-м году, использовал уже устаревший техпроцесс 65 нм. Таковы издержки постоянных переносов – процессор должен был выйти в 2007-м году, и разрабатывался для актуального на то время техпроцесса. Но пока он добрался до выпуска, успели смениться уже два техпроцесса – 45 нм, и актуальный для 2010-го года – 32 нм.
   Естественно, что таким серьезные изменения, как интегрированный контроллер памяти и изменение системной шины, повлекли за собой изменение конструктива. Но он все равно остался не стандартным! Процессор наконец-то лишился выводов и устанавливается в разъем типа LGA, получивший название LGA 1248.
   При этом сам процессор, сохранил особенность своих более ранних собратьев в виде раздельного физического интерфейса для сигнальных линий и подачи питания. На верхней части процессорной платы находятся контактные площадки для подачи питания. Таким образом процессор кладется нижней частью на сокет, сверху прикрывается платой VRM, посередине которой оставлено отверстие для системы охлаждения, после чего весь этот бутерброд накрывается кулером и закрепляется на материнской плате.
Процессор Itanium серии 9300, процессор установленный в модуль VRM
 
   В это-же время происходит несколько знаковых событий, окончательно похоронивших проект Itanium. Так апреле 2010-го года, корпорация Microsoft объявила о том, что операционная система Windows Server 2008 R2 станет последней, поддерживающей процессоры Itanium. Вслед за этим другие производители ПО также стали отказываться от дальнейших разработок под платформу IA-64. Наиболее значимым был отказ Oracle от поддержки своей СУБД, который был анонсирован в марте 2011-го года. В ответ на это, компанией HP был начат судебный процесс, целью которого было заставить Oracle продолжать дальнейшую поддержку своего ПО для Itanium. По решению суда, в сентябре 2012-го года, Oracle продолжает поддержку. Но во время суда всплыли интересные факты – так HP платила Oracle немаленькие суммы за поддержку. Также оказалось что в 2010-м году HP заключила соглашение с Intel, согласно которому последняя компания обязуется развивать семейство процессоров Itanium до 2017-го года, повышая производительность процессоров.
   Но несмотря на продолжение поддержки со стороны Oracle, это все равно было начало конца. Точнее в начале 10-х года стало окончательно понятно, что будущего у проекта Itanium больше нет. Но не все было просто. HP, как крупнейший продавец систем на Itanium (на сервера HP приходилось около 80% всех продаж систем Itanium), для поддержки своих клиентов, платил Intel для продолжения выпуска и развития семейства (выше я уже немного писал об особенностях этого рынка). Поэтому пока проданные ранее системы не устарели, пока была возможность их апгрейда, и главное желание клиентов вложиться в этот апгрейд, Intel приходилось продолжать развитие семейства, хотя никакого развития уже толком и не было.

Poulson

   Несмотря на очевидный провал проекта Itanium, Intel продолжает его развитие, представив 8 ноября 2012-го года новое поколение процессоров, известное под кодовым именем Poulson. Это было по-настоящему новое ядро с новой архитектурой, впервые с времен McKinley представленного еще десять лет назад в 2002-м году. Если McKinley в свое время получил название Itanium 2, то Poulson вполне заслуживал имени Itanium 3. Но так и не получил его. Зато получил новый логотип, в стиле основной линейки процессоров x86.
   Для начала посмотрим, что нового появилось в процессорном ядре нового Itanium. Во-первых – теперь процессор обладает 12 портами запуска, вместо прежних 11, и что важно, он может выполнять по 12 инструкций за такт, благодаря обработке двух потоков новым поколением технологии Hyper-Threading.
   Конвейер процессора был немного удлинен, с 8 до 11 ступеней, что позволило ощутимо повысить частоты на которых работает процессор. Так в новом поколении Itanium, получившим нумерацию 9500 линейки, были 4 процессора работающие на частотах от 1,73 до 2,53 ГГц.
   Также в исполнительном конвейере появилась система повторного запуска инструкций на выполнение, наподобие системы Replay в архитектуре NetBurst. Но с коротким конвейером Itanium основное предназначение этой системы – повышение надежности, чтобы в случае если во время вычислений все-же будет допущена какая-то ошибка, например, неверно считаны значения данных, избежать зависания процессора, а просто выполнить этот код повторно. Еще в набор команд были добавлены новые команды для расширенной поддержки виртуализации и работы с многопоточностью.
   Изменилась организация кэш-памяти, и в целом взаимодействие процессорных ядер в кристалле. Так кэш первого и второго уровня остался без изменений. А вот кэш L3 теперь наконец-то общий для всех ядер. Его объем составляет по 4 Мб на ядро. Вместе с общим кэшем третьего уровня в процессоры Itanium пришла и кольцевая шина, появившаяся в процессорах Sandy Bridge.
   Размер кэша третьего уровня был различным. Так максимальный объем в 32 Мб имели только две старшие модели с частотами 2,4 и 2,53 ГГц. Остальные процессоры довольствовались кэшем в 24 и 20 Мб.
   Несмотря на значительные изменения внутри процессорного кристалла, новое поколение процессоров Itanium сохранило совместимость прежним конструктивом LGA 1248, и может использоваться для апгрейда процессоров Tukwila. Но вместе с сохранением конструктива, новое поколение процессоров получило более быструю шину QPI и поддержку более быстрой памяти формата DDR3-1066. Также не повысилось и тепловыделение процессора – для младшей модели заявленный тепловой пакет в 130 Вт, а для старших – 170 Вт.
   Процессоры Itanium на ядре Poulson выпускались с использованием техпроцесса 32 нм и состояли из 3,1 миллиардов транзисторов, но за счет более тонкого техпроцесса занимают меньшую площадь на кристалле чем их предшественники. Тем не менее это было огромным количеством – так шестиядерный чип Gulftown, использующий в своем производстве такой-же техпроцесс состоял из 1170 млн. транзисторов и занимал площадь 248 кв. мм.
Сравнение процессорных кристаллов Tukwila и Poulson. Последний, не смотря на то что содержит в полтора раза больше транзисторов, благодаря в два раза меньшему техпроцессу, занимает меньшую площадь.

Kittson

   Еще до представления 9500-й линейки процессоров Itanium, известной как Poulson, было известно о разработке ее преемника названном Kittson. По начальным планам Intel эти процессоры должны были выпускаться с применением 22 нм. техпроцесса и наконец-то использовать платформу LGA2011, которая используется процессорами Xeon, тем самым унифицировав эти процессорные семейства по сокетам и материнским платам.
   Но уже в 2013-м году, то есть через год после выпуска Poulson, в Intel сообщили что Kittson будет основан на все том-же техпроцессе 32 нм., и для совместимости с прежними поколениями Itanium сохранит совместимость с платформой LGA 1248. Таким образом Intel официально заявляет, что фактически прекращает развитие своих процессоров Itanium, и следующее поколение будет выпущено только лишь для поддержки уже проданных систем.
   На фоне этого, даже компания HP, долгие годы являвшаяся локомотивом продвижения проекта Itanium, пометила свои сервера на этой платформе как устаревшие и стала активно предлагать клиентам сервера на базе x86 процессоров Xeon.
   Поэтому, когда 5 мая 2017-го года было выпущено последнее поколение Itanium, известное как Kittson, и оказалось, что новые процессоры отличаются от уже пять лет присутствующих на рынке всего лишь прибавкой частоты в 133 МГц, сохранив ту же архитектуру и все особенности процессоров предыдущего поколения, это ни у кого не вызвало удивления. Таким образом частота старшей модели составила 2,66 ГГц. Процессоры получили новые процессорные номера с 9700-й серии, но остальные характеристики – без изменений. 8 ядер, 16 потоков, 32 Мб кэша третьего уровня. Это был конец…
   Точнее конец был объявлен в январе 2019-го года, когда Intel официально объявила о том, что последние поставки процессоров Itanium будут в июле 2021-го года. Чуть позже компания HP объявила о том, что принимает заказы на новые сервера на базе Itanium до 31 декабря 2020-го года. Ну и последние процессоры были поставлены заказчикам 29 июля 2021-го года, спустя 20 лет и 2 месяца после выпуска первого чипа Merced в продажу. После чего семейство процессоров Itanium официально было снято с производства.

Итоги

   Попробуем подвести итоги и понять, почему такой масштабный проект двух крупных компаний провалился. Ведь задумка Intel была масштабной. Все время развития компании, ее преследовали многочисленные конкуренты, предлагая свои процессоры, которые часто являлись клонами продукции Intel. Так было с поколениями процессоров i286, i386, i486. Когда выпускалась целая россыпь совместимых процессоров разных производителей. Во времена Pentium, у компании получилось защитить хотя-бы название процессора. Но все равно существовала масса аналогов, совместимых по разъемам и работающих в одинаковых платах процессоров.
   После перехода на Pentium II с его уникальным конструктивом Slot1, в Intel оторвались от конкурентов, отказав всем в лицензировании этого конструктива и системной шины нового процессора. Поэтому конкуренты, которых становилось все меньше, перешли на свои платформы, или остались выжимать последние соки с устаревающего Socket 7. Но в целом на рынке процессоров x86 Intel была не одна, и в компьютере, на котором установлена операционная система Windows (или Linux, что не важно) и работает пакет ПО может быть установлен как процессор Intel, так и процессор конкурентов.
   А с выходом Itanium, работавшем на запатентованной архитектуре, у Intel были шансы полностью избавиться от конкуренции, оставив всех производителей x86 процессоров в прошлом, и уйдя в будущее самостоятельно и единолично.
   Все это выглядело красиво и логично в планах и на бумаге. Особенно из середины 90-х. Особенно для корпорации Intel которая не один год была локомотивом индустрии и объектом для подражания и копирований. А по факту все вышло немного иначе…
 
   Если из середины 90-х годов размещение на процессорном кристалле исполнительных блоков или дополнительной кэш-памяти выглядело настоящей проблемой (вспоминаем что передовой для своего времени Pentium PRO, выпущенный в 1995-м году, состоял из 5,5 млн транзисторов, и был большим и сложным чипом). То спустя всего пару лет, в конце августа 1998 года Intel выпускает бюджетный Celeron оснащенный встроенным в ядро кэшем и состоящим из 19 млн. транзисторов. Дальше – больше. Следующие техпроцессы еще больше увеличивают количество транзисторов в ядре. Причем эти транзисторы можно использовать как для наращивания объемов кэшей, так и для исполнительной логики!
   Получается, что проблема которую разработчики из начала 90-х пытались обойти усложнив систему команд и процесс разработки ПО, спустя небольшое количества времени, сама собой перестала быть проблемой! А вот процесс создания эффективных компиляторов, казавшийся всего лишь вопросом времени – как раз, таки оказался настоящей проблемой!
   Также как проблемой были и конкуренты, особенно компания AMD после выпуска своего ядра K7, которое было объективно быстрее Pentium !!!, и не давало Intel расслабиться, побуждая продолжать гонку производительности среди x86 процессоров, увеличивая их производительность. Вместе с тем, Merced который должен был быть простым чипом, оснащенный массивом исполнительных устройств и вынеся всю логику в программный код, оказался слишком сложным для своего времени. Настолько сложным, что его невозможно быть произвести на существующих производственных мощностях. А когда после многочисленных переносов Merced наконец был выпущен – оказалось, что он устарел года на 3 как минимум. Выйдя он, как предполагалось, в 1998-м, его уровень производительности был-бы конкурентоспособен, а разрыв в скорости исполнении x86 кода между Itanium и остальными процессорами, не был бы таким катастрофическим. Но появившись летом 2001-го, Merced вызвал лишь недоумение. И было трудно объяснить рынку – зачем им этот процессор? Зачем разрабатывать под него ПО, если процесс разработки трудоемкий, результат не всегда прогнозируемый, а доля рынка – мизерна. Зачем производителям серверов предлагать широкий спектр решений на Itanium, если неизвестно какое ПО будет на нем работать. И получается замкнутый круг. Разорвать который получилось у AMD представив свое 64-х разрядное расширение набора инструкций x86, и тем самым показав, что можно и получить 64 бита, и выполнять привычный 32-х битный код без потерь производительности, и работать с большими объёмами памяти, запуская на 64-х битных ОС ранее написанное ПО.
   Также вызывает недоумение и отставание по техпроцессу. Хотя это хорошо согласуется с постоянными переносами выпуска. Когда процессор успевает устареть пока доберется из конструкторского отдела на производство.
   Согласно первоначальным планам архитектура IA-64, должна была прийти во все сегменты рынка полностью вытеснив привычную x86. Но планы были слишком амбициозны и слишком динамичным был рынок полупроводниковых технологий в конце 90-х, и слишком непредсказуемы конкуренты. В итоге – получилось так, как получилось. Десктопные процессоры на архитектуре IA-64 так никогда и не появились. Да и серверные процессоры были довольно специфическим продуктом выпускаемым небольшими партиями. Так есть сведения, что в 2007-м году было выпущено всего 200 тыс. процессоров Itanium! Капля в море в сравнении с количеством серверных, десктопных и мобильных x86 процессоров, выпущенных Intel.
   В завершение этой статьи, я покажу графики, которые отображают предполагаемые объемы продаж за разные годы, где реальные цифры отображены оранжевым цветом, где-то там внизу, под все уменьшающимися надеждами на завоевание рынка…
Конец...

2 комментария:

  1. Прочитал взахлёб весь цикл статей по истории преимущественно настольных процессоров Intel. Могу сказать, что ранее не встречал такого широкого обзора. Спасибо! Интересно и познавательно!

    ОтветитьУдалить