Los sistemas autónomos hacen un uso intensivo de algoritmos de inteligencia artificial, sobre todo de aprendizaje profundo, y eso significa que Arm necesita adaptar sus núcleos de procesador y unidades gráficas a este sector. Por ello la compañía anunció en 2018 una línea específica con el sufijo AE (automotive enhanced o 'mejorado para automoción') que ahora se expande con tres productos: Cortex-A78AE, Mali-G78AE y Mali-C71AE.
Los sistemas autónomos, sobre todos los de conducción autónoma, tienen estrictas exigencias de redundancia, parámetros ambientales de operación y seguridad funcional, y por tanto son sistemas más complejos. Ahí es donde entra el Cortex-A78AE, basado en la arquitectura del Cortex-A78, lo que supone una mejora de rendimiento del 30 % respecto al Cortex-A76AE, y añade nuevas medidas de seguridad funcional, manteniendo las que ya tenía como el ISO 26262.
La introducción de un modo híbrido de funcionamiento que permite alcanzar el modo B del estándar ASIL (ASIL-B, nivel de integridad de la seguridad de automóviles), y se añade a los modos equilibrado —solo se comprueba su correcto funcionamiento cada cierto tiempo— y bloqueado —ejecución en grupos de dos núcleos con redundancia—.
Los dos modos existentes varían en la forma de acceder a la caché de nivel 3 —unidad compartida dinámicamente o DSU, que además de la caché N3 engloba otros componentes de control—, que en el primero es de la manera normal y en el segundo es duplicando el contenido de la DSU. El modo híbrido es como el equilibrado pero con la duplicación de la DSU como en el modo bloqueado. Esto añade redundancia y mejor detección de errores, que es fundamental en sistemas críticos como la conducción autónoma. El modo de funcionamiento se elige en el momento de arrancar el sistema.
La nueva unidad gráfica Mali-G78AE, basada en la Mali-G78, es la primera con seguridad funcional y escala en configuraciones de uno a veinticuatro núcleos. Con esta unidad gráfica lo que pretende Arm, literalmente, es «solucionar los complejos requisitos de las interfaces humano-máquina y las necesidades de computación heterogénea de los sistemas autónomos». También implementa los requisitos del ASIL-B.
En esencia permite algo así como la virtualización de la GPU, asignando recursos de la misma a distintas tareas en tiempo de ejecución o de arranque del sistema. Lo habitual es que los recursos de la GPU sean accesibles por cualquier tarea, lo cual en sistemas que precisan de seguridad funcional es contraproducente. De esta manera se puede evitar la participación de un hipervisor que controle las partes virtualizadas, lo cual puede crear problemas de seguridad o de que el sistema tarde más tiempo en responder a tareas críticas.
Con la nueva partición flexible de la GPU los recursos de la GPU son accedidos de una manera más rápida y segura por los procesos a los que se asignan, y se permite aun así la virtualización de alguna de las particiones para tareas no críticas. Se pueden crear hasta cuatro de estas particiones, y no hay tampoco problemas en que en sistemas con dos o más sistemas operativos corriendo simultáneamente puedan tener los recursos diferenciados. Es habitual en sistemas críticos que tienen una parte gestionada con un sistema operativo en tiempo real, y por tanto debe asegurarse de que los recursos son exclusivos del SO para poder a su vez asegurar que las tareas terminan en el tiempo previsto, que es el fundamento de los SS. OO. en tiempo real.
La otra unidad con seguridad funcional, Mali-C71AE, es un procesador de señales de imagen (ISP) basado en el Mali-C71 con, lo has adivinado, características de seguridad adicionales de fácil empleo. Incluye mecanismos integrados en el procesador junto con software para prevenir y detectar fallos aleatorios o sistemáticos para asegurarse de que la imagen procesada es siempre correcta.
Como buen procesador de imagen dedicará parte de su tubería de trabajo a eliminar ruido y corregir el color de las imágenes procesadas, pero también a corregir errores a nivel de píxel. Puede funcionar con hasta cuatro cámaras en tiempo real o dieciséis flujos de vídeo pregrabado, siendo o no imágenes de alto rango dinámico (HDR).
Vía: AnandTech.