Cada nueva generación de iPhone surge la misma pregunta: ¿merece la pena el cambio? Responder a esa pregunta requeriría un análisis de cada caso en particular, porque no es un sí o un no. Una de las preguntas más comunes que me realizan desde redes sociales (o argumentos para justificar sí o no el cambio) es que la CPU “solo” es un 20% más rápida que el A12 y que tampoco es para tanto. Y volvemos a la misma dicotomía: para algunos el aumento justificará y para otros no.
El problema es que medir una CPU por su aumento de velocidad es como medir un coche por su velocidad máxima. Si hacemos eso nos olvidamos que el coche no solo es algo que corre: un coche tiene consumos y tal vez un motor más eficiente que “solo” gana 10Km/h de velocidad máxima, resulta que consume un 20% menos de combustible. Ese nuevo modelo tendrá asientos más cómodos, un mejor sistema multimedia con Apple Car, mejorará en su valoración de seguridad pasiva contra accidentes, permitirá conexión a internet LTE… hay muchos más factores a tener en cuenta, el más importante, su capacidad a la hora de realizar tareas concretas.
Algoritmos
Antes de entrar a hablar directamente del A13, vamos a poner orden en las tan manidas comparaciones que se hacen hoy día, principalmente para poner sobre la mesa el conocimiento suficiente para permitirnos valorar en su justa medida el cambio. No solo conocer el A13, entender sus diferencias con generaciones anteriores.
La pregunta estrella es: “si el nuevo A13 es solo un 20% más rápido, ¿por qué un XS con el A12 no puede hacer fotos en modo nocturno como el iPhone 11?”. Simple: los algoritmos y las funciones de la CPU. No es un capricho de Apple: es que el A12 no tiene la capacidad para hacer las fotos nocturnas en la forma que Apple ha implementado esta función. Su algoritmo no funcionaría en un A12 por capacidad, no por velocidad.
En el caso de un modo de fotografía nocturna (por citar el ejemplo concreto) tenemos diferentes formas de hacerlo. Diferentes algoritmos: operaciones de cálculo que se realizan con todos y cada uno de los píxeles de la fotografía y la información que nos da la lente, para obtener una fotografía en este modo.
Vamos a explicar de una forma sencilla las diferencias entre algoritmos y cómo tenemos muchas soluciones para conseguir el mismo objetivo (con diferentes niveles de eficiencia). Imaginemos que yo quiero sumar (en Swift) todos los números de una secuencia. Podría hacerlo así:
Pero también podría usar un bucle:
Este último es un algoritmo más eficiente. Pero lo es más todavía si uso programación funcional y hago:
var suma = array.reduce(0, +)
Todas estas instrucciones hacen exactamente lo mismo. Obtienen el mismo resultado. Pero algunas son más óptimas que otras. Dan más vueltas o no, necesitan más instrucciones o menos.
Neural Cam vs iPhone 11 (A13)
Visto y entendido esto damos el siguiente paso: la fotografía en modo nocturno con los nuevos iPhone o con la conocida app Neural Cam. Alguno pensará: “Si la hace la app Neural Cam desde un iPhone 6, ¿por qué Apple solo lo permite con el A13?”. El problema es que no podemos pensar nunca, que un resultado final (y su calidad) hace igual a dos procesos diferentes
Vamos a analizar rápidamente cómo hace la fotografía Neural Cam y los nuevos iPhone para ver la diferencia.
La app Neural Cam nos pide enfocar dónde queremos hacer la fotografía e intenta enfocar (aunque tenga poco luz). Fija el foco y nos pide que lancemos la fotografía. Luego hace una captura abriendo el objetivo durante dos segundos, donde debemos tener el móvil sin moverlo. Aquí, la capacidad de estabilización óptica de nuestro móvil será clave. Cuando acaba, en un proceso que dura unos 10 segundos (podría durar más si nuestro móvil es más antiguo), coge toda la información que ha capturado en esos dos segundos y reduce el tamaño de la fotografía: ¿para qué? Para eliminar el posible movimiento en la misma.
Es un gran algoritmo que hace uso, para todo, de la fuerza bruta de la CPU sin usar ningún componente específico. Si bajamos una app de 3,49€ para hacer fotos nocturnas que nuestro dispositivo no hace y tenemos que esperar 10 segundos o más para que se hagan, vamos a entenderlo porque NO es una función nativa. Es una app de terceros y somos más permisivos. Si esto lo pusiera Apple en sus actuales dispositivos, las antorchas estarían a las puertas del Apple Park.
Y esto es importante de entender: usa aprendizaje automático, pero NO usa los motores neuronales de las últimas generaciones de procesadores Apple que solo funcionan con las capacidades que da el kit de desarrollo de Apple. Para ejecutar su modelo, usa la fuerza bruta de la CPU y por eso tarda 10 segundos o más. Y por eso funciona en cualquier dispositivo con iOS 12. Hay que entender que cualquier algoritmo, el que sea, puede ejecutarse siempre contra la CPU: pero consumirá más energía y será más lento.
El modo nocturno sin embargo en iOS, de forma nativa, se hace de forma automática. En función de lo que se quiera fotografiar puede tardar 2 o 3 segundos de media y se obtiene el resultado en apenas un segundo o menos. Pero podemos configurar para una exposición de hasta 30 segundos manualmente. Cuando vamos a lanzar la fotografía, según lo que el dispositivo está viendo en la vista previa cambia la forma de hacer la fotografía.
En esta generación de iPhone, estos son capaces de analizar y obtener resultados del propio feed que vemos antes de lanzar la fotografía. Un feed que no deja de ser un vídeo en tiempo real, lo que está viendo la cámara tal cual. En función de lo que vea y cómo lo vea, si es un objetivo que se mueve mucho o poco, cambia la forma de hacer la foto. Si ponemos la cámara delante de un objeto fijo y dejamos la imagen fija el sistema toma varias fotografías a la vez con exposición más larga. Pero si detecta que estamos en movimiento o los objetos que pasan por el previo de la cámara se mueven más rápido, sacará más fotos más rápidas con diferentes exposiciones para sumar más resultados con diferentes exposiciones.
Por lo tanto, el modo nocturno de iOS 13 para nuevos iPhone hace uso de Machine Learning para detectar la semántica de la fotografía: para entender qué se ve en la fotografía: sus sombras, qué se mueve, qué no, cómo colocamos la cámara, si es un plano fijo o no, a qué distancia, si lo que estamos sacando está quieto o se mueve… Esto se denomina semántica de la imagen, una característica que solo tiene el chip A13 en su motor neuronal. La capacidad de reconocer los contenidos y analizarlos, incluso en el modo preview y que un dispositivo no podría hacer.
Antes de entrar a hablar del A13 en sí, me parecía esencial entender esta diferencia. ¿Podría Apple hacer que ese modo nocturno no usara estas características puestas en el A13 y fuera retrocompatible? Si lo hiciera, el modo sería más lento y, por ejemplo, no sería capaz de reconocer la semántica de la vista previa de la cámara a 60 imágenes por segundo, lo que obligaría a buscar otra solución tal vez menos eficiente como Neural Cam. Así que tendríamos una mala experiencia de usuario, algo de lo que huye Apple como todos sabemos.
A13
El A13 es un salto enorme hacia adelante en arquitectura. No es que sea un 20% más rápido, que es lo de menos. Es la cantidad de componentes y nuevas pequeñas partes que ayudan al conjunto en total como hemos comentado (si usamos desarrollo nativo).
El equipo de Apple de chips llevan trabajando alrededor de 10 años, desde abril de 2008 que Apple compró la compañía PA Semi y en enero de 2010 fue presentado el primer dispositivo con un chip propio de Apple: el iPad. Este es el décimo chip que sacan, si no contamos la variaciones X que han tenido algunas generaciones que solo incorporan más núcleos de CPU o GPU.
El A13 Bionic, que ha sido mejorado en todos y cada uno de los componentes y añadido algunos nuevos, no es solo CPU. Ahora que ya hemos tenido tiempo de analizar podemos ver los siguientes componentes:
- Procesador de sonido de alta eficiencia con soporte de 24 bits de audio. Un DAC con soporte de AAC de formato avanzado o HE-AAC, tanto la versión 1 como la 2. También es capaz de reproducir MP3, FLAC y muchos otros formatos de audio. Un procesador que además es capaz de calcular las alteraciones de onda del sonido espacial de los nuevos iPhone, que crea un sonido envolvente computacional como hacen los HomePod, unido a la capacidad de descodificar un fichero Dolby Atmos, soportado también a nivel sonido. Y otra función: es capaz de ampliar el sonido de un elemento concreto del espectro sonoro. Si yo enfoco algo en un vídeo, aquello que se enfoque y genere sonido podrá subir el volumen (hacer zoom de sonido) a dicho elemento que genere el sonido.
- Procesador de gestión de la pantalla y su frecuencia. No debemos olvidar que la pantalla de los nuevos iPhone Pro es la misma que el monitor Pro Display XDR. Tiene un modo extendido de HDR, un brillo medio de 800 nits con picos de 1.200 y un contraste de 1:2.000.000. Este procesador establece un refresco dinámico de la pantalla para que cuando algunos píxeles no cambien su contenido, su refresco sea menor y con ello mejore la eficiencia de la batería considerablemente. La pantalla Retina Pro XDR de los iPhone Pro hace algo parecido y es capaz de no enviar señal de refresco a la pantalla si su contenido no ha cambiado y con ello ahorrar batería. Hasta un 15% de mayor eficiencia energética que el XS o XS Max. Funciona en conjunción a un procesador de procesamiento de la pantalla OLED para gestionar los píxeles y cómo se iluminan, que usa el motor Pro de la pantalla para refrescar o pintar.
- Procesador de memoria unificado de alto rendimiento. Esta es una tecnología que Nvidia usa en su librería CUDA y en sus GPUs. Básicamente permite acceder a cualquier parte del sistema completo de memoria y al mismo tiempo, migrar datos bajo demanda a la memoria dedicada de cada componente con un acceso de banda ancha. De esta forma, en una sola operación, el componente que acceda a un contenido en la memoria general obtendrá una migración de estos datos directos a su propia zona de memoria o registros.
- Procesador de imagen HDR, que se encarga de recibir la imagen y calcular directamente el proceso de SmartHDR mejorado. De esta forma, no hay proceso de CPU y el tratamiento es instantáneo. Por eso modelos anteriores no pueden hacer este HDR mejorado: porque no lo hace un algoritmo de software que podamos poner en otro equipo: lo hace chip que está programado específicamente para ello.
- Procesador de fotografía computacional, que ayuda a interpretar el contenido de la imagen y coordinar los procesos que se realizan y las operaciones de fusión, que las encarga a otro componente que se encarga de recibir fotos con instrucciones y calcular la fusión.
- Procesador de los componentes que están siempre encendidos, y que deben funcionar en modo de baja energía. Como gestionar una conexión Bluetooth cuando el dispositivo está bloqueado, la señal GPS que entra de forma constante o el sonido que se oye en segundo plano. Permite no usar la CPU al completo en operaciones que se entienden deben consumir mucho menos por estar en segundo plano.
- Motor neuronal, que permite ejecutar modelos entrenados de Machine Learning. Todos los procesos de IA dependen de él en cuanto al proceso de redes neuronales, convolucionales y todo tipo de redes que procesan datos y obtienen resultados probabilísticos.
- Secure Enclave, parte esencial de la seguridad del iPhone. Guarda los datos biométricos, y cifra y descifra datos de forma transparente dentro de una caja negra que jamás hace públicas las claves de cifrado si no devuelve el dato cifrado, tal cual. También permite comprobar la validación de la firma de cualquier proceso. El A13 cuenta además con un apoyo al Secure Enclave: un acelerador de cálculo criptográfico para descifrados, cifrados y cálculos más rápidos.
- Núcleos genéricos de CPU de alto rendimiento, dos en concreto, a mayor velocidad y con mayor capacidad y rendimiento. Dedicado a las operaciones más complejas y que requieren más carga.
- Núcleos de eficiencia energética, 4 núcleos que realizan operaciones más basícas y sencillas que no requieren tanta demanda y por lo tanto, al ser más lentos y con menos componentes, hacer una operación básica con estos ahorra batería frente a hacer esa operación menos exigente en un núcleo de más rendimiento.
- Procesador de rendimiento que se apoya en un componente de Machine Learning fuera del motor neuronal que analiza cada proceso y su demanda, clasificando qué instrucciones o procesos requieren más carga de la CPU o menos. Si ese motor de aprendizaje entiende que ese proceso requiere menos potencia lo mandará a un núcleo de eficiencia energética y si no a los de alto rendimiento. Ningún procesador de Apple había puesto un motor de IA directamente como encargado de esta tarea. Se han apoyado en él, pero ahora es 100% IA.
- Procesadores de codificación y decodificación de vídeo en matrices H264 y H265, encargado del vídeo en HD o 4K hasta 60fps. El vídeo además incluye un procesador encargado de procesar y devolver la información HDR en el vídeo.
- Motor de profundidad, que calcula las diferentes capas de profundidad de las fotografías o imágenes
- Procesador de almacenamiento, se encarga de gestionar el almacenamiento de forma directa, tanto en el interno del dispositivo como el externo a través de puerto lightning con adaptador USB.
- Acelerador de multiplicación de matrices, un chip dedicado del que ya hablamos no hace mucho, que permite acelerar hasta en 6 veces el cálculo de multiplicación de matrices de varias dimensiones.
Por último, uno de los más importantes: el gestor de energía o PMU (unidad de gestión de energía). Esta PMU es un chip específico que reparte la energía por la CPU en función de la demanda de cada componente y lo que está haciendo.
Cada componente de la CPU está dividido por zonas de energía de forma física. Esto supone que cuando un chip se está usando, no sucede como antaño que todo el chip recibe energía cuando tal vez solo se usa una zona de transistores concreta. Ahora, al estar dividido por zonas cerradas y aisladas, la PMU encarga al chip que envíe la energía exacta para cada operación a la zona exacta y cuando esta ha terminado, deja de suministrarla para no dejarlo encendido.
Es como si tenemos nuestra casa con muchas habitaciones y solo encendemos las luces cuando es necesario porque hay alguien dentro pero cuando sale, nuestro detector de presencia informa y la PMU apaga la luz. Esa es una de las claves (junto a la mejor eficiencia de la pantalla OLED) que consigue que una batería poco más grande que los modelos anteriores, consiga hasta 4 horas de aumento en la autonomía con el 11 Pro y 5 en el 11 Pro Max (o una hora en los iPhone 11).
Sin duda, un chip que es una obra magnífica de ingeniería, en impresión de 7nm con un proceso de segunda generación y que en total tiene 8.500 millones de transistores que dan vida a los diferentes componentes especializados, además del conjunto CPU, GPU y motor neuronal que en esta generación funcionan como un conjunto único.
Solo espero que después de este artículo, valoremos un poco más el trabajo increíble de innovación que supone este chip A13, el cerebro de los nuevos iPhone. Porque recordemos que innovación según la RAE es: "Creación o modificación de un producto, y su introducción en un mercado.". Y por si no nos queda claro, innovar es: "Mudar o alterar algo, introduciendo novedades.". Más claro, agua.
Ver 111 comentarios