Введение

Архитектура набора инструкций микропроцессора IA 64 (Intel Itanium architecture) – это архитектура набора инструкций (ISA) прекращенной линейки 64-битных микропроцессоров Intel Itanium. Базовая спецификация ISA была разработана компанией Hewlett Packard (HP) и впоследствии реализована Intel в сотрудничестве с HP. Первый процессор Itanium с кодовым названием Merced был выпущен в 2001 году. Архитектура Itanium основана на явном параллелизме на уровне инструкций, при котором компилятор определяет, какие инструкции выполнять параллельно. Это отличается от суперскалярных архитектур, в которых управление зависимостями инструкций осуществляется процессором во время выполнения. Во всех моделях Itanium, включая Tukwila, ядра выполняют до шести инструкций за такт. В 2008 году Itanium занимала четвертое место по распространенности среди архитектур микропроцессоров для систем корпоративного класса, уступая x86 64, Power ISA и SPARC. В 2019 году Intel объявила о прекращении выпуска последних процессоров, поддерживающих архитектуру IA 64.

Разработка

В 1989 году компания HP начала испытывать опасения, что архитектуры с уменьшенным набором команд (RISC) приближаются к пределу производительности – одна инструкция за цикл. Исследователи Intel и HP изучали различные варианты компьютерной архитектуры для будущих разработок и независимо друг от друга начали исследовать новую концепцию, известную как очень длинное инструктивное слово (VLIW), которая возникла в результате исследований Йельского университета в начале 1980-х годов. VLIW – это концепция компьютерной архитектуры (как и RISC и CISC), в которой одно командное слово содержит несколько инструкций, закодированных в одно очень длинное командное слово, чтобы обеспечить процессору возможность выполнять несколько инструкций в каждом такте. Типичные реализации VLIW сильно зависят от сложных компиляторов, которые во время компиляции определяют, какие инструкции можно выполнять одновременно, а также обеспечивают их правильное планирование для выполнения и помогают предсказывать направление переходов. Преимущество этого подхода заключается в выполнении большего объема полезной работы за меньшее количество тактов, а также в упрощении планирования инструкций процессора и требований к аппаратному обеспечению для предсказания ветвлений, хотя это достигается за счет увеличения сложности процессора, его стоимости и энергопотребления в обмен на более быстрое выполнение.

Производство

В это время HP начала считать, что для отдельных компаний, подобных ей, разработка собственных микропроцессоров перестала быть экономически целесообразной. Intel также исследовала несколько архитектурных вариантов для выхода за рамки ISA x86 с целью удовлетворения требований высокопроизводительных корпоративных серверов и высокопроизводительных вычислений (HPC). В 1994 году Intel и HP объединили усилия для разработки ISA IA 64, используя вариант концепций VLIW, который Intel назвала явно параллельными вычислениями инструкций (EPIC). Целью Intel было использование опыта, накопленного HP в ранних разработках VLIW, в сочетании со своим собственным, для создания линейки продуктов, ориентированной на вышеупомянутые высококлассные системы, которые можно было бы продавать всем производителям оригинального оборудования (OEM), в то время как HP хотела иметь возможность приобретать процессоры, выпускаемые серийно с использованием передовых производственных технологий Intel, превосходящие их процессоры PA RISC. Intel взяла на себя руководство процессом проектирования и коммерциализации, а HP внесла вклад в определение ISA, микроархитектуру Merced/Itanium и Itanium 2. Изначально планировалось выпустить первый продукт семейства Itanium, Merced, в 1998 году. Compaq и Silicon Graphics приняли решение прекратить дальнейшую разработку архитектур Alpha и MIPS соответственно, в пользу перехода на IA 64. К 1997 году стало очевидно, что реализация архитектуры IA 64 и компилятора оказалась значительно сложнее, чем предполагалось изначально, и сроки поставки Itanium начали сдвигаться. Поскольку Itanium был первым процессором EPIC, команда разработчиков столкнулась с большим количеством непредвиденных проблем, чем обычно. Кроме того, концепция EPIC зависела от возможностей компилятора, которые ранее не были реализованы, что потребовало дополнительных исследований. Несколько групп разработали операционные системы для этой архитектуры, включая Microsoft Windows, Unix и Unix-подобные системы, такие как Linux, HP UX, FreeBSD, Solaris, Tru64 UNIX (последние три были отменены до выхода на рынок). В 1999 году Intel возглавила создание отраслевого консорциума с открытым исходным кодом для портирования Linux на IA 64, получившего название "Trillium" (позже переименованного в "Trillian" из-за проблем с товарным знаком), под руководством Intel, в который вошли Caldera Systems, CERN, Cygnus Solutions, Hewlett Packard, IBM, Red Hat, SGI, SuSE, TurboLinux и VA Linux Systems. В результате рабочий IA 64 Linux был поставлен раньше запланированного срока и стал первой операционной системой, работающей на новых процессорах Itanium. Intel объявила официальное название процессора – Itanium – 4 октября 1999 года. В течение нескольких часов в новостной группе Usenet появилось название Itanic, как игра слов, основанная на названии "Титаник" – "непотопляемого" океанского лайнера, затонувшего в своем первом рейсе в 1912 году. Уже на следующий день, 5 октября 1999 года, AMD объявила о планах расширить набор инструкций Intel x86, включив в него полностью обратно совместимый 64-битный режим, а также представила новую 64-битную архитектуру AMD x86, над которой компания уже вела работу, и которая должна была быть интегрирована в предстоящий восьмой по счету микропроцессор AMD под кодовым названием SledgeHammer. AMD также заявила о намерении полностью раскрыть спецификации архитектуры и предоставить дополнительные сведения в августе 2000 года. Поскольку AMD никогда не приглашали участвовать в разработке архитектуры IA 64 и получение лицензии казалось маловероятным, расширение AMD64 позиционировалось с самого начала как эволюционный способ добавления 64-битных вычислительных возможностей к существующей архитектуре x86, сохраняя при этом поддержку устаревшего 32-битного кода x86, в отличие от подхода Intel к созданию совершенно новой, полностью несовместимой с x86 64-битной архитектуры IA 64.

Конец жизни

В январе 2019 года Intel объявила о прекращении производства Kittson, с последней датой приёма заказов в январе 2020 года и последней датой отгрузки в июле 2021 года. В ноябре 2023 года поддержка IA-64 была удалена из ядра Linux.

Архитектура памяти

С 2002 по 2006 год процессоры Itanium 2 использовали общую иерархию кэш-памяти. Они имели 16 КБ кэша инструкций первого уровня и 16 КБ кэша данных первого уровня. Кэш L2 был объединенным (для инструкций и данных) и составлял 256 КБ. Кэш третьего уровня также был объединенным и варьировался в размере от 1,5 МБ до 24 МБ. Кэш L2 объемом 256 КБ содержал достаточную логику для выполнения семафорных операций, не прерывая работу основного арифметико-логического устройства (ALU). Доступ к основной памяти осуществлялся через шину к внешнему чипсету. Шина Itanium 2 первоначально называлась шиной McKinley, но теперь обычно именуется шиной Itanium. Скорость шины постоянно увеличивалась с выходом новых процессоров. Шина передавала 2 × 128 бит за такт, поэтому шина McKinley с частотой 200 МГц обеспечивала пропускную способность 6,4 ГБ/с, а шина Montecito с частотой 533 МГц – 17,056 ГБ/с.