Принтеры Dell 1710/n
монохромная лазерная печатьскорость до 27 стр./мин.
разрешение 1200 dpi
интерфейс USB 2.0 (плюс 10/100 Base-T Ethernet для варианта 1710n)
максимальная загрузка до 15 тысяч листов в месяц
366-МГц процессор
800-страничная вместимость (с опциональным 550-страничным лотком)
габариты 140x148x243 мм
Принтеры начального уровня от Dell примечательны небольшим размером и низкой ценой в сочетании со сравнительно высокой производительностью. В стандартной комплектации идет картридж на 3 тысячи страниц, а картридж на 6 тысяч страниц предлагается в качестве опции. Предназначены новинки для малых рабочих групп либо для индивидуального использования (модель 1710). К обеим модификациям можно за сотню долларов докупить адаптер Wi-Fi Dell 3300, после чего они превратятся в беспроводные сетевые принтеры. Интересная деталь: принтеры отвечают ограничению Евросоюза на использование опасных для здоровья материалов и содержат менее 0,1 весового процента свинца. Модель с суффиксом n отличается встроенной сетевой картой 10/100 Base-T Ethernet. Новинки в скором времени должны появиться на российском рынке, по рекомендованной цене 200/300 долларов.
Ноутбук Toshiba Tecra S
процессор Pentium M 740—780 (1,73—2,26 ГГц, 533-МГц FSB, 2 Мбайт кэша L2)чипсет Intel 915PM
15-дюймовый экран с разрешением 1024x768 (либо 1400x1050)
графический адаптер nVidia GeForce Go 6600 с 64 (либо 128) Мбайт видеопамяти
жесткий диск объемом 40—100 Гбайт (5400 об./мин.)
256 Мбайт (до 2 Гбайт) памяти DDR2 533 МГц
оптический привод Ultra SlimBay (комбинированный или DVD-SuperMulti с поддержкой двухслойных носителей)
адаптер 802.11b/g либо 802.11a/b/g, модуль Bluetooth 2.0 (опция)
габариты 333x275x38 мм
вес 2,86 кг
цена от $1600
Акцент в продвижении этого ноутбука Toshiba делает на расширенных функциях безопасности. В Tecra S реализована фирменная технология EasyGuard — аппаратно-программный комплекс для обеспечения защиты и физической сохранности данных, простоты подключения и оптимизации работы. Защитой ведают TPM (Trusted Platform Module), считыватель отпечатков пальцев и дополнение под названием HDLock — USB-ключ A-Key, который в комбинации с личным паролем позволяет шифровать данные жесткого диска и делать их недоступными при отсутствии ключа и незнании пароля. Позаботилась Toshiba и о физической сохранности ноутбука, применив специальные амортизационные материалы, оберегающие дисплей и винчестер. Кроме того, при малейшем подозрении на опасность (падение, удар или вибрация) защитный блок, снабженный 3D-акселерометром, принудительно паркует головки жесткого диска.
Видеокамера JVC Everio GZ-MG70
1/3,6” ПЗС-матрица, 2,12 мегапиксела2,5” ЖК-экран с разрешением 115 кп
объектив с 10-кратным зумом и апертурой F1,8—2,2
встроенный жесткий диск объемом 30 Гбайт
время работы от батареи 50/25 мин. (экран выкл./вкл.)
размеры 109x71x70 мм, вес 450 г
цена 1100 евро
Очередной новобранец в линейке видеокамер с жестким диском использует при съемке видео (16:9 либо 4:3) лишь часть своего сенсора (максимум 1,2 Мп), а вот при фотографировании задействует его целиком (1,92 млн. эффективных пикселов). Оптическая стабилизация изображения не предусмотрена, есть только цифровая. Преимущество жесткого диска перед, например, DVD-дисками, конечно же, в большом объеме. Так, на 30-Гбайт винчестер войдет до семи часов в режиме Ultra (9 Мбит/c), до десяти в режиме Fine (6 Мбит/c), до четырнадцати в Norm (4,5 Мбит/с) и до тридцати семи часов в режиме Eco (1,7 Мбит/с) — первые два в формате 720x280, последние в 352x240. Жесткий диск защищен от вибрации (помогают особые полимерные амортизаторы) и ударов (используется детектор падения, как в ноутбуках). На компьютер данные передаются через USB-порт, а разъем SD можно использовать для сохранения и переноса фотографий. В комплект входит ПО для редактирования видео (PowerDirector Express) и плейер PowerDVD.
Камера Sony CyberShot N1
8-Мп 1/1,8-дюймовый ПЗС-сенсор Super HADобъектив Carl Zeiss Vario Tessar с 3-кратным зумом (38-114 мм в 35-мм эквиваленте), F2,8—5,4
светочувствительность ISO 64—800
3-дюймовый сенсорный ЖК-экран с разрешением 230 кп
видео 640x480@30 со звуком (MPEG VX)
26 Мбайт встроенной памяти
внешние носители MS Duo и MS Pro Duo
до 270 снимков без подзарядки батареи
габариты 94x60x20 мм
вес 139 г
цена около $500
Новая компакт-камера примечательна не только высоким разрешением матрицы, но и 3-дюймовым экраном, который к тому же обладает сенсорными возможностями. Производитель предлагает использовать это богатство не просто для съемок, но и для хранения и просмотра снимков. N1 позволяет хранить до пятисот фотографий в низком разрешении (VGA) и демонстрировать их под музыкальный аккомпанемент (у камеры есть встроенный динамик). Fine-режим видеосъемки возможен только при использовании карты Pro Duo. При пакетной съемке камера позволяет делать до четырех снимков с максимальным разрешением со скоростью 0,9 кадра в секунду.
Камера Olympus SP 700
6-Мп 1/2,5-дюймовый ПЗС-сенсороптика: 3-кратный зум (38—114 мм, в 35-мм эквиваленте), F3,3—4,0
цифровой стабилизатор для видеосъемки
светочувствительность ISO 64—400
скорость срабатывания затвора от 4 до 1/2000 c
3-дюймовый ЖК-экран с разрешением 230 тысяч пикселов
внешние носители xD-Picture Cards
11 Мбайт встроенной памяти
видео 640x480@30 со звуком
съемка в режиме Super Macro с расстояния от 1 см
габариты 98x57x25 мм
вес 140 г
Аппарат, как видим, использует тот же большой ЖК-экран, что и новинка от Sony (оптического видоискателя нет). Камера предлагает двадцать четыре сцены для быстрой настройки, в том числе подводную съемку, для которой потребуется дополнительный аксессуар — специальный кожух PT-013. Отметим режим Super Macro (в котором можно снимать с расстояния всего 1 см) и режим Multi-Shot, панорамную съемку и возможность вставки названия кадра или даты. Кроме того, камера может снимать в сепии и черно-белом вариантах, а также позволяет корректировать яркость, насыщенность цветов и цветовую температуру. О сроках появления на российском рынке и цене, данных пока нет.
Epson PictureMate Express Edition
шестицветная пигментная печатьскорость 80 с на снимок 10x15 см
цена $150
Новая редакция «персональной фотолаборатории» от Epson с повышенной скорострельностью. Как и все принтеры серии PictureMate, новинка печатает снимки размером до 10x15 см, причем обещает сохранность отпечатков до четырех раз большую, нежели традиционная фотография (до 104 лет под стеклом и до 200 лет в альбоме). Поддерживаются «причиндалы», подходящие к остальным принтерам серии: например, 70-долларовый Bluetooth Photo Print Adapter, позволяющий печатать без проводов с сотовых телефонов и КПК. К принтеру подходят три набора расходных материалов: на 270 листов ($65), на 100 листов ($30) и на 100 листов матовой бумаги ($34).
Графические процессоры ATI Radeon X1000
90-нм техпроцессшина PCI-Express x16
поддержка Shader Model 3.0
64-бит HDR (High Dynamic Range) и одновременное сглаживание
режим адаптивного сглаживания (Adaptive Anti-Aliasing)
режим высококачественной анизотропной фильтрации (High Quality Anisotropic Filter)
поддержка CrossFire
Долгожданная серия новых графических процессоров от ATI увидела свет в первую неделю октября. Она включает в себя три совсем разных чипа— X1800, X1600 и X1300. У X1800 с его 321 млн. транзисторов — шестнадцать пиксельных и восемь вершинных конвейеров. Названный производителем, ни много ни мало, быстрейшим графическим процессором на планете, он использует 512-разрядный доступ (на самом деле, это новая кольцевая шина памяти с двумя 256-разрядными контроллерами, передающими данные каждый в свою сторону) к памяти (GDDR3/GDDR4). Чип будет доступен в двух вариантах: XL (частоты ядра/памяти 500/1000 МГц) и XT (625/1500 МГц). Семейство X1600 (157 млн. транзисторов) тоже состоит из двух модификаций: Pro (500/780 МГц) и XT (590/1380 МГц). Здесь пиксельных конвейеров двенадцать, а вершинных — пять. Для доступа к памяти использована такая же кольцевая схема, однако контроллеры 128-разрядные. Наконец, у младшей модели (тут уже никаких кольцевых шин) с четырьмя пиксельными и двумя вершинными конвейерами разновидностей целых три. Базовая (450/500 МГц), Pro (600/800 МГц) и HyperMemory (450/1000 МГц). Последняя несет лишь 32 Мбайт памяти на борту (зато на высокой частоте) и использует системную память, чтобы имитировать 128-Мбайт карту. Во всех новинках имеется программируемый процессор Avivo (очевидно, аналог nVidia PureVideo), отвечающий за декодирование MPEG-2, MPEG-4, DivX и других форматов, подавление шума и прочие функции видеообработки.
Bluetooth-адаптеры DIGMA DBTU01/DBTU02
класс устройства: I/IIрадиус действия: 100м/10м
цена: $20/18
В ассортименте компании DIGMA интересные новинки — Bluetooth-адаптеры, подключаемые к порту USB. Данные продукты позволяют организовать обмен файлами между различными устройствами, использовать беспроводные Bluetooth-мышки, синхронизировать мобильный телефон или КПК с компьютером, а также пользоваться Интернетом через сотовый телефон. Модель первого класса может «осилить» расстояние до ста метров, а второго класса — до десяти, что вполне достаточно для связи со всеми популярными мобильными устройствами. Оба продукта имеют спецификацию Bluetooth v1.2 и интерфейс USB v1.1. В комплект поставки входят диск с драйверами, ПО и руководство по их установке.
MP3-плейер/фотоальбом Minox DMP-1
2-дюймовый ЖК-экран с разрешением 128x160 со светодиодной подсветкой512 Мбайт встроенной памяти
разъем SD/MMC для внешних носителей (до 1 Гбайт)
проигрыватель MP3 и WMA, MP3-рекордер, FM-тюнер
аудио: 20—20000 кГц, 2x4 мВт (наушники), 80 дБ SNR
цифровой эквалайзер
поддержка электронных книг (текст в Unicode или ASCII)
поддержка форматов JPG, BMP и LGO
интерфейс USB 2.0
габариты 75x52x15 мм
Это странное гибридное устройство может играть роль фотоальбома, цифрового аудиоплейера и электронной книги. Навигация по меню осуществляется при помощи джойстика, а часто использующиеся функции вызываются посредством расположенных вокруг него кнопок. Подзаряжается устройство по шине USB и в заряженном под завязку состоянии может функционировать до 12 часов. Кстати, картинками и музыкой способности DMP-1 не ограничиваются: можно еще играть в предустановленные игрушки. Не исключено, что со временем у устройства появятся и другие таланты, поскольку его микрокод обновляем.
Проектор Panasonic PT-AE900E
три ЖК-панели с разрешением 1280x720поддержка формата 16:9
яркость 1100 ANSI лм
контрастность 5500:1
ресурс лампы 3 тысячи часов (экономичный режим)
потолочная или настольная установка, фронтальная или обратная проекция
входы DVI-D (HDMI), SCART, S-Video, компонентный, композитный
встроенный 2-Вт динамик
шум 27 дБ (экорежим)
10-разрядная обработка цвета и гамма-коррекция
диагональ изображения 1—5 м
габариты 335x104x270 мм
вес 3,6 кг
цена $2200
Проектор рекомендуется для использования в составе домашнего кинотеатра. Благодаря фирменной технологии Smooth Screen, межпиксельная сетка, часто раздражающая пользователей недорогих проекторов, здесь не будет проблемой. Проектор позволяет управлять сдвигом линз, для чего на лицевую панель вынесен специальный джойстик. Давид Бернстайн (один из ведущих художников по цвету Голливуда, по прозвищу «Золотой глаз») снова подзаработал на сотрудничестве с производителем. В комплект входит универсальный «обучаемый» пульт ДУ, позволяющий управлять DVD-плейерами, звуковыми системами и даже яркостью светового потока.
Компьютер OQO model 01+
1-ГГц процессор Transmeta Crusoe30-Гбайт жесткий диск
512 Мбайт памяти
5-дюймовый экран с разрешением 800x480
3D-акселератор с 8 Мбайт памяти (выход VGA 1280x1024)
адаптер Wi-Fi, модуль Bluetooth
порты USB 2.0, FireWire (1394)
порт Ethernet 10/100
аудиовыход, встроенный микрофон и динамик
QWERTY-клавиатура с кнопками мыши
габариты 223x85x23 мм
вес 396 г
цена от $1500
Нечто среднее между ультрапортативным ноутбуком и карманным компьютером. Дизайн со времени предыдущей модели (без плюса) почти не изменился, лишь чуть подправлены внутренности. Компьютер работает под управлением Windows XP (производитель уверяет, что 01+ самый маленький КПК для этой системы). В качестве опций предлагаются VGA-адаптер, зарядное устройство и прочный анодированный металлический чемоданчик (все совместимо и с OQO model 01). В комплект входит цифровое перо.
Сервер Mercury Dual Cell-Based Blade
два процессора IBM Cell BEпамять Rambus XDR (eXtreme Data Rate)
Ну вот, игры кончились… Теперь у процессора Cell появилось серьезное применение — блейд-серверы. Используется та же память, что и в PS3, — Rambus XDR, и те же самые 8-SPE чипы. В форм-факторе 7U, в который помещается семь серверов, производительность доходит до 2,8 Tфлопс, а в шестифутовой стойке — до 16 Tфлопс. Производиться серверы начнут не спеша: сначала, в первом квартале следующего года, фирма планирует выпускать пробные партии, а на массовые поставки рассчитывает выйти ко второму кварталу.
Камера Creative PC-CAM 950 Slim
5-Мп 1/1,8-дюймоввый сенсоробъектив с фиксированным фокусным расстоянием 8,25 мм
4-кратный цифровой зум
фокусировка от 1,3 м до бесконечности
2-дюймовый ЖК-экран (технология LTPS)
разъем SecureDigital (карты до 1 Гбайт)
видео (режим web-камеры) 640x480 и 320x240
габариты 92x27x57 мм
цена $130
Трудно, конечно, порекомендовать не врагу эту новинку для использования в качестве нормальной карманной цифровой камеры (пусть и «мыльничного» типа), но если ей предстоит быть всего лишь веб-камерой, то куча возможностей будет притягательным довеском. Например, камеру можно напрямую подключать к телевизору для просмотра видео и фотографий, или к принтеру, совместимому с DirectPrint (ну почему, почему не PictBridge?! — конспирологически ориентированное сознание ясно видит тут тайный сговор). Предлагается PC-CAM 950 Slim в трех цветах — черном, серебристом и синем.
ЖК-монитор FLATRON LCD M1940A
время отклика 12 мсяркость 400 кд/м2
контрастность 500:1
диагональ экрана 19 дюймов
разрешение 1280x1024
размер пиксела 0,294 мм
габариты 543x542x223 мм
вес 7,75 кг
цена $700
Новинка сочетает в себе монитор и телевизор. Кроме стандартных интерфейсов она имеет встроенный компонентный вход SCART, что дает возможность подключить к ней не только ПК, но и, например, DVD-проигрыватель. Экран окаймлен широкой бордовой рамкой, в которой спрятаны два 3-ваттных динамики. Округлая «под хром» подставка весьма массивна и потому очень надежно удерживает монитор. Углы наклона экрана от 0 до 45 градусов. Если понадобится, монитор можно закрепить на стене с помощью VESA-совместимого кронштейна. Блок питания встроенный. Часть интерфейсов, а именно 15 Pin D-Sub, DVI, SCART, антенный, питание, а также замок Kensington скрыты массивной декоративной крышкой, остальные интерфейсы: Audio-In/Out, Video, S-Video и гнездо для подключения наушников расположены на задней панели.
13-я КОМНАТА: Ячейка, она же клетка, она же… Cell
У читателя, ознакомившегося с материалами рубрики «Архитектура ХХ века» в прошлом номере, могло сложиться ощущение, что в процессоростроении все мыслимое и немыслимое давным-давно изобретено и придумать что-то более совершенное, нежели суперскалярный OoO-процессор, невозможно в принципе. Однако это не так.
Основных «альтернативных» современному мэйнстриму путей развития два: один очень старый, второй совсем новый. Широкого распространения они пока не получили, но, может, их время еще не пришло?
Вернемся на минутку в прошлое и вспомним главную идею, положенную в основу RISC: процессор должен быть устроен как можно проще — это и экономически выгоднее, и наращивать тактовую частоту и применять разные технологические трюки, кардинально увеличивающие производительность, легче.
Так может, повыкидывать из процессора все эти хитрые декодеры и планировщики и оставить только самое необходимое — исполнительные блоки, набор регистров, подсистему памяти и минимальный набор обслуживающей логики? Зачем, к примеру, заниматься хитроумным переименованием регистров, если этих самых регистров можно понаделать сотню-другую? И зачем отслеживать зависимости инструкций, если можно писать программы так, чтобы эти зависимости никогда не нарушались? Проще говоря, коли наш суперскалярный OoO-CPU все равно в конечном счете работает не с исходным программным кодом, а с неким внутренним его представлением — не лучше ли сразу записывать программы в этом представлении, обходясь без посредников? «В очередном такте исполнительному устройству X— загрузить из оперативной памяти по адресу из регистра такого-то данные и сохранить их в регистр такой-то; исполнительному устройству Y — взять данные из регистров такого-то и такого-то, сложить их и записать результат в регистр такой-то; устройству Z — проверить регистр такой-то на выполнение условия и по результатам проверки подкрутить внутренний указатель такой-то и сбросить при необходимости конвейер». Получится одна очень длинная инструкция (Very Long Instruction Word, VLIW), полностью и исчерпывающе описывающая, что каждому из блоков процессора следует в очередном такте делать.
К чему мы тогда придем? Получится архитектурно очень простой процессор, который будет очень трудно программировать: ведь придется детально учитывать его внутреннее устройство и особенности. Но если мы научимся это делать, то в качестве компенсации получим возможность изготовить сколь угодно навороченный CPU малой кровью — без всяких сверхсложных декодеров и планировщиков на три-четыре инструкции. К примеру, в отечественной разработке «Эльбрус Е2K» предполагалось одновременное исполнение до 24 инструкций за такт — при сохранении приемлемой сложность CPU. Реализовать что-либо подобное в классическом суперскалярном процессоре — нельзя; а при VLIW-подходе, не ограниченном жесткими рамками скоростного декодирования и планирования программы, — можно. Ведь никто же нам не запретит компилировать и оптимизировать программу хоть часами, хоть сутками — лишь бы потом она быстро исполнялась?
Единственная очевидная загвоздка в подобном подходе — тот самый компилятор, умеющий генерировать очень сложный технически и требующий тщательнейшей оптимизации машинный код для VLIW-процессоров. Но ведь, в конце концов, и простые компиляторы с языков высокого уровня когда-то казались чудом, а сейчас мы преспокойно используем сложнейшие компиляторы C++, работающие с парадигмами обобщенного программирования. Так что создание совершенного оптимизирующего компилятора для VLIW-процессоров — это, скорее, вопрос времени[Отрадно, кстати, сознавать, что над созданием этих «суперкомпиляторов», в первую очередь — Intel C/C++ Compiler, активно работают наши соотечественники — например, Нижегородская лаборатория (бывшая московская команда Бориса Бабаяна, разрабатывавшая компиляторы для «Эльбруса Е2К»). Нам бы, правда, к этому еще и свои процессоры с компиляторами…]. Но есть и другие проблемы.
Проблема первая — жесткая привязка исполняемого кода к конкретному процессору. x86-программа запросто может работать и на i386, и на Pentium 4; с каноническим VLIW-процессором такой фокус, увы, не пройдет. Правда, Intel в усовершенствованной версии VLIW-архитектуры (EPIC — Explicitly Parallel Instruction Computer, компьютер с явно заданным параллелизмом команд) смягчила этот недостаток, введя не инструкции, а bundles — эдакие «полуинструкции», упакованные в контейнере с информацией о взаимозависимостях между этим и другими бандлами. Предполагается, что процессор, без труда проверив бандлы на взаимозависимость, может запускать их параллельно и, таким образом, обладать некоторой «свободой действий» в проектировании будущих CPU, сохраняющих бинарную совместимость с текущим поколением.
Вторая проблема прямо вытекает из первой: довольно трудно сделать совместимые VLIW-процессоры, предназначенные для разных секторов рынка. Уж больно сильно привязан программный код к аппаратной начинке. То есть если мы делаем «супер-VLIW», с кучей исполнительных устройств и тщательно вылизанной подсистемой памяти — то ровно такой же «суперпроцессор» (с суперсебестоимостью) нам придется продавать и для low-end-сектора рынка. И наоборот, «сэкономив» и выкатив процессор для low-end и middle-end, мы получим крепкого середнячка, но не лидера производительности. Подход EPIC с его бандлами слегка исправляет ситуацию, но не до конца — дешевых Itanium в природе так и не появилось.
Третий и, пожалуй, главный недостаток VLIW — это то, что предусмотреть и спланировать все события в процессоре невозможно. К примеру, нельзя предугадать, сколько времени займет операция обращения к оперативной памяти. А раз так, то нельзя и эффективно запланировать ее: OoO-исполнения во VLIW-процессорах не бывает, и если мы думали, что данные для инструкции в кэше будут, а их там не оказалось, то весь этот сложный, «мышцастый» процессор будет простаивать десятки и сотни тактов, дожидаясь исполнения злополучной инструкции загрузки данных. В EPIC придуман способ борьбы и с этой проблемой — программную предвыборку данных, software prefetch[Это такие специальные инструкции, которые позволяют процессору параллельно с основным исполнением запросить фоновую подгрузку в кэш-память определенных данных, если их там еще нет.]; однако подсистема памяти до сих пор остается одним из самых узких мест любого VLIW-процессора.
Идея VLIW отнюдь не нова — еще в середине 80-х годов корпорация Intel пыталась продвигать весьма неординарный VLIW-процессор i860. Однако описанные проблемы и отсутствие по-настоящему эффективных оптимизирующих компиляторов поставили крест на i860 еще до его практического рождения. Да, i860 был «суперкомпьютером на чипе», да, он опережал свое время, но как процессор общего назначения — никуда не годился[Теоретический максимум производительности — 60 Мфлопс. Практический максимум для программистов, вручную оптимизировавших код для i860 на ассемблере, — 40 Мфлопс. Производительность обычного компилятора для i860 — не более 10 Мфлопс. Производительность рабочих станций на первом коммерческом MIPS R3000 — 9 Мфлопс; на первом Intel Pentium — 15—40 Мфлопс.]. Для него требовались специальные сложные компиляторы и новая инфраструктура — и все лишь ради того, чтобы в конце концов получить производительность, в большинстве случаев уступающую производительности стремительно развивавшихся RISC-конкурентов! i860 мог быть очень быстрым процессором для вычислений с плавающей точкой — но между «мог» и «был» в большинстве приложений зияла огромная пропасть, которую было проще преодолеть, положившись на технический прогресс, благодаря которому даже безнадежно «тормознутая» в те годы архитектура x86 через несколько лет достигла такого же уровня производительности. Некоторое время Intel 80860 использовался в качестве специализированного программируемого DSP-процессора (графического ускорителя), но заметного распространения даже в такой ипостаси не получил.
Впрочем, полный провал i860 не помешал корпорациям Intel и Hewlett-Packard уже через два года инициировать разработку «суперпроцессора» Itanium, который должен был исправить ошибки 860-го процессора и стать заменой не только архитектуре x86, но и всем тогдашним RISC-архитектурам. Архитектура получила звучное название IA-64 (Intel Architecture for 64-bit), и поначалу казалось, что «пересадят» пользователей на Itanium едва ли не начиная с Pentium II. Itanium должен был с помощью специального полуаппаратного эмулятора поддерживать набор инструкций x86, так что переход с архитектуры IA-32 на IA-64 обещал быть безболезненным. «Крутизна» новинки была так очевидна, что Silicon Graphics, например, даже забросила разработку своей фирменной архитектуры MIPS, рассудив, что с Itanium ей все равно не сравниться.
Но если отбросить красивые слова и посмотреть, что получилось на практике, то следует признать, что проект Itanium «блестяще провалился». Вначале очень долго задерживался первый Itanium (Merced). Потом некстати вылезла со своими процессорами AMD и вынудила Intel ввязаться в «гонку мегагерц», по итогам которой «устаревшая» архитектура x86 сделала такой колоссальный рывок, что однозначного «суперпроцессора» из со скрипом появившегося на свет Itanium уже не получилось. Затем была проведена большая «работа над ошибками», в ходе которой производительность и «производственные» технические характеристики Itanium 2 значительно улучшились, так что «итаниумное» семейство с трудом, но все же завоевало лидерство в производительности (особенно при вычислениях с плавающей точкой, критичных для научных расчетов). Но принципиально это ситуацию не изменило. Перспективы для иного, кроме как High-End-применения, у Itanium сегодня печальные — фактически AMD убила его развитие своими 64-разрядными процессорами. Да, старшие модели 64-разрядных Opteron в среднем проигрывают старшим Itanium 2 по производительности; однако проигрыш этот невелик и компенсируется тем, что «Оптероны» гораздо дешевле и не требуют специальной адаптации уже имеющихся программ к IA-64. В итоге получилось так, что Intel, конечно, предпочла бы использовать свою архитектуру IA-64 вместо чужой архитектуры AMD64, однако выбирая между быстрой потерей большей части серверного рынка, занятого сегодня процессорами Xeon, и утратой надежды на то, что Xeon в обозримом будущем будет заменен на Itanium, Intel выбрала первый вариант. А после введения в «Зионах» технологии EM64T (копии AMD64) от развития собственных Itanium-систем отказалась большая часть поставщиков серверов, начиная с IBM и заканчивая Dell. Даже соразработчик Itanium компания Hewlett-Packard (как и SGI, которая ради IA-64 поставила крест на своей процессорной архитектуре PA-RISC) потихоньку сворачивает линейку продуктов на основе этих CPU. Так что злая ирония про «Itanic» (по аналогии с «Titanic») сегодня, к сожалению, уместна как никогда.
Основных «альтернативных» современному мэйнстриму путей развития два: один очень старый, второй совсем новый. Широкого распространения они пока не получили, но, может, их время еще не пришло?
Вернемся на минутку в прошлое и вспомним главную идею, положенную в основу RISC: процессор должен быть устроен как можно проще — это и экономически выгоднее, и наращивать тактовую частоту и применять разные технологические трюки, кардинально увеличивающие производительность, легче.
Very Long Instruction Word
Так может, повыкидывать из процессора все эти хитрые декодеры и планировщики и оставить только самое необходимое — исполнительные блоки, набор регистров, подсистему памяти и минимальный набор обслуживающей логики? Зачем, к примеру, заниматься хитроумным переименованием регистров, если этих самых регистров можно понаделать сотню-другую? И зачем отслеживать зависимости инструкций, если можно писать программы так, чтобы эти зависимости никогда не нарушались? Проще говоря, коли наш суперскалярный OoO-CPU все равно в конечном счете работает не с исходным программным кодом, а с неким внутренним его представлением — не лучше ли сразу записывать программы в этом представлении, обходясь без посредников? «В очередном такте исполнительному устройству X— загрузить из оперативной памяти по адресу из регистра такого-то данные и сохранить их в регистр такой-то; исполнительному устройству Y — взять данные из регистров такого-то и такого-то, сложить их и записать результат в регистр такой-то; устройству Z — проверить регистр такой-то на выполнение условия и по результатам проверки подкрутить внутренний указатель такой-то и сбросить при необходимости конвейер». Получится одна очень длинная инструкция (Very Long Instruction Word, VLIW), полностью и исчерпывающе описывающая, что каждому из блоков процессора следует в очередном такте делать.
К чему мы тогда придем? Получится архитектурно очень простой процессор, который будет очень трудно программировать: ведь придется детально учитывать его внутреннее устройство и особенности. Но если мы научимся это делать, то в качестве компенсации получим возможность изготовить сколь угодно навороченный CPU малой кровью — без всяких сверхсложных декодеров и планировщиков на три-четыре инструкции. К примеру, в отечественной разработке «Эльбрус Е2K» предполагалось одновременное исполнение до 24 инструкций за такт — при сохранении приемлемой сложность CPU. Реализовать что-либо подобное в классическом суперскалярном процессоре — нельзя; а при VLIW-подходе, не ограниченном жесткими рамками скоростного декодирования и планирования программы, — можно. Ведь никто же нам не запретит компилировать и оптимизировать программу хоть часами, хоть сутками — лишь бы потом она быстро исполнялась?
Единственная очевидная загвоздка в подобном подходе — тот самый компилятор, умеющий генерировать очень сложный технически и требующий тщательнейшей оптимизации машинный код для VLIW-процессоров. Но ведь, в конце концов, и простые компиляторы с языков высокого уровня когда-то казались чудом, а сейчас мы преспокойно используем сложнейшие компиляторы C++, работающие с парадигмами обобщенного программирования. Так что создание совершенного оптимизирующего компилятора для VLIW-процессоров — это, скорее, вопрос времени[Отрадно, кстати, сознавать, что над созданием этих «суперкомпиляторов», в первую очередь — Intel C/C++ Compiler, активно работают наши соотечественники — например, Нижегородская лаборатория (бывшая московская команда Бориса Бабаяна, разрабатывавшая компиляторы для «Эльбруса Е2К»). Нам бы, правда, к этому еще и свои процессоры с компиляторами…]. Но есть и другие проблемы.
Проблема первая — жесткая привязка исполняемого кода к конкретному процессору. x86-программа запросто может работать и на i386, и на Pentium 4; с каноническим VLIW-процессором такой фокус, увы, не пройдет. Правда, Intel в усовершенствованной версии VLIW-архитектуры (EPIC — Explicitly Parallel Instruction Computer, компьютер с явно заданным параллелизмом команд) смягчила этот недостаток, введя не инструкции, а bundles — эдакие «полуинструкции», упакованные в контейнере с информацией о взаимозависимостях между этим и другими бандлами. Предполагается, что процессор, без труда проверив бандлы на взаимозависимость, может запускать их параллельно и, таким образом, обладать некоторой «свободой действий» в проектировании будущих CPU, сохраняющих бинарную совместимость с текущим поколением.
Вторая проблема прямо вытекает из первой: довольно трудно сделать совместимые VLIW-процессоры, предназначенные для разных секторов рынка. Уж больно сильно привязан программный код к аппаратной начинке. То есть если мы делаем «супер-VLIW», с кучей исполнительных устройств и тщательно вылизанной подсистемой памяти — то ровно такой же «суперпроцессор» (с суперсебестоимостью) нам придется продавать и для low-end-сектора рынка. И наоборот, «сэкономив» и выкатив процессор для low-end и middle-end, мы получим крепкого середнячка, но не лидера производительности. Подход EPIC с его бандлами слегка исправляет ситуацию, но не до конца — дешевых Itanium в природе так и не появилось.
Третий и, пожалуй, главный недостаток VLIW — это то, что предусмотреть и спланировать все события в процессоре невозможно. К примеру, нельзя предугадать, сколько времени займет операция обращения к оперативной памяти. А раз так, то нельзя и эффективно запланировать ее: OoO-исполнения во VLIW-процессорах не бывает, и если мы думали, что данные для инструкции в кэше будут, а их там не оказалось, то весь этот сложный, «мышцастый» процессор будет простаивать десятки и сотни тактов, дожидаясь исполнения злополучной инструкции загрузки данных. В EPIC придуман способ борьбы и с этой проблемой — программную предвыборку данных, software prefetch[Это такие специальные инструкции, которые позволяют процессору параллельно с основным исполнением запросить фоновую подгрузку в кэш-память определенных данных, если их там еще нет.]; однако подсистема памяти до сих пор остается одним из самых узких мест любого VLIW-процессора.
Intel Itanium и Transmeta Crusoe
Идея VLIW отнюдь не нова — еще в середине 80-х годов корпорация Intel пыталась продвигать весьма неординарный VLIW-процессор i860. Однако описанные проблемы и отсутствие по-настоящему эффективных оптимизирующих компиляторов поставили крест на i860 еще до его практического рождения. Да, i860 был «суперкомпьютером на чипе», да, он опережал свое время, но как процессор общего назначения — никуда не годился[Теоретический максимум производительности — 60 Мфлопс. Практический максимум для программистов, вручную оптимизировавших код для i860 на ассемблере, — 40 Мфлопс. Производительность обычного компилятора для i860 — не более 10 Мфлопс. Производительность рабочих станций на первом коммерческом MIPS R3000 — 9 Мфлопс; на первом Intel Pentium — 15—40 Мфлопс.]. Для него требовались специальные сложные компиляторы и новая инфраструктура — и все лишь ради того, чтобы в конце концов получить производительность, в большинстве случаев уступающую производительности стремительно развивавшихся RISC-конкурентов! i860 мог быть очень быстрым процессором для вычислений с плавающей точкой — но между «мог» и «был» в большинстве приложений зияла огромная пропасть, которую было проще преодолеть, положившись на технический прогресс, благодаря которому даже безнадежно «тормознутая» в те годы архитектура x86 через несколько лет достигла такого же уровня производительности. Некоторое время Intel 80860 использовался в качестве специализированного программируемого DSP-процессора (графического ускорителя), но заметного распространения даже в такой ипостаси не получил.
Впрочем, полный провал i860 не помешал корпорациям Intel и Hewlett-Packard уже через два года инициировать разработку «суперпроцессора» Itanium, который должен был исправить ошибки 860-го процессора и стать заменой не только архитектуре x86, но и всем тогдашним RISC-архитектурам. Архитектура получила звучное название IA-64 (Intel Architecture for 64-bit), и поначалу казалось, что «пересадят» пользователей на Itanium едва ли не начиная с Pentium II. Itanium должен был с помощью специального полуаппаратного эмулятора поддерживать набор инструкций x86, так что переход с архитектуры IA-32 на IA-64 обещал быть безболезненным. «Крутизна» новинки была так очевидна, что Silicon Graphics, например, даже забросила разработку своей фирменной архитектуры MIPS, рассудив, что с Itanium ей все равно не сравниться.
Но если отбросить красивые слова и посмотреть, что получилось на практике, то следует признать, что проект Itanium «блестяще провалился». Вначале очень долго задерживался первый Itanium (Merced). Потом некстати вылезла со своими процессорами AMD и вынудила Intel ввязаться в «гонку мегагерц», по итогам которой «устаревшая» архитектура x86 сделала такой колоссальный рывок, что однозначного «суперпроцессора» из со скрипом появившегося на свет Itanium уже не получилось. Затем была проведена большая «работа над ошибками», в ходе которой производительность и «производственные» технические характеристики Itanium 2 значительно улучшились, так что «итаниумное» семейство с трудом, но все же завоевало лидерство в производительности (особенно при вычислениях с плавающей точкой, критичных для научных расчетов). Но принципиально это ситуацию не изменило. Перспективы для иного, кроме как High-End-применения, у Itanium сегодня печальные — фактически AMD убила его развитие своими 64-разрядными процессорами. Да, старшие модели 64-разрядных Opteron в среднем проигрывают старшим Itanium 2 по производительности; однако проигрыш этот невелик и компенсируется тем, что «Оптероны» гораздо дешевле и не требуют специальной адаптации уже имеющихся программ к IA-64. В итоге получилось так, что Intel, конечно, предпочла бы использовать свою архитектуру IA-64 вместо чужой архитектуры AMD64, однако выбирая между быстрой потерей большей части серверного рынка, занятого сегодня процессорами Xeon, и утратой надежды на то, что Xeon в обозримом будущем будет заменен на Itanium, Intel выбрала первый вариант. А после введения в «Зионах» технологии EM64T (копии AMD64) от развития собственных Itanium-систем отказалась большая часть поставщиков серверов, начиная с IBM и заканчивая Dell. Даже соразработчик Itanium компания Hewlett-Packard (как и SGI, которая ради IA-64 поставила крест на своей процессорной архитектуре PA-RISC) потихоньку сворачивает линейку продуктов на основе этих CPU. Так что злая ирония про «Itanic» (по аналогии с «Titanic») сегодня, к сожалению, уместна как никогда.