Articulo de referencia

Arquitectura avanzada de bus de microcontrolador

La arquitectura de bus de microcontrolador avanzado de Arm ( AMBA ) es una especificación de interconexión en chip de estándar abierto para la conexión y gestión de bloques func...

La arquitectura de bus de microcontrolador avanzado de Arm ( AMBA ) es una especificación de interconexión en chip de estándar abierto para la conexión y gestión de bloques funcionales en diseños de sistema en un chip (SoC). Facilita el desarrollo de diseños multiprocesador con una gran cantidad de controladores y componentes con una arquitectura de bus . Desde sus inicios, el alcance de AMBA ha ido mucho más allá de los dispositivos de microcontrolador, a pesar de su nombre. Hoy en día, AMBA se usa ampliamente en una variedad de componentes ASIC y SoC, incluidos procesadores de aplicaciones utilizados en dispositivos móviles portátiles modernos como teléfonos inteligentes . AMBA es una marca registrada de Arm Ltd. [ 1]

Arm introdujo AMBA en 1996. Los primeros buses AMBA fueron el Bus de Sistema Avanzado (ASB) y el Bus Periférico Avanzado (APB). En su segunda versión, AMBA 2 en 1999, Arm agregó el Bus de Alto Rendimiento AMBA (AHB) que es un protocolo de un solo borde de reloj. En 2003, Arm introdujo la tercera generación, AMBA 3, que incluye la Interfaz Extensible Avanzada (AXI) para alcanzar un rendimiento de interconexión aún mayor y el Bus de Rastreo Avanzado (ATB) como parte de la solución de depuración y rastreo en chip CoreSight. En 2010 se introdujeron las especificaciones AMBA 4 comenzando con AMBA 4 AXI4, luego en 2011 [2] extendiendo la coherencia de todo el sistema con las Extensiones de Coherencia AMBA 4 AXI (ACE). En 2013 [3] se introdujo la especificación AMBA 5 Coherent Hub Interface (CHI), con una capa de transporte de alta velocidad rediseñada y características diseñadas para reducir la congestión. Estos protocolos son hoy en día el estándar de facto para las arquitecturas de bus de procesador integrado porque están bien documentados y se pueden utilizar sin regalías.

Principios de diseño

Apretón de manos AMBA AXI

Un aspecto importante de un SoC no es solo qué componentes o bloques alberga, sino también cómo se interconectan. AMBA es una solución para que los bloques interactúen entre sí.

El objetivo de la especificación AMBA es:

  • Facilitar el desarrollo correcto desde el primer momento de productos con microcontroladores integrados con una o más CPU, GPU o procesadores de señales,
  • ser independiente de la tecnología, para permitir la reutilización de núcleos de IP , macroceldas periféricas y del sistema en diversos procesos de CI,
  • Fomentar el diseño de sistemas modulares para mejorar la independencia del procesador y el desarrollo de bibliotecas IP de sistemas y periféricos reutilizables.
  • Minimizar la infraestructura de silicio al mismo tiempo que se admite una comunicación en chip de alto rendimiento y bajo consumo.

Especificaciones del protocolo AMBA

La especificación AMBA define un estándar de comunicaciones en chip para diseñar microcontroladores integrados de alto rendimiento. Cuenta con el respaldo de Arm Limited y una amplia participación intersectorial.

La especificación AMBA 5 define los siguientes buses/interfaces:

  • Especificación de protocolos AXI5, AXI5-Lite y ACE5
  • Bus avanzado de alto rendimiento (AHB5, AHB-Lite)
  • Interfaz de concentrador coherente (CHI) [3]
  • Interfaz de traducción distribuida (DTI)
  • Bus de memoria flash genérico (GFB)

La especificación AMBA 4 define los siguientes buses/interfaces:

  • Extensiones de coherencia AXI (ACE): ampliamente utilizadas en los últimos procesadores Arm Cortex-A, incluidos Cortex-A7 y Cortex-A15
  • Extensiones de coherencia AXI Lite (ACE-Lite)
  • Interfaz extensible avanzada 4 (AXI4)
  • Interfaz extensible avanzada 4 Lite (AXI4-Lite)
  • Interfaz extensible avanzada de 4 flujos (AXI4-Stream v1.0)
  • Bus de seguimiento avanzado (ATB v1.1)
  • Bus periférico avanzado (APB4 v2.0)
  • Interfaces de bajo consumo AMBA (canal Q y canal P)

La especificación AMBA 3 define cuatro buses/interfaces:

  • Interfaz extensible avanzada (AXI3 o AXI v1.0): ampliamente utilizada en procesadores Arm Cortex-A, incluido Cortex-A9
  • Bus Lite avanzado de alto rendimiento (AHB-Lite v1.0)
  • Bus periférico avanzado (APB3 v1.0)
  • Bus de seguimiento avanzado (ATB v1.0)

La especificación AMBA 2 define tres buses/interfaces:

  • Bus avanzado de alto rendimiento (AHB): ampliamente utilizado en diseños basados ​​en ARM7, ARM9 y Arm Cortex-M
  • Bus de sistema avanzado (ASB)
  • Bus periférico avanzado (APB2 o APB)

