"Дмитрий Завалишин. О новых процессорах intel" - читать интересную книгу автора

С 13-го по 16-е Октября в Калифорнии проходит форум, посвященный микропроцессорам. Это - ежегодное событие, и
встречаются там все, кто занимается столь нужным миру делом. Именно там Интел с Хьюлетом колятся на тему архитектуры
своего 64-битного процессора, первое воплощение которого имеет кодовое имя "Merced" и обещано к 1999-му году. Колятся
"мало и плохо", как любит говорить моя Редакция, но уж что известно - то перескажу.

Итак, ключевой момент. Интел объявил о том, что отныне будут продвигаться две ветви архитектуры - IA-32 (от Пентюха и
далее, включая P-II и PPro) и IA-64 (Merced и далее). Первая (золотоносная жила Интела) ориентируется на нижнюю часть
рынка (на которой Интел всю жизнь деньги и делает), а 64 - на сервера и рабочие станции. То есть всем дано понять, что
рисковать деньгами ради продвижения 64-битности никто не станет, и на 32-битном рынке битва с клонмейкерами будет
продолжаться, сколь потребуется. Что это значит? Это значит, что Интел вынужден продвигать 64-битный процессор из-за
конкурентного давления (снижения цен) со стороны RISC-группы (DEC Aplha, MIPS, Sparc, etc..), и не может бросить
32-битный из-за риска (пардон за игру слов) сдать позиции конкурентам. Ко всему этому следует прибавить, что если Интел
выкупит у Digital часть прав на Alpha, позиция его на рынке будет весьма раскорячной. :-)

Про IA-64 сказано, мягко говоря, пока весьма немного. Известно, что у него будет 256 регистров - по 128 целочисленных и с
плавающей точкой. Известно, что он будет защищаться от потерь скорости на командах условного перехода путем
параллельного исполнения обоих ветвей кода до момента принятия решения - после чего результаты работы одной ветви
принимаются как рабочие, а второй - выкидываются. Еще одним механизмом, повышающим быстродействие, будет
предвыборка кода и данных из памяти. Процессор будет заранее прикидывать, к какому месту памяти ему придется
обратиться, и делать это загодя.

Новая архитектура масштабируема. Это означает, что будущие модели процессоров смогут исполнять большее количество
действий параллельно, оставаясь совместимыми с предыдущими. Думается, это, в частности, свойство было содрано у
Digital'а, что и послужило предметом ссоры. Вообще говоря, было бы интересно услышать комментарии DEC на тему
архитектуры IA-64. Уверен, им есть, что сказать на эту тему.

В имеющися материалах говорится также про "явный паралеллизм", но описано все настолько туманно, что я воздержусь от
комментариев, пока не увижу более приличного описания. Кстати сказать, www-сайт Интела стал лучше, с точки зрения
журналиста, но, увы, материалы для журналистов - на очень деревянном уровне. Чувствуешь себя буратиной. :-(


Еще кое-что про IA-64 (Merced). Наконец, обнаружилась некоторая ясность с его принципиальными
свойствами. Из выступления сотрудников Интела на форме стало известно вот что.

1.У процессора появится новое средство управления потоком исполнения инструкций - они называют
это "предикацией", если можно так перевести. Грубо говоря, каждой инструкции можно поставить в
соответствие флажок, который будет говорить процессору - нужно ее на самом деле исполнять,
или поглядеть на нее презрительно, плюнуть и дальше пойти. Флажков будет 64 штуки, так что
огромные куски кода теперь смогут обходиться без команд условного и безусловного перехода.
Поскольку команды перехода сильно выбивают процессор из колеи и снижают темп исполнения
инструкций, новые возможности позволят, при умном их использовании, наскрести изрядный запас
быстродействия.
2.Загружаемые из памяти данные будут снабжаться флажком, который отмечает, успешно ли оно
грузнулось. Исключительные ситуации (exceptions) по загрузке отменяются. Это позволит
компиляторам яростно перегруппировывать инструкции и выносить команды загрузки далеко
вперед, даже пересекая границы условных переходов. (Раньше это было невозможно из-за
опасности схлопотать по голове exception-ом не во время.) Поскольку именно обращения к памяти
сильно тормозят работу, если делать их загодя - всем будет веселее.
3.Процессор больше не будет страдать интеллектом, выясняя, какая последующая команда от какой
предыдущей зависит. Это будет явно (!!) указано в самих командах. Столь сильный ход позволил