Нажмите "Enter", чтобы перейти к содержанию

64 бит: Обзор Windows 7 64-бит

Содержание

64 бита

Андрей Карпов

17 Май 2010

Статья раскрывает смысл термина «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-битные системы

На момент написания статьи в 2010 году, наиболее известными и распространенными являются две 64-битные архитектуры микропроцессоров: IA64 и Intel 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 нашли широкое распространение персональных компьютерах. И скорее всего ваш компьютер оснащен именно процессором с данной архитектурой.

Важно понимать, что IA-64 и Intel 64 (AMD64) это совершенно разные, несовместимые друг с другом, микропроцессорные архитектуры. Далее в статье мы будем рассматривать только архитектуру Intel 64 (x64 / AMD64), как более популярную среди разработчиков прикладного программного обеспечения для операционной системы Windows. Для краткости программную модель Intel 64, доступную программисту в 64-битной системе Windows, называют Win64.

Архитектура 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 архитектуре, ограничивает производительность в вычислительных задачах. Увеличенное количество регистров обеспечивает достаточную производительность для многих приложений.

Подчеркнем основные достоинства архитектуры x86-64:

  • 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.

Подсистема WoW64 не поддерживает следующие программы:

  • программы, скомпилированные для 16-разрядных операционных систем;
  • программы режима ядра, скомпилированные для 32-разрядных операционных систем.

Существуют различия WoW64 в зависимости от архитектуры процессора. Например, 64-битная версия Windows разработанная для процессора Intel Itanium 2 использует WoW64 для эмуляции x86 инструкций. Такая эмуляция весьма ресурсоемка по сравнению с WoW64 для архитектуры Intel 64, так как происходит переключение с 64-битного режима в режим совместимости, при выполнении 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Гб.

Особенность компиляторов для Intel 64 в том, что они могут наиболее эффективно использовать регистры для передачи параметров в функции, вместо использования стека. Это позволило разработчикам Win64 архитектуры избавиться от такого понятия как соглашение о вызовах (calling convention). В Win32 можно использовать разные соглашения: __stdcall, __cdecl, __fastcall и так далее. В Win64 есть только одно соглашение о вызовах. Рассмотрим пример, как передаются в регистрах четыре аргумента типа integer:

  • RCX: первый аргумент
  • RDX: второй аргумент
  • R8: третий аргумент
  • R9: четвертый аргумент

Аргументы после первых четырех integer передаются на стеке.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-битных приложений на языке Си/Си++». Содержание:

Урок 01. Что такое 64-битные системы.

Урок 02. Поддержка 32-битных приложений.

Урок 03. Перенос кода на 64-битные системы. За и против.

Урок 04. Создание 64-битной конфигурации.

Урок 05. Сборка 64-битного приложения.

Урок 06. Ошибки в 64-битном коде.

Урок 07. Проблемы выявления 64-битных ошибок.

Урок 08. Статический анализ для выявления 64-битных ошибок.

Урок 09. Паттерн 01. Магические числа.

Урок 10. Паттерн 02. Функции с переменным количеством аргументов.

Урок 11. Паттерн 03. Операции сдвига.

Урок 12. Паттерн 04. Виртуальные функции.

Урок 13. Паттерн 05. Адресная арифметика.

Урок 14. Паттерн 06. Изменение типа массива.

Урок 15. Паттерн 07. Упаковка указателей.

Урок 16. Паттерн 08. Memsize-типы в объединениях.

Урок 17. Паттерн 09. Смешанная арифметика.

Урок 18. Паттерн 10. Хранение в double целочисленных значений.

Урок 19. Паттерн 11. Сериализация и обмен данными.

Урок 20. Паттерн 12. Исключения.

Урок 21. Паттерн 13. Выравнивание данных.

Урок 22. Паттерн 14. Перегруженные функции.

Урок 23. Паттерн 15. Рост размеров структур.

Урок 24. Фантомные ошибки.

Урок 25. Практическое знакомство с паттернами 64-битных ошибок.

Урок 26. Оптимизация 64-битных программ.

Урок 27. Особенности создания инсталляторов для 64-битного окружения.

Урок 28. Оценка стоимости процесса 64-битной миграции Си/Си++ приложений.

Авторами курса являются сотрудники компании «СиПроВер», занимающейся разработкой статического анализатора кода Viva64 для выявления ошибок в 64-битных программа. На сайте компании можно найти множество других ресурсов, посвященных разработке новых 64-битных приложений и миграции 32-битных приложений на 64-битные системы. В качестве примера можно привести раздел с обзорами статей по тематике связанной с 64-битнми технологиями.

Библиографический список

Обзор Windows 7 64-бит

Как всем нам прекрасно известно, существует несколько выпусков Windows 7. Есть там Домашняя базовая и расширенная, Профессиональная и самая вкусная – Максимальная. Однако, куда интереснее вопрос, какую версию Windows 7 поставить, 32-бит или 64-бит? В чем преимущество 64-бит и есть ли оно вообще? Именно это мы и рассмотрим.

Главное и фундаментальное различие в архитектуре 32/64 бит состоит в том, какой объем оперативной памяти может адресоваться процессором. Другими словами, сколько памяти вообще процессору достанется.

Практически каждый пользователь может спокойно использовать Windows 7 x64, так как с выходом Intel Core 2 Duo все современные процессоры поддерживают работу в 64-разрядном режиме. Это же относится и к процессорам AMD, которые поддерживают 64 бит аж с 2003 года. Следовательно, Windows 7 x64 может поставить себе любой пользователь, разве что у него совсем уж древнейший компьютер.

Так зачем нужна 64-разрядная Windows 7?

Если углубляться в историю архитектуры 32/64-бит, то мы тут застрянем надолго, а мне еще в Battlefield сегодня играть. Так что скажем вкратце – память. Оперативная память. Да, детки, все дело именно в ней. В обычной 32-битной Windows 7 можно использовать максимум 4 Гбайт оперативной памяти и не мегабайта больше. Причем, что самое прискорбное, из этих 4 Гбайт будет реально доступно лишь где-то 3,3 Гбайт.

Оперативной памяти много не бывает 😉

Другое дело – Windows 7 x64. В этой версии операционной системы 4 Гбайт – тот минимум, который вообще имеет смысл использовать. Разумеется все программы будут просто вне себя от счастья, если им достанется столько памяти. Так что вы даже и не вспомните, что когда-то использовали меньше. Кроме того, Windows 7 x64 обеспечит прекрасный задел на будущее, ведь ничего не помешает вам затем добавить 8, 16, 32 Гбайт или вообще столько, сколько влезет в вашу материнскую плату.

Обязательно ли переходить на Windows 7 64-бит?

Если вы не планируете использовать больше 4 Гбайт памяти, то переходить, конечно, нет смысла. Только начиная с 4 Гбайт оперативной памяти и выше можно воспользоваться всеми преимуществами Windows 7 x64. К слову сказать, оперативная память сейчас настолько дешевая, что если вы еще не установили 4 Гбайт – самое время это сделать.

А есть ли проблемы с Windows 7 x64?

Ну, разумеется, это же Windows 🙂 Обычно таких проблем нет, но…сами понимаете. В целом, все не так плохо. Большинство устройств имеют необходимые 64-разрядные драйвера, а если даже их нет, то порой и 32-разрядные драйвера работают прекрасно (но не всегда).

Однако, бывают и неприятности, когда устройство не работает только потому, что для него не выпустили драйвер специально для Windows 7 x64, а 32-разрядные драйвера не подходят. Что ж…ничего не поделаешь, придется или ждать новых драйверов, или отказаться от использования устройства в 64-разрядной среде.

Какие программы работают не работают в 64-битной среде? Их не так, чтобы много, но попадаются и достаточно популярные. Например, браузер Google Chrome раньше притормаживал в 64-битной Windows, но в последних версиях это исправлено.

Adobe Flash вообще не работает в 64-битных браузерах, ну вот совсем не хочет. Но это также не проблема, поскольку можно использовать 32-битный браузер и радоваться жизни. Ранее и Apple iTunes не дружил с 64-битами, но те времена, к счастью, остались в прошлом.

Так что же делать? Попробовать перейти на на Windows 7 64-бит. Побольше памяти, смелости – и глядишь, эра 64-бит наступит быстрее. В сущности, 32-битная архитектура постепенно устаревает, пора уже старушке на покой. Однако, не забудьте прочитать про главный недостаток 64-битных систем в конце этой статьи.

Некоторые компании и вовсе отказываются от 32-х бит, хотя бы та же компания Adobe. В новом пакете After Effects CS5 вообще нет поддержки 32-битной Windows! Либо используйте версию с 64-битами, либо извините-подвиньтесь.

Давайте посмотрим, что там Microsoft глаголит о 64 битах.

Ответы Microsoft на часто задаваемые вопросы по поводу 64-битной Windows 7

В чем разница между 32-битной и 64-битной версиями Windows 7?

Как уже говорилось, 64-битная версия позволяет использовать в разы больше оперативной памяти, чем 32-битная версия, которой доступно только 4 Гбайт оперативной памяти (а в реальности, 3,3 Гбайт).

Какая версия Windows 7 у меня установлена?

Щелкните на кнопке Пуск, перейдите в Панель управления, щелкните на ссылке Система и безопасность и затем на ссылке Система. В поле Система ниже будет указано, какая версия Windows 7 у вас установлена.

Подходит ли мой компьютер для Windows 7 64-бит?

Для работы с Windows 7 64-бит нужен 64-битный процессор. Узнать, какой именно процессор установлен, можно следующим образом.

Щелкните на кнопке Пуск и перейдите в меню Панель управления. В поле поиска, расположенном вверху окна, введите “счетчики” и щелкните на ссылке Счетчики и средства производительности (в это окно можно перейти и так, как указано в предыдущем вопросе).

В окне Счетчики и средства производительности щелкните на ссылке Отображение и печать подробных сведений о производительности компьютера и системе.

Найдите в новом окне Дополнительная информация поле 64-разрядная поддержка.

Можно ли обновить Windows 7 32-бит на 64-бит?

Нет, такое обновление недоступно. Обновить 32-разрядную Windows 7 можно только на другой выпуск 32-разрядной Windows 7. В свою очередь, в 64-разрядной среде также возможен переход лишь между различными версиями Windows 7 64-bit. Другими словами, вам придется удалить Windows 7 32-бит, чтобы поставить 64-битную версию.

Другой вариант – установить Windows 7 64-бит на иной раздел жесткого диска или на другой жесткий диск, если их в компьютере несколько.

Можно ли запускать 32-битные программы на 64-битном компьютере?

Большинство 32-битных программ будет работать в 64-битной Windows 7. Исключениями могут быть различные антивирусные программы и брандмауэры, а также некоторые драйвера для аппаратных устройств.

Что касается драйверов, то как правило драйвера, созданные для 32-битной версии не будут работать в 64-битном варианте Windows 7. Скажем, вы пытаетесь установить принтер или другое устройство, для которого есть лишь 32-битные драйвера. Увы, как правило такое устройство нормально работать не будет, так что вам понадобятся обновленные драйвера специально для Windows 7 64.

Какие основные преимущества 64-битной Windows 7?

Конечно же больше памяти. Поскольку 64-битная операционная система получает в свое распоряжение увеличенный объем оперативной памяти, она более эффективно выполняет несколько запущенных программ и позволяет быстрее между ними переключаться.

У меня 64-битная версия Windows 7, мне нужны к ней 64-битные драйвера?

Да, нужны. Поскольку, как мы уже говорили, 32-битные драйвера не будут работать полностью или частично в 64-битной Windows 7. Установите 64-битные драйвера или выбросите свой старый принтер с 32-битными драйверами в окно (шутка).

Ну что, надеемся вы осознали все преимущества Windows 7 64-бит, запаслись оперативной памятью побольше и готовы к новым свершениям.

Главный недостаток любой 64-битной версии Windows

Вы уже разогнались поставить Windows 7 64-бит? Вы все делаете правильно, однако, напоследок нужно узнать кое-что важное.

