Professional Documents
Culture Documents
Technologies
Objectifs du cours
Mise en vidence de:
Fonctionnalits de base des processeurs numriques des signaux (DSP)
Architectures des cores et des priphriques des DSPs
Comptences acqurir:
Matrise des architectures matrielles des DSPs
Matrise du jeu dinstructions pour la programmation des DSP
Spcification des applications dimplantation sur DSP
Rgles de structuration et de dveloppement de codes DSP
Programme du module
Sance 1 Concepts de base des DSP: dfinition et architecture
gnrique
C. Rebai
C. Rebai
C. Rebai
C. Rebai
M. Attia
C. Rebai
M. Attia
C. Rebai
M. Attia
modulateur DMT
Sance 7 Application 4: Fonctions de traitement dimages
C. Rebai
M. Attia
Partie 2
Units priphriques
Jeu dinstructions et exemples
Architecture du core
ADSP Blackfin
Interrupt
Controller/
Timer
Watchdog
Timer
Blackfin-LP Core
Instr Cache / SRAM
Data Cache / SRAM
Scratch
Watchdog
Timer
Clock and
Power Mgmt
Cntl (PLL)
Dual Core
JTAG Test
and
Emulation
UART0
IrDA
Blackfin-LP Core
Instr Cache / SRAM
Data Cache / SRAM
Scratch
128K Bytes
SRAM
SPI
SPORT0
System Bus
Interface Unit
64
IMDMA
Controller
32
SPORT1
GP I/O
DMA
Controller 1
Boot ROM
Timers
DMA
Controller 2
32
DAB
PAB 16
EAB
32
External Mem
Controller
16
DAB
PPI
PPI
Modes opratoires
Les DSP Blackfin supportent 3 modes:
Supervisor Mode
Permet un accs complet toutes les ressources priphriques
Utilis pour les OS kernel et les device derivers
Permet de servir les interruptions et les exceptions
User Mode
Code dalgorithmes ne permettant pas un accs aux ressources priphriques
Ne permet pas de servir les interruptions et les exceptions
10
Architecture du core
11
Data Registers
Manipulation de
donnes 8, 16, ou
32 bits partir du
banc de registres
de calcul
2 Multiplieurs 16 bits
2 accumulateurs 40 bits
2 ALU 40 bits
4 ALU video 8 bits
1 Shifter
12
Registres du core
Tous les traitements sont effectus sur des donnes contenues dans des registres
Tous les priphriques sont configurs avec des registres
Laccs mmoire se fait travers des pointeurs dans les registres dadresses
Laccs aux registres se fait par nom ou registre mapp en mmoire (MMRs : Memory
Mapped registers)
13
Registres du core
Frame Pointer
Stack Pointer
14
Registres de donnes
R[7:0]
: 32 bits
R[7:0].H : 16 bits
R[7:0].L : 16 bits
A[1:0]
: 40 bits
A[1:0].X
: 8 bits
A[1:0].W : 32 bits
A[1:0].H
: 16 bits
A[1:0].L
: 16 bits
15
16
Index registers:
I[3:0]
Unsigned 32-bit
Modify registers:
M[3:0]
Signed 32-bits
Unsigned 32-bits
Pointer registers:
Instructions DAG
R0 = [ I2 ] ;
R0 = [ I2++M1 ] ;
R0.H = W [ I2 ] ;
B [ P1++] = R0 ;
/* stores the 8-bit value from the R0 register in the address pointed to by
P1 register, then increments P1 register Byte transfer only with pointers */
R0 = W [ P1++ ] (Z) ; /* loads a 16-bit word into a 32-bit destination register from an address
pointed to by the P1 Pointer register. The Pointer is then incremented by
2 and the word is zero-extended to fill the 32-bit destination register */
I1 += M2 ;
17
Architecture ALU
18
Fonctions ALU
19
with saturation
20
21
22
Architecture MAC
23
Fonctions MAC
24
25
26
27
Multiplication + accumulation
28
29
30
31
Architecture du SHIFTER
32
Fonctions SHIFTER
33
Oprations SHIFTER
Dcalage arithmtique
Rotation
34
Dcalage logique
35
Program Sequencer
Fonctionnalits Program
Sequencer
Maintains Loops,
Includes Zero-Overhead
Loop Registers
36
37
Instructions Pipeline
38
Excution Pipeline
39
call get_next_sample ;
P5 = 0x20;
Two sets of loop registers are used to manage two nested loops:
LC[1:0] the Loop Count registers
LT[1:0] the Loop Top address registers
LB[1:0] the Loop Bottom address registers
40
Interruptions vs Exceptions
41
42
43
Caractristiques de la mmoire
32 bits dadresses
44
Hirarchie mmoire
45
Mapping de la mmoire
Memory
Mapped
Registers
Piles
Systme et
utilisateur
46
Mmoire L1 - Instructions
47
Mmoire L1 - Data
48
Priphriques
49
50
51
52
Fonctionnalits SPORTs
53
Fonctionnalits SPI
54
Architecture SPI
55
Application SPI
Fonctionnalits UART
57
Fonctionnalits PPI
58
Applications PPI
59
Mmoire
Interne
Externe
(L1)
(SDRAM)
Priphriques
SPORT
PPI
UART
60
Transfert 1-D
Transfert 2-D avec diffrentes tailles de
colonnes et lignes et diffrents pas
Timers
Core Timer
6 Timers (BF533)
Un Core Timer
Un Watchdog Timer
PWM Mode
External Clock Mode
61
Jeu dinstructions
62
63
Classes dinstructions
Oprations
Vido
Logiques
Load
Move
Store
Oprations
Oprations
Bits
Arithmtiques
Dcalages
Rotations
Usages gnral
&
Applications
spcifiques
64
Vecteurs
Appels
Sauts
Instructions
parallles
Applications
spcifiques
Exemple 1:
Exemple 2:
LFSR
(N)
1: connexion
(P)
(Q)
(R)
Applications
Division plynmiale: P/Q = N+R
67
Instructions parallles
68
Fin
de la 2me partie
69