2010-12-29 15 views
28

He estado intentando leer en procesadores de 32 bits y de 64 bits (http://en.wikipedia.org/wiki/32-bit_processing). Tengo entendido que un procesador de 32 bits (como x86) tiene registros de 32 bits de ancho. No estoy seguro de lo que eso significa. Entonces, ¿tiene "espacios de memoria" especiales que pueden almacenar valores enteros de hasta 2^32?¿Cuál es la diferencia entre un procesador de 32 bits y de 64 bits?

No quiero sonar estúpido, pero no tengo idea de los procesadores. Supongo que 64 bits es, en general, mejor que 32 bits. Aunque mi computadora ahora (un año de antigüedad, Win 7, Intel Atom) tiene un procesador de 32 bits.

+0

¿Mejor? Depende del uso, en la mayoría de los casos, no cambio nada, podría costar más memoria ... Es decir, una int en 64 bits cuesta el doble que la misma int en 32 bits. – ykatchou

+1

@ykatchou: Estás confundiendo el espacio de registro del procesador con la RAM. Y de cualquier manera, el consenso común es que los beneficios de los procesadores de 64 bits superan a los tipos de datos de puntero más grandes, etc. que se requieren. –

Respuesta

29

Todos los cálculos tienen lugar en los registros. Cuando agrega (o resta, o lo que sea) variables en su código, se cargan desde la memoria en los registros (si no están ya allí, pero mientras puede declarar un número infinito de variables, la cantidad de registros) está limitado). Por lo tanto, tener registros más grandes le permite realizar cálculos "más grandes" al mismo tiempo. No es que esta diferencia de tamaño importe tanto en la práctica cuando se trata de programas regulares (ya que al menos rara vez manipulo valores mayores a 2^32), pero así es como funciona.

Además, ciertos registros se utilizan como punteros en el espacio de la memoria y, por lo tanto, limitan la cantidad máxima de memoria a la que puede hacer referencia. Un procesador de 32 bits solo puede hacer referencia a 2^32 bytes (que son aproximadamente 4 GB de datos). Un procesador de 64 bits puede administrar mucho más obviamente.

También existen otras consecuencias, pero estas son las dos que se me ocurren.

+0

Gracias por la respuesta. Compré un INtel Atom de 32 bits. ¿Por qué Intel sigue haciendo 32 bits cuando tienen 64 bits? ¿Tiene 32 bits para el receptor? (Es cierto que mi PC ya está en el mercado). –

1

Los procesadores de 32 bits pueden direccionar un banco de memoria con una dirección de 32 bits. De modo que puede tener 2^32 celdas de memoria y, por lo tanto, una cantidad limitada de memoria direccionable (~ 4 GB). Incluso cuando agrega otro banco de memoria a su máquina, no puede abordarse. Por lo tanto, las máquinas de 64 bits pueden administrar hasta 2^64 celdas de memoria.

+3

Esa es * una * diferencia, pero es apenas la * única * diferencia. – cdhowie

+4

usted es libre de proporcionar una respuesta más detallada. – Simon

+0

No, está confundiendo el bus de direcciones con el bus de datos. Tomemos por ejemplo esas buenas computadoras antiguas de 8 bits como la CBM64. Solo tenía registros de 8 bits pero aún era capaz de abordar un espacio de memoria de 16 bits. –

-4

hay 8 bits en un byte, de modo que si está procesando 4 bytes de datos a cualquier ghz o mhz, su CPU se sincroniza por segundo. Entonces, si hay una CPU de 64 bits y una CPU de 32 bits sincronizados a la misma velocidad, la CPU de 64 bits sería más rápida

+0

Esto no siempre es cierto. El número de bits es el tamaño de cada instrucción que no está directamente relacionado con la velocidad –

-4

Los procesadores de 32 bits procesan 32 bits de datos basados ​​en Ghz de procesador por segundo y los procesadores de 64 bits son procesando 64 bits de datos por segundo con la velocidad que tiene tu PC. también los procesadores de 34 bits funcionan con 4 GB de RAM.

+0

Esto no es correcto. –

+0

Uh .... lol, wut? – Krythic

16

