Intel 64

Компания предпочла, если можно так выразиться, совершить бархатную революцию, оставив на некоторое время развиваться свою линейку 32-бит процессоров, и, параллельно, начав выводить на рынок 64-бит семейство. Шаг, сделанный Intel впервые: переход с 16 на 32 бит был сделан абсолютно дискретно - i386 полностью заменил собой i286, волевым решением, если можно так выразиться.

Процессор разрабатывался с нуля, причем, параллельно сразу в двух версиях: инженерами Intel и Hewlett-Packard. Впрочем, в основе обоих чипов лежали, естественно, одни и те же идеи, поскольку создавались они все же совместно, и должны были оба стать родоначальниками одного и того же семейства. Цементирующим составом были, естественно, единая идеология, пришедшая на смену CISC - EPIC (Explicitly Parallel Instruction Computing), и новая архитектура - IA-64, включающая в себя набор инструкций, описание регистров, и прочие подобные вещи. Впрочем, архитектура как раз - вещь изменчивая, достаточно вспомнить как отличаются между собой такие CISC процессоры, как 8086 и i486, оба созданные на базе x86.

Точно так же и с Merced и McKinley, Itanium и Itanium 2 - оба построены на базе одной идеологии, но разных разновидностях архитектуры. В свое время та же история, в общем то, была и с Pentium и Pentium Pro. Впрочем, общие черты были и у тех, есть и у этих, за это "отвечает" EPIC. В первую очередь речь идет о полноценной масштабной суперскалярности, то есть, способности выполнять одновременно несколько инструкций. Для чего, естественно, процессор содержит исполнительных модулей - для операций с целыми числами, с числами с плавающей запятой, и т.д.

В отличие от Pentium и его последователей, разбирающихся в коде самостоятельно, EPIC-процессоры сильно полагаются на компилятор, который должен сам проанализировать код на предмет нахождения оптимальных мест для распараллеливания его выполнения, и снабдить процессор этой информацией. Потому и "explicitly". Очень удобная штука: процессор не должен сам пытаться понять, что можно исполнять параллельно, а что нет, и т.д. - все это ему уже заранее объяснит компилятор. Плюс, мощные механизмы по предсказанию переходов, предварительному выполнению кусков кода, предварительной загрузке данных, и тому подобные вещи - загрузка исполнительных блоков должна быть распределена максимально равномерно.

Кардинально решен вопрос с регистрами, количество которых увеличено в несколько раз: у Itanium их количество составляет 128 общего назначения, 128 - для хранения чисел с плавающей запятой, 8 регистров переходов, и 64, отвечающих за работу механизмов предсказания. Здесь все очевидно - такого количества регистров, да еще реально 64-битных, хватит для хранения любых требуемых чисел для любого разумного количество исполнительных модулей. Каковых у Itanium, первого представителя семейства, всего пять - два целочисленных, два для операций с памятью, (итого - 4 ALU инструкции за такт), и четыре - для операций с плавающей точкой. Физическая память адресуется 44-бит числами, что на самом деле ограничивает ее объем "всего лишь" 17.6 Терабайт, блоки для операций с плавающей точкой работают с числами в 82-бит представлении.


От идеи реализовать 32-бит x86 ядро в аппаратном виде Intel отказался, сочтя это слишком неэффективным использованием площади кристалла, так что для того, чтобы получить возможность исполнения Itanium старого доброго х86 кода, пришлось создать систему трансляции, которая на лету преобразует x86 код в IA-64. Очевидно, что при прочих равных, производительность подобного решения будет ниже, чем чистого x86, работающего на той же частоте. Впрочем, никто и не ждет от Itanium скоростного исполнения x86 программ - поддержка этой архитектуры относится скорее к издержкам переходного периода. Тем не менее, факт остается фактом: это семейство для решения 32-бит задач не приспособлено. Впрочем, вряд ли кто-то будет покупать Itanium для подобных целей.

Вдобавок, сам по себе Itanium был в значительной степени пилотным проектом, как и Pentium Pro, так что процессор вообще стоит рассматривать больше как демонстрацию возможностей архитектуры, чем реальный коммерческий продукт. Характерный штрих - чипсет для Itanium, 460GX, поддерживает в качестве памяти всего лишь PC100 SDRAM, это кое-что говорит о скорости, с которой способен переваривать данные процессор. С другой стороны, однако, в какой-то мере не слишком быстрый интерфейс с оперативной памятью компенсируется очень большим кэшем - 2 или 4 Мбайт L3, работающими на полной частоте процессора (733 или 800 МГц), с пропускной способностью до 12.8 Гбайт/с.

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

Itanium 2 является уже куда более коммерчески интересным продуктом. Созданный командой инженеров Hewlett-Packard, набившей руку на создании 64-бит процессоров серии PA-RISC, чип получился куда более совершенным. С несколько меньшим количеством кэша L3 (1.5 или 3 Мбайт), и несколько более высокой частотой, 900 МГц или 1 ГГц, он обеспечивает в полтора-два раза большую производительность на тех же задачах, что и Itanium. И является, фактически, первым коммерческим представителем архитектуры IA-64. Дальше планы у Intel уже расписаны совершенно четко, и в ближайшие несколько лет особых революций не предвидится - только за счет совершенствования техпроцесса.


Дальше планируется еще большее распараллеливание максимально модным на сегодняшний день путем: процессор должен будет перейти на два физических ядра, что позволит практически удвоить производительность по достаточно приемлемой цене - по крайней мере, результат получится куда более дешевым, чем если бы того же количества исполнительных модулей, регистров, и т.д., пытались достичь на едином кристалле.

Технология же Yamhill, полумифический ответ Intel на AMD x86-64, то есть, 64-бит надстройка для 32-бит процессоров, несмотря на все слухи, так и остается чем-то неопределенным. Можно не сомневаться, что подобные наработки у Intel действительно имеются, но линейка Pentium 4 - Xeon - Itanium на сегодняшний день настолько плотно закрывает все возможные спектры применений, что добавлять телеге пятое колесо просто-напросто нет никакой необходимости.

Стр.1 - Введение

Стр.3 - AMD 64

Стр.4 - IBM, Sun, и Compaq






Hosted by uCoz