К сожалению, «нет в мире счастья», и по кодировке префиксы REX совпадают с шестнадцатью «сокращенными» инструкциями семейств INC и DEC (увеличение или уменьшение содержимого регистра на единичку). Вдобавок в 64-битном режиме не поддерживается ряд инструкций и «режимов» x86 (о чем речь пойдет ниже), а для нескольких инструкций изменены опкоды или их смысловая нагрузка[К примеру, инструкция 90h в классическом x86 означает XCHG EAX, EAX (поменять местами регистр EAX с регистром EAX). Поскольку от перестановки двух одинаковых регистров их содержимое не меняется, то эту комбинацию часто используют в качестве однобайтной «пустышки» (NOP), которая ничего не выполняет, зато занимает 1 байт машинного кода. Зачастую некоторые инструкции хочется «выровнять» в оперативной памяти, сделав так, чтобы они, например, не «пересекали 16-байтные границы» (если этого не сделать, то при декодировании инструкции возникнет «штраф», связанный с тем, что процессору придется «склеивать» инструкцию из нескольких 16-байтных кусочков); и если, скажем, эта инструкция — начало цикла, то непрерывная выплата «штрафа» может существенно замедлить выполнение программы. Вставка нескольких NOP’ов, «закрывающих» возникающие из-за выравнивания «дырки» в коде, — обычная практика, однако в 64-битном режиме процессор не просто переставит EAX с EAX местами, а еще и заполнит старшие 32 бита регистра RAX нулями — и наша инструкция уже не будет «настоящим» NOP’ом. Поэтому в x86-64 опкод 90h обрабатывается по-особому, всегда интерпретируясь как NOP]; так что даже в «тепличных» 32-битных условиях перекомпиляция программ для поддержки x86-64 все-таки требуется. Но и унывать по этому поводу не приходится: получить все преимущества от расширенного набора регистров без перекомпиляции все равно невозможно, а если очень хочется запустить 32-битное приложение, это можно сделать, временно переведя процессор в «режим совместимости» (Compatibility Mode), в котором полностью имитируется классический IA-32.
Какие процессоры поддерживают x86-64?
   В случае AMD — все новые CPU без исключения. Athlon 64, Mobile Athlon 64, Turion и Opteron поддерживают технологию AMD64 изначально; процессоры Sempron (изначально этой поддержки лишенные) — начиная с определенного степпинга (E) или определенной даты (осени 2005 года). Отличить «новые» Sempron от старых проще всего по логотипу на коробке: у 64-разрядных Sempron’ов на упаковке стоит значок AMD64.
   В случае Intel технологию EM64T поддерживают только процессоры новых степпингов (начиная с "E") в исполнении LGA775. Pentium D, Pentium eXtreme Edition и Pentium 4 семейства 6xx поддерживают EM64T изначально; процессоры Xeon — начиная c 90-нм ядра Nocona; процессоры Pentium 4 семейства 5xx и Celeron D семейства 3xx — только те модели, номер которых заканчивается на шестерку или единичку. Pentium 4 Extreme Edition 3,73 ГГц тоже поддерживает EM64T. Все остальные модели (в частности, Pentium M и процессоры в исполнении Socket 478) технологию EM64T не поддерживают и в ближайшее время эту поддержку не получат.
To 64bit or not to 64bit?
   Так стоит ли переходить на x86-64 или нет? Думаю, после всего вышеизложенного ответ понятен: без сомнения, стоит! Технология x86-64 действительно предоставляет все преимущества 64-битных систем, содержит ряд качественных улучшений по сравнению с «классической» IA-32 ISA, но главное — позволяет не использовать 64-битные вычисления там, где этого не требуется, и сохраняет полную совместимость с любым 32-битным софтом. А потому единственный серьезный довод против, который до сих пор мешает широкому распространению технологии, — это необходимость поддержки x86-64 операционной системой и использования редких и порой не до конца отлаженных и «недооптимизированных» 64-битных драйверов.
   Благодарим компании AMD (за предоставление тестового набора Athlon 64 X2 4800+), MSI (за материнскую плату MSI K8N SLI) и сеть магазинов «Неоторг» (за видеокарту MSI GeForce 7800GT).

www.gcc.gnu.org/onlinedocs/gcc/i386-and-x86_002d64-Options.html

