1 / 34

LES BUS NUMERIQUES Bus parallèles

LES BUS NUMERIQUES Bus parallèles. Les bus on-chip. N°03_Bus_onchip. LES BUS ON-CHIP Sommaire. Première partie: Présentation Deuxième partie: Le bus IBM CoreConnect™ Troisième partie: Le bus ARM AMBA. LES BUS ON-CHIP 1 ière partie: Présentation Sommaire - Repère.

manasa
Download Presentation

LES BUS NUMERIQUES Bus parallèles

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. LES BUS NUMERIQUESBus parallèles Les bus on-chip N°03_Bus_onchip

  2. LES BUS ON-CHIPSommaire • Première partie: Présentation • Deuxième partie: Le bus IBM CoreConnect™ • Troisième partie: Le bus ARM AMBA

  3. LES BUS ON-CHIP1ière partie: PrésentationSommaire - Repère • Première partie: Présentation • Les System On Chip (SoC) • Spécificités des bus on-chip

  4. LES BUS ON-CHIP1ière partie: PrésentationLes System On Chip (SoC) • Les technologies des semi-conducteurs évoluent très vites:

  5. LES BUS ON-CHIP1ière partie: PrésentationLes System On Chip (SoC) • Elles autorisent des densités d ’intégration énorme • Exemple: En 0.18µm, il existe des matrices de 8 millions de portes • Définition d ’un SoC: • Circuit (ASIC/FPGA) intégrant tout ou partie de l ’électronique requise pour une application • Intègre généralement un ou plusieurs processeurs et des périphériques • Un SoC peut être purement numérique ou mixte

  6. LES BUS ON-CHIP1ière partie: PrésentationLes System On Chip (SoC) • Architecture d ’un SoC: • Il est possible d ’avoir: • Plusieurs bus hautes performances • Plusieurs bus périphériques • Les bus sont couplés par des « Bridges »

  7. LES BUS ON-CHIP1ière partie: PrésentationSpécificités des bus on-chip • Pourquoi faut-il des bus particuliers pour les SoC? • Structures synchrones • Éviter d ’avoir des états indéfinis: Pas de buffers 3 états • Pas de collecteurs ouverts • Conséquences: • Les bus on-chip comportent beaucoup de lignes et des bus de données en écriture et en lecture séparés • 2 familles: • Matrices de commutation ou crossbar • Multiplexeurs • Ce qui existe: • VSIA: Organisme multi-industriels • A défini les principes à respecter pour un bus on-chip • Plusieurs standards existent: • IBM : CoreConnect™ • ARM : AMBA • Sonics...

  8. LES BUS ON-CHIP2ième partie: Le bus IBM CoreConnect™ Sommaire - Repère • Deuxième partie: Le bus IBM CoreConnect™ • Présentation générale • Bus PLB • Bus OPB

  9. LES BUS ON-CHIP2ième partie: Le bus IBM CoreConnect™ Présentation générale Bus hautes performances PLB Bus périphériques OPB Device Control Register bus

  10. LES BUS ON-CHIP2ième partie: Le bus IBM CoreConnect™ Bus PLB • Le bus • Entièrement synchrone • Architectures 32 et 64 bits, extensibles à 128 et 256 bits • Data bus écritures et lectures séparés, pour: • autoriser des transferts simultanés à hauts débits • éviter les conflits lors des transitions lecture / écriture • Transferts de bursts de longueur fixe de mots sur 8, 16, 32, 64 bits • Bus adresses pipeliné • Gère les interruptions des échanges • Transferts DMA • Pas de signaux 3 états • Gestion des mémoires caches (transferts de lignes) • Gestion des « atomic instructions » • Supporte les transferts non alignés • L ’arbitre • Supporte jusqu'à 16 maîtres • 4 niveaux de priorité • Phase d ’arbitrage masqué par les transferts de données en cours • Intègre un mécanisme de re-arbitrage avec watchdog

  11. LES BUS ON-CHIP2ième partie: Le bus IBM CoreConnect™ Bus OPB • Le bus • Entièrement synchrone • Bus adresses 32 bits • Bus données 32 bits • Supporte les transferts sur 8, 16, 32 bits • Duplication des mots de 8 et 16 bits pour les transferts 8 et 16 bits • Supporte les transfert burst • Accepte des transferts de données mono-cycles entre un maître et des esclaves • La fonction " Bridge " peut être maître sur le PLB ou l'OPB • Pas de signaux 3 états • L ’arbitre • Arbitrage pour jusqu'à 4 périphériques maîtres du bus OPB

  12. LES BUS ON-CHIP3ième partie: Le bus ARM AMBASommaire - Repère • Troisième partie: Le bus ARM AMBA • Bus AMBA High performance Bus (AHB) • Bus AMBA Peripheral Bus (APB) • Comparaison IBM / ARM

  13. LES BUS ON-CHIP3ième partie: Le bus ARM AMBAIntroduction • Spécification ARM version 2.0 • AMBA • Advanced Microcontroller Bus Architecture • Bus standard de communications on-chip pour la création de designs avec microcontrôleur(s) enfouis (SOCs). • 3 bus distincts: • AHB: Advanced High-performance Bus • ASB: Advanced System Bus • APB: Advanced Peripheral Bus • Existence d’une version AMBA Light

  14. LES BUS ON-CHIP3ième partie: Le bus ARM AMBADéfinitions • Maître AHB Initie une opération de lecture ou d’écriture (transfert) en envoyant (vers l’esclave) les signaux de contrôle, d’adresse (signal de sélection) et de données. • Esclave AHB Répond à l’opération de lecture ou d’écriture initiée dans son espace d’adresses en renvoyant (au maître) un message réponse: Succès (la donnée a été bien écrite ou bien lue), échec ou attente. • Arbitre AHB S’assure qu’un seul maître à la fois est autorisé à effectuer des transferts sur le bus AHB. • Décodeur AHB Décode l’adresse liée à chaque transfert et active le signal de sélection de l’esclave ainsi désigné

  15. LES BUS ON-CHIP3ième partie: Le bus ARM AMBABus AMBA High performance Bus (AHB) Signal de sélection ARBITRE HADDR ESCLAVE 1 Sélection 1 AHB accordé MAITRE 1 Requête ESCLAVE 2 Sélection 2 AHB accordé MAITRE 2 HWDATA ESCLAVE 3 Sélection 3 Requête HRDATA AHB accordé MAITRE 3 DECODEUR Requête

  16. LES BUS ON-CHIP3ième partie: Le bus ARM AMBAAHB:Liste des principaux signaux utilisés (1/3) Name Source Description HCLK Clock source Times all bus transfers. All signal timings are related to theBus clockrising edge of HCLK. HRESETn Reset controller Active LOW and is used to reset the system and the bus.ResetThis is the only active LOW signal. HADDR[31:0] Master The 32-bit system address bus.Address bus HTRANS[1:0] Master Type of the current transfer, can be NONSEQUENTIAL,Transfer typeIDLE or BUSY. HWRITE Master HIGH: write transfer Transfer direction LOW: read transfer HSIZE[2:0] Master Size of the transfer: byte (8b), halfword (16b) or word (32b)Transfer sizePossibility for larger transfer sizes up to 1024 bits HBURST[2:0] Master Indicates if the transfer forms part of a burst. Four,Burst typeeight and sixteen beat bursts are supported and theburst may be either incrementing or wrapping. HPROT[3:0] Master The protection control signals provide additionalProtection controlinformation about a bus access and are primarily intendedfor use by any module that wishes to implement somelevel of protection.

  17. LES BUS ON-CHIP3ième partie: Le bus ARM AMBAAHB:Liste des principaux signaux utilisés (2/3) Name Source Description HWDATA[31:0] Master Used to transfer data from the master to the bus slavesWrite data bus HSELx Decoder Each slave has its own slave select signal. CombinatorialSlave selectdecode of the address bus. HRDATA[31:0] Slave Data bus used to transfer data from bus slaves to busRead data bus master HREADY Slave When HIGH, indicates that a transfer has finished on theTransfer donebus. This signal may be driven LOW to extend a transfer. Note: Slaves on the bus require HREADY as both an input and an output signal. HRESP[1:0] Slave Additional information on the status of a transfer:Transfer responseOKAY, ERROR, RETRY and SPLIT.

  18. LES BUS ON-CHIP3ième partie: Le bus ARM AMBAAHB:Liste des principaux signaux utilisés (3/3) Name Source Description HBUSREQx Master Signal from master x to the bus arbiter. Indicates that theBus requestthe master requires the bus. There is an HBUSREQxsignal for each bus master, up to 16 bus masters. HLOCKx Master When HIGH, indicates that the master requires lockedLocked transfersaccess to the bus and no other master should be granted the bus until this signal is LOW. HGRANTx Arbiter Master x has the highest priority master. Ownership of theBus grantaddress/control signals changes at the end of a transfer when HREADY is HIGH, so a master gets access to the bus when both HREADY and HGRANTx are HIGH. HMASTER[3:0] Arbiter Indicate which bus master is currently performing aMaster numbertransferand is used by the slaves which support SPLIT transfers to determine which master is attempting an access. The timing of HMASTER is aligned with the timing of the address and control signals. HMASTLOCK Arbiter Current master is performing a locked sequence ofLocked sequencetransfers. Same timing as the HMASTER signal. HSPLITx[15:0] SlaveUsed by a slave to indicate to the arbiter which mastersSplit completion (SPLIT- should be allowed to re-attempt a split transaction. Each bitrequest capable) of this split bus corresponds to a single bus master.

  19. LES BUS ON-CHIP3ième partie: Le bus ARM AMBAAHB: Entrées/Sorties d’un Maître

  20. LES BUS ON-CHIP3ième partie: Le bus ARM AMBAAHB: Entrées/Sorties d’un Esclave

  21. LES BUS ON-CHIP3ième partie: Le bus ARM AMBAAHB: Entrées/Sorties de l’Arbitre

  22. LES BUS ON-CHIP3ième partie: Le bus ARM AMBAAHB: Entrées/Sorties du Décodeur

  23. LES BUS ON-CHIP3ième partie: Le bus ARM AMBAAHB: Transfert simple, sans «wait states» [W/R]

  24. LES BUS ON-CHIP3ième partie: Le bus ARM AMBAAHB: Transfert avec «wait states»

  25. LES BUS ON-CHIP3ième partie: Le bus ARM AMBAAHB: Les types de transfert HTRANS[1:0] Type Description 00 IDLE No data transfer required. Used when a bus master is granted the bus, but does not wish to perform a data transfer. Slaves always provide a zero wait state OKAY response. Transfer ignored by the slave. 01 BUSY Allows bus masters to insert IDLE cycles in the middle of bursts. Indicates that the bus master is continuing with a burst of transfers, but the next transfer cannot take place immediately. When a master uses the BUSY transfer type the address and control signals must reflect the next transfer in the burst. Transfer ignored by the slave. Slaves provide a zero wait state OKAY response. 10 NONSEQ Indicates the first transfer of a burst or a single transfer. Address and control signals unrelated to the previous transfer. Single transfers treated as bursts of 1 -> the transfer type is NONSEQUENTIAL. 11 SEQ Remaining transfers in a burst are SEQUENTIAL. Control information identical to the previous transfer. Address equal to the address of the previous transfer plus the size (in bytes). Wrapping burst: Address of the transfer wraps at the address boundary equal to the size (in bytes) multiplied by the number of beats in the transfer (either 4, 8 or 16).

  26. LES BUS ON-CHIP3ième partie: Le bus ARM AMBAAHB: Exemples de différents type de transfert

  27. LES BUS ON-CHIP3ième partie: Le bus ARM AMBAAHB: Les accès burst • Incrementing bursts: • Accès séquentiel • L’adresse de chaque donnée du burst est l’adresse précédente incrémentée. • X –beat wrapping bursts • Burst modulo x

  28. LES BUS ON-CHIP3ième partie: Le bus ARM AMBAAHB: Burst de 4 mots (de 32 bits) incrémentés [W/R]

  29. LES BUS ON-CHIP3ième partie: Le bus ARM AMBAAHB: Burst de 4 mots (de 32 bits) wrappés [W/R]

  30. LES BUS ON-CHIP3ième partie: Le bus ARM AMBAAHB: Arbitrage

  31. LES BUS ON-CHIP3ième partie: Le bus ARM AMBAAHB: Changement de maître après un burst

  32. LES BUS ON-CHIP3ième partie: Le bus ARM AMBABus AMBA Peripheral Bus (APB) HADDR ESCLAVE 1 HRDATA BRIDGE Sélection 1 HWDATA HADDR ESCLAVE 2 HRDATA Sélection 2 HWDATA HADDR ESCLAVE 3 HRDATA Sélection 3 HWDATA HRDATA

  33. LES BUS ON-CHIP3ième partie: Le bus ARM AMBAComparaison IBM / ARM

  34. LES BUS ON-CHIP3ième partie: Le bus ARM AMBAAHB: Accès sans «wait states» [W]

More Related