Какая главная проблема любой 64-битной версии? Вовсе не в ней, а в…наследии 32-битного мира. Вот поставили вы Windows 7 x64, набили в нее уйму памяти и горды собой. Однако, что дальше? Как насчет программ, которые будут использоваться?

И это – главная проблема. Для того чтобы воспользоваться всеми преимуществами Windows 7 x64, необходимо, чтобы используемые вами программы изначально были выпущены в 64-битной версии. В противном случае, все программы для 32-битной версии работают в 64-битной среде в режиме эмуляции.

А режим эмуляции – более медленный, чем если бы 32-битная программа работала в своей родной Windows x32.

Улавливаете о чем идет речь? Вот почему эра 64-бит все никак не наступит. Потому что 64-битных программ – куда меньше, чем хотелось бы, а 32-битные программы работают в менее эффективном режиме эмуляции.

Сколько игр выпускается в 64-битной версии? Много таких знаете? Сколько популярных программ? То-то же – их немного. Ситуация улучшается, но…пройдет еще не один год, прежде чем цифра 64 вступит в свои права.

В результате, в настоящее время 64-битные системы используют либо энтузиасты, либо профессионалы, работающие с дизайнерскими программами вроде Photoshop, программами 3D моделирования вроде Max/Maya/Houdini и другими специализированными продуктами. И все потому, что эти продукты выпускаются в “родной” 64-битной версии.

Что ж, тем не менее, 64-битная эра наступает. А значит нас ждет увлекательное 64-битное порно, еще более кровавые 64-битные игры и 64-битное пиво с чипсами в придачу )

Драйвер HD-графики Intel® для ОС Windows* 8/8.1 (64-разрядная версия)

Введение

Установка драйвера HD® Intel® для WINDOWS* 8 и 8.1.

Лицензия на использование программного обеспечения Intel

]]>Intel OBL Distribution (Commercial Use) License [v2021.05.11] This LIMITED DISTRIBUTION LICENSE AGREEMENT (“Agreement”) is a contract between You and Intel Corporation and its affiliates (“Intel”). It governs Your use of the Materials. If You are accepting this Agreement on behalf of or in conjunction with Your work for Your employer, You represent and warrant that You have the authority to bind your employer to this Agreement. By downloading, installing, or using the Materials, You agree to these terms. If You do not agree, do not use the Materials and destroy all copies.
  • 1. DEFINITIONS.
    • 1.1 “Including” means including but not limited to, whether or not capitalized.
    • 1.2 “Intel Components” means a hardware component or product designed, developed, sold, or distributed by Intel or its affiliates.
    • 1.3 “Materials” means software or other collateral Intel delivers to You under this Agreement.
    • 1.4 “You” or “Your” means you or you and your employer and its affiliates, whether or not capitalized.
    • 1.5 “Your Products” means products developed or to be developed by or for You that include an Intel Component executing the Materials.
  • 2. LICENSES.
    • 2.1 License. Subject to the terms of this Agreement, Intel grants to You, for the Term, a limited, nonexclusive, nontransferable, revocable, worldwide, fully paid-up license under Intel’s intellectual property rights in the Materials, without the right to sublicense, to use the Materials in the development of Your Products, including modifying Materials delivered as source code, and distributing the Materials, including Your modifications, in object form, embedded in or for execution on Your Product and under terms and conditions consistent with Your rights and obligations under this Agreement. You may disclose the Materials to Your subcontractor for its work on Your Products under an agreement preventing the subcontractor from disclosing the Materials to others.
    • 2.2 Restrictions. Except as authorized above, You will not: (a) use or modify the Materials in any other way; (b) reverse engineer, decompile, or disassemble the Materials provided in object form (except and only as specifically required under Section 2.5), or (c) use the Materials to violate or aid in the violation of any international human right. You will be liable for your subcontractor’s acts or omissions including breach of confidentiality.
    • 2.3 No Implied License. Except for the express license in Section 2.1, Intel does not grant any express or implied licenses to you under any legal theory. Intel does not license You to make, have made, use, sell, or import any Intel technology or third-party products, or perform any patented process, even if referenced in the Materials. Any other licenses from Intel require additional consideration. Nothing in this Agreement requires Intel to grant any additional license.
    • 2.4 Feedback. If you give Intel comments or suggestions related to the Materials, Intel confidential information provided in connection with this Agreement, or Intel Components, Intel can use them in any way and disclose them to anyone, without payment or other obligations to you.
    • 2.5 Open Source Licenses. The Materials may include software subject to an open source license, including licenses recognized by the Open Source Initiative (http://www.opensource.org). Nothing in this Agreement limits any rights under, or grants rights that supersede, the terms of any applicable open source software license.
    • 2.6 Third-Party Software. Your use of any third-party software is subject to Your compliance with the license You obtain directly from that third-party. A listing of any such third-party software may be in a text file accompanying the Materials.
  • 3. CONFIDENTIALITY. This Agreement and the Materials are Intel confidential information and subject to Your valid corporate non-disclosure agreement with Intel (CNDA). Except as authorized in Section 2.1, you must not disclose this information to anyone, including the U.S. government. This Agreement will not become effective, or will automatically terminate, in the absence of a CNDA.
  • 4. OWNERSHIP. Ownership of the Materials and related intellectual property rights is unchanged. You must maintain all copyright or other proprietary notices in the Materials.
  • 5. NO WARRANTY. The Materials are provided “as is,” without any express or implied warranty of any kind including warranties of merchantability, non-infringement, title, or fitness for a particular purpose. The Materials may include pre-release software or algorithms and may not be fully functional. Intel is not required to maintain, update, or support the Materials.
  • 6. LIMIT ON LIABILITY. Intel is providing the Materials for free and Your use of them is at Your own risk. Intel will not be liable to You under any legal theory for any losses or damages in connection with the Materials, including consequential damages, even if the possibility of damages was foreseeable or known. If any liability is found, Intel’s total, cumulative liability to You will not exceed $100.00 U.S. for all claims arising from or related to this Agreement. These liability limitations are a fundamental basis of our bargain and Intel would not have entered into this Agreement without them.
  • 7. INDEMNITY. You will indemnify, defend, and hold Intel harmless from any allegation against Intel arising in connection with Your use of the Materials and You will pay all of Intel’s losses, liabilities, and costs (including attorneys’ fees) arising from the allegation.
  • 8. PRIVACY; DATA COLLECTION
    • 8.1 Privacy. Intel respects Your privacy. For information about why and how Intel may collect and use information from Your use of the Materials, see http://www.intel.com/privacy.
    • 8.2 Data Collection. Some downloaded software included in the Materials may generate and collect information about the software and usage and transmit it to Intel to help improve Intel’s products and services. This collected information may include product name, product version, time of event collection, license type, support type, installation status, hardware and software performance, and use.
  • 9. GENERAL.
    • 9.1 Assignment. You may not assign Your rights or obligations under this Agreement without Intel’s prior written consent. No third party will have any rights under this Agreement.
    • 9.2 Dispute Resolution. If we have a dispute regarding this Agreement (other than a dispute over misappropriation of trade secrets or breaches of confidentiality obligations), neither of us can file a lawsuit or other regulatory proceeding unless the complaining party provides the other party a detailed notice of the dispute and our senior managers attempt to resolve the dispute. If we can’t resolve the dispute in 30 days, either of us may demand mediation and will then try to resolve the dispute with an impartial mediator. If we don’t resolve the dispute within 60 days after the mediation demand, either of us may begin litigation.
    • 9.3 Governing Law; Jurisdiction. This Agreement is governed by USA and Delaware law without regard to conflict of laws principles. The United Nations Convention on Contracts for the International Sale of Goods does not apply. Except for claims for misappropriation of trade secrets or breach of confidentiality obligations, all disputes and actions arising out of or related to this Agreement are subject to the exclusive jurisdiction of the state and federal courts in Wilmington, Delaware and you consent to personal jurisdiction in those courts.
    • 9.4 Compliance with Laws. The Materials are subject to export controls under applicable government laws and regulations, including in the U.S. You must comply with applicable laws and regulations, including U.S. and worldwide export regulations. You must not export, import, or transfer the Materials to any prohibited or sanctioned country, person, or entity. You must not use the Materials for the development, design, manufacture, or production of nuclear, missile, chemical, or biological weapons.
    • 9.5 Severability. If a court holds a provision of this Agreement unenforceable, the court will modify that part to the minimum extent necessary to make that part enforceable or, if necessary, to sever that part. The rest of the provision remains fully enforceable.
    • 9.6 Waiver. No waiver of any provision of this Agreement will be valid unless in a writing signed by an authorized representative of the waiving party that specifies the waived provision. That signed waiver will not constitute a waiver of any other provision. A party’s failure or delay in enforcing any provision will not operate as a waiver.
    • 9.7 Entire Agreement. Except for any non-disclosure agreement between you and Intel, this Agreement constitutes the entire agreement, and supersedes all prior agreements, between Intel and You concerning its subject matter.
  • 10. TERM; TERMINATION; SURVIVAL.
    • 10.1 Term. This Agreement begins upon Your acceptance of its terms and continues until terminated under Sections 3 or 10.2.
    • 10.2 Termination. Either party may terminate this Agreement, with 30 days written notice, at any time for any reason. This Agreement will automatically terminate upon (a) Your breach of the Agreement, (b) an allegation that you do not have authority to bind your employer to these terms, or (c) Your assertion that an Intel Component, the Materials, or any product based on any Intel Components or the Materials infringes Your patents.
    • 10.3 Effect of Termination. Upon termination of the Agreement, the licenses to You will immediately terminate and You must cease using the Materials and destroy all copies in your possession and direct Your subcontractors to do the same. Termination of this Agreement will not terminate the CNDA.
    • 10.4 Survival. All sections except Section 2.1 survive termination of this Agreement.
Для скачивания этого файла Intel требует принять лицензионное соглашение. Хотите пересмотреть свое решение?

Я принимаю условия лицензионного соглашения

Я не принимаю условия лицензионного соглашения

Скачивание файла начнется автоматически. если скачивание не начинается, скачайте его вручную

Файлы, доступные для скачивания

Файлы для скачивания gfx_win8_8.1_64_15.33.19.3540.zip

  • Windows 8, 64-bit*, Windows 8.1, 64-bit*
  • Размер: 145.5 MB
  • SHA1: 77944D11E84DA561B748E5A9C6982464199B254E

Подробное описание

Цель

Этот пакет драйверов программного обеспечения устанавливает драйвер HD-графики Intel® для процессоров Intel® Atom™, Pentium® и Celeron® (предыдущее кодовое название Bay Trail I/M/D) в ос Windows* 8/8.1 (64-разрядная версия). Следующие процессоры:

  • Процессор Intel® Atom™ серии E3800
  • Процессор Intel® Celeron® J1900
  • Процессор Intel® Celeron® N2807
  • Процессор Intel® Celeron® N2930

О драйверах Intel®

Драйвер или программное обеспечение для вашего компонента Intel®, возможно, был изменен или заменен производителем компьютера. Перед установкой нашего драйвера мы рекомендуем вам обратиться к производителю компьютера, чтобы вы не потеряли функции или настройки.

Веб-сайты поддержки производителей >

Не знаете, что загрузить?

Не уверены, что это подходящий драйвер или программное обеспечение для вашего компонента? Запустите Приложение Intel® Driver & Support Assistant для автоматического обнаружения обновлений драйвера или программного обеспечения.

Примечание

Данное программное обеспечение предназначено для разработчиков аппаратного и программного обеспечения с использованием встраиваемых платформ Intel®. Она не предназначена для бизнеса или систем потребителей.

Связанная тема

Центр ресурсов и проектирования ›

Изучите подробную техническую документацию, программное обеспечение, инструменты и вспомогательные материалы для разработчиков аппаратного обеспечения.

Перевод «Подготовьте ваши приложения к 64-бит требованиям» / Хабр

Перевод статьи

Get your apps ready for the 64-bit requirement

(от 15.01.2019) блога «Android Developers Blog».

Современные 64-бит процессоры увеличивают скорость и обогащают опыт ваших пользователей. Добавление 64-бит версии приложения даёт улучшение производительности, открывает пути для будущих инноваций и настраивает на устройства только с 64-бит «железом»

Мы хотим помочь вам быть готовыми, и знаем что вам нужно планировать время. Мы поддерживаем 64-бит CPU начиная с Android 5.0 Lolipop, и в 2017 году мы впервые анонсировали, что приложения использующие нативный код, должны иметь 64-бит версию (в дополнение к 32-бит версии). Сегодня мы представляем более детальную информацию и временной график, чтобы сделать этот переход как можно более лёгким в 2019 году



64-бит требования: что это означает для разработчиков

Начиная с 1 августа 2019

  • все новые приложения и обновления приложений, которые содержат нативный код, должны иметь 64-бит версию в дополнение к 32-бит версиям при публикации в Google Play
  • Дополнение: Google Play до августа 2021 продолжит принимать 32-бит версии только в части обновления существующих игр использующих Unity версии 5.6 или младше

Начиная с августа 2021

  • Google Play остановит обслуживание приложений без 64-бит версий на 64-бит совместимых устройствах, т.е. они перестанут отображаться в Play Store на этих устройствах
  • это будет касаться в том числе игр использующих Unity версии 5.6 или младше

Эти требования не применяются для:

  • приложений предназначенных исключительно для Wear OS или Android TV, т.к. они имеют форм-фактор не поддеживающий в настоящее время 64-бит код
  • приложений не предназначенных для распространения на устройствах работающих на Android 9 Pie или выше

Мы не меняем наши условия поддержки 32-бит. Play будет продолжать доставлять приложения на 32-бит устройства. Это требование лишь означает что приложения с 32-бит нативным кодом должны будут дополнительно иметь 64-бит версию

Подготовка к 64-бит требованиям

Мы ожидаем что для большинства разработчиков, переход на 64-бит будет простым. Многие приложения написаны полностью на не-нативном коде (например на Java или Kotlin) и не потребуют изменения кода.

ВСЕМ РАЗРАБОТЧИКАМ: вот обзор шагов который вам необходимо проделать для 64-бит совместимости. Для большей информации обратитесь к нашей подробной документации

  • проверьте ваше приложение на наличие нативного кода. Вы можете проверить наличие .so файлов с помощью APK Analyzer. Определите состоят ли они из вашего собственного кода или импортированного из SDK или используемой вами библиотеки. Если у вас нет каких-либо .so файлов в вашем APK, то вы 64-бит совместимы
  • включите 64-бит архитектуры и пересоберите нативный код (.so файлы) импортированный из вашего собственного кода. Для большей информации см. документацию
  • обновите все SDK и библиотеки до 64-бит совместимых версий, если необходимо. Обратитесь к владельцу SDK или библиотеки если такие версии недоступны. Мы работаем с владельцами ведущих библиотек над их 64-бит совместимостью
  • проверьте на наличие локальных проблем после пересборки вашего приложения
  • разверните ваши тесты используя tasting track для тщательного тестирования

РАЗРАБОТЧИКАМ ИГР: все три наиболее используемых движка в настоящее время поддерживают 64-бит (Unreal и Cocos2d с 2015 года, Unity с 2018). Мы понимаем что миграция стороннего игрового движка это затратный процесс требующий много времени

  • т.к. Unity только недавно начала предоставлять 64-бит поддержку в версиях 2017.4 и 2018.2, мы делаем исключение существующим играм использующим версию 5.6 или более раннюю до августа 2021 года. Unity подготовила руководство которое может помочь вам в обновлении для 64-бит совместимости

ВЛАДЕЛЬЦАМ SDK И БИБЛИОТЕК: обновитесь для 64-бит совместимости по возможности скорее чтобы дать разработчикам приложений время на адаптацию, и дайте знать об этом разработчикам.

Зарегистрируйте ваш SDK

для получения обновлений последних инструментов и информации которая может помочь обслуживать ваших пользователей

Дальше

Тем кто уже поддерживает 64 бит — спасибо и хорошей работы! Остальным мы рекомендуем начать эту работу как можно скорее. По мере приближения к дэдлайну, мы будем обновлять нашу документацию для разработчиков в части того как проверить соответствует ли ваше приложение. Мы с нетерпением ждём что 64-бит процессоры войдут в такие области как искусственный интеллект, машинное обучение, продвинутая мобильная связь. Поддержка 64-бит подготавливает экосистему к инновациям позволяющим расширить возможности 64-бит устройств, и к Android устройствам поддерживающим в будущем только 64-бит код

Чем отличается 32 бит от 64 бит Windows 7

Покупая компьютер вы сталкиваетесь с тем, что вам всегда необходимо делать выбор что купить, ноутбук, компьютер или нетбук, какую фирму-производитель выбрать и т.д. После всех принятых решений, вам еще предстоит определиться, какую версию операционной системы поставить: 32 бит или 64 бит.

Сначала мы приведем описания 32-х и 64-х битных процессоров, чтобы разобраться, что это за зверь такой, х-битный процессор. Дело в том, что количество бит указывает на ширину регистра процессора и обозначает способ обработки информации процессором компьютера. Такой регистр представляет собой небольшое хранилище, которое используется процессором для хранения данных, к которым для оптимальной производительности компьютера ему необходимо иметь быстрый доступ. Число бит указывает на ширину данного регистра. В связи с этим 64-х битный регистр может хранить в себе больше данных, чем 32-х битный, который, в свою очередь, хранит больше данных, чем 16-ти битный или 8-ми битные регистры.

32-х битная архитектура Windows не позволяет выделять приложению более 3GB памяти. Однако, для современных игр, приложений, фото- и видеоредактирования, а также виртуальных машин и тд. требуется больший объем памяти. 64-х битные системы позволяют напрямую адресовать более 4 GB оперативной памяти, а это более чем достаточно для продуктивной работы даже самых «больших» приложений.

Интересно, что еще за 5 лет до появления компьютерных 64-х битных процессоров, консоли «Nintendo 64» и «Playstation 2» имели 64-х битные процессоры пользовательского уровня.

Основная разница между 32 и 64 битами заключается в увеличенной памяти. Операционная система Windows поддерживает 4GB памяти, в то время как Windows 7 64-бит поддерживает до 192GB памяти, но «64-bit Home edition» ограничена (не из-за физических ограничений, а из-за вопросов лицензирования) на 16GB оперативной памяти.  

Другое преимущество 64-бит Windows 7 это дополнительная защита «DEP»  на уровне жесткого диска, а не программного обеспечения, как у пользователей 32 бит.

Несмотря на все преимущества 64-бит Windows7, у данного типа процессоров есть свои недостатки. В основном это обуславливается совместимостью. Для того чтобы установить Windows 7 64 бит , вам потребуется процессор, способный поддерживать эту операционную систему. Windows 7 32-бит можно установить на процессоры, способные поддерживать как 64 бит, так и 32 бит.  

Кроме того, существует проблема совместимости драйверов. Этот недостаток является очень серьезным. К счастью, производители оборудования продолжают увеличивать поддержку 64-х битных операционных систем (если Ваше оборудование выпущено в последние год-два, то проблем у Вас будет не много). Но, поиск драйверов для старых устройств может оказаться, неразрешимой задачей, например для старого сканнера или принтера. В таком случае придется покупать новые устройства. Некоторые программы плохо «переживают» переход на 64 бита. В отличие от предыдущих версий Windows, Windows 7х64 не поддерживает 16-ти битные приложения.

Кроме того, следует понимать, что если даже приложение является 64-х битным, плагины и расширения для него могут таковыми не являться. Такие проблемы часто возникают с «Photoshop» и «Firefox». Основное приложение доступно в 64-х битном варианте, но важные плагины – нет.

Материнские платы, поддерживающие ранние 64-х битные процессоры и не поддерживающие более 4GB оперативной памяти являются редкостью. Однако, если это Ваш случай, то с переходом на 64-х битную операционную систему Вы не получите самого главного – доступа к большей памяти. С другой стороны, одновременно с апгрейдом оперативной системы, Вы можете проапгрейдить и свою материнскую плату.

Выводы:

1)      Windows7 64-разрядная система может обрабатывать большие объемы оперативной памяти (RAM) и эффективнее, чем 32-разрядная система.

