Каковы преимущества 64-битного процессора? - PullRequest
33 голосов
/ 03 марта 2009

Очевидно, что 64-разрядный процессор имеет 64-разрядное адресное пространство, поэтому в вашем распоряжении более 4 ГБ ОЗУ. Имеет ли компиляция той же программы, что и 64-битная, и запуск на 64-битном процессоре, какие-либо другие преимущества, которые могут на самом деле принести пользу программам, которые не являются огромными захватами памяти?

Я спрашиваю о процессорах в целом и Intel-совместимых процессорах в частности.

Ответы [ 8 ]

33 голосов
/ 03 марта 2009

В Википедии есть отличная статья о различиях и преимуществах 64-битных процессоров Intel / AMD по сравнению с 32-битными версиями. Он должен иметь всю необходимую информацию.

Некоторые ключевые различия:

  • 16 регистров общего назначения вместо 8
  • Дополнительные регистры SSE
  • Бит без выполнения (NX) для предотвращения атак переполнения буфера
20 голосов
/ 03 марта 2009

Основным преимуществом 64-разрядного процессора является возможность иметь 64-разрядные типы указателей, которые позволяют диапазонам виртуальных адресов превышать 4 ГБ. На 32-разрядном процессоре размер указателя (обычно) составляет 32 бита, что позволяет указателю ссылаться на один из 2 ^ 32 (4 294 967 296) дискретных адресов. Это позволяет программе создать структуру данных в памяти размером до 4 ГБ и разрешить любой элемент данных в ней, просто отменив ссылку на указатель. Реальность немного сложнее, но для целей этого обсуждения это достаточно хороший взгляд.

64-разрядный ЦП имеет 64-разрядные типы указателей, которые могут ссылаться на любой адрес с пробелом с 2 ^ 64 (18,446,744,073,709,551,616) дискретными адресами или 16 эксабайтами. Подобный процесс на ЦП может (теоретически) создать и логически адресовать любую часть структуры данных размером до 16 эксабайт путем простой разыменования указателя (поиска данных по адресу, содержащемуся в указателе).

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

Кроме того, вы можете получить собственный 64-битный целочисленный тип. 64-разрядное целое число делает арифметические или логические операции с использованием 64-разрядных типов, таких как C * long long, быстрее, чем одно, реализованное в виде двух 32-разрядных операций. Арифметика с плавающей запятой вряд ли будет существенно затронута, поскольку FPU на большинстве современных 32-битных процессоров изначально поддерживают 64-битные double типы с плавающей запятой.

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

8 голосов
/ 03 марта 2009

В 64-битной операционной системе вы можете использовать более 4 ГБ ОЗУ. Это полезно для некоторых приложений.

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

3 голосов
/ 03 марта 2009

Эта статья может быть полезна:

http://www.softwaretipsandtricks.com/windowsxp/articles/581/1/The-difference-between-64-and-32-bit-processors

Это немного не по теме, но может помочь, если вы планируете использовать Ubuntu:

http://ubuntuforums.org/showthread.php?t=368607

И этот PDF ниже содержит подробную техническую спецификацию:

http://www.plmworld.org/access/tech_showcase/pdf/Advantage%20of%2064bit%20WS%20for%20NX.pdf

2 голосов
/ 03 марта 2009

Небольшая коррекция. В 32-битной Windows ограничение составляет около 3 ГБ ОЗУ. Я считаю, что оставшийся 1 ГБ адресного пространства зарезервирован для оборудования. Вы все еще можете установить 4 ГБ, но только 3 будут доступны.

Лично я думаю, что любой, кто не жил счастливо с 16K на 8-битной ОС в прежней жизни, должен быть осторожен с наложением рассуждений против некоторых современного программного обеспечения, которое начинает становиться свиным. Правда состоит в том, что по мере того, как наши ресурсы становятся более многочисленными, наши ожидания также растут. Недалек тот день, когда 3ГБ начнут казаться смехотворно маленькими. До этого дня придерживайтесь своей 32-битной ОС и будьте счастливы.

1 голос
/ 07 октября 2013

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

Другим большим отличием между 32-разрядными и 64-разрядными процессорами является максимальный объем памяти (ОЗУ), который поддерживается. 32-разрядные компьютеры поддерживают максимум 3-4 ГБ памяти, тогда как 64-разрядные компьютеры могут поддерживать объемы памяти более 4 ГБ. Это важно для программ, которые используются для графического дизайна, инженерного проектирования или редактирования видео, где выполняется много вычислений для визуализации изображений, рисунков и видеозаписей.

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

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

1 голос
/ 18 июня 2009

Просто хотел добавить немного информации о плюсах и минусах 64-битных процессоров. https://blogs.msdn.microsoft.com/joshwil/2006/07/18/should-i-choose-to-take-advantage-of-64-bit/

1 голос
/ 03 марта 2009

Около 1-3% увеличения скорости из-за параллелизма на уровне команд для 32-битных вычислений.

...