BRAZO grande.PEQUEÑO


ARM big.LITTLE es una arquitectura informática heterogénea desarrollada por ARM Holdings , que combina núcleos de procesador relativamente lentos y que ahorran batería ( LITTLE ) con otros relativamente más potentes y que consumen mucha energía ( big ). Por lo general, solo un "lado" u otro estará activo a la vez, pero todos los núcleos tienen acceso a las mismas regiones de memoria, por lo que las cargas de trabajo se pueden intercambiar entre núcleos grandes y pequeños sobre la marcha. [1] La intención es crear un procesador multinúcleo que pueda ajustarse mejor a las necesidades informáticas dinámicas y usar menos energía que el escalado de reloj.solo. El material de marketing de ARM promete hasta un 75% de ahorro en el uso de energía para algunas actividades. [2] Por lo general, las arquitecturas ARM big.LITTLE se utilizan para crear un sistema en chip multiprocesador (MPSoC).

En octubre de 2011, se anunció big.LITTLE junto con Cortex-A7 , que fue diseñado para ser arquitectónicamente compatible con Cortex-A15 . [3] En octubre de 2012, ARM anunció los núcleos Cortex-A53 y Cortex-A57 ( ARMv8-A ), que también son intercompatibles para permitir su uso en un chip big.LITTLE. [4] ARM anunció más tarde el Cortex-A12 en Computex 2013 , seguido del Cortex-A17 en febrero de 2014. Tanto el Cortex-A12 como el Cortex-A17 también se pueden combinar en una configuración big.LITTLE con el Cortex-A7. [5] [6]

Para una biblioteca dada de lógica CMOS , la potencia activa aumenta a medida que la lógica cambia más por segundo, mientras que las fugas aumentan con la cantidad de transistores. Por lo tanto, las CPU diseñadas para funcionar rápido son diferentes de las CPU diseñadas para ahorrar energía. Cuando una CPU fuera de servicio muy rápida está inactiva a velocidades muy bajas, una CPU con muchas menos fugas (menos transistores) podría hacer el mismo trabajo. Por ejemplo, podría usar una caché de memoria más pequeña (menos transistores) o una microarquitectura más simple, como una canalización . big.LITTLE es una forma de optimizar para ambos casos: potencia y velocidad, en el mismo sistema.

En la práctica, un sistema big.LITTLE puede ser sorprendentemente inflexible. Un problema es la cantidad y los tipos de dominios de potencia y reloj que proporciona el IC. Es posible que no coincidan con las funciones estándar de administración de energía que ofrece un sistema operativo. Otra es que las CPU ya no tienen capacidades equivalentes, y hacer coincidir la tarea de software correcta con la CPU correcta se vuelve más difícil. La mayoría de estos problemas se resuelven flexibilizando la electrónica y el software.

Hay tres formas [7] de organizar los diferentes núcleos del procesador en un diseño big.LITTLE, dependiendo del planificador implementado en el kernel . [8]

El enfoque del modelo agrupado es la primera y más simple implementación, organizando el procesador en grupos de tamaño idéntico de núcleos "grandes" o "PEQUEÑOS". El programador del sistema operativo solo puede ver un clúster a la vez; cuando la carga en todo el procesador cambia entre baja y alta, el sistema pasa al otro clúster. Luego, todos los datos relevantes se pasan a través de la memoria caché L2 común , el clúster central activo se apaga y el otro se activa. Se utiliza una interconexión coherente de caché (CCI). Este modelo se ha implementado en el Samsung Exynos 5 Octa (5410). [9]


Chip de CPU Cortex A57/A53 MPCore grande.PEQUEÑO
Conmutación agrupada Big.Little
Conmutador en el núcleo Big.Little
Big.Little multiprocesamiento heterogéneo