6 Solutions architecturales 6 Solutions architecturales Flexibilité ASIC FPGA Reconfigurable Processor DSP MOPS / Watt Inefficacité 41 Cœurs de processeur 1 Processeurs RISC 2 Processeurs configurables 3 Processeurs DSP 42 Architectures reconfigurables 1 Solutions à base FPGA 2 Chemins de données reconfigurables 6 Solutions architecturales 1 Cœurs de processeur Processeurs RISC Processeurs configurables Processeurs DSP eg ARM, TI, Xtensa, ST, Cœurs de processeur Processeurs enfouis sur un SOC Délivré sous licence, modulaire, bloc IP Caractérisation d un cœur foundry-captive, licenciable (code RTL) Contenu du cœur cœur (+ mémoire (+ périphériques )) Exemples Infineon Carmel, Infineon TriCore ARM DSP Group OAK/PINE ST D950, ST Lx TI C64x, C55x EII3/M2R - 108 Olivier Sentieys, ENSSAT-IRISA, 2011 27
1 ARM ARM9 Family Advanced RISC Machines 32-bit RISC processor core with ARM and Thumb instruction sets 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 systemon-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://wwwarmcom/ 5-stage integer pipeline achieves 11 MIPS/MHz Up to 300 MIPS (Dhrystone 21) in a typical 013µ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 018µm, 015µm, 013µm silicon processes EII3/M2R - 109 EII3/M2R - 110 CPU Core - ARM9TDMI ARM9 Family Performance Characteristics ARM920T 018µ ARM920T 013µ ARM922T 018µ ARM922T 013µ Die Size (mm 2 ) 118 47 81 32 Frequency (MHz) * 200 250 200 250 Power (mw/mhz) ** (inc caches) 08 036 08 036 Power (mw/mhz) ** (ex caches) 042 019 042 019 EII3/M2R - 111 EII3/M2R - 112 Olivier Sentieys, ENSSAT-IRISA, 2011 28
Power Analysis of ARM9TDMI StrongArm Intel SA-1110 ARM architecture Intel StrongARM EII3/M2R - 113 EII3/M2R - 114 ARM s Amba open standard 2 Tensilica Xtensa Synthesizable, configurable, embedded processor core Software development tools (compiler, OS) Advanced System Bus, (ASB) - high performance, CPU, DMA, external Advanced Peripheral Bus, (APB) - low speed, low power, parallel I/O, UART s External interface http://wwwarmcom/products/solutions/ambahomepagehtml EII3/M2R - 115 EII3/M2R - 116 Olivier Sentieys, ENSSAT-IRISA, 2011 29
Tensilica Xtensa Tensilica Xtensa EII3/M2R - 117 EII3/M2R - 118 Types of Configurability Xtensa Configurability Quantity, size, etc Often significant payback (eg cache size) Options (sort of quantity 0 or 1) eg FP or not, MMU or not, DSP or not, Parameters eg addresses of vectors, memories, Target specifications eg 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 - 119 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 EII3/M2R - 120 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 Olivier Sentieys, ENSSAT-IRISA, 2011 30
Example 025um Results 55 to 141MHz 28 to 84K gates 62 to 191mW power 20mm² to 83mm² including cache RAMs 3 Cœurs de DSP TI propose deux cœurs de DSP (fin 2001) C55x Jusqu'à 005 mw/mips (20 MIPS/mW) Consommation du C54x diminuée de 85% 5x les performances du C54x C64x Jusqu à 11 GHz, 9 GOPS Six ALUs (32-/40-Bit), une 32-Bit, deux 16-Bit, ou quatre 8-Bit opérations arithmétiques par cycle Deux multiplieurs, quatre 16x16-Bit ou huit 8x8-Bit multiplications par cycle Coprocesseurs VCP (Viterbi) et TCP (Turbo) 'C6411: 300 MHz, $39, 10 V, 250mW, 2400 MIPS, 1200 MMACS EII3/M2R - 121 EII3/M2R - 122 C55x Architecture Very Long Instruction Word C55x Dual MAC C5510 160 MHz 320 MIPS 80mW 4000 MIPS/W 160 KW SRAM C5502 400 MIPS 160 mw 25 MIPS/mW EII3/M2R - 123 Caractéristiques Plusieurs instructions par cycle, empaquetées dans une "super-instruction" large Architecture plus régulière, plus orthogonale, plus proche du RISC Jeu de registres uniforme, plus large Exemples EII3/M2R - 124 TI TMS320 C6xx Infineon Carmel ADI TigerSHARC StarCore SC140 (Lucent + Motorola) Olivier Sentieys, ENSSAT-IRISA, 2011 31
Texas Instruments TMS 320C6x Series - VelociTI C6200 CPU Texas Instruments TMS 320C6x Series - Features L:ALU S:Shift+ALU M:Multplier D:Address U EII3/M2R - 125 Functional Unit L1 MPY MPY ADD MPY Functional Unit S1 256 MPY ADD ADD MV STW ADD ADD SHL ADD SUB STW STW ADDK B SUB LDW LDW B MVK NOP NOP MPY ADD ADD STW STW ADDK NOP Functional Unit M1 Register File A Functional Unit D1 Functional Unit D2 Data Memory Controller Functional Unit M2 Functional Unit S2 Register File B Data Address 1 Data Address 2 Internal Memory Functional Unit L2 Fetch 32x8=256 bits Dispatch Unit Advanced VLIW CPU with eight functional units (RISC-like code) 1600 MIPS @ 200MHz, 025µ 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 - 126 Texas Instruments TMS 320C6x Series - CPU C64x 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 - 127 EII3/M2R - 128 Olivier Sentieys, ENSSAT-IRISA, 2011 32
Famille Lx (ST200) STmicroelectronics et Hewlett-Packard Famille Lx = un cœur VLIW clusterisé, un cœur configurable, personnalisable, une chaîne de développement basée sur un compilateur ILP Personnalisable au niveau du nombre et des structures des Unités Fonctionnelles et des registres, des mémoires (dont cache), du jeu d instructions Processus de développement hautement automatisé pour la "customisation" EII3/M2R - 129 Les architectures clusterisées Architecture du cœur EII3/M2R - 130 Architecture d un Cluster ST200 21mm 2 EII3/M2R - 131 EII3/M2R - 132 300MHz in 025m technology (2 5V) 400MHz in 018m technology (1 8V) Olivier Sentieys, ENSSAT-IRISA, 2011 33
Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE Architectures reconfigurables 6 Solutions architecturales Programmation du logiciel et du matériel Accélération d'une application par des "ASIC on-thefly" Architectures 43 Architectures reconfigurables FPGA, Data Path (DP), Processeurs Granularité Solutions à base FPGA Chemins de données reconfigurables Grain fin (porte logique, LUT), grain moyen (DP) Reconfiguration Statique ou dynamique EII3/M2R - 134 Architectures reconfigurables Chaîne de réception Image Music Demult Multiple Access Channel Decoder Demodul Equalizer Famille VIRTEX II Voice Source Decoder Coprocesseur Reconfigurable temps Processeur Nouveau design du CLB Bancs mémoire de plus grande taille Multiplieurs intégrés (18x18 bits) Gestion des horloges par DCM (Digital Clock Manager) Capacité de routage améliorée (Active Interconnect Technology) Cryptage du bitstream sécurisation du système 15 volt Processeur EII3/M2R - 135 Olivier Sentieys, ENSSAT-IRISA, 2011 EII3/M2R - 136 34
Famille VIRTEX II (15 volts) Schéma d un CLB sur FPGA VirtexII Famille VIRTEX II (15 volts) Schéma d un slice sur FPGA VirtexII Matrice d interconnexion 1 CLB=4 SLICES EII3/M2R - 137 EII3/M2R - 138 Virtex 5 Famille VIRTEX II Pro 65 nm 550 MHz clocking Performance-tuned IP blocks 1100 DMIPS PowerPC 440 processor blocks with highbandwidth, low-latency interfaces 528 GMACS from DSP48E slices 192 GFLOPS single-precision and 68 GFLOPS doubleprecision floating point DSP 125 Gbps LVDS I/O Jusqu à 4 blocs processeurs IBM PowerPC 405 Fréquence de travail jusqu à 300MHz Cœurs Rocket I/O Multi- Gigaset Tranceiver (transformation des données série-parallèle) Architecture des Virtex II Pro (Voir détail flot de conception en ANNEXE) Bloc processeur des Virtex II Pro EII3/M2R - 139 EII3/M2R - 140 Olivier Sentieys, ENSSAT-IRISA, 2011 35
Famille VIRTEX II Pro Famille Stratix Altera Caractéristiques des Virtex II Pro EII3/M2R - 141 EII3/M2R - 142 Famille Stratix Altera Stratix : Logic Element (LE) EII3/M2R - 143 EII3/M2R - 144 Olivier Sentieys, ENSSAT-IRISA, 2011 36
Stratix : blocs DSP Mémoires Multiplieurs 9x9 18x18 2 GMAC/s par bloc F = 250 MHz Utilisation Rake VoIP OFDM Multimédia 4 ports 2 ports 1 port EII3/M2R - 145 EII3/M2R - 146 Stratix Altera Architecture DART (IRISA/ENSSAT) Feature EP1S10 EP1S20 EP1S25 EP1S30 EP1S40 EP1S60 EP1S80 EP1S120 Logic 10,570 18,460 25,660 32,470 41,250 57,120 79,040 114,140 Element s (LEs) Total 920K 1,669K 1,944 K 3,317K 3,423 K 5,215K 7,427K 10,118K RAM bits DSP 6 10 10 12 14 18 22 28 Blocks Emb 48 80 80 96 112 144 176 224 Mult PLLs 6 6 6 10 12 12 12 12 Mémoire inst L2 Ctrl maison Ctrl maison FPGA Contrôleur de tâche cluster1 cluster3 cluster2 Cluster4 Mémoire de donnée L2 Mem L1 Ctrl E/S Mémoire de config L2 DART Haute performance Faible consommation o Peu d instructions o Peu d accès mémoire EII3/M2R - 147 Collaboration ENSSAT/STMicroelectronics EII3/M2R - 148 Olivier Sentieys, ENSSAT-IRISA, 2011 37
Architecture d un cluster de DART Architecture d un de DART AG1 AG2 AG3 AG4 Ctrl DMA Mem config L1 Ctrl FPGA SB SB SB SB SB Contrôleur mémoire Mem L1 X $D1 ALU $D2 X $D3 ALU $D4 Bus globaux CB EII3/M2R - 149 EII3/M2R - 150 Ctrl DMA Config Mem DART Architecture reg Ctrl FPGA Data mem1 reg RDP1 RDP2 RDP3 RDP4 RDP5 RDP6 Loop Managment AG1 AG2 AG3 AG4 Data mem2 Data mem3 Data mem4 Fully Connected Network Segmented Network FU1 FU2 FU3 FU4 Data Mem n 3G/UMTS Mobile Terminal n 80211a (Channel Est) n STMicroelectronics n CEA LIST/LETI 5-10 GOPS/cluster@013µ 300 mw @ 5 GOPS 16 MOPS/mW @ 5 GOPS Delivered as an RTL model Circuit (ST 130nm) june 2005 Silicon prototype of DART Complex SoC including DART accelerator Collaboration between IRISA/Cairn on DART (architectural design, synthesis, validation), CEA List (validation, integration), CEA Leti (integration, backend) Fresh Circuit (CEA) 4G mobile terminals Technology: ST 013µ CPU core: ARM946 48 Mgates Chip area = 80 mm 2 Package: TBGA 420 Core power supply: 12 V RAC AHB EST DART ARM9 TX RAM ETH RX EII3/M2R - 151 EII3/M2R - 152 Olivier Sentieys, ENSSAT-IRISA, 2011 38
Chameleon Systems Inc Architecture reconfigurable dynamiquement reconfiguration partielle du circuit reconfiguration en 1 cycle CS2112 : 025u, 24 GOPS, 3 GMACS, 10W 7 Métriques de comparaison Flexibilité, Performance, Efficacité énergétique Flexibilité ASIC FPGA Reconfigurable Processor DSP MOPS / Watt Inefficacité EII3/M2R - 153 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 - 155 BDTIMARK 256-point, radix-2, in-place fast Fourier transform (FFT) EII3/M2R - 156 http://wwwbdticom Function Description Application Examples Real block finite impulse response (FIR) filter Complex block FIR filter Real single-sample FIR filter Least-mean-square adaptive FIR filter Infinite inpulse response (IIR) filter Vector dot product Vector add Vector maximum Convolutional encoder Finite-state machine (FSM) FIR filter that operates on a block of G728 speech encoding, other speech processing real (not complex) data FIR filter that operates on a block of Modem channel equalisation complex data FIR filter that operates on a single Speech processing, general filtering sample of real data LMS adaptive FIR filter that operates on Channel equalisation, servo control, linear predictive a single sample of real data encoding IIR filter that operates on a single Audio processing, general filtering sample of real data Sum of the pointwise multiplication of Convolution, correlation, matrix multiplication, two vectors multidimensional signal processing Pointwise addition of two vectors Graphics, combining audio signals or images, vector producing a third vector search Discovery of the value and location of a Error-control coding, algorithms using block floatingpoint arithmetic vector's maximum value Application of convolutional forward North American digital cellular telephone equipment error-correction code to a block of bits (IS-54 standard) A contrived series of control operations Control operations appear in nearly all digital signal (test, branch, push, pop) and bit processing applications manipulations FFt conversion of a normal time-domain Radar, MPEG audio compression, spectral analysis signal into the frequency domain Olivier Sentieys, ENSSAT-IRISA, 2011 39
BDTIMARK Métrique : performance/coût Motorola - IBM PowerPC604e 333 MHz BDTImark 62 Algorithm Kernel Benchmarking (FFT [BDT June 1995]) Intel Pentium 200 MHz 23 Analog Device ADSP 2106x 60 MHz Texas Instruments TMS320C67xx 167 MHz Texas Instruments TMS320C3x 80 MHz 9 17 65 Zoran ZR3800x Texas Instruments TMS320C541 Texas Instruments TMS320C52 Texas Instruments TMS320C44 Texas Instruments TMS320C31 Intel MMX Pentium 266 MHz 56 Texas Instruments TMS320C209 Processeurs ARM7 TDMI/picolo 70 MHz ARM7 TDMI 80 MHz Motorola DSP 566xx 60 MHz 7 14 15 NEC µpd77015 Motorola DSP56166 Motorola DSP56002 Motorola DSP 563xx 100 MHz 25 IBM MDSP2780 Lucent technologies DSP 16xxx 100MHz 37 Lucent Technologies DSP 3207 Lucent technologies DSP 16xx 120MHz 22 Lucent Technologies DSP32C Analog device ADSP21xx 75 MHz Texas Instruments TMS320C80 60 MHz Texas Instruments TMS320C54x 100 MHz Texas Instruments TMS320C62x 200 MHz EII3/M2R - 157 Lucent Technologies DSP 1627 19 Analog Devices ADSP-21062 26 Analog Devices ADSP-2171 25 99 0 20 40 60 80 100 120 Score EII3/M2R - 158 0 10000 20000 30000 40000 50000 60000 70000 Cost-Time Product (µs$) Métrique : énergie Métriques de comparaison (2) Filtrage numérique RIF EII3/M2R - 159 Watt-microsecondes 18 16 14 12 10 8 6 4 2 0 C549 Virgule Fixe Virgule Flottante C6201 DSP16210 ZSP16401 ADSP-21160 C6701 C549 100 MHz, 25V C6201 200 MHz, 18V DSP16210 100 MHz, 33V ZSP16401 200 MHz, 25V ADSP-21160 100 MHz, 25V C6701 167 MHz, 18V Performances (2) Efficacité énergétique = Op/J = MOPS/mW MOPS FclkNop 1 mw = NopAopCswFclkVdd 2 = AopCswVdd 2 EII3/M2R - 160 Efficacité par surface = MOPS/mm 2 Figure de mérite [Chien00] Transistors MOPS bits mm 2 mw s Flexibilité Nop: Number of Operators Aop: Average Area of Op Csw: Switch Cap / mm 2 Olivier Sentieys, ENSSAT-IRISA, 2011 40
ASIC Implémentation la plus efficace Parallélisme, pipeline eg 013um multiplieur : 0015mm2, 5pJ/Op@1V 50mm2 : 5000 add ou reg et 500 mult Filtre adapté WCDMA (8Fc, 32 taps) UMC 018um: 12ns, 10GOPS, 80mW, 008mm2 CDMA/MUD [Brodersen01] EII3/M2R - 161 Four adaptive pilot correlators Die size: 338mm x 458mm Transistor Count: 04 million 12-24 GOP with 25 MHz clock Processeurs Performances C6411: 300 MHz, $39, 10 V, 250mW, 2400 MIPS, 1200 MMACS, 9600 MIPS/W C5510: 160 MHz, 320 MIPS, 80mW, 4000 MIPS/W C5502: 400 MIPS, 160 mw, 2500 MIPS/W EII3/M2R - 162 Processeur MIPS MHz Vdd Pmoy MIPS/Watt CoolRisc 14 14 3V 28 mw 5000 TMS C54x 30-200 30-200 18V 460 mw 1500-3000 TMS C6x 1600 200 25V 2 W 800 StrongARM 200 200 15V 420 mw 500 a 21164 1200 300 3V 60 W 20 a 21364 4000 1000 15V 100 W 40 DSP vs GPP Résumé des solutions A = Best, E = Worst Les DSPs sont efficaces en MIPS/mW et en MIPS/ mm 2 Cela se paye sur la flexibilité et la programmabilité EII3/M2R - 163 mw/mips 100000 10000 1000 100 10 1 M68K $200 DSP1 $150 DSP32C $250 I286 $200 I386 $300 Pentium $500 DSP16A $15 1980 1985 1990 1995 2000 [Ackland ISLPD98] Pentium MMX $700 DSP16210 <$10 DSP1600 $10 Design Effort Design Flexibility Run-time Flexibility EII3/M2R - 164 DSP Core RISC Core FPGA Config Cores ASIC ASSP B A D C A A+ E E B C A E C B A C E E Top Speed D E B C A A Energy Efficiency C D C B A A Olivier Sentieys, ENSSAT-IRISA, 2011 41
En conclusion Flexibilité vs performances en efficacité énergétique Exemple : émetteur récepteur WCDMA Energy Efficiency MOPS/mW (or MIPS/mW) EII3/M2R - 165 1000 100 10 1 01 Dedicated HW Reconfigurable Processor/Logic ASIPs DSPs ASIC Embedded Processors Pleiades/DART 10-50 MOPS/mW 2 V DSP: 3 MOPS/mW Flexibility (Coverage) SA110 04 MIPS/mW 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 WCDMA WCDMA Caractéristiques générales : Le débit d entrée des DATA est fixé à 384 10 6 é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 4Fc 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 : N 1 y( n) = h( i) x( n i) i= 0 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 Emetteur WCDMA DATA(n) x(n) Filtre y(n) s(n) Modulation RIF c(n) Générateur de codes Générateur de porteuse 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 p(n) EII3/M2R - 167 EII3/M2R - 168 Olivier Sentieys, ENSSAT-IRISA, 2011 42
WCDMA WCDMA Récepteur WCDMA EII3/M2R - 169 e (n) x (n) Démodulation Générateur de porteuse Filtre RIF Rake Receiver DATA (n) 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 y (n) Etude d une solution architecturale pour le système émetteurrécepteur Pour les 3 blocs de filtre RIF complexe, Rake Receiver et modulationdé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 1 ASIC 018u : 4ns : 3 ns Complexité des opérations 2 DSP C54x : 1 cycle : 1 cycle 3 DSP C6x : 2 cycles (latence) : 1 cycle Fréquence Puissance calcul 200 MHz 200 MIPS 200 MHz 1600 MIPS Consommation : 130pJ/opération : 40pJ/opération 120 mw 1W WCDMA DSP C6x DSP C54x ASIC FIR MOD RAKE Olivier Sentieys, ENSSAT-IRISA, 2011 43
WCDMA DSP C6x DSP C54x ASIC FIR MOD RAKE