2)      Windows7 64-бит имеет дополнительную защиту «DEP» на уровне жесткого диска, которой нет на Windows7 32-бит.

3)      Windows7 32-бит можно установить на процессоры 32-бит и 64-бит, но для установки Windows7 64-бит требуется процессор 64-бит.

4)      Windows7 32-разрядная система может поддерживать 16-битные программы, в то время как Windows7 64-разрядная система не может.

 

 

Дополнительная информация:

 

Как определить, какая система установлена на вашем компьютере?

Вы можете посмотреть на версию установленной у Вас Windows – возможно, Вы уже используете 64-х битную операционную систему. Для этого в Windows Vista и Windows 7 кликните по Компьютеру (Computer) из меню Пуск (Start) правой кнопкой мыши и в контекстном меню выберите пункт Свойства (Properties). Вы попадете в меню системных свойств, где в разделе Система (System) Вы увидите, какая у Вас операционная система – 32-х битная или же 64-х битная.

Под Windows XP Вы можете  протестировать свой процессор и узнать, можете ли Вы проапгредиться на 64-х битную Windows с помощью  бесплатной программы SecurAble от Стива Гибсона (Steve Gibson). Данная утилита проверяет процессор по трем различным параметрам.

Во-первых, она проверяет, является ли процессор 64-х битным. Во-вторых, она проверяет поддержку им «DEP» (технологии безопасности, разработанной для защиты машин от атак переполнения буфера). И, наконец, в-третьих, программа проверяет наличие поддержки виртуальной машины XP под Windows 7.

Как найти программы и устройства, работающие с 64-разрядными версиями Windows 7?

На сайте центра совместимости Windows 7 можно проверить совместимость программы или устройства с 64-разрядной версией Windows 7. Изготовители оборудования и программного обеспечения непрерывно обновляют сведения о совместимости, поэтому рекомендуется регулярно посещать этот ресурс.

Чем отличается x64 бит Windows от 86-bit (x32), Какая система Виндоус лучше

Отличия х32 от 64 битной системы Windows.

В этой небольшой статье мы как можно проще постараемся объяснить вам в чём основные отличия между Windows 32 битной системы и Windows 64 бита. Ну и естественно поможем выбрать между 64-х и 86-х.

Итак как правильно выбрать разрядность ОС — операционной системы?

Для начала вот вам некоторые сведения:

  • x86 – это архитектура соответствующая 32-битной разрядности.
  • x64 – это архитектура соответствующая 64-битной разрядности.
На разницу архитектуры операционной системы влияют два основных факта:
  1. Разрядность процессора
  2. Размер оперативной памяти

Разрядность процессора – это величина, которая определяет размер машинного слова, то есть количество информации, которой процессор обменивается с оперативной памятью (ОЗУ) компьютера.

Первым пункт можно не рассматривать, — почти все современные процессоры могут одинаково работать, как в 32-х, так и в 64-х битном режиме. Более подробно про разрядность оборудования PC читайте: Информация о x86 и x64

Что касается оперативной памяти, то стоит знать, что каждая ячейка (8 бит = 1 байт) ОЗУ имеет адрес и в 32-х битной системе он записывается в виде двоичного кода длиной в 32 символа.64= 18446744073709551616. И это открывает большие границы для размеров вашей памяти.

Давайте теперь уточним какая ОС лучше.

В чем разница между операционными системами WINDOWS X32 и Windows x86?
В том, что почти во всех случаях ключевым фактором является размер ОЗУ:

  • меньше 4 ГБ — стоит выбрать 32-разрядную,
  • больше или равно 4 ГБ – 64-разрядную.

Что работает быстрее Windows x64 или Windows x86?

Очень многие говорят, что х64 работает гораздо быстрее чем х86. Вряд ли этому стоит верить.
Это скорее миф, чем правда. Увеличение скорости будет видно только в оптимизированных под x64 программах. Насколько? Да всего где-то на 3-5%. Многие этого даже не почувствуют.

