Архивы: по дате | по разделам | по авторам

Hewlett, Packard, Intel

Архив
автор : ГЕОРГИЙ КУЗНЕЦОВ    07.07.1997

Евгений Антонович,

Недавно на сайте компании Microdesign Resources (http://chipanalyst.com) появились кое-какие исследования о Merced. К сожалению, Игорь Гордиенко не успевает с ними справиться, и я подключаюсь в последний момент, чтобы сделать некий расширенный реферат. Этот текст мы уже не можем скоординировать с остальными материалами.

Искренне ваш - Г.К.

Статья Питера Кристи (Peter Christy) под названием "IA-64 и Merced - What and Why", это популярный и очень хорошо написанный обзор того, что просочилось к настоящему моменту за стены лабораторий. Кристи напоминает о контексте, в котором следует рассматривать этот проект. Вообще, он дает ровно столько и такой информации, сколько нужно нам, кто не участвует непосредственно в такого рода разработках.

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

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

Метод сверхдлинного командного слова (VLIW - Very Large Instruction Word), впервые реализованный более десяти лет назад, это, в данном случае, очередная доза слабительного. В процессорах образовались очень сложные блоки (по существу, интеллектуальные препроцессоры), которые пытаются выявить зависимость между командами и распараллелить их выполнение, насколько возможно. Идея в том, чтобы лишнее с кристалла выкинуть, а компилятор заставить строить нечто вроде сетевого графика выполнения программы и, в соответствии с ним, "упаковывать" независимые друг от друга команды так, чтобы процессор не задумываясь принимал их на параллельное выполнение.

Например, если первая команда складывает A и B, а вторая добавляет к результату C, то второй команде надо дождаться завершения первой. Если же первая команда складывает A и B, а вторая - C и D, то обе команды можно запускать на выполнение одновременно. Если речь идет о сложении двух многомерных векторов, то мы имеем дело с независимым суммированием членов двух последовательностей чисел. В этом случае программист компьютеров Cray выдаст одну векторную команду, которая будет непосредственно исполнена аппаратурой, принимающей и обрабатывающей до 128 чисел параллельно.

Что касается "обычного" программиста, то он напишет цикл, повторяющий одну и ту же операцию над каждой парой чисел. Обычный компьютер так и будет эту программу выполнять. Суперскалярный Pentium Pro может обнаружить параллелизм (он пытается предсказывать результаты команд перехода в пользу "зацикливания") и воспользоваться этим. А компилятор для процессора VLIW должен разобраться в такой ситуации и нарубить короткие циклы на циклически выполняемые "сверхдлинные слова". Команды, объединенные в такие слова, будут выполняться параллельно.

Нелепость суперскалярной архитектуры - объясняет Кристи - состоит вот в чем. Программист (а затем компилятор) знают много чего такого о программе, что могло бы сильно пригодиться при ее выполнении. Вся эта информация теряется, а потом процессор пытается разобраться в потоке команд и оптимизировать его "на лету". Между тем, заранее вмонтированные в программу явные "подсказки" помогли бы улучшить не только счет, но и использование кэш-памяти.

 
Ставки на Merced

Компания Hewlett-Packard (HP) планирует начать производство компьютеров новой архитектуры, в которых будут использованы новые 64-разрядные процессоры Merced, проектируемые совместно с Intel.

Как уже сообщалось, новый процессор будет выпущен на рынок в 1999 году. Первоначально он будет обладать рабочей скоростью 600 МГц. Уже к 2000 году планируется довести скорость до 1 ГГц. Предполагается, что производительность Merced 1 ГГц составит свыше 100 по известному тесту SPECfp95. Для сравнения, процессоры Pentium Pro могут продемонстрировать сейчас уровень производительности около 6,7. За то время, пока чип будут "разгонять" до 1 ГГц, Intel собирается отработать технологию до такой степени, что стоимость его производства снизится до 100 долларов. Это должно сделать Merced самым распространенным процессором в промышленных и бытовых устройствах. Помимо обычного ускорения тактовой частоты Merced должен исполнять до 8 команд одновременно. Процессоры Pentium Pro могут исполнять до 3 команд. Как сообщается, процессор сможет обрабатывать слова с очень длинными командами (VLIW - Very Long Instruction Word), в которые, по сути, будет включаться одновременно много команд. Предполагается, что Merced станут выпускать на основе той же физико-химической технологии, которая используется для выпуска процессоров P6. Merced обеспечит прозрачное исполнение всех программ, которые работают на процессорах x86. Для этого будет разработан эмулятор приложений, что само по себе не так просто. Ожидается, что Merced с эмулятором обеспечит производительность для приложений x86 большую, нежели сможет дать Willamette - последний из планируемых в настоящее время к выпуску 32-разрядных процессоров, который будет работать на тактовой частоте 400 МГц.

Основной чертой перехода от архитектуры IA-32, свойственной процессорам x86, к архитектуре, условно называемой IA-64, станет то, что микрокоманды процессора, которые управляют обработкой внешнего потока команд, традиционно резидентные, будут вынесены за пределы чипа. Для современных процессоров архитектуры IA-32 характерно то, что около половины рабочих мощностей процессора постоянно занято под задачи планирования процесса обработки потока команд.

Согласно объяснениям Тода Риса (Tod Reese), генерального менеджера HP по программным средствам для открытых систем, команды управления процессом будут поступать на специальный компилятор, оптимизированный код с которого пойдет прямо на Merced. Вынос микропрограмм планирования процесса позволит освободить множество обрабатывающих компонентов, входящих в общую структуру Merced, которые теперь смогут почти в два раза эффективнее обрабатывать поток внешних команд. Специалисты говорят, что по значимости вынесение из самого процессора средств управления процессом сравнимо с переходом от архитектуры CISC - к RISC.

Сообщается, что HP планирует к выпуску две основные линии компьютеров на процессорах Merced, которые будут запущены в производство в 1999 году. Первая линия предназначена для платформ Unix. В этих устройствах можно будет объединять до 256 чипов Merced, создавая таким образом суперкомпьютеры. Для их построения HP готовится выпускать собственный набор микросхем. Вторая линия будет ориентирована на платформы Windows NT - для массового рынка. Эти серверы смогут включать от 4 до 16 процессоров Merced. В них найдут применение наборы чипов Intel и других производителей.

По мнению HP, процессоры Merced станут широко применяться в рабочих станциях, персональных компьютерах, в прикладных устройствах типа сетевых компьютеров и мобильных коммуникаторов. Есть соображения в отношении того, что высокопроизводительные процессоры Merced, будучи примененными в компьютерах пользователей Internet, помогут снять нагрузку в узких местах Сети.

Когда HP подписала с Intel соглашение о совместной разработке процессора Merced и решила окончательно утвердиться на массовом рынке, ставки были сделаны на возможности масштабирования Windows NT и на обещания Microsoft, что система будет непрерывно эволюционировать вслед за процессорами. Масштабируемость Windows NT все еще не обеспечена, хотя Microsoft продолжает активно работать в этом направлении.

Таким образом, единственной универсальной операционной системой, работающей на 64-разрядных процессорах, является Unix. И даже если Microsoft успеет выпустить 64-разрядную версию Windows NT до появления на рынке чипов Merced, все равно будет ощущаться нехватка приложений. И когда Intel выпустит свой первый 64-разрядный чип, что запланировано на 1999 год, рынок будет на 90% заполнен 32-разрядными приложениями. А это означает, что системе HP-UX (клон Unix производства HP) еще предстоит долгая жизнь. Это, в свою очередь, означает, что у HP остается немало возможностей.

В связи интересом к процессору Merced, общее внимание привлекла последняя сделка компании Compaq Computer, в результате которой за 3 млрд. долларов была куплена компания Tandem Computers. После этого Compaq сразу же объявила о том, что станет первым поставщиком серверов на основе процессоров Merced. Compaq намерена обойти даже HP, самого близкого партнера Intel по разработке Merced. Купив Tandem, Compaq намного облегчит себе задачу завоевания рынка серверов, поскольку Tandem известна выпуском ограниченных партий высокоспециализированных серверов, известных как Himalaya.

Выпустив Merced, Intel намного усложнит жизнь компании Digital Equipment, которая концентрировалась и продолжает концентрироваться на своих самых быстрых в настоящее время массовых процессорах Alpha. Merced обеспечит выполнение кодов для процессоров архитектур IA-32 и IA-64 одновременно, что будет не очень просто воспроизвести конкурентам.

Как считает Джон Мейши (John Mashey), проектировавший в 1985 году первый коммерческий RISC-процессор MIPS R2000, архитектурные решения Merced весьма сложно классифицировать, соотнося их с RISC или CISC. Архитектура IA-64 процессора Merced, касаясь всех ее существенных деталей, разительно напоминает архитектуру нормального 64-разрядного RISC-процессора. Мейши считает, что у Merced будет масса проблем. Уже появились слухи о задержках в этапах плана выпуска процессора. Еще не выпущенный, он уже теряет клиентуру. Совершенно невозможно в настоящее время заменить чем-либо X86 в сфере настольных персональных компьютеров.

Игорь Гордиенко, редактор оперативной информации "Компьютерры"
[E-mail]

На что же разработчики процессора потратят освободившуюся площадь микросхемы? Например, процессор Pentium Pro может выполнять параллельно до трех команд, а Merced, как полагают, будет загребать до восьми. Cray, напомню, берет 128, так что расти еще есть куда. Другое направление - увеличение количества регистров, благодаря чему можно, например, свести к минимуму потери времени в случае неправильно предсказанного ветвления.

Питер Кристи полагает, что путь новому мышлению программистов проложит MMX. Несмотря на то, что официально оно предназначено для малтимидии, никто не мешает использовать эти команды параллельного программирования для любых других целей.

Раз внедрение VLIW, это просто-напросто операция по наведению порядка, то отчего же Merced вызывает такой интерес? А по причинам, с которых я начал эти заметки. Внедрение новой архитектуры, несовместимой со старыми программами, - это всегда отчаянно опасный трюк, и далеко не всем компьютерным фирмам сошло с рук такое обращение с пользователями и программистами. Тем не менее, совместная разработка с Hewlett-Packard позволяет Intel искоренить некоторые принципиальные недостатки своих традиционных процессоров и перейти, наконец, к заветным шестидесяти четырем разрядам.

По сведениям Кристи, новый процессор, помимо новой системы команд Intel IA-64, будет поддерживать и старую IA-32, равно как и унаследованную от HP систему PA-8000, причем он будет выполнять программы достаточно быстро, чтобы пользователям не приходилось жалеть об x86. Разработчики будут поставлены перед соблазном перекомпилировать свои продукты на IA-64 и еще больше ускорить их выполнение.

Впрочем, Кристи подозревает, что одной перекомпиляцией дело не обойдется. Постепенно программы будут все-таки переработаны и оптимизированы для VLIW. Все эти тактические ходы уже опробованы в последние годы самой HP, а также Apple, IBM, Motorola, Digital и другими, причем не всегда успешно. Да и сами Intel с Microsoft имеют немалый опыт борьбы за выживание программ на эволюционирующей аппаратуре - как позитивный, так и негативный.

Мы хотели бы обратить ваше внимание на еще один материал, размещенный на том же сайте - статью Linley Gwennap "First Merced Patent Surfaces". Он рассказывает о том, как в новом процессоре Intel (предположительно, это как раз и есть Merced) будет реализована совместная поддержка команд IA-32 и IA-64. Информация стала доступна публике благодаря тому, что, по словам автора, в некоторых неназванных странах тексты заявок на изобретения публикуются спустя 18 месяцев после их подачи (в США - только после выдачи патента). Таким путем и выплыла на свет одна интересная заявка корпорации Intel.

Чтобы подчеркнуть, насколько не новы все эти проблемы, упомяну лишь о том, что (по словам Gwennap) в заявке упоминается незабвенный компьютер DEC VAX-11, который умел выполнять как свои новые тридцатидвухразрядные, так и старые программы для 16-разрядных PDP-11. Однако, операционная система VAX должна была исполняться в новой среде, а прикладные программы - в старой или новой, но только в одной из них. В заявке Intel описывается метод, позволяющий перемешивать старые и новые коды как угодно и без перекомпиляции программ, причем (как минимум), без потери производительности! Впрочем, автор предупреждает - патент, это еще не процессор.

© ООО "Компьютерра-Онлайн", 1997-2022
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.