Процессоры

Масса всего интересного происходит и в этой области. Представитель Intel в своем выступлении на Microprocessor Forum приоткрыл завесу тайны над их новым 64 разрядном процессором. Прежде чем начать говорить об улучшениях и нововведениях которые мы увидим в этом процессоре, хочу отметить что этот CPU по всей видимости никоим образом не будет ориентирован на нас т.е. на тех что ИГРАЕТ. И выпуск 64 разрядного процессора ни коим образом не означает замену 32х разрядной серии. Наоборот, Intel будет продолжать расширение и улучшение своих основных разработок в этом направлении (речь идет о Pentium Pro и Pentium 2) делая их более доступными и нацеленными на ежедневное использование средним покупателем, т.е. такими как вы и я.

Следующее поколение Pentium 2 (под кодовым названием Deschutes) будет ориентирован на все те же рынки сбыта и при этом будет быстрее чем текущее поколение Pentium 2. В течение ближайших нескольких лет мы увидим много нового: появление AGP с 4х кратной скоростью, который будет работать на 266Mhz, в отличие от сегодняшних 133, MMX2 – технология которая увеличит скорость расчетов в области чисел с плавающей точкой (это то что активно используется при расчете 3D графики) и долгожданная 100-мегагерцовая шина. Эти системы будут чрезвычайно производительными и Intel и в мыслях не имеет эту многообещающую архитектуру. Новые поколения Pentium 2 продолжат гонку частот, размера и степени интеграции кэш-памяти, размера транзисторов и улучшения интеграции и компоновки.

Но это не означает что нет смысла интересоваться новыми 64-битными технологиями. Первый кристалл от Intel, базирующийся этой современной архитектуре (IA-64), сейчас носит кодовое название Merced. Не смотря на полную совместимость с текущим набором инструкций x86 (тем набором который мы сейчас собственно и используем) Merced и все его потомки будут подгонять разработчиков к написанию уже 64 разрядного кода. Почему? Потому что если вы хотите использовать всю полноту возможностей предоставляемых Merced и его собратьями вам придется использовать специальные компиляторы. А это произойдет уже потому что в вопросе оптимизации исполнения команд новые процессоры претерпели значительные изменения.

В обычной ситуации, программист пишет код на языке высокого уровня, который затем оптимизируется путем преобразования в низкоуровневый машинный код. Обычно компилятор пытается внести дополнительные улучшения при помощи использования различных оптимизационных технологий, одной из которых является попытка использования такой возможности процессора, как параллельная обработка инструкций. Звучит неплохо, но проблема состоит в том, что процессор так же пытается решать ту же самую задачу, что естественно приводит к пустой трате времени на реорганизацию того, что уже было оптимизировано компилятором. Вот по этой причине Intel (совместно с Hewlett Packard) пришел к выводу что пожалуй компилятор мог бы делать эту работу самостоятельно, а главное из-за большего количества располагаемых ресурсов – более качественно. А раз так, то имеет смысл сосредоточить дальнейшие усилия на том что бы позволить компилятору точно указывать как именно процессору следует обрабатывать каждую инструкцию. Это позволит добиться большей степени паралеллизации, и как следствие повышения производительности.

Из-за огромного значения этой особенности присущей процессорам нового поколения, Intel счел необходимым назвать ее собственным именем – EPIC (Explicity Parallel Instruction Computing)

Для дальнейшего ускорения и паралеллизации процессов будет иметь 128 регистров общего назначения и 128 регистров чисел с плавающей точкой. Это огромный скачок по сравнению с тем что мы сейчас имеем в текущем поколении x86. Это позволит увеличить степень параллелезации путем использования компилятором большего количества регистров.