Но если для вас эти 5% очень дороги, то не забывайте, что есть большая вероятность, что некоторые 32-битные приложения просто не запустятся на вашей Windows x64. И всякий раз когда вы будете искать ту или иную программку, вам стоит искать её 64 битную версию и если её нет, то искать ей замену.

На этом всё. Статья написана с помощью программиста от Vienna.
Желаем вам удачной работы с любой разрядностью в вашей операционной системы.

C++ длинный INT — 64-бит это ограничение использовать только 64-bit OS?



С использованием C++ Long Long int, являющегося 64-битным, ограничивает ли это использование этой программы для выполнения только до 64-bit OS или это все еще будет обрабатывать значение 64-bit при выполнении на 32-битном OS?

У меня есть программа, в которой я передаю целочисленное семя в генератор случайных чисел и использую его в качестве ключа для начальной позиции в случайном алгоритме. Я скомпилировал свой код с помощью long long int, и он компилируется и работает без проблем, однако моя система работает под управлением Windows 7 64-bit, и у меня нет 32-битной системы, чтобы протестировать ее. В то время как эта программа будет в основном работать на моей системе 64-bit, причина этого вопроса заключается в том, чтобы понять, является ли использование long long int только для системы 64-bit OS или если 32-битные системы могут обрабатывать 64-bit int, скажем, через 2 или более тактов для обработки 64-битных систем против 64-bit OS, способного обрабатывать их за меньшее количество тактов и т. д.? Может быть, я сравниваю яблоки с апельсинами с 64-bit int до 64-bit CPU/OS?, думая, что если они могут быть обработаны 32-битной CPU/OS, то это может быть неэффективно при 64-bit int?

c++
Поделиться Источник Dave L     23 января 2016 в 13:43

7 ответов


  • Это iPhone OS 64 bit или 32 бит?

    Кто-нибудь знает, основан ли iPhone OS на 32-битной архитектуре или 64-bit?

  • Fortran: 32 бит / 64 bit переносимость производительности

    Я начал использовать Fortran (95) для некоторого числового кода (генерация модулей python). Вот простой пример: subroutine bincount (x,c,n,m) implicit none integer, intent(in) :: n,m integer, dimension(0:n-1), intent(in) :: x integer, dimension(0:m-1), intent(out) :: c integer :: i c = 0 do i = 0,…



1

Короткий ответ — Нет.

Термины 32-разрядный и 64-bit относятся к способу обработки информации процессором компьютера. Версия 64-bit Windows обрабатывает большие объемы оперативной памяти (RAM) более эффективно, чем 32-разрядная система.
Если у вас есть длинный длинный int, это просто означает, что он занимает 64 бита в памяти.

См.раздел «В чем разница между 32-разрядным процессором и процессором 64-bit? » для полного понимания различий между 32-разрядными и процессорами 64 bit.

Также взгляните на — https://en.wikipedia.org/wiki/64-bit_computing

Поделиться novice     23 января 2016 в 13:50



1

Короче говоря, нет.

Использование long long типов не ограничивает выбор операционной системы. Если ваш компилятор поддерживает long long и нацелен на 32-разрядную операционную систему (или даже 16-разрядную операционную систему), то компилятор или библиотека разберутся в деталях поддержки более длинных типов.

Использование типов long long ограничивает вас компиляторами (и библиотеками), которые поддерживают такой тип, независимо от того, какую операционную систему вы используете. В C++ стандарт 2011 года ввел их, но некоторые старые компиляторы поддерживают типы long long в качестве расширения (например, потому что C поддерживал их с 1999 года). Таким образом, компиляторы, предшествующие стандарту 2011 года, могут не поддерживать типы long long .

Поделиться Peter     23 января 2016 в 13:56



0

Целочисленный размер в memmory не зависит от количества битов, используемых a CPU. однако длина int может варьироваться, потому что этот процессор всегда пытается работать наиболее эффективным способом, поэтому для 32-разрядного процессора int будет иметь размер по умолчанию 32 бита. использование таких типов, как long long int или uint64 (целое число без знака 64 bit), гарантирует длину 64 бита на всех процессорах. так что хорошо иметь это в виду.

Поделиться Niek Nooijens     23 января 2016 в 13:52



0

Вы беспокоитесь, будет ли ваша программа работать так же, как и при запуске на 32-разрядной машине. Ты не должен.

Если он скомпилирован как 32-разрядное приложение, он всегда будет работать одинаково, он просто не будет использовать функции процессоров 64-bit. Таким образом, вы могли бы догадаться, что long long подходит для 32-разрядных компиляторов, потому что в противном случае вы не смогли бы построить свою программу.

Если он скомпилирован как приложение 64-bit, он вообще не будет работать на 32-разрядных машинах.

Поделиться kamilk     23 января 2016 в 14:06



0

Нет, вместо этого он полностью зависит от моделей данных, используемых OS, и используемого компилятора. В C++ начиная с C99 размер long long int составляет 64 бита. На самом деле, большинство реализаций Linux/Unix определяют long как тип 64 bit, но в Windows это только 32 бита, потому что они используют разные модели данных. Взгляните на данные 64 bit вычислений , связанных с моделями.

Поделиться Abhishek Rathore     23 января 2016 в 14:16


  • 64-bit Java приложения: требуется ли приложение 64-bit OS, 64-bit JRE и 64-bit?

    Этот вопрос касается 64-bit Java приложений в целом, хотя я наткнулся на него из-за работы с Netbeans/Eclipse. я использую процессор 64-bit с 64-bit OS (Windows 7). Я хотел запустить Netbeans/Eclipse с более чем 4 ГБ памяти кучи (то есть с использованием флага Xmx), но я столкнулся с некоторой…

  • 64 bit поплавков, скомпилированных с 32-битным компилятором на 64 bit OS

    Я надеюсь, что это не было рассмотрено ранее, но если я скомпилирую 32-битную программу в c++, которая использует 64 bit чисел с плавающей запятой (double), и запущу ее на 64 bit OS, то все равно потребуется столько же тактов, чтобы переместить 64 bit float в cpu и обратно в ram, как это было бы…



0

Edit: long long int всегда существует в реализации C++11, и он имеет по крайней мере 64 бита, потому что стандарт C в 5.2.4.2.1 (не стандарт C++) требует этого (определяя минимальное значение LLONG_MAX). Это значит, что с тобой все будет в порядке. Однако в 32-разрядных системах библиотека может быть медленной или недоступной.

Поделиться Peter — Reinstate Monica     23 января 2016 в 14:20



-1

long long int не гарантированно будет целым числом 64 bit. По крайней мере, не по стандарту C++ :

3.9.1 Фундаментальные типы [basic.fundamental]

 ...

2 Существует пять стандартных целочисленных типов со знаком : “signed char”, “short int”, “int”, “long int” и “long long int”. В этом списке каждый тип предоставляет по крайней мере столько же памяти, сколько и предыдущие в списке. Также могут существовать определенные реализацией расширенные целочисленные типы со знаком. Стандартные и расширенные целочисленные типы со знаком в совокупности называются целочисленными типами со знаком. Простые int имеют естественный размер, предложенный архитектурой среды выполнения; другие целочисленные типы со знаком предоставляются для удовлетворения особых потребностей.

Другими словами, единственная гарантия, которая у вас есть, — это то, что long long int будет по крайней мере таким же большим, как long int . Вот и все.

Теперь в большинстве современных сред выполнения значение long long int равно значению 64 bit, и это верно даже для собственных 32-разрядных аппаратных платформ.

Но, что касается стандарта C++, у вас нет никаких гарантий. Таким образом, вы можете обнаружить, что на конкретной 32-разрядной платформе a long int и a long long int являются 32-разрядными целыми значениями. И это будет полностью соответствовать стандарту C++.

Поделиться Sam Varshavchik     23 января 2016 в 14:07


Похожие вопросы:


Определите, находится ли процессор 64-bit под 32-битным OS

