2009-03-03 8 views
29

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

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

ответ

32

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

Некоторые на ключевых различий:

  • 16 регистры общего назначения вместо 8
  • Дополнительная SSE регистров
  • А, выполнение (NX) бит, чтобы предотвратить ошибку переполнения буфера атаки
+0

Бит исполнения не существует на 32-разрядных архитектурах. – flodin

+3

Да, но он работает только на уровне сегмента. Большинство ОС используют плоскую модель, поэтому они не могут включить ее или не будут выполнять все адресное пространство! 64-разрядные чипы позволяют устанавливать его на уровне страницы. Взгляните на http://en.wikipedia.org/wiki/NX_bit для получения дополнительной информации. – Sean

+0

Sweet - я никогда не знал, что до –

4

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

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

+1

Третья ссылка отсутствует .. – Pacerier

+0

Что касается ссылок на форумы Ubuntu: «Возможно, администратор потребовал от вас зарегистрироваться, прежде чем вы сможете просматривать эту страницу». Это неудобно. – leetNightshade

1

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

+0

Источник или объяснение, почему это произойдет? Просто любопытно. – Jers

7

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

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

+0

Это самая большая ничья для меня –

+0

Предоставлено. Это единственная причина, которая заставляет меня обновлять компьютеры до 64 бит. В крупных нефтяных компаниях 24 ГБ оперативной памяти на настольном компьютере теперь распространены (Linux или Windows). –

2

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

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

17

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

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

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

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

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

1

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

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

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

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

 Смежные вопросы

  • Нет связанных вопросов^_^