Traitement numérique du signal radar
Architectures parallèles pour applications aéroportées
Jean-Jacques Julié/Robert Sapienza
Hermes Science publications
Préface
9
Remerciements
11
Avant-Propos
13
Introduction
15
Position du problème15
Le traitement multidimensionnel15
Le multiprocessing16
Comment spécifier un calculateur ?16
Les contraintes fonctionnelles16
Les contraintes non fonctionnelles17
Les contraintes temporelles17
Approche déterministe/approche non déterministe18
Chapitre 1. Parallélisation des traitements
23
1.1. Analyse préliminaire23
1.2. Différents types de parallélismes26
1.2.1. Généralités26
1.2.2. Le parallélisme de tâches28
1.2.3. Le parallélisme de données31
1.2.3.1. Le multiplexage temporel32
1.2.3.2. Le parallélisme de données synchrone non coopératif33
1.2.3.3. Discussion sur la parallélisation des algorithmes35
1.2.3.4. Le parallélisme de données synchrone coopératif39
1.3. Le concept d'accélération ou speed up43
1.3.1. Rappels théoriques43
1.3.2. Approche pratique49
1.4. Comment choisir ?57
Chapitre 2. Calculateur pour le traitement du signal radar
61
2.1. Caractéristiques générales du traitement du signal radar61
2.2. Architecture fonctionnelle pour un calculateur embarqué64
2.2.1. Module de supervision65
2.2.2. Module d'interface capteur66
2.2.3. Ressources de calcul66
2.2.4. Mémoire de masse67
2.3. Architecture logicielle67
2.3.1. Introduction67
2.3.2. Le niveau driver69
2.3.3. Le niveau noyau temps réel69
2.3.4. Le niveau interface utilisateur72
2.3.5. Le superviseur72
2.3.6. Le debug73
2.4. Architecture traitement (modèle de programmation)73
2.5. Architecture des communications74
2.5.1. Modèle ISO74
2.5.2. Un exemple de classification78
2.5.3. Recommandations pour le bus de contrôle
et le réseau de communication de données82
2.5.3.1. Généralités82
2.5.3.2. Bus de supervision82
2.5.3.3. Réseau de communication de données83
2.5.3.4. Commutation de circuits ou commutation de paquets89
2.6. Point de vue sur quelques sujets90
2.6.1. Approche COTS ou approche propriétaire ?90
2.6.1.1. Trouver le bon compromis90
2.6.1.2. Démarche Model Year92
2.6.2. Quel type de processeur choisir ?93
2.6.2.1. Vision générale93
2.6.2.2. Calculs en format fixe ou en format flottant95
2.6.2.3. Processeur élémentaire ou cluster ?106
2.6.2.4. Représentation générique d'un noeud de calcul
de type processeur élémentaire108
Chapitre 3. Atelier de développement logiciel
111
3.1. Introduction111
3.1.1. Atelier : une définition s'impose111
3.1.2. Atelier, motivation : problématique du traitement
du signal radar112
3.2. Un atelier adapté au traitement du signal113
3.2.1. Vers de nouvelles méthodologies113
3.2.1.1. Motivation113
3.2.1.2. Spécification exécutable : un premier pas nécessaire117
3.2.2. Le processus de développement120
3.2.2.1. Présentation d'ensemble120
3.2.2.2. Le processus en détail122
3.3. Atelier, constitution et conception133
3.3.1. Première approche133
3.3.1.1. Fonctionnalités allouées à l'atelier134
3.3.1.2. Impact sur la nature des entrées137
3.3.2. Deuxième approche138
3.3.2.1. Les différents constituants
de l'environnement atelier139
3.3.2.2. Pour chaque constituant, un formalisme144
3.4. Atelier, mise en oeuvre149
3.4.1. Description des différentes étapes du processus
et illustration sur un exemple unique149
3.4.2. Placement fonctionnel149
3.4.2.1. Placement fonctionnel des tâches149
3.4.2.2. Placement fonctionnel
des communications inter-SPMD150
3.4.2.3. Placement fonctionnel des communications intra-PE151
3.4.3. Placement logique153
3.4.3.1. Placement logique des macro-tâches SPMD153
3.4.3.2. Placement logique des communications intra-PE156
3.4.4. Placement physique157
3.4.5. Génération de code exécutable pour la cible158
3.5. Atelier, ce qu'il faut retenir158
Conclusion
161
Bibliographie
165
Glossaire
167
Index
177