`

СПЕЦИАЛЬНЫЕ
ПАРТНЕРЫ
ПРОЕКТА

Архив номеров

Что для вас является метрикой простоя серверной инфраструктуры?

Best CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Intel: прицел на следующее тысячелетие

+11
голос

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

Осознавая необходимость таких перемен, компании Intel и Hewlett-Packard объединили свои усилия для разработки новой архитектуры, получившей название Intel Architecture-64 (IA-64). В самом конце тысячелетия на сцену должен выйти процессор под кодовым названием Merced — первая реализация совместно разрабатываемой архитектуры. Это не 64-разрядное расширение архитектуры х86 и не адаптация архитектуры РА-RISC под платформу Intel, а нечто совершенно новое. Особенности будущей архитектуры очень удобно рассматривать путем сравнения их с хорошо знакомой всем архитектурой х86, поэтому давайте именно так и поступим.

Формат команд

В то время, как архитектура х86 применяет сложные команды разной длины, выполнение которых происходит за разное количество тактов, IA-64 использует команды одинаковой длины, собранные в группы по три, длина таких групп равна 128 бит. Подобная архитектура вообще-то имеет название LIW (Long Instruction Words) — длинные команды, однако в Intel считают, что термин себя изжил, по этой же причине в компании избегают называть отдельные команды RISC-подобными. Свою новую технологию разработчики Intel назвали Explicitly Parallel Instruction Computing (EPIC) — вычисления с явным параллельным выполнением команд, и вот почему: каждая 128-битная группа содержит состоящий из нескольких бит шаблон, помещаемый в код программы компилятором и явно указывающий процессору на то, какие команды следует выполнять параллельно (в настоящее время процессоры семейства х86 сами анализируют поток команд и выявляют те из них, которые можно выполнять параллельно).

Прогнозирование ветвлений

Современные процессоры семейства х86 используют прогнозирование ветвлений — если в программе встречается ветвление, они пытаются спрогнозировать, какое из условий ветвления будет истинно, и начинают выполнять соответствующую последовательность команд. Если в конце концов окажется, что ветвление было спрогнозировано неправильно, процессору приходится «откатываться» назад — по этой причине какая-то часть производительности теряется.

Создатели архитектуры IА-64 предлагают другой подход — выполнять сразу обе последовательности команд ветвления, и когда выяснится, какое из условий ветвления истинно, просто отбрасывать результаты «неправильной» последовательности. Задача обеспечения параллельного выполнения ветвления возлагается опять же на компилятор, который должен соответствующим образом расположить команды если компилятор по каким-то причинам этого не сделал или пришел к выводу, что подобный подход неэффективен, процессор IA-64 будет действовать точно так же, как обычный х86.

Главная задача при реализации описанного подхода — сэкономить тактов работы процессора больше, чем потерять. Специалисты считают, что достаточно «умные» компиляторы и суперскалярная архитектура IA-64 вполне позволяют решить эту задачу.

Загрузка данных

Процессоры х86 загружают данные из памяти только тогда, когда они понадобятся. А поскольку скорость загрузки данных (в том числе и из кэш-памяти) традиционно значительно ниже скорости работы процессора, последнему очень часто приходится простаивать. Создатели архитектуры IA-64 предлагают загружать данные из памяти (по-прежнему в первую очередь обращаясь к кэш-памяти) заранее, параллельно с выполнением других операций. Иными словами, команда загрузки данных помещается компилятором за несколько команд до того места, где эти данные понадобятся. Перед командой, непосредственно использующей данные, помещается команда проверки их целостности — если данные были загружены правильно, происходит дальнейшая их обработка, если же нет — генерируется исключительная ситуация, и работа приложения завершается (своего рода «аппаратный» аналог операторов исключительных ситуаций, реализуемых многими языками программирования, например, оператора try-except из версии языка Pascal, используемой пакетом Delphi).

Конечно, отличия архитектуры IA-64 от х86 гораздо глубже, однако ограничимся рассмотренными, тем более, что один важный вывод напрашивается уже прямо сейчас: полнота реализации возможностей архитектуры IA-64 во многом будет определяться «интеллектуальностью» компиляторов. Более того, для полного использования преимуществ каждого нового процессора все предназначенные для платформы IA-64 приложения надо будет всякий раз перекомпилировать. И уже одного этого может быть достаточно, чтобы переход с 32-разрядной на 64-разрядную архитектуру Intel занял гораздо больше времени, чем значительно менее болезненный переход с 16-разряд-ной на 32-разрядную архитектуру, начавшийся в 1985 г. и продолжающийся до сих пор.

Однако отношение Intel к процессору Merced в обоих стратегических планах несколько отлично от такового к предыдущим поколениям процессоров. На пути от 8-разрядной архитектуры к 32-разрядной своеобразным допингом к массовой миграции на процессоры следующих поколений было ненавязчивое предупреждение Intel о прекращении выпуска предыдущей версии. На этот раз, вопреки принятой традиции, компания собирается продолжать разработку линии IA-32. Это подтверждается не только официальными заявлениями. Оценим реальный ход событий, принимая за точку отсчета Pentium Pro, область применения которого — серверы, рабочие станции и высокоуровневые десктопы. Следующая модель, Pentium II, сохранив наиболее привлекательные особенности микроархитектуры предыдущего чипа, попадает в другую ценовую нишу, более приемлемую для массового потребителя. Deschutes, 0,25-микронная версия Pentium II, не только предоставит более высокую производительность, но и позволит Intel укрепиться в секторе мобильных компьютеров. Официальные лица прямо заявляют, что компания не собирается сворачивать работы над усовершенствованием архитектуры, микроархитектуры и технологии производства чипов семейства Р6, рассчитывая в итоге добиться увеличения производительности на 50%. Так что ситуация, которая сложится к началу следующего тысячелетия, не может расцениваться сегодня однозначно.

IA-64: ПРЕДСМЕРТНЫЕ КОНВУЛЬСИИ ИЛИ НОВАЯ ЭРА?

Конец второго тысячелетия от рождества Христова если и не будет концом света, как предсказывают современные пророки, то может стать роковым для компьютерной индустрии. И известная проблема 2000 года может оказаться просто детскими страхами по сравнению с возможным кризисом, который грозит разразиться в области разработок новых поколений микропроцессоров.

Вплоть до недавнего времени существовали два не-пересекающихся пути эволюции архитектуры микропроцессоров, каждый из которых являлся результатом реализации двух противоположных концепций вычислений — RISC (Reduced Instruction Set Computing — вычисления с сокращенным набором инструкций) и CISC (Complex Instruction Set Computing — вычисления с расширенным набором инструкций). Если отвлечься от деталей, то повышение быстродействия процессоров обоих типов достигалось за счет увеличения тактовой частоты и степени параллелизма выполнения программы Первое было возможно, в основном, благодаря уменьшению проектных норм. Второе реализовалось на аппаратном уровне за счет усложнения микроархитектуры (увеличение количества конвейеров и ступеней — суперска-лярность и суперконвейерность. введение 6локое предсказания переходов, «спекулятивное» выполнение команд и ряд других хитроумных решений). Кроме этого, в последнее время в разработке новых поколений CISC-процессоров начали использовать элементы RISC-архитектуры, и таким образом эти два направления стали сближаться. Появление процессоров Pentium Pro и Кб, имеющих RISC-подобную микроархитектуру ядра можно было расценивать как то, что чаша весов склоняется на сторону концепции RISC-вычислений. В связи с этим стали поговаривать о закате CISC-архитектуры.

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

Одним из первых признаков наступающего «процессорного апокалипсиса» может служить альянс Intel и HP, двух лидеров компьютерной индустрии, представляющих полярные архитектуры — CISC и RISC. Еще не успели забыться жаркие споры о том, какой архитектуре принадлежит будущее, а мы уже видим «в одной упряжке коня и трепетную лань». И причина не в том, что кто-то перешел в «другую веру», а в том, что каждый отказался от своей. Intel и HP объединились для разработки процессора с архитектурой, которая не наследует каких-либо особенностей ни одной из традиционных архитектур. Это недвусмысленно говорит о том, что обе компании предвидят быстрое достижение пределов возможного в эволюции этих архитектур. Новые возможности увеличения быстродействия процессоров разработчики по-прежнему видят в повышении степени параллелизма выполнения программы, однако не за счет сложных аппаратных решений, а за счет «высокоинтеллектуальных» компиляторов, которые будут поставлять процессору готовые блоки распараллеленных команд. Однако в этом решении существует немало подводных рифов. Если раньше пользователю для установки процессора следующего поколения нужно было, фигурально выражаясь, побеспокоиться лишь о том, где раздобыть отвертку, чтобы вскрыть корпус, то любая модификация архитектуры IA-64 потребует перекомпиляции всего программного обеспечения и соответствующей цепочки его тестирования либо придется обеспечивать какие-нибудь режимы эмуляции. Вполне очевидно, что подобная плата за повышение быстродействия является чрезмерной и вряд ли будет принята компьютерной индустрией. Возможно, существует другое решение этой проблемы, которое, ввиду своих скромных познаний, автор не видит. Однако ведь недаром Intel не собирается сворачивать исследования по разработке процессоров с традиционной архитектурой.

+11
голос

Напечатать Отправить другу

Читайте также

 
 
IDC
Реклама

  •  Home  •  Рынок  •  ИТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Сети  •  Безопасность  •  Наука  •  IoT