Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Процессоры и Organizaciya_evm_i_stud.doc
Скачиваний:
4
Добавлен:
01.03.2025
Размер:
2.15 Mб
Скачать

2.11.3.Области применения 64-битного процессора

Прямая адресация памяти выше 4 Гбайт в настольном компьютере требуется редко, однако совершенствование приложений, работающих с 2D и 3D графикой, а также с видео, уже в течение ближайших лет позволят перешагнуть этот барьер. Пользователь офисных приложений ничего не выиграет при переходе на 64-бит системы.

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

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

Уточнение "для той же архитектуры" было сделано отнюдь не зря, поскольку если мы отталкиваемся от х86, то это будет справедливо только для Athlon 64 и Opteron от AMD. Остальные разработчики 64-бит систем пошли по совсем другому направлению, разрабатывая под 64-бит специальные архитектуры.

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