Estoy tratando de entender por qué ir a procesadores de 64 bits es tan importante en un iPhone. Entiendo que habrá el doble de registros para que el procesador pueda trabajar con el doble de datos, lo que debería aumentar el rendimiento.
Sin embargo, no veo muchos teléfonos con más de 4 GB de memoria en el corto plazo. Parece excesivo y afectaría negativamente la duración de la batería.
Otro problema que veo es que la mayoría de las variables ahora necesitan el doble de memoria. Esto creará problemas en un entorno móvil con pequeñas cantidades de memoria.
Creo que la gente de Apple es inteligente y probablemente tengan grandes razones para hacerlo, solo estoy tratando de entenderlos.
EDITAR
No sé mucho sobre las GPU, pero me dijeron que con registros de 64 bits se pueden cargar 2 píxeles en cada registro y se pueden realizar operaciones en ellos individualmente. ¿Hay alguna ventaja gráfica con respecto a 64 bits?
Respuestas:
En su mayoría, solo arroja un gran número porque impresiona a las masas. Los números más grandes son obviamente superiores, por lo que cualquier cosa con un procesador de 64 bits es claramente mejor que algo con un procesador de 32 bits. La nueva CPU es significativamente mejor que su predecesora, pero, al estilo de Apple, no van a intentar el marketing basado en especificaciones técnicas, solo le dirán que el A7 de 64 bits es más nuevo y mejor que el 32- bit A-6 . Mirando las especificaciones técnicas, sin embargo, ves:
Más allá de eso, existe el hecho de que pueden comenzar a implementar hardware de 64 bits (compatible con versiones anteriores) hoy, antes de que nos encontremos con el 'muro de 4GB'. En unos pocos años, cuando 64 bits se convierta en una necesidad, todo el hardware lo admitirá y no habrá necesidad de manejar arquitecturas heredadas de 32 bits.
fuente
No hay un "muro de 4GB" en ARMv7, ya que muchos núcleos ARMv7 son compatibles con LPAE (Ampliación de dirección física grande), que es un concepto similar a PAE en x86, excepto que LPAE usa direccionamiento de 40 bits. Esto significa que el ARMv7 equipado con LPAE puede direccionar hasta 1TB de RAM .
También es importante mencionar que los próximos núcleos ARMv8, incluido A7, no utilizarán el direccionamiento físico de 64 bits . Lo más probable es que A7 use un direccionamiento físico de 40 o 44 bits. Más tarde, dando acceso a un máximo de 16 TB de RAM.
Por supuesto, ya sea con LPAE en ARMv7 o en modo AArch32 en ARMv8, las aplicaciones siguen siendo de 32 bits, por lo que la aplicación en sí solo puede acceder a 4 GB a la vez. Pero no creo que sea un problema en los dispositivos móviles en el corto plazo.
Le preocupa que las aplicaciones usen más memoria (punteros de 64 bits), pero ese no será el caso si las aplicaciones se ejecutan en modo de 32 bits (AArch32).
Por otro lado, ARMv8 proporciona otras mejoras arquitectónicas sobre ARMv7, que no están relacionadas con AArch64.
TL, DR: 64 bits de A7 es un truco de marketing. Incluso en sistemas con más de 4 GB de RAM, no ofrece una ventaja significativa sobre LPAE para aplicaciones de 32 bits. Y las aplicaciones de 64 bits no llegarán pronto.
Actualización: ha sido confirmado por el ejecutivo de marketing de Qualcomm (actualmente ex ejecutivo, ya que fue degradado por estos comentarios ).
fuente
Centrarse únicamente en
A7
estarARMv8
allí es una ganancia obvia. ARM está reiniciando su conjunto de instrucciones y arquitectura.Al ser compatible con versiones anteriores
ARMv7
, la próxima versión también afirmaPor lo tanto,
ARMv8
desafía lasARMv7
diferencias arquitectónicas, proporcionando una interfaz más limpia para los desarrolladores de sistemas que probablemente eliminaría las características heredadas que conducen a una mejor plataforma. Lo que significa que debe esperar un mejor rendimiento / energía en lugar de un impacto negativo en la batería.Ver más en ARM Architecture Preview .
fuente
La mayor ventaja sobre los procesadores de 32 bits para 64 bits es el movimiento de la memoria, y no el tamaño de la memoria. Si bien es cierto que 32 bits puede imponer un límite de 4 GB en el acceso directo. Hay muchas soluciones de hardware / software para superar ese límite.
Los procesadores de 64 bits simplemente pueden leer / escribir más datos en una sola operación del procesador. Permite que el código de ensamblaje realice operaciones en bloques de 8 bytes. Esto puede tener una gran ventaja de rendimiento sobre los procesadores de 32 bits. Los cálculos de punto flotante son más rápidos en 64 que en 32, y cuando la CPU usa registros duales puede operar en bloques de datos de 128 bits.
Los procesadores de 64 bits también tienen anchos de banda más amplios para la memoria física. Si tiene una cámara que graba 1080p y desea editar ese video. Realizar una operación en un archivo de video de 1GB simplemente será más rápido en 64 bits.
Todo lo anterior es cierto incluso si los Ghz del procesador siguen siendo los mismos.
Si 64 bits es tan bueno, ¿por qué no 128 bits?
Cuantos más bits agregue a la canalización de una CPU, más datos tendrá que mover la CPU. La CPU no puede reducir ese ancho de banda a 16 o 32. Por lo tanto, esto crea un problema para los desarrolladores de software. La mayoría del software (su calendario, notas, etc.) no depende de una gran cantidad de datos, y como resultado, 128 bits implicarían una gran cantidad de ancho de banda desperdiciado. Esto puede comenzar a obstaculizar el rendimiento y la duración de la batería. Por lo tanto, los fabricantes de CPU tienen que encontrar un equilibrio entre el ancho de banda y los requisitos de software.
Me sorprende que Apple haya lanzado un nuevo procesador 64 tan pronto en la vida de la informática móvil. Creo que su verdadera motivación para esto son los gráficos en 3D. Con un procesador de 64 bits, el teléfono puede mover más datos a la GPU rápidamente. Esto permitirá juegos 3D rápidos y gráficos más impresionantes. Realmente comenzará a ver las ventajas de 64 bits en 3D en tiempo real porque ese proceso depende en gran medida de los datos.
fuente
cache lines
través de buses de memoria que pueden tener 16 bits, 32 bits o probablemente 64 bits. Eso no necesariamente coincide con el tamaño de palabra nativo del arco de la CPU. Tiene razón, ese gran problema es mover datos, pero ese problema pertenece a algún otro dominio de hardware / arquitectura. FP se realiza en FPU, que en realidad son bastante rápidos y pueden funcionar con tamaños de precisión simples o dobles. Lo mismo para la decodificación de video o 3D en realidad, tienen sus propios hardwares dedicados que no son necesariamente de 64 bits.what every programmer should know about memory
gratis disponible para el desarrollador curioso akkadia.org/drepper/cpumemory.pdfFacilita las cosas cuando se manejan grandes números. Grandes números son extremadamente importantes en criptografía (después de que PRISM tenga un teléfono móvil seguro se ha vuelto muy importante) y aplicaciones científicas.
fuente
Si bien es posible que no tenga problemas ahora si se queda con 32 bits, ciertamente habrá problemas en el futuro cercano. La lección aprendida del mundo del escritorio es que una transición será un proceso largo y doloroso. Por lo tanto, debe comenzar con esto más temprano que tarde.
Incluso me sorprendió que los teléfonos inteligentes no fueran de 64 bits desde el principio.
fuente
No creo que haya muchos beneficios técnicos. Primero, creo que tiene más sentido cuando se considera el iPad (tiene una batería más grande, por lo que puede soportar más memoria ram, mayor consumo de energía por parte del procesador, etc.). Segundo vistazo a los otros anuncios que están sucediendo en este momento. AMD acaba de anunciar que enviará procesadores ARM de 64 bits en 2014. Esto es básicamente Apple manteniendo el liderazgo en el mercado frente a lo que está llegando a las tabletas Android y Win8 de gama alta.
fuente
A corto plazo casi nada. En realidad, es un paso atrás de varias maneras. Hay tres ventajas principales que conozco.
fuente
Puntos de referencia.
Para algunas implementaciones capaces de modos arquitectónicos de 32 contra 64 bits con ISA x86, MIPS y ARM, el modo de 64 bits se comparó más rápido en ciertas aplicaciones importantes. Una razón clave es que los ISA de 64 bits son más nuevos y, por lo tanto, los arquitectos de ISA sabían más sobre las estadísticas de la aplicación y cómo optimizar para ese conjunto de comportamientos de la aplicación al definir el ISA. Y un nuevo procesador ISA debe estar preparado para el futuro contra las necesidades de memoria de la aplicación que están creciendo al ritmo de la ley de Moore y que ya han crecido más de un millón en el área de dispositivos móviles.
Por lo tanto, el nuevo arm64 ISA probablemente sea más rápido en cualquier código de rendimiento limitado que pueda desarrollar (tiene en mi código), así como también permite que los punteros C tontos aborden los vastos espacios de direcciones virtuales que probablemente se vuelvan comunes en una década o más (lo que es mucho menos tiempo que el ARM ISA original de 32 bits ya ha existido).
El rendimiento en su conjunto particular de aplicaciones (medir para confirmar) es una gran razón para preferir arm64.
fuente
64 bits permite mucho más código compartido con las versiones de escritorio de OSX (que son todas de 64 bits)
fuente