El procesador llama datos de la memoria, es decir, la RAM dando su dirección a MAR (Registro de direcciones de memoria). La electrónica de selección encuentra esa dirección en el banco de memoria y recupera los datos y los coloca en MDR (registro de datos de memoria). Estos datos se graban en uno de los registros del procesador para su posterior procesamiento. Es por eso que el tamaño del bus de datos determina el tamaño de los registros en el procesador. Ahora, si mi procesador tiene un registro de 32 bits, puede llamar datos de 4 bytes solamente, a la vez. Y si el tamaño de los datos excede los 32 bits, se necesitarán dos ciclos de recuperación para tener los datos en él. Esto ralentiza la velocidad de la máquina de 32 bits en comparación con 64 bits, lo que completaría la operación en UN solo ciclo de búsqueda. Por lo tanto, obviamente para los datos más pequeños, no importa si mis procesadores se sincronizan a la misma velocidad. Una vez más, con el procesador de 64 bits y el sistema operativo de 64 bits, mis instrucciones serán siempre de 64 bits de tamaño ... lo que innecesariamente ocupará más espacio en la memoria.

0

De here:

La principal diferencia entre los procesadores de 32 bits y procesadores de 64 bits es la velocidad que operan. Los procesadores de 64 bits pueden venir en core dual, quad core, y seis versiones de núcleo para computación doméstica (con ocho versiones de núcleo próximamente).Múltiples núcleos permiten aumentar el procesamiento de potencia 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 los procesadores de 32 bits y los 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 renderizar imágenes, dibujos y secuencias de video.

Una cosa a tener en cuenta es que los programas gráficos 3D y los juegos no benefician en gran medida, si es que cambian 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 actualizando la tarjeta de video en lugar de de obtener un procesador de 64 bits.

Al final, los procesadores de 64 bits se están volviendo cada vez más comunes en ordenadores domésticos. La mayoría de los fabricantes construyen computadoras con procesadores de 64 bits debido a los precios más baratos y porque más usuarios ahora están usando los sistemas operativos y programas de 64 bits . Los minoristas de partes de computadoras son que ofrecen cada vez menos procesadores de 32 bits y pronto pueden no ofrecer ningún en absoluto.

17

Las primeras arquitecturas de 32 bits y 64 bits se llaman.

Estas arquitecturas significa que la cantidad de datos de un microprocesador proceso dentro de un ciclo instrucción es decir fetch-decodificación a ejecutar

en un segundo que podría haber miles de personas a mil millones de ciclos de instrucción, dependiendo de un diseño de procesador.

32 bits significa que un microprocesador puede ejecutar 4 bytes de datos en un ciclo de instrucciones, mientras que 64 bits significa que un microprocesador se ejecuta puede ejecutar 8 bytes de datos en un ciclo de instrucciones.

Dado que el microprocesador necesita hablar con otras partes de la computadora para obtener y enviar datos, es decir, memoria, bus de datos y controlador de video, etc. por lo que también deben admitir transferencia de datos de 64 bits teóricamente. Sin embargo, por razones prácticas, como la compatibilidad y el costo, las otras partes aún pueden hablar con el microprocesador en 32 bits. Esto sucedió en PC original de IBM donde su microprocesador 8088 era capaz de ejecutar 16 bits mientras hablaba con otras partes de la computadora en 8 bits por razones de costo y compatibilidad con partes existentes.

Imagine que en una computadora de 32 bits necesita escribir 'a' como 'A', es decir, en CAPSLOCK, por lo que la operación solo requiere 2 bytes mientras que la computadora leerá 4 bytes de datos que generarán sobrecarga. Esta sobrecarga aumenta en la computadora de 64 bits a 6 bytes. Entonces, las computadoras de 64 bits no necesariamente son rápidas todas las veces.

Recuerde que las ventanas de 64 bits solo se pueden ejecutar en un microprocesador si es compatible con la ejecución de 64 bits.

0

32 bits y 64 bits son básicamente el tamaño de los registros, registran el tipo más rápido de memoria y están más cerca de la CPU. Un procesador de 64 bits puede almacenar más datos para direccionamiento y transmisión que un registro de 32 bits, pero también existen otros factores sobre la base de la velocidad del procesador, como el número de núcleos, la memoria caché, la arquitectura, etc.

Referencia: Difference between 32-bit processor and 64-bit processor

0

de what is the meaning of 32 bit or 64 bit process?? por kenshin123:

las direcciones virtuales de un proceso son las asignaciones de una tabla de direcciones que corresponden a la memoria física real en el sistema. Por razones de eficiencia y seguridad, el núcleo crea una abstracción para un proceso que le da la ilusión de tener su propia dirección espacio. Esta abstracción se llama espacio de direcciones virtuales. Es solo una tabla de punteros a la memoria física.

De modo que un proceso de 32 bits tiene aproximadamente 2^32 o 4 GB de espacio de direcciones. Lo que significa debajo del capó es que el proceso tiene una tabla de 32 bits . Además, esta tabla de páginas tiene un VAS de 32 bits que se asigna a 4 GB de memoria en el sistema.

Así que sí, un proceso de 64 bits tiene un VAS de 64 bits. ¿Tiene sentido?

Cuestiones relacionadas