32-разрядные и 64-разрядные системы

В чем разница между 32-битными и 64-битными системами?

Если вы использовали оба из них, какие резкие различия вы испытали?

В некоторых случаях проблема с использованием 32-разрядных программ в 64-битных системах?

219 голосов | спросил Mehper C. Palavuzlar 17 +04002009-10-17T15:14:58+04:00312009bEurope/MoscowSat, 17 Oct 2009 15:14:58 +0400 2009, 15:14:58

19 ответов


262

Примечание. Эти ответы относятся к стандартным компьютерам на базе процессоров x86 (Intel и AMD) и Windows (как правило, для конечных пользователей). Другие 32-разрядные или 64-разрядные чипы, другие ОС и другие конфигурации ОС могут иметь разные компромиссы.

С технической точки зрения 64-разрядная ОС дает вам:

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

  • Все указатели берут 8 байтов вместо 4 байтов. Эффект на использование ОЗУ минимален (потому что у вас вряд ли есть приложение, заполненное гигабайтами указателей), но в худшем теоретическом случае это может привести к тому, что кэш-память процессора сможет удерживать 1/2 столько указателей (что делает это будет эффективно 1/2 размера). Для большинства приложений это не огромная сделка.

  • В 64-битном режиме имеется много других регистров центрального процессора. Регистры - это самая быстрая память в вашей системе. В 64-битном режиме есть только 8 в 32-битном режиме и 16 регистров общего назначения. В научных вычислительных приложениях, которые я написал, я видел повышение производительности на 30% путем перекомпиляции в 64-битном режиме (мое приложение действительно могло использовать дополнительные регистры).

  • Большинство 32-разрядных ОС действительно позволяют отдельным приложениям использовать 2 ГБ ОЗУ, даже если у вас установлено 4 ГБ. Это связано с тем, что другие 2 ГБ адресного пространства зарезервированы для обмена данными между приложениями, с ОС и для связи с драйверами. Windows и Linux позволят вам настроить этот компромисс на 3 ГБ для приложений и 1 ГБ совместно, но это может вызвать проблемы для некоторых приложений, которые не ожидают изменения. Я также предполагаю, что это может испортить графическую карту с 1 ГБ ОЗУ (но я не уверен). 64-разрядная ОС может дать отдельным 32-разрядным приложениям более близкое к полному 4 ГБ для воспроизведения.

С точки зрения пользователя:

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

  • Если у вас есть приложения для работы с памятью (например, фоторедакторы, обработка видео, научные вычисления и т. д.), если у вас есть (или вы можете купить) более 3 ГБ ОЗУ, и вы можете получить 64- разрядной версии приложения, выбор прост: используйте 64-битную ОС.

  • В некоторых устройствах нет 64-битных драйверов. Перед установкой коммутатора проверьте свою материнскую плату, все подключаемые карты и все USB-устройства. Обратите внимание, что в первые дни Windows Vista было много проблем с драйверами. В наши дни все лучше.

  • Если вы запускаете так много приложений за раз, когда у вас заканчивается RAM (обычно вы можете это сказать, потому что ваш компьютер начинает очень медленно, и вы слышите хруст жесткого диска), тогда вы будете требуется 64-разрядная ОС (и достаточная оперативная память).

  • Вы можете запускать 32-разрядные приложения (но не драйверы) в 64-разрядной Windows без проблем. Наихудшее замедление, которое я измерил для 32-битного приложения в 64-битной Windows, составляет около 5% (это означает, что если потребовалось 60 секунд, чтобы что-то сделать в 32-битной Windows, потребовалось не более 60 * 1.05 = 65 секунд с то же 32-битное приложение в 64-битной Windows).

В 32-битном или 64-битном варианте not подразумевается:

В системах x86 32-разрядная и 64-разрядная напрямую ссылаются на размер указателей. Вот и все.

  • Он не относится к размеру типа C int . Это определяется конкретной реализацией компилятора, и большинство популярных компиляторов выбирают 32-разрядный int в 64-битных системах.

  • Это не напрямую относится к размеру обычных регистров без указателей. Однако использование 64-разрядных арифметических регистров требует, чтобы приложение и ОС работали в режиме 64-битного указателя.

  • Не соответствует размер физической шины. Например, для системы с 64-разрядными шинами и максимальной памятью 512 ГБ требуется только 33 бита в адресной шине (т.е. log2 (512 * 1024 ** 3) - log2 (64) = 33 ).

  • Он не относится к размеру физической шины данных: это больше связано с производственными затратами (количество контактов в гнезде процессора) и размерами в кешках.

