LES BUS NUMERIQUES Bus parallèles

34
1 LES BUS NUMERIQUES Bus parallèles Les bus on-chip N°03_Bus_onchip

description

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. - PowerPoint PPT Presentation

Transcript of LES BUS NUMERIQUES Bus parallèles

Page 1: LES BUS NUMERIQUES Bus parallèles

1

LES BUS NUMERIQUES

Bus parallèles

Les bus on-chip

N°03_Bus_onchip

Page 2: LES BUS NUMERIQUES Bus parallèles

2

LES BUS ON-CHIP

Sommaire

Première partie:

Présentation

Deuxième partie:

Le bus IBM CoreConnect™

Troisième partie:

Le bus ARM AMBA

Page 3: LES BUS NUMERIQUES Bus parallèles

3

LES BUS ON-CHIP1ière partie: Présentation Sommaire - Repère

Première partie:

Présentation

Les System On Chip (SoC)

Spécificités des bus on-chip

1ière partie: Présentation

2ième partie: Le bus IBM CoreConnect™ 3ième partie: Le bus ARM AMBA

Page 4: LES BUS NUMERIQUES Bus parallèles

4

LES BUS ON-CHIP1ière partie: PrésentationLes System On Chip (SoC)

Les technologies des semi-conducteurs évoluent très vites:

Page 5: LES BUS NUMERIQUES Bus parallèles

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

Page 6: LES BUS NUMERIQUES Bus parallèles

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 »

ASIC(SOC)

Bridge

Mémoire on-chip hautesperformances

Périphériqueshautesperformances

InterfaceMémoirehautesperformances

InterfacePCI

InterfacesE/S

Interfacebus avion

Interfacebus missile

divers

Cœur deprocesseur

Cache(option)

Liaisons de debug (JTAG) E/S E/S

E/SE/SE/S Bus PCI calculateur(extensions)

Bu

s m

ém

oir

e l

ocal

(ex

tern

e A

SIC

)

Bus on-chip hautes performances Bus on-chip périphériques

Page 7: LES BUS NUMERIQUES Bus parallèles

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...

Page 8: LES BUS NUMERIQUES Bus parallèles

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

1ière partie: Présentation

2ième partie: Le bus IBM CoreConnect™

3ième partie: Le bus ARM AMBA

Page 9: LES BUS NUMERIQUES Bus parallèles

9

LES BUS ON-CHIP2ième partie: Le bus IBM CoreConnect™ Présentation générale

Bus hautesperformancesPLB

BuspériphériquesOPB

Device Control Register bus

Page 10: LES BUS NUMERIQUES Bus parallèles

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

Page 11: LES BUS NUMERIQUES Bus parallèles

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

Page 12: LES BUS NUMERIQUES Bus parallèles

12

LES BUS ON-CHIP3ième partie: Le bus ARM AMBA Sommaire - Repère

Troisième partie:

Le bus ARM AMBA

Bus AMBA High performance Bus (AHB)

Bus AMBA Peripheral Bus (APB)

Comparaison IBM / ARM

1ière partie: Présentation 2ième partie: Le bus IBM CoreConnect™

3ième partie: Le bus ARM AMBA

Page 13: LES BUS NUMERIQUES Bus parallèles

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

Page 14: LES BUS NUMERIQUES Bus parallèles

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) enenvoyant (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 sonespace d’adresses en renvoyant (au maître) un messageré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é à effectuerdes 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é

Page 15: LES BUS NUMERIQUES Bus parallèles

15

LES BUS ON-CHIP3ième partie: Le bus ARM AMBABus AMBA High performance Bus (AHB)

MAITRE 3

MAITRE 2

MAITRE 1

ESCLAVE 1

ESCLAVE 2

ESCLAVE 3

ARBITRE

DECODEURRequête

Requête

Requête

AHB accordé

AHB accordé

AHB accordé

Signal de sélection

Sélection 3

Sélection 2

Sélection 1HADDR

HWDATA

HRDATA

Page 16: LES BUS NUMERIQUES Bus parallèles

16

LES BUS ON-CHIP3ième partie: Le bus ARM AMBAAHB: Liste des principaux signaux utilisés (1/3)

Name Source DescriptionHCLK Clock source Times all bus transfers. All signal timings are related to theBus clock rising edge of HCLK.HRESETn Reset controller Active LOW and is used to reset the system and the bus.Reset This is the only active LOW signal.

HADDR[31:0] Master The 32-bit system address bus.Address busHTRANS[1:0] Master Type of the current transfer, can be NONSEQUENTIAL, Transfer type IDLE 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 size Possibility for larger transfer sizes up to 1024 bits

HBURST[2:0] Master Indicates if the transfer forms part of a burst. Four, Burst type eight and sixteen beat bursts are supported and the

burst may be either incrementing or wrapping.HPROT[3:0] Master The protection control signals provide additionalProtection control information about a bus access and are primarily intended

for use by any module that wishes to implement somelevel of protection.

Page 17: LES BUS NUMERIQUES Bus parallèles

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 slaves Write data busHSELx Decoder Each slave has its own slave select signal. Combinatorial Slave select decode 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 done bus. This signal may be driven LOW to extend a transfer.

Note: Slaves on the bus require HREADY as both aninput and an output signal.

HRESP[1:0] Slave Additional information on the status of a transfer:Transfer response OKAY, ERROR, RETRY and SPLIT.

Page 18: LES BUS NUMERIQUES Bus parallèles

18

LES BUS ON-CHIP3ième partie: Le bus ARM AMBAAHB: Liste des principaux signaux utilisés (3/3)

Name Source DescriptionHBUSREQx Master Signal from master x to the bus arbiter. Indicates that theBus request the master requires the bus. There is an HBUSREQx

signal for each bus master, up to 16 bus masters.HLOCKx Master When HIGH, indicates that the master requires locked Locked transfers access 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 grant address/control signals changes at the end of a transfer

when HREADY is HIGH, so a master gets access to thebus when both HREADY and HGRANTx are HIGH.

HMASTER[3:0] Arbiter Indicate which bus master is currently performing aMaster number transfer and is used by the slaves which support SPLIT

transfers to determine which master is attempting anaccess. The timing of HMASTER is aligned with the timingof the address and control signals.

HMASTLOCK Arbiter Current master is performing a locked sequence ofLocked sequence transfers. Same timing as the HMASTER signal.

HSPLITx[15:0] Slave Used by a slave to indicate to the arbiter which mastersSplit completion (SPLIT- should be allowed to re-attempt a split transaction. Each bit request capable) of this split bus corresponds to a single bus master.

Page 19: LES BUS NUMERIQUES Bus parallèles

19

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

Page 20: LES BUS NUMERIQUES Bus parallèles

20

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

Page 21: LES BUS NUMERIQUES Bus parallèles

21

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

Page 22: LES BUS NUMERIQUES Bus parallèles

22

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

Page 23: LES BUS NUMERIQUES Bus parallèles

23

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

Page 24: LES BUS NUMERIQUES Bus parallèles

24

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

Page 25: LES BUS NUMERIQUES Bus parallèles

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 azero 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, butthe next transfer cannot take place immediately. When a master usesthe BUSY transfer type the address and control signals must reflect thenext transfer in the burst. Transfer ignored by the slave. Slaves providea zero wait state OKAY response.

10 NONSEQ Indicates the first transfer of a burst or a single transfer. Address andcontrol signals unrelated to the previous transfer. Single transferstreated as bursts of 1 -> the transfer type is NONSEQUENTIAL.

11 SEQ Remaining transfers in a burst are SEQUENTIAL. Control informationidentical to the previous transfer. Address equal to the address of theprevious transfer plus the size (in bytes). Wrapping burst: Address ofthe 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).

Page 26: LES BUS NUMERIQUES Bus parallèles

26

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

Page 27: LES BUS NUMERIQUES Bus parallèles

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

Page 28: LES BUS NUMERIQUES Bus parallèles

28

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

Page 29: LES BUS NUMERIQUES Bus parallèles

29

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

Page 30: LES BUS NUMERIQUES Bus parallèles

30

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

Page 31: LES BUS NUMERIQUES Bus parallèles

31

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

Page 32: LES BUS NUMERIQUES Bus parallèles

32

LES BUS ON-CHIP3ième partie: Le bus ARM AMBABus AMBA Peripheral Bus (APB)

ESCLAVE 3

ESCLAVE 2

ESCLAVE 1

BRIDGE

Sélection 3

Sélection 2

Sélection 1

HRDATA

HRDATA

HRDATA

HRDATA

HADDR

HADDR

HADDR

HWDATA

HWDATA

HWDATA

Page 33: LES BUS NUMERIQUES Bus parallèles

33

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

IBM CoreConnect ARM

Processor Local bus AMBA 2.0 High Performance Bus

Bus architecture 32 et 64 bits, extensible à 128 et 256 bits 32, 64 et 128 bits

Data bus Bus lectures et écritures séparés Bus lectures et écritures séparés

Principalescaractéristiques

Plusieurs maîtres du busPipeliningTransferts burstTransfert de lignes

Plusieurs maîtres du busPipeliningTransferts burstTransfert de lignes

On-chip Peripheral Bus AMBA 2.0 Advanced Peripheral Bus

Maîtres Plusieurs maîtres du bus 1 seul maître : le pont APB

La fonction « Bridge » Maître du PLB ou de l’OPB Maître du bus APB uniquement

Data bus Bus lectures et écritures séparés Bus lectures et écritures séparés ou 3 états

Page 34: LES BUS NUMERIQUES Bus parallèles

34

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