You are on page 1of 5

APPLICATIONS

Architecture et applications d'un processeur


de traitement numrique du signal
de la seconde gnration : le TMS32020
A second generation digital signal processor. TMS32020 .
Architecture and applications

Cale ERSKINE
Senior application Engineer. Communication DPT1Programmable Products div . Houston .

Surendar MAGAR
Senior Member of Technical Staff. DSP Architecture/PPD Houston .

Edward CAUDEL
Senior Design Engineer. Design DPT, PPD Houston .

Daniel ESSIG
Senior Design Engineer. Communication DPT/PPD Houston .

Alain LEVINSPUHL
Chef de produit TMS320 .
Adresser toutes questions : Alain LEVINSPUHL, Texas Instruments France, BP n 05, 06270 VILLENEUVELOUBET, Tl . (93) 20.01 .01, poste 2406 .

RSUM

Texas Instruments produit depuis 1983 un circuit de traitement numrique du signal : le TMS32010 . Aujourd'hui
se fait jour une 2 e gnration de DSP avec le TMS32020 qui entrera en production au 2e semestre 1985. Cet
article a pour but d'informer le lecteur sur les caractristiques particulirement intressantes que prsente ce
nouveau circuit .
MOTS CLS
DSP (Digital Signal Processor), Traitement numrique du signal, TMS320 TMS32020 .

SUMMARY
Texas Instruments is manufacturing a digital signal processor since 1983 : the TMS32010 . Today a second "DSP"
generation is coming with the TMS32020 which will be in production on the second half 1985. The objective of
this article is to inform the reader on the very interesting characteristics offered by this circuit .
KEY WORDS
DSP (Digital Signal Processor), TMS320/TMS32020

Traitement du Signal

79

volume 2 - n 1 - 1985

TMS32020

Prsentation .
Le premier numro de la revue TS contenait une srie de prsentations de composants de traitement du signal .
Nous voyons ici comment l'un des constructeurs fait progresser son produit . Nous trouvons un microprocesseur
qui, tout en concernant une arithmtique entire, se rapproche de plus en plus d'un processeur vectoriel en se
qui concerne l'adressage des donnes . Notons les diverses possibilits d'extension de ce circuit par association
des mmoires externes et par assemblage en structures multi-processeurs .
Jol Linard
organis en une structure double bus programme/donnes . Les blocs de mmoire RAM intgrs BO et B1
sont dynamiquement reconfigurable (par instructions)
soit comme des espaces donnes et programme
spars soit comme deux espaces donnes contigus .
Le bloc BO (configurable soit comme programme
ou donne ) contient 256 mots de 16 bits de
mmoire RAM alors que le bloc Bi (uniquement de
donnes ) contient 288 mots de 16 bits de mmoire
RAM . Cette possibilit de configuration permet au
circuit d'excuter un programme partir du bloc BO
en utilisant les 288 mots restants de la mmoire RAM
intgre comme mmoire de donnes .
Extrieurement le circuit n'utilise qu'un seul bus pour
communiquer avec des mmoires programme ou
donnes et avec des entres/sorties . Ainsi, des programmes contenus dans les mmoires externes peuvent galement tre excuts vitesse maximale en
utilisant l'ensemble des 544 mots de mmoire RAM
comme mmoire de donnes . Le processeur
permet galement que les espaces programme et
donnes soient situs l'extrieur du circuit . Cette
configuration est souvent utile pour des applications
utilisant un grand nombre de donnes ncessitant
plus de 544 mots de mmoire RAM. Les programmes
peuvent aussi rsider dans le bloc de mmoire RAM
intgre BO et accder des mmoires de donnes
externe. Dans chacun de ces cas le contrle des accs
aux mmoires programme/donnes et du multiplexage du bus externe est automatiquement assur par
le processeur et est dtermin par les adresses contenues dans l'instruction en cours .
L'adressage des oprandes est effectu en mode
d'adressage direct ou indirect . L'adressage direct
permet au programmeur de spcifier l'adresse d'un
mot l'intrieur d'une page de 128 mots dans le
code mme de l'instruction . Un pointeur de page de
donnes compos de 9 bits indique le reste des 16 bits
d'adresse de manire dterminer laquelle des
512 pages doit tre appele pour l'instruction en
cours . L'adressage indirect permet l'utilisation de l'un
des cinq registres auxiliaires devant servir de pointeur
pour les oprations mettant en jeu la mmoire . Une
unit arithmtique spare et spcifique aux registres
auxiliaires permet au registre auxiliaire utilis d'tre,
incrment, dcrment ou index suivant le contenu
d'un autre registre auxiliaire, durant le mme cycle .
Ce dernier mode est souvent utile quand il est ncessaire de balayer une zone de donnes par incrmentation non unitaire comme par exemple dans un calcul