La especificación AMBA (primera versión) define dos buses/interfaces:

  • Bus de sistema avanzado (ASB)
  • Bus periférico avanzado (APB)

Los aspectos de tiempo y los niveles de voltaje en el bus no están determinados por las especificaciones.

Extensiones de coherencia AXI (ACE y ACE-Lite)

ACE , definido como parte de la especificación AMBA 4, extiende AXI con señalización adicional que introduce coherencia en todo el sistema. [4] Esta coherencia del sistema permite que varios procesadores compartan memoria y habilita tecnologías como el procesamiento big.LITTLE de Arm . El protocolo ACE-Lite permite la coherencia unidireccional, también conocida como coherencia de E/S; por ejemplo, una interfaz de red que puede leer desde las memorias caché de un procesador ACE completamente coherente.

Interfaz extensible avanzada (AXI)

AXI , la tercera generación de interfaz AMBA definida en la especificación AMBA 3, está orientada a diseños de sistemas de alto rendimiento y alta frecuencia de reloj e incluye características que la hacen adecuada para interconexiones submicrométricas de alta velocidad:

  • fases de dirección/control y datos separadas
  • Soporte para transferencias de datos no alineadas mediante bytes estroboscópicos
  • Transacciones basadas en ráfagas con solo dirección de inicio emitida
  • Emisión de múltiples direcciones pendientes con respuestas fuera de orden
  • Fácil adición de etapas de registro para proporcionar cierre de tiempo.

Autobús avanzado de alto rendimiento (AHB)

AHB es un protocolo de bus introducido en la versión 2 de Advanced Microcontroller Bus Architecture publicada por la empresa Arm Ltd.

Además de la versión anterior, tiene las siguientes características:

  • anchos de bus grandes (64/128/256/512/1024 bit).

Una transacción simple en el AHB consta de una fase de dirección y una fase de datos posterior (sin estados de espera: solo dos ciclos de bus). El acceso al dispositivo de destino se controla a través de un MUX (no triestado), lo que permite el acceso al bus a un bus master a la vez.

AHB-Lite es un subconjunto de AHB definido formalmente en el estándar AMBA 3. Este subconjunto simplifica el diseño de un bus con un solo maestro.

Bus periférico avanzado (APB)

APB está diseñado para accesos de control de bajo ancho de banda, por ejemplo, interfaces de registro en periféricos del sistema. Este bus tiene una dirección y una fase de datos similares a AHB, pero una lista de señales mucho más reducida y de baja complejidad (por ejemplo, sin ráfagas). Además, es una interfaz diseñada para un sistema de baja frecuencia con un ancho de bits bajo (32 bits).

Productos AMBA

Una familia de núcleos de propiedad intelectual ( PI ) sintetizables Los productos AMBA pueden obtenerse bajo licencia de Arm Limited e implementan un bus digital en un SoC para el movimiento y almacenamiento eficiente de datos utilizando las especificaciones del protocolo AMBA. La familia AMBA incluye interconexión de red AMBA (CoreLink NIC-400), interconexión coherente de caché (CoreLink CCI-500), controladores de memoria SDRAM (CoreLink DMC-400), controladores DMA (CoreLink DMA-230, DMA-330), controladores de caché de nivel 2 (L2C-310), etc.

Varios fabricantes utilizan buses AMBA para diseños que no son ARM. Por ejemplo, Infineon utiliza un bus AMBA para el SoC ADM5120 basado en la arquitectura MIPS .

Competidores

Véase también

Referencias

  1. ^ Licencia de marca registrada de AMBA, http://arm.com/about/trademarks/arm-trademark-list/AMBA-trademark.php
  2. ^ La nueva especificación AMBA 4 optimiza la coherencia para los SoC multinúcleo heterogéneos, https://www.arm.com/new-amba-4-specification-optimizes-coherency-for-heterogeneous-multicore-socs.php
  3. ^ ab Arm anuncia la especificación AMBA 5 CHI para permitir una tecnología de sistema en chip de alto rendimiento y altamente escalable, http://www.arm.com/about/newsroom/arm-announces-amba-5-chi-specification-to-enable-high-performance-highly-scalable-system-on-chip.php
  4. ^ Kriouile, A., y Serwe, W. (2013). Análisis formal de la especificación ACE para sistemas en chip coherentes con caché. En Métodos formales para sistemas críticos industriales (pp. 108-122). Springer Berlin Heidelberg., ISBN  978-3-642-41010-9
  5. ^ Avalón
  6. ^ "Chips Alliance". Chips Alliance . Consultado el 21 de junio de 2020 .
  • Página de inicio de AMBA para desarrolladores de Arm - de Arm
  • Página de inicio de especificaciones AMBA - de ARM
  • AMBA de ARM
  • Documentación de AMBA - de ARM
    • Especificación AMBA 2 que incluye AHB - de ARM
    • Especificación de protocolo AMBA AXI y ACE AXI3, AXI4 y AXI4-Lite, ACE y ACE-Lite - de ARM
    • Especificación APB de AMBA que incluye APB4, APB3 y APB2 de ARM
Retrieved from "https://en.wikipedia.org/w/index.php?title=Advanced_Microcontroller_Bus_Architecture&oldid=1218795087"