ответил Mr Fooz 17 +04002009-10-17T17:11:23+04:00312009bEurope/MoscowSat, 17 Oct 2009 17:11:23 +0400 2009, 17:11:23
107

В принципе, вы можете сделать все в большем масштабе:

  1. ОЗУ на операционную систему: ОЗУ RAM 4 ГБ на x86 для ОС (большую часть времени)
  2. ОЗУ на процесс: ОЗУ RAM 4GB на x86 для процессов (всегда). Если вы считаете, что это не важно, попробуйте запустить огромное приложение для работы с базами данных MSSQL. Он будет использовать> 4GB, если у вас есть это и работает намного лучше.
  3. Адреса: Адреса - это 64 бита вместо 32 бит, что позволяет вам иметь «большие» программы, которые используют больше памяти.
  4. Ручки доступны для программ: . Вы можете создать больше дескрипторов файлов, процессов, ... Пример в Windows x64 вы можете создать> 2000 потоков на процесс, но на x86 ближе к нескольким сотням.
  5. Доступны более широкие программы: . С x64 вы можете запускать как x86, так и x64 программы. (Примеры окон: wow64, windows32 для эмуляции Windows64)
  6. Параметры эмуляции: На x64 вы можете запускать как виртуальные машины x86, так и x64.
  7. Быстрее: Некоторые вычисления выполняются быстрее на 64-битном процессоре
  8. Разделение нескольких системных ресурсов: Много оперативной памяти очень важно, если вы хотите запустить хотя бы одну виртуальную машину, которая делит ваши системные ресурсы.
  9. Доступны эксклюзивные программы: Несколько новых программ поддерживают только x64. Пример Exchange 2007.
  10. Будущее устаревшее x86?: С течением времени будет использоваться все больше и больше 64-битных, и все больше и больше x86 не будет использоваться. Таким образом, поставщики будут поддерживать только 64-разрядные все больше и больше.

Два больших типа 64-разрядных архитектур - это архитектуры x64 и IA64. Но x64 является самым популярным на сегодняшний день.

x64 может запускать команды x86, а также команды x64. IA64 также запускает команды x86, но не поддерживает расширения SSE. На Itanium имеется аппаратное обеспечение для запуска инструкций x86; это эмулятор, но в аппаратном обеспечении.

Как упоминалось в @Phil, вы можете получить более глубокий вид как это работает здесь .

ответил Brian R. Bondy 25 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowThu, 25 Sep 2008 16:19:02 +0400 2008, 16:19:02
46

Самое большое влияние, которое люди заметят на данный момент, это то, что 32-битный ПК может использовать только максимум 4 ГБ памяти. Когда вы снимаете память, выделенную для других целей операционной системой, ваш компьютер, вероятно, будет показывать только около 3,25 ГБ полезной памяти. Переместитесь на 64 бит, и этот предел исчезнет.

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

Для более подробного описания различий в процессорах ознакомьтесь с этой замечательной статьей из ответил 25 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowThu, 25 Sep 2008 16:16:25 +0400 2008, 16:16:25

31

Ничего не бесплатного: хотя 64-разрядные приложения могут получить больше памяти, чем 32-разрядные приложения, недостатком является то, что им требуется больше памяти. Все те указатели, которым раньше требовалось 4 байта, теперь им нужно 8. Например, требование по умолчанию в Emacs на 60% больше памяти, когда оно построено для 64-битной архитектуры. Этот дополнительный след ухудшает производительность на каждом уровне иерархии памяти: большие исполняемые файлы занимают больше времени для загрузки с диска, более крупные рабочие группы вызывают большее количество подкачки и большие объекты, что меньше подходит для кэшей процессоров. Если вы думаете о процессоре с кешем 16K L1, 32-разрядное приложение может работать с 4096 указателями до того, как оно пропустит и перейдет в кэш L2, но 64-разрядное приложение должно достичь для кэша L2 после всего 2048 указателей.

В x64 это смягчается другими архитектурными улучшениями, такими как больше регистров, но на PowerPC, если ваше приложение не может использовать> 4G, скорее всего, он будет работать быстрее на «ppc», чем «ppc64». Даже на Intel есть рабочие нагрузки, которые работают быстрее на x86, и немногие работают быстрее, чем на 5% быстрее на x64, чем на x86.

ответил James 13 +04002008-10-13T14:45:24+04:00312008bEurope/MoscowMon, 13 Oct 2008 14:45:24 +0400 2008, 14:45:24
19

