|
Des
Microprocesseurs non dédiés aux processeurs pour le
traitement du signal, une introduction
|
Architectures pour le TNS
[Next]
Le présent document a pour objectif de présenter quelques
éléments sur les architectures des processeurs
dédiés au traitement du signal (DSP, Digital
Signal Processors). Nous introduirons dans la première partie
les techniques mises en oeuvre dans les processeurs classiques,
processeurs utilisés couramment dans les micro-ordinateurs et
autres stations de travail. Ces techniques, utilisation de mémoire
cache, structure Harvard et architecture pipe-line en
particulier, sont systématiquement utilisées dans
l'architecture des DSP. Nous laisserons cependant de
côté les problèmes de gestion de la mémoire
tels que la mémoire virtuelle. Ces problèmes ne
constituent en effet pas une préoccupation majeure dans le cas du
traitement du signal.
Nous nous intéresserons ensuite plus particulièrement
à ce qui différencie les processeurs classiques des
processeurs de traitement du signal. On remarquera cependant une
convergence forte entre les deux types de machines.
Introduction
- Carte d'acquisition
- Carte avec processeur de traitement du signal
- Carte avec processeur dédié
L'utilisation de techniques numériques dans le traitement
du signal s'impose sur les techniques analogiques dans de
nombreux domaines. Les principales utilisations se font dans les
domaines suivants:
- radar: poursuite multi-mode, traitement
antiréverbération, identification de cibles,
- médical: traitement de signaux EEG, EMG, EOG,... et
imagerie biomédicale (scanners, RMN),
- recherche pétrolière: analyse sismique,
- commande: industrielle, avionique, commande de systèmes
instables,
- télécommunications: codage/décodage,
modulation/démodulation, égalisation adaptative,
annnulation d'écho, cryptage,
- parole: codage/compression, analyse, reconnaissance,
synthèse,
- traitement d'images: codage/compression, reconnaissance de
formes, ...
Dans tous ces domaines de traitement, les fonctions remplies par les
traitements peuvent être résumées à:
- des fonctions de filtrage pouvant se ramener à des
convolutions,
- des traitements faisant intervenir du calcul matriciel,
- des transformations (Fourier rapide, Winograd,...).
D'une manière générale l'architecture d'un
système de traitement numérique du signal est le suivant:

fig.1 Schéma de principe du
traitement
Selon les caractéristiques fréquentielles des
phénomènes étudiés et les traitements
à effectuer, ces derniers pourront être
réalisés à l'aide:
- d'un processeur classique qui prend en charge tous les
traitements à effectuer,
- d'un microprocesseur de traitement numérique de signal
rattaché à un processeur hôte. Ce dernier lui
fournit le programme chargé des acquisions/restitutions et des
traitements,
- ou d'un processeur d'architecture spécialisée. On
trouve là des coprocesseurs, des réseaux de processeurs
tels que des transputers, des réseaux systoliques, etc.
Ces derniers offrent en particulier une solution aisément
intégrable en VLSI. Elle offre aussi l'avantage d'un
contrôle précis des temps de propagation dans le circuit.
Les trois configurations de base habituelles sont les suivantes:
Dans ce premier cas on dispose d'une carte dotée des
éléments de conversion et des filtres d'anti-repliement et
de restitution. Cette carte sera installée dans un calculateur
hôte standard, lequel est chargé de tous les traitements et
du pilotage des acquisitions et restitutions. Cette solution est
acceptable dans tous les cas où les vitesses requises ne sont pas
trop importantes puisqu'on est limité par la bande passante du
bus de la machine hôte. Elle peut convenir pour de l'analyse de
signal ou de la commande quand les bandes de fréquences ne
dépassent pas quelques centaines de Hz ou quelques kHz.
La communication avec la machine hôte se fait à travers
des registres ou des FIFO. Les transferts peuvent se faire en mode d'interrogation
(polling), sous interruptions ou en mode d'Accès
Direct à la Mémoire (Direct Memory Access).
La logique d'acquisition/restitution est câblée en
utilisant des composants VLSI (timers, counters,
...)

fig.2 Carte simple
d'acquisition/restitution
Dès que l'on veut effectuer des traitements tant soit peu
complexes, il devient indispensable d'utiliser un microprocesseur de
traitement du signal. Le plus souvent ce processeur est implanté
sur une carte qui vient se loger dans une machine hôte. Cette
dernière a pour rôle de charger la carte avec le programme
de traitement, de l'alimenter avec les paramètres
nécessaires (par exemple les coefficients d'un filtre
numérique) et du stockage éventuel des signaux
échantillonnés et/ou traités.
La communication entre carte d'acquisition/restitution et carte
processeur se fait par un bus spécialisé dont les
spécifications dépendent le plus souvent du fabricant de
la carte (par exemple le DSPLINK System Expansion Interface de Loughborough
Sound Images Ltd). Cette architecture permet de s'affranchir des
performances en général limitées du bus
d'entrée-sortie du processeur hôte.

fig.3 Utilisation d'un processeur de
traitement du signal
Ces processeurs de traitement du signal possèdent des
caractéristiques qui sont à la fois propres aux
microprocesseurs de haut de gamme (architecture de Harvard,
présence de caches, structure pipe-line) et
spécifiques (jeu d'instruction favorisant les calculs de
convolutions, de transformées de Fourier rapides, les traitements
2D par exemple).
Dans le troisième cas, le processeur dédié est
rattaché au processeur hôte comme le serait un
coprocesseur.
C'est le domaine des circuits spécialisés en logique
câblée avec circuit de calcul de FFT, des tableaus
systoliques, ou autres réseaux de transputers, .... La
partie acquisition/restitution peut être implantée sur la
carte supportant le processeur dédié ou sur une carte
indépendante, ces deux cartes pouvant ou non être
reliées directement.

fig.4 Utilisation d'un processeur
dédié
Lorsqu'on dispose d'un réseau de processeurs, on distingue deux
cas en fonction du mode de synchronisation:
- les traitements asynchrones dans lesquels chaque processeur
communique en se basant sur un protocole d'échange,
- les traitements synchrones où le séquencement est
centralisé.
[Next]