19 février 2001
PREMIÈRE PARTIE
I. Quelques notions sur les DSP
L'évolution technologique a permis aux systèmes à base de microprocesseurs de dominer le domaine
du traitement du signal et de commencer à s'imposer dans le domaine de la commande, au détriment
des traitements analogiques. Les manipulations de signaux se réduisent donc à celles de tableaux de
données constitués des valeurs extraites de signaux analogiques par échantillonnage. Mots-clefs :
théorème d'échantillonnage, suites numériques et TFTD, traitement et interprétation des observations,
filtrage et éléments de synthèse de filtres, traitements multi-cadences, processus aléatoires SSL,
estimations de spectres…
Processeurs spécialisés
Mots-clés : DSP prennent le pas ou s'intègrent aux autres solutions, …
DSP,
— micro-contrôleurs,
— processeurs dédiés.
Eléments architecturaux
Mots-clés :
— architecture Harvard interne,
bus séparés (architecture Harvard externe),
— mémoire interne,
— pile cablée,
— registres à barillet,
— unités multiples,
— mémoire globale,
flash interne,
mécanismes évitant les deadlocks ou permettant l'exclusion mutuelle sur des données
partagées dans la mémoire globale.
Traitements
Mots-clés :
— traitement des signes dans les opérartions, extensions de signes,
Quelques notions sur les DSP 2 G.Blanchet & P.Devriendt
— mécanismes de traitement des interruptions,
— traitement des saturations.
Jeu d'instructions et adressage
Mots-clés :
— multiplication-accumulation,
— instructions de normalisation,
— manipulation rapide de bits,
— instructions min et max,
— carrés et racines carrées,
— adressage modulo,
— adressage bit reverse.
Entrées-sorties
Mots-clés :
— communications série,
timers, compteurs,
convertisseurs et codec.
Algorithmique
Mots-clés : codage, compression, …
— données en ROM pour codage loi A ou loi µ,
tables de cosinus.
Langages et outils
Mots-clés : optimisation de code, problème des entrées-sorties, …
— compilateurs,
— assembleurs,
— dévermineurs,
— simulateurs.
Techniques d'optimisation standards
Mots-clés :
— caches,
— pipe-line,
— parallélisation, communication des différents modules internes,
VLIW
réarrangement du flot d'instructions,
— prédiction de branchement,
— EPIC.
19 février 2001
DEUXIèME PARTIE
II. Le micro-processeur TMS320C50
II.1. Organisation générale
D'un point de vue physique, le C50 est doté d'une mémoire interne et peut être équipé de mémoire
externe. Chacun de ces espaces est lui-même séparable en quatre espaces fonctionnels :
— la mémoire "programme",
— la mémoire de données locales,
— la mémoire de données globales (uniquement en mémoire externe),
les ports d’entrée/sortie.
La mémoire externe que le C50 est capable d’adresser est composée de :
— 64 Kmots de longueur 16 bits de mémoire "programme",
— 96 Kmots de longueur 16 bits de mémoire "données" dont :
64 Kmots de données locales,
— 32 Kmots de données globales : zone mémoire permettant de partager des données entre
plusieurs processeurs, elle peut aussi être utilisée comme simple mémoire locale supplémentaire.
— 64 Kports d’entrée/sortie (Input/Output).
II.1.1. LA MÉMOIRE INTERNE
L’utilisation de la mémoire interne, intéressante en terme de vitesse, permet de travailler même en
l'absence d'extension de mémoire externe. Le 320C50 dispose de 10 Kmots de RAM et de 2 Kmots
de ROM organisés de la façon suivante :
— 2 Kmots × 16 bits de boot ROM, éventuellement activée au démarrage pour accéder à une
REPROM externe. Si cette possibilité n'est pas utilisée, une ROM externe de 32 Kmots est
accessible directement entre 0 et 7FFH.
— 9 Kmots × 16 bits de mémoire RAM programme ou données en simple accès,
— et 1056 mots × 16 bits de RAM de données double accès (une lecture/écriture par cycle).
Dans la configuration utilisée dans le kit EVM, le microprocesseur travaille en mode micro-processeur
(la broche MP MC est à 1), c'est-à-dire utilisant la ROM externe comme ROM programme.
Le DSK-C50 de Texas Instruments 4 G.Blanchet & P.Devriendt
La ROM interne
La ROM interne contient un programme d’initialisation (boot loader) qui permet, lors de la mise sous
tension du processeur, de tester les composants, d’initialiser le processeur et de transférer un
programme utilisateur vers la mémoire RAM du DSP. Les mots de la ROM interne sont situés aux
adresses 0000H à 07FFH.
La RAM simple accès
Elle est formée de quatre blocs de 2 Kmots et d’un bloc de 1 Kmot. Comme son nom l’indique, elle
nécessite un cycle complet du processeur pour une opération de lecture ou d'écriture. Deux bits
permettent la configuration de la RAM simple accès : les bits OVLY et RAM du registre PMST.
OVLY 0 0 1 1
RAM 0 1 0 1
Configuration RAM simple
accès invalidée
mémoire
programme
mémoire
données
mémoire programme
et données
Fig.1 : Configuration de la RAM simple accès
Les 9 Kmots de RAM simple accès sont positionnés à l’adresse 800h dans la configuration mémoire
"programme" ou mémoire "données".
La RAM double accès
La taille de cette mémoire est de 1056 mots de 16 bits. Comme son nom l’indique, le processeur peut
accéder deux fois à cette mémoire pendant un même temps de cycle : une fois en écriture et une fois
en lecture. Cette mémoire admet trois modes de configuration différents.
II.1.2. LES CONFIGURATIONS
Les configurations passent par l'utilisation des registres ST0 (registre d'état 0), ST1 (registre d'état
1), PMST (Processor Mode Status Register) et CBCR (Circular Buffer Control Register).
Configuration mémoire "données"
CNF OVLY DARAM
B0
DARAM
B1
DARAM
B2
SARAM Mémoire
Externe
0 0 100H-2FFH 300H-4FFH 60H-7FH - 800H-FFFFH
0 1 100H-2FFH 300H-4FFH 60H-7FH 800H-2BFFH 2C00H-FFFFH
1 0 - 300H-4FFH 60H-7FH - 800H-FFFFH
1 1 - 300H-4FFH 60H-7FH 800H-2BFFH 2C00H-FFFFH
Fig.2 : Configuration mémoire "données" locale
— Bloc B0 de 512 mots entre 100H à 2FFH en mémoire de données locale (FE00H à FFFFH en
espace programme si le bit CNF est à 1 ; lors du Reset CNF est à 0 indiquant que B0 est en
mémoire de données).
G.Blanchet & P.Devriendt 5 Le DSK-C50 de Texas Instruments
— Bloc B1 de 512 mots entre 300H à 4FFH en mémoire de données locale.
— Bloc B2 de 32 mots entre 60H à 7FH en mémoire de données locale.
Configuration mémoire programme-mode microprocesseur (bit MP MC=1)
Si le bit MP MC=0, le proceesseur est en mode micro-contrôleur. La ROM interne permet de charger
le code de boot à partir :
— de mémoire morte installée en mémoire globale entre 8000h à FFFFh,
— ou par l'intermédiaire de la ligne série.
Le code est chargé dans le bloc B0 et la SARAM configurée en mémoire programme. L'adresse
0FFFH en mémoire globale doit contenir une information sur le mode de transfert (transferts 8 ou 16
bits, mode parallèle ou série).
bit
CNF
bit
RAM
bit
MP MC
SARAM DARAM ROM Mémoire
Externe
0 0 0 0h-07FFh 0800h-FFFFh
0 0 1 0h-FFFFh
0 1 0 0800h-2BFFh 0h-07FFh 2C00h-FFFFh
0 1 1 0800h-2BFFh 0h-07FFh
2C00h-FFFFh
1 0 0 FE00h-FFFFh 0h-07FFh 0800h-FDFFh
1 0 1 FE00h-FFFFh 0h-FDFFh
1 1 0 0800h-2BFFh FE00h-FFFFh 0h-07FFh 2C00h-FDFFh
1 1 1 0800h-2BFFh FE00h-FFFFh 0h-07FFh
2C00h-FDFFh
Fig.3 : Configurations et adresses de la mémoire interne en mode programme
Configuration de la mémoire
— Emplacement des bits-clé CNF, OVLY, RAM, MP MC, etc.
Les bits OVLY, RAM, MP MC se trouvent dans le registre PMST (Processor Mode Status Register)
(cf. fig.4).
15-14-13-12-11 10 9 8 7 6 5 4 3 2 1 0
IPTR 0 0 0 A
V
I
S
0O
V
L
Y
R
A
M
MP MC N
D
X
T
R
M
B
R
A
F
Fig.4 : Registre PMST
Le bit CNF se trouve, quant à lui, dans le registre ST1 (Status Register 1) (cf fig.5).
1 / 29 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !