СКАНИРОВАНИЕ ПОРТОВ
Взявшись за разработку совершенно нового языка для общения между людьми, вы едва ли начисто отказались бы от английского - таким был лейтмотив программного выступления исполнительного директора AMD Фреда Вебера на конференции Microprocessor Forum, прошедшей недавно в калифорнийском городе Сан-Хосе. Дело в том, что этот язык при всех своих недостатках все же дает основу для межнациональной конвергенции.
То же самое, уверен Вебер, можно сказать и о наборе инструкций х86, который нужно сохранять и развивать как базовый лексикон корпоративных ИТ. Мне, честно говоря, такое заключение не по душе, однако я не могу не признать, что "вездесущность х86" - именно так аргументирует свою позицию Вебер - сегодня ощущается гораздо сильнее, чем десяток лет назад.
И английский язык, и набор инструкций х86 имеют множество исключений из правил. В то же время оба они отличаются экспрессивностью, легко расширяются, да и вообще являются весьма распространенными, и не только в мире ИТ и бизнесе.
Триумфальное шествие х86 началось в 1983 г., когда электронные таблицы Lotus 1-2-3, успешно победив VisiCalc и Context MBA, стали главной отличительной чертой корпоративного ПК. VisiCalc тогда оказался начисто привязанным к восьмиразрядной платформе Apple II/III, а Context MBA хотя и был написан на легко переносимом языке UCSD p-System Pascal, но отличался крайней медлительностью: операции над электронными таблицами, с которыми Lotus 1-2-3 справлялся в считанные секунды, здесь длились минутами. Корпорация Lotus смогла предложить быстрый код низкого уровня, позволявший в полной мере использовать все ресурсы архитектуры х86. В результате машинный код х86 стал языком успеха для программного обеспечения.
В начале 90-х годов широко распространилось мнение, будто иррегулярная структура кода х86 - в первую очередь переменная длина его команд - помешает дальнейшему увеличению рабочей частоты микропроцессоров. Положение, как тогда считалось, могли спасти лишь унифицированная длина команд, единый их формат и доступ любой инструкции к любому регистру данных микропроцессора. И я, как программист, работающий с языками самого низкого уровня, полностью это мнение разделял.
С учетом этого Microsoft разработала Windows NT как многоплатформную операционную систему, которая по первоначальным планам должна была поддерживать самые передовые для тех времен разработки, заложенные в проекты микропроцессоров MIPS, PowerPC и Alpha. Впрочем, работы над NT для MIPS были свернуты в 1996-м, а над NT для PowerPC - в 1997 г. Затем, в конце 1999-го, Microsoft и Compaq общими усилиями похоронили NT для Alpha. Когда же появилась Windows 2000, всем стало ясно, что Microsoft возвращается на пути х86 и свое сердце целиком и полностью отдает этой архитектуре. Но сейчас ситуация на рынке начинает меняться. Уже в нынешнем году, как ожидается, AMD продаст процессоров Opteron и Athlon 64 больше, чем разошлось Intel Itanium за все время их изготовления, а это значит, что звездные часы Windows для Itanium, выпуск которой начался два года назад, вот-вот минуют.
Не стоит забывать и о Linux, ведь эта ОС, завоевывающая все большую популярность, львиную долю энергии черпает в кодах для архитектуры х86. Достаточно сказать, что ее разработчики с самого начала стремились не столько создать новую операционную систему, сколько обеспечить как можно более эффективное использование микропроцессоров 386-й серии.
Ключевой аргумент Вебера в пользу х86 заключается в том, что современное сочетание технологии, истории и ценовой структуры корпоративных ИТ значительно повышает привлекательность развития старой доброй архитектуры и делает все возражения против нее сугубо академическими. Декодировать и оптимизировать сложные инструкции х86 становится все проще прямо в кремнии, тогда как "явный параллелизм" Itanium требует постоянно растущих затрат на кэширование и обработку его пространных инструкций.
Да и тестирование программного обеспечения, которое должно защищать от все более изощренных атак на самом низком уровне, никогда не вызывало столько беспокойства, как сейчас. Хотя Вебер и признал, что "мобильность - это хорошо", но тут же добавил: "А вот перенос на другие платформы - плохо. Слишком уж дорого обходится тестирование".
Отметил он и то, что "право на жизнь имеет любое новое приложение с повышенным уровнем абстрагирования, если в его основу положены технологии высокого уровня типа Java или .Net, - у такого подхода есть свои преимущества". Запомните эти слова, ибо они крайне важны. Готов я согласиться и с другим тезисом Вебера: бремя многоплатформного тестирования способно выдержать только наиболее широко распространенное ПО. Тенденции рынка подтверждают это. Да и для решения специальных задач я зачастую мог найти подходящие средства только в формате х86.
И все же, на мой взгляд, у пользователя должна быть свобода выбора платформ. Мне очень нравится, скажем, высокоэффективная архитектура ARM, лицензию на которую приобрела AMD. Вызывает у меня уважение высочайшая производительность Power4 и Power5 корпорации IBM, равно как и Power Mac G5 фирмы Apple. Но нужно всегда помнить, что поиск Единственного Истинного Пути в любой области, столь привлекающий любителей экспериментировать, чреват многими опасностями, тогда как Просто Хороший Путь х86 может оказаться гораздо рентабельнее. И это - очень хорошая весть для AMD.
С редактором eWeek Питером Коффи можно связаться по адресу: peter_coffee@ziffdavis.com.