Conservatoire national des arts et métiers
Architectures des systèmes informatiques
CHAPITRE 13
Les processeurs de traitement du signal
Année 2002-2003

Suite N°1...

13.4. LES PROCESSEURS POUR LE TRAITEMENT DU SIGNAL

Rappelons que les processeurs ont trois grands marchés d'emploi :

(1) la manipulation de données comme le traitement de texte et la gestion des bases de données
d'une part représentée par le déplacement A -> B et la condition Si A=B Alors...

(2) le calcul au sens arithmétique du terme, utilisé en sciences, en ingénierie et en traitement du signal représenté par l'addition C=B+A et la multiplication C=B*A.

(3) les calculs qui relèvent de l'algèbre linéaire.

Tous les processeurs sont capables des trois mais il serait très coûteux de rendre chacun optimal pour les trois. Les processeurs généraux sont optimisés pour le premier type de travaux, les DSP pour le second type, les machines SIMD pour le troisième.

Les DSP sont produits en très grand nombre. Leur marché mondial était estimé à 18 milliards de francs en 1997 en croissance de plus de 20% par an. Il est majoritairement celui de la téléphonie, des modems et la commande des têtes de disques d'ordinateurs plus que celui de la commande industrielle.

Ils ont des caractéristiques d'usage différentes de celles des autres processeurs.

Ils ont des caractéristiques architecturales. Leurs capacités de traitement direct ou instructions originales sont : Les processeurs sont reliés : Les systèmes à mémoire commune sont possibles mais relativement peu utilisés car les données arrivent le plus souvent en séquence de l'extérieur. Le bas prix des mémoires fait qu'il est économique d'enregistrer les données dans chaque mémoire privée pour faire des traitements indépendants.

Note : L'adressage dit «bit reverse» se pratique comme suit.
Soit un tableau de 8 éléments normalement numérotés 000, 001, 010, etc.
L'adressage bit-reverse consiste à émettre successivement les adresses
000, 100, 110, 001, etc. Les bits sont «retournés».

Exemple

Le schéma de principe d'un filtre à réponse impulsionnelle finie illustre ces besoins de calcul particuliers :


L'équation de production du résultat Y[n] est

Y[n] = c(0)x[n] + c(1)x[n-1] + c(2)x[n-2] + c(3)x[n-3] +....+ c(n)x[0]

Les processeurs généraux et les DSP sont à la fois proches et éloignés.

13.5 QUELQUES EXEMPLES DE CARACTÉRISTIQUES

La situation générale des DSP est aujourd'hui :

13.5.1. Motorola 96002

Les principales caractéristiques du microprocesseur M96002 sont les suivantes :

20 Mips, 60 MFlops, 50 ns de cycle instruction à 40 MHz;
instruction «do loop» cablée;
10 accumulateurs à 96 bits;
support IEEE 754 et flottant précision étendue (64 bits);
deux canaux d'accès DMA, interruptions vectorisées;
adressage données 4G mots de 32 bits, adressage programme 4G mots de 32 bits;
parallélisation des addition et soustraction dans l'unité flottante;
compatibilité avec le 56000;
génération d'adresses pour tampons circulaires (adresses modulo N) et bit reverse.
Note :
La norme IEEE 754 de 1985 définit deux formats de nombres en virgule flottante ainsi que des nombres dits dénormalisés.

13.5.4. Texas 320C40

Ce processeur était présenté par Texas comme le plus puissant du marché en 1995. On le détaille plus que les autres.

Caractéristiques principales

Communications
.6 ports de communication asynchrones 8 bits bidirectionnels à l'alternat, 20Mo/s chacun prévus pour les liaisons directes;
.6 canaux DMA gérés par un coprocesseur pour les entrées et sorties et les opérations d'UAL, travaillent indépendamment de l'UC.

