Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Архитектура Intel 64




Компания предпочла, если можно так выразиться, совершить бархатную революцию. Продолжая развивать свою линейку 32-бит процессоров, она начала параллельно выводить на рынок 64-бит семейство. В отличие от этого, переход с 16 на 32 бит был сделан абсолютно дискретно - 80386 полностью заменил собой 80286, волевым решением.

Процессор разрабатывался с нуля, причем параллельно сразу в двух версиях: инженерами Intel и Hewlett-Packard. Впрочем, в основе обоих чипов лежали, естественно, одни и те же идеи, поскольку создавались они все же совместно и должны были оба стать родоначальниками одного и того же семейства. Цементирующими факторами были:

· единая идеология, пришедшая на смену CISC - EPIC (Explicitly Parallel Instruction Computing - вычисления с явными параллельными инструкциями);

· новая архитектура IA-64, включающая в себя набор инструкций, описание регистров и остальные элементы архитектуры. Впрочем, архитектура как раз - вещь изменчивая, достаточно вспомнить, как отличаются между собой такие CISC процессоры, как 8086 и 80486, оба созданные на базе х86.

 

Точно так же с 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-бит х86 ядро в аппаратном виде Intel отказалась, сочтя это слишком неэффективным использованием площади кристалла, так что для того чтобы получить возможность исполнения Itanium старого х86 кода, пришлось создать систему трансляции, которая «на лету» преобразует х86 код в IA-64. Очевидно, что при прочих равных условиях производительность подобного решения будет ниже, чем у чистого х86, работающего на той же частоте. Не следует ожидать от Itanium скоростного исполнения х86 программ - поддержка этой архитектуры относится скорее к издержкам переходного периода. Это семейство для решения 32-бит задач не приспособлено, вряд ли следует использовать Itanium для подобных целей.

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

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

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

Архитектура AMD 64

У AMD же подход полностью противоположный. Компания считает, что сейчас не время и не место для революций, а плавность эволюционного развития х86 со времен 8086 до Pentium 4 и Athlon XP, не должна прерываться. Исходя из этого и формулировалась сама идеология создания процессора AMD следующего поколения - К8. Необходимость 64-битности уже тогда прослеживалась абсолютно явно, да и Intel уже во всеуслышание заявила о разработке IA-64, так что вопрос - быть 64-бит или не быть, на повестке дня для компании просто не стоял.

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

В первую очередь здесь идет речь об увеличении разрядности восьми регистров общего назначения до 64-бит. Этого очень мало для сегодняшних процессоров, даже если мы учтем наличие еще восьми регистров для операций с плавающей точкой и восьми регистров для SIMD-операций. В любом случае это несравнимо с количеством регистров у процессоров действительно нового поколения - у того же Itanium, что и обеспечивает ему новый уровень производительности. Мы привыкли во многом оценивать процессоры по разнице в объеме кэш - а ведь разница в количестве регистров не менее важна, поскольку они играют роль своеобразного пред-кэш.

Разработчикам микропроцессоров давно известны некоторые из путей решения проблемы. Например, у того же Pentium 4 действительно восемь 32-бит регистров общего назначения - тех, что видит исполняемый код. За их же фоном в глубинах процессора скрываются еще 120, которыми процессор может управлять, в нужный момент представляя любой из них под псевдонимом одного из базовой восьмерки.

AMD предпочла более очевидный для компилятора путь, вдвое увеличив количество видимых ему регистров - в 64-бит режиме К8 имеет шестнадцать 64-бит регистров общего назначения. Количество регистров для операций с плавающей точкой осталось прежним - восемь, поскольку не на х87 при операциях с плавающей точкой здесь возлагается основная надежда, а на SIMD-операции, потому и количество SIMD-регистров также удвоено - тоже до шестнадцати.

Дальше все зависит лишь от того режима, в котором работает процессор. Есть режим обратной совместимости, где К8 работает как обычный 32-бит процессор, не используя ничего из своих новых возможностей, кроме тех, что относятся к простому увеличению производительности процессора. Есть так называемый "long mode", который, в свою очередь, состоит из двух подрежимов: "64-bit mode" и "compatibility mode". Обязательно требуется наличие 64-бит OS, способной исполнять оба вида кода, как 64-бит, так и обычный х86. Естественно, что в последнем случае программа не будет иметь доступа к памяти выше 4 Гбайт, полному объему регистров, дополнительным регистрам и т.д. В общем, в свое время Windows 95 примерно так же относилась к 16-бит и 32-бит программам.

