Arhitectura Advanced Microcontroller Bus (AMBA) de la ARM este un standard deschis pentru cerințele de interconectare pe cip pentru conectarea și conducerea blocurilor funcționale în proiecte de sistem-on-a-chip (SoC). Facilitează dezvoltarea modelelor de multiprocesor cu un număr mare de controlere și periferice. În ciuda numelui, de la începuturile sale, AMBA a avut un domeniu de aplicare care se extinde cu mult dincolo de granițele dispozitivelor cu microcontroler. Astăzi, AMBA este utilizat pe scară largă într-un număr de componente ASIC și SoC, inclusiv procesoare de aplicații utilizate în dispozitivele portabile mici de astăzi, cum ar fi smartphone -urile . AMBA este o marcă înregistrată a ARM Ltd. [unu]
AMBA a fost introdus la ARM în 1996. Primele autobuze AMBA au fost Advanced System Bus (ASB) și Advanced Peripheral Bus (APB). În a doua sa iterație, AMBA 2 în 1999, ARM a adăugat AMBA High-Performance Bus (AHB) cu un singur protocol de margine de ceas. În 2003, ARM a introdus a treia generație, AMBA 3, care includea Advanced Extensible Interface (AXI) pentru performanțe și mai mari de interconectare și Advanced Trace Bus (ATB) ca parte a soluției CoreSight de depanare și de urmărire a cipurilor. În 2010 au fost introduse cerințele AMBA 4, începând cu AMBA 4 AXI4, apoi în 2011 [2] cu o extindere a lățimii coerente a sistemului prin AMBA 4 ACE. În 2013 [3] , au fost introduse cerințele AMBA 5 CHI (Coherent Hub Interface) cu un strat de transport de mare viteză reproiectat și caracteristici concepute pentru a reduce congestia.
Astăzi, aceste protocoale sunt standardul de facto pentru procesoarele încorporate, deoarece sunt bine documentate și pot fi utilizate fără drepturi de autor.
O caracteristică importantă a unui SoC nu este doar blocurile de bază pe care le conține, ci și modul în care sunt conectate. AMBA este o soluție pentru interacțiunea blocurilor între ele.
Cerințele AMBA vizează:
Cerințele AMBA definesc standardul de interconectare pe cip pentru dezvoltarea microcontrolerelor încorporate de înaltă performanță. Este susținut de ARM Limited , cu o largă participare interprofesională.
Cerințele AMBA 5 definesc următoarele autobuze/relații:
Cerințele AMBA 4 definesc următoarele autobuze/relații:
Cerințele AMBA 3 definesc patru autobuze/relații:
Cerințele AMBA 2 definesc trei autobuze/relații:
Cerințele AMBA (Versiunea 1) definesc două autobuze/relații:
Caracteristicile întârzierilor și nivelurilor de tensiune pe magistrală nu dictează cerințe.
ACE , definit ca parte a cerințelor AMBA 4, extinde AXI cu un mijloc suplimentar de semnalizare a transmisiilor de coerență largă. [4] Această facilitate de coerență permite mai multor procesoare să partajeze memoria și include tehnologii precum procesarea big.LITTLE de la ARM . Protocolul ACE - Lite permite coerența IO unidirecțională sau în alt mod, cum ar fi interconectarea rețelei, care poate [doar] să citească din memoria cache a procesorului ACE complet coerente.
AXI , a treia generație de interconexiune AMBA, definită în cerințele AMBA 3, are ca scop dezvoltarea mediilor de înaltă performanță, de înaltă frecvență și include caracteristici care o fac potrivită pentru interconexiuni submicronice de mare viteză:
AHB este un protocol introdus în varianta Advanced Microcontroller Bus Architecture 2 publicată de ARM Ltd.
Pe lângă implementarea anterioară, are următoarele caracteristici:
Un transfer simplu AHB conține o fază de adresă și o subsecvență de fază de date (fără stări de așteptare: doar două cicluri de magistrală). Accesul la dispozitivul țintă este controlat prin MUX (fără Z-layer), recunoscând astfel accesul la magistrala unei gazde la un moment dat.
AHB-Lite este o subspecie a AHB definită oficial de standardul AMBA 3. Această subspecie simplifică dezvoltarea autobuzului single-master.
APB este proiectat pentru a accesa control lentă (viteză mică), cum ar fi interfața cu registrele de la periferia sistemului. La fel ca AHB, această magistrală are faze de adresă și date, dar o listă de semnale foarte redusă și necomplicată (fără ts, de exemplu).
Familia AMBA Products IP Synthesizable Core ( IP ) este licențiată de la ARM Limited , care implementează o magistrală digitală pe SoC pentru a muta și stoca în mod eficient datele folosind cerințele protocolului AMBA. Familia AMBA include AMBA Network Interconnect (CoreLink NIC-400), Cache Coherent Interconnect (CoreLink CCI-500) controlere de memorie SDRAM (CoreLink DMC-400), controlere DMA (CoreLink DMA-230, DMA-330), controlere cache de nivel 2 ( L2C-310), etc.
O serie de producători folosesc autobuze AMBA pentru dezvoltarea non-ARM. Ca exemplu , Infineon folosește magistrala AMBA pentru SoC ADM5120 bazat pe arhitectura MIPS .