Обычно архитектура x86-64 обеспечивает совместимость с x86. 32-битный Windows (или другой OS) может работать на процессоре x86-64. (Поправьте меня, если я ошибаюсь). Я хотел бы знать, возможно ли (в…


MySQL 32 бит или 64 bit-Apache 32 бит Windows 64 bit?

Я использую Windows 7 64 bit. Официального установщика 64 bit для Apache нет, поэтому я использую Apache 2.2.22 32 бит (и PHP 5.3.18 32 бит кстати). Я полагаю, что тогда я должен использовать MySQL…


Можно ли скомпилировать программу Objective-C так, чтобы int был 64 bit?

Если я правильно помню, на какой-то машине int было 16 бит, а когда мы переходим на 32-битную платформу, то int было 32 бит. Теперь, когда снежный барс и Лев являются 64 bit, может ли программа C…


Это iPhone OS 64 bit или 32 бит?

Кто-нибудь знает, основан ли iPhone OS на 32-битной архитектуре или 64-bit?


Fortran: 32 бит / 64 bit переносимость производительности

Я начал использовать Fortran (95) для некоторого числового кода (генерация модулей python). Вот простой пример: subroutine bincount (x,c,n,m) implicit none integer, intent(in) :: n,m integer,…


64-bit Java приложения: требуется ли приложение 64-bit OS, 64-bit JRE и 64-bit?

Этот вопрос касается 64-bit Java приложений в целом, хотя я наткнулся на него из-за работы с Netbeans/Eclipse. я использую процессор 64-bit с 64-bit OS (Windows 7). Я хотел запустить…


64 bit поплавков, скомпилированных с 32-битным компилятором на 64 bit OS

Я надеюсь, что это не было рассмотрено ранее, но если я скомпилирую 32-битную программу в c++, которая использует 64 bit чисел с плавающей запятой (double), и запущу ее на 64 bit OS, то все равно…


Как определить на C++ это windows 32 или 64 bit?

Как определить на C++ это windows 32 или 64 bit? Я вижу много примеров в .Net, но мне нужен C++. Кроме того, IsWow64Process() не работает для меня, потому что если процесс работает под 32-битным…


Переключитесь из 32-битного режима в 64 bit (длинный режим) на 64-битный linux

Моя программа находится в 32-битном режиме, работающем на x86_64 CPU (64bit OS, ubuntu 8.04). Можно ли временно переключиться в 64-битный режим (длинный режим) в пользовательском режиме? Если да, то…


Почему int_fast16_t 64 бит на систему 64-bit?

Я заглянул в заголовочный файл <stdint.h> своей реализации. Я вижу следующее: typedef long int int_fast16_t; typedef long int int_fast32_t; typedef long int int_fast64_t; У меня есть система…

Что такое 64-бит (WOW64 и X64)?

Обновлено: 07.02.2022 автором Computer Hope

Альтернативно называемый WOW64 и x64 , 64-битный — это архитектура ЦП, способная передавать 64-битные данные за такт.32-1 или 4 294 967 295.64-1, или 18 446 744 073 709 551 615.

Более конкретно, 64 бита — это размер регистров 64-битного микропроцессора ЦП или компьютерной шины.

64-разрядное оборудование и программное обеспечение, скомпилированное для работы на нем, иногда называют x86-64 . Это название указывает на то, что это 64-битная архитектура, совместимая с набором инструкций Intel x86. Эти наборы инструкций также могут называться AMD64 , как ссылка на набор инструкций AMD64, разработанный AMD в 2000 году.

Примеры 64-битных процессоров

Ниже приведены примеры 64-битных компьютерных процессоров.

  • AMD Opteron, Athlon 64, Turion 64, Sempron, Phenom, FX и Fusion.
  • Все процессоры Intel Xeon, начиная с Nocona, выпущенного в июне 2004 г.
  • Процессоры Intel Celeron и Pentium 4 со времен Prescott.
  • Двухъядерные процессоры Intel Pentium
  • , Core i3, Core i5 и Core i7.

Примеры 64-битных операционных систем

Существует множество операционных систем, способных работать на 64-разрядной архитектуре, включая Windows XP, Windows Vista, Windows 7, Windows 8 и Windows 10.Однако 64-разрядные версии Windows XP и Vista были гораздо менее распространены, когда были популярны.

Можно ли устанавливать 32-разрядные программы в 64-разрядной операционной системе?

Да. В 64-разрядных операционных системах, таких как Microsoft Windows, 32-разрядные программы могут быть установлены в дополнение к 64-разрядным программам. В Windows при установке программы, если Windows определяет, что это 32-разрядная программа, она устанавливается в папку «Program Files (x86)». 64-битные программы устанавливаются в папку «Program Files».

В идеале вы хотели бы запускать 64-битную версию программы в 64-битной операционной системе. Однако не все программы рассчитаны на 64-битный процессор. Если есть выбор между загрузкой или установкой 32-битной или 64-битной версии программы и 64-битной операционной системой, всегда выбирайте 64-битную версию.

8-бит, 16-бит, 24-бит, 32-бит, AMD64, Бит, Условия использования оборудования, IA-64, Условия программного обеспечения, Условия использования видео

64-битный вопрос | MIT Technology Review

Чтобы понять, почему все это имеет значение, сначала нужно понять, что фраза «32 бита» — это своего рода сокращение, которое используют разработчики компьютеров.Это число относится к двум вещам внутри архитектуры компьютера. Во-первых, это означает, сколько битов используют эти компьютеры, когда они указывают место в памяти, где хранится часть информации. Во-вторых, он указывает размер регистров внутри микропроцессора, которые используются для выполнения математических операций. Каждый бит может быть 1 или 0, поэтому 32 бита могут использоваться для представления 232 или 4 294 967 296 различных значений. Таким образом, очевидная разница между 32-битными машинами и 64-битными состоит в том, что 64-битные системы намного больше: они могут адресовать больше памяти и могут выполнять математические операции с большими числами.

Но больше не обязательно означает лучше — все зависит от того, чего вы получаете больше.

Down Memory Lane

Переход от 32-битной к 64-битной системе имеет наибольшее значение, когда речь идет о способности этих компьютеров адресовать память. Программа, работающая на 32-разрядном компьютере, может легко адресовать 4 гигабайта памяти, 232 — это примерно 4,3 миллиарда. С другой стороны, программа, работающая на 64-разрядной машине, может адресовать 264 — это 4 миллиарда умножить на 4 миллиарда байт, поразительно большое число.Просто сделайте цифры, и станет ясно, что в 64-битной системе гораздо больше «запаса». Но эти два факта на самом деле ответственны за большую путаницу, как мы увидим.

Первоначальный персональный компьютер IBM использовал микропроцессор Intel 8088 — забавный маленький чип, наполненный странными инженерными компромиссами. По своей сути 8088 был 16-разрядным процессором: он имел 16-разрядные математические регистры, что позволяло ему легко представлять числа от 0 до 65 535 (или от -32 768 до 32 767), и 16-разрядные адресные регистры, позволяющие ему легко общаться с 64 килобайтами основной памяти.Теперь 64 КБ было недостаточно, чтобы что-то делать, даже в 1981 году, когда впервые появился ПК, поэтому у 8088 был набор сегментных регистров, которые были сдвинуты на 4 бита влево и добавлены к регистру адреса до того, как адреса памяти были на самом деле. читать или писать. В результате 8088 мог легко получить доступ к одному мегабайту памяти. В 1981 году мегабайт был большим объемом оперативной памяти. Действительно, тогдашние разработчики компьютеров не могли себе представить, что обычному домашнему или деловому пользователю потребуется столько памяти, не говоря уже о том, что он сможет себе это позволить в течение многих лет.Поэтому дизайнеры IBM нарисовали линию на карте памяти компьютера и поместили память для видеодисплея прямо посередине верхней половины, фактически ограничив ранние ПК не более чем 640 килобайтами ОЗУ. Это было началом ограничения в 640 КБ, которое было наложено компьютером IBM на свою операционную систему DOS.

Несколько лет спустя Intel представила свой следующий микропроцессор, 80286. (80186 так и не попал в персональные компьютеры.) 286 был основой IBM PC/AT.У него был режим эмуляции (называемый «реальным режимом»), который позволял 286 запускать то же программное обеспечение, что и 8088, но также был расширенный «защищенный» режим, который позволял ему работать с 16 мегабайтами ОЗУ. Подавляющее большинство этих машин работали в реальном режиме, чтобы на них можно было запускать DOS от Microsoft и все другие программы, написанные для оригинального IBM PC. Действительно, 286-й был гораздо более популярен при работе с программным обеспечением 8088, чем когда-либо был 8088-й, потому что 286-й был намного быстрее. Если разобраться, очень немногие чипы 286 фактически работали в «защищенном» режиме.

В 1985 году Intel представила чип 80386 — первый 32-разрядный процессор семейства x86. И снова у этого микропроцессора был так называемый «реальный режим», так что он мог запускать DOS и остальную программную базу 8088. Эти машины могли обойти оригинальный 8088 — не потому, что они были 32-битными, а потому, что у них была более высокая тактовая частота и более сложная внутренняя конструкция. Был также ряд компаний, продающих «расширители DOS», которые позволяли программам, загружаемым под DOS, использовать все преимущества 32-битного адресного пространства.Эти расширители переводили компьютер в 32-битный режим для математических вычислений, но возвращали машину в 16-битный режим всякий раз, когда программе требовался доступ к жесткому диску компьютера. Тем не менее, 32-битные программы, работающие на этих 32-битных процессорах, были исключением, а не правилом.

Только когда количество 32-разрядных машин значительно превысило число 16-разрядных, Microsoft начала поставлять свою первую настоящую 32-разрядную операционную систему — Windows 95. К тому времени Intel выпустила еще два поколения x86. машины на базе 80486 и Pentium.Да, Microsoft могла поставить 32-разрядную операционную систему за годы до выпуска Windows 95. Но это, вероятно, было бы ошибкой: зачем продавать на рынке операционную систему, которая не работает на большинстве ПК?

Вся эта история внезапно снова становится актуальной, поскольку мы рассматриваем следующий большой скачок в архитектуре ПК — переход от 32-разрядных вычислений к 64-разрядным. Но хотя отдача от перехода с 16-битного адресного пространства (или 20-битного, если учитывать сегментированную архитектуру 8088) на 32-битную была огромной, переход от 32-битного к 64-битному почти не будет замечен большинством пользователей компьютеров.Причина в том, что 32 бита на самом деле достаточно для решения подавляющего большинства вычислительных задач — не только сегодняшних, но и завтрашних.

Переход с 32-битного на 64-битный вряд ли приведет к такому же квантовому скачку в скорости или возможностях, который мы получили при переходе с 16-битного на 32-битный. Да, 64-битный адрес действительно огромен, но 32-битный — это не чих. в.

Сегодня мало приложений, которым действительно нужно больше 4 гигабайт памяти. Если вы занимаетесь обработкой текстов, электронными таблицами, электронной почтой и просмотром веб-страниц, 32-битное пространство обеспечит достаточно адресного пространства в обозримом будущем.Мой настольный компьютер с Windows потребляет много памяти — его копия Internet Explorer регулярно раздувает до 64 мегабайт. Но это все еще одна шестьдесят четвертая размера карты памяти машины в 4 гигабайта. Я не могу себе представить, чтобы я мог запустить веб-браузер, для которого потребовалась бы карта памяти объемом 4 гигабайта: потребовалось бы почти 10 часов только для того, чтобы загрузить такое количество информации по моей линии DSL!

Вы можете подумать, что многозадачность с другими приложениями такого же размера приведет к постоянному увеличению нагрузки на память до такой степени, что один не станет беспокоиться об использовании адресного пространства.Но это не так. Windows, Unix и другие современные операционные системы используют технику, называемую виртуальной памятью, чтобы предоставить каждой программе собственную изолированную карту памяти. На 32-разрядном компьютере это означает, что каждая запущенная программа получает собственные 4 ГБ виртуальной памяти для экспериментов. Таким образом, хотя один экземпляр работающей программы не может получить доступ к более чем 4 гигабайтам, 32-разрядная машина под управлением Windows XP с 10 или 20 гигабайтами памяти без проблем разделит эту память между раздутым браузером, раздутой копией Word 2003 и раздутую копию Access.

64-битное адресное пространство имеет большое значение, когда одной программе требуется одновременный доступ к более чем 4 гигабайтам памяти. Например, если вы управляете хранилищем данных для многонациональной корпорации с 10 терабайтами онлайн-хранилища, ваш сервер базы данных может серьезно выиграть, имея 10 или 20 гигабайт индексных файлов, хранящихся в памяти. Точно так же крупномасштабное моделирование могло бы выиграть, если бы в распоряжении было много оперативной памяти для таких вещей, как моделирование погоды на послезавтра.

Поскольку такие компании, как Dell, поставляют домашние компьютеры с 512 мегабайтами ОЗУ, а компьютеры с Windows XP обычно используют 1,5 гигабайта памяти для хранения всех своих программ, маркетологи, продвигающие 64-разрядные вычисления, будут говорить, что вам нужен 64-разрядный компьютер. bit машина, чтобы преодолеть быстро приближающийся лимит в 4 гигабайта. Не верьте этому. На самом деле Dell уже продает 32-битные компьютеры с 8, 16 и 32 гигабайтами оперативной памяти. Маркетологи хотят, чтобы вы покупали 64-битные машины, потому что эти системы стоят дороже.

64-битные машины превосходят современные 32-битные системы еще и в том, что касается математических вычислений. В то время как современные 32-битные машины имеют процессоры, которые могут представлять любое целое число от 0 до 4 294 967 295 (это 232-1), 64-битная машина может представлять целые числа от 0 до 18 446 744 073 709 551 615 (264-1).

Еще раз повторюсь, возможность выполнять математические операции с такими огромными числами в одной инструкции может быть огромным преимуществом в небольшом числе научных приложений. Но оказывается, что для большинства повседневных офисных задач 64-битная целочисленная математика не так уж полезна.Во-первых, это потому, что у нас уже есть машины, которые могут выполнять 64-битные операции: сегодняшние машины просто делают это с помощью специальных процессоров с плавающей запятой или с помощью нескольких 32-битных инструкций. Для большинства операций специальное 64-битное математическое оборудование просто не нужно.

Вам не нужно верить мне на слово. Просто посмотрите на историю других 64-битных архитектур. В то время как 64-битная система является новинкой в ​​мире x86, другие микропроцессоры перешли на 64-битную систему еще в 1990-х годах.Alpha, MIPS64 и Sparc64 — все это 64-битные машины. Тем не менее, большинство программ, работающих на этих компьютерах, фактически игнорируют старшие 32 бита каждого числа, потому что эти цифры неизменно равны 0. Однако, когда вы садитесь за новый компьютер Apple G5, битовые машины сливаются с деревом: независимо от того, редактируете ли вы видео или просто просматриваете веб-страницы, машина чувствует себя намного быстрее, чем ее 32-битные собратья G4.Так что дает?

За заметным исключением процессора Intel Itanium, современные 64-разрядные машины обычно выполняют 32-разрядный код быстрее, чем их 32-разрядные собратья, по той же причине, по которой 32-разрядный Intel 80386 выполнял 16-разрядный код быстрее, чем 8088 и 80286. Причина в том, что 64-битные процессоры просто более современные устройства. Эти чипы производятся с использованием более продвинутых кремниевых процессов, они имеют более высокие тактовые частоты и содержат больше транзисторов. AMD Athlon64 и IBM G5 не просто имеют более широкие регистры: они также имеют больше функциональных блоков внутри своих кремниевых мозгов.Эти чипы лучше справляются с такими задачами, как одновременное выполнение нескольких инструкций, выполнение не по порядку и прогнозирование переходов. Этот 64-битный PowerMac G5, работающий в Apple Store, в основном использует 32-битный код. Впечатляющая скорость машины обусловлена ​​комбинацией двух процессоров, более высокой тактовой частотой, большим кэш-памятью и лучшей шиной памяти.

Да, AMD и IBM могли внедрить ту же технологию в новый 32-разрядный дизайн. Но в наши дни разработка нового чипа стоит миллиарды долларов.Цена 64-разрядного процессора может быть выше, чем 32-разрядного, поэтому в интересах этих компаний внедрять свои новейшие технологии в свои 64-разрядные продукты.

В будущем 64-разрядные вычисления действительно завоюют популярность, потому что 64-разрядные машины будут лучше справляться с современным 32-разрядным кодом, чем современные 32-разрядные процессоры. Но рынок может легко развиваться в другом направлении. Эти дополнительные 32 бита потребляют много энергии, поэтому компании, производящие процессоры для ноутбуков и карманных компьютеров, могут просто применить приемы, разработанные для 64-битных машин, к своим 32-битным устройствам.

То же самое произошло и с игровыми консолями. Хотя несколько лет назад было много волнений, когда Nintendo решила использовать 64-битный процессор R4300i для своей системы Nintendo 64, игроки в видеоигры не получили особой пользы от дополнительных 32 бит адреса или математики. В то время R4300i был быстрым чипом, потому что в нем было реализовано множество других современных технологий для ускорения выполнения программ. Он мог бы обеспечить такой же уровень производительности, если бы эти трюки были применены к 32-битному процессору.Именно трюки принесли скорость, а не биты.

128-бит Привязка?

Пережив скачок с 8 на 16 бит, затем с 16 на 32, а теперь с 32 на 64, естественно думать, что когда-нибудь в далеком будущем мы совершим переход с 64-бит на 128-бит битовые системы. Не задерживайте дыхание.

Здесь важно помнить, что биты экспоненциальны. 32-разрядная система может адресовать в 65 тысяч раз больше памяти, чем 16-разрядная система, а 64-разрядная система имеет теоретическое адресное пространство памяти в 4 миллиарда раз больше, чем у 32-разрядной системы.На самом деле вы могли бы построить единую систему памяти, которая вмещала бы 264 байта памяти с современным оборудованием, но вам нужно было бы использовать более 200 миллионов жестких дисков, каждый из которых содержал бы 256 гигабайт информации. Это больше, чем было предоставлено всей мировой индустрией жестких дисков в 2003 году. Таким образом, хотя сегодня можно создать систему памяти, вмещающую 264 байта памяти, вам, вероятно, придется использовать каждый компьютер в мире, подключенный к Интернету. .

Хотя можно представить себе будущее, в котором компьютеры будут получать доступ к 264-байтным базам данных, трудно представить себе хоть одну проблему, которая потребовала бы от программы такого большого объема памяти, доступной в одном адресном пространстве.Одна из причин, по которой такая невероятно большая система не имеет смысла, заключается в том, что вы не будете строить такую ​​систему с одним процессором и единым унифицированным адресным пространством: вместо этого вы будете использовать миллионы или миллиарды процессорных элементов, все с перекрывающейся памятью и обязанность. Таким образом, если один процессор или блок памяти выйдет из строя, другие системы без проблем вступят во владение.

Учитывая такие аргументы, довольно неразумно представить, что вам потребуется 2128 бит памяти — ни при нашей, ни при чьей-либо жизни.

С другой стороны, я могу ошибаться насчет всего этого: 64-битная технология может быть как раз тем, что нужно для создания виртуальной реальности всего тела с возможностью преобразования разума в разум. Или, что более вероятно, такие компании, как Dell, могут последовать примеру Apple и прекратить продавать недорогие машины с 32-битными процессорами, вместо этого полагаясь на маркетинговую рекламу 64-битных машин, чтобы оправдать более высокую прибыль.

Но помните, внизу всегда есть место. А поскольку 32-разрядные машины, скорее всего, будут полезны по крайней мере еще десятилетие, если не дольше, я был бы удивлен, если бы Dell уступила этот рынок другой компании.Просто посмотрите на Apple: хотя все настольные компьютеры PowerMac, которые продает Apple, поставляются с процессорами G5, компания по-прежнему использует процессоры G4 в своих компьютерах iMac, eMac и PowerBook.

Лично я думаю, что 32-битные системы будут с нами еще долго.

64-битная вычислительная мощность приходит в QuickBooks Desktop

Узнайте, как QuickBooks максимизирует производительность, используя всю мощь 64-битных процессоров, имеющихся в большинстве современных компьютеров.

Все возможности 64-битного процессора, используемого с QuickBooks 2022, повышают стабильность и производительность.

  • Экономьте драгоценное время при открытии файлов вашей компании или создании отчетов.
  • Бесшовная сторонняя интеграция с фреймворком, который предпочитает большинство разработчиков.
  • Соответствует современным стандартам операционных систем.

Проверенная в лаборатории производительность с 64-разрядной версией QuickBooks

QuickBooks Desktop 2022 до 38 % быстрее* 

*На основе лабораторных испытаний по сравнению с предыдущими версиями QuickBooks Desktop (32-разрядная версия) со средним размером файла 1 ГБ. Улучшение средней скорости наблюдалось при запуске «Отчет о начислении прибыли и убытков».Фактические результаты могут отличаться.

Вы можете увидеть разницу с большими файлами компании. Но вы, возможно, не увидите больших улучшений с файлами размером менее 1 ГБ.

Установите 64-разрядную версию QuickBooks 2022

Вы можете загрузить и установить QuickBooks Desktop 2022, как обычно.

Большинство 64-разрядных операционных систем Windows поддерживают 64-разрядную версию QuickBooks Desktop. К ним относятся Windows 10 Enterprise, Home и Professional, а также Windows Server 2003, 2012 и 2016.См. наш полный список системных требований .

Примечание . Выпуски QuickBooks 2022 несовместимы с 32-разрядными операционными системами. Если вы попробуете, программа установки может запуститься, но в конечном итоге не завершится.

Вы по-прежнему будете пользоваться теми же возможностями, которые привыкли ожидать от QuickBooks.

Многопользовательский Количество одновременно работающих пользователей не изменилось. Улучшена производительность и стабильность.
Подписка Для клиентов с подпиской будет работать та же лицензия.
Сторонние интеграции и услуги Сторонние интеграции продолжают бесперебойно работать. Службы, подключенные к QuickBooks, не будут затронуты.

Восстановите старый файл резервной копии или копию вашего бухгалтера

QuickBooks Desktop 2022 может восстановить резервную копию, сделанную с помощью предыдущей версии QuickBooks Desktop (32-разрядной).

В рабочем процессе нет никаких изменений, и они не влияют на копию вашего бухгалтера, а обновления файлов происходят так же, как обычно.

Узнайте, что делать, если вам нужно удалить текущую или предыдущую версию QuickBooks Desktop .

Anaconda с Python 3 в 64-разрядной версии Linux — документация по Anaconda

Чтобы проверить целостность файла с помощью MD5 или SHA-256, см. криптографическая проверка хэша.

  • Хэши для Anaconda3-2021.11-Linux-aarch64.sh
  • Хэши для Anaconda3-2021.11-Linux-ppc64le.sh
  • хэшей для Anaconda3-2021.11-Linux-s390x.ш
  • Хэши для Anaconda3-2021.11-Linux-x86_64.sh
  • Хэши для Anaconda3-2021.05-Linux-aarch64.sh
  • Хэши для Anaconda3-2021.05-Linux-ppc64le.sh
  • Хэши для Anaconda3-2021.05-Linux-s390x.sh
  • Хэши для Anaconda3-2021.05-Linux-x86_64.sh
  • Хэши для Anaconda3-2021.04-Linux-aarch64.sh
  • Хэши для Anaconda3-2021.04-Linux-ppc64le.sh
  • Хэши для Anaconda3-2021.04-Linux-s390x.sh
  • хэшей для Anaconda3-2021.04-Linux-x86_64.sh
  • Хэши для Anaconda3-2020.11-Linux-ppc64le.sh
  • Хэши для Anaconda3-2020.11-Linux-x86_64.sh
  • Хэши для Anaconda3-2020.07-Linux-ppc64le.sh
  • Хэши для Anaconda3-2020.07-Linux-x86_64.sh
  • Хэши для Anaconda3-2020.02-Linux-ppc64le.sh
  • Хэши для Anaconda3-2020.02-Linux-x86_64.sh
  • Хэши для Anaconda3-2019.10-Linux-ppc64le.sh
  • Хэши для Anaconda3-2019.10-Linux-x86_64.sh
  • хэшей для Anaconda3-2019.07-Linux-ppc64le.sh
  • Хэши для Anaconda3-2019.07-Linux-x86_64.sh
  • Хэши для Anaconda3-2019.03-Linux-ppc64le.sh
  • Хэши для Anaconda3-2019.03-Linux-x86_64.sh
  • Хэши для Anaconda3-2018.12-Linux-ppc64le.sh
  • Хэши для Anaconda3-2018.12-Linux-x86_64.sh
  • Хэши для Anaconda3-5.3.1-Linux-x86_64.sh
  • Хэши для Anaconda3-5.3.0-Linux-ppc64le.sh
  • Хэши для Anaconda3-5.3.0-Linux-x86_64.sh
  • хэшей для Anaconda3-5.2.0-Linux-ppc64le.sh
  • Хэши для Anaconda3-5.2.0-Linux-x86_64.sh
  • Хэши для Anaconda3-5.1.0-Linux-ppc64le.sh
  • Хэши для Anaconda3-5.1.0-Linux-x86_64.sh
  • Хэши для Anaconda3-5.0.1-Linux-x86_64.sh
  • Хэши для Anaconda3-5.0.0.1-Linux-x86_64.sh
  • Хэши для Anaconda3-5.0.0-Linux-ppc64le.sh
  • Хэши для Anaconda3-5.0.0-Linux-x86_64.sh
  • Хэши для Anaconda3-4.4.0.1-Linux-ppc64le.sh
  • хэшей для Anaconda3-4.4.0-Linux-ppc64le.sh
  • Хэши для Anaconda3-4.4.0-Linux-x86_64.sh
  • Хэши для Anaconda3-4.3.1-Linux-x86_64.sh
  • Хэши для Anaconda3-4.3.0-Linux-x86_64.sh
  • Хэши для Anaconda3-4.2.0-Linux-x86_64.sh
  • Хэши для Anaconda3-4.1.1-Linux-x86_64.sh
  • Хэши для Anaconda3-4.1.0-Linux-x86_64.sh
  • Хэши для Anaconda3-4.0.0-Linux-x86_64.sh
  • Хэши для Anaconda3-2.5.0-Linux-x86_64.sh
  • хэшей для Anaconda3-2.4.1-Linux-x86_64.sh
  • Хэши для Anaconda3-2.4.0-Linux-x86_64.sh
  • Хэши для Anaconda3-2.3.0-Linux-x86_64.sh
  • Хэши для Anaconda3-2.2.0-Linux-x86_64.sh
  • Хэши для Anaconda3-2.1.0-Linux-x86_64.sh
  • Хэши для Anaconda3-2.0.1-Linux-x86_64.sh
  • Хэши для Anaconda3-2.0.0-Linux-x86_64.sh

IrfanView 64-битная версия

Начиная с IrfanView 4.40 также доступна 64-разрядная версия.

Преимущества  64-разрядной версии IrfanView по сравнению с 32-разрядной версией:

  • Может загружать ОЧЕНЬ большие файлы/изображения (размер изображения в ОЗУ более 1,3 ГБ, для специальных пользователей)
  • Быстрее для очень больших изображений (25+ мегапикселей, загрузка или операции с изображением)
  • Работает «только» на 64-битной Windows (Vista, Win7, Win8, Win10)

Преимущества 32-разрядной версии IrfanView по сравнению с 64-разрядной:

  • Работает на 32-битной и 64-битной Windows
  • Загружает все файлы/изображения для обычных нужд (макс.Размер оперативной памяти около 1,3 Гб)
  • Требуется меньше места на диске
  • Будут работать все подключаемые модули: не все подключаемые модули (пока) перенесены на 64-разрядную версию (например, OCR), а некоторые 32-разрядные подключаемые модули необходимо использовать в 64-разрядной версии, некоторые с ограничениями (см. папку «Plugins32»)
  • Некоторые старые 32-битные плагины (такие как RIOT и Adobe 8BF PlugIn) работают только в режиме совместимости в IrfanView-64 ( можно использовать только 32-битные файлы/эффекты 8BF )
  • Параметры командной строки для сканирования (/scan и т.) работают только в 32-разрядных (поскольку нет 64-разрядных драйверов TWAIN )

Примечания:

  • Вы можете установить обе версии  в одной системе, просто используя  разные папки . Например: установите 32-разрядную версию в папку «Program Files (x86)», а 64-разрядную версию — в папку «Program Files» (установите 32-разрядные подключаемые модули для IrfanView-32 и 64-разрядные подключаемые модули для IrfanView-32). 64, НЕ  смешивать плагины и битовые версии IrfanView)
  • Название и значок программы имеют дополнительный текст в 64-разрядной версии для лучшего распознавания


