2009-03-03 28 views
29

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 ejecutarse en una CPU de 64 bits tiene alguna otra ventaja que en realidad podría beneficiar a los programas que no son enormes cerdos de memoria?¿Cuáles son las ventajas de un procesador de 64 bits?

Estoy preguntando acerca de las CPU en general, y las CPU compatibles con Intel en particular.

Respuesta

32

Hay un great article on Wikipedia sobre las diferencias y los beneficios de la CPU Intel/AMD de 64 bits en sus versiones de 32 bits. Debe tener toda la información que necesita.

Algunas de las principales diferencias son:

  • 16 registros de propósito general en lugar de 8
  • SSE adicional registra
  • Un sin ejecutar (NX) poco para prevenir los ataques de desbordamiento del búfer
+0

El bit de no ejecución también existe en las arquitecturas de 32 bits. – flodin

+3

Sí, pero solo funciona a nivel de segmento. La mayoría de los sistemas operativos usan un modelo plano, por lo que no pueden activarlo o no ejecutan todo el espacio de direcciones. Los chips de 64 bits le permiten configurarlo en un nivel de página. Eche un vistazo a http://en.wikipedia.org/wiki/NX_bit para obtener más información. – Sean

+0

Sweet - Nunca supe que antes de –

4

Este artículo puede ser útil:

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

Ésta es una Ubuntu poco fuera de tema, pero podría ayudar si va a utilizar:

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

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

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

+1

el tercer enlace está caído .. – Pacerier

+0

En cuanto a los enlaces de los foros de Ubuntu: "Es posible que el administrador haya solicitado que se registre antes de poder ver esta página". Eso es inconveniente. – leetNightshade

1

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

+0

¿Fuente o explicación de por qué esto sucedería? Sólo curioso. – Jers

7

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

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

+0

Este es el mayor atractivo para mí –

+0

concedido. Esta es la única razón que me obliga a actualizar las computadoras a 64 bits. En las principales compañías petroleras, 24 Gb de RAM en el escritorio ahora son comunes (Linux o Windows). –

2

Corrección leve. En Windows de 32 bits, el límite es de aproximadamente 3 GB de RAM. Creo que el espacio restante de 1 GB de direcciones está reservado para el hardware. Aún puede instalar 4GB, pero solo 3 serán accesibles.

Personalmente, creo que cualquier persona que no haya vivido felizmente con 16K en un sistema operativo de 8 bits en una vida anterior debe tener cuidado de emitir calumnias contra algunos del software de hoy comienzan a ser porcinos. La verdad es que a medida que nuestros recursos se vuelven más abundantes, también lo hacen nuestras 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.

17

La principal ventaja de una CPU de 64 bits es la capacidad de tener tipos de punteros 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 (normalmente) de 32 bits de ancho, lo que permite que un puntero haga referencia a una de las 2^32 (4.294.967.296) direcciones discretas. Esto permite que un programa cree una estructura de datos en la memoria de hasta 4 GB de tamaño y resuelva cualquier elemento de datos simplemente desreferenciando un puntero. La realidad es un poco más compleja que esto, pero a los efectos de esta discusión es una buena idea.

Una CPU de 64 bits tiene tipos de puntero de 64 bits que pueden hacer referencia 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 este puede (teóricamente) construir y abordar lógicamente cualquier parte de una estructura de datos de hasta 16 Exabytes de tamaño simplemente descartando un puntero (buscando datos en una dirección que se encuentra en el puntero).

Esto permite que un proceso en una CPU de 64 bits para trabajar con un conjunto mayor de datos (limitado por la memoria física) que un proceso en una CPU de 32 bits podría. 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 la memoria.

Aparte de eso, puede obtener un tipo entero de 64 bits nativo. Un entero de 64 bits realiza operaciones aritméticas o lógicas utilizando 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 poco probable que se vea afectada significativamente, ya que las FPU en la mayoría de las CPU modernas de 32 bits admiten de forma nativa los tipos de coma flotante de double de 64 bits.

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

1

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 la informática doméstica (con ocho versiones principales próximamente). Múltiples núcleos permiten aumentar la potencia de procesamiento y una operación más rápida de la computadora. Los programas de software que requieren muchos cálculos para funcionar funcionan más rápido en los procesadores de núcleo múltiple de 64 bits, en su mayor parte. Es importante tener en cuenta que las computadoras de 64 bits aún pueden usar programas de software basados ​​en 32 bits, incluso cuando el sistema operativo Windows es una versión de 64 bits.

Otra gran diferencia entre procesadores de 32 bits y procesadores de 64 bits es la cantidad máxima de memoria (RAM) admitida. 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, el diseño de ingeniería o la edición de video, donde se realizan muchos cálculos para representar imágenes, dibujos y secuencias de video.

Una cosa a tener en cuenta es que los programas y juegos gráficos 3D no se benefician mucho, en todo caso, desde el cambio a un equipo de 64 bits, a menos que el programa es 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 comunes en los equipos domésticos. 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 y programas operativos de 64 bits. Los minoristas de partes de computadoras están ofreciendo cada vez menos procesadores de 32 bits y pronto pueden no ofrecer ninguno.

Cuestiones relacionadas