Académique Documents
Professionnel Documents
Culture Documents
Antoine Fraboulet, Fabrice Jumel, Lionel Morel, Tanguy Risset tanguy.risset@insa-lyon.fr Lab CITI, INSA de Lyon
- p. 1/133
s s s s
Introduction gnrale aux systmes embarqus Architecture des processeurs embarqus Prsentation rapides du MSP430 Systmes sur puces
Introduction q Un peu dhistoire q Aujourdhui Processeurs embarqus introduction au MSP 430 Prsentation des SoC
Un peu dhistoire
- p. 3/133
Un peu dhistoire
Introduction q Un peu dhistoire q Aujourdhui Processeurs embarqus introduction au MSP 430 Prsentation des SoC
Fin du XIXme sicle : dmonstration du potentiel des technologies lectroniques pour les transmissions sans l. Seconde guerre mondiale x Application au calcul (dcryptage) x Premiers ordinateurs (ENIAC) 1947-1954 x Invention puis commercialisation des transistors semi-conducteurs x Les transistors remplacent les postes radio tubes Annes 60 et 70: premiers circuits intgrs, LSI
Un peu dhistoire
Introduction q Un peu dhistoire q Aujourdhui Processeurs embarqus introduction au MSP 430 Prsentation des SoC
1960-2002 x Rduction des tailles de transistors ( 10000) x volution anticipe (loi de Moore) x Industrie au coeur de la croissance conomique des 50 dernires annes x Augmentation exponentielle des performances anne1984 s Puissance (Joy) :MIPS = 2 anne1964 s Densit (Moore) :Transistors par puce = 2 s Densit des supports magntiques Maximal Areal anne1971 10 Density (Frank): MAD = 10 s Stagnation des performances pour la rapidit daccs aux disques RAID (multiplications des disques) et caches.
- p. 5/133
Aujourdhui
s s s s
s s s
Circuits mixtes analogique/digital (tlcommunications) Micro-systmes (capteurs, actionneurs intgrs) Nano-technologies (horizon 5 10 ans) Taille de gravure: 90 nm Cots de R&D de plus en plus levs La demande (ordinateurs, tlphones mobiles, etc.) stagne Peu de produits vraiment nouveaux (VHS => DVD, camscopes => numriques, tlphones xes => mobiles) Crise nancire et conomique des TIC
Introduction Processeurs embarqus q Processeurs embarqus q connomie q ISA q Pipeline q Classication q Charactristiques introduction au MSP 430 Prsentation des SoC
Processeurs embarqus
- p. 7/133
Part de march
Introduction Processeurs embarqus q Processeurs embarqus q connomie q ISA q Pipeline q Classication q Charactristiques introduction au MSP 430 Prsentation des SoC
Quel est le le microprocesseur le plus vendu ? x Rponse classique: "Le Pentium: 92% du march" Faux!...... x En fait les Pentium ne reprsentent que 2% des microprocesseurs vendus dans le monde.
Contradiction ?
Introduction Processeurs embarqus q Processeurs embarqus q connomie q ISA q Pipeline q Classication q Charactristiques introduction au MSP 430 Prsentation des SoC
Alors dou vient la position dIntel (16% du march des semi-conducteurs) ? processeurs: 2% du silicium, 30% des revenus
- p. 9/133
Introduction Processeurs embarqus q Processeurs embarqus q connomie q ISA q Pipeline q Classication q Charactristiques introduction au MSP 430 Prsentation des SoC
3 milliards de processeurs 8 bits vendus par an (8051, 6805 etc.) 32 bits (Pentium, Athlon, mais aussi PowerPC, 68000, MIPS, ARM etc.) La plupart (98%) sont embarqus (3 fois plus dARM vendus que de Pentium)
Introduction Processeurs embarqus q Processeurs embarqus q connomie q ISA q Pipeline q Classication q Charactristiques introduction au MSP 430 Prsentation des SoC
s s
Les applications sont plus varies que pour les ordinateurs Beaucoup de processeurs embarqus sont des processeurs de bureau qui nont pas percs (MIPS, 68K, SPARC, ARM, PowerPC)
- p. 11/133
Introduction Processeurs embarqus q Processeurs embarqus q connomie q ISA q Pipeline q Classication q Charactristiques introduction au MSP 430 Prsentation des SoC
Introduction Processeurs embarqus q Processeurs embarqus q connomie q ISA q Pipeline q Classication q Charactristiques introduction au MSP 430 Prsentation des SoC
s s
La mmoire contient les donnes et les instructions Lunit centrale (CPU) charge les instructions depuis la mmoire. Un ensemble de registres aide le CPU: x Compteur dinstructions (Program counter: PC), x Registre dinstruction (Instruction register: IR) x Pointeur de pile (stack pointer: SP) x Registres usage gnral (Accumulateur: A)
Memory Proc
- p. 13/133
Architecture Harvard
Introduction Processeurs embarqus q Processeurs embarqus q connomie q ISA q Pipeline q Classication q Charactristiques introduction au MSP 430 Prsentation des SoC
s s s
Donnes et instructions dans des mmoires spares Autorise deux accs simultans la mmoire. Utilis pour la plupart des DSP x meilleure bande passante x Performances plus prdictibles
Instruction Memory Data Memory Proc
Le jeu dinstruction
Introduction Processeurs embarqus q Processeurs embarqus q connomie q ISA q Pipeline q Classication q Charactristiques introduction au MSP 430 Prsentation des SoC
Le jeu dinstruction (Instruction Set Architecture: ISA) a une importance capitale x Il dtermine les instructions lmentaires excutes par le CPU. x Cest un quilibre entre la complexit matrielle du CPU et la facilit dexprimer les actions requises x On le reprsente de manire symbolique (ex: MSP, code sur 16 bits): mov r5,@r8 ; commentaire [R8]<-R5 lab: ADD r4,r5 ; R5<-R5+R4 Deux classes de jeux dinstructions: x CISC: Complex Instruction Set Computer x RISC: Reduce Instruction Set Computer
- p. 15/133
Introduction Processeurs embarqus q Processeurs embarqus q connomie q ISA q Pipeline q Classication q Charactristiques introduction au MSP 430 Prsentation des SoC
s s
s s
Une instruction peut designer plusieurs oprations lmentaires. Ex: un load, une opration arithmtique et un store, Ex: calculer une interpolation linaire de plusieurs valeurs en mmoire. Acclration par des mcanismes matriels complexes Grandes variations de taille et de temps dexcution pour les instructions Rsulte en un code compact mais complexe gnrer. Vax, Motorola 68000, Intel x86/Pentium
Introduction Processeurs embarqus q Processeurs embarqus q connomie q ISA q Pipeline q Classication q Charactristiques introduction au MSP 430 Prsentation des SoC
8 Displacement
3 Reg
32 Immediate
8 PostByte
32 Immediate
- p. 17/133
Introduction Processeurs embarqus q Processeurs embarqus q connomie q ISA q Pipeline q Classication q Charactristiques introduction au MSP 430 Prsentation des SoC
s s
s s
Petites instructions simples, toutes de mme taille, ayant toutes (presque) le mme temps dexcution Pas dinstruction complexe Acclration en pipelinant lexcution (entre 3 et 7 tages de pipeline pour une instruction) augmentation de la vitesse dhorloge Code plus simple gnrer, mais moins compact Tous les microprocesseurs modernes utilisent ce paradigme: SPARC, MIPS, ARM, PowerPC, etc.
Introduction
Processeurs embarqus q Processeurs embarqus q connomie q ISA q Pipeline q Classication q Charactristiques introduction au MSP 430 Prsentation des SoC
- p. 19/133
Le CPU
Introduction Processeurs embarqus q Processeurs embarqus q connomie q ISA q Pipeline q Classication q Charactristiques
Lunit de contrle congure le chemin de donne suivant linstruction excuter. Lexcution dune instruction est dcompose en plusieurs phases dun cycle.
Processor
Datapath ALU Control unit control/Status Register File
PC
IR
Memory
Introduction Processeurs embarqus q Processeurs embarqus q connomie q ISA q Pipeline q Classication q Charactristiques introduction au MSP 430 Prsentation des SoC
Le pipeline dpend de larchitecture, pour le MIPS: x Instruction Fetch (IF, Fetch): charge linstruction dans lIR x Instruction Decode (ID, Decode): dcode linstruction et met en place le contrle du chemin de donne x Execute (Ex): excute le calcul dans le chemin de donne. x Memory access (Mem): accde la mmoire x Write Back (WB): crit dans le banc de registre
- p. 21/133
Introduction Processeurs embarqus q Processeurs embarqus q connomie q ISA q Pipeline q Classication q Charactristiques introduction au MSP 430 Prsentation des SoC
Physiquement, larchitecture du processeur est organise en calculs combinatoires pour chaque tape de pipeline, spars par des registres.
Introduction Processeurs embarqus q Processeurs embarqus q connomie q ISA q Pipeline q Classication q Charactristiques introduction au MSP 430 Prsentation des SoC
Lorsque linstruction suivante ne peut pas tre excute tout de suite, cela cre une "bulle". Par exemple une addition utilisant un registre qui vient dtre charg doit tre retard dun cycle.
- p. 23/133
Introduction Processeurs embarqus q Processeurs embarqus q connomie q ISA q Pipeline q Classication q Charactristiques introduction au MSP 430 Prsentation des SoC
Excution non pipeline: x 5 cycles pour excuter une instruction x 15 cycles pour 3 instructions. Excution pipeline: x 5 cycles pour excuter une instruction x 8 cycles pour 3 instructions. x sans branchement, une instruction par cycle x Un branchement (conditionnel ou pas) interrompt le pipeline car il faut attendre de dcoder ladresse de branchement pour charger linstruction suivante quelques cycles dinactivit (pipeline stall) x Lors dun branchement, certain ISA autorisent lutilisation de ces delai slots: une ou deux instructions aprs le branchement sont excutes, que le branchement soit pris ou pas (comme si elles taint crites avant le branchement).
Introduction Processeurs embarqus q Processeurs embarqus q connomie q ISA q Pipeline q Classication q Charactristiques introduction au MSP 430 Prsentation des SoC
Indpendamment du pipeline, Deux paradigmes dominants: s Super Scalaire x Duplication des units, x Rpartition au vol des instructions sur les units disponibles (re-ordonnancement des instructions: out of order execution) x Exemple: le PowerPC 970 (4 ALU, 2 FPU) x Efcace mais complexie lunit de contrle (problme des interruptions) s Very Large Instruction Word (VLIW) x Duplication des units, x Lordonnancement des instructions est x la compilation (tout se passe comme si les instructions pouvait tre regroupe sur 64 bits, 128 bits etc.) x Invent par Josh Fisher (Yale) partir du trace scheduling x Les processeurs VLIW sont tous bass sur les architecures RISC, avec entre 4 et 8 units. x Exemple: TriMedia (Philips), Itanium IA64 (Intel).
- p. 25/133
Introduction Processeurs embarqus q Processeurs embarqus q connomie q ISA q Pipeline q Classication q Charactristiques introduction au MSP 430 Prsentation des SoC
Une autre approche possible: instructions SIMD. s Modication du data-path pour proposer des oprations parallles sur 16 ou 8 bits s Exemple: Sun Visual Instruction Set, Intel Pentium MMX, Philips TriMedia s Gains importants sur certains traitements mais trs peu utilis en pratique (difcile infrer par le compilateur) x Librairies crites en assembleur (programmes non portables) x Fonction C reprsentant les instructions assembleurs (compiler intrinsic) x Exemple: instruction ifir8ii R1, R2, R3 du Trimedia:
8 bits 8 bits 8 bits 8 bits 8 bits 8 bits 8 bits 8 bits
Mmoire
Introduction Processeurs embarqus q Processeurs embarqus q connomie q ISA q Pipeline q Classication q Charactristiques introduction au MSP 430 Prsentation des SoC
s s
Plusieurs technologies pour les mmoires: x Mmoires statiques (SRAM): petites, rapides, consommatrices, peu denses (chres). x Mmoires dynamiques (DRAM): grandes, lentes, trs denses, transactions chres De plus en plus de place On-Chip pour la mmoire (dans ce cas elles sont moins efcaces que les chips mmoire). Ne pas oublier que le code aussi rside en mmoire Tous les systmes ont des caches pour cacher les temps de latence lors de laccs la mmoire, en gnral plusieurs niveaux de caches: hirarchie mmoire.
- p. 27/133
Principe du Cache
Introduction Processeurs embarqus q Processeurs embarqus q connomie q ISA q Pipeline q Classication q Charactristiques introduction au MSP 430 Prsentation des SoC
1 0
1 0
0 1 2 3 4 5 6 7
11 00 11 00 11 00 11 00 111111 000000 12 11 00 11 00 13
14
1020 cycles
0 1 2 3 4 5 6 7 8 9 10 11
15 16 17 18 19 20 21 22 23
N1
Hirarchie Mmoire
Introduction Processeurs embarqus q Processeurs embarqus q connomie q ISA q Pipeline q Classication q Charactristiques introduction au MSP 430 Prsentation des SoC
Cache de niveau 3
Cache de niveau 2
SOC
- p. 29/133
Introduction Processeurs embarqus q Processeurs embarqus q connomie q ISA q Pipeline q Classication q Charactristiques introduction au MSP 430 Prsentation des SoC
s s s s
Beaucoup de Processeurs usage gnral ayant une ou deux gnrations 4, 8, 16 ou 32 bits (taille des mots) RISC et CISC DSP: Digital Signal Processor ASIP: Application Specic Integrated Processor
68000, x86
Introduction Processeurs embarqus q Processeurs embarqus q connomie q ISA q Pipeline q Classication q Charactristiques introduction au MSP 430 Prsentation des SoC
Famille des Motorola 68000 x Un des plus vieux processeur embarqu (ex Sun, Mac) x Architecture CISC x ISA propre et les meilleurs outils de dveloppement, beaucoup dutilisateurs Famille des x86 x Dmarre au 8086 (Intel) puis 80286, 386, 486, Pentium, et Athlon (AMD) x En processeurs embarqus: 5 fois moins que MIPS, ARM ou 68000. x architecture CISC, compatible avec le code du 8086 x compatibilit mais mauvaises performances
- p. 31/133
Introduction Processeurs embarqus q Processeurs embarqus q connomie q ISA q Pipeline q Classication q Charactristiques introduction au MSP 430 Prsentation des SoC
SPARC x Un des premier RISC avoir t embarqu (pratiquement plus aujourdhui) x SPARC est une architecture brevete (soft core, Intellectuel Property: IP), plusieurs compagnies fabriquent des SPARC 29000 (AMD) x Le 29000 a eu beaucoup de succs (imprimante laser Apple) grce ces 192 registres x AMD a arrt la production car le dveloppement des outils cotait trop cher. i960 (intel) x Le i960 a t le plus vendu des processeurs embarqus au milieu des annes 90 (router rseau et HP Laserjet).
Introduction Processeurs embarqus q Processeurs embarqus q connomie q ISA q Pipeline q Classication q Charactristiques introduction au MSP 430 Prsentation des SoC
MIPS (microprocessor without interlocked pipeline stages) x Originellement pour les stations puissantes (SGI) x Puis, march des consoles de jeux (Nitendo N64) x Famille trs tendue: du plus gros (MIPS 20Kc, 64 bit) au plus petit (SmartMIPS, 32 bit pour carte puce) ARM (Advanced RISC Machines, ex Acorn) x Un des 32 bits embarqus les plus populaires : tlphones portables x Faible consommation x Le successeur: StrongArm est commercialis par Intel sous le nom de XScale SuperH (ou SH: Hitachi) Utilis dans les stations Sega et les PDA PowerPC autant utilis en embarqu quen ordinateur
- p. 33/133
Et les autres....
Introduction Processeurs embarqus q Processeurs embarqus q connomie q ISA q Pipeline q Classication q Charactristiques introduction au MSP 430 Prsentation des SoC
s s
Plus de 100 processeurs embarqus 32 bits sur le march Les constructeurs de FPGA proposent des soft-processeurs pour congurer les FPGA: Nios (Altera), MicroBlaze (Xilinx) Certain processeurs RISC (Crusoe de Transmetta) peuvent excuter du code CISC (Intel) x Principe: recompilation du code lexcution (runtime compilation) x Gain obtenus par un mcanisme de cache, doptimisation pousse des portion de code rptes (boucle), et grce au paralllisme de niveau instruction x Rduction drastique de la consommation pour des performances quivalentes
Micro-contrleurs
Introduction Processeurs embarqus q Processeurs embarqus q connomie q ISA q Pipeline q Classication q Charactristiques introduction au MSP 430 Prsentation des SoC
Utilis pour le contrle embarqu x Censeur, contrleurs simples x Manipule des vnements, quelques donnes mais en faible quantit x Exemple: camescope, disque dur, appareil photo numrique, machine laver, four micro-onde Quelques caractristiques frquentes x Priphriques prsents sur le circuit (timer, convertisseur analogique numrique, interface de communication), accessible directement grce aux registres x Programme et donnes intgres au circuit x Accs direct du programmeur de nombreuses broches du circuit x Instructions spcialises pour les manipulation de bits. Le MSP430 appartient cette catgorie
- p. 35/133
Introduction Processeurs embarqus q Processeurs embarqus q connomie q ISA q Pipeline q Classication q Charactristiques introduction au MSP 430 Prsentation des SoC
Utiliss pour les applications de traitement du signal x Grande quantits de donnes numrises, souvent organises en ux x Filtre numrique sur tlphone, TV numrique, synthtiseur de sons Relativement proche des GPP, mais quelques caractristiques en plus: x Bande passante leve (deux bus) x Instructions ddies pour les calculs de traitement du signal: multiplication accumulation, x Arithmtique spcique (mode darrondi) x Registres ddis pour certains oprateurs. x Constructeurs: Texas Instrument, puis Analog Devices, Motorola
Introduction Processeurs embarqus q Processeurs embarqus q connomie q ISA q Pipeline q Classication q Charactristiques introduction au MSP 430 Prsentation des SoC
Densit de code: x La taille du code est importante pour les codes embarqus car elle inue sur la taille de la mmoire utilise x Un programme C compil pour SPARC prendra deux fois plus de place en mmoire que le mme programme compil pour le 68030. x En gnral les code RISC sont deux fois moins dense que les codes CISC (ex: instruction TBLS du 68300: table lookup and interpolate) x Les options de compilation doivent tre utilises avec prcaution. x Le code est quelquefois stock compress et decompress au vol par du matriel spcique.
- p. 37/133
Introduction Processeurs embarqus q Processeurs embarqus q connomie q ISA q Pipeline q Classication q Charactristiques introduction au MSP 430 Prsentation des SoC
Manipulations au niveau bit: x Utilis pour les algorithmes de cryptage mais surtout pour les pilotes de priphriques. x La plupart des priphriques indiquent leur tat au processeur en mettant un certain bit 1 dans un certain registre. x Un processeur standard doit rapatrier le mot de 32 bit, masquer et tester 0 x Les instructions BIC, BIT et BIS du MSP430 font des manipulation au niveau bit dans la mmoire
Introduction Processeurs embarqus q Processeurs embarqus q connomie q ISA q Pipeline q Classication q Charactristiques introduction au MSP 430 Prsentation des SoC
Donnes non-aligns x De nombreux traitements manipulent des donnes de taille non-multiple de 32 (paquets TCP/IP, video streams, cls dencryption, 20 bits, 56 bits) x Les processeurs RISC savent uniquement transfrer des mots (32 bits) aligns (cals sur une adresse multiple de 32 bits). x La plupart des architectures CISC (68k, x86) peuvent faire des chargements non aligns
- p. 39/133
Introduction Processeurs embarqus q Processeurs embarqus q connomie q ISA q Pipeline q Classication q Charactristiques introduction au MSP 430 Prsentation des SoC
Gestion spcique du cache x Les caches amliorent les performances mais introduisent du non-dterminisme. x Les contraintes spciques des systmes embarqus ont entran des mcanismes particuliers pour les cache x On peut vouloir bloquer le cache (cache locking): forcer certaines donnes ou instruction se charger et rester dans le cache (on parle aussi de mmoire scratch-pad memory ou de software controlled cache). x La plupart des caches utilisent une politique de Write-Back: une donne modie dans le cache nest pas forcment immdiatement recopie en memoire. Dans le cas de priphriques mapps en mmoire, il est indispensable de recopier immdiatement (politique write-through)
Introduction Processeurs embarqus q Processeurs embarqus q connomie q ISA q Pipeline q Classication q Charactristiques introduction au MSP 430 Prsentation des SoC
s s
Trois composantes de la consommation dune porte logique (inverseur) x Consommation dynamique : Pdyn = C.V 2 CC (C capacit de la porte) x Consommation statique : Pstatic = VCC .Ileak (VCC : tension dalimentation, Ileak intensit des courants de fuite) x Consommation de court-circuit Pcs = K..(VCC 2VT h )3 . (K:constante technologique ; VT h :tension seuil ; :temps de monte descente du signal) Aujourdhui (2004) Pdyn Pstatic Pcs Demain (2007) Pdyn Pstatic Pcs
- p. 41/133
Introduction Processeurs embarqus q Processeurs embarqus q connomie q ISA q Pipeline q Classication q Charactristiques introduction au MSP 430 Prsentation des SoC
Gnralisation nave en prenant en compte une activit moyenne (nombre moyen de portes commutant) x Consommation dynamique : Pdyn = C.V 2 ..f CC (f : frquence du circuit) x Consommation statique : Pstatic = VCC .Ileak .N.kdesign (N: nombre de portes, kdesign constante dpendant du design) Cette modlisation est trs imprcise pour un circuit dont le comportement nest pas stationnaire (ex: processeur)
Introduction Processeurs embarqus q Processeurs embarqus q connomie q ISA q Pipeline q Classication q Charactristiques introduction au MSP 430 Prsentation des SoC
Le facteur le plus important est la tension dalimentation (VCC ) dabord 3.3 V puis 2.5 V. Les versions rcentes de Xscale (strong ARM, Intel) et les puces smartCard fonctionnent a 0.65 V On peut diffrencier les tensions en fonction du bloc du chip: 1.5 V pour le processeur, 3.3 pour linterface du bus et les pattes dentre/sortie (ex: Strong ARM de Digital) Plus la technologie est intgre, moins elle consomme (capacit diminue). Frquence dhorloge peu leve compense par le paralllisme Complexit rduite des diffrents composants (moins de registres, architectures RISC)
- p. 43/133
Introduction Processeurs embarqus q Processeurs embarqus q connomie q ISA q Pipeline q Classication q Charactristiques introduction au MSP 430 Prsentation des SoC
s s
Gestion dynamique de la frquence dhorloge Exemple: processeur Crusoe (Transmetta) Suppression de lhorloge sur un bloc (Dynamic clock gating) Gestion dynamique de lalimentation (pas encore ralis)
Introduction Processeurs embarqus q Processeurs embarqus q connomie q ISA q Pipeline q Classication q Charactristiques introduction au MSP 430 Prsentation des SoC
Diffrent mode pour rduire la consommation x LPM0: le CPU est arrt x LPM1, LPM2: lhorloge rapide (MCLK) est aussi arrte x LPM3 le gnrateur dhorloge est arrt x LPM4 : loscillateur du crystal est arrt Le temps de reprise est dautant plus long que la veille est profonde.
- p. 45/133
Introduction Processeurs embarqus introduction au MSP 430 q introduction au MSP 430 q TI MSP430 : ez430-rf2500 q Documents techniques q Architecture q Priphriques q Chane de dveloppement Prsentation des SoC
TI MSP430 : ez430-rf2500
Introduction Processeurs embarqus introduction au MSP 430 q introduction au MSP 430 q TI MSP430 : ez430-rf2500 q Documents techniques q Architecture q Priphriques q Chane de dveloppement Prsentation des SoC
- p. 47/133
Documents techniques
Introduction Processeurs embarqus introduction au MSP 430 q introduction au MSP 430 q TI MSP430 : ez430-rf2500 q Documents techniques q Architecture q Priphriques q Chane de dveloppement Prsentation des SoC
s s
s s s
s s
Datasheet du composant radio (cc2500.pdf) Documents IAR x IAR compiler reference guide, ... Site de Texas Instrument x Exemples de programme / drivers, Notes dapplication, ... The mspgcc toolchain: http://mspgcc.sourceforge.net/
Architecture du MSP
Introduction Processeurs embarqus introduction au MSP 430 q introduction au MSP 430 q TI MSP430 : ez430-rf2500 q Documents techniques q Architecture q Priphriques q Chane de dveloppement Prsentation des SoC
Clock
Flash ROM
RAM
Peripheral 8 bits
Peripheral 8 bits
Adress
RISCCPU 16 bit
16
Data
Bus Conv
Watchdog Timer
Peripheral 16 bits
Peripheral 8 bits
Peripheral 8 bits
- p. 49/133
Introduction
R0/PC Program counter
Processeurs embarqus introduction au MSP 430 q introduction au MSP 430 q TI MSP430 : ez430-rf2500 q Documents techniques q Architecture q Priphriques q Chane de dveloppement Prsentation des SoC
s s s
28 Instructions sur 16 bits 64 Ko de mmoire adressable Priphriques mapps en mmoire 16 registres 16 bits (r0-r16) x r0: PC (Program counter) x r1: SP (Stack pointeur) x r2: SR (status register) x r3: constante 0
R3: Status Register
R3/CG2 Constant Gen R4 General Purpose R5 General Purpose ..... MAB Memory Address Bus src 16 bit ALU N
Z C V
dest
15
14
13 Reserved
12
11
10
8 V
7 SCG1
6 SCG1
5 OS COFF
4 CPU OFF
3 GIE
2 N
1 Z
0 GC
Periphrique intgrs
Introduction Processeurs embarqus introduction au MSP 430 q introduction au MSP 430 q TI MSP430 : ez430-rf2500 q Documents techniques q Architecture q Priphriques q Chane de dveloppement Prsentation des SoC
s s s s s s
timers contrleur LCD mutliplieur cabl contrleur de bus convertisseur analogique numrique, comparateur ports sries
- p. 51/133
Introduction Processeurs embarqus introduction au MSP 430 q introduction au MSP 430 q TI MSP430 : ez430-rf2500 q Documents techniques q Architecture q Priphriques q Chane de dveloppement Prsentation des SoC
lcriture une certaine adresse est interprte comme une communication avec le priphrique. Exemple : le multiplieur matriel x Accessible par des registres mapps entre les adresses 0x0130 et 0x013F x criture ladresse 0x130, positionne le premier oprande (unsigned mult) x criture ladresse 0x138, positionne le deuxime oprande et lance le calcul x Le rsultat est ladresse 0x013A, sur 32 bits Les autres priphriques sont aussi accessibles par des registres mapp en mmoire: les SFR (Special Function Registers), en C: x criture vers le priphrique: SFR = valeur x lecture des registres du priphrique: variable = SFR
Introduction Processeurs embarqus introduction au MSP 430 q introduction au MSP 430 q TI MSP430 : ez430-rf2500 q Documents techniques q Architecture q Priphriques q Chane de dveloppement Prsentation des SoC
int main(void) { int i; int *p,*res; int main(void) { int i; int *p,*res; p=0x130; *p=2; p=0x138; *p=5; res=0x13A; i=*res; nop(); } nop();
- p. 53/133
__asm__("mov #304, R4"); __asm__("mov #2, @R4"); // p=0x130; // *p=2; __asm__("mov #312, R4"); __asm__("mov #5, @R4"); //p=0x138; //*p=5; __asm__("mov #314, R4"); __asm__("mov @R4, R5"); //res=0x13A; i=*res;
Mapping mmoire
Introduction Processeurs embarqus introduction au MSP 430 q introduction au MSP 430 q TI MSP430 : ez430-rf2500 q Documents techniques q Architecture q Priphriques q Chane de dveloppement Prsentation des SoC
Interrupt Vector Table: indique les adresses des fonctions de gestion des interruption Lors du Boot, le MSP va lire ladresse 0xFFFE: handler du reset.
0xFFFF
Sur le MSP430F149: x 0x0 0x1FF: priphriques x 0x200 B=0x9FF: RAM (2Ko), Donnes et pile dexcution x 0xC00 0xFFF: Boot mem. x 0x1000 0x10FF: byte info. mem. x A=0x1100 0xFFFF:
Word/Byte
Word/Byte FLASH/ROM
11111111111111 00000000000000 11111111111111 00000000000000 11111111111111 00000000000000 11111111111111 00000000000000 11111111111111 00000000000000 11111111111111 00000000000000 11111111111111 00000000000000 11111111111111 00000000000000 11111111111111 00000000000000
RAM Word/Byte
Word
Byte
Chane de dveloppement
Introduction Processeurs embarqus introduction au MSP 430 q introduction au MSP 430 q TI MSP430 : ez430-rf2500 q Documents techniques q Architecture q Priphriques q Chane de dveloppement Prsentation des SoC
Plusieurs congurations x Programmation directe du micro-contrleur x Simulation du micro-contrleur (sans les priphriques) Plusieurs plateformes de dveloppement x mspgcc (GNU) x IAR (texas Instrument) x ..
- p. 55/133
Introduction Processeurs embarqus introduction au MSP 430 Prsentation des SoC q Quest ce quun SoC q Exemple SoC: appareil photo numrique q Autre exemple: iPaQ H5500 q Architecture carte iPaQ H5500 q Architecture S3CA400A01 (companion chip) q Critres de qualit de conception dun SOC q Choix en fonction des contraintes q Mthodologie de conception q SocLib q Organisation logicielle q Exemple dune plateforme soclib
Introduction Processeurs embarqus introduction au MSP 430 Prsentation des SoC q Quest ce quun SoC q Exemple SoC: appareil photo numrique q Autre exemple: iPaQ H5500 q Architecture carte iPaQ H5500 q Architecture S3CA400A01 (companion chip) q Critres de qualit de conception dun SOC q Choix en fonction des contraintes q Mthodologie de conception q SocLib q Organisation logicielle q Exemple dune plateforme soclib
s s s
"System" : une collection dlments en interaction. "On Chip" : sur un seul circuit. Mais tous les circuits intgrs ne sont pas des SOC, Un SOC implmente une fonction "complte" x Dcodeur MPEG2 vido + audio + systme + transport + graphique + interface utilisateur x Terminal GSM : tout sauf la RF
- p. 57/133
Introduction Processeurs embarqus introduction au MSP 430 Prsentation des SoC q Quest ce quun SoC q Exemple SoC: appareil photo numrique q Autre exemple: iPaQ H5500 q Architecture carte iPaQ H5500 q Architecture S3CA400A01 (companion chip) q Critres de qualit de conception dun SOC q Choix en fonction des contraintes q Mthodologie de conception q SocLib q Organisation logicielle q Exemple dune plateforme soclib
Une seule fonction un seul programme, excut en boucle Contraintes importantes cot, consommation, taille, performance, . . . Prise en compte de lenvironnement doivent ragir en fonction de nombreux paramtres souvent associ des contraintes de temps-rel Les lments constitutifs dun SOC sont "complexes", rutilisables et de nature varie : x Fonctions analogiques (convertisseurs A/N, ltres, etc.) x Fonctions numriques cbles (dcodeur de Viterbi) x Fonctions logicielles (sur micro-contrleur, DSP, RISC) x Composants de base (mmoires)
Introduction Processeurs embarqus introduction au MSP 430 Prsentation des SoC q Quest ce quun SoC q Exemple SoC: appareil photo numrique q Autre exemple: iPaQ H5500 q Architecture carte iPaQ H5500 q Architecture S3CA400A01 (companion chip) q Critres de qualit de conception dun SOC q Choix en fonction des contraintes q Mthodologie de conception q SocLib q Organisation logicielle q Exemple dune plateforme soclib
CCD
s s
Une seule fonction : prendre des photos Contraintes : taille, poids, consommation
- p. 59/133
Introduction Processeurs embarqus introduction au MSP 430 Prsentation des SoC q Quest ce quun SoC q Exemple SoC: appareil photo numrique q Autre exemple: iPaQ H5500 q Architecture carte iPaQ H5500 q Architecture S3CA400A01 (companion chip) q Critres de qualit de conception dun SOC q Choix en fonction des contraintes q Mthodologie de conception q SocLib q Organisation logicielle q Exemple dune plateforme soclib
Site http://www.handhelds.org/: "encourage and facilitate the creation of open source software for use on handheld and wearable computers" Adaptation de linux pour PDA
Introduction Processeurs embarqus introduction au MSP 430 Prsentation des SoC q Quest ce quun SoC q Exemple SoC: appareil photo numrique q Autre exemple: iPaQ H5500 q Architecture carte iPaQ H5500 q Architecture S3CA400A01 (companion chip) q Critres de qualit de conception dun SOC q Choix en fonction des contraintes q Mthodologie de conception q SocLib q Organisation logicielle q Exemple dune plateforme soclib
- p. 61/133
Introduction
BUS
Processeurs embarqus
ARM Xscale
SDRAM 0
SDRAM 1
DMA (2channel)
Prsentation des SoC q Quest ce quun SoC q Exemple SoC: appareil photo numrique q Autre exemple: iPaQ H5500 q Architecture carte iPaQ H5500 q Architecture S3CA400A01 (companion chip) q Critres de qualit de conception dun SOC q Choix en fonction des contraintes q Mthodologie de conception q SocLib q Organisation logicielle q Exemple dune plateforme soclib
DREQ[1:0] MA[25:0] MD[31:0]
Accelerometer
LED[4:0]
OneWire
DQ
SD Card I/F 6
FCD I/F
FCD I/F 11
UART
RXD[1:0] TXD[1:0]
ADC[3:0]
- p. 63/133
Introduction Processeurs embarqus introduction au MSP 430 Prsentation des SoC q Quest ce quun SoC q Exemple SoC: appareil photo numrique q Autre exemple: iPaQ H5500 q Architecture carte iPaQ H5500 q Architecture S3CA400A01 (companion chip) q Critres de qualit de conception dun SOC q Choix en fonction des contraintes q Mthodologie de conception q SocLib q Organisation logicielle q Exemple dune plateforme soclib
Mtriques usuelles x Cot lunit: cot de fabrication dune unit sans inclure les cot non rcurrents x Cots non rcurrents: cot de conception dun systme (cot de mise en place de la premire pice). x Taille x Performance x Consommation x volutivit: possibilit de faire voluer le systme pour en avoir des versions drives.
Introduction Processeurs embarqus introduction au MSP 430 Prsentation des SoC q Quest ce quun SoC q Exemple SoC: appareil photo numrique q Autre exemple: iPaQ H5500 q Architecture carte iPaQ H5500 q Architecture S3CA400A01 (companion chip) q Critres de qualit de conception dun SOC q Choix en fonction des contraintes q Mthodologie de conception q SocLib q Organisation logicielle q Exemple dune plateforme soclib
Mtriques usuelles (suite) x Temps de prototypage : temps de mise en place dun premier systme fonctionnel x Temps de mise sur le march : systme sufsamment able pour tre commercialis x Maintenance : possibilit de modications du systme par rapport sa premire version x Fiabilit, sret de fonctionnement, . . .
- p. 65/133
Introduction Processeurs embarqus introduction au MSP 430 Prsentation des SoC q Quest ce quun SoC q Exemple SoC: appareil photo numrique q Autre exemple: iPaQ H5500 q Architecture carte iPaQ H5500 q Architecture S3CA400A01 (companion chip) q Critres de qualit de conception dun SOC q Choix en fonction des contraintes q Mthodologie de conception q SocLib q Organisation logicielle q Exemple dune plateforme soclib
Mthodologie de conception
Introduction Processeurs embarqus introduction au MSP 430 Prsentation des SoC q Quest ce quun SoC q Exemple SoC: appareil photo numrique q Autre exemple: iPaQ H5500 q Architecture carte iPaQ H5500 q Architecture S3CA400A01 (companion chip) q Critres de qualit de conception dun SOC q Choix en fonction des contraintes q Mthodologie de conception q SocLib q Organisation logicielle q Exemple dune plateforme soclib
Intrts du codesign s Conception rapide de SoC : time to market x Cycle de conception de haut niveau pour rduire les temps destimations des solutions s Rduire la difcult de validation et dboguage x Rutilisation dIP x Modules recongurables s Converger vers une solution optimale en fonction des contraintes de dpart
- p. 67/133
Mthodologie de conception
Introduction Processeurs embarqus introduction au MSP 430 Prsentation des SoC q Quest ce quun SoC q Exemple SoC: appareil photo numrique q Autre exemple: iPaQ H5500 q Architecture carte iPaQ H5500 q Architecture S3CA400A01 (companion chip) q Critres de qualit de conception dun SOC q Choix en fonction des contraintes q Mthodologie de conception q SocLib q Organisation logicielle q Exemple dune plateforme soclib
s s
La conception ncessite davoir une modlisation complte Approche logicielle x les objets migrent vers le HW jusqu ce que les contraintes de performances soit atteintes (pour un cot minimum) Approche matrielle x les objets migrent en SW tant que les contraintes de performances restent atteintes (pour un cot minimum) Le meilleur partitionnement ncessite en gnral lexpertise dun concepteur.
SocLib
Introduction Processeurs embarqus introduction au MSP 430 Prsentation des SoC q Quest ce quun SoC q Exemple SoC: appareil photo numrique q Autre exemple: iPaQ H5500 q Architecture carte iPaQ H5500 q Architecture S3CA400A01 (companion chip) q Critres de qualit de conception dun SOC q Choix en fonction des contraintes q Mthodologie de conception q SocLib q Organisation logicielle q Exemple dune plateforme soclib
http://soclib.lip6.fr/ s Environnement de conception et de simulation gratuit et open source s Utilise des modles de composants crits en SystemC x processeur x interconnexion x priphriques x ... s Utilisation dune chane de compilation standard (GNU)
- p. 69/133
Organisation logicielle
Introduction Processeurs embarqus introduction au MSP 430 Prsentation des SoC q Quest ce quun SoC q Exemple SoC: appareil photo numrique q Autre exemple: iPaQ H5500 q Architecture carte iPaQ H5500 q Architecture S3CA400A01 (companion chip) q Critres de qualit de conception dun SOC q Choix en fonction des contraintes q Mthodologie de conception q SocLib q Organisation logicielle q Exemple dune plateforme soclib
s s
Systme dexploitation multithread : Mutek x Gestion de lAPI de thread Posix x Gestion des interruptions x Commutation de contexte rapide Logiciel cross-compil avec gcc Intgration du systme avec lapplicatif ldition des liens
Introduction Processeurs embarqus introduction au MSP 430 Prsentation des SoC q Quest ce quun SoC q Exemple SoC: appareil photo numrique q Autre exemple: iPaQ H5500 q Architecture carte iPaQ H5500 q Architecture S3CA400A01 (companion chip) q Critres de qualit de conception dun SOC q Choix en fonction des contraintes q Mthodologie de conception q SocLib q Organisation logicielle q Exemple dune plateforme soclib
- p. 71/133