Доступные 64-разрядные загрузки

Загрузите IrfanView-64, английский, (версия 4.59, самораспаковывающийся EXE-файл, 3,57 МБ)
(контрольная сумма SHA-256: 56326517adb6b6b65b690fa20da2ffb9c5ae87501e80101f5cfd2078f9225cdb)
Загрузить IrfanView-64 на английском языке (версия 4.59, ZIP-файл, 3,11 МБ)
(контрольная сумма SHA-256: a12155f6b8da6468ea1f99d70dfe199a59b992fecc503188677d13c04a8eeccd)



Загрузите фон IrfanView-64 Deutsch/German  (версия 4.59, EXE-установщик, 3,84 МБ)
(контрольная сумма SHA-256: 6ace39e8e13ca01b71b302e51b0854b9f300851de0c13acd935102d3f833cd33)
Загрузить фон IrfanView-64 Deutsch/German  (версия 4.59, ZIP-файл, 3,38 МБ)
(контрольная сумма SHA-256: a11e39553d408924df10d134720af98d3bd0b1d7d38d538d3fcc5f727249b761)



Загрузите подключаемые модули IrfanView-64  (версия 4.59, EXE-установщик, 26,02 МБ)
(контрольная сумма SHA-256: 7742d47f49293f885c42d6b566d2d55335b79d454a024bff3ee113dd8b8bb41c)
Загрузить подключаемые модули IrfanView-64  (версия 4.59, ZIP-файл, 23,50 МБ)
(контрольная сумма SHA-256: 87188d8163b9941811012ceffd23156b51268ddab1774834bcf3b2505a3b283a)