Microsoft Windows XP x64-bit edition

   Говоря о технологии x86-64, невозможно не упомянуть, пожалуй, главную операционную систему, с которой пользователям этой технологии придется работать, — Microsoft Windows.
   Можно долго рассуждать на тему, насколько интересна и востребована сегодня технология x86-64, но раз ее так или иначе поддерживают почти все новые процессоры, то у пользователей возникает вопрос иного рода: как 64-битность использовать на практике. Впрочем, очевидно, что для начала потребуется установить на компьютер 64-битную операционную систему.
Windows XP Professional x64 edition
   А поскольку для среднестатистического юзера понятия ОС и Microsoft Windows, можно сказать, равнозначны, то выбор у него не очень богатый: либо «более пользовательская» Windows XP Professional x64 edition, либо серверные разновидности Windows 2003 Server x64 edition. На самом деле выбор еще уже, поскольку, вопреки своему названию, Windows XP Professional x64 edition основывается отнюдь не на коде оригинальной Windows XP, а использует то же самое «ядро» от Windows 2003 Server. Так что какой бы вариант вы не предпочли, «достанется» вам примерно одно и то же, просто с разными настройками системы по умолчанию. «Обновлять» систему с 32 бит до 64 невозможно — в любом случае потребуется ее полная переустановка. Список доступных языков пока тоже невелик: либо английский, либо японский, либо пакет MUI с европейскими языками (в которые русский язык не включен); так что неопытному пользователю, боюсь, рекомендовать Windows x64 edition не приходится. Впрочем, еще год назад у Microsoft не было даже этого, так что даже такой скудный ассортимент — значительный шаг вперед.
   Итак, все 64-битные варианты операционных систем от Microsoft основываются на ядре Windows 2003 Server и уже включают в себя первый сервис-пак к Windows 2003[Кстати, видимо, желание включить SP1 в состав x64 edition и вызвало длительную задержку с релизом Windows x64 edition], интерфейс DirectX 9.0c и медиаплейер Windows Media Player десятой версии. Единственное «видимое» отличие для пользователя этих «осей» от 2003 Server SP1 — это возможность запуска 64-битных приложений. Поддерживается как AMD64, так и EM64T, со всей сопутствующей последней технологии спецификой. В остальном чисто внешне новые операционные системы, если не считать красивых логотипов с подписями «x64 edition», ничем не отличаются от своих прародителей. Интерфейс, приемы работы в ОС, системные настройки — все остается прежним.
   А вот «невидимых» программных изменений гораздо больше. К примеру, переход на 64-битную архитектуру и к 64-битным указателям должен был автоматически привести к тому, что все структуры Windows API, в которых эти указатели встречаются, разом устарели и потребовали замены. Проще говоря, переход к 64-битным вычислениям автоматически привел и к смене Windows API на новую, «64-битную» версию. Но поскольку подобного рода смена API не позволила бы запускать в новых «Окнах» 32-битные приложения (даже несмотря на поддержку такой возможности процессором), то «старый» API в ней тоже сохранили, реализовав его через специальный «переходник», конвертирующий данные из «старого» формата в новый и наоборот. Называется «переходник» WOW64 (Windows On Windows x64) и может сильно тормозить работу 32-битных приложений под 64-битной Windows. Вообще, ситуация, в которой 64-битные и 32-битные приложения вынуждены как-то налаживать взаимодействие друг с другом, уже привела к довольно забавным результатам. К примеру, в Windows x64 edition — целых два Internet Explorer’а: «новый» быстродействующий 64-битный и «старый» 32-битный, не столь проворный, зато совместимый со всевозможными 32-разрядными плагинами для Internet Explorer’а. Мелочь, конечно, но именно из таких мелочей складывается…
