¿Cuáles son las ventajas de un procesador de 64 bits?


Obviamente, un procesador de 64 bits tiene un espacio de direcciones de 64 bits, por lo que tiene más de 4 GB de RAM a su disposición. ¿Compilar el mismo programa que 64 bits y correr en una CPU de 64 bits tiene otras ventajas que podrían beneficiar a programas que no son enormes cerdos de memoria?

Estoy preguntando sobre CPU en general, y CPU compatibles con Intel en particular.

 32
Author: Mason Wheeler, 2009-03-03

8 answers

Hay un gran artículo en Wikipedia sobre las diferencias y beneficios de las cpu Intel/AMD de 64 bits sobre sus versiones de 32 bits. Debería tener toda la información que necesitas.

Algunas de las diferencias clave son:

  • 16 registros de propósito general en lugar de 8
  • Registros adicionales de SSE
  • Un bit no execute (NX) para evitar ataques de desbordamiento de búfer
 32
Author: Sean,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-03-03 17:30:26

La principal ventaja de una CPU de 64 bits es la capacidad de tener tipos de puntero de 64 bits que permiten rangos de direcciones virtuales de más de 4 GB de tamaño. En una CPU de 32 bits, el tamaño del puntero es (típicamente) de 32 bits de ancho, lo que permite que un puntero se refiera a una de 2^32 (4,294,967,296) direcciones discretas. Esto permite a un programa crear una estructura de datos en memoria de hasta 4 GB de tamaño y resolver cualquier elemento de datos en ella simplemente des-referenciando un puntero. La realidad es un poco más compleja que esto, pero para los propósitos de esta discusión es una vista bastante buena.

Una CPU de 64 bits tiene tipos de puntero de 64 bits que pueden referirse a cualquier dirección con un espacio con 2^64 (18,446,744,073,709,551,616) direcciones discretas, o 16 Exabytes. Un proceso en una CPU como esta puede (teóricamente) construir y abordar lógicamente cualquier parte de una estructura de datos de hasta 16 Exabytes de tamaño simplemente des-referenciando un puntero (buscando datos en una dirección contenida en el puntero).

Esto permite que un proceso en una CPU de 64 bits funcione con un conjunto de datos más grande (limitado por la memoria física)que un proceso en una CPU de 32 bits. Desde el punto de vista de la mayoría de los usuarios de sistemas de 64 bits, la principal ventaja es la capacidad de las aplicaciones para trabajar con conjuntos de datos más grandes en memoria.

Aparte de eso, puede obtener un tipo entero nativo de 64 bits. Un entero de 64 bits hace operaciones aritméticas o lógicas usando tipos de 64 bits como C long long más rápido que uno implementado como dos operaciones de 32 bits. La aritmética de coma flotante es es poco probable que se vea afectado significativamente, ya que las FPU en la mayoría de las CPU modernas de 32 bits admiten de forma nativa tipos de coma flotante de 64 bits double.

Cualquier otra ventaja de rendimiento o conjunto de características mejoradas son una función de implementaciones de chips específicos, en lugar de algo inherente a un sistema que tiene una ALU de 64 bits.

 18
Author: ConcernedOfTunbridgeWells,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-03-03 19:50:15

Con un sistema operativo de 64 bits, puede direccionar más de 4 GB de RAM. Esto es útil para algunas aplicaciones.

Por ejemplo, puede cargar un cubo de datos grande en la memoria y cortarlo y cortarlo de manera más efectiva (datos sísmicos o datos médicos, por ejemplo).

 7
Author: David S.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-03-03 17:31:50

Este artículo puede ser útil:

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

Este es un poco fuera de tema, pero podría ayudar si planea usar Ubuntu:

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

Y este pdf a continuación contiene una técnica detallada especificación:

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

 4
Author: dincerm,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-03-03 17:27:10

Aproximadamente 1-3% de aumento de velocidad debido al paralelismo de nivel de instrucción para cálculos de 32 bits.

 2
Author: vartec,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-03-03 17:31:15

Ligera corrección. En Windows de 32 bits, el límite es de aproximadamente 3 GB de RAM. Creo que el 1GB restante de espacio de direcciones está reservado para el hardware. Todavía puedes instalar 4GB, pero solo 3 serán accesibles.

Personalmente creo que cualquiera que no haya vivido felizmente con 16K en un sistema operativo de 8 bits en una vida anterior debe tener cuidado de lanzar aspersiones contra algunos del software de hoy que comienza a convertirse en porcino. La verdad es que a medida que nuestros recursos se vuelven más abundantes, expectativas. El día no es largo cuando 3GB comenzará a parecer ridículamente pequeño. Hasta ese día, quédate con tu sistema operativo de 32 bits y sé feliz.

 2
Author: T.E.D.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-06-07 00:28:23

Solo quería añadir un poco de información sobre los pros y los contras de las CPU de 64 bits. http://blogs.msdn.com/joshwil/archive/2006/07/18/670090.aspx

 1
Author: Wei Hu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-06-18 06:46:54

La principal diferencia entre los procesadores de 32 bits y los procesadores de 64 bits es la velocidad que operan. los procesadores de 64 bits pueden venir en versiones de doble núcleo, cuatro núcleos y seis núcleos para computación doméstica (con ocho versiones de núcleo próximamente). Múltiples núcleos permiten aumentar la potencia de procesamiento y un funcionamiento más rápido de la computadora. Los programas de software que requieren muchos cálculos para funcionar operan más rápido en los procesadores multi-core de 64 bits, en su mayor parte. Es importante tener en cuenta que las computadoras de 64 bits pueden todavía utilice programas de software basados en 32 bits, incluso cuando el sistema operativo Windows es una versión de 64 bits.

Otra gran diferencia entre los procesadores de 32 bits y los procesadores de 64 bits es la cantidad máxima de memoria (RAM) que se admite. las computadoras de 32 bits admiten un máximo de 3-4 GB de memoria, mientras que una computadora de 64 bits puede admitir cantidades de memoria superiores a 4 GB. Esto es importante para los programas de software que se utilizan para el diseño gráfico, diseño de ingeniería o edición de vídeo, donde muchos cálculos se realizan para renderizar imágenes, dibujos y secuencias de vídeo.

Una cosa a tener en cuenta es que los programas gráficos 3D y los juegos no se benefician mucho, si es que se benefician, de cambiar a una computadora de 64 bits, a menos que el programa sea un programa de 64 bits. Un procesador de 32 bits es adecuado para cualquier programa escrito para un procesador de 32 bits. En el caso de los juegos de computadora, obtendrá mucho más rendimiento al actualizar la tarjeta de video en lugar de obtener un procesador de 64 bits.

Al final, los procesadores de 64 bits son cada vez más común en las computadoras domésticas. La mayoría de los fabricantes construyen computadoras con procesadores de 64 bits debido a los precios más baratos y porque ahora más usuarios están utilizando sistemas operativos y programas de 64 bits. Los minoristas de piezas de computadora están ofreciendo cada vez menos procesadores de 32 bits y pronto pueden no ofrecer ninguno en absoluto.

 1
Author: kombsh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-12-11 16:36:01