Плагины обновлены после версии 4.59:

Страница плагинов

Что случилось с 64-битными вычислениями?

Помните начало 90-х, когда мы переходили с 16-битных на 32-битные операционные системы? Некоторых это не впечатлило, но я думаю, что большинство из нас могли видеть, что 32-битные системы решают очень много проблем.

На самом деле 32-разрядные процессоры существовали уже много лет, даже на ПК, и они быстро захватили рынок ПК, даже просто для запуска 16-разрядных операционных систем, которые включали 32-разрядные хаки, такие как Windows for Workgroups 3.11. Система VFAT и QEMM. Реструктуризация операционной системы и приложений была серьезной задачей, но 32-разрядные операционные системы быстро вытеснили своих младших предков. Ушли в прошлое сегментированное программирование, расширенная и расширенная память, а также любые практические ограничения на физическую память.Некоторые проблемы программирования также исчезли, например, 16-битные целые числа. Это было большое улучшение.

Почему нет даже следа того же эффекта для 64-битных вычислений? 64-разрядные процессоры доступны на некоторых RISC-архитектурах уже много лет, и многие из них даже имеют 64-разрядные операционные системы, но, похоже, ни Intel, ни Microsoft не торопятся переводить мир на 64-разрядное программное обеспечение. На самом деле, если Windows для 64-битных систем не окажется полностью совместимой с кодом Win32, мне будет трудно увидеть крупномасштабную миграцию на нее.Преимущества недостаточно убедительны, и слишком много 32-битного кода.

Преимущества 64-битной архитектуры по сравнению с 32-битной не так очевидны, как преимущества 32-битной архитектуры по сравнению с 16-битной. Первое, что упоминается сейчас, — это ограничение на физическую память. 32-битный указатель может адресовать 4 ГБ памяти; 64-битный указатель может адресовать 16 миллиардов Фуфубайт. На самом деле, каким бы ни был предел, пройдет много времени, прежде чем нам придется беспокоиться об ограничении, проявляющемся в реальных системах.(Лично я думаю, что ограничения в процессах производства полупроводников замедлят процесс до того, как это произойдет.) Если вам нужно представление о том, насколько оно велико, сначала представьте себе максимальные 4 294 967 296 байтов в 32-битном адресном пространстве. Теперь представьте себе 4 294 967 296 32-битных адресных пространств; это одно 64-битное адресное пространство.

Intel давно нашла временные аппаратные хаки, чтобы отсрочить ограничение в 4 ГБ. Процессоры Xeon представили режимы PAE-36 и PSE-36, позволяющие использовать 36-битную адресацию и, следовательно, поддерживающие до 64 ГБ ОЗУ, а серверные версии Windows самого высокого уровня поддерживают расширенную адресацию, начиная с Windows NT 4.0 Корпоративная версия. Даже сегодня 64 ГБ — это много памяти для всех, кроме самых больших кластеров серверов. Но рано или поздно это станет проблемой. Однако на среднем рабочем столе, я думаю, даже 32-битных адресов будет достаточно, по крайней мере, еще на несколько лет, пока мы продолжаем использовать память так, как мы это делаем сейчас.

Хитрость в том, чтобы сделать 64-битные желательными, заключается в разработке новых типов приложений, которые их используют. Подумайте о неприлично большом адресном пространстве, которое я описал ранее: что, если бы мы разработали файловые системы с отображением памяти? Представьте, что вам не нужно открывать и закрывать файлы, но вы манипулируете ими напрямую через структуры данных, и что работа операционной системы состоит в том, чтобы выгружать данные в память и из нее по мере необходимости.64-битные адреса по-прежнему достаточно велики для работы с любой файловой системой. Это значительно упрощает программирование.

Или представьте, что вы используете целые числа для множества математических задач, которые сейчас требуют вычислений с плавающей запятой. Числовое пространство для 64-битного целого числа (или, возможно, 128-битного целого числа, занимающего два регистра) очень велико, и его использование должно значительно повысить производительность таких приложений.

Но Microsoft, кажется, больше заинтересована в простом и плавном внедрении Win64, чем в использовании его для внедрения радикально новых методов программирования, и они, вероятно, правы.Как я уже говорил, существует очень много 32-битного кода, и когда они по какой-то причине начнут покупать 64-битные серверы, люди будут изначально больше всего озабочены запуском на них своего существующего кода и переносом. это к новым архитектурам. Первоначальные модели 64-битной Windows на самом деле предназначены для поддержки 32-битных программ, по сути, с существующим набором API, но с добавлением поддержки 64-битных данных, потому что это наиболее необходимая функция, предоставляемая 64-битной архитектурой.Он также добавляет новые 64-битные типы данных, но сейчас они не являются приоритетными. Существует система эмуляции под названием WOW64 для запуска программ Win32. А приложения по умолчанию имеют скупое адресное пространство в 8 Терабайт для работы.

По крайней мере, в течение нескольких лет у основных компаний почти не было причин рассматривать, не говоря уже о внедрении 64-битных систем. В конце концов миграция станет достаточно простой, а аппаратное обеспечение достаточно дешевым, чтобы люди делали это, потому что не будет причин не делать этого.Чрезвычайно ресурсоемкие приложения, такие как предсказание погоды, всегда будут переноситься на самую быструю доступную платформу. Но тем временем все бизнес-приложения, за исключением нескольких, остро нуждаются в улучшениях существующих 32-битных систем: лучшей безопасности, упрощенном администрировании и других вещах, которые удвоение размера наших регистров и адресных строк никак не решает.

Когда вы смотрите в свой хрустальный шар будущего индустрии ПК, обычно хорошей идеей является прогнозирование наиболее консервативного количества изменений.Возможно, было время, когда 64-разрядные вычисления собирались решить большие проблемы, но это оказалось еще одним эволюционным шагом в вычислениях.

Ваша компания использует или планирует использовать 64-разрядные серверы? Каков ваш опыт? Поделитесь своими мыслями на нашем форуме Talkback или отправьте электронное письмо Ларри.

64-бит | Вики Майкрософт | Fandom

В компьютерной архитектуре 64-разрядные вычисления — это использование процессоров с шириной пути данных, целочисленным размером и адресами памяти шириной 64 бита (8 октетов).Кроме того, 64-разрядные архитектуры ЦП и АЛУ основаны на регистрах, адресных шинах или шинах данных такого размера. С точки зрения программного обеспечения 64-битные вычисления означают использование кода с 64-битными адресами виртуальной памяти.

64-разрядный — это дескриптор поколения компьютеров, в которых 64-разрядные процессоры являются нормой. 64 бита — это размер слова, который определяет определенные классы компьютерной архитектуры, шин, памяти и ЦП, а также программное обеспечение, которое на них работает.64-битные ЦП существуют в суперкомпьютерах с 1970-х годов (Cray-1, 1975), а в рабочих станциях и серверах на базе RISC — с начала 1990-х. В 2003 году они были представлены на арене основных (ранее 32-разрядных) персональных компьютеров в виде архитектур процессоров x86-64 и 64-разрядных PowerPC.

64-битный регистр может хранить 2 64 (более 18 квинтиллионов) различных значений. Следовательно, процессор с 64-битными адресами памяти может напрямую обращаться к 2 64 байтам памяти с байтовой адресацией.

Без дополнительных уточнений, 64-битная компьютерная архитектура обычно имеет целочисленные регистры и регистры адресации шириной 64 бита, что обеспечивает прямую поддержку 64-битных типов данных и адресов. Однако у ЦП могут быть внешние шины данных или адресные шины с размерами, отличными от регистров, даже больше (например, 32-разрядный Pentium имел 64-разрядную шину данных). Этот термин может также относиться к размеру низкоуровневых типов данных, таких как 64-битные числа с плавающей запятой.

Хронология 64-разрядной операционной системы Microsoft

2001
Microsoft выпускает 64-разрядную версию Windows XP для архитектуры Itanium IA-64, хотя она может запускать 32-разрядные приложения через уровень выполнения.
2003
Microsoft объявляет о планах по созданию версии своей операционной системы Windows для поддержки архитектуры AMD64 с обратной совместимостью с 32-разрядными приложениями.
2005
30 апреля Microsoft выпускает Windows XP Professional x64 Edition для процессоров AMD64 и EM64T.
2006
Microsoft выпускает Windows Vista, включая 64-разрядную версию для процессоров AMD64/EM64T, которая сохраняет 32-разрядную совместимость. В 64-разрядной версии все приложения и компоненты Windows являются 64-разрядными, хотя многие из них также имеют свои 32-разрядные версии для совместимости с подключаемыми модулями.
2009
Microsoft выпускает Windows 7, которая, как и Windows Vista, включает полную 64-разрядную версию для процессоров AMD64/Intel 64; большинство новых компьютеров по умолчанию загружаются с 64-битной версией. Он также выпускает Windows Server 2008 R2, первую 64-разрядную операционную систему, выпущенную Microsoft. Apple выпускает Mac OS X 10.6 «Snow Leopard», которая поставляется с 64-битным ядром для процессоров AMD64/Intel64, хотя только некоторые последние модели компьютеров Apple будут работать с 64-битным ядром по умолчанию.Большинство приложений, входящих в состав Mac OS X 10.6, теперь также являются 64-разрядными.

32-разрядная и 64-разрядная версии

Переход с 32-разрядной на 64-разрядную архитектуру является фундаментальным изменением, так как большинство операционных систем должны быть значительно изменены, чтобы использовать преимущества новой архитектуры, поскольку это программное обеспечение должно управлять фактическим аппаратным обеспечением адресации памяти. Другое программное обеспечение также должно быть перенесено, чтобы использовать новые возможности; более старое 32-разрядное программное обеспечение может поддерживаться либо через режим аппаратной совместимости , в котором новые процессоры поддерживают более старую 32-разрядную версию набора инструкций, а также 64-разрядную версию, посредством эмуляции программного обеспечения или фактической реализацией. 32-разрядного процессорного ядра внутри 64-разрядного процессора, как в процессорах Itanium от Intel, которые включают процессорное ядро ​​IA-32 для запуска 32-разрядных приложений x86.Операционные системы для этих 64-разрядных архитектур обычно поддерживают как 32-разрядные, так и 64-разрядные приложения.

