AHB en AXI zijn beide busmasters. Beide busmasters maken deel uit van de AMBA-bus (Advanced Microcontroller Bus Architecture). Het is een doel voor systeemontwerp met hoge prestaties, bandbreedte en frequentie.
Beide busmasters zijn gecorreleerd, hoewel ze in veel opzichten verschillend zijn en de verschillen worden in dit artikel hieronder vermeld.
Key Takeaways
- AHB (Advanced High-performance Bus) is een protocol voor gegevensoverdracht met hoge prestaties en lage latentie. Tegelijkertijd is AXI (Advanced eXtensible Interface) een meer geavanceerd busprotocol dat een hogere doorvoer en flexibiliteit biedt.
- AHB gebruikt een single-edge klok, terwijl AXI een double-edge klok gebruikt, wat resulteert in snellere gegevensoverdrachtsnelheden in AXI.
- AHB ondersteunt een vaste pijplijnlengte, terwijl AXI een variabele lengte mogelijk maakt, waardoor betere prestaties en maatwerk mogelijk zijn.
AHB versus AXI
AHB (Advanced High-performance Bus) is een busprotocol ontwikkeld door ARM en wordt veel gebruikt in medium tot high-end SoC's. AXI (Advanced eXtensible Interface) is ook een busprotocol ontwikkeld door ARM en is de nieuwste versie van de AMBA-protocolfamilie (Advanced Microcontroller Bus Architecture).
Advanced High-performance Bus is een bus met één kanaal, het zeer populaire protocol van ARM. Het ondersteunt een enkele openstaande transactie per busmaster. De busvertragingen van AHB beginnen bij 16 Byte transacties.
Enkele kenmerken van AHB zijn single-edge klokprotocol, gesplitste transacties, grote busbreedtes, vergrendelde overdrachten.
AXI is een meerkanaals bus met 5 kanalen: Lees datakanaal, Schrijf datakanaal, Lees adreskanaal, Schrijf adreskanaal en Schrijf responskanaal. AXI ondersteunt meerdere openstaande transacties.
De buslatenties van AXI beginnen bij 64 Byte-transacties. Enkele kenmerken van AXI zijn QoS, schrijfflitsers, full-duplex communicatiemodus, enz.
Vergelijkingstabel
Parameters van vergelijking: | AHB | AXI |
---|---|---|
Volledige vorm | Geavanceerde high-performance bus | Geavanceerde uitbreidbare interface |
Kanaal | Het is een enkelkanaals bus. | Het is een meerkanaals bus. |
Voordelen | Vroegtijdige Burst-beëindiging, vergrendelde overdrachten | QoS, Write Data Interleaving, niet-uitgelijnde gegevensoverdracht, byte-invariantie. |
Adresruimte toegewezen voor een enkele slave | Het is 1 KB voor AHB. | Het is 4 KB voor AXI. |
Uitbarsting lengtes | Burst-lengtes voor AHB zijn 1, 2, 6, 16. (behalve voor INCR-types) | Burst-lengtes zijn van 1-16 voor AXI3 en van 1-256 voor AXI4. |
Wat is AHB?
AHB staat voor Geavanceerde krachtige bus. Het is een enkelkanaals bus die ook een gedeelde bus is met één adreskanaal, een leesdatakanaal en een schrijfdatakanaal.
Elk van de busmasters in AHB maakt verbinding met een gedeelde bus met één kanaal. AHB heeft slechts twee buscycli in een eenvoudige transactie, een adresfase en een daaropvolgende datafase. AHB heeft grote busbreedtes.
Als een gebruiker in AHB niet aan de timingvereisten kan voldoen, ondersteunt hij de pijplijn die zich op zijn pad registreert niet.
En vanwege het onvermogen om het invoegen van pijplijnregisters te ondersteunen, maakt het geen hogere frequentie mogelijk en beperkt het in plaats daarvan de maximale frequentie voor het ontwerp.
AHB ondersteunt de QoS-functie, schrijfflitsen en de exclusieve ondersteuning niet. Het ondersteunt alleen vergrendelde overdrachten. Het heeft een laag energieverlies en een beperkte doorvoer. Ook zijn de burst-lengtes in AHB vast.
Ze zijn 1, 2, 6, 16 behalve in het geval van INCR. In INCR kan de burst elke lengte hebben, maar hoe lang deze zal zijn, wordt niet gedeeld. Het kan ook elke lengte hebben totdat het niet over 4K gaat.
AHB werd geïntroduceerd in AMBAversie 2 door de ARM naamloze vennootschap en het was een erg populair protocol totdat de nieuwe versie AXI niet werd geïntroduceerd.
Wat is AXI?
AXI staat voor Advanced eXtensible Interface. Het is een meerkanaals bus die is ontworpen voor on-chip communicatie. Het is een krachtige, hoogfrequente communicatie-interface in Full-duplex-modus.
Er zijn 5 kanalen in AXI en elk is onafhankelijk van de ander.
De kanalen zijn schrijfadreskanaal (AW), schrijfdatakanaal (W), leesdatakanaal oftewel R (leesantwoord wordt er ook mee verzonden), leesadreskanaal (AR) en schrijfantwoordkanaal (B).
Aangezien AXI 5 parallelle kanalen heeft lopen, zijn veel draden hieraan gewend leggen de layout. Een gebruiker kan overal in het pad van een van de kanalen een pijplijnregister invoegen en daardoor maakt AXI een hogere werkfrequentie mogelijk.
Enkele van de functies die AXI heeft, zijn niet-uitgelijnde gegevensoverdracht (met behulp van flitsers), afzonderlijk adres/besturing, gegevensfasen, byte-invariantie, burst-gebaseerde transacties met uitgegeven startadres, QoS, voltooiing van transacties buiten gebruik, Write Data Interleaving en atomaire activiteiten.
AXI heeft inderdaad aanvullende signaleringsmechanismen zoals AxRegion en AxUser.
Er kunnen meerdere gegevensoverdrachten zijn voor een enkel verzoek in AXI, wat betekent dat het een burst-gebaseerd protocol is. Het maakt het gemakkelijker wanneer een grote hoeveelheid gegevens moet worden overgedragen van of naar adressen met een specifiek patroon.
Er zijn drie soorten bursts in AXI: FIXED, INCR en WRAP. De lengte van deze bursts is vanaf het begin bekend en kan variëren van 1-16 voor AXI3 en 1-256 voor AXI4.
Belangrijkste verschillen tussen AHB en AXI
- AHB staat voor Advanced High-performance Bus, wat een enkelkanaals bus is. Terwijl AXI een meerkanaalsbus is en staat voor Advanced eXtensible Interface.
- AHB ondersteunt de voltooiing van een "buiten gebruik gestelde transactie" niet, terwijl AXI de voltooiing van een "buiten gebruik gestelde transactie" ondersteunt.
- AHB heeft een lage vermogensdissipatie terwijl AXI een hoge vermogensdissipatie heeft.
- AHB Busgebruik is hoger in vergelijking met het AXI-gebruik, aangezien AXI 50% meer stroom verbruikt.
- Niet-uitgelijnde gegevensoverdracht met behulp van stroboscoop- en byte-invariantie zijn enkele van de functies die AHB niet zou ondersteunen, maar AXI ondersteunt.
- AHB ondersteunt geen schrijfflitsen terwijl AXI dit wel ondersteunt.
- AHB ondersteunt de vergrendelde overdracht. Terwijl in het geval van AXI de AXI 3 de vergrendelde overdracht ondersteunt, terwijl de AXI4 dat niet doet.
- AHB ondersteunt de exclusieve overdrachten niet terwijl AXI ze wel ondersteunt.
- De buslatenties van de AHB-busmaster beginnen lager in vergelijking met die van de AXI's.
Laatst bijgewerkt: 11 juni 2023
Sandeep Bhandari heeft een Bachelor of Engineering in Computers van Thapar University (2006). Hij heeft 20 jaar ervaring op het gebied van technologie. Hij heeft een grote interesse in verschillende technische gebieden, waaronder databasesystemen, computernetwerken en programmeren. Je kunt meer over hem lezen op zijn bio pagina.
De auteur moet het nog verder uitsplitsen. Niet iedereen kan dit begrijpen.
Het artikel was echt verhelderend. Het heeft mij veel inzicht gegeven.
Ja, het artikel is erg nuttig. Het is behoorlijk gedetailleerd.
Ja, ik ben het ermee eens. Het heeft veel vragen die ik had opgelost.
De vergelijking was best nuttig. Het is een heel goed geschreven artikel.
Ik vond het artikel zeer informatief en goed onderbouwd.
Daar ben ik het mee eens. Het geeft een duidelijk inzicht in AHB en AXI.
Het is interessant om de verschillen tussen AHB en AXI te zien.
Dit artikel is voor iedereen te ingewikkeld om te begrijpen.
Dit is geweldige informatie. AXI is zoveel beter dan AHB.