UC
.la conversion en virgule flottante à la norme IEEE en un cycle;
.un multiplieur sur flottants 40 bits et sur entiers 32 bits en un cycle;
.une UAL entiers flottants et opérations logiques;
.un registre à décalage 32 bits;
.32 registres primaires de 32 bits utilisables comme registres généraux ou particuliers par défaut;
.un registre d'extension pointeur des vecteurs d'interruption IVTP.

Un cache de 128*32bits en LRU.

Performances
Les valeurs qui suivent sont additionnées dans le cas le plus favorable, comme on l'a déjà vu pour le MIPS crête .
 
En un cycle, 
on peut faire en UC
en MOPS En un cycle, 
le canal ADM peut faire
en MOPS en communication en Mo/s
2 accès aus données 50 1 transfert de 32 bits 25 1 port global à 100 Mo/s 100
1 multiplication flottante 25 1 M.A.J du registre d'adresse 25 1 port local à 100 Mo/s 100
1 opération flottante en UAL 25 1 M.A.J. du compteur de transfert 25 6 ports asychrones à 20 Mo/s 120
2 adressages de registres 50
1 comptage de boucle 25
1 branchement 25
TOTAL 200 MOPS 75 MOPS 320 Mo/s

Les totaux généraux sont donc bien de 275 MOPS et 320 Mo/s.

Notons deux bus externes pour les adresses et les données pour des mémoires éventuellement communes.

Mémoire et adressage
Adressage de 16 gigaoctets qui incluent les adresses de programmes, des ports des registres et des canaux.
La mémoire adressable est en partie spécialisée par mégaoctets :
Le premier est selon un paramètre soit une ROM soit est utilisable par le bus local.
Le second est réservé aux périphériques
Le troisième contient les deux blocs RAM
Le reste des deux premiers gigamots est utilisé par le bus local
Le second espace de 2 gigamots est utilisé par le bus global

Modes d'adressage
4 groupes :
adressage général
registre l'opérande est un registre du CPU
immédiat sur 16 bits
direct : adresse sur 32 bits
indirect 32 bits par registre auxiliaire

adressage à 3 opérandes
registre
indirect
immédiat

adressage parallèle
registre l'opérande est le contenu d'un registre de précision étendue indirect

adressage relatif
à un registre
au compteur ordinal valeur signée de 16 bits ou 24 bits de déplacement

Les instructions sont toutes sur 32 bits, la plupart s'exécutent en un cycle.

Interruptions
Externes :
nom adresse

IIOF0 IVTP+003H
IIOF1 4
IIOF2 5
IIOF3 6

Internes : NMI, IT du DMA et des ports de communication, etc.

Le coprocesseur a ses propres bus d'adresses et de données

ENFIN....

deux modules horloges identiques et indépendants constitués de :
1 compteur 32 bits
1 horloge interne ou externe
1 E/S utilisable comme sortie d'horloge ou comme entrée d'horloge ou comme E/S ordinaire
3 registres : contrôle global qui détermine le mode de fonctionnement, gère l'état et contrôle le port d'E/S
1 registre de période indique la fréquence
1 registre compteur contient la valeur courante.

13.5.4 Analog Device ADSP 21060

C'est un processeur récent dont les caractéristiques principales sont :
Il opère sur 32 bits en simple précision et 40 bits en précision étendue;
Ses formats sont comme partout ou presque aujourd'hui conformes aux normes IEEE;
Il accède simultanément à deux bancs de mémoire (dual-ported memory);
Il adresse 4 Gmots;
Il a quatre bus indépendants spécialisés : deux pour les données, un pour les instructions et un pour les interruptions. Analog Device utilise les appellations commerciales Super Harvard architecture ou SHARC pour le désigner;
Il a 4 Mbits de mémoire incorporée;
Ses 6 liens sont sur 4 bits;
Il a l'adressage spécialisé pour la TFR;
Il est donné pour 40 MIPS, une instruction toutes les 25 ns, 120 Mflops crête et 80 Mflops en régime permanent.

Questionnaire

Conservatoire national des arts et métiers
Architectures des systèmes informatiques
CHAPITRE 13
Les processeurs de traitement du signal
Année 2002-2003