64 bits frente a 32 bits en dispositivos móviles con 2 gb de ram: ¿tiene sentido?

Hoy participé en una discusión interesante. Alguien dijo que es genial que Apple vaya a 64 bits con su iPhone 5S. Por supuesto, mencioné que no se necesitan 64 bits combinados con 2 gigas de RAM, pero luego comencé a preguntarme: ¿hay algo bueno con 64 bits en este caso, excepto por los beneficios de la "compatibilidad futura"? ¿Instrucciones más grandes? ¿Algún tipo de optimización?

Respuestas (3)

Dado que el iPhone no usa un procesador x86, casi todo lo que sabe sobre 64 bits versus 32 bits no se aplicará. Por ejemplo, en los procesadores x86, hay más registros de propósito general disponibles en el modo de 64 bits. Esto proporciona un aumento de rendimiento en el modo de 64 bits. Eso no se aplica a los procesadores que no son x86.

La operación de 64 bits tiende a brindar beneficios al software que maneja "datos masivos". Esto generalmente incluye cosas como el cifrado, la compresión y el procesamiento de imágenes. Otros tipos de programación no se benefician significativamente porque rara vez manejan valores que ocupan más de 32 bits. Además, el código de 64 bits requiere más ancho de banda de memoria porque todos los punteros son el doble de grandes y esto puede provocar una pérdida de rendimiento.

Sin embargo, hay una gran ventaja del código de 64 bits sobre el código de 32 bits: la memoria virtual no necesita ser tratada como un recurso escaso. Esto puede tener todo tipo de beneficios tanto para el rendimiento como para la facilidad de desarrollo, la confiabilidad, la mantenibilidad, etc. Por ejemplo, si está manipulando un archivo de base de datos grande, puede mapear en memoria todo el archivo y acceder a él como si fuera una matriz. Esto puede eliminar una gran cantidad de código lento, complejo y propenso a errores para asignar secciones de memoria del archivo o alternar búsquedas con operaciones de datos.

Del mismo modo, las bibliotecas pueden tener direcciones virtuales fijas. Esto puede mejorar el código compartido y hacer que la memoria se use de manera más efectiva. Puede minimizar la reubicación, lo que puede resultar en un inicio de código más rápido.

Para ser honesto, tendría que saber mucho sobre el funcionamiento interno del dispositivo, tanto en software como en hardware, para opinar de manera útil sobre si un cambio de una plataforma de 32 bits a una plataforma de 64 bits proporcionará beneficios significativos. .

No. En realidad duele, ya que los programas de 64 bits son más grandes. Y si estás tan limitado de espacio....

Probablemente sea un movimiento estratégico para la compatibilidad a largo plazo, suponiendo que la próxima generación tenga más de 4 gb.

Estoy pensando que me arrepentiré de esta respuesta ... aquí va:

Sí, el "sentido" es el marketing. ¡64 bits es una palabra clave fantástica! Más grande, mejor, más grande, y el 99,7% del público que compra iPhone pensará esto.

Reglas y valores de las grandes empresas:
1- Marketing/imagen de marca
2- Marketing/imagen de marca
3- Contabilidad
4- Abogados
5- Ingeniería

Habría hecho +1 en la pregunta porque casi siempre hago +1 en las preguntas que respondo; sin embargo:

¿Hay algo bueno con 64 bits en este caso, excepto por los beneficios de la "compatibilidad futura"?

No hay compatibilidad futura con dispositivos móviles.

Por "compatibilidad futura" me refiero a aplicaciones y quizás no sea necesario ejecutarlas en modo de 32 bits cuando, digamos, iOS 10 y iPhone 8 se hagan públicos. Soy bastante nuevo en lo que respecta a la arquitectura, lo siento si cometí algún error.