Общее впечатление от новой ОС
   В целом оно очень хорошее. К примеру, Windows x64 «знает» практически все «железо» и содержит необходимые 64-битные драйверы к нему, так что установка ОС даже на новейшую платформу проходит быстро и с минимумом человеческого вмешательства. Все мыслимые дыры в системе безопасности «превентивно» залатаны свежайшим сервис-паком; старые программы работают без нареканий; 64-битные запускаются легко. Некоторые результаты, снятые на нашем тестовом стенде, вы можете видеть во врезках, а мы позволим себе вкратце их прокомментировать.
   Пункт первый. За редчайшими исключениями 32-битные программы в Windows XP x64 edition работают нормально, но чуть медленнее, нежели в «родной» 32-битной Windows XP. Различия не столь велики, чтобы быть субъективно заметными, однако закономерность налицо. Кто в этом виноват — «режим совместимости», в котором приходится работать процессору, новое ядро Windows 2003 или «прослойка» WOW64, — непонятно, так что ситуация может варьироваться от приложения к приложению.
   Пункт второй. Специально оптимизированные для 64-битности приложения, как правило, работают быстрее своих 32-битных аналогов, но существенных рывков в производительности не дают. Правда, встречаются и приятные исключения, — так, почти все пакеты трехмерного моделирования и рендеринга в 64-битном режиме ускорялись на 10—30%. А вот больших изменений в трехмерных игрушках мы не заметили: где-то 64-битная версия чуть быстрее, где-то — чуть медленнее, но прорыва в скорости здесь нет и, возможно, никогда и не будет — подобного рода игрушки «упираются» не столько в центральные процессоры, сколько в недостаточно мощные видеокарты.
   Пункт третий. Работать в 64-битных операционных системах пока еще не очень комфортно. К примеру, крупнейшие разработчики программ для записи CD и DVD 64-битные версии своих продуктов еще не выпустили, а тесно взаимодействующие с оборудованием 32-битные версии в 64-битной Windows у нас нормально так и не заработали, вынуждая обратиться к встроенным средствам записи дисков. Стоит ли говорить, что многим этот вариант покажется неудобным? Вместе с уже описанной проблемой нестыковки 32-битных плагинов и ActiveX-объектов и 64-битных программ это довольно сильно смазывает впечатление от Windows x64 edition.
   Четвертый и последний пункт, сопряженный с нашей практикой использования Windows x64 edition — это, конечно же, вопросы, связанные с необходимостью использования 64-битных драйверов. Здесь дела обстоят противоречиво. С одной стороны, свежеустановленная Windows XP Professional x64 edition успешно определила на нашем тестовом стенде, построенном на чипсете nForce 4 SLI, все устройства (за исключением интегрированных аудиокодека и сетевой карты) и установила к ним соответствующие драйверы. Заметим, что такие брэнды, как ASUSTeK, Gigabyte, Broadcomm обязательно комплектуют свою новую продукцию драйверами для 64-битных версий Windows, а ATI и nVidia регулярно выкладывают в Сети всё более совершенные версии 64-битных драйверов к своим чипсетам и видеокартам, ничем не уступающие по функциональности 32-битным аналогам. С другой стороны — подобным образом поступают далеко не все производители, и та же MSI, чью материнскую плату и видеоадаптер мы использовали в тестовом стенде, никаких 64-битных драйверов на штатном компакт-диске не предоставила. Для некоторых (особенно устаревших) устройств 64-битных драйверов нет вообще, и неясно, появятся ли они в обозримом будущем[Чем-то это напоминает традиционную ситуацию с драйверами в Linux]. Кого-то она устраивает, кого-то нет.
   Ситуация с 64-битным софтом для Windows складывается парадоксальная: операционная система есть, драйверы для нее есть, а вот самого простого — оптимизированных для 64-битного режима программ — нет. Радует только, что наиболее критичные к производительности приложения все-таки к x86-64 адаптированы. Так что для пользователей 3DSmax, Photoshop, LightWave, Premiere надпись на коробке от процессора про поддержку 64-bit — уже не просто слова, а ощутимая помощь в работе.
   Еще одна область, где Windows x86 может сразу «раскрыться», — это приложения .Net. Они, как известно, ни к одной конкретной архитектуре не привязываются, а записываются на некотором «промежуточном» языке (IL), который превращается в машинный код для конкретной архитектуры только при непосредственном исполнении программы (Just-in-Time Compilation, JIC). Уже выпущен .Net Framework 2.0, поддерживающий x86-64, так что приложения .Net выигрыш в производительности от новой архитектуры получат без всякой перекомпиляции и сразу.
   Стоит ли прямо сейчас переходить на Windows x64 edition? «Массовому» пользователю — пожалуй, рановато. В большинстве случаев переход на «64-битность» либо не даст ему сколько-нибудь заметных преимуществ в быстродействии, либо выльется в непрерывный поиск 64-битных версий любимых приложений и драйверов. А вот профессионалам и системным администраторам, старающимся выжать из машин максимум возможного, — пожалуй, стоит: прибавка 20—30% производительности на любимой задаче отнюдь не помешает.

Terralab.ru: Железный поток

