Послесловие
Автор: Роман Косячков
Опубликовано в журнале "Домашний компьютер" №3 от 17 февраля 2005 года.
Justification:
В этом номере мы подготовили «Советник» о замечательных мобильных устройствах,
известных у нас под названием КПК (Карманные Персональные Компьютеры), а в англоговорящих странах — PDA (Personal Digital Assistant1). И так как считается,
что две трети читателей начинают листать свежий журнал с его последних полос,
то, скорее всего, вы «Советник» уже прочитали. Или хотя бы просмотрели. Что дает
мне право поместить здесь своеобразное послесловие.
«HIARCS is much better positionally than Deep Blue».
12 мая 1997 года по присущим роду человеческому чувствам интеллектуального
превосходства и даже, чего скрывать, самодовольства был нанесен первый ощутимый
удар. Чемпион мира по шахматам Гарри Каспаров в ходе состоявшего в Нью-Йорке
турнира потерпел поражение от созданного специалистами3 IBM специализированного
шахматного компьютера Deep Blue. Окончательный счет матча — 2,5 на 3,5 очка.
Причем в решающей, последней партии, Deep Blue повел себя совершенно нетипично
для машинного интеллекта: он пожертвовал фигуру ради позиционного преимущества,
и благодаря этому всего за 19 ходов разгромил удивленного таким поворотом
событий Каспарова. Впрочем, шок от проигрыша чемпиона «железному ящику» довольно
быстро прошел: Deep Blue обозвали в прессе «компьютерным идиотом», способным
лишь на тупой перебор вариантов, и на том общественность успокоилась.
Отступление первое, для любознательных. В основе шахматного суперкомпьютера Deep
Blue — мультипроцессорная система IBM RS6000 SP, построенная из 32 узлов. Каждый
узел содержал по одному процессору IBM Power2 Super Chip, способному выполнять
до шести инструкций за такт, а также по две особые платы с восьмью
специализированными шахматными микросхемами на каждой (16 чипов на узел и, в
целом, 512 шахматных чипов на весь компьютер). Мощь Deep Blue потрясает до сих
пор: он умудрялся просчитывать по 200 миллионов шахматных ходов в секунду, а за
три минуты перебирал такое количество вариантов, что на аналогичную работу
человеку потребовалось бы 380 лет. Проект Deep Blue продолжался около 10 лет (с
1989 года по конец 90-х), и его бюджет исчислялся многими миллионами долларов…
24 января 2004 года по присущим роду человеческому… (ну, вы знаете) был нанесен
еще один удар, граничащий с откровенной издевкой. Международный гроссмейстер Ян
Густаффсон (Jan Gustaffson), входящий в число ведущих шахматистов мира, в ходе
интернет-турнира проиграл в трех партиях из четырех шахматной программе Palm
HIARCS версии 9.5a, работавшей на КПК Palm Zire 72 стоимостью $299. А саму
программу Palm HIARCS можно свободно приобрести за $39,64. Победив в турнире,
HIARCS получила шахматный рейтинг FIDE 2809 Elo. Что больше, чем у Густаффсона
(2616), и несколько больше, чем даже у Гарри Каспарова (2804). Но это событие, в
отличие от предыдущего, уже не вызвало широкого резонанса, его практически не
заметили.
Отступление второе, намекающее на главную тему. В основе «шахматного
суперкомпьютера» (Palm Zire 72 + Palm HIARCS 9.5a) — процессор Intel PXA270 c
тактовой частотой 312 МГц. На турнире с помощью широко известной утилиты PXA
Clocker КПК был разогнан до 520 МГц, что, вероятно, и позволило легко уложиться
в жесткие временные рамки. Ведь Ян Густаффсон и Palm HIARCS играли в реальном
времени. По правилам турнира у каждой стороны было всего по 30 минут и 10 секунд
на обдумывание ходов. Ничуть не умаляя достоинств потрясающей шахматной
программы HIARCS, существующей и для настольных платформ (РС и Mac), нельзя не
заметить, что без вычислительной мощи Palm Zire 72 такой результат оказался бы
недостижим. Но что мы знаем о процессорах для современных КПК, скромных героях
шахматных и многих прочих баталий? В отличие от настольных собратьев — почти
ничего…
А все началось еще четверть века назад, когда два Дэвида — Дитцел (David Ditzel)
и Паттерсон (David Patterson) опубликовали работу The Case for a Reduced
Instruction Set Computer4, содержащую принципы новой архитектуры процессоров на
основе RISC. Суть идеи Дитцела и Паттерсона в том, что они, ради достижения
наивысшей производительности, предложили отказаться от дальнейшего усложнения
процессоров (а именно это происходило с доминировавшими в то время
CISC-микросхемами5), и, напротив, упростить их, перенеся часть традиционно
реализуемых аппаратно функций на программное обеспечение. Зерно упало в
благодатную почву, особенно в области КПК и встроенных систем. Дело в том, что
КПК предъявляют к процессорам довольно жесткие требования. С одной стороны —
высокая производительность, с другой — низкое энергопотребление, с третьей —
малый размер кристалла, а с четвертой — низкая себестоимость. Всем этим
требованиям RISC удовлетворяет полностью, прежде всего, благодаря своей простоте
(относительно небольшому числу вентилей на кристалле) по сравнению с
процессорами традиционной архитектуры.
И сегодня на рынке процессоров для «карманников» господствуют так называемые
ARM-совместимые RISC-процессоры6, в числе которых Freescale (ранее Motorola) MXL,
Samsung (S3C2410, S3C2440А), TI OMAP (1510, 310, 311) и, конечно, Intel XScale
(PXA255, 26x и 27х). Причем последние, если вы внимательно изучили технические
характеристики КПК в «Советнике», применяются в подавляющем большинстве
высокопроизводительных моделей. Поэтому о них — несколько слов.
Intel XScale, 32-разрядные процессоры с системой команд, совместимой с ARM
версии 5, помимо RISС-ядра включают в себя разнообразные функциональные блоки:
от контроллеров памяти и LCD-дисплеев до USB, IrDA и Bluetooth. Более того,
PXA26x и 27х могут иметь в одном конструктиве с ядром и значительный объем
флэш-памяти. Например, наиболее востребованное на сегодняшний день семейство
процессоров PXA27х (кодовое имя Bulverde) с размером кристалла 14х14 мм и
тактовыми частотами 624, 520, 416 или 312 МГц несет на борту от 0 до 64 Мбайт
встроенной Intel StrataFlash. Подобно мобильным процессорам для ноутбуков,
PXA27х поддерживают оригинальную технологию Wireless Intel SpeedStep,
управляющую тактовой частотой, что позволяет заметно уменьшить энергопотребление.
Это связано с тем, что если на 150 МГц ядро процессоров XScale потребляет меньше
40 милливатт энергии, то на 600 МГц энергопотребление возрастает почти в 10 раз.
Поэтому в PXA27х предусмотрено несколько фиксированных значений частоты, на
которые они переключаются в зависимости от реальной нагрузки: 624, 520, 416,
312, 208, 156 и 104 МГц. Но это еще не все. В процессорах реализованы и две
другие интересные технологии: Intel Wireless MMX и Intel Quick Capture. Первая
призвана увеличить производительность мультимедийных приложений, что, кстати,
вполне подтверждается практикой: Palm Tungsten T5 (PXA270, 416 МГц) в
проигрывании видео на треть быстрее своего предшественника Palm Tungsten T3
(PXA255, 400 МГц ) при приблизительном равенстве тактовых частот. А вторая
технология (Quick Capture) дает возможность реализовать на КПК видеоконференции
в реальном режиме времени и делать фотографии разрешением до 2048х1536 точек.
Разумеется, при соответствующей аппаратной и программной поддержке. Так что
возможности PXA27x позволяют максимально приблизить производительность8 и
функциональность КПК к «большим» системам. И потому успех HIARCS и Palm Zire 72
вполне объясним.
Такое вот получилось процессорно-шахматное послесловие к сегодняшнему «Советнику».
И точку ставить пока рано. Ведь совершенно не исключено, что через несколько лет
очередной международный гроссмейстер (а то и чемпион мира) проиграет матч уже не
суперкомпьютеру, и даже не КПК, а обычному… сотовому телефону. Поспорим?
1 Персональный цифровой помощник.
2 «Программа HIARCS в анализе позиций много лучше Deep Blue». Гарри Каспаров.
3 Вот имена тех людей из команды IBM, что внесли наибольший вклад в создание
Deep Blue: главный конструктор и вдохновитель — Фенг-Синг Су (Feng-Hsiung Hsu),
инженеры и математики — Джерри Броуди (Jerry Brody), Мюррей Кэмпбелл (Murray
Campbell), Джо Хоан (Joe Hoane), Чанг-Джен Тан (Chung-Jen Tan), а также
американский гроссмейстер Джоэл Бенджамин (Joel Benjamin).
4 В переводе с английского что-то вроде «Доводы в пользу компьютеров с
сокращенным набором команд».
5 CISC (Complex Instruction Set Computer) — компьютер с комплексным набором
команд. CISC-процессорами были все ранние процессоры для PC, например, Intel
8086 или 80286.
6 ARM — Advanced RISC Machines, фирма-разработчик процессорной RISC-архитектуры,
названной ее именем.
8 При равенстве тактовых частот производительность Intel XScale на целочисленных
операциях приблизительно соответствует процессорам Intel Pentium первого
поколения.