TABLE DES MATIRES


Introduction
1. Architecture
2. Unit arithmtique et logique
3. Caractristiques
interface E/S

multiprocesseur

et

instrumentation
4 . Tlcommunication,
deux applications phares
5 . Matriels et logiciels de dveloppement

Introduction
Cet article concerne la description de l'architecture et
du jeu d'instruction d'un processeur de traitement
numrique du signal (DSP) (Digital Signal Processing) VLSI (Very Large Scale Intgration) de la
seconde gnration, prsentant une avance technologique significative . Il se diffrencie de ses prdcesseurs,
par le fait qu'il ressemble plus un vrai microprocesseur que les autres microcalculateurs DSP . Il se
distingue galement par ses possibilits de fonctionnement en multiprocesseur permettant une flexibilit
accrue dans le dveloppement global du systme .
L'architecture interne comprend une structure double
bus, alors qu'extrieurement les circuits priphriques
sont minimiss grce au multiplexage de ces bus
l'extrieur. Parmi les caractristiques remarquables de
ce circuit figurent deux importants blocs de mmoire
RAM (Random Access Memory) intgrs, une grande
capacit d'adressage externe (programme ou don
nes), des instructions de multiplication/addition en
un seul cycle, une structure et des instructions permettant une utilisation efficace des mmoires et un interface multiprocesseur trs versatile .
1. Architecture
Le bloc diagramme du processeur apparat sur la
figure et la liste de ses principales caractristiques est
donne dans le tableau . A l'intrieur le processeur est

Traitement du Signal

80

volume 2 - n 1 - 1985

APPLICATIONS

matriciel ou pour un calcul de transformes de


Fourier rapide . Les registres auxiliaires peuvent aussi
tre utiliss comme compteur de boucle en conservant
la mme facilit de modification de leur contenu
chaque passage successif de la boucle .
Des structures et instructions spciales ont t incorpores afin de permettre une gestion efficace des espaces
mmoires programme/donnes internes et externes .
Par l'utilisation de l'entre READY , des mmoires
et circuits priphriques plus lents peuvent tre utiliss
par le biais de la gnration d'un tat d'attente .
Les transferts de blocs de donnes sont aussi facilits par la possibilit de transfrer d'une zone mmoire
une autre de grands blocs de programme ou de
donnes. Quand elle est utilise avec l'entre
READY cette possibilit de transfert par bloc
permet des programmes d'tre chargs en mmoire
RAM intgre partir de mmoires externes plus
lentes comme une EPROM (Erasable Programmable
Read Only Memory) . Une autre caractristique de ce
circuit permet une partie de la mmoire de
donnes externe d'tre configure comme une
mmoire de donnes globale (c'est--dire une
mmoire devant tre partage entre plusieurs processeurs) .

Des instructions ont t prvues afin de calculer la