64-разрядная ОС может использовать больше оперативной памяти. Это на самом деле, на практике. 64-разрядная версия Vista /7 использует более безопасные функции безопасности для того, где они размещают жизненно важные компоненты в ОЗУ, но это не является «примечательным» как таковым.

Из ChrisInEdmonton:

  

32-разрядная операционная система на ix86   система с PAE может адресовать до 64   ГБ ОЗУ. 64-разрядная операционная система   на x86-64 можно получить доступ до 256 ТБ   виртуального адресного пространства, хотя это может   быть подняты в последующих процессорах, вверх   до 16 EB. Обратите внимание, что некоторые операционные   системы ограничивают адресное пространство   далее, и большинство материнских плат   имеют дополнительные ограничения.

ответил Phoshi 17 +04002009-10-17T15:24:05+04:00312009bEurope/MoscowSat, 17 Oct 2009 15:24:05 +0400 2009, 15:24:05
14

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

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

Я думаю, что это проблема реализации, а не дизайн. То есть Я думаю, что «дизайн», скажем, пакет редактирования фотографий будет таким же, как и слова. Мы пишем код, который компилируется как на 32-битную, так и на 64-битную версии, и дизайн, конечно, не отличается между двумя - это одна и та же кодовая база.

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

Я уверен, что другие ответы пойдут на детали и принесут больше пользы, чем я.

С точки зрения обнаружения разницы, тогда программно вы просто проверяете размер указателя (например, sizeof (void *)). Ответ 4 означает его 32 бита, а 8 означает, что вы работаете в 64-битной среде.

ответил Greg Whitfield 25 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowThu, 25 Sep 2008 16:29:56 +0400 2008, 16:29:56
10

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

В OSX есть и другие преимущества. См. следующую статью , почему с запуском ядра в 64 бит адресное пространство (независимо от того, работает ли приложение под управлением 64 или 32) или приложение работает в 64-битовом адресном пространстве (в то время как ядро ​​по-прежнему составляет 32 бит) приводит к значительно лучшей производительности. Подводя итог: если один из них - 64 бит (ядро или приложение или, конечно, оба), TLB («буфер пересылки перевода») не нужно очищать при каждом переключении с ядра на использование пространства и обратно (что будет ускорять доступ к ОЗУ).

Также у вас есть выигрыш в производительности при работе с переменными long long int (64 битных переменных, таких как uint64_t). 32-битный ЦП может добавлять /делить /вычитать /умножать два значения 64 бит, но не на единую аппаратную операцию. Вместо этого необходимо разбить эту операцию на две (или более) 32-разрядные операции. Таким образом, приложение, которое много работает с 64-битными номерами, будет иметь коэффициент усиления, позволяющий выполнять 64-битную математику непосредственно в аппаратном обеспечении.

И последнее, но не менее важное: архитектура x86-64 предлагает больше регистров, чем классические архитектуры x86. Работа с регистрами происходит намного быстрее, чем работа с ОЗУ, и чем больше регистров процессора, тем реже нужно менять регистровые значения в ОЗУ и обратно в регистры.

Чтобы узнать, может ли ваш процессор работать в режиме 64 бит, вы можете посмотреть различные переменные sysctl. Например. откройте терминал и введите

  sysctl machdep.cpu.extfeatures
 

Если он отображает EM64T, ваш процессор поддерживает 64-битное адресное пространство в соответствии со стандартом x86-64. Вы также можете искать

  sysctl hw.optional.x86_64
 

Если он говорит 1 (true /enabled), ваш процессор поддерживает бит-бит x86-64, если он говорит 0 (false /disabled), это не так. Если параметр не найден вообще, считайте его ложным.

Примечание. Вы также можете извлекать переменные sysctl из встроенного приложения C, не нужно использовать инструмент командной строки. См

  man 3 sysctl
 
ответил Mecki 25 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowThu, 25 Sep 2008 16:34:13 +0400 2008, 16:34:13
9

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