Беспроводная камера Canon Digital Ixus Wireless
 
   5-Мп 1/2,5-дюймовый ПЗС-сенсор
   объектив с фокусным расстоянием 35—105 мм в 35-мм эквиваленте (3x зум)
   оптический видоискатель
   2-дюймовый ЖК-дисплей с разрешением 118 тысяч пикселов (100-процентное покрытие картинки)
   автофокус 9-точечный AiAF либо 1-точечный (по центру)
   выдержки 15—1/1500 с (1,3 с или дольше — с шумоподавлением)
   светочувствительность: AUTO, ISO 50/100/200/400
   видео MJPEG со звуком (моно), макс. 640x480@30 (не больше 1 Гбайт за раз), скоростной режим 320x240@60 (не больше одной минуты)
   разъем для карт SD
   беспроводной адаптер 802.11b, расстояние до 30 м
   интерфейс USB 2.0, выходы аудио/видео (PAL/NTSC)
   габариты 99x54x22 мм
   вес 130 г
   ориентировочная цена 500 евро
   Вслед за Kodak Canon выпускает свою первую беспроводную компакт-камеру. Новинка поддерживает такие функции, как автоматическая беспроводная передача изображений на ПК, управление с компьютера функциями съемки и прямая печать через Wi-Fi на PictBridge-совместимых принтерах: для этого в комплект входит специальный адаптер WA-1N (многим принтерам потребуется адаптер питания, также входящий в комплект Compact Power Adapter CA-DC20E). Помимо автоматической передачи только что отснятого материала, камера, конечно же, может пересылать фотографии, уже находящиеся на ее флэш-карте (на один 5-Мп снимок уходит от 6 секунд). Для обработки изображений используется фирменный процессор Canon Digic II.
Камера Casio Exilim EX-S600
   6-Мп 1/2,5-дюймовый ПЗС-сенсор
   объектив с фокусным расстоянием 38—114 мм (3x зум)
   2,2-дюймовый ЖК-экран с разрешением 84960 пикселов
   9-точечный автофокус
   выдержки 1/8—1/2000 c
   светочувствительность: Auto, ISO 50/100/200/400
   видео MPEG-4: HQ/Normal 640x480@30, LP 320x240@15 со звуком (моно)
   разъем для SD/MMC-карт
   время жизни батареи 680 снимков, либо 1 ч. 10 мин. съемки видео, либо 5 ч. 30 мин. записи аудио
   габариты 90x59x16 мм
   вес 115 г
   Очередное пополнение в семействе тонких камер Casio размером с кредитную карточку отличается от предыдущей модели EX-S500 расширенными возможностями съемки видео. В этом режиме светочувствительность устанавливается автоматически, и, кроме того, действует механизм стабилизации изображения. Функция Direct Movie включает видеосъемку при нажатии кнопки Movie; Snapshot-In-Movie позволяет делать фотоснимки при съемке видео, а использование Past Movie гарантирует запись пяти секунд до нажатия кнопки Movie. Оптического видоискателя у камеры нет, а экран хоть и большой, но с низким разрешением. При помощи странной настройки Revive Shot в меню Best Shot (всего в нем 34 режима) можно снимать старые бумажные фотографии (видимо, это сделано для тех, у кого нет сканера).
Беспроводной телевизор LG 15LW1R
   15-дюймовый экран
   разрешение 1024x768 (соотношение сторон 4:3)
   яркость 450 кд/кв. м
   контрастность 500:1
   время отклика матрицы 16 мс
   углы обзора 160/130 градусов по вертикали/горизонтали
   подстройка цветовой температуры
   системы приема: PAL/ SECAM-BG/DK, PAL-I, SECAM-L/L’
   встроенные динамики 2x1,5 Вт, есть экранный эквалайзер
   поддержка беспроводных сетей 802.11b/g
   поддержка форматов MPEG-1/2/4/DivX, MP3 и WMA, JPEG
   габариты 540x390x340 мм
   Новый небольшой телевизор (может использоваться в качестве компьютерного монитора) снабжен адаптером беспроводной связи. В комплект входит специальный модуль, который может подключаться к выводящему устройству (скажем, DVD-плейеру) и передавать сигнал на телевизор. Максимальное расстояние, на котором работает такой тандем, составляет 35 м. Поскольку аппарат истинно беспроводной, он способен питаться не только от сети, но и от встроенной литий-ионной батареи, которой хватает на три часа непрерывного просмотра. Ее зарядка занимает четыре часа (если телевизор выключен) или шесть часов (если включен). В выключенном состоянии у устройства горит голубой индикатор, меняющий яркость в зависимости от освещенности.
