Arhitectură avansată de magistrală pentru microcontroler
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.
Abordări de dezvoltare
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ă:
- facilitarea dezvoltării de produse de microcontrolere încorporate corecte pentru prima dată cu unul sau mai multe procesoare, GPU-uri sau handlere de semnal;
- să fie independent din punct de vedere tehnologic, permițând reutilizarea nucleelor IP , a perifericelor și a macrocelulelor de sistem în diferite procese IC,
- încurajează dezvoltarea sistemelor modulare pentru a îmbunătăți independența procesorului și pentru a dezvolta biblioteci IP de sistem și periferice reutilizabile
- minimizați infrastructura de siliciu, menținând în același timp performanța ridicată și consumul redus de cip.
Cerințe pentru protocolul AMBA
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:
- Autobuz avansat de înaltă performanță (AHB5, AHB-Lite)
- CHI Coherent Hub Interface (CHI) [3]
Cerințele AMBA 4 definesc următoarele autobuze/relații:
- AXI Coherency Extensions (ACE) - utilizate pe scară largă în cele mai recente procesoare ARM Cortex-A, inclusiv Cortex-A7 și Cortex-A15
- AXI Coherency Extensions Lite (ACE-Lite)
- Interfață extensibilă avansată 4 (AXI4)
- Interfață extensibilă avansată 4 Lite (AXI4-Lite)
- Interfață extensibilă avansată 4 flux (AXI4-Stream v1.0)
- Advanced Trace Bus (ATB v1.1)
- Bus periferic avansat (APB4 v2.0)
Cerințele AMBA 3 definesc patru autobuze/relații:
- Interfață extensibilă avansată (AXI3 sau AXI v1.0) - utilizată pe scară largă în procesoarele ARM Cortex-A, inclusiv Cortex-A9
- Bus Lite avansat de înaltă performanță (AHB-Lite v1.0)
- Bus periferic avansat (APB3 v1.0)
- Advanced Trace Bus (ATB v1.0)
Cerințele AMBA 2 definesc trei autobuze/relații:
- Autobuz avansat de înaltă performanță (AHB) - utilizat pe scară largă în modelele bazate pe ARM7, ARM9 și ARM Cortex-M
- Bus de sistem avansat (ASB)
- Bus periferic avansat (APB2 sau APB)
Cerințele AMBA (Versiunea 1) definesc două autobuze/relații:
- Bus de sistem avansat (ASB)
- Bus periferic avansat (APB)
Caracteristicile întârzierilor și nivelurilor de tensiune pe magistrală nu dictează cerințe.
Extensii de coerență AXI (ACE și ACE-Lite)
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.
Interfață extensibilă avansată (AXI)
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ă:
- faze separate de adresă/control și date
- suport pentru transferuri de date nealiniate folosind stroboscopii de octeți
- transmisii pe bază de pachete, cu doar adresa de început dată
- emiterea de adrese externe multiple cu răspunsuri neordonate
- ușurința de a adăuga etape de registru pentru a asigura întârzieri apropiate.
Autobuz avansat de înaltă performanță (AHB)
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:
- multe lățimi de magistrală (64/128/256/512/1024 biți).
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.
Advanced Peripheral Bus (APB)
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).
Produse AMBA
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 .
Rivali
- Wishbone by OpenCores - arhitectură autobuz gratuită și deschisă (fostă de la Silicore)
- Tehnologia magistrală CoreConnect de la IBM , utilizată în produsele încorporate IBM Power Architecture , precum și în multe alte produse asemănătoare SoC cu Xilinx MicroBlaze sau nuclee similare
- IPBus de către IDT
- Avalon este o magistrală de sistem proprietară de la Altera pentru utilizare în SoC -urile lor Nios II [5]
- Open Core Protocol (OCP) de la Accellera
- HyperTransport (HT) de la AMD (deși acesta este un autobuz off-chip, nu on-chip)
- QuickPath Interconnect (QPI) de la Intel (deși aceasta este o magistrală off-chip, nu on-chip)
- Partajarea virtuală de către PICC este gratuită și open source
Vezi și
- Specificații funcționale
- Master/slave (tehnologie)
Link -uri
- ↑ AMBA Trademark License, http://arm.com/about/trademarks/arm-trademark-list/AMBA-trademark.php Arhivat 5 iunie 2016 la Wayback Machine
- ↑ Noile cerințe AMBA 4 optimizează coerența pentru SoC-uri multi-core eterogene, http://www.arm.com/about/newsroom/new-amba-4-specification-optimizes-coherency-for-heterogeneous-multicore-socs.php Arhivat din 17 septembrie 2016 la Wayback Machine
- ↑ 1 2 ARM anunță cerințele AMBA 5 CHI pentru a permite tehnologia cu un singur cip de înaltă performanță și scalabilitate ridicată, http://www.arm.com/about/newsroom/arm-announces-amba-5-chi-specification-to -enable-high-performance-highly-scalable-system-on-chip.php Arhivat 20 noiembrie 2017 la Wayback Machine
- ↑ Kriouile, A., & Serwe, W. (2013). Studiu formal al cerințelor ACE pentru cache-ul coerent cu un singur cip. În Metode formale pentru instalațiile industriale solicitante (p. 108-122). Springer Berlin Heidelberg., ISBN 978-3-642-41010-9
- ↑ Avalon . Preluat la 17 iunie 2018. Arhivat din original la 1 martie 2015.
Link -uri
- Pagina principală a specificațiilor AMBA — a ARM
- AMBA de ARM
- Documentație AMBA — de la ARM