Другим значительным улучшением будет система предсказания ветвлений. Для людей не знакомых с программированием поясню… Процессор принимает решения на основании полученной им информации (например “больше ли 4 чем 3”). Если результатом решения будет результат “правда” то процессор исполнит некий блок кода, а если нет, то произойдет переход к другому участку. Проблема состоит в том что современные процессоры пытаются предугадывать какой блок будет исполнен следующим и заранее его обрабатывает, с тем что бы когда до него дойдет очередь, уже все было готово. Но если предположение было сделано не верно то процессор оказывается в “замешательстве”. Он вынужден возвращаться назад и исполнять другой блок. Что естественно приводит к общему замедлению процесса. Так что же можно сделать?
Ответ оказался столь тривиальным что о нем подумали в самую последнюю очередь. Почему бы просто не готовить оба варианта, а потом использовать тот который понадобиться? Как выяснилось это и звучит неплохо, и работает. Конечно система предсказаний работает гораздо сложнее чем я здесь описал, но основная идея, все же, сводится к этому.

И наконец последнее принципиальное новшество – это простота усовершенствования системы. IA-64 построен таким образом что функциональные элементы имеют возможность расширятся. Это означает что очень высокая производительность системы может быть достигнута путем простого добавления процессорных элементов. И поскольку Intel позиционирует новый процессор прежде всего на рынок рабочих станций и серверов, им просто необходимо иметь гибкую возможность создавать многоуровневую схему платформ различной цены и производительности.

Пока Intel движется вперед, другие производители X86 тоже не прохлаждаются. Воспользовавшись тем что Intel отказался от стандартного процессорного слота Socket7 (это то, куда на материнской плате вставляется процессор), AMD и Cyrix собираются полностью использовать его возможности. Хотя странно что они при этом собираются следовать своим планам нацеленным на интеграцию 3D технологий в процессорное ядро.

В своей следующей версии 6x86MX Cyrix собирается поддерживать AGP и шину на частоте 100Mhz. Вместе с тем они объявили следующем поколении своих CPU, значащимся под кодовым названием Cayenne. Новый процессор должен исправить самую большую ошибку Cyrix – работу блока FPU. Теперь с применением двух блоков MMX, процессор должен обрабатывать до 4 инструкций FPU за один такт. Cayenne похоже будет идеальным решением для программ интенсивно работающих с 3D. Если вы спросите мое мнение, то я бы с удовольствием поменял свой процессор на Cayenne, продавайся он сейчас. Помимо прочего он будет содержать 64K-байтный кэш первого уровня, полноценную поддержку MMX и использовать .25микронную, 5-ти слойную подложку. Он должен появится во второй половине 1998, и его скорость будет находиться в диапазоне от PR300 до PR400.

Примерно в это же время Cyrix представит другую ветвь своих CPU под названием MXi. Это будет процессор объединяющий все в одном. Видео, DVD, 3D звук. Естественно акселерация 3D графики, где скорость ожидается в районе 120Mps и 2Mts. Что весьма не плохо по сегодняшним стандартам. Естественно поддержка OpenGL и Direct3D. Все звучит очень заманчиво, но кто знает что мы увидим в 1998, как со стороны Cyrix, так и со стороны других разработчиков. В любом случае MXi станет недорогой и качественной платформой с которой нельзя будет не считаться.

AMD скорее всего предложит две новых разработки рассчитанных на использование Socket7. И предложит их примерно в одно и то же время. Два чипа под названием K6 3D, и K6+ 3D должны быть исключительно производительными. Особенно учитывая что K6 практически достигает производительности Pentium 2. Новые процессоры будут иметь собственную версию набора инструкций MMX, часть из которых будет обрабатывать расчеты связанные с 3D. Кроме того эти инструкции будут позволять производить декодирование MPEG2 и AC3.

Разумеется AMD будет поддерживать шину 100Mhz, собственно они и были одной из главных движущих сил этой технологии. И вот в результате первые 100 мегагерцовые материнские платы должны появиться уже очень скоро, так же как и поддержка AGP и ускоренной работы с кэш памятью второго уровня. Частота работы процессор достигнет 300Mhz и будет продолжать расти. AMD не будет выпускать процессор с частотой более 500MHz, до выхода их Socket1-ориентированного процессора K7, это событие ожидается в ’99 году.

(c) OGR writen by Jonathan Greenberg
Перевод 3ABXO3a