Professional Documents
Culture Documents
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
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
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
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
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.
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 .
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