По умолчанию регистры установлены в 32-бит режим, поскольку даже 64-бит программа не пользуется только 64-бит числами. Скорее, она даже не столько пользуется ими, сколько старыми 32-бит числами - выделять под их хранение 64-бит регистры - напрасная трата ресурсов. Если же программе потребовалась именно операция с 64-бит регистрами, она должна использовать специальный префикс при обращении к ним, длиной в один байт. Это невыгодно, поскольку таких обращений в программе может быть достаточно много. Впрочем, AMD полагает, что вряд ли увеличение объема одного и того же кода при переходе с х86 на х86-64 составит более десяти процентов.

Зато, с другой стороны, 32-бит программы во всех режимах обратной совместимости попросту не заметят, что исполняются на 64-бит процессоре, пользуясь всеми преимуществами новых технологий, вроде встроенного в процессор северного моста и т.д. Для подавляющего большинства всех основных программ на платформах PC, рабочих станций и Low-End серверов в ближайшие несколько лет должно хватить 32 бит. Исходя из этого у Athlon 64 и Opteron перед Itanium несомненное преимущество - они не предлагают ненужных решений за лишние деньги. Понадобятся 64-бит - пожалуйста, нет – значит будем выполнять 32-бит приложения в родном режиме, не используя медленную эмуляцию.

Вопрос в том и заключается - есть ли вообще надобность в подобных процессорах, умеющих исполнять стандартный 32-бит код, но, в случае необходимости, пользоваться и преимуществами 64-бит вычислений и доступа к памяти выше 4 Гбайт.

Судя по словам разработчиков, одна только возможность доступа к увеличившемуся набору регистров (те самые дополнительные восемь и восемь) позволяет поднять скорость выполнения переписанного кода на десятки процентов. Добавим увеличившуюся производительность самого процессора за счет чисто технических нововведений при практически не увеличившейся стоимости (в отличие от Itanium), и получим отличный продукт для своей ниши.

Первый представитель ядра К8 - Opteron, серверный процессор для одно-, двух- и четырехпроцессорных конфигураций, с перспективой выхода на 8-процессорные платформы. Его облегченным вариант - Athlon 64 - создан с расчетом на разработку 64-бит приложений для PC (включая операционную систему – Windows 64 от Microsoft).

IBM, Sun и Compaq

Есть 64-бит процессоры, у которых вопрос поддержки на уровне ОС и софта просто-напросто не стоит. Это ветераны серверных платформ - RISC процессоры IBM, Sun и Compaq.

Линейки IBM PowerPC, в своих серверных воплощениях известные, как Power4/Power4+, являются на сегодняшний день, пожалуй, наиболее реальными соперниками Itanium 2. В свое время это были первые 0.13 мкм 64-бит процессоры на рынке, с тех пор IBM неустанно работала над их техническими параметрами, и сегодня имеется относительно недорогой процессор с двумя физическими ядрами, 1.4 -1.5 Мбайт кэш L2 и встроенным северным мостом. Процессор использует экзотический подход, комбинируя до пяти инструкций в группу, затем обращаясь с ней как с единым неделимым целым. С одной стороны - упрощает работу, с другой стороны - если что-то произошло, то придется делать откат на уровне всей группы. На возможности параллельного исполнения инструкций такое ограничение сказывается не самым лучшим образом, лишая процедуру гибкости.

Нельзя не отметить еще одного из последних представителей семейства PowerPC - 64-бит PowerPC 970, нацеленного на совершенно другой сегмент. Это процессор для компьютеров класса PowerMac, представляющий собой урезанный вариант Power4, дополненный к тому же SIMD-набором инструкций Altivec от Motorola. Почти идеальный вариант для замены PowerPC G4 и G4+, к тому же, очень экономичный и с потенциалом роста тактовой частоты выше 2 ГГц.

Sun в последнее время страдает от сокращающейся рыночной доли на рынке серверов и, соответственно, серверных процессоров. Компания слишком затянула с процессом развития своих продуктовых линеек, и ее сегодняшний UltraSPARC III по производительности выглядит довольно невыразительно относительно конкурентов. UltraSPARC IV фактически является всего лишь 0.13 мкм вариантом UltraSPARC III. Чего-то действительно нового можно ждать лишь от UltraSPARC V.

Вопрос с внедрением конкретной 64-бит архитектуры, однако, заключается не столько в чисто технических возможностях процессоров, сколько в доступных ресурсах, финансовой и системной поддержке. Как в этом плане, так и с точки зрения чисто технологического потенциала, на окончательную победу в верхнем эшелоне просто обречены Itanium и Power4+. Судьба же Athlon 64 и Opteron выглядит не совсем ясной - все зависит от того, насколько они смогут использовать свой 64-бит потенциал, для чего им потребуются 64-бит операционные системы и приложения для массовых пользователей.






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных