Vous êtes sur la page 1sur 33

DSP et FPGA

Chapitre 3. Gestion des entrées-sorties

Prof. M. Bouziani
page 1
Chapitre 2. Gestion de la mémoire

- Présentation et intérêt de l'architecture Harvard


- Mémoires internes (niveaux L1 et L2)
- Mémoires externes (SRAM, Flash, DDRAM, ..)
- Plan d'adressage des mémoires
- Fichier *.cmd (organisation des sections)
- Modes d'adressage

page 2
Cas du DSP TMS320C6713
La plateforme TMS320C6000 des processeurs de signaux
numériques fait partie de la famille TMS320. Elle comporte
les processeurs TMS320C62x à arithmétique fixe et
TMS320C67x à arithmétique flottante. Le TMS320C6713 est
un membre de la catégorie C67x, son architecture VLIW lui
permet le traitement par paquets de 8 instructions en parallèle
par 8 unités fonctionnelles.
Le CPU est organisée en deux blocs d’unités fonctionnelles.
Le premier contient les unités fonctionnelles .L1, .S1, .M1,
.D1 et 16 registres constituant le chemin A (pathA). Le
deuxième contient quatre autres unités .L2, .S2, .M2, .D2 et
16 registres constituant ainsi le chemin B (path B).
page 3
Cas du DSP TMS320C6713
Fonctionnant à 225 MHz, le C6713B délivre jusqu'à 1350 millions
d'opérations en virgule flottante par seconde (MFLOPS), 1800 millions
d'instructions par seconde (MIPS), et avec deux multiplicateurs à
virgule fixe/flottante jusqu'à 450 millions opération MAC par seconde
(MMACS).

Fonctionnant à 300 MHz, le C6713B délivre jusqu'à 1800 millions


d'opérations en virgule flottante par seconde (MFLOPS), 2400 millions
d'instructions par seconde (MIPS), et avec deux multiplicateurs à
virgule fixe/flottante jusqu'à 600 opération MAC par seconde
(MMACS).

page 4
Schéma fonctionnel et diagramme CPU 6713

page 5
Organisation de la Mémoire : Memory Map

page 6
Structure de la Mémoire Cache L2

page 7
Caractéristiques principales du TMS320C6713
Le C6713B utilise une architecture basée sur des mémoires
cache et dispose d'un ensemble puissant et diversifié de
périphériques :
• Le cache de programme de niveau 1 (L1P) est un cache
à mappage direct de 4 Ko et le cache de données de
niveau 1 (L1D) est un cache associatif de 2 voies de 4
Ko;
• La mémoire cache de niveau 2 (L2) se compose d'un
espace mémoire de 256 Ko qui est partagé entre le
programme et l'espace de données dont 64 Ko peuvent
être configurés en tant que mémoire mappée, cache ou
combinaisons des deux. Les 192K octets restants dans
L2 servent de SRAM mappée. page 8
Caractéristiques principales du TMS320C6713
• Deux ports série audio multicanaux (McASP),
• Deux ports série tamponnés multicanaux (McBSP),
• Deux bus de circuits intégrés (I2C),
• Un module d'entrée/sortie généraliste (GPIO) dédié,
• Deux Timers à usage général,
• Une interface hôte-port (HPI),
• Une interface de mémoire externe (EMIF) capable de
s'interfacer avec la SDRAM, la SBSRAM et les
périphériques asynchrones.

page 9
Architecture interne du TMS320C6713
L’unité de centrale de traitement (CPU) comprend deux ensembles
d'unités fonctionnelles. Chaque ensemble est composé de 4 unités et
une liste de registres.
- Un ensemble contient les unités fonctionnelles .L1, .S1, .M1 et
.D1;
- Le deuxième contient les unités .D2, .M2, .S2 et .L2.
- Chaque ensemble contient 16 registres de 32 bits chacun,
- Les quatre unités fonctionnelles de chaque côté du CPU peuvent
partager librement les 16 registres appartenant à ce côté.
- Chaque côté dispose d'un bus de données unique connecté à tous
les registres de l'autre côté, par lequel les deux ensembles d'unités
fonctionnelles peuvent accéder aux données des fichiers de
registres du côté opposé.

page 10
Rôles des Unités Fonctionnelles
 Deux ensembles d'unités d'adressage de données (.D1 et .D2) sont
responsables de tous les transferts de données entre les fichiers de
registre et la mémoire,
 Les deux unités fonctionnelles .M sont dédiées aux multiplications.
 Les deux unités fonctionnelles .S et .L effectuent un ensemble
général de fonctions arithmétiques, logiques et de branche avec des
résultats disponibles à chaque cycle d'horloge.

page 11
Architecture interne du TMS320C6713

page 12
Bloc diagramme simplifié de la famille TMS320C67xx.

page 13
page 14
.
Organisation de la mémoire interne du TMS320C6713

page 15
page 16
Les périphériques du TMS320C6713

page 17
La structure de la mémoire
Le TMS320C6713 base sur l’architecture de Havard modifiée utilise
une mémoire externe et une mémoire interne.

page 18
Organisation de la mémoire interne du TMS320C6713.
page 19
- Le contrôleur DMA (Direct Memory Access)

 Le contrôleur DMA permet le transfert de


données entre la mémoire interne, la mémoire
externe et les périphériques sans l’intervention du
CPU.
 Agissant en arrière-plan du fonctionnement du
processeur, le contrôleur DMA peut transférer des
données entre la mémoire interne, la mémoire
externe et les périphériques sur puce.

page 20
Caractéristiques clés du contrôleur DMA
Le contrôleur DMA présente les caractéristiques suivantes:
 Opère indépendamment du CPU.
 Ports standard: deux pour la RAM interne à double accès (DARAM), un
pour une mémoire externe et une pour les périphériques.
 Six canaux, qui permettent au contrôleur DMA de garder une trace du
contexte de six transferts de blocs indépendants entre les ports standard.
 Bits pour attribuer à chaque canal une priorité faible ou une priorité élevée.
 Synchronisation d'événements. Les transferts DMA dans chaque canal
peuvent être effectués en fonction de l'occurrence d’événements
sélectionnés.
 Une interruption pour chaque canal. Chaque canal peut envoyer une
interruption au CPU à la fin de certains événements opérationnels.
 Options sélectionnables par logiciel pour la mise à jour des adresses des
sources et destinations des transferts de données.
 Un domaine inactif dédié. Le contrôleur DMA fonctionnant en état de basse
consommation en désactivant ce domaine. Chaque port série multicanal
tamponné (McBSP) sur le DSP a la capacité de prendre temporairement le
domaine du DMA,
page 21
Schéma fonctionnel du contrôleur DMA
(Cas TMS320VC5501/5502 DSP)

page 22
Schéma fonctionnel du contrôleur DMA
Le contrôleur DMA possède quatre ports :
 Deux ports pour la RAM interne à double accès
(DARAM). Ces ports sont appelés port de mémoire
interne 0 et port de mémoire interne 1.
 Un port pour la mémoire externe. L'interface de mémoire
externe (EMIF) connecte le port à la mémoire externe.
 Un port pour les périphériques. Un contrôleur de bus
périphérique connecte le port à les périphériques.

page 23
page 24
- Le contrôleur EDMA (Enhanced Direct Memory Access)

 Le contrôleur EDMA intégré permet les transferts


de données entre le contrôleur de mémoire cache
de niveau deux (L2) et les autres périphériques.
 Ces transferts comprennent:
o Entretien du cache.
o Accès à la mémoire non cache.
o Transferts de données programmés par
l'utilisateur.
o Accès hôte.

page 25
- Le contrôleur EDMA (Enhanced Direct Memory Access)

 Il existe deux méthodes pour transférer des


données d'une partie de la mémoire à une autre,
celles-ci utilisent:
1- CPU,
2- DMA (Direct memory Access)
 Si le DMA est utilisé, CPU n'a besoin que de
configurer le DMA. Pendant le transfert, CPU est
alors libre d'effectuer d'autres opérations.

page 26
TMS320C6713 DSK (C6713 DSK)
La carte d’évaluation DSK est très puissante avec des outils de
support matériels et logiciels nécessaires pour le traitement du
signal en temps réel.

page 27
page 28
Il s'agit d'un système DSP complet.
Cette carte comprend le processeur de traitement numérique du
signal, le TMS320C6713 a virgule flottante et un codec stéréo
TLV320AIC23 (AIC23) de 32 bits pour l'entrée et la sortie.
Le codec AIC23 «utilisant une technologie sigma-delta»
fonctionne comme un CAN pour les entrées analogiques et
comme un CNA pour les sorties numériques du DSP.
Il se connecte a une horloge système de 12 MHz.
Le taux d‘échantillonnage variable de 8 a 96 kHz et peut être
règle facilement.
La carte comporte un emplacement libre pour l'ajout d'un
périphérique ou d'une carte additionnelle ("daughter card"), un
emplacement pour ajouter de la mémoire, quatre LED ("Light-
Emitting Diodes") et quatre DIP switchs ("Dual In-line Pin")
programmables. page 29
La carte DSK comprend 16 MB de
mémoire synchrone dynamique a accès
aléatoire (DRAM) et 256 kB de mémoire
flash. Le DSK fonctionne a 225 MHz, il
intègre un régulateur de tension qui
fournit 1,26 V pour le noyau C6713 et 3,3
V pour la mémoire et les périphériques.

page 30
Le DSK dispose également de quatre prises audio jacks de
3,5 mm, deux pour les entrées: microphone (mono) et
"line in" (stéréo), et deux pour les sorties : "speaker"
(stéréo) et "line out" (stéréo). En fait les deux entrées
(respectivement les deux sorties) renvoient les signaux au
même port physique, c'est-a-dire au même signal d'entrée
(respectivement de sortie). La seule différence entre
microphone et "line in" (respectivement "speaker" et "line
out") réside dans les impédances des ports. Autrement dit,
on a quatre prises audio, mais une seule entrée et une seule
sortie, chacune disponible avec deux impédances
différentes
page 31
CODEC TLVAIC23

page 32
Organisation de la mémoire du C6713 DSK
L’organisation de la mémoire de la carte C6713 DSK est
décrite au niveau de la figure ci-dessous.

page 33

Vous aimerez peut-être aussi