valeur absolue, le complment un et deux, aussi
bien que la reprsentation normalise d'un nombre
de 32 bits contenu dans l'accumulation . La division
est assure par la prsence d'une instruction de
soustraction conditionnelle. Certaines instructions
effectuent des oprations de test au niveau du bit
sur des mots de la mmoire, d'autres effectuent des
oprations arithmtiques et logiques directement sur
16 bits .
Le jeu d'instructions du processeur est orient de
manire fournir un maximum de flexibilit et d'efficacit au systme . Les instructions de rptition
permettent de rpter la seule instruction suivante
jusqu' un maximum de 256 fois . L'utilisation de cette
possibilit de rptition avec certaines des instructions
prcdemment mentionnes telles que les transferts
par bloc, multiplication/somme ou normalisation peut
conduire une suite de codes trs compacte, l ou
autrement il aurait fallu un long programme linaire
ou des branchements conditionnels consommateurs
de temps .

3 . Caractristiques multiprocesseur et interface E/S

2 . Unit arithmtique et logique

Un interface multiprocesseur versatile a aussi t incorpor sur le circuit, ce qui permet de le configurer,
soit comme un processeur unique, soit comme un
processeur priphrique d'un processeur central ou
soit comme l'un des processeurs d'un rseau de processeurs.
Ces caractristiques de fonctionnement en multiprocesseur incluent la possibilit de dfinir une zone de
la mmoire externe du processeur comme mmoire
globale avec un signal spar de demande du bus
pour permettre au processeur de demander l'accs
cette zone mmoire . Le contenu d'un registre intgr
dtermine la taille de cette mmoire globale laquelle
peut tre comprise entre 256 et 32 K mots .
Le signal de demande du bus externe est activ
chaque fois que l'adresse mmoire actuelle correspond
une adresse de la mmoire globale . Des configurations de plusieurs processeur spcialiss synchroniss
peuvent tre ralises par l'utilisation d'une entre
de synchronisation, qui permet deux ou plusieurs
processeurs de travailler au mme rythme, lorsqu'il
sont commands par les mmes horloges .
L'accs direct mmoire (DMA) a aussi t prvu afin
de permettre un autre processeur de prendre le
contrle de ses bus externes . Quand l'entre
HOLD- est active au niveau bas, le processeur
termine l'excution de l'instruction en cours puis commute ses bus externes trois tats en haute impdance
ainsi que tous les signaux de contrle . L'excution
du programme est arrte jusqu' ce que l'entre
HOLD- soit dsactive, la suite de quoi le processeur continue le programme partir de son point
d'interruption.

L'unit arithmtique et logique (ALU) de ce processeur ralise les oprations arithmtiques signes et
non signes sur des mots de 16 bits avec un rsultat
sur 32 bits mmoris dans l'accumulateur .
Un multiplicateur 16 x 16 bits peut raliser un produit
sur 32 bits chaque cycle . Est galement prsent, un
registre permettant le dcalage gauche des oprandes
avant qu'ils ne rentrent dans l'ALU . L'ALU possde
deux entres, l'une tant la sortie de l'accumulateur,
tandis que l'autre vient soit du registre produit
du multiplicateur soit de la sortie du registre dcalage . Un registre dcalage la sortie du registre
produit permet l'alignement a gauche des produits
fractionnaires aussi bien que le dcalage droite des
produits avant qu'ils n'entrent dans l'ALU . Des dcalages droite et gauche dans l'accumulateur sont
aussi possibles .
Les instructions de multiplication/addition en un seul
cycle permettent un calcul aise des convolutions et
autres sommes de produits . Ces instructions utilisent
pleinement la bande passante du multiplicateur par le
passage de deux oprandes la fois chaque cycle .
Ceci s'effectue par l'utilisation d'un registre auxiliaire
pour adresser l'un des oprandes et par l'utilisation
du compteur programme pour adresser l'autre. Les
deux bus intgrs acheminent ensuite les oprandes
vers les entres du multiplicateur en mme temps que
le produit prcdent est additionn l'accumulateur
en excution de l'opration d'addition .
Plusieurs autres instructions : arithmtiques, de
contrle, gnrales ont aussi t incorpores sur le
circuit.

