13.0 PRÉSENTATION
Ce chapitre fait le deuxième lien avec la partie relative au traitement du signal du cours d'architectures parallèles. Il est matière à lecture dans le cours d'architectures des systèmes informatiques. Il n'a pas de questionnaires.
DSP (digital signal processor) est écrit dans la suite pour processeur de traitement du signal.
L'auteur est grandement redevable à M. Gérard Blanchet de l'Ecole Nationale Supérieure des télécommunications pour plusieurs paragraphes de ce chapitre inspirés de : http://tsi.enst.fr:80/~blanchet/.
Ce chapitre contient :
13.1
quelques mots sur l'histoire des DSP;
13.2
pourquoi des DSP;
13.3
évolution des architectures des processeurs;
13.4
les processeurs pour le traitement du signal;
13.5
quelques exemples de caractéristiques;
13.6
des systèmes pour le traitement du signal;
13.7
les techniques d'évaluation.
Les processeurs de traitement du signal diffèrent des processeurs généraux déjà présentés dans le chapitre 2 par plusieurs caractères architecturaux.
13.1. QUELQUES MOTS D'HISTOIRE EN GUISE D'INTRODUCTION
Les mini ordinateurs industriels apparaissent pendant les années 1960. Le plus grand constructeur est Digital equipment avec la série des PDP, PDP 6, 8 (en 1965, processeur 12 bits, cycle de 1.5 microsecondes, 4Kmots de 12 bits de mémoire en tores de ferrite, ai prix de 18000 $) et 11 qui sont des miniordinateurs. IBM vend les IBM 1800 (1965). En France, on produit les Solar de Télémécanique, les Multi 6 et Multi 8 d'Intertechnique, les Mitra 15, 25, 45 de la CII. Parmi les premiers microprocesseurs des années 1970, le F8 de Fairchild, certains Mostek, le 8085 d'Intel et d'autres sont à usage industriel. Ils ne sont pourtant pas spécialisés dans le traitement du signal. On utilise parfois la microprogrammabilité. C'est le cas du Multi 6 et des microprocesseurs en tranches AMD2900. Une version du Multi 6 fait la transformation de Fourier en une seule instruction. Une autre version est un gestionnaire de base de données.
Les processeurs de traitement du signal sont issus des techniques de microprocesseurs. L'expression DSP apparaît en 1982 pour le TMS 32010 de Texas Instruments qui est présenté comme un processeur pour modem.
L'unité de calcul en virgule flottante apparaît dans le TMS320C3x en 1988 (technique Cmos). Le premier DSP conçu pour le parallélisme architectural est le TMSC320C4x en 1990.
Les DSP offrent actuellement
de façon courante plus de 100 Mips pour des prix qui vont de 5 à
100 dollars pièce. Ils sont employés dans des systèmes
divers dans la nature et les utilisations.
Ils sont placés dans
une échelle générale où l'on repère
:
Le traitement numérique du signal consiste à appliquer des opérations de calcul à des signaux numérisés. Eux mêmes sont des échantillons de signaux physiques, soit binaires par nature soit convertis en nombres. Les techniques analogiques ont pratiquement partout cédé le pas aux techniques numériques.
On les trouve sous les formes de :
Schéma de principe de la chaîne de traitement
Selon la fréquence du phénomène et les traitements requis, ceux-ci peuvent être faits dans :
Les trois configurations de base habituelles sont les suivantes:
La communication avec la machine hôte est faite via des registres ou des files d'attentes. Les transferts sont faits par interrogation (polling), sous interruptions ou par accès direct à la mémoire (direct memory access). Les logiques d'acquisition et de restitution est câblée.
Le bus de liaison est l'interface entre l'hôte et la carte.
Configuration avec un processeur de traitement du signal
Ces processeurs de traitement du signal ont des caractéristiques de microprocesseurs de haut de gamme (architecture de Harvard, caches, structure pipe-line) et spécifiques (jeu d'instructions adapté aux calculs de convolutions, de transformées de Fourier rapides, de traitements 2D par exemple).
C'est le domaine des circuits spécialisés en logique câblée avec circuit de calcul de TFR, des tableaux systoliques, des réseaux de processeurs. La partie acquisition et restitution peut être placée sur la carte qui porte le processeur ou sur une carte indépendante. Ces deux cartes sont ou non reliées directement.
Configuration avec un processeur
dédié
13.3. ÉVOLUTION DES ARCHITECTURES DES MICROPROCESSEURS
Ce paragraphe a été rédigé pour que le chapitre soit compréhensible par lui-même. Il fait double emploi avec d'autres.
Au début des années 1970, les techniques présentes dans les microprocesseurs actuels existaient déjà dans les processeurs des grandes machines, mémoire virtuelle, mémoire cache, pipeline, etc. Les efforts de conception ont porté sur l'insertion de ces techniques dans les microprocesseurs, rendue possible par l'augmentation de la densité d'intégration. Il faut cependant noter que les contraintes économiques ont parfois été plus fortes que les contraintes techniques et ont pu freiner quelque peu l'introduction de ces techniques. Ainsi les 8086 et i432 d'Intel sont contemporains. Le second, plus difficile à mettre en œuvre et plus cher a été peu vendu bien qu'ayant de meilleures performances. Ce n'est cependant pas toujours le cas : ainsi la diffusion des caractéristiques de l'architecture SPARC a largement favorisé son utilisation. Les besoins exprimés par le marché ont un grand rôle dans le développement des machines. On trouve ainsi des machines conçues pour le traitement du signal, des architectures adaptées à l'interprétation de langages particuliers ou à la mise en œuvre de systèmes d'exploitation tel que Unix.
Les évolutions ultérieures seront apportées par toujours plus de transistors : l'adressage monte à 32 bits ainsi que la taille des registres. La gestion de la mémoire par unité de gestion de mémoire UGM (memory management unit ou MMU) d'abord réalisée dans une puce séparée, est intégrée dans le processeur. Il en est de même du coprocesseur de virgule flottante et d'un ou deux caches.
Il apparaît donc qu'on peut sans inconvénient limiter le nombre d'instructions, utilisant les ressources libérées pour améliorer la qualité du séquencement et augmenter le nombre des registres. De là naissent les machines à jeu d'instruction réduit ou RISC (Reduced Instruction Set Computer) par opposition aux processeurs que l'on a dotées d'instructions complexes ou machines CISC (Complex Instruction Set Computer). De plus, des langages tels que C utilisent beaucoup les appels aux fonctions. Le rapport entre le nombre de sauvegardes dans la pile et les exécutions utiles devient important. On pourra utiliser pour lui, la technique des fenêtres de registres. Les autres modifications portent sur les points suivants :
D'une manière générale on peut dire que les performances sont plus faciles à obtenir avec la technique RISC. Par contre les machines CISC offrent un jeu d'instructions facilitant en principe la vie des programmeurs bien que l'écriture de grands logiciels en langage d'assemblage ait disparu. Au bénéfice du CISC, il y a la nécessaire compatibilité entre processeurs successifs pour rentabiliser les investissements en écriture des logiciels. Au passif des CISC il y a le test coûteux des processeurs. Les dernières générations de processeurs contiennent plusieurs millions de transistors. On conçoit aisément que certains produits commercialisés ont encore des bogues.
On note toutefois que les techniques RISC et CISC ont une tendance forte à converger, que les mêmes fabricants proposent ces deux types de processeurs et que certains processeurs sont des CISC sur base RISC.
Conservatoire national des arts et métiers
Architectures des systèmes informatiques
CHAPITRE 13
Les processeurs de traitement du signal
Année 2002-2003