Внешний DVD-привод Sony DRX-810UL/T
   чтение DVD-ROM, запись DVD+/-R 16x
   запись DVD+/—RW 8x/6x, запись DVD+R 4x
   скорости CD 48x/32x/48x
   2-Мбайт буфер
   интерфейсы i.Link (он же FireWire, он же IEEE 1394) и USB 2.0
   совместимость с компьютерами Apple и PC
   габариты 50x163x245 мм
   Новая версия модели DRX-810UL ориентирована большей частью на приверженцев Mac, поскольку, помимо традиционного софта для Windows, имеет в комплекте поставки программу Roxio Toast 6 Lite (пользователи ПК, однако, найдут пакет Nero). Как и у 810UL, у новинки приятная глазу необычная вертикальная конструкция, вполне в «яблочном стиле». Sony надеется, что ее привод заинтересует владельцев Mac mini, а также планирующих апгрейд обладателей eMac. Цена новинки в российской рознице — 150 долларов.
Ноутбук Dell XPS M140
   процессор Pentium M вплоть до 770-го (2,13 ГГц), чипсет 915GM
   14,1-дюймовый широкоформатный ЖК-экран с разрешением 1280x900
   встроенный в чипсет графический адаптер (GMA 900)
   встроенный адаптер Wi-Fi (802.11b или 802.11b/g)
   до 2 Гбайт памяти (часть используется видеоадаптером)
   жесткий диск до 80 Гбайт оптический привод на выбор, вплоть до DVD+/—R (слот расширения)
   габариты 38x330x244 мм
   вес 2,48 кг
   Ноутбук редко встречающегося форм-фактора (а для Dell это вообще первая 14,1-дюймовая широкоформатная модель портативного ПК) является вторым в линейке XPS после недавно дебютировавшего 17-дюймового XPS M170. Покрытие TrueLite придает экрану глянец и обеспечивает повышенную четкость картинки. Несмотря на неудачно выбранный игрушечный видеоадаптер (модификаций с акселератором от nVidia или ATI не предлагается), компьютер претендует на мультимедийность, о чем говорит хотя бы стандартная предустановка Windows XP Media Center Edition и предлагаемый в качестве опции телевизионный тюнер. Поддерживается технология Dell MediaDirect 2.0, позволяющая слушать музыку, смотреть фотографии и даже видео, не загружая операционную систему.
Ноутбук Sony Vaio AX Digital Studio
   процессор Pentium M 750 (1,86 ГГц, FSB 533 МГц), чипсет 915PM
   17-дюймовый экран Xbrite с разрешением 1440x900
   1 Гбайт памяти (до 2 Гбайт)
   жесткий диск 160 Гбайт
   графический адаптер ATI Mobility Radeon X700, 256 Мбайт (HyperMemory)
   беспроводной адаптер 802.11b/g
   габариты 395x40x293 мм
   Странноватая мультимедийная модель: цена велика, разрешение экрана не слишком высокое для такой диагонали, процессор сомнительной мощности, а время работы от стандартной батареи всего 1—1,5 ч. (такие цифры встречаются обычно у «замен десктопа», коей ноутбук, собственно, и является). Но в общем все это в духе старого доброго брэнда. Из хорошего: встроенная 0,3-Мп камера для видеоконференций, многофункциональный отсек для периферии — в него можно вставить специальные модули, в числе которых ТВ-тюнер, привод DVD+/—RW или комбинированный, дополнительный жесткий диск объемом 80 Гбайт. Операционная система — Windows XP MCE.
Ноутбук Toshiba Satellite M70
   процессор Pentium M 760 (2 ГГц, FSB 533 МГц)
   15,4-дюймовый ЖК-экран TruBrite (1280x800)
   512 Мбайт памяти (до 2 Гбайт)
   графический адаптер ATI Mobility Radeon X700 (до 128 Мбайт памяти)
   жесткий диск 80 Гбайт
   привод DVD Super Multi (DVD+/—RW, DVD+/—R DL, DVD-RAM)
   встроенные колонки Harman Kardon, виртуальный surround
   габариты 360x263x39 мм
   вес 2,7 кг
   Впервые ноутбук от Toshiba поддерживает соединения 3G/UMTS. Благодаря фирменному программному пакету ConfigFree компьютер может автоматически переключаться между обычной (проводной) LAN, WLAN и 3G/UMTS, а также идентифицировать сети 3G/UMTS, подключаться к ним и управлять соединением. Satellite M70 снабжен кнопками для управления мультимедийными возможностями и поддерживает технологию ExpressMediaPlayer, позволяющую воспроизводить видео и музыку без загрузки ОС (предустановлена Windows XP HE). Максимальное время жизни батареи — два с половиной часа. Цена от 1800 долларов в зависимости от комплектации.