Traitement du Signal

81

volume 2 - n 1 - 1985

TMS32020

z5~
Y
U
ICL 0 Lis

R/W 4STRB 4READY-1BR4XF4HOLD


HOLDA4
MSC4
BIO
M
IACK4

V Y Y
i;

x x0

PROGRAM BUS

U - - Cr
-J
J
O
Cr
zz

MUX

OR
CLKR
FSR
Ox
CLKX
)FSX

PC(18)

0
U

18
DRR(18) i i
DXR(16)
TIM(16)
PRD(18)
IMR(8)
GREG(8)

STACK
(4 x 18)
x
D

PROGRAM BUS

c
DATA

Bus

18

IR(16)
STO(18)
ST1(16)
RPTC(8)
IFR(8)

\18
.
DP(9)

ARO(18)
ARI(16)
AR2(18)
AR3(18)
AR4(19)

3-

SHIFTER(0-16)

18

18

TR(16)
MULTIPLIER

\9

7 LSB
\FROM IR

MUX
19
i

PR(32)
32

V
V

I ARB(3) I
ARAU(16)

SHIFTER(-8,0,1,4)
y,32

MUX

MUX

18

MUX

3/

MUX
ALU(32)
1a

BLOCK S2
(32 x 18)

DATA/PROG
RAM (258 x 16)
BLOCK BO

DATA RAM
BLOCK B1
(256 X 16)

\18

DATA BUS
NOTE :
ACCH= Accumulator high
DRR = Serial port data receive register
PR
= P register
ACCL= Accumulator low
DXR = Serial port data transmit register PRD
= Period register for timer
ARAU= Auxiliary register arithmetic unit GREG= Global memory allocation register TR
= T register
ARB = Auxiliary register pointer buffer IFR
= Interrupt flag register
TIM
= Timer
ARP = Auxiliary register pointer
IMR = Interrupt mask register
STO,ST1 = Status registers
DP
= Data memory page pointer
IR
= Instruction register
RPTC
= Repeat instruction counter

Fig. 1 . - Bloc diagramme du TMS 32020.

Traitement du Signal

volume 2 - n 1 - 1985

82

APPLICATIONS
que des images graphiques en mmoire, puissent tre
partages avec un processeur matre , minimisant
ainsi les transferts de donnes . Les modes d'adressage indirect, indexes permettent de balayer les matrices ligne par ligne, lors des multiplications de matrices
pour les rotations d'images . Les applications de
contrle haute vitesse sont facilites par des caractristiques d'utilisation plus gnrale telles que les oprations de test de bit, les oprations logiques, le compteur cable et la grande vitesse de transfert des
donnes (cinq millions de mots de 16 bits par
seconde) .
A ce jour ce processeur a dmontr des performances
sduisantes dans beaucoup de domaines comme par
exemple
- Un calcul lmentaire de filtrage transversal (FIR)
(Finite Impulse Response) : 200 ns .
- Frquence d'chantillonnage d'un filtre non
rcursif du 256' ordre : 18 .5 kHz .
- Transforme de Fourier rapide 256 points en
radix-4 (codes en ligne) : 3.08 ms.
- Transforme de Fourier rapide 256 points en
radix-2 (boucle) : 6.88 ms.
Ce processeur sera introduit avec un temps de cycle
de 200 ns et des versions plus rapide seront envisages
ultrieurement .
Avec l'introduction d'un tel processeur de signal digital, disponible commercialement, des applications
sophistiques de DSP en temps rel hier impossibles,
pourront maintenant tre envisages.

Un port srie intgr permet une communication


