This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE
1. ARM § Advanced RISC Machines § ARM is the industry's leading provider of 16/32-bit
embedded RISC microprocessor solutions § The company licenses its high-performance, low-cost,
power-efficient RISC processors, peripherals, and system-on-chip designs to leading international electronics companies
§ ARM provides comprehensive support required in developing a complete system
§ ten billion processors since the company was formed in 1990
§ http://www.arm.com/
EII3/M2R - 110
ARM9 Family § 32-bit RISC processor core with ARM® and Thumb® instruction sets § 5-stage integer pipeline achieves 1.1 MIPS/MHz § Up to 300 MIPS (Dhrystone 2.1) in a typical 0.13µm process § Single 32-bit AMBA bus interface § MMU supporting Windows CE, Symbian OS, Linux, Palm OS (ARM920T and
ARM922T) § Memory Protection Unit (MPU) supporting a range of Real Time Operating
Systems including VxWorks (ARM940T) § Integrated instruction and data caches § 8-entry write buffer — avoids stalling the processor when writes to
external memory are performed § Portable to latest 0.18µm, 0.15µm, 0.13µm silicon processes
EII3/M2R - 111
CPU Core - ARM9TDMI
EII3/M2R - 112
ARM9 Family
Performance Characteristics
ARM920T 0.18µ
ARM920T 0.13µ
ARM922T 0.18µ
ARM922T 0.13µ
Die Size (mm2) 11.8 4.7 8.1 3.2
Frequency (MHz) * 200 250 200 250
Power (mW/MHz) ** (inc. caches)
0.8
0.36
0.8
0.36
Power (mW/MHz) ** (ex. caches)
0.42 0.19 0.42 0.19
Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE
§ Quantity, size, etc. • Often significant payback (e.g. cache size)
§ Options (sort of quantity 0 or 1) • e.g. FP or not, MMU or not, DSP or not, …
§ Parameters • e.g. addresses of vectors, memories, …
§ Target specifications • e.g. synthesize for area at the cost of speed • Many applications don’t need the maximum processor performance • Process, standard cell library, etc.
§ Extensibility • Adding things that the component supplier didn’t explicitly offer
EII3/M2R - 120
Xtensa Configurability
§ Cost, Power, Performance § ISA
• Endianness • MUL16/MAC16 • Various miscellaneous
instructions
§ Interrupts • Number of interrupts • Type of interrupts • Number of interrupt levels • Number of timers and their
interrupt levels
§ Memories • 32 or 64 entry regfile • 32, 64, or 128b bus widths • Inst Cache and Data Cache/
RAM o 1KB to 16KB o 16, 32, or 64B line size
• 4-32-entry write buffer
§ Debugging • No. inst addr breakpoints • No. data addr breakpoints • JTAG debugging • Trace port
Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE
Texas Instruments TMS 320C6x Series - VelociTI ‘C6200 CPU
MPY ADD MPY ADD MV STW ADD ADD
MPY ADD SHL SUB STW STW ADDK B
ADD LDW SUB LDW B MVK NOP NOP
MPY ADD MPY ADD STW STW ADDK NOP
256
Functional Unit
.L1
Functional Unit
.S1
Functional Unit
.M1
Functional Unit
.D1
Functional Unit
.D2
Functional Unit
.M2
Functional Unit
.S2
Functional Unit
.L2
Register File A Register File B
Data Memory Controller
Internal Memory
Data Address 1 Data Address 2
Fetch
Dispatch Unit
32x8=256 bits
L:ALU S:Shift+ALU M:Multplier D:Address U
EII3/M2R - 126
Texas Instruments TMS 320C6x Series - Features
§ Advanced VLIW CPU with eight functional units (RISC-like code) § 1600 MIPS @ 200MHz, 0.25µ CMOS § 1M-bit on-chip memory (512kbit data / 512kbit program) § 32-bit external memory interface § Two enhanced-buffered serial ports (high bandwith telecom,
interprocessor com) § 16-bit host access port (Host processor access to on-chip data
memory) § Flexible PLL clock generator (Multiplies ext. clock rate for 2 or 4
for maximum CPU performance) § 352-lead ball grid array package § Price/1000: $135
EII3/M2R - 127
Texas Instruments TMS 320C6x Series - CPU § Two sets of functional units including:
• Two multipliers • Six aritmetich logic units (ALUs) • 32 registers with 32-bit wordlength each • data-addressing units .D1 and .D2 exclusively responsible for data
transfers between memory and the register files
§ 8-/16-/32-bit data support § 40-bit arithmetic options (extra precision for vocoders...) § Saturation and normalisation § Bit-field manipulation and instruction: extract, set, clear, bit
counting.
EII3/M2R - 128
C64x
Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE
Chameleon Systems Inc. § Architecture reconfigurable dynamiquement
• reconfiguration partielle du circuit • reconfiguration en 1 cycle • CS2112 : 0.25u, 24 GOPS, 3 GMACS, 10W
7. Métriques de comparaison
Flexibilité, Performance, Efficacité énergétique
ASIC
FPGA
DSP
Flex
ibili
té
Inefficacité
Reconfigurable Processor MOPS / Watt
EII3/M2R - 155
Métriques de comparaison (1)
§ Performance (1) : temps requis pour réaliser un certain nombre de traitements • MIPS (Millions of Instructions Per Second) • ou MOPS (Millions of Operations Per Second)
o Attention : le traitement réalisé par une instruction peut varier fortement d’un processeur à un autre (instructions très spécialisées)
o Valable si les architectures à comparer sont très similaires (RISC)
• MACS (Multiply-ACcumulate operations per Second) o Plus réaliste dans le cas de DSP, il reste cependant à évaluer les
mouvements mémoire et les traitements avant et après l’instruction MAC
• Solution : Algorithm Kernel Benchmarking
EII3/M2R - 156
BDTIMARK http://www.bdti.com Function Description Application ExamplesReal block finite impulse response (FIR) filter FIR filter that operates on a block of
real (not complex) dataG.728 speech encoding, other speech processing
Complex block FIR filter FIR filter that operates on a block of complex data
Modem channel equalisation
Real single-sample FIR filter FIR filter that operates on a single sample of real data
Speech processing, general filtering
Least-mean-square adaptive FIR filter LMS adaptive FIR filter that operates on a single sample of real data
Channel equalisation, servo control, linear predictive encoding
Infinite inpulse response (IIR) filter IIR filter that operates on a single sample of real data
Audio processing, general filtering
Vector dot product Sum of the pointwise multiplication of two vectors
Convolution, correlation, matrix multiplication, multidimensional signal processing
Vector add Pointwise addition of two vectors producing a third vector
Graphics, combining audio signals or images, vector search
Vector maximum Discovery of the value and location of a vector's maximum value
Error-control coding, algorithms using block floating-point arithmetic
Convolutional encoder Application of convolutional forward error-correction code to a block of bits
North American digital cellular telephone equipment (IS-54 standard)
Finite-state machine (FSM) A contrived series of control operations (test, branch, push, pop) and bit manipulations
Control operations appear in nearly all digital signal processing applications
256-point, radix-2, in-place fast Fourier transform (FFT)
FFt conversion of a normal time-domain signal into the frequency domain
Radar, MPEG audio compression, spectral analysis
Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE
§ Flexibilité vs performances en efficacité énergétique
Embedded Processors SA110 0.4 MIPS/mW
ASIPs DSPs 2 V DSP: 3 MOPS/mW
Dedicated HW
Flexibility (Coverage)
Ene
rgy
Eff
icie
ncy
MO
PS/m
W (o
r M
IPS/
mW
)
0.1
1
10
100
1000
Reconfigurable Processor/Logic
Pleiades/DART 10-50 MOPS/mW
ASIC
Exemple : émetteur récepteur WCDMA
§ Prototypage d’un émetteur-récepteur WCDMA utilisé dans les télécommunications mobiles de troisième génération (3G) de type UMTS, sur un système intégré (SoC). § Etudier la complexité globale et décider quel type de matériel à utiliser (ASIC, DSP, …) pour chaque bloc de cette chaîne de traitement.
EII3/M2R - 167
WCDMA § Caractéristiques générales :
• Le débit d’entrée des DATA est fixé à 3.84 106 échantillons par seconde. On appellera cette fréquence la fréquence chip Fc.
• Le signal x'(n) en réception est suréchantillonné d’un facteur 4. On considérera donc que le débit du flot de données vaut 4.Fc.
• Le signal d’entrée DATA est considéré comme complexe, composé d’une partie réelle et imaginaire, respectivement I(n) et Q(n). Il en est de même pour les codes c(n) et les porteuses p(n).
• Les filtres RIF d’émission et de réception sont de taille N=128 :
• Les modulation et démodulation consistent à multiplier le signal y(n) par une porteuse p(n). Ces algorithmes travaillent sur des données d’entrée avec un débit à la fréquence chip Fc.
∑−
=−=
1
0)()()( N
iinxihny
EII3/M2R - 168
WCDMA
§ Emetteur WCDMA
• Donner la complexité en nombre d’additions et multiplications de chaque bloc de traitement.
• En déduire la puissance de calcul en MOPS nécessaire à l’émetteur WCDMA.
Générateur de codes
Générateur de porteuse
Modulation Filtre DATA(n) x(n) y(n) s(n)
c(n) p(n)
Générateur de codes
Générateur de codes
Générateur de porteuse Générateur de porteuse
Modulation Modulation Filtre Filtre RIF
Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE
• Le Rake Receiver est principalement constitué de L=6 corrélateurs. Chaque corrélateur effectue une multiplication-accumulation sur le signal y’(n) par un code complexe c’i(n) qui lui est propre.
• Donner la complexité en nombre d’additions et multiplications ainsi qu’en MOPS d’un corrélateur et du Rake Receiver.
• En déduire la puissance de calcul en MOPS nécessaire au récepteur WCDMA.
e’(n)
DATA’(n) Rake Receiver
Générateur de porteuse
Démodulation
Rake Receiver
Générateur de porteuse Générateur de porteuse
Démodulation Démodulation Filtre RIF
x’(n) y’(n)
Complexité des opérations
Fréquence Puissance
calcul
Consommation
1 ASIC 0.18u ⊗ : 4ns ⊕ : 3 ns
⊗ : 130pJ/opération ⊕ : 40pJ/opération
2 DSP C54x ⊗ : 1 cycle ⊕ : 1 cycle
200 MHz 200 MIPS
120 mW
3 DSP C6x ⊗ : 2 cycles (latence) ⊕ : 1 cycle
200 MHz 1600 MIPS
1W
WCDMA
§ Etude d’une solution architecturale pour le système émetteur-récepteur • Pour les 3 blocs de filtre RIF complexe, Rake Receiver et modulation-
démodulation, indiquer : o pour un ASIC, le nombre d’opérateurs nécessaires ; o pour chaque DSP, le nombre de processeurs nécessaires, indiquer si la
contrainte de temps peut être respectée ; o pour les 3 architectures la puissance moyenne pour l’exécution du bloc.