Estàndard AMBA

Què és AMBA i per què es fa servir
  • AMBA és un estàndard de interconnexió interna (on-chip interconnect) per a sistemes en un mateix xip (SoC). arm.com
  • És obert, independent de la tecnologia, i gratuït com a especificació.
  • L’objectiu principal inclou: facilitar la reutilització de blocs (IP cores), promoure dissenys modulars, accelerar el temps de disseny (right-first-time) i reduir la infraestructura de silici requerida. allaboutcircuits.com
  • Tot i que el terme AMBA pot fer pensar inicialment en microcontroladors amb arquitectura Harvard, cal destacar que l’estàndard també s’aplica àmpliament en dissenys més complexos. De fet, s’utilitza no només en processadors d’arquitectura Von Neumann en format SoC, sinó també en GPU i DSP, entre altres components. D’aquesta manera, AMBA esdevé una solució versàtil que cobreix des de sistemes senzills fins a plataformes de gran rendiment. Viquipèdia
Evolució de versions i protocols

Per entendre el panorama, és útil veure quins protocols s’han introduït en cada generació:

VersióProtocols clauNovetats destacades
AMBA 1ASB (Advanced System Bus), APBVersions inicials del bus per control i sistemes bàsics
AMBA 2AHB (Advanced High-performance Bus) + APBBus central dalt rendiment, millor suport de burst, millor eficiència
AMBA 3AXI (Advanced eXtensible Interface), AHB-Lite, APBArquitectura més escalable, suport per múltiples masters, separació de canals de lectura/escriptura, etc.
AMBA 4AXI4, ACE (AXI Coherency Extensions), canvis per gestió d’energiaExpansió de funcionalitats per coherència de memòria, millor rendiment global
AMBA 5CHI (Coherent Hub Interface), extensions a AXI5 / ACE5Protocols per sistemes multicore amb coherència, suport inter-xiplets, esquemes d’interconnexió d’alta velocitat

Nota: a mesura que avança l’evolució, AMBA passa de busos compartits simples a interconnectats coherents i escalables. AnySilicon

Principals protocols / buses en AMBA

Aquí tens els elements més importants explicats amb relació entre ells:

  1. APB (Advanced Peripheral Bus)
    • És un bus simple, de baix rendiment, per a perifèrics lents (timers, UART, GPIO, etc.).
    • No suporta transmissió en burst ni operacions complexes.
    • Té un conjunt reduït de senyals (més simple que els busos d’alt rendiment).
  2. AHB / AHB-Lite (Advanced High-performance Bus)
    • Usat per connectar components de mitjà o alt rendiment dins del SoC (memòries, DMA, altres perifèrics més ràpids). ScienceDirect
    • Suporta burst, arbitratge de múltiples masters (en variants més complexes).
    • La versió AHB-Lite és una simplificació per dissenys amb un únic master, eliminant la complexitat de l’arbitratge.
  3. AXI (Advanced eXtensible Interface)
    • Introduït a AMBA 3 per superar les limitacions de busos compartits.
    • Característiques principals: separació de canals de lectura i escriptura, múltiples transaccions pendents (outstanding), suport de burst, flexibilitat per àncores de dades i alineament.
    • A més, dins de l’estàndard AMBA també existeix la versió AXI-Lite, pensada per a aplicacions més simples que no requereixen transferències en burst. Paral·lelament, es troben les variants amb coherència, conegudes com ACE, que resulten especialment útils en sistemes amb múltiples nuclis, ja que asseguren un accés coordinat i eficient a la memòria compartida. SemiWiki
  4. CHI (Coherent Hub Interface)
    • Introduït en AMBA 5 per gestionar coherència entre múltiples nuclis i sistemes heterogenis.
    • Dissenyat per a sistemes més complexos que requereixen accés completament coherent a la memòria al llarg de tot el xip o entre xips. developer.arm.com
Altres conceptes rellevants
  • Modularitat i reutilització (IP reuse): AMBA facilita que blocs IP desenvolupats per diferents equips o empreses siguin interoperables dins del mateix SoC.
  • Escalabilitat: conforme el SoC creix (més nuclis, més perifèrics), AMBA proveeix mecanismes per escalar l’interconnect sense haver de redissenyar tot el sistema.
  • Coherència de memòria: en sistemes multicore, assegurar que múltiples nuclis accedeixen una memòria compartida de forma correcta és clau — protocols com ACE i CHI ho suporten.
  • No defineix temps elèctrics ni nivells de tensió: D’altra banda, cal remarcar que AMBA no defineix la física. En realitat, l’estàndard només especifica el protocol lògic, però deixa fora característiques físiques com ara el voltatge, els temps exactes (timings) o el nivell dels senyals.
Com els protocols s’integren en dissenys SoC
  • En un SoC típic s’utilitzen diferents nivells de bus: els perifèrics lents es connecten via APB, mentre que els components amb més demanda (memòria, acceleradors, DMA, etc.) es connecten via AHB o AXI.
  • És habitual trobar ponts (bridges) que connectin entre busos d’alt rendiment i busos més simples (per exemple, d’AXI → APB).
  • En sistemes amb múltiples nuclis, el protocol CHI permet mantenir coherència i alta eficiència entre aquests nuclis i altres components del sistema.