Некоторые из вещей, упомянутых в этом потоке (например, удвоение # регистров), применимы только к x86-> x86_64, а не 64-битный в целом. Так же, как и тот факт, что под x86_64 гарантируется SSE2, 686 опкодов и дешевый способ делать PIC. Эти функции строго не о 64-битных, а о сокращении устаревших и устранении известных ограничений x86

Кроме того, нередко люди указывают на удвоение регистров в качестве причины ускорения, в то время как, скорее всего, использование SSE2 по умолчанию делает трюк (ускорение memcpy и аналогичных функций). Если вы включите тот же набор для x86, разница будет меньше. (*) (***)

Также имейте в виду, что часто применяется начальное наказание, потому что средняя структура данных будет увеличиваться просто потому, что размер указателя больше. Это также имеет эффекты кеша, но более заметно, что средний memcpy () (или любой другой эквивалент для копии памяти на вашем языке) займет больше времени. Это только в величине нескольких процентов кстати, но упомянутые выше ускорения также находятся в этой величине.

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

В целом, мои простые тесты показывают, что они будут грубо отменять друг друга, если драйверы и библиотеки времени исполнения полностью адаптированы, что не дает существенной разницы в скорости для среднего приложения. Однако некоторые приложения могут внезапно ускоряться (например, в зависимости от AES) или медленнее (критическая структура данных постоянно перемещается /просматривается /идет и содержит много указателей). Тесты были на Windows, хотя, и поэтому оптимизация PIC не была проверена.

Обратите внимание, что большинство языков JIT-VM (Java, .NET) используют значительно больше указателей в среднем (внутренне), чем, например, C ++. Вероятно, их использование памяти увеличивается больше, чем для средней программы, но я не смею приравнивать это непосредственно к замедляющим эффектам (так как это действительно сложный и напуганный зверь и часто трудно предсказать без измерения)

(*) малоизвестный факт состоит в том, что число регистров SSE также удваивается в 64-битном режиме

(**) У доктора Доббса была хорошая статья об этом несколько лет назад.

ответил Marco van de Voort 2 Mayam09 2009, 01:19:47
8

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

Взгляните на тома 4, pre-Fascicle 1A для некоторых примеров интересных трюков, о которых я говорю.

ответил 25 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowThu, 25 Sep 2008 16:36:07 +0400 2008, 16:36:07
7

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

Архитектура x86_64 обратно совместима с x86. Можно запускать немодифицированные 32-разрядные операционные системы. Также возможно запустить немодифицированное 32-разрядное программное обеспечение из 64-разрядной ОС. Тем не менее, это потребует всех обычных 32-битных библиотек. Возможно, их необходимо установить отдельно.

ответил Kristof Provost 17 +04002009-10-17T15:29:00+04:00312009bEurope/MoscowSat, 17 Oct 2009 15:29:00 +0400 2009, 15:29:00
6

Этот поток уже слишком длинный, но ...

В большинстве ответов основное внимание уделено тому факту, что у вас больше 64-разрядное адресное пространство, поэтому вы можете адресовать больше памяти. Для примерно 99% всех приложений это совершенно не имеет значения. Большой крик.

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

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

Таким образом, «типичное» приложение C /C ++ получит повышение производительности на 10% или 15%, просто перекомпилировав его для 64-разрядной версии. (Предполагая, что какая-то часть приложения была связана с вычислением. Конечно, это не гарантировано, все компьютеры ждут той же скорости. Ваш пробег может меняться.)

ответил Die in Sente 25 22008vEurope/Moscow11bEurope/MoscowTue, 25 Nov 2008 23:35:52 +0300 2008, 23:35:52
5

С 32-разрядной машиной вы должны адресовать только 4 294 967 295 байт. С 64-разрядной машиной вы имеете 1,84467441 Ã-10 ^ 19 байт памяти.

Wikipedia говорит об этом

  

64-разрядные процессоры вычисляют конкретные задачи (например, факториалы больших чисел) в два раза быстрее, чем работа в 32-битных средах (данный пример получен из сравнения между 32-битным и 64-битным калькулятором Windows, что заметно для факториала скажем, 100 000). Это дает общее представление о теоретических возможностях 64-битных оптимизированных приложений.

     

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

     

64-разрядные виртуальные машины Sun запустили медленнее, чем их 32-разрядные виртуальные машины, потому что Sun только реализовала «серверный» JIT-компилятор (C2) для 64-разрядных платформ. [9] «Клиентский» JIT-компилятор (C1), который производит менее эффективный код, но компилируется намного быстрее, недоступен на 64-разрядных платформах.

     

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

ответил Mark Cidade 25 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowThu, 25 Sep 2008 16:17:17 +0400 2008, 16:17:17
5

Помимо уже упомянутых преимуществ, еще несколько соображений безопасности:

  • x86_64 cpus имеют бит no-execute в своих таблицах страниц. То есть это может помешать эксплоатации secruity вызвать переполнение буфера. 32-разрядный процессор x86 поддерживает эту функцию только в режиме PAE.
  • Большее адресное пространство позволяет лучше ранжировать макет адресного пространства (ASLR), что затрудняет эксплуатацию переполнения буфера.
  • x86_64 cpus имеет независимый от позиции код, то есть доступ к данным относительно регистра указателя команд (RIP).

Еще одно преимущество, которое приходит в голову, состоит в том, что количество виртуальной смежной памяти, выделенной с помощью vmalloc () в ядре Linux, может быть больше в режиме 64 бит.

ответил knweiss 3 Maypm09 2009, 19:05:47
5

Цитата от Microsoft.com:

  

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

MS-Table

ответил Mehper C. Palavuzlar 30 +03002009-10-30T13:11:02+03:00312009bEurope/MoscowFri, 30 Oct 2009 13:11:02 +0300 2009, 13:11:02
4

Кристоф и Поши заявили о главных технических различиях между 32 и 64-битной ОС. Пользовательский опыт обычно сильно отличается от теории. 64-разрядные версии Windows на сегодняшний день (XP и Vista) имеют большие щелевые отверстия в поддержке драйверов. У меня было много принтеров, сканеров и других внешних устройств, которые не работают с 64-битными версиями, которые отлично работают с 32-разрядными версиями. Это устройства с 64-битными драйверами, и они все равно не будут работать. На данный момент я бы рекомендовал вам держаться подальше от чего-либо из потребителей, который находится на 64 бит от Microsoft, пока вы не узнаете о том, как Windows 7 справляется с этим, от реальных конечных пользователей, а не только от uber-geeks, которые в настоящее время имеют к нему доступ. Дайте ему по крайней мере 6 месяцев и посмотрите, что люди переживают. Лично я буду устанавливать 32-битный вкус Windows 7, так как мои 64-битные версии Vista - это дорогостоящий бумажный вес, который я прекратил использовать эоны назад и вернулся к XP 32 бит.

ответил Kevin K 17 +04002009-10-17T15:57:58+04:00312009bEurope/MoscowSat, 17 Oct 2009 15:57:58 +0400 2009, 15:57:58
2

Некоторые игровые программы используют представление бит-доски . Например, шахматы, шашки и othello имеют плату 8x8, т.е. 64 квадрата, поэтому наличие машинного слова по меньшей мере на 64 бита значительно повышает производительность.

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

ответил Hugh Allen 26 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowFri, 26 Sep 2008 11:22:11 +0400 2008, 11:22:11
2

Термин 32-разрядный и 64-разрядный относится к тому, как компьютерный процессор (также называемый ЦП) обрабатывает информацию. 64-разрядные версии Windows обрабатывают большие объемы оперативной памяти (ОЗУ) более эффективно, чем 32-разрядные системы.

скорость может отличаться по моему мнению

ответил LestiWulan 27 J0000006Europe/Moscow 2012, 06:17:13
1

Другим моментом в отношении Microsoft Windows является то, что на протяжении многих лет существовал API Win32, предназначенный для 32-разрядных операционных систем и не оптимизированный для компиляции 64 бит. Когда я пишу некоторые библиотеки DLL для своих приложений, я обычно компилирую в Win32, который не является 64-битной версией. До Vista не так много успешных 64-битных версий Windows, которые я считаю, когда я работаю на своей новой машине с 4 ГБ ОЗУ, но я все еще использую 32-разрядную Windows XP Pro, так как это известная стабильная система O /S относительно XP64 или Vista.

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

Изменение размера адреса может иметь некоторые серьезные последствия и последствия.

ответил JB King 25 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowThu, 25 Sep 2008 22:07:55 +0400 2008, 22:07:55
1

Для большинства практических целей вы, вероятно, не заметите разницы.

Для установки 64-разрядной операционной системы у вас должен быть 64-разрядный процессор (большинство процессоров за последние несколько лет).

В 64-разрядной операционной системе есть несколько преимуществ:

  • Это позволит вам запускать более 4 ГБ ОЗУ (максимальное число, которое вы можете указать в 32-битной ОС, составляет 2 ^ 32 = 4 ГБ).
  • Это полезно для работы с большими наборами данных (например, в Excel) и некоторыми вычислительно-интенсивными задачами (например, Photoshop и большими файлами).
  • Вы можете запускать 64-разрядную программу только в 64-разрядной ОС, но вы можете запускать 32-разрядную программу для обоих (помните, что многие программы поступают как в оба, так и не так много 64 -битные программы).

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

ответил cyberx86 9 J000000Saturday11 2011, 23:21:06

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132