directe vers des COFIDEC (Codeur-Filtre-Dcodeur)
ou autres circuits srie. Le port srie a deux
registres intgrs qui lui sont associs et qui peuvent
tre configurs pour recevoir ou transmettre des mots
de 8 ou 16 bits . Des interruptions internes sont produites chaque fois qu'un des deux registres du port
srie a besoin d'tre utilis .
L'impulsion de synchronisation pour la partie
transmission du port srie peut aussi tre configure comme une entre ou une sortie, permettant ainsi
une meilleure communication entre processeurs, dans
des configurations multiprocesseur utilisant le
port srie .
Une autre particularit intgre sur le circuit est le
compteur cable qui peut tre utilise pour mettre des
interruptions intervalle prcis . Un registre de
priode spar est utilis pour recharger le compteur
automatiquement aprs dcrmentation jusqu' zro .
Celle-ci peut tre utilis chaque fois que des interruptions priodiques sont ncessaires, comme par exemple l'activation de convertisseurs AN et NA une
frquence d'chantillonnage donne .
Ce circuit incorpore aussi des broches d'entre sortie
d'utilisation plus gnrale . L'entre 1110- est testable par une instruction de branchement logicielle et
est utile pour tester l'tat de circuits externes quand
il est important de ne pas perturber des sections de
programme critiques en temps d'excution . Une sortie
d'utilisation gnrale est aussi associe des instructions qui lui permettent d'tre positionne et remise
zro par le logiciel .

5. Matriels et logiciels de dveloppement


4. Tlcommunication, instrumentation : deux
applications phares

Les outils de dveloppement qui supporteront ce circuit sont ou bien l'XDS22 (TMDS3262221) ou bien
l'XDS11 (TMDS3261120), associ aux diffrents logiciels assembleurs croiss et simulateurs disponibles
sur les principaux systmes informatiques du march,
y compris VAX, TI-PC, IBM-PC . Ces logiciels tant
compatibles avec ceux utiliss pour le dveloppement
du TMS32010 en production depuis 1983 .
Manuscrit reu le 22 mars 1985 .

Plusieurs des spcifications du processeur de signal


digital dcrit ici conduisent elles-mmes directement
des applications de DSP en temps rel et autres
calculs intensifs. Les applications dans le domaine des
Tlcommunications bnficient des capacits arithmtiques puissantes du circuit, comme les instructions
de multiplications/addition en un seul cycle, aussi
bien que de la grande mmoire RAM intgre et de
l'interface direct COFIDEC . L'important espace
programme permet au processeur d'effectuer plusieurs
programmes diffrents comme c'est le cas dans les
autocommutateurs privs digitaux, c'est--dire avec
annulation d'cho, vocoder, modem 2400 BPS, dtection de tonalit etc . Les analyseurs de spectre, ncessitent souvent les hautes performances d'un processeur
de signal digital qui soit capable d'effectuer de trs
longues transformes de Fourier rapides avec un minimum de cablage externe . Dans celles-ci et dans d'autres applications la capacit dialoguer avec un processeur matre est souvent aussi important . La
flexibilit de l'interface multiprocesseur du circuit lui
permet d'tre utilis dans une varit de configurations matre/esclave ou co-processeur . Les applications graphiques peuvent utiliser la grande capacit
de mmoire externe directement adressable ainsi que
les possibilits de mmoire globale, de manire ce

Traitement du Signal

TABLEAU

Spcification du TMS32020
- 64 K mots de mmoire de donnes , 64 K mots de mmoire
de programme.
- Mmoire RAM de donnes /programme de 544 x 16 bits .
- Temps de cycle 200 ris .
- Opration de multiplication/addition en un seul cycle .
- Unit arithmtique et logique (ALU) de 32 bits avec plusieurs
options de dcalage.
- Cinq registres d'adresse associs une unit arithmtique spcialise.
- Registres de comptage cabls.
- Interface multiprocesseur avec possibilit de synchronisation de
l'horloge .
- Port srie 8/16 bits .
- Interface parallle 16 bits pour donnes , programme et
accs aux entres/sorties avec l'option tat d'attente .
- Oprations arithmtiques en virgule flottante .
- Botier 68 broches PGA ( Pin Grid Array ) .
- Alimentation 5 V .

83

volume 2 - n 1 - 1985

You might also like