Professional Documents
Culture Documents
Fabrice Jumel, Kevin Marquet, Lionel Morel, Tanguy Risset, Guillaume Salagnac
tanguy.risset@insa-lyon.fr
Lab CITI, INSA de Lyon
- p. 1/70
Le cours Systme embarqu
- p. 2/70
Les intervenants
- p. 3/70
Plan du cours 1 (2H)
URL:
http://perso.citi.insa-lyon.fr/trisset/cours/rts12/
- p. 4/70
Plan du cours 1 (2H)
URL:
http://perso.citi.insa-lyon.fr/trisset/cours/rts12/
- p. 5/70
Un peu dhistoire
Introduction
Aujourdhui
Fin du XIXme sicle : dmonstration du potentiel des
Processeurs embarqus
technologies lectroniques pour les transmissions sans fil.
introduction au MSP 430
Seconde guerre mondiale
Prsentation des SoC
Application au calcul (dcryptage)
Premiers ordinateurs (ENIAC)
1947-1954
Invention puis commercialisation des transistors
semi-conducteurs
Les transistors remplacent les postes radio tubes
- p. 6/70
Un peu dhistoire
Introduction
Aujourdhui
1960-2010
Rduction des tailles de transistors ( 100000)
Processeurs embarqus
volution anticipe (loi de Moore)
introduction au MSP 430
Industrie au coeur de la croissance conomique des 50
Prsentation des SoC
dernires annes
Augmentation exponentielle des performances
anne1971
Density (Frank): MAD = 10 10
Stagnation des performances pour la rapidit daccs
- p. 7/70
Aujourdhui
Introduction
Aujourdhui
Circuits mixtes analogique/digital (tlcommunications)
Processeurs embarqus
Micro-systmes (capteurs, actionneurs intgrs)
introduction au MSP 430 Nano-technologies (horizon 5 10 ans)
Prsentation des SoC
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
- p. 8/70
Introduction
Processeurs embarqus
Processeurs embarqus
connomie
ISA
Pipeline
Classification
Charactristiques Processeurs embarqus
introduction au MSP 430
- p. 9/70
Part de march
- p. 10/70
Contradiction ?
- p. 11/70
Et au sein des processeurs
- p. 12/70
Varit des processeurs embarqus
Introduction
Processeurs embarqus
Processeurs embarqus
connomie
ISA
Pipeline
Classification
Charactristiques
- p. 13/70
Une image en 2007
Introduction
Processeurs embarqus
Processeurs embarqus
connomie
ISA
Pipeline
Classification
Charactristiques
- p. 14/70
Architecture "Von Neuman" ou "Princeton"
Memory Proc
- p. 15/70
Architecture Harvard
Data
Memory
- p. 16/70
Le jeu dinstruction
- p. 17/70
CISC: Complex Instruction Set Computer
- p. 18/70
Exemple: instructions de lISA du Pentium
Push ESI
5 3
PUSH Reg
- p. 19/70
RISC: Reduced Instruction Set Computer
- p. 20/70
Exemple: instructions de lISA du MSP
2 operands instruction
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Exemples:
PUSB.B R4
JNE -56
ADD.W R4,R4
- p. 21/70
Le CPU
ALU
Prsentation des SoC
Control unit
control/Status
Register File
PC IR
Memory
- p. 22/70
Le pipeline RISC: exemple du MIPS
- p. 23/70
Le pipeline RISC: exemple du MIPS
- p. 24/70
Le pipeline RISC: exemple du MIPS
- p. 25/70
Bilan architecture non pipeline
- p. 26/70
Paralllisme au sein du processeur
Introduction
Indpendamment du pipeline, Deux paradigmes dominants:
Processeurs embarqus Super Scalaire
Processeurs embarqus
connomie Duplication des units,
ISA
Pipeline Rpartition au vol des instructions sur les units
Classification
Charactristiques disponibles (re-ordonnancement des instructions: out of
introduction au MSP 430 order execution)
Prsentation des SoC
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 instructions
pouvait 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).
- p. 27/70
Paralllisme au sein du processeur
Introduction
Une autre approche possible: instructions SIMD.
Processeurs embarqus Modification du data-path pour proposer des oprations
Processeurs embarqus
connomie parallles sur 16 ou 8 bits
ISA
Pipeline Exemple: Sun Visual Instruction Set, Intel Pentium MMX,
Classification
Charactristiques Philips TriMedia
introduction au MSP 430
Gains importants sur certains traitements mais trs peu
Prsentation des SoC
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
- p. 28/70
Mmoire
- p. 29/70
Principe du Cache
Introduction 0
1
0
Processeurs embarqus 2
Processeurs embarqus 3
connomie 4
ISA 5
Pipeline 6
Classification 7
Charactristiques 0 8
1 9
introduction au MSP 430
1 cycle 2 1020 cycles 10
Espace
11000
001111
03 100000
0 00
11
11111 11
Prsentation des SoC
00
11
Processeur
00
11 0
1
045
1 0
1
0
1 00
11
0012
11
mmoire
13 adressable
6 14
7 15
16
17
18
Cache de donnes (SRAM) 19
20
21
22
23 N1
- p. 30/70
Hirarchie Mmoire
Introduction
SOC
contrleur
mmoire
- p. 31/70
Diffrents types de processeurs embarqus
- p. 32/70
68000, x86
- p. 33/70
SPARC, 29000 et i960
Introduction SPARC
Processeurs embarqus Un des premier RISC avoir t embarqu (pratiquement
Processeurs embarqus
connomie plus aujourdhui)
ISA
Pipeline SPARC est une architecture brevete (soft core,
Classification
Charactristiques Intellectuel Property: IP), plusieurs compagnies fabriquent
introduction au MSP 430 des SPARC
Prsentation des SoC 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 embarqus
au milieu des annes 90 (router rseau et HP Laserjet).
- p. 34/70
MIPS, ARM, SuperH et PowerPC
- p. 35/70
Et les autres....
- p. 36/70
Micro-contrleurs
- p. 37/70
DSP: Digital Signal Processing
- p. 38/70
Quelques mcanismes matriels utiles
- p. 39/70
Quelques mcanismes matriels utiles
- p. 40/70
Quelques mcanismes matriels utiles
- p. 41/70
Quelques mcanismes matriels utiles
- p. 42/70
Quelques mots sur la consommation
- p. 43/70
Consommation dun circuit CMOS
- p. 44/70
Rduction statique de la consommation
- p. 45/70
Introduction
Processeurs embarqus
- p. 46/70
Documents techniques
Introduction
JTAG
Prsentation des SoC
16 Data Bus 8
Conv
- p. 48/70
CPU RISC 16 bits
Introduction
R0/PC Program counter
Processeurs embarqus
R1/SP Stack Pointer
introduction au MSP 430 28 Instructions sur 16 bits R2/SR/CG1 Status Reg
introduction au MSP 430
Documents techniques
Architecture
64 Ko de mmoire adressable R3/CG2 Constant Gen
Priphriques
Chane de dveloppement
Priphriques mapps en R4 General Purpose
.....
16 registres 16 bits (r0-r16) R14 General Purpose
OS CPU
Reserved V SCG1 SCG1 GIE N Z GC
COFF OFF
- p. 49/70
Periphrique intgrs
Introduction timers
Processeurs embarqus
contrleur LCD
introduction au MSP 430
introduction au MSP 430 mutliplieur cabl
Documents techniques
Architecture
Priphriques
contrleur de bus
Chane de dveloppement
convertisseur analogique numrique, comparateur
Prsentation des SoC
ports sries
- p. 50/70
Priphrique mapp en mmoire
- p. 51/70
Exemple: multiplieur cabl
Introduction
int main(void) {
Processeurs embarqus
int i;
introduction au MSP 430
introduction au MSP 430 int *p,*res;
Documents techniques
Architecture
int main(void) {
Priphriques
Chane de dveloppement
int i; __asm__("mov #304, R4");
Prsentation des SoC
int *p,*res; __asm__("mov #2, @R4");
// p=0x130;
p=0x130; // *p=2;
*p=2; __asm__("mov #312, R4");
p=0x138; __asm__("mov #5, @R4");
*p=5; //p=0x138;
res=0x13A; //*p=5;
i=*res; __asm__("mov #314, R4");
__asm__("mov @R4, R5");
nop(); //res=0x13A;
i=*res;
}
nop();
- p. 52/70
Mapping mmoire
- p. 54/70
RTS6: Conception et programmation de Systme
Introduction
Processeurs embarqus
- p. 55/70
Quest ce quun SoC
- p. 56/70
Qest ce quun SoC
- p. 57/70
Exemple SoC: appareil photo numrique
Introduction CCD
Processeurs embarqus
preprocesseur CCD (?)
introduction au MSP 430 CAN
- p. 58/70
Autre exemple: iPaQ H5500
- p. 59/70
iPaQ H5500, une fois dmont
Introduction
Processeurs embarqus
- p. 60/70
Architecture carte iPaQ H5500
Introduction
BUS
Processeurs embarqus
Cotulla Intel PXA250
introduction au MSP 430
SDRAM 1
- p. 61/70
Architecture S3CA400A01 (companion chip)
Introduction
Processeurs embarqus
DMA (2channel)
introduction au MSP 430
CINT
Prsentation des SoC Interuption DP[1:0]
Quest ce quun SoC
DN[1:0]
Exemple SoC: appareil photo USB
Accel I/F
numrique Interface Accelerometer
CS[5:2] 2
XP.XM.YP.YM
ADC[3:0]
- p. 62/70
Critres de qualit de conception dun SOC
- p. 63/70
Critres de qualit de conception dun SOC
- p. 64/70
Choix en fonction des contraintes
- p. 65/70
Mthodologie de conception
Introduction
Intrts du codesign
Processeurs embarqus Conception rapide de SoC : time to market
introduction au MSP 430 Cycle de conception de haut niveau pour rduire les
Prsentation des SoC
Quest ce quun SoC
temps destimations des solutions
Exemple SoC: appareil photo
numrique
Rduire la difficult de validation et dboguage
Autre exemple: iPaQ H5500
Rutilisation dIP
Architecture carte iPaQ
H5500
Architecture S3CA400A01
Modules reconfigurables
(companion chip)
Critres de qualit de Converger vers une solution optimale en fonction des
conception dun SOC
Choix en fonction des contraintes de dpart
contraintes
Mthodologie de conception
SocLib
Organisation logicielle
Exemple dune plateforme
soclib
- p. 66/70
Mthodologie de conception
- p. 67/70
SocLib
Introduction
Processeurs embarqus
- p. 68/70
Organisation logicielle
- p. 69/70
Exemple dune plateforme soclib
Introduction
- p. 70/70