Единственным существенным исключением из этого правила является система AS/400, программное обеспечение которой работает на виртуальной архитектуре набора инструкций (ISA) под названием TIMI (технологически независимый машинный интерфейс), которая перед выполнением преобразуется в собственный машинный код низкоуровневым программным обеспечением. Программное обеспечение для перевода — это все, что нужно переписать, чтобы переместить всю ОС и все программное обеспечение на новую платформу, например, когда IBM перевела свою линию со старого 32/48-битного набора инструкций «IMPI» на 64-битную инструкцию PowerPC. set (набор инструкций IMPI сильно отличался от набора инструкций 32-битного PowerPC, так что это был еще больший переход, чем от 32-битной версии набора инструкций к 64-битной версии того же набора инструкций).

На 64-разрядном оборудовании с архитектурой x86-64 (AMD64) большинство 32-разрядных операционных систем и приложений могут работать без проблем совместимости. Хотя большее адресное пространство 64-битных архитектур упрощает работу с большими наборами данных в таких приложениях, как цифровое видео, научные вычисления и большие базы данных, ведутся серьезные споры о том, будут ли они или их 32-битные режимы совместимости быстрее, чем сопоставимые по цене 32-битные системы для других задач.

Скомпилированная программа Java может работать на 32- или 64-разрядной виртуальной машине Java без изменений.Длина и точность всех встроенных типов определяются стандартом и не зависят от базовой архитектуры. Программы Java, работающие на 64-разрядной виртуальной машине Java, имеют доступ к большему адресному пространству.

Скорость — не единственный фактор, который следует учитывать при сравнении 32-разрядных и 64-разрядных процессоров. Такие приложения, как многозадачность, стресс-тестирование и кластеризация — для высокопроизводительных вычислений (HPC) — могут больше подходить для 64-битной архитектуры при правильном развертывании.По этой причине 64-разрядные кластеры широко используются в крупных организациях, таких как IBM, HP и Microsoft.

Плюсы и минусы

Распространенным заблуждением является то, что 64-разрядные архитектуры ничем не лучше 32-разрядных, если только компьютер не имеет более 4 ГБ оперативной памяти. Это не совсем правда:

  • Некоторые операционные системы и определенные аппаратные конфигурации ограничивают пространство физической памяти до 3 ГБ в системах IA-32 из-за того, что большая часть области 3–4 ГБ зарезервирована для аппаратной адресации; см. барьер 3 ГБ; 64-разрядные архитектуры могут адресовать гораздо больше, чем 4 ГБ.Однако процессоры IA-32, начиная с Pentium II и выше, допускают 36-битное адресное пространство физической памяти с использованием расширения физических адресов (PAE), что дает диапазон физических адресов 64 ГБ, из которых можно использовать до 62 ГБ. по основной памяти; операционные системы, поддерживающие PAE, могут не ограничиваться 4 ГБ физической памяти даже на процессорах IA-32. Однако драйверы и другое программное обеспечение режима ядра, особенно более старые версии, могут быть несовместимы с PAE.
  • Некоторые операционные системы резервируют часть адресного пространства процесса для использования ОС, эффективно уменьшая общее адресное пространство, доступное для отображения памяти для пользовательских программ.Например, 32-битная Windows резервирует 1 или 2 ГБ (в зависимости от настроек) общего адресного пространства для ядра, что оставляет только 3 или 2 ГБ (соответственно) адресного пространства, доступного для пользовательского режима. Этот предел намного выше в 64-битных операционных системах.
  • Файлы с отображением памяти становится все труднее реализовать в 32-разрядных архитектурах, так как файлы размером более 4 ГБ становятся все более распространенными; такие большие файлы не могут быть легко отображены в память для 32-разрядных архитектур — только часть файла может быть отображена в адресное пространство за раз, и для доступа к такому файлу путем отображения памяти отображаемые части должны быть заменены в и из адресного пространства по мере необходимости.Это проблема, поскольку отображение памяти, если оно правильно реализовано ОС, является одним из наиболее эффективных методов преобразования диска в память.
  • Некоторые 64-битные программы, такие как кодировщики, декодеры и программное обеспечение для шифрования, могут значительно выиграть от 64-битных регистров, в то время как производительность других программ, например программ, ориентированных на 3D-графику, остается неизменной при переключении с 32-битных регистров. -bit в 64-битную среду.
  • Некоторые 64-битные архитектуры, такие как x86-64, поддерживают больше регистров общего назначения, чем их 32-битные аналоги (хотя это не связано конкретно с длиной слова).Это приводит к значительному увеличению скорости для узких циклов, поскольку процессору не нужно извлекать данные из кэша или основной памяти, если данные могут поместиться в доступных регистрах.
Пример в C:
 int a, b, c, d, e;
для (а=0; а<100; а++)
{
  б = а;
  с = б;
  д = с;
  е = д;
}
 
Если процессор может хранить только два или три значения или переменные в регистрах, ему потребуется перемещать некоторые значения между памятью и регистрами, чтобы он мог также обрабатывать переменные d и e; это процесс, который занимает много циклов процессора.Процессор, способный хранить все значения и переменные в регистрах, может перебирать их в цикле без необходимости перемещать данные между регистрами и памятью для каждой итерации. Такое поведение можно легко сравнить с виртуальной памятью, хотя любые эффекты зависят от компилятора.

Основным недостатком 64-битных архитектур является то, что по сравнению с 32-битными архитектурами одни и те же данные занимают больше места в памяти (из-за более длинных указателей и, возможно, других типов, а также заполнения выравнивания).Это увеличивает требования к памяти для данного процесса и может повлиять на эффективное использование кэша процессора. Поддержание частичной 32-битной модели — один из способов справиться с этим, и в целом он достаточно эффективен. Например, операционная система z/OS использует этот подход, требуя, чтобы программный код располагался в 31-битном адресном пространстве (старший бит не используется при расчете адреса на базовой аппаратной платформе), в то время как объекты данных могут дополнительно располагаться в 64-битном адресном пространстве. битовые области.

По состоянию на июнь 2011 г. большая часть проприетарного программного обеспечения x86 компилируется в 32-битный код, а меньшее количество также компилируется в 64-битный код (хотя тенденция быстро выравнивается, поэтому большая часть этого программного обеспечения не использует преимущества более крупного 64-битного кода). адресное пространство или более широкие 64-битные регистры и пути данных на процессорах x64 или дополнительные регистры общего назначения.Однако пользователи большинства RISC-платформ и пользователей бесплатных операционных систем или операционных систем с открытым исходным кодом (где исходный код доступен для перекомпиляции с помощью 64-битного компилятора) годами могли использовать эксклюзивные 64-битные вычислительные среды. Не все такие приложения требуют большого адресного пространства или работают с 64-разрядными элементами данных, поэтому эти приложения не получают преимуществ от этих функций. Основным преимуществом 64-битных версий таких приложений является возможность доступа к большему количеству регистров в архитектуре x86-64.

Доступность программного обеспечения

В 64-разрядных системах на базе x86

иногда отсутствуют эквиваленты программного обеспечения, написанного для 32-разрядных архитектур. Наиболее серьезной проблемой Microsoft Windows являются несовместимые драйверы устройств. Большинство 32-разрядных прикладных программ могут работать в 64-разрядной операционной системе в режиме совместимости, также известном как режим эмуляции, например. Технология Microsoft WoW64 для IA-64 и AMD64. Среда драйвера 64-разрядного Windows Native Mode работает поверх 64-разрядной NTDLL.DLL, которая не может вызывать 32-разрядный код подсистемы Win32 (часто устройства, чья фактическая аппаратная функция эмулируется в программном обеспечении пользовательского режима, например Winprinters).Поскольку 64-битные драйверы для большинства устройств не были доступны до начала 2007 года (Vista x64), использование 64-битной версии Windows считалось проблемой. Однако с тех пор тенденция сместилась в сторону 64-разрядных вычислений, особенно в связи с падением цен на память и увеличением использования более 4 ГБ ОЗУ. Большинство производителей стали выпускать для новых устройств как 32-битные, так и 64-битные драйвера, поэтому отсутствие 64-битных драйверов перестало быть проблемой. 64-битные драйверы не поставлялись для многих старых устройств, поэтому их нельзя было использовать в 64-битных системах.

Совместимость драйверов была меньшей проблемой с драйверами с открытым исходным кодом, поскольку 32-разрядные можно было модифицировать для 64-разрядного использования. Поддержка оборудования, выпущенного до начала 2007 года, была проблематичной для платформ с открытым исходным кодом из-за относительно небольшого числа пользователей.

64-битные модели данных

В 32-битных программах указатели и типы данных, такие как целые числа, обычно имеют одинаковую длину; это не обязательно верно для 64-битных машин. Таким образом, смешивание типов данных в языках программирования, таких как C, и его потомках, таких как C++ и Objective-C, может работать в 32-разрядных реализациях, но не в 64-разрядных реализациях.

Во многих средах программирования для C и языков, производных от C, на 64-битных машинах переменные "int" по-прежнему имеют ширину 32 бита, но длинные целые числа и указатели имеют ширину 64 бита. Они описаны как имеющие модель данных LP64 . Другой альтернативой является модель данных ILP64 , в которой все три типа данных имеют ширину 64 бита, и даже SILP64 , где «короткие» целые числа также имеют ширину 64 бита. Однако в большинстве случаев требуемые модификации относительно незначительны и просты, и многие хорошо написанные программы можно просто перекомпилировать для новой среды без изменений.Другой альтернативой является модель LLP64 , которая поддерживает совместимость с 32-битным кодом, оставляя как int, так и long 32-битными. «LL» относится к типу «длинное длинное целое», который имеет длину не менее 64 бит на всех платформах, включая 32-битные среды.

64-битные модели данных
Модель данных короткое (целое) инт длинное (целое) длинный длинный указателя/size_t Примеры операционных систем
ТОО64/
ИЛ32П64
16 32 32 64 64 Microsoft Windows (X64/IA-64)
ЛП64/
И32ЛП64
16 32 64 64 64 Большинство Unix и Unix-подобных систем, например.грамм. Solaris, Linux и Mac OS X; г/ОС
ILP64 16 64 64 64 64 HAL Computer Systems портирует Solaris на SPARC64
SILP64 64 64 64 64 64 Уникос

Сегодня многие 64-разрядные компиляторы используют модель LP64 (включая собственные компиляторы Solaris, AIX, HP-UX, Linux, Mac OS X, FreeBSD и IBM z/OS).Компилятор Microsoft Visual C++ использует модель LLP64 . Недостатком модели LP64 является то, что сохранение long в int может привести к переполнению. С другой стороны, приведение указателя к типу long будет работать. В модели LLP верно обратное. Это не проблемы, которые затрагивают полностью совместимый со стандартом код, но код часто пишется с неявными предположениями о ширине целочисленных типов.

Обратите внимание, что модель программирования выбирается отдельно для каждого компилятора, и несколько моделей могут сосуществовать в одной и той же ОС.Однако модель программирования, выбранная в качестве основной модели для OS API, обычно доминирует.

Еще одним соображением является модель данных, используемая для драйверов. Драйверы составляют большую часть кода операционной системы в большинстве современных операционных систем (хотя многие из них могут не загружаться во время работы операционной системы). Многие драйверы интенсивно используют указатели для манипулирования данными, а в некоторых случаях приходится загружать указатели определенного размера в аппаратное обеспечение, которое они поддерживают для прямого доступа к памяти. Например, драйвер для 32-разрядного устройства PCI, запрашивающий у устройства DMA данные в верхних областях памяти 64-разрядной машины, не мог удовлетворить запросы операционной системы на загрузку данных с устройства в память выше 4-гигабайтного барьера. , потому что указатели на эти адреса не поместятся в регистры DMA устройства.Эта проблема решается за счет того, что ОС учитывает ограничения памяти устройства при формировании запросов к драйверам для DMA или с помощью IOMMU.

Ваш комментарий будет первым

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *