Upload
buingoc
View
214
Download
0
Embed Size (px)
Citation preview
- p. 1/133
RTS6: Conception et programmation deSystmes Embarqus
cours 1: Introduction aux systmesembarqus
Antoine Fraboulet, Fabrice Jumel, Lionel Morel, Tanguy [email protected] CITI, INSA de Lyon
Introduction
Processeurs embarqus
introduction au MSP 430
Prsentation des SoC
- p. 2/133
Plan du cours 1 (2H)
Introduction gnrale aux systmes embarqus Architecture des processeurs embarqus Prsentation rapides du MSP430 Systmes sur puces
Introduction
Un peu dhistoire
Aujourdhui
Processeurs embarqus
introduction au MSP 430
Prsentation des SoC
- p. 3/133
Un peu dhistoire
Introduction
Un peu dhistoire
Aujourdhui
Processeurs embarqus
introduction au MSP 430
Prsentation des SoC
- p. 4/133
Un peu dhistoire
Fin du XIXme sicle : dmonstration du potentiel destechnologies lectroniques pour les transmissions sans fil.
Seconde guerre mondiale Application au calcul (dcryptage) Premiers ordinateurs (ENIAC)
1947-1954 Invention puis commercialisation des transistors
semi-conducteurs Les transistors remplacent les postes radio tubes
Annes 60 et 70: premiers circuits intgrs, LSI
Introduction
Un peu dhistoire
Aujourdhui
Processeurs embarqus
introduction au MSP 430
Prsentation des SoC
- p. 5/133
Un peu dhistoire
1960-2002 Rduction des tailles de transistors ( 10000) volution anticipe (loi de Moore) Industrie au coeur de la croissance conomique des 50
dernires annes Augmentation exponentielle des performances
Puissance (Joy) :MIPS = 2anne1984
Densit (Moore) :Transistors par puce = 2anne1964 Densit des supports magntiques Maximal Areal
Density (Frank): MAD = 10anne1971
10 Stagnation des performances pour la rapidit daccs
aux disques RAID (multiplications des disques) etcaches.
Introduction
Un peu dhistoire
Aujourdhui
Processeurs embarqus
introduction au MSP 430
Prsentation des SoC
- p. 6/133
Aujourdhui
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 fixes => mobiles) Crise financire et conomique des TIC
Introduction
Processeurs embarqus
Processeurs embarqus
connomie
ISA
Pipeline
Classification
Charactristiques
introduction au MSP 430
Prsentation des SoC
- p. 7/133
Processeurs embarqus
Introduction
Processeurs embarqus
Processeurs embarqus
connomie
ISA
Pipeline
Classification
Charactristiques
introduction au MSP 430
Prsentation des SoC
- p. 8/133
Part de march
Quel est le le microprocesseur le plus vendu ? Rponse classique: "Le Pentium: 92% du march"
Faux!...... En fait les Pentium ne reprsentent que 2% des
microprocesseurs vendus dans le monde.
Introduction
Processeurs embarqus
Processeurs embarqus
connomie
ISA
Pipeline
Classification
Charactristiques
introduction au MSP 430
Prsentation des SoC
- p. 9/133
Contradiction ?
Alors dou vient la position dIntel (16% du march dessemi-conducteurs) ?
processeurs: 2% du silicium, 30% des revenus
Introduction
Processeurs embarqus
Processeurs embarqus
connomie
ISA
Pipeline
Classification
Charactristiques
introduction au MSP 430
Prsentation des SoC
- p. 10/133
Et au sein des processeurs
3 milliards de processeurs 8 bits vendus par an (8051, 6805etc.)
32 bits (Pentium, Athlon, mais aussi PowerPC, 68000, MIPS,ARM etc.)
La plupart (98%) sont embarqus (3 fois plus dARM vendusque de Pentium)
Introduction
Processeurs embarqus
Processeurs embarqus
connomie
ISA
Pipeline
Classification
Charactristiques
introduction au MSP 430
Prsentation des SoC
- p. 11/133
Varit des processeurs embarqus
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)
Introduction
Processeurs embarqus
Processeurs embarqus
connomie
ISA
Pipeline
Classification
Charactristiques
introduction au MSP 430
Prsentation des SoC
- p. 12/133
Une image en 2007
Introduction
Processeurs embarqus
Processeurs embarqus
connomie
ISA
Pipeline
Classification
Charactristiques
introduction au MSP 430
Prsentation des SoC
- p. 13/133
Architecture "Von Neuman" ou "Princeton"
La mmoire contient les donnes et les instructions Lunit centrale (CPU) charge les instructions depuis la
mmoire. Un ensemble de registres aide le CPU:
Compteur dinstructions (Program counter: PC), Registre dinstruction (Instruction register: IR) Pointeur de pile (stack pointer: SP) Registres usage gnral (Accumulateur: A)
Memory Proc
Introduction
Processeurs embarqus
Processeurs embarqus
connomie
ISA
Pipeline
Classification
Charactristiques
introduction au MSP 430
Prsentation des SoC
- p. 14/133
Architecture Harvard
Donnes et instructions dans des mmoires spares Autorise deux accs simultans la mmoire. Utilis pour la plupart des DSP
meilleure bande passante Performances plus prdictibles
Proc
Memory
Memory
Data
Instruction
Introduction
Processeurs embarqus
Processeurs embarqus
connomie
ISA
Pipeline
Classification
Charactristiques
introduction au MSP 430
Prsentation des SoC
- p. 15/133
Le jeu dinstruction
Le jeu dinstruction (Instruction Set Architecture: ISA) a uneimportance capitale Il dtermine les instructions lmentaires excutes par le
CPU. Cest un quilibre entre la complexit matrielle du CPU
et la facilit dexprimer les actions requises On le reprsente de manire symbolique (ex: MSP, code
sur 16 bits):mov r5,@r8 ; commentaire [R8]
Introduction
Processeurs embarqus
Processeurs embarqus
connomie
ISA
Pipeline
Classification
Charactristiques
introduction au MSP 430
Prsentation des SoC
- p. 17/133
Exemple: instructions de lISA du Pentium
JE EIP + displacement
JE Condition Displacement
4 8
Call
CALL Offset
8 32
Mov $EBX, [EDI+displacement]
MOV
6 1
wd rm postbyte
8
Displacement
8
Push ESI
PUSH Reg
5
Add $EAX, Immediate4
ADD
Test $EDX, Immediate
1
17 32
ImmediatePostBytewTEST
4
32
Immediate
13
Reg w
8
3
Introduction
Processeurs embarqus
Processeurs embarqus
connomie
ISA
Pipeline
Classification
Charactristiques
introduction au MSP 430
Prsentation des SoC
- p. 18/133
RISC: Reduced Instruction Set Computer
Petites instructions simples, toutes de mme taille, ayanttoutes (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 vitessedhorloge
Code plus simple gnrer, mais moins compact Tous les microprocesseurs modernes utilisent ce paradigme:
SPARC, MIPS, ARM, PowerPC, etc.
Introduction
Processeurs embarqus
Processeurs embarqus
connomie
ISA
Pipeline
Classification
Charactristiques
introduction au MSP 430
Prsentation des SoC
- p. 19/133
Exemple: instructions de lISA du MSP
15 13 12 11 1014 9 8 7 6 5 4 3 2 1 0
0 0 1 condition PC offset (10 bits)
relative Jumps
15 13 12 11 1014 9 8 7 6 5 4 3 2 1 0
opcode Dest reg. Ad Dest reg.B/W As
2 operands instruction
15 13 12 11 1014 9 8 7 6 5 4 3 2 1 0
1 operand instruction
0 0 0 00 1 opcode B/W Ad Dest reg.
Exemples: PUSB.B R4
JNE -56
ADD.W R4,R4
Introduction
Processeurs embarqus
Processeurs embarqus
connomie
ISA
Pipeline
Classification
Charactristiques
introduction au MSP 430
Prsentation des SoC
- p. 20/133
Le CPU
Lunit de contrle configure le chemin de donne suivantlinstruction excuter.
Lexcution dune instruction est dcompose en plusieursphases dun cycle.
PC IR
Processor
Memory
Control unitALU
Datapath
Register Filecontrol/Status
Introduction
Processeurs embarqus
Processeurs embarqus
connomie
ISA
Pipeline
Classification
Charactristiques
introduction au MSP 430
Prsentation des SoC
- p. 21/133
Le pipeline RISC: exemple du MIPS
Le pipeline dpend de larchitecture, pour le MIPS: Instruction Fetch (IF, Fetch):
charge linstruction dans lIR Instruction Decode (ID, Decode):
dcode linstruction et met en place le contrle du cheminde donne
Execute (Ex): excute le calcul dans le chemin dedonne.
Memory access (Mem): accde la mmoire Write Back (WB): crit dans le banc de registre
Introduction
Processeurs embarqus
Processeurs embarqus
connomie
ISA
Pipeline
Classification
Charactristiques
introduction au MSP 430
Prsentation des SoC
- p. 22/133
Le pipeline RISC: exemple du MIPS
Physiquement, larchitecture du processeur est organise encalculs combinatoires pour chaque tape de pipeline,spars par des registres.
Introduction
Processeurs embarqus
Processeurs embarqus
connomie
ISA
Pipeline
Classification
Charactristiques
introduction au MSP 430
Prsentation des SoC
- p. 23/133
Le pipeline RISC: exemple du MIPS
Lorsque linstruction suivante ne peut pas tre excute toutde suite, cela cre une "bulle".
Par exemple une addition utilisant un registre qui vient dtrecharg doit tre retard dun cycle.
Introduction
Processeurs embarqus
Processeurs embarqus
connomie
ISA
Pipeline
Classification
Charactristiques
introduction au MSP 430
Prsentation des SoC
- p. 24/133
Bilan architecture non pipeline
Excution non pipeline: 5 cycles pour excuter une instruction 15 cycles pour 3 instructions.
Excution pipeline: 5 cycles pour excuter une instruction 8 cycles pour 3 instructions. sans branchement, une instruction par cycle Un branchement (conditionnel ou pas) interrompt le
pipeline car il faut attendre de dcoder ladresse debranchement pour charger linstruction suivante quelques cycles dinactivit (pipeline stall)
Lors dun branchement, certain ISA autorisent lutilisationde ces delai slots: une ou deux instructions aprs lebranchement sont excutes, que le branchement soitpris ou pas (comme si elles taint crites avant lebranchement).
Introduction
Processeurs embarqus
Processeurs embarqus
connomie
ISA
Pipeline
Classification
Charactristiques
introduction au MSP 430
Prsentation des SoC
- p. 25/133
Paralllisme au sein du processeur
Indpendamment du pipeline, Deux paradigmes dominants: Super Scalaire
Duplication des units, Rpartition au vol des instructions sur les units
disponibles (re-ordonnancement des instructions: out oforder execution)
Exemple: le PowerPC 970 (4 ALU, 2 FPU) Efficace mais complexifie lunit de contrle (problme
des interruptions) Very Large Instruction Word (VLIW)
Duplication des units, Lordonnancement des instructions est fix la
compilation (tout se passe comme si les instructionspouvait tre regroupe sur 64 bits, 128 bits etc.)
Invent par Josh Fisher (Yale) partir du trace scheduling Les processeurs VLIW sont tous bass sur les
architecures RISC, avec entre 4 et 8 units. Exemple: TriMedia (Philips), Itanium IA64 (Intel).
Introduction
Processeurs embarqus
Processeurs embarqus
connomie
ISA
Pipeline
Classification
Charactristiques
introduction au MSP 430
Prsentation des SoC
- p. 26/133
Paralllisme au sein du processeur
Une autre approche possible: instructions SIMD. Modification du data-path pour proposer des oprations
parallles sur 16 ou 8 bits Exemple: Sun Visual Instruction Set, Intel Pentium MMX,
Philips TriMedia Gains importants sur certains traitements mais trs peu
utilis en pratique (difficile infrer par le compilateur) Librairies crites en assembleur (programmes non
portables) Fonction C reprsentant les instructions assembleurs
(compiler intrinsic) Exemple: instruction ifir8ii R1, R2, R3 du Trimedia:
8 bits 8 bits 8 bits 8 bits 8 bits 8 bits 8 bits 8 bits
* ** *
+
32 bits
Introduction
Processeurs embarqus
Processeurs embarqus
connomie
ISA
Pipeline
Classification
Charactristiques
introduction au MSP 430
Prsentation des SoC
- p. 27/133
Mmoire
Plusieurs technologies pour les mmoires: Mmoires statiques (SRAM): petites, rapides,
consommatrices, peu denses (chres). 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 efficaces 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 plusieursniveaux de caches: hirarchie mmoire.
Introduction
Processeurs embarqus
Processeurs embarqus
connomie
ISA
Pipeline
Classification
Charactristiques
introduction au MSP 430
Prsentation des SoC
- p. 28/133
Principe du Cache
Processeur
1 cycle
Cache de donnes (SRAM)
1020 cycles Espacemmoireadressable
0
N1
Mmoire principale (DRAM)
3
2
1
0
4
7
6
5
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
17
16
18
19
20
21
22
23
Introduction
Processeurs embarqus
Processeurs embarqus
connomie
ISA
Pipeline
Classification
Charactristiques
introduction au MSP 430
Prsentation des SoC
- p. 29/133
Hirarchie Mmoire
Mmoire cachede niveau 4
Processeur/DSP /DSP
Processeur
ASIC / ASIP
contrleurmmoire
Bus systme externe
Bancs de mmoire DRAM
SOC
D I D I
Cache
de niveau 3 de niveau 2
Cache
D: cache de donnes
I: cache dinstructions
Introduction
Processeurs embarqus
Processeurs embarqus
connomie
ISA
Pipeline
Classification
Charactristiques
introduction au MSP 430
Prsentation des SoC
- p. 30/133
Diffrents types de processeurs embarqus
Beaucoup de Processeurs usage gnral ayant une oudeux gnrations
4, 8, 16 ou 32 bits (taille des mots) RISC et CISC DSP: Digital Signal Processor ASIP: Application Specific Integrated Processor
Introduction
Processeurs embarqus
Processeurs embarqus
connomie
ISA
Pipeline
Classification
Charactristiques
introduction au MSP 430
Prsentation des SoC
- p. 31/133
68000, x86
Famille des Motorola 68000 Un des plus vieux processeur embarqu (ex Sun, Mac) Architecture CISC ISA propre et les meilleurs outils de dveloppement,
beaucoup dutilisateurs Famille des x86
Dmarre au 8086 (Intel) puis 80286, 386, 486, Pentium, etAthlon (AMD)
En processeurs embarqus: 5 fois moins que MIPS, ARMou 68000.
architecture CISC, compatible avec le code du 8086 compatibilit mais mauvaises performances
Introduction
Processeurs embarqus
Processeurs embarqus
connomie
ISA
Pipeline
Classification
Charactristiques
introduction au MSP 430
Prsentation des SoC
- p. 32/133
SPARC, 29000 et i960
SPARC Un des premier RISC avoir t embarqu (pratiquement
plus aujourdhui) SPARC est une architecture brevete (soft core,
Intellectuel Property: IP), plusieurs compagnies fabriquentdes SPARC
29000 (AMD) Le 29000 a eu beaucoup de succs (imprimante laser
Apple) grce ces 192 registres AMD a arrt la production car le dveloppement des
outils cotait trop cher. i960 (intel)
Le i960 a t le plus vendu des processeurs embarqusau milieu des annes 90 (router rseau et HP Laserjet).
Introduction
Processeurs embarqus
Processeurs embarqus
connomie
ISA
Pipeline
Classification
Charactristiques
introduction au MSP 430
Prsentation des SoC
- p. 33/133
MIPS, ARM, SuperH et PowerPC
MIPS (microprocessor without interlocked pipeline stages) Originellement pour les stations puissantes (SGI) Puis, march des consoles de jeux (Nitendo N64) 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)
Un des 32 bits embarqus les plus populaires :tlphones portables
Faible consommation 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
Introduction
Processeurs embarqus
Processeurs embarqus
connomie
ISA
Pipeline
Classification
Charactristiques
introduction au MSP 430
Prsentation des SoC
- p. 34/133
Et les autres....
Plus de 100 processeurs embarqus 32 bits sur le march Les constructeurs de FPGA proposent des soft-processeurs
pour configurer les FPGA: Nios (Altera), MicroBlaze (Xilinx) Certain processeurs RISC (Crusoe de Transmetta) peuvent
excuter du code CISC (Intel) Principe: recompilation du code lexcution (runtime
compilation) Gain obtenus par un mcanisme de cache, doptimisation
pousse des portion de code rptes (boucle), et grceau paralllisme de niveau instruction
Rduction drastique de la consommation pour desperformances quivalentes
Introduction
Processeurs embarqus
Processeurs embarqus
connomie
ISA
Pipeline
Classification
Charactristiques
introduction au MSP 430
Prsentation des SoC
- p. 35/133
Micro-contrleurs
Utilis pour le contrle embarqu Censeur, contrleurs simples Manipule des vnements, quelques donnes mais en
faible quantit Exemple: camescope, disque dur, appareil photo
numrique, machine laver, four micro-onde Quelques caractristiques frquentes
Priphriques prsents sur le circuit (timer, convertisseuranalogique numrique, interface de communication),accessible directement grce aux registres
Programme et donnes intgres au circuit Accs direct du programmeur de nombreuses broches
du circuit Instructions spcialises pour les manipulation de bits.
Le MSP430 appartient cette catgorie
Introduction
Processeurs embarqus
Processeurs embarqus
connomie
ISA
Pipeline
Classification
Charactristiques
introduction au MSP 430
Prsentation des SoC
- p. 36/133
DSP: Digital Signal Processing
Utiliss pour les applications de traitement du signal Grande quantits de donnes numrises, souvent
organises en flux Filtre numrique sur tlphone, TV numrique,
synthtiseur de sons Relativement proche des GPP, mais quelques
caractristiques en plus: Bande passante leve (deux bus) Instructions ddies pour les calculs de traitement du
signal: multiplication accumulation, Arithmtique spcifique (mode darrondi) Registres ddis pour certains oprateurs. Constructeurs: Texas Instrument, puis Analog Devices,
Motorola
Introduction
Processeurs embarqus
Processeurs embarqus
connomie
ISA
Pipeline
Classification
Charactristiques
introduction au MSP 430
Prsentation des SoC
- p. 37/133
Quelques mcanismes matriels utiles
Densit de code: La taille du code est importante pour les codes
embarqus car elle influe sur la taille de la mmoireutilise
Un programme C compil pour SPARC prendra deux foisplus de place en mmoire que le mme programmecompil pour le 68030.
En gnral les code RISC sont deux fois moins dense queles codes CISC (ex: instruction TBLS du 68300: tablelookup and interpolate)
Les options de compilation doivent tre utilises avecprcaution.
Le code est quelquefois stock compress etdecompress au vol par du matriel spcifique.
Introduction
Processeurs embarqus
Processeurs embarqus
connomie
ISA
Pipeline
Classification
Charactristiques
introduction au MSP 430
Prsentation des SoC
- p. 38/133
Quelques mcanismes matriels utiles
Manipulations au niveau bit: Utilis pour les algorithmes de cryptage mais surtout pour
les pilotes de priphriques. La plupart des priphriques indiquent leur tat au
processeur en mettant un certain bit 1 dans un certainregistre.
Un processeur standard doit rapatrier le mot de 32 bit,masquer et tester 0
Les instructions BIC, BIT et BIS du MSP430 font desmanipulation au niveau bit dans la mmoire
Introduction
Processeurs embarqus
Processeurs embarqus
connomie
ISA
Pipeline
Classification
Charactristiques
introduction au MSP 430
Prsentation des SoC
- p. 39/133
Quelques mcanismes matriels utiles
Donnes non-aligns De nombreux traitements manipulent des donnes de
taille non-multiple de 32 (paquets TCP/IP, video streams,cls dencryption, 20 bits, 56 bits)
Les processeurs RISC savent uniquement transfrer desmots (32 bits) aligns (cals sur une adresse multiple de32 bits).
La plupart des architectures CISC (68k, x86) peuvent fairedes chargements non aligns
Introduction
Processeurs embarqus
Processeurs embarqus
connomie
ISA
Pipeline
Classification
Charactristiques
introduction au MSP 430
Prsentation des SoC
- p. 40/133
Quelques mcanismes matriels utiles
Gestion spcifique du cache Les caches amliorent les performances mais introduisent
du non-dterminisme. Les contraintes spcifiques des systmes embarqus ont
entran des mcanismes particuliers pour les cache On peut vouloir bloquer le cache (cache locking): forcer
certaines donnes ou instruction se charger et resterdans le cache (on parle aussi de mmoire scratch-padmemory ou de software controlled cache).
La plupart des caches utilisent une politique deWrite-Back: une donne modifie dans le cache nest pasforcment immdiatement recopie en memoire. Dans lecas de priphriques mapps en mmoire, il estindispensable de recopier immdiatement (politiquewrite-through)
Introduction
Processeurs embarqus
Processeurs embarqus
connomie
ISA
Pipeline
Classification
Charactristiques
introduction au MSP 430
Prsentation des SoC
- p. 41/133
Quelques mots sur la consommation
Trois composantes de la consommation dune porte logique(inverseur) Consommation dynamique : Pdyn = C.V 2CC
(C capacit de la porte) Consommation statique : Pstatic = VCC .Ileak
(VCC : tension dalimentation, Ileak intensit descourants de fuite)
Consommation de court-circuit Pcs = K..(VCC 2VTh)3.(K:constante technologique ; VTh:tension seuil ;
:temps de monte descente du signal) Aujourdhui (2004) Pdyn Pstatic Pcs Demain (2007) Pdyn Pstatic Pcs
Introduction
Processeurs embarqus
Processeurs embarqus
connomie
ISA
Pipeline
Classification
Charactristiques
introduction au MSP 430
Prsentation des SoC
- p. 42/133
Consommation dun circuit CMOS
Gnralisation nave en prenant en compte une activitmoyenne (nombre moyen de portes commutant) Consommation dynamique : Pdyn = C.V 2CC ..f
(f : frquence du circuit) Consommation statique : Pstatic = VCC .Ileak.N.kdesign
(N: nombre de portes, kdesign constante dpendantdu design)
Cette modlisation est trs imprcise pour un circuit dont lecomportement nest pas stationnaire (ex: processeur)
Introduction
Processeurs embarqus
Processeurs embarqus
connomie
ISA
Pipeline
Classification
Charactristiques
introduction au MSP 430
Prsentation des SoC
- p. 43/133
Rduction statique de la consommation
Le facteur le plus important est la tension dalimentation(VCC ) dabord 3.3 V puis 2.5 V. Les versions rcentes deXscale (strong ARM, Intel) et les puces smartCardfonctionnent 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 lespattes dentre/sortie (ex: Strong ARM de Digital)
Plus la technologie est intgre, moins elle consomme(capacit diminue).
Frquence dhorloge peu leve compense par leparalllisme
Complexit rduite des diffrents composants (moins deregistres, architectures RISC)
Introduction
Processeurs embarqus
Processeurs embarqus
connomie
ISA
Pipeline
Classification
Charactristiques
introduction au MSP 430
Prsentation des SoC
- p. 44/133
Rduction dynamique de la consommation
Gestion dynamique de la frquence dhorloge Exemple: processeur Crusoe (Transmetta)
Suppression de lhorloge sur un bloc (Dynamic clockgating)
Gestion dynamique de lalimentation (pas encore ralis)
Introduction
Processeurs embarqus
Processeurs embarqus
connomie
ISA
Pipeline
Classification
Charactristiques
introduction au MSP 430
Prsentation des SoC
- p. 45/133
Low Power Mode pour le MSP430
Diffrent mode pour rduire la consommation LPM0: le CPU est arrt LPM1, LPM2: lhorloge rapide (MCLK) est aussi arrte LPM3 le gnrateur dhorloge est arrt LPM4 : loscillateur du crystal est arrt
Le temps de reprise est dautant plus long que la veille estprofonde.
Introduction
Processeurs embarqus
introduction au MSP 430
introduction au MSP 430
TI MSP430 : ez430-rf2500
Documents techniques
Architecture
Priphriques
Chane de dveloppement
Prsentation des SoC
- p. 46/133
introduction au MSP 430
Introduction
Processeurs embarqus
introduction au MSP 430
introduction au MSP 430
TI MSP430 : ez430-rf2500
Documents techniques
Architecture
Priphriques
Chane de dveloppement
Prsentation des SoC
- p. 47/133
TI MSP430 : ez430-rf2500
Introduction
Processeurs embarqus
introduction au MSP 430
introduction au MSP 430
TI MSP430 : ez430-rf2500
Documents techniques
Architecture
Priphriques
Chane de dveloppement
Prsentation des SoC
- p. 48/133
Documents techniques
Documents du cours http:// Manuel de programmation du MSP
(MSP430x2xx_Family_Users_Guide_(Rev._D)_slau144d.pdf)
Manuel du MSP430F2274 (msp430f2274.pdf) Feuilles de schmatique Users Manual EZ430
(eZ430-RF2500_User Guide_SLAU227A.pdf)
Datasheet du composant radio (cc2500.pdf) Documents IAR
IAR compiler reference guide, ... Site de Texas Instrument
Exemples de programme / drivers, Notes dapplication, ... The mspgcc toolchain:http://mspgcc.sourceforge.net/
Notamment la doc mspgcc (download puis documentation)
http://http://mspgcc.sourceforge.net/
Introduction
Processeurs embarqus
introduction au MSP 430
introduction au MSP 430
TI MSP430 : ez430-rf2500
Documents techniques
Architecture
Priphriques
Chane de dveloppement
Prsentation des SoC
- p. 49/133
Architecture du MSP
RISCCPU
16 bit
Flash
ROMRAM
TimerWatchdog
Adress
Data
Peripheral
Clock
Peripheral Peripheral
Peripheral Peripheral
Bus
Ctrl
ConvBus
16
16 8
8
16 bits 8 bits 8 bits
8 bits8 bits
JTA
G
Introduction
Processeurs embarqus
introduction au MSP 430
introduction au MSP 430
TI MSP430 : ez430-rf2500
Documents techniques
Architecture
Priphriques
Chane de dveloppement
Prsentation des SoC
- p. 50/133
CPU RISC 16 bits
28 Instructions sur 16 bits 64 Ko de mmoire adressable Priphriques mapps en
mmoire 16 registres 16 bits (r0-r16)
r0: PC (Program counter) r1: SP (Stack pointeur) r2: SR (status register) r3: constante 0
.....
dest src
16 bit ALU
Z
CV
N
MD
B M
emor
y D
ata
Bus
MA
B M
emor
y A
ddre
ss B
us
R0/PC Program counter
R2/SR/CG1 Status Reg
R1/SP Stack Pointer
R3/CG2 Constant Gen
R4 General Purpose
R5 General Purpose
R14 General Purpose
R15 General Purpose
15 13 12 11 1014 9 8 7 6 5 4 3 2 1 0
Reserved V SCG1 SCG1 GCOS
COFF
CPU
OFFN Z
R3: Status Register
GIE
Introduction
Processeurs embarqus
introduction au MSP 430
introduction au MSP 430
TI MSP430 : ez430-rf2500
Documents techniques
Architecture
Priphriques
Chane de dveloppement
Prsentation des SoC
- p. 51/133
Periphrique intgrs
timers contrleur LCD mutliplieur cabl contrleur de bus convertisseur analogique numrique, comparateur ports sries
Introduction
Processeurs embarqus
introduction au MSP 430
introduction au MSP 430
TI MSP430 : ez430-rf2500
Documents techniques
Architecture
Priphriques
Chane de dveloppement
Prsentation des SoC
- p. 52/133
Priphrique mapp en mmoire
lcriture une certaine adresse est interprte comme unecommunication avec le priphrique.
Exemple : le multiplieur matriel Accessible par des registres mapps entre les adresses0x0130 et 0x013F
criture ladresse 0x130, positionne le premieroprande (unsigned mult)
criture ladresse 0x138, positionne le deuximeoprande et lance le calcul
Le rsultat est ladresse 0x013A, sur 32 bits Les autres priphriques sont aussi accessibles par des
registres mapp en mmoire: les SFR (Special FunctionRegisters), en C: criture vers le priphrique: SFR = valeur lecture des registres du priphrique: variable = SFR
Introduction
Processeurs embarqus
introduction au MSP 430
introduction au MSP 430
TI MSP430 : ez430-rf2500
Documents techniques
Architecture
Priphriques
Chane de dveloppement
Prsentation des SoC
- p. 53/133
Exemple: multiplieur cabl
int main(void) {int i;int *p,*res;
p=0x130;
*p=2;p=0x138;
*p=5;res=0x13A;i=*res;
nop();
}
int main(void) {int i;int *p,*res;
__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;
nop();
Introduction
Processeurs embarqus
introduction au MSP 430
introduction au MSP 430
TI MSP430 : ez430-rf2500
Documents techniques
Architecture
Priphriques
Chane de dveloppement
Prsentation des SoC
- p. 54/133
Mapping mmoire
Interrupt Vector Table: indique les adresses des fonctions degestion des interruption
Lors du Boot, le MSP va lire ladresse 0xFFFE: handler dureset.
Sur le MSP430F149: 0x0 0x1FF:
priphriques 0x200 B=0x9FF: RAM
(2Ko), Donnes et piledexcution
0xC00 0xFFF: Bootmem.
0x1000 0x10FF: byteinfo. mem.
A=0x1100 0xFFFF:ROM (60 Ko): code.
Interrupt Vector Table
FLASH/ROM
RAM
0xFFFF
0xFFE0
0xFFDF
0x200
0x1FF
0x100
0x0
0xFF
0xF
0x10
16 bit peripheral Modules
6 bit peripheral Modules
Special Function Register
Word/Byte
Word/Byte
Word/Byte
Byte
Word
Byte
A
B
Introduction
Processeurs embarqus
introduction au MSP 430
introduction au MSP 430
TI MSP430 : ez430-rf2500
Documents techniques
Architecture
Priphriques
Chane de dveloppement
Prsentation des SoC
- p. 55/133
Chane de dveloppement
Plusieurs configurations Programmation directe du micro-contrleur Simulation du micro-contrleur (sans les priphriques)
Plusieurs plateformes de dveloppement mspgcc (GNU) IAR (texas Instrument) ..
Introduction
Processeurs embarqus
introduction au MSP 430
Prsentation des SoC
Quest ce quun SoC
Exemple SoC: appareil photo
numrique
Autre exemple: iPaQ H5500
Architecture carte iPaQ
H5500 Architecture S3CA400A01
(companion chip)
Critres de qualit de
conception dun SOC
Choix en fonction des
contraintes Mthodologie de conception
SocLib
Organisation logicielle
Exemple dune plateforme
soclib
- p. 56/133
RTS6: Conception et programmation de Systmes
Introduction aux systmes sur puces (SoC)
Introduction
Processeurs embarqus
introduction au MSP 430
Prsentation des SoC
Quest ce quun SoC
Exemple SoC: appareil photo
numrique
Autre exemple: iPaQ H5500
Architecture carte iPaQ
H5500 Architecture S3CA400A01
(companion chip)
Critres de qualit de
conception dun SOC
Choix en fonction des
contraintes Mthodologie de conception
SocLib
Organisation logicielle
Exemple dune plateforme
soclib
- p. 57/133
Quest ce quun SoC
"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" Dcodeur MPEG2 vido + audio + systme + transport +
graphique + interface utilisateur Terminal GSM : tout sauf la RF
Introduction
Processeurs embarqus
introduction au MSP 430
Prsentation des SoC
Quest ce quun SoC
Exemple SoC: appareil photo
numrique
Autre exemple: iPaQ H5500
Architecture carte iPaQ
H5500 Architecture S3CA400A01
(companion chip)
Critres de qualit de
conception dun SOC
Choix en fonction des
contraintes Mthodologie de conception
SocLib
Organisation logicielle
Exemple dune plateforme
soclib
- p. 58/133
Qest ce quun SoC
Une seule fonctionun seul programme, excut en boucle
Contraintes importantescot, consommation, taille, performance, . . .
Prise en compte de lenvironnementdoivent ragir en fonction de nombreux paramtressouvent associ des contraintes de temps-rel
Les lments constitutifs dun SOC sont "complexes",rutilisables et de nature varie : Fonctions analogiques (convertisseurs A/N, filtres, etc.) Fonctions numriques cbles (dcodeur de Viterbi) Fonctions logicielles (sur micro-contrleur, DSP, RISC) Composants de base (mmoires)
Introduction
Processeurs embarqus
introduction au MSP 430
Prsentation des SoC
Quest ce quun SoC
Exemple SoC: appareil photo
numrique
Autre exemple: iPaQ H5500
Architecture carte iPaQ
H5500 Architecture S3CA400A01
(companion chip)
Critres de qualit de
conception dun SOC
Choix en fonction des
contraintes Mthodologie de conception
SocLib
Organisation logicielle
Exemple dune plateforme
soclib
- p. 59/133
Exemple SoC: appareil photo numrique
CAN
UART
CCD
Lentille
preprocesseur CCD (?)
compression
JPEG (?)microcontroleur (?)
Une seule fonction : prendre des photos Contraintes : taille, poids, consommation
Introduction
Processeurs embarqus
introduction au MSP 430
Prsentation des SoC
Quest ce quun SoC
Exemple SoC: appareil photo
numrique
Autre exemple: iPaQ H5500
Architecture carte iPaQ
H5500 Architecture S3CA400A01
(companion chip)
Critres de qualit de
conception dun SOC
Choix en fonction des
contraintes Mthodologie de conception
SocLib
Organisation logicielle
Exemple dune plateforme
soclib
- p. 60/133
Autre exemple: iPaQ H5500
Site http://www.handhelds.org/: "encourage andfacilitate the creation of open source software for use onhandheld and wearable computers"
Adaptation de linux pour PDA
http://www.handhelds.org/
Introduction
Processeurs embarqus
introduction au MSP 430
Prsentation des SoC
Quest ce quun SoC
Exemple SoC: appareil photo
numrique
Autre exemple: iPaQ H5500
Architecture carte iPaQ
H5500 Architecture S3CA400A01
(companion chip)
Critres de qualit de
conception dun SOC
Choix en fonction des
contraintes Mthodologie de conception
SocLib
Organisation logicielle
Exemple dune plateforme
soclib
- p. 61/133
iPaQ H5500, une fois dmont
Introduction
Processeurs embarqus
introduction au MSP 430
Prsentation des SoC
Quest ce quun SoC
Exemple SoC: appareil photo
numrique
Autre exemple: iPaQ H5500
Architecture carte iPaQ
H5500 Architecture S3CA400A01
(companion chip)
Critres de qualit de
conception dun SOC
Choix en fonction des
contraintes Mthodologie de conception
SocLib
Organisation logicielle
Exemple dune plateforme
soclib
- p. 62/133
Architecture carte iPaQ H5500
Cotulla Intel PXA250
ARM Xscale
SDRAM 0
SDRAM 1
SAMSUNG S3CA400A01(SAMCOP)
BUS
Introduction
Processeurs embarqus
introduction au MSP 430
Prsentation des SoC
Quest ce quun SoC
Exemple SoC: appareil photo
numrique
Autre exemple: iPaQ H5500
Architecture carte iPaQ
H5500 Architecture S3CA400A01
(companion chip)
Critres de qualit de
conception dun SOC
Choix en fonction des
contraintes Mthodologie de conception
SocLib
Organisation logicielle
Exemple dune plateforme
soclib
- p. 63/133
Architecture S3CA400A01 (companion chip)
Interuption
InterfaceIntelCotulla(Xscale)
32 KBytes
DMA (2channel)
USB
Bridge
LED
OneWire
SD Host
FCD I/F
UART
Touch Panel I/F
ADC
DMA
PWR Man.PCMCIAExpansion
Bus
sys
tem
e (A
HB
)
Bus
per
iph
riqu
e (A
PB)
Accel I/F
LED[4:0]
DQ
SD Card I/F
FCD I/F
2
6
11
RXD[1:0]
TXD[1:0]A
DC
[3:0
]
XP.
XM
.YP.
YMcont
rol
Add
r[10
:0]
Dat
a[31
:0]
MA[25:0]
MD[31:0]
DREQ[1:0]
nOE
RDY
CS[5:2]
CINT
nWE
DP[1:0]
DN[1:0]
Reset, PLL, VCC, MCUCLK
Interne Buffer
Accelerometer
Introduction
Processeurs embarqus
introduction au MSP 430
Prsentation des SoC
Quest ce quun SoC
Exemple SoC: appareil photo
numrique
Autre exemple: iPaQ H5500
Architecture carte iPaQ
H5500 Architecture S3CA400A01
(companion chip)
Critres de qualit de
conception dun SOC
Choix en fonction des
contraintes Mthodologie de conception
SocLib
Organisation logicielle
Exemple dune plateforme
soclib
- p. 64/133
Critres de qualit de conception dun SOC
Mtriques usuelles Cot lunit: cot de fabrication dune unit sans inclure
les cot non rcurrents Cots non rcurrents: cot de conception dun systme
(cot de mise en place de la premire pice). Taille Performance Consommation volutivit: possibilit de faire voluer le systme pour en
avoir des versions drives.
Introduction
Processeurs embarqus
introduction au MSP 430
Prsentation des SoC
Quest ce quun SoC
Exemple SoC: appareil photo
numrique
Autre exemple: iPaQ H5500
Architecture carte iPaQ
H5500 Architecture S3CA400A01
(companion chip)
Critres de qualit de
conception dun SOC
Choix en fonction des
contraintes Mthodologie de conception
SocLib
Organisation logicielle
Exemple dune plateforme
soclib
- p. 65/133
Critres de qualit de conception dun SOC
Mtriques usuelles (suite) Temps de prototypage : temps de mise en place dun
premier systme fonctionnel Temps de mise sur le march : systme suffisamment
fiable pour tre commercialis Maintenance : possibilit de modifications du systme par
rapport sa premire version Fiabilit, sret de fonctionnement, . . .
Introduction
Processeurs embarqus
introduction au MSP 430
Prsentation des SoC
Quest ce quun SoC
Exemple SoC: appareil photo
numrique
Autre exemple: iPaQ H5500
Architecture carte iPaQ
H5500 Architecture S3CA400A01
(companion chip)
Critres de qualit de
conception dun SOC
Choix en fonction des
contraintes Mthodologie de conception
SocLib
Organisation logicielle
Exemple dune plateforme
soclib
- p. 66/133
Choix en fonction des contraintes
Une grande souplesse de ralisation est possible Il ny a pas de solution unique
implmentation
contraintede cot
implmenationuniquement logicielle
de performance
Performance
Cot
contrainte
uniquement matrielle
Introduction
Processeurs embarqus
introduction au MSP 430
Prsentation des SoC
Quest ce quun SoC
Exemple SoC: appareil photo
numrique
Autre exemple: iPaQ H5500
Architecture carte iPaQ
H5500 Architecture S3CA400A01
(companion chip)
Critres de qualit de
conception dun SOC
Choix en fonction des
contraintes Mthodologie de conception
SocLib
Organisation logicielle
Exemple dune plateforme
soclib
- p. 67/133
Mthodologie de conception
Intrts du codesign Conception rapide de SoC : time to market
Cycle de conception de haut niveau pour rduire lestemps destimations des solutions
Rduire la difficult de validation et dboguage Rutilisation dIP Modules reconfigurables
Converger vers une solution optimale en fonction descontraintes de dpart
Introduction
Processeurs embarqus
introduction au MSP 430
Prsentation des SoC
Quest ce quun SoC
Exemple SoC: appareil photo
numrique
Autre exemple: iPaQ H5500
Architecture carte iPaQ
H5500 Architecture S3CA400A01
(companion chip)
Critres de qualit de
conception dun SOC
Choix en fonction des
contraintes Mthodologie de conception
SocLib
Organisation logicielle
Exemple dune plateforme
soclib
- p. 68/133
Mthodologie de conception
La conception ncessite davoir une modlisation complte Approche logicielle
les objets migrent vers le HW jusqu ce que lescontraintes de performances soit atteintes (pour un cotminimum)
Approche matrielle 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.
Introduction
Processeurs embarqus
introduction au MSP 430
Prsentation des SoC
Quest ce quun SoC
Exemple SoC: appareil photo
numrique
Autre exemple: iPaQ H5500
Architecture carte iPaQ
H5500 Architecture S3CA400A01
(companion chip)
Critres de qualit de
conception dun SOC
Choix en fonction des
contraintes Mthodologie de conception
SocLib
Organisation logicielle
Exemple dune plateforme
soclib
- p. 69/133
SocLib
http://soclib.lip6.fr/ Environnement de conception et de simulation gratuit et
open source Utilise des modles de composants crits en SystemC
processeur interconnexion priphriques . . .
Utilisation dune chane de compilation standard (GNU)
Introduction
Processeurs embarqus
introduction au MSP 430
Prsentation des SoC
Quest ce quun SoC
Exemple SoC: appareil photo
numrique
Autre exemple: iPaQ H5500
Architecture carte iPaQ
H5500 Architecture S3CA400A01
(companion chip)
Critres de qualit de
conception dun SOC
Choix en fonction des
contraintes Mthodologie de conception
SocLib
Organisation logicielle
Exemple dune plateforme
soclib
- p. 70/133
Organisation logicielle
Systme dexploitation multithread : Mutek Gestion de lAPI de thread Posix Gestion des interruptions Commutation de contexte rapide
Logiciel cross-compil avec gcc Intgration du systme avec lapplicatif ldition des liens
http://soclib.lip6.fr/
Introduction
Processeurs embarqus
introduction au MSP 430
Prsentation des SoC
Quest ce quun SoC
Exemple SoC: appareil photo
numrique
Autre exemple: iPaQ H5500
Architecture carte iPaQ
H5500 Architecture S3CA400A01
(companion chip)
Critres de qualit de
conception dun SOC
Choix en fonction des
contraintes Mthodologie de conception
SocLib
Organisation logicielle
Exemple dune plateforme
soclib
- p. 71/133
Exemple dune plateforme soclib
I
MISP 3000
D
RAM
smaphores
Interconnexion
CacheRAM
TTY
RAM multi bancs
filtre audio
Plan du cours 1 (2H)IntroductionUn peu d'histoireUn peu d'histoire Commentaire (encarta)Un peu d'histoire CommentairesAujourd'huiCommentaire
Processeurs embarqusProcesseurs embarqusCommentaire Part de marchCommentaire Contradiction ?Commentaire Et au sein des processeurscommentaire Commentaire: O vont ces processeurs?Commentaire: a mettre au chap 1 Varit des processeurs embarqusCommentaire Une image en 2007Commentaire Architecture "Von Neuman" ou "Princeton"Commentaire Architecture HarvardCommentaire Le jeu d'instructionCommentaire CISC: Complex Instruction Set ComputerCommentaire Exemple: instructions de l'ISA du PentiumCommentaire RISC: Reduced Instruction Set ComputerCommentaire Exemple: instructions de l'ISA du MSPCommentaireLe CPUCommentaire Le pipeline RISC: exemple du MIPSCommentaire Le pipeline RISC: exemple du MIPSCommentaire Le pipeline RISC: exemple du MIPSCommentaire Bilan architecture non pipelineCommentaire Paralllisme au sein du processeurCommentaire Paralllisme au sein du processeurCommentaire MmoireCommentaire Principe du CacheCommentaire Hirarchie MmoireCommentaire Diffrents types de processeurs embarqusCommentaire 68000, x86 Commentaire SPARC, 29000 et i960 Commentaire MIPS, ARM, SuperH et PowerPCCommentaire Et les autres.... Commentaire Micro-contrleurs Commentaire DSP: Digital Signal ProcessingCommentaire Quelques mcanismes matriels utilesCommentaire Quelques mcanismes matriels utilesCommentaire Quelques mcanismes matriels utilesCommentaire Quelques mcanismes matriels utilesCommentaire Quelques mots sur la consommationCommentaire Consommation d'un circuit CMOSCommentaire Rduction statique de la consommationCommentaire Rduction dynamique de la consommationCommentaire Low Power Mode pour le MSP430Commentaire
introduction au MSP 430introduction au MSP 430TI MSP430 : ez430-rf2500Documents techniquesArchitecture du MSPCPU RISC 16 bits Periphrique intgrsPriphrique mapp en mmoireExemple: multiplieur cablMapping mmoireChane de dveloppement
Prsentation des SoC RTS6: Conception et programmation de Systmes EmbarqusCommentaireQu'est ce qu'un SoCCommentaireQ'est ce qu'un SoCCommentaireExemple SoC: appareil photo numriqueCommentaireAutre exemple: iPaQ H5500 Commentaire iPaQ H5500, une fois dmont CommentaireArchitecture carte iPaQ H5500 CommentaireArchitecture S3CA400A01 (companion chip)CommentaireCritres de qualit de conception d'un SOCCommentaireCritres de qualit de conception d'un SOCCommentaireChoix en fonction des contraintesCommentaireMthodologie de conceptionMthodologie de conceptionSocLibOrganisation logicielleExemple d'une plateforme soclib