gb  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

  1. Carte d'acquisition
  2. Carte avec processeur de traitement du signal
  3. 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: Dans tous ces domaines de traitement, les fonctions remplies par les traitements peuvent être résumées à: 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:

  1. d'un processeur classique qui prend en charge tous les traitements à effectuer,
  2. 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,
  3. 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:

1. Carte d'acquisition

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

2. Carte avec processeur de traitement du signal

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

3. Carte avec processeur dédié

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:
[Next]