Еще пару лет назад на большинстве домашних компьютеров работала 32-битная версия Windows, а 64-битный вариант использовали исключительно профессионалы (например, для ресурсоемких программ видеомонтажа). При этом процессоры с 64-разрядной архитектурой выпускаются уже с 2003 года, а двумя годами позже на рынок вышла Windows XP в 64-битном варианте.Однако на большинстве новых компьютеров 64-битные версии Windows начали устанавливать только после появления Windows 7. Какие же преимущества дает 64-битная архитектура? Действительно ли она работает быстрее? С какими проблемами столкнутся пользователи? Об этом читайте далее.
Преимущества 64-разрядной системы
Разрядность может быть 32 или 64 бита, но на экране обе версии Windows 7 выглядят одинаково. Возможности систем также идентичны: в комплекте те же дополнительные программы, например Windows Media Player или Paint. Однако «под капотом» все же есть существенные различия.
- Увеличенная рабочая скорость.С 64-битной версией Windows компьютер может обрабатывать за единицу времени в два раза больше данных, чем с 32-битной. При этом он использует расширенные возможности 64-разрядных процессоров, которые за один такт способны обрабатывать 64 бита данных (8 байт). Поэтому программы, оптимизированные для 64-битных ОС, умеют работать быстрее, чем их аналоги для процессоров, обрабатывающих всего 32 бита (4 байта) за один такт.
- Больше оперативной памяти.32-битные версии Windows могут использовать максимум 4 Гб памяти, причем не вся она доступна программам. Например, 1 Гб занимает сама операционная система, к тому же до 1 Гб (в зависимости от ПК) резервируется для видеопамяти. Так что для самих программ остается не более 2 Гб. Если они «прожорливы», памяти может не хватить.
Для 64-битных версий Windows подобного ограничения нет. Максимальная рабочая память в Windows 7 Home Premium выросла до 16 Гб; версии Professional, Ultimate и Enterprise могут работать даже со 192 Гб. Благодаря большей доступной памяти Windows реже приходится выгружать разделы программ на сравнительно медленный жесткий диск (в файл подкачки), поэтому и компьютер работает быстрее.
Какая разница между windows 32 bit и 64 bit
Требования к компьютеру
- Процессор.Важнейшим необходимым условием для работы 64-битной операционной системы является процессор с 64-битной архитектурой. Изготовитель процессоров AMD называет эту технологию AMD64, а его конкурент Intel – EM64T.
- Процессоры с 64-битной архитектурой уже стали скорее правилом, чем исключением. Примерно с 2006 года большинство новых компьютеров и ноутбуков оснащается именно ими, хотя многие все еще работают под 32-битной Windows. Узнать, какой именно процессор установлен на вашем ПК, можно с помощью программы CPU-Z (см. рис. внизу).
- Оперативная память. 64-битная Windows имеет смысл лишь в том случае, если у компьютера не меньше 4 Гб оперативной памяти.
- В остальном 64-битные версии ОС не предъявляют особых требований к аппаратной части (например, к HDD или видеокарте) по сравнению с 32-битными.
Как из 32 разрядной системы сделать 64 разрядную?
Если в 64-битной Windows работают 32-битные программы, то в Диспетчере задач они помечаются соответствующим образом (*32). Диспетчер задач можно запустить, нажав комбинацию клавиш Ctrl+Shift+Esc
Как узнать версию операционной системы?
Это очень просто: щелкните по кнопке «Пуск», затем правой кнопкой мыши – по «Компьютер» и затем выберите «Свойства» . В открывшемся окне напротив «Тип системы» увидите версию системы.
Недостатки 64-разрядной системы
- Нужны новые драйверы. Все устройства требуют для 64-битной Windows 7 соответствующих драйверов (аналоги для 32-битной ОС работать не будут). Для современных устройств это обычно не проблема, но для устаревших моделей многие производители не разрабатывают 64-битные версии драйверов. Поэтому прежде чем переходить на 64-битную Windows, зайдите на веб-страницу производителя устройства и убедитесь, что для вашего оборудования доступна 64-битная версия драйвера.
- Требуется больше памяти. Многие структуры данных в 64-битных программах имеют размер 8 байт (64 бит). Поэтому программы занимают на 10–20% больше места на жестких дисках, чем соответствующие 32-битные версии с 4-байтными структурами. Потребность в оперативной памяти для 64-битного ПО также повышается – примерно на 15 процентов.
Работает ли Windows 7 на нетбуках?
Первые процессоры для нетбуков, например Intel Atom N270, не были 64-битными. Только с появлением семейства Pineview (N450 и выше) процессоры Atom стали поддерживать 64-разрядные операции и, соответственно, 64-битные ОС. Впрочем, большинство нетбуков оснащалось всего 1 Гб оперативной памяти, поэтому даже при апгрейде до 2 Гб они едва-едва соответствовали минимальным требованиям 64-битной Windows 7. То есть обычные нетбуки не выполняют одно из главных условий эффективного использования 64-разрядной ОС, каковым является наличие не менее 4 Гб оперативной памяти.
Лучшая пятерка программ для 64-битной ОС
Эти программы прекрасно работают в 64-битной операционной системе и пользуются повышенным спросом у пользователей.
- 7-ZIPПрограмма-архиватор, предназначенная для сжатия файлов. Может быть полезна, например, когда требуется скопировать много больших файлов на USB-драйв.
- Nitro PDF ReaderНастоящий «швейцарский нож» для работы с PDF-файлами. Эта простая программа позволяет легко создавать, просматривать и редактировать документы данного формата.
- nHancerУтилита обеспечивает доступ к настройкам графической платы NVIDIA. Работает со всеми распространенными моделями видеокарт и даже с SLI-конфигурациями. Можно выбирать профили настроек для разных игр.
- ProgDVBЕсли в вашем ПК установлен цифровой ТВ-тюнер, с помощью ProgDVB удастся просматривать телевизионные передачи и записывать их на жесткий диск. Программа работает с TВ-тюнерами разных производителей. Кроме бесплатного варианта, есть расширенная платная версия.
- BlenderПрограмма для работы с трехмерными объектами. В ее состав входят средства для моделирования, анимации, рендеринга, постобработки видео, а также создания интерактивных игр.
Работают ли 32-битные программы под 64-битной Windows?
Подсистема преобразования под названием Windows-on-Windows 64-bit (WoW64) обеспечивает совместную работу 32-битного ПО в 64-битной операционной системе (см. рис. вверху). С ее помощью большинство 32-битных программ работает безупречно но, к сожалению, есть исключения. Трудности обычно возникают с программами следующих категорий.
- Резервное копирование.Программы для создания бэкапов напрямую работают с системными папками Windows. Но WoW64 иногда перенаправляет доступ 32-битного ПО в другие папки. Если программа этого не учитывает, резервное копирование может оказаться неполным или даже ошибочным.
- Оптимизация Windows.Старые, рассчитанные на 32-битную Windows программы оптимизации нельзя запускать на 64-битной Windows 7. Подчас они способны больше навредить, чем помочь.
- Антивирусы.Если требуется надежная защита для ПК, используйте в 64-битной Windows только 64-битные версии антивирусов и аналогичных программ. Устаревшее 32-битное защитное ПО неспособно контролировать все системные папки, а значит, может пропустить вредителей, разработанных специально для атак на 64-битную Windows. Современные антивирусные пакеты известных производителей, например «Лаборатории Касперского», Norton или Symantec, подходят как для 32-, так и для 64-битной Windows.
Совет. Если программа под 64-битную Windows работает со сбоями, избавиться от них нередко помогает установка новейшей версии и всех обновлений с веб-сайта изготовителя. К тому же в «Центре совместимости Windows 7» можно проверить, совместимы ли ваши устройства и программы с 64-битной системой.
В 64-битной Windows программы работают быстрее
Некоторые 64-битные программы были всего лишь преобразованы («портированы») для применения в 64-битной Windows, но по сути остались 32-битными. Например, хотя они и имеют 64-битные структуры данных, однако хранят в них по-прежнему 32 бита данных. Подобные программы, как правило, не в состоянии работать быстрее.
64-битные программы реализуют свои преимущества, лишь если с самого начала разрабатывались и оптимизировались для применения в 64-битных Windows. В тесте ComputerBild такие программы в среднем работали на 13% быстрее 32-битных «собратьев».
Старое 32-битное ПО в 64-битной Windows работает даже медленнее, чем в 32-битной системе; причина – преобразование подсистемой WoW64.
Список 64-битных программ
Найти подобные программы пока не так легко, как хотелось бы. В таблице внизу приведены важнейшие 64-битные программы, многие из них бесплатны и без особого труда скачиваются с сайта разработчика.
Программа | Версия | Категория | Интернет-адрес | Цена |
7-Zip | 9.20 | Архиватор | www.7-zip.org.ua/ru | бесплатно |
AVG Anti-Virus Free | 2011 | Антивирусная программа | www.freeavg.com | бесплатно |
Blender | 2.59 | Редактирование 3D-моделей | www.blender.org | бесплатно |
CCleaner | 3.10 | Очистка системы | www.piriform.com | бесплатно |
Defraggler | 2.06 | Дефрагментатор | www.piriform.com | бесплатно |
GIMP | 2.7.3 | Обработка изображений | www.gimp.org | бесплатно |
Image Composite Editor | 1.4.4 | Создание панорам | www.microsoft.ru | бесплатно |
Internet Explorer | 9 | Интернет-браузер | www.microsoft.ru | бесплатно |
iTunes | 10.4 | Воспроизведение музыки и видео | www.apple.com/ru/itunes | бесплатно |
Mathematics | 4.0 | Математическая программа | www.microsoft.ru | бесплатно |
MediaCoder | 2011 R8 | Конвертирование видео | www.mediacoderhq.com | бесплатно |
Mixxx | 1.9.0 | DJ-программа | www.mixxx.org | бесплатно |
nHancer | 2.5.9 | Оптимизация графических плат | www.nhancer.com | бесплатно |
Nitro PDF Reader | 2.0 | Редактирование PDF-файлов | www.nitroreader.com | бесплатно |
Office | 2010 | Офисный пакет | www.microsoft.ru | от 3 тыс. руб. |
Paint.NET | 3.5.8 | Обработка изображений | www.getpaint.net | бесплатно |
Partition Manager | 11 | Управление разделами жестких дисков | www.paragon.ru | 590 руб. |
PDF Xchange Viewer | 2.5.197 | Просмотр PDF | www.tracker-software.com | бесплатно |
ProgDVB | 6.70.6 | Просмотр и запись ТВ-передач | www.progdvb.com | бесплатно |
SafeErase | 5.0 | Надежное удаление данных | www.oo-software.com | 1200 руб. |
Sandboxie | 3.58 | Защищенное окружение | www.sandboxie.com | бесплатно |
Total Commander | 7.56а | Файловый менеджер | www.wincmd.ru | от 1750 руб. |
SyncToy | 2.1 | Синхронизация | www.microsoft.ru | бесплатно |
Thunderbird | 6.0.1 | Почтовая программа | www.mozilla.org/ru/thunderbird | бесплатно |
Vegas Pro | 10 | Программа видеомонтажа | www.sonycreativesoftware.com | 28 тыс. руб. |
Virtual Dub | 1.9.11 | Конвертирование видео | www.virtualdub.org | бесплатно |
Virtual PC | 6.1 | Программа виртуализации | www.microsoft.ru | бесплатно |
WinRAR | 4.01 | Архиватор | www.rarlab.com | 850 руб. |
Похожие публикации
- Настройка параметров индексирования для быстрого поиска в Windows 7
- Настройка файла подкачки (pagefile.sys) и перенос на другой жесткий диск
- Запуск старых программ в Windows 7. Режим совместимости
Источник: www.windxp.com.ru
64-разрядная система — что это? Обзор, описание, сравнение
Несомненно, сегодня трудно найти пользователя ПК, который бы не сталкивался с понятием «64-разрядная система». Что это такое, внятно ответить сможет далеко не каждый, хотя слышали об этом практически все. Попробуем разобраться в этом вопросе и прояснить ситуацию. В качестве примера для дальнейших рассуждений и сравнения возьмем популярную ОС Windows 7 64 и 32 бита. Также посмотрим, в чем состоит их отличие, и затронем животрепещущие вопросы повышения производительности компьютера.
64-разрядная система: что это в общих чертах?
Сейчас, пожалуй, не будем вдаваться в специфичные компьютерные термины, а попробуем объяснить понимание разрядности, так сказать, простым общечеловеческим языком.
Что представляет собой разрядность вообще? Как уже понятно, выражается она в битах, но рассматривать это понятие нужно не только с точки зрения самой системы (Windows 7 64 бита, например), но и с учетом периферийных устройств (грубо говоря «железной» начинки любого компьютера). Таким образом, простейший вывод: разрядность – это количество бит, которые могут обрабатываться такими устройствами одновременно при условии, что и система способна посылать такие запросы. Естественно, это самая простая трактовка.
32-разрядная или 64-разрядная система: в чем разница?
Чтобы в полной мере осознать разницу между системами с разной битностью, необходимо сделать небольшой экскурс в историю развития компьютерной техники, в частности, процессорных чипов.
На заре эволюции все выпускаемые на то время процессоры имели разрядность 8 бит, то есть, могли одновременно обработать только 8 бит информации. Революция совершилась, когда им на смену пришли 32-битные чипсеты, которые, кстати сказать, благодаря своей универсальности, используются и до сих пор. Еще спустя достаточно длительное время, появились процессорные чипы с архитектурой 64 бита, но и это, как оказывается не предел, ведь в ближайшем будущем нам уже обещают появление 128-битных процессоров и создаваемых для них ОС.
Тут есть интересный факт. Ранее 32-битные системы обозначались как «x32», потом была принята аббревиатура «x86». Почему и с какой целью это было сделано, доподлинно не знает никто. Тем не менее, сегодня запросто можно сравнить, скажем, Windows 7 32 бита и аналогичную версию 64 бита. Внешне по интерфейсу они не отличаются вообще.
А вот в программном плане разница довольно существенная.
Дело в том, что 64-разрядные системы Windows имеют в своем арсенале некоторые компоненты и возможности, которые в 32-битных версиях недоступны. Самый простой пример – универсальный модуль гипервизора Hyper-V, представляющий собой виртуальную машину, способную устанавливать дочерние ОС (даже отличные от Windows), а также тестировать оборудование или программное обеспечение без оказания воздействия на систему основную.
Но это только один аспект. На самом деле все гораздо сложнее и больше относится к процессорам и оперативной памяти.
Процессорная поддержка
Что касается процессорных чипов, естественно, 64-битные устройства имеют большее быстродействие. Однако ту стоит обратить внимание на тот момент, что на компьютер с процессором, не поддерживающим данную разрядность, 64-битная Windows попросту не установится. Собственно, это является одним
из пунктов системных требований.
Зато при использовании архитектуры x64, управлять процессорами и их параметрами гораздо удобнее. Так, например, можно запросто задействовать все ядра, чтобы ускорить обработку данных и команд, или включить виртуальный поток обработки под названием Hyper Threading.
Максимальный объем оперативной памяти
Но тут мы подходим к одному из самых наболевших вопросов, касающихся объема «оперативки». Разница, например, между Windows 7 32 бита и версией x64 сразу проявляется в том, что 32-битные системы, не поддерживают установку оперативной памяти с объемом, превышающим 4 Гб.
Иными словами, сколько туда планок не ставь, они на уровне «железа» даже не будут определены. И именно это ограничение создает достаточно много проблем при разработке и корректной работе ресурсоемких программ и приложений, когда требуется повышенная эффективность.
Зато 64-разрядная версия Windows 7 (или любая другая система) может работать с достаточно большими объемами «оперативки». К примеру, версия Windows 7 Максимальная «видит» до 128 Гб, Профессиональная – до 192 Гб, хотя, в принципе, считается, что ограничения эти весьма условны. И если заглянуть в ближайшее будущее, можно себе представить, сколько же «оперативки» смогут воспринимать системы с архитектурой 128 бит.
Просмотреть, есть ли в конфигурации поддержка архитектуры 64 бита, можно через «Панель управления», где выбирается раздел счетчиков и средств производительности. Далее используется меню отображения и печати подробных результатов. Именно там и указывается 64-битная поддержка.
Вопросы быстродействия
Теперь посмотрим на разрядность ОС и совместимость с «железом» с другой стороны. Более высокая разрядность еще отнюдь не означает, что на определенной конфигурации, пусть даже соответствующей минимальным требованиям, при установке 64-разрядной ОС быстродействие будет лучше, чем при инсталляции той же версии, но с архитектурой 32 бита.
Нетрудно догадаться, что 64-битные системы потребляют больше памяти, причем и оперативной, и виртуальной. Приведем простое объяснение. Допустим, у нас имеется компьютер или ноутбук с установленными 2 Гб «оперативки». Сама 64-битная «семерка» в среднем потребляет 768 Мб (при настройках по умолчанию). Сюда же включаем 64-разрядные пользовательские приложения и прикладные программы.
В зависимости от сложности и ресурсоемкости, «съедаемый» объем может колебаться в достаточно широких пределах. Но все равно и так понятно, что быстродействие сводится практически к нулю. В этом случае, как частичное решение, можно использовать инсталляцию 32-битных приложений в 64-разрядную систему, снизив загрузку «оперативки» и процессора.
Универсальность
Итак, перед нами 64-разрядная система. Что это такое, думается, уже немного понятно. Теперь перейдем еще к одному насущному вопросу, связанному с работой приложений и пользовательских программ.
Тут все просто: в системы 64 бита 32-битные приложения устанавливать можно (иногда это может стать ключевым фактором в обеспечении из корректной работы), но вот 64-разрядные программы в системы с архитектурой, увы, не установишь никак.
Зато при использовании схем совмещения 32-битынх программ и 64-битных систем прирост производительности именно отношении работы приложения будет достаточно весомым. В частности, это касается мультимедиа.
Например, при работе со звуком очень часто используются драйверы ASIO4ALL (иногда ASIO DX Full Duplex), которые сами по себе достаточно тяжеловесны, особенно при условии использования максимального буфера, соответствующего общему объему оперативной памяти, правда, выраженному не в мегабайтах, а в сэмплах. При условии установки 64-битного плагина нагрузка возрастает. Но если поставить версию в 32-бита, плагин или программа будут просто «летать». И это далеко не единственный пример. Об играх речь сейчас вообще не идет, там тоже своих «примочек» хватает.
Кстати, чтоб просмотреть, какая именно версия ОС установлена на компьютере, далеко ходить не надо. Обычный правый клик на значке компьютера с выбором меню свойств, представит нужную информацию.
Переход с 32-битной системы на 64-битную
Если рассматривать переход с одной архитектуры на другую (с низшей на высшую), следует учитывать тот факт, что Windows-системы, к примеру, та же «семерка» предполагает изменение файловой системы с FAT32 на NTFS.
Грубо говоря, на FAT32 она вообще не встанет. На пользовательских документах, созданных, скажем, в офисных приложениях, это никак не отразится. То же самое касается и программ, но только при условии, когда 64-битная система ставится поверх существующей в 32 бита, но с уже имеющейся файловой системой NTFS. Как правило, такой переход осуществляет достаточно просто и безболезненно. В противном случае, с изменение файловой системы потребуется переустановка.
Обратный переход
Но вот обратный переход с 64 бит на 32 осуществить без изменения файловой системы невозможно. В данном случае придется полностью форматировать раздел, в который будет установлена 32-биная версия системы. Само собой разумеется, что такой процесс повлечет за собой уничтожение всех имеющихся данных. Поэтому, не говоря уже о переустановке программ и приложений, перед инсталляцией необходимо скопировать важные файлы и документы, либо в другой логический раздел, либо на имеющийся съемный носитель (флэшка, карта памяти, оптический диск).
В каких случаях стоит устанавливать 64-битную ОС?
Целесообразность установки 64-битной ОС напрямую зависит от «железной» конфигурации компьютера или ноутбука. Конечно, можно ставить ту же 64-разрядную «семерку» на терминалы, отвечающие минимальным требованиям (соответствующий тип 2-ядерного процессора, не менее 2 Гб оперативной памяти и свободное место на диске, в зависимости от устанавливаемой версии).
Но лучше обратить внимание на рекомендуемые параметры, а то и вообще взять несколько завышенную конфигурацию (как минимум, 4 Гб оперативной памяти). Поверьте, это не повредит.
Вопросы программного обеспечения
Если до недавнего времени, для систем 64 бита, в общем-то. Мало кто выпускал драйверы, не говоря уже о программных продуктах, сегодня практически все ведущие разработчики ПО ориентированы в первую очередь именно на эти системы. «Операционки» с архитектурой 32 бита медленно, но уверенно уходят в прошлое, хотя пока все еще остаются достаточно популярными (та же Windows XP SP3 или 32-битная «семерка»).
А если в ближайшие годы появится архитектура 128 бит, о системах и процессорах, имеющих в своем распоряжении несчастные 32 бита, можно будет забыть напрочь. И это не пустые слова, ведь, как известно, технический прогресс на месте не стоит, а двигается, так сказать, семимильными шагами.
Вместо послесловия
Вот мы вкратце и рассмотрели тему «64-разрядная система: что это?». Тут для лучшего понимания специально не был сделан упор на компьютерную лексику и терминологию. Впрочем, исходя из всего выше изложенного, каждый может сделать для себя определенные выводы, в частности, стоит отметить, что инсталляция и использование 64-битной системы не всегда оправдано на слабых или минимальных конфигурациях.
Напоследок стоит отметить, что обновление 64-разрядной системы, по сути, ничем не отличается от версии 32 бита, только служба, отвечающая за этот процесс, скачивает и устанавливает необходимые модули и компоненты, рассчитанные именно на данную архитектуру. И, как уже понятно, визуального отличия между разными версиями не существует, они проявляются только на программном уровне.
Источник: fb.ru
64 бита
Статья раскрывает смысл термина «64 бита». В статье кратко рассмотрена история развития 64-битных систем, описаны наиболее распространенные на данный момент 64-битные процессоры архитектуры Intel 64 и 64-битная операционная система Windows.
Введение
В рамках архитектуры вычислительной техники под термином «64-битный» понимают 64-битные целые и другие типы данных, имеющих размер 64 бита. Под «64-битными» системами могут пониматься 64-битные архитектуры микропроцессоров (например, EM64T, IA-64) или 64-битные операционные системы (например, Windows XP Professional x64 Edition). Можно говорить о компиляторах, генерирующих 64-битный программный код.
В данной статье будут рассмотрены различные моменты, связанные с 64-битными технологиями. Статья предназначена для программистов, желающих начать разрабатывать 64-битные программы, и ориентирована на Windows-разработчиков, поскольку для них вопрос знакомства с 64-битными системами наиболее актуален.
История 64-битных систем
64-битность только недавно вошла в жизнь большинства пользователей и прикладных программистов. Однако работа с 64-битными данными имеет уже длинную историю.
1961: IBM выпускает суперкомпьютер IBM 7030 Stretch, в котором используются 64-битные слова данных, 32-битные или 64-битные машинные инструкции.
1974: Control Data Corporation запускает векторный суперкомпьютер CDC Star-100, в котором используется архитектура 64-битных слов (предыдущие системы CDC имели 60-битную архитектуру).
1976: Cray Research выпускает первый суперкомпьютер Cray-1, в котором реализована архитектура 64-битных слов и который послужит основой для всех последующих векторных суперкомпьютеров Cray.
1985: Cray выпускает UNICOS — первую 64-битную реализацию операционной системы Unix.
1991: MIPS Technologies производит первый 64-битный процессор, R4000, в котором реализована третья модификация разработанной в их компании архитектуры MIPS. Этот процессор используется в графических рабочих станциях SGI начиная с модели IRIS Crimson. Kendall Square Research выпускает свой первый суперкомпьютер KSR1, построенный на основе их собственной запатентованной 64-битной архитектуры RISC под операционной системой OSF/1.
1992: Digital Equipment Corporation (DEC) представляет полностью 64-битную архитектуру Alpha — детище проекта PRISM.
1993: DEC выпускает 64-битную Unix-подобную операционную систему DEC OSF/1 AXP (позже переименованную в Tru64 UNIX) для своих систем, построенных на архитектуре Alpha.
1994: Intel объявляет о своих планах по разработке 64-битной архитектуры IA-64 (совместно с компанией Hewlett-Packard) — преемника их 32-битных процессоров IA-32. Дата выпуска назначена на 1998-1999 годы. SGI выпускает IRIX 6.0 с 64-битной поддержкой чипсета R8000.
1995: Sun запускает 64-битный процессор семейства SPARC UltraSPARC. HAL Computer Systems, подчиненная Fujitsu, запускает рабочие станции, созданные на основе 64-битного процессора SPARC64 первого поколения, независимо разработанного компанией HAL. IBM выпускает микропроцессоры A10 и A30, а также 64-битные процессоры PowerPC AS. IBM также выпускает 64-битное обновление для системы AS/400, способное преобразовывать операционную систему, базы данных и приложения.
1996: Nintendo представляет игровую консоль Nintendo 64, созданную на основе более дешевого варианта MIPS R4000. HP выпускает реализацию 64-битной 2.0 версии собственной архитектуры PA-RISC PA-8000.
1997: IBM запускает линейку RS64 64-битных процессоров PowerPC/PowerPC AS.
1998: Sun выпускает Solaris 7 с полной 64-битной поддержкой UltraSPARC.
1999: Intel выпускает набор команд для архитектуры IA-64. AMD публично объявляет о своем наборе 64-битных расширений для IA-32, который был назван x86-64 (позже переименован в AMD64).
2000: IBM выпускает свой первый 64-битный мэйнфрейм zSeries z900, совместимый с ESA/390, а также новую операционную систему z/OS.
2001: Intel наконец запускает линейку 64-битных процессоров, которые теперь получают название Itanium и рассчитаны на высокопроизводительные серверы. Проект не соответствует ожиданиям из-за многочисленных задержек при выпуске IA-64 на рынок. NetBSD становится первой операционной системой, которая запускается на процессоре Intel Itanium после его выхода. Кроме того, Microsoft также выпускает Windows XP 64-Bit Edition для архитектуры IA-64 семейства Itanium, хотя в ней сохраняется возможность запускать 32-битные приложения при помощи прослойки WoW64.
2003: AMD представляет линейки процессоров Opteron и Athlon 64, созданные на основе архитектуры AMD64, которая является первой 64-битной процессорной архитектурой, основанной на архитектуре x86. Apple начинает использовать 64-битный процессор «G5» PowerPC 970 производства IBM. Intel утверждает, что процессорные чипы семейства Itanium останутся единственными 64-битными процессорами, разработанными в их компании.
2004: В ответ на коммерческий успех AMD, Intel признается, что они разрабатывали клон расширений AMD64, которому дали название IA-32e (позже переименован в EM64T, и затем еще раз в Intel 64). Intel также выпускает обновленные версии семейств процессоров Xeon и Pentium 4 с поддержкой новых команд.
2004: VIA Technologies представляет свой 64-битный процессор Isaiah.
2005: 31 января Sun выпускает Solaris 10 с поддержкой процессоров AMD64 / Intel 64. 30 апреля Microsoft выпускает Windows XP Professional x64 Edition для процессоров AMD64 / Intel 64.
2006: Sony, IBM и Toshiba начинают выпуск 64-битного процессора Cell для PlayStation 3, серверов, рабочих станций и других устройств. Microsoft выпускает Windows Vista с включенной 64-битной версией для процессоров AMD64 / Intel 64, которая поддерживает 32-битную совместимость. Все Windows-приложения и компоненты являются 64-битными, однако многие из них имеют 32-битные версии, включенные в систему в виде плагинов в целях совместимости.
2009: Как и Windows Vista, Windows 7 компании Microsoft включает полную 64-битную версию для процессоров AMD64 / Intel 64, и на большинство новых компьютеров по умолчанию устанавливается 64-битная версия. Выходит операционная система компании Apple Mac OS X 10.6, «Snow Leopard» которая имеет 64-битное ядро и предназначена для процессоров AMD64 / Intel 64, однако по умолчанию эта система устанавливается только на некоторые из последних моделей компьютеров компании Apple. Большинство приложений, поставляемых с Mac OS X 10.6, теперь также являются 64-битными.
Более подробно с историей развития 64-битных систем можно познакомиться в статье Джона Машей «Долгая дорога к 64 битам» [1] и в энциклопедической статье в Wikipedia «64-bit» [2].
Прикладное программирование и 64-битные системы
- IA-64 64-битная микропроцессорная архитектура, разработанная совместно компаниями Intel и Hewlett Packard. Реализована в микропроцессорах Itanium и Itanium 2. Для более подробного знакомства с архитектурой IA-64 можно обратиться к следующим статьям в Wikipedia: «IA-64», «Itanium», «Itanium 2». Архитектуру Itanium поддерживает большое количество производителей серверов: Bull, Fujitsu, Fujitsu Siemens Computers, Hitachi, HP, NEC, SGI и Unisys. Эти производители присоединились к Intel и множеству разработчиков ПО для создания Itanium Solutions Alliance, с целью продвижения архитектуры и ускорения темпов портирования ПО.
- Intel 64 (AMD64 / x86-64 / x64 / EM64T) — данная архитектура представляет собой расширение архитектуры x86 с полной обратной совместимостью. Существует множество вариантов названия данной архитектуры, что приводит к путанице, хотя, по сути, все эти названия обозначают одно и тоже: x86-64, AA-64, Hammer Architecture, AMD64, Yamhill Technology, EM64T, IA-32e, Intel 64, x64. Более подробно узнать о том, как появилось так много названий, можно в статье из Wikipedia: «X86-64». Процессоры с архитектурой Intel 64 нашли широкое распространение персональных компьютерах. И скорее всего ваш компьютер оснащен именно процессором с данной архитектурой.
Архитектура Intel 64 (AMD64)
Рассматриваемая архитектура Intel 64 простое, но в то же время мощное обратно совместимое расширение устаревшей промышленной архитектуры x86. Она добавляет 64-битное адресное пространство и расширяет регистровые ресурсы для поддержки большей производительности перекомпилированных 64-битных программ. Архитектура обеспечивает поддержку устаревшего 16-битного и 32-битного кода приложений и операционных систем без их модификации или перекомпиляции.
Отличительной особенностью Intel 64 является поддержка шестнадцати 64-битных регистров общего назначения (в x86-32 имелось восемь 32-битных регистров). Поддерживаются 64-битные арифметические и логические операции над целыми числами. Поддерживаются 64-битные виртуальные адреса. Для адресации новых регистров для команд введены «префиксы расширения регистра», для которых был выбран диапазон кодов 40h-4Fh, использующихся для команд INC и DEC в 32- и 16-битных режимах. Команды INC и DEC в 64-битном режиме должны кодироваться в более общей, двухбайтовой форме.
16 целочисленных 64-битных регистра общего назначения (RAX, RBX, RCX, RDX, RBP, RSI, RDI, RSP, R8 — R15),
8 80-битных регистров с плавающей точкой (ST0 — ST7),
8 64-битных регистров Multimedia Extensions (MM0 — MM7, имеют общее пространство с регистрами ST0 — ST7),
16 128-битных регистров SSE (XMM0 — XMM15),
64-битный указатель RIP и 64-битный регистр флагов RFLAGS.
Необходимость 64-битной архитектуры определяется приложениями, которым необходимо большое адресное пространство. В первую очередь это высокопроизводительные серверы, системы управления базами данных, САПР и, конечно, игры. Такие приложения получат существенные преимущества от 64-битного адресного пространства и увеличения количества регистров. Малое количество регистров, доступное в устаревшей x86 архитектуре, ограничивает производительность в вычислительных задачах. Увеличенное количество регистров обеспечивает достаточную производительность для многих приложений.
- 64-битное адресное пространство;
- расширенный набор регистров;
- привычный для разработчиков набор команд;
- возможность запуска старых 32-битных приложений в 64-битной операционной системе;
- возможность использования 32-битных операционных систем.
64-битные операционные системы
Практически все современные операционные системы сейчас имеют версии для архитектуры Intel 64. Например, Microsoft предоставляет Windows XP x64. Крупнейшие разработчики UNIX систем также поставляют 64-битные версии, как например Linux Debian 3.5 x86-64. Однако это не означает, что весь код такой системы является полностью 64-битным.
Часть кода ОС и многие приложения вполне могут оставаться 32-битными, так как Intel 64 обеспечивает обратную совместимость с 32-битными приложениями. Например, 64-битная версия Windows использует специальный режим WoW64 (Windows-on-Windows 64), который транслирует вызовы 32-битных приложений к ресурсам 64-битной операционной системы.
Далее в статье мы будем рассматривать только 64-битные операционные системы семейства Windows.
WoW64
Windows-on-Windows 64-bit (WoW64) — подсистема операционной системы Windows, позволяющая запускать 32-битные приложения на всех 64-битных версиях Windows.
- программы, скомпилированные для 16-разрядных операционных систем;
- программы режима ядра, скомпилированные для 32-разрядных операционных систем.
WoW64 на архитектуре Intel 64 (AMD64 / x64) не требует эмуляции инструкций. Здесь подсистема WoW64 эмулирует только 32-битное окружение, за счет дополнительной прослойки между 32-битным приложением и 64-битным Windows API. Где-то эта прослойка тонкая, где-то не очень. Для средней программы потери в производительности из-за наличия такой прослойки составят около 2%.
Для некоторых программ это значение может быть больше. Два процента это немного, но следует учитывать, что 32-битные приложения работают немного медленнее под управлением 64-битной операционной системы Windows, чем в 32-битной среде.
Компиляция 64-битного кода не только исключает необходимость в WoW64, но и дает дополнительный прирост производительности. Это связано с архитектурными изменениями в микропроцессоре, такими как увеличение количества регистров общего назначения. Для средней программы можно ожидать в пределах 5-15% прироста производительности от простой перекомпиляции.
Из-за наличия прослойки WoW64 32-битные программы работают менее эффективно в 64-битной среде, чем в 32-битной. Но все-таки, простые 32-битные приложения могут получить одно преимущество от их запуска в 64-битной среде. Вы, наверное, знаете, что программа, собранная с ключом /LARGEADDRESSAWARE:YES может выделять до 3-х гигабайт памяти, если 32-битная операционная система Windows запущена с ключом /3gb. Так вот, эта же 32-битная программа, запущенная на 64-битной системе, может выделить почти 4 GB памяти (на практике около 3.5 GB).
Подсистема WoW64 изолирует 32-разрядные программы от 64-разрядных путем перенаправления обращений к файлам и реестру. Это предотвращает случайный доступ 32-битных программ к данным 64-битных приложений. Например, 32-битное приложение, которое запускает файл DLL из каталога %systemroot%System32, может случайно обратиться к 64-разрядному файлу DLL, который несовместим с 32-битной программой. Во избежание этого подсистема WoW64 перенаправляет доступ из папки %systemroot%System32 в папку %systemroot%SysWOW64. Это перенаправление позволяет предотвратить ошибки совместимости, поскольку при этом требуется файл DLL, созданный специально для работы с 32-разрядными приложениями.
Подробнее с механизмами перенаправления файловой системы и реестра можно познакомиться в разделе MSDN «Running 32-bit Applications».
Программная модель Win64
Также как и в Win32 размер страниц в Win64 составляет 4Кб. Первые 64Кб адресного пространства никогда не отображаются, то есть наименьший правильный адрес это 0x10000. В отличие от Win32, системные DLL загружаются выше 4Гб.
- RCX: первый аргумент
- RDX: второй аргумент
- R8: третий аргумент
- R9: четвертый аргумент
Разница в соглашениях о вызове приводит к тому, что в одной программе нельзя использовать и 64-битный, и 32-битный код. Другими словами, если приложение скомпилировано для 64-битного режима, то все используемые библиотеки (DLL) также должны быть 64-битными.
Передача параметров через регистры является одним из новшеств, делающих 64-битные программы более производительными, чем 32-битные. Дополнительный выигрыш в производительности можно получить, используя 64-битные типы данных.
Адресное пространство
Хотя 64-битный процессор теоретически может адресовать 16 экзабайт памяти (2^64), Win64 в настоящий момент поддерживает 16 терабайт (2^44). Этому есть несколько причин. Текущие процессоры могут обеспечивать доступ лишь к 1 терабайту (2^40) физической памяти. Архитектура (но не аппаратная часть) может расширить это пространство до 4 петабайт (2^52). Однако в этом случае необходимо огромное количество памяти для страничных таблиц, отображающих память.
Помимо перечисленных ограничений, объем памяти, который доступен в той или иной версии 64-битной операционной системе Windows зависит также от коммерческих соображений компании Microsoft. Ниже приведена информация по объему памяти, поддерживаемой различными версиями 64-биными версиями Windows:
Windows XP Professional — 128 Gbyte;
Windows Server 2003, Standard — 32 Gbyte;
Windows Server 2003, Enterprise — 1 Tbyte;
Windows Server 2003, Datacenter — 1 Tbyte;
Windows Server 2008, Datacenter — 2 Tbyte;
Windows Server 2008, Enterprise — 2 Tbyte;
Windows Server 2008, Standard — 32 Gbyte;
Windows Server 2008, Web Server — 32 Gbyte;
Vista Home Basic — 8 Gbyte;
Vista Home Premium — 16 Gbyte;
Vista Business — 128 Gbyte;
Vista Enterprise — 128 Gbyte;
Vista Ultimate — 128 Gbyte;
Windows 7 Home Basic — 8 Gbyte;
Windows 7 Home Premium — 16 Gbyte;
Windows 7 Professional — 192 Gbyte;
Windows 7 Enterprise — 192 Gbyte;
Windows 7 Ultimate — 192 Gbyte;
Разработка 64-битных приложений
Наиболее полно вопросы разработки 64-битных приложений рассмотрены в курсе «Уроки разработки 64-битных приложений на языке Си/Си++». Содержание:
Также рекомендую раздел с обзорами статей по тематике связанной с 64-битнми технологиями.
Библиографический список
- Джон Р. Машей. Долгая дорога к 64 битам. http://www.viva64.com/go.php?url=321
- Wikipedia. 64-bit. http://www.viva64.com/go.php?url=203
Источник: habr.com