cours_conception des systemes embarques

36
 - p. 1/133 RTS6: Conception et programmation de Systèmes Embarqués cours 1: Introduction aux systèmes embarqués Antoine Fraboulet, Fabrice Jumel, Lionel Morel, Tanguy Risset [email protected] Lab CITI, INSA de Lyon Introduction Processeurs embarqués introduction au MSP 430 Présentation des SoC - p. 2/133 Plan du cours 1 (2H)  Introduction générale aux systèmes embarqués  Architecture des processeurs embarqués  Présentation rapides du MSP430  Systèmes sur puces

Upload: reda-boutenfit

Post on 06-Jul-2015

298 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Cours_Conception Des Systemes Embarques

5/8/2018 Cours_Conception Des Systemes Embarques - slidepdf.com

http://slidepdf.com/reader/full/coursconception-des-systemes-embarques 1/36

 

- p. 1/133

RTS6: Conception et programmation deSystèmes Embarqués

cours 1: Introduction aux systèmesembarqués

Antoine Fraboulet, Fabrice Jumel, Lionel Morel, Tanguy Risset

[email protected] CITI, INSA de Lyon

Introduction

Processeurs embarqués

introduction au MSP 430

Présentation des SoC

Plan du cours 1 (2H)

s Introduction générale aux systèmes embarquéss Architecture des processeurs embarquéss Présentation rapides du MSP430s Systèmes sur puces

Page 2: Cours_Conception Des Systemes Embarques

5/8/2018 Cours_Conception Des Systemes Embarques - slidepdf.com

http://slidepdf.com/reader/full/coursconception-des-systemes-embarques 2/36

 

Introduction

qUn peu d’histoire

qAujourd’hui

Processeurs embarqués

introduction au MSP 430

Présentation des SoC

- p. 3/133

Un peu d’histoire

Introduction

qUn peu d’histoire

qAujourd’hui

Processeurs embarqués

introduction au MSP 430

Présentation des SoC

Un peu d’histoire

s Fin du XIXème siècle : démonstration du potentiel destechnologies électroniques pour les transmissions sans fil.

s Seconde guerre mondialex Application au calcul (décryptage)x Premiers ordinateurs (ENIAC)

s 1947-1954x Invention puis commercialisation des transistors à

semi-conducteursx Les « transistors » remplacent les postes radio à tubes

s Années 60 et 70: premiers circuits intégrés, LSI

Page 3: Cours_Conception Des Systemes Embarques

5/8/2018 Cours_Conception Des Systemes Embarques - slidepdf.com

http://slidepdf.com/reader/full/coursconception-des-systemes-embarques 3/36

 

Introduction

qUn peu d’histoire

qAujourd’hui

Processeurs embarqués

introduction au MSP 430

Présentation des SoC

- p. 5/133

Un peu d’histoire

s 1960-2002x Réduction des tailles de transistors (≃ 10000)x Évolution anticipée (loi de Moore)x Industrie au coeur de la croissance économique des 50

dernières annéesx Augmentation exponentielle des performances

s Puissance (Joy) :MIPS = 2année−1984

s Densité (Moore) :Transistors par puce = 2année−1964s Densité des supports magnétiques «Maximal Areal

Density» (Frank): MAD = 10année−1971

10s

“Stagnation” des performances pour la rapidité d’accèsaux disques→ RAID (multiplications des disques) etcaches.

Introduction

qUn peu d’histoire

qAujourd’hui

Processeurs embarqués

introduction au MSP 430

Présentation des SoC

Aujourd’hui

s Circuits mixtes analogique/digital (télécommunications)s Micro-systèmes (capteurs, actionneurs intégrés)s Nano-technologies (horizon 5 à 10 ans)s Taille de gravure: 90 nms Coûts de R&D de plus en plus élevéss La demande (ordinateurs, téléphones mobiles, etc.) stagnes Peu de produits vraiment nouveaux (VHS => DVD,

caméscopes => numériques, téléphones fixes => mobiles)s Crise financière et économique des TIC

Page 4: Cours_Conception Des Systemes Embarques

5/8/2018 Cours_Conception Des Systemes Embarques - slidepdf.com

http://slidepdf.com/reader/full/coursconception-des-systemes-embarques 4/36

 

Introduction

Processeurs embarqués

qProcesseurs embarqués

qÉconnomie

q ISA

qPipeline

qClassification

qCharactéristiques

introduction au MSP 430

Présentation des SoC

- p. 7/133

Processeurs embarqués

Introduction

Processeurs embarqués

qProcesseurs embarqués

qÉconnomie

q ISA

qPipeline

qClassification

qCharactéristiques

introduction au MSP 430

Présentation des SoC

Part de marché

s Quel est le le microprocesseur le plus vendu ?x Réponse classique: "Le Pentium: 92% du marché"

s Faux!......x En fait les Pentium ne représentent que 2% des

microprocesseurs vendus dans le monde.

Page 5: Cours_Conception Des Systemes Embarques

5/8/2018 Cours_Conception Des Systemes Embarques - slidepdf.com

http://slidepdf.com/reader/full/coursconception-des-systemes-embarques 5/36

 

Introduction

Processeurs embarqués

qProcesseurs embarqués

qÉconnomie

q ISA

qPipeline

qClassification

qCharactéristiques

introduction au MSP 430

Présentation des SoC

- p. 9/133

Contradiction ?

s Alors d’ou vient la position d’Intel (16% du marché dessemi-conducteurs) ?

s processeurs: 2% du silicium, 30% des revenus

Introduction

Processeurs embarqués

qProcesseurs embarqués

qÉconnomie

q ISA

qPipeline

qClassification

qCharactéristiques

introduction au MSP 430

Présentation des SoC

Et au sein des processeurs

s 3 milliards de processeurs 8 bits vendus par an (8051, 6805etc.)

s 32 bits (Pentium, Athlon, mais aussi PowerPC, 68000, MIPS,ARM etc.)

s La plupart (98%) sont embarqués (3 fois plus d’ARM vendusque de Pentium)

Page 6: Cours_Conception Des Systemes Embarques

5/8/2018 Cours_Conception Des Systemes Embarques - slidepdf.com

http://slidepdf.com/reader/full/coursconception-des-systemes-embarques 6/36

 

Introduction

Processeurs embarqués

qProcesseurs embarqués

qÉconnomie

q ISA

qPipeline

qClassification

qCharactéristiques

introduction au MSP 430

Présentation des SoC

- p. 11/133

Variété des processeurs embarqués

s Les applications sont plus variées que pour les ordinateurss Beaucoup de processeurs embarqués sont des processeurs

de bureau qui n’ont pas percés (MIPS, 68K, SPARC, ARM,PowerPC)

Introduction

Processeurs embarqués

qProcesseurs embarqués

qÉconnomie

q ISA

qPipeline

qClassification

qCharactéristiques

introduction au MSP 430

Présentation des SoC

Une image en 2007

Page 7: Cours_Conception Des Systemes Embarques

5/8/2018 Cours_Conception Des Systemes Embarques - slidepdf.com

http://slidepdf.com/reader/full/coursconception-des-systemes-embarques 7/36

 

Introduction

Processeurs embarqués

qProcesseurs embarqués

qÉconnomie

q ISA

qPipeline

qClassification

qCharactéristiques

introduction au MSP 430

Présentation des SoC

- p. 13/133

Architecture "Von Neuman" ou "Princeton"

s La mémoire contient les données et les instructionss L’unité centrale (CPU) charge les instructions depuis la

mémoire.s Un ensemble de registres aide le CPU:

x Compteur d’instructions (Program counter: PC),x Registre d’instruction (Instruction register: IR)x Pointeur de pile (stack pointer: SP)x Registres à usage général (Accumulateur: A)

Memory Proc

Introduction

Processeurs embarqués

qProcesseurs embarqués

qÉconnomie

q ISA

qPipeline

qClassification

qCharactéristiques

introduction au MSP 430

Présentation des SoC

Architecture Harvard

s Données et instructions dans des mémoires séparéess Autorise deux accès simultanés à la mémoire.s Utilisé pour la plupart des DSP

x meilleure bande passantex Performances plus prédictibles

Proc

Memory

Memory

Data

Instruction

Page 8: Cours_Conception Des Systemes Embarques

5/8/2018 Cours_Conception Des Systemes Embarques - slidepdf.com

http://slidepdf.com/reader/full/coursconception-des-systemes-embarques 8/36

 

Introduction

Processeurs embarqués

qProcesseurs embarqués

qÉconnomie

q ISA

qPipeline

qClassification

qCharactéristiques

introduction au MSP 430

Présentation des SoC

- p. 15/133

Le jeu d’instruction

s Le jeu d’instruction (Instruction Set Architecture: ISA) a uneimportance capitalex Il détermine les instructions élémentaires exécutées par le

CPU.x C’est un équilibre entre la complexité matérielle du CPU

et la facilité d’exprimer les actions requisesx On le représente de manière symbolique (ex: MSP, code

sur 16 bits):mov r5,@r8 ; commentaire [R8]<-R5

lab: ADD r4,r5 ; R5<-R5+R4

s Deux classes de jeux d’instructions:x

CISC: Complex Instruction Set Computerx RISC: Reduce Instruction Set Computer

Introduction

Processeurs embarqués

qProcesseurs embarqués

qÉconnomie

q ISA

qPipeline

qClassification

qCharactéristiques

introduction au MSP 430

Présentation des SoC

CISC: Complex Instruction Set Computer

s Une instruction peut designer plusieurs opérationsélémentaires.

Ex: un load, une opération arithmétique et un store,Ex: calculer une interpolation linéaire de plusieurs

valeurs en mémoire.s Accélération par des mécanismes matériels complexess Grandes variations de taille et de temps d’exécution pour les

instructionss Résulte en un code compact mais complexe à générer.s Vax, Motorola 68000, Intel x86/Pentium

Page 9: Cours_Conception Des Systemes Embarques

5/8/2018 Cours_Conception Des Systemes Embarques - slidepdf.com

http://slidepdf.com/reader/full/coursconception-des-systemes-embarques 9/36

 

Introduction

Processeurs embarqués

qProcesseurs embarqués

qÉconnomie

q ISA

qPipeline

qClassification

qCharactéristiques

introduction au MSP 430

Présentation des SoC

- p. 17/133

Exemple: instructions de l’ISA du Pentium

JE EIP + displacement

JE Condition Displacement

4 8

Call

CALL Offset

8 32

Mov $EBX, [EDI+displacement]

MOV

6 1

wd r−m postbyte

8

Displacement

8

Push ESI

PUSH Reg

5

Add $EAX, Immediate

4

ADD

Test $EDX, Immediate

1

17 32

ImmediatePostBytewTEST

4

32

Immediate

13

Reg w

8

3

Introduction

Processeurs embarqués

qProcesseurs embarqués

qÉconnomie

q ISA

qPipeline

qClassification

qCharactéristiques

introduction au MSP 430

Présentation des SoC

RISC: Reduced Instruction Set Computer

s Petites instructions simples, toutes de même taille, ayanttoutes (presque) le même temps d’exécution

s Pas d’instruction complexes Accélération en pipelinant l’exécution (entre 3 et 7 étages de

pipeline pour une instruction) ⇒ augmentation de la vitessed’horloge

s Code plus simple à générer, mais moins compacts Tous les microprocesseurs modernes utilisent ce paradigme:

SPARC, MIPS, ARM, PowerPC, etc.

Page 10: Cours_Conception Des Systemes Embarques

5/8/2018 Cours_Conception Des Systemes Embarques - slidepdf.com

http://slidepdf.com/reader/full/coursconception-des-systemes-embarques 10/36

 

Introduction

Processeurs embarqués

qProcesseurs embarqués

qÉconnomie

q ISA

qPipeline

qClassification

qCharactéristiques

introduction au MSP 430

Présentation des SoC

- p. 19/133

Exemple: instructions de l’ISA 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:s PUSB.B R4

s JNE -56

s ADD.W R4,R4

Introduction

Processeurs embarqués

qProcesseurs embarqués

qÉconnomie

q ISA

qPipeline

qClassification

qCharactéristiques

introduction au MSP 430

Présentation des SoC

Le CPU

s L’unité de contrôle configure le chemin de donnée suivantl’instruction à exécuter.

s L’exécution d’une instruction est décomposée en plusieursphases d’un cycle.

PC IR

Processor

Memory

Control unit

ALU

Datapath

Register File

control/Status

Page 11: Cours_Conception Des Systemes Embarques

5/8/2018 Cours_Conception Des Systemes Embarques - slidepdf.com

http://slidepdf.com/reader/full/coursconception-des-systemes-embarques 11/36

 

Introduction

Processeurs embarqués

qProcesseurs embarqués

qÉconnomie

q ISA

qPipeline

qClassification

qCharactéristiques

introduction au MSP 430

Présentation des SoC

- p. 21/133

Le pipeline RISC: exemple du MIPS

s Le pipeline dépend de l’architecture, pour le MIPS:x Instruction Fetch (IF, Fetch):

charge l’instruction dans l’IRx Instruction Decode (ID, Decode):

décode l’instruction et met en place le contrôle du cheminde donnée

x Execute (Ex): exécute le calcul dans le chemin dedonnée.

x Memory access (Mem): accède la mémoirex Write Back (WB): écrit dans le banc de registre

Introduction

Processeurs embarqués

qProcesseurs embarqués

qÉconnomie

q ISA

qPipeline

qClassification

qCharactéristiques

introduction au MSP 430

Présentation des SoC

Le pipeline RISC: exemple du MIPS

s Physiquement, l’architecture du processeur est organisée encalculs combinatoires pour chaque étape de pipeline,séparés par des registres.

Page 12: Cours_Conception Des Systemes Embarques

5/8/2018 Cours_Conception Des Systemes Embarques - slidepdf.com

http://slidepdf.com/reader/full/coursconception-des-systemes-embarques 12/36

 

Introduction

Processeurs embarqués

qProcesseurs embarqués

qÉconnomie

q ISA

qPipeline

qClassification

qCharactéristiques

introduction au MSP 430

Présentation des SoC

- p. 23/133

Le pipeline RISC: exemple du MIPS

s Lorsque l’instruction suivante ne peut pas être exécutée toutde suite, cela crée une "bulle".

s Par exemple une addition utilisant un registre qui vient d’êtrechargé doit être retardé d’un cycle.

Introduction

Processeurs embarqués

qProcesseurs embarqués

qÉconnomie

q ISA

qPipeline

qClassification

qCharactéristiques

introduction au MSP 430

Présentation des SoC

Bilan architecture non pipelinée

s Exécution non pipelinée:x 5 cycles pour exécuter une instructionx ⇒ 15 cycles pour 3 instructions.

s Exécution pipelinée:x 5 cycles pour exécuter une instructionx 8 cycles pour 3 instructions.x ⇒ sans branchement, une instruction par cyclex Un branchement (conditionnel ou pas) interrompt le

pipeline car il faut attendre de décoder l’adresse debranchement pour charger l’instruction suivante⇒quelques cycles d’inactivité (pipeline stall)

x Lors d’un branchement, certain ISA autorisent l’utilisationde ces delai slots : une ou deux instructions après lebranchement sont exécutées, que le branchement soitpris ou pas (comme si elles étaint écrites avant lebranchement).

Page 13: Cours_Conception Des Systemes Embarques

5/8/2018 Cours_Conception Des Systemes Embarques - slidepdf.com

http://slidepdf.com/reader/full/coursconception-des-systemes-embarques 13/36

 

Introduction

Processeurs embarqués

qProcesseurs embarqués

qÉconnomie

q ISA

qPipeline

qClassification

qCharactéristiques

introduction au MSP 430

Présentation des SoC

- p. 25/133

Parallélisme au sein du processeur

Indépendamment du pipeline, Deux paradigmes dominants:s Super Scalaire

x Duplication des unités,x Répartition au vol des instructions sur les unités

disponibles (re-ordonnancement des instructions: out of order execution )

x Exemple: le PowerPC 970 (4 ALU, 2 FPU)x Efficace mais complexifie l’unité de contrôle (problème

des interruptions)s Very Large Instruction Word (VLIW)

x Duplication des unités,x

L’ordonnancement des instructions est fixé à lacompilation (tout se passe comme si les instructionspouvait être regroupe sur 64 bits, 128 bits etc.)

x Inventé par Josh Fisher (Yale) à partir du trace schedulingx Les processeurs VLIW sont tous basés sur les

architecures RISC, avec entre 4 et 8 unités.x Exemple: TriMedia (Philips), Itanium IA64 (Intel).

Introduction

Processeurs embarqués

qProcesseurs embarqués

qÉconnomie

q ISA

qPipeline

qClassification

qCharactéristiques

introduction au MSP 430

Présentation des SoC

Parallélisme au sein du processeur

Une autre approche possible: instructions SIMD.s Modification du data-path pour proposer des opérations

parallèles sur 16 ou 8 bitss Exemple: Sun Visual Instruction Set, Intel Pentium MMX,

Philips TriMedias Gains importants sur certains traitements mais très peu

utilisé en pratique (difficile à inférer par le compilateur)x Librairies écrites en assembleur (programmes non

portables)x Fonction C représentant 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

* ** *

+

Page 14: Cours_Conception Des Systemes Embarques

5/8/2018 Cours_Conception Des Systemes Embarques - slidepdf.com

http://slidepdf.com/reader/full/coursconception-des-systemes-embarques 14/36

 

Introduction

Processeurs embarqués

qProcesseurs embarqués

qÉconnomie

q ISA

qPipeline

qClassification

qCharactéristiques

introduction au MSP 430

Présentation des SoC

- p. 27/133

Mémoire

s Plusieurs technologies pour les mémoires:x Mémoires statiques (SRAM): petites, rapides,

consommatrices, peu denses (chères).x Mémoires dynamiques (DRAM): grandes, lentes, très

denses, transactions chèress De plus en plus de place On-Chip pour la mémoire (dans ce

cas elles sont moins efficaces que les chips mémoire).s Ne pas oublier que le code aussi réside en mémoires Tous les systèmes ont des caches pour cacher les temps de

latence lors de l’accès à la mémoire, en général plusieursniveaux de caches: hiérarchie mémoire.

Introduction

Processeurs embarqués

qProcesseurs embarqués

qÉconnomie

q ISA

qPipeline

qClassification

qCharactéristiques

introduction au MSP 430

Présentation des SoC

Principe du Cache

  0 0 0  1 1 1 0 0 0 1 1 1 0 0 0 1 1 1   0 0 0 0 0 0  1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1  0 0 0 0 0 0 1 1 1 1 1 1Processeur1 cycle

Cache de données (SRAM)

10−20 cycles Espacemémoireadressable

0

N−1

Mémoire 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

Page 15: Cours_Conception Des Systemes Embarques

5/8/2018 Cours_Conception Des Systemes Embarques - slidepdf.com

http://slidepdf.com/reader/full/coursconception-des-systemes-embarques 15/36

 

Introduction

Processeurs embarqués

qProcesseurs embarqués

qÉconnomie

q ISA

qPipeline

qClassification

qCharactéristiques

introduction au MSP 430

Présentation des SoC

- p. 29/133

Hiérarchie Mémoire

Mémoire cachede niveau 4

Processeur /DSP /DSP

Processeur

ASIC / ASIP

contrôleurmémoire

Bus système externe

Bancs de mémoire DRAM

SOC

D I D I

Cache

de niveau 3 de niveau 2

Cache

D: cache de données

I: cache d’instructions

Introduction

Processeurs embarqués

qProcesseurs embarqués

qÉconnomie

q ISA

qPipeline

qClassification

qCharactéristiques

introduction au MSP 430

Présentation des SoC

Différents types de processeurs embarqués

s Beaucoup de Processeurs à usage général ayant une oudeux générations

s 4, 8, 16 ou 32 bits (taille des mots)s RISC et CISCs DSP: Digital Signal Processors ASIP: Application Specific Integrated Processor

Page 16: Cours_Conception Des Systemes Embarques

5/8/2018 Cours_Conception Des Systemes Embarques - slidepdf.com

http://slidepdf.com/reader/full/coursconception-des-systemes-embarques 16/36

 

Introduction

Processeurs embarqués

qProcesseurs embarqués

qÉconnomie

q ISA

qPipeline

qClassification

qCharactéristiques

introduction au MSP 430

Présentation des SoC

- p. 31/133

68000, x86

s Famille des Motorola 68000x Un des plus vieux processeur embarqué (ex Sun, Mac)x Architecture CISCx ISA propre et les meilleurs outils de développement,

beaucoup d’utilisateurss Famille des x86

x Démarre au 8086 (Intel) puis 80286, 386, 486, Pentium, etAthlon (AMD)

x En processeurs embarqués: 5 fois moins que MIPS, ARMou 68000.

x architecture CISC, compatible avec le code du 8086x

compatibilité mais mauvaises performances

Introduction

Processeurs embarqués

qProcesseurs embarqués

qÉconnomie

q ISA

qPipeline

qClassification

qCharactéristiques

introduction au MSP 430

Présentation des SoC

SPARC, 29000 et i960

s SPARCx Un des premier RISC à avoir été embarqué (pratiquement

plus aujourd’hui)x SPARC est une architecture brevetée (soft core,

Intellectuel Property: IP), plusieurs compagnies fabriquentdes SPARCs 29000 (AMD)

x Le 29000 a eu beaucoup de succès (imprimante laserApple) grâce à ces 192 registres

x AMD a arrêté la production car le développement desoutils coûtait trop cher.

s i960 (intel)x

Le i960 a été le plus vendu des processeurs embarquésau milieu des années 90 (router réseau et HP Laserjet).

Page 17: Cours_Conception Des Systemes Embarques

5/8/2018 Cours_Conception Des Systemes Embarques - slidepdf.com

http://slidepdf.com/reader/full/coursconception-des-systemes-embarques 17/36

 

Introduction

Processeurs embarqués

qProcesseurs embarqués

qÉconnomie

q ISA

qPipeline

qClassification

qCharactéristiques

introduction au MSP 430

Présentation des SoC

- p. 33/133

MIPS, ARM, SuperH et PowerPC

s MIPS (microprocessor without interlocked pipeline stages)x Originellement pour les stations puissantes (SGI)x Puis, marché des consoles de jeux (Nitendo N64)x Famille très étendue: du plus gros (MIPS 20Kc, 64 bit) au

plus petit (SmartMIPS, 32 bit pour carte à puce)s ARM (Advanced RISC Machines, ex Acorn)

x Un des 32 bits embarqués les plus populaires :téléphones portables

x Faible consommationx Le successeur: StrongArm est commercialisé par Intel

sous le nom de XScale

s SuperH (ou SH: Hitachi) Utilisé dans les stations Sega et lesPDAs PowerPC autant utilisé en embarqué qu’en ordinateur

Introduction

Processeurs embarqués

qProcesseurs embarqués

qÉconnomie

q ISA

qPipeline

qClassification

qCharactéristiques

introduction au MSP 430

Présentation des SoC

Et les autres....

s Plus de 100 processeurs embarqués 32 bits sur le marchés Les constructeurs de FPGA proposent des soft-processeurs

pour configurer les FPGA: Nios (Altera), MicroBlaze (Xilinx)s Certain processeurs RISC (Crusoe de Transmetta) peuvent

exécuter du code CISC (Intel)x Principe: recompilation du code à l’exécution (runtime 

compilation )x Gain obtenus par un mécanisme de cache, d’optimisation

poussée des portion de code répétées (boucle), et grâceau parallélisme de niveau instruction

x Réduction drastique de la consommation pour desperformances équivalentes

Page 18: Cours_Conception Des Systemes Embarques

5/8/2018 Cours_Conception Des Systemes Embarques - slidepdf.com

http://slidepdf.com/reader/full/coursconception-des-systemes-embarques 18/36

 

Introduction

Processeurs embarqués

qProcesseurs embarqués

qÉconnomie

q ISA

qPipeline

qClassification

qCharactéristiques

introduction au MSP 430

Présentation des SoC

- p. 35/133

Micro-contrôleurs

s Utilisé pour le contrôle embarquéx Censeur, contrôleurs simplesx Manipule des événements, quelques données mais en

faible quantitéx Exemple: camescope, disque dur, appareil photo

numérique, machine à laver, four à micro-ondes Quelques caractéristiques fréquentes

x Périphériques présents sur le circuit (timer, convertisseuranalogique numérique, interface de communication),accessible directement grâce aux registres

x Programme et données intégrées au circuitx

Accès direct du programmeur à de nombreuses brochesdu circuitx Instructions spécialisées pour les manipulation de bits.

s Le MSP430 appartient à cette catégorie

Introduction

Processeurs embarqués

qProcesseurs embarqués

qÉconnomie

q ISA

qPipeline

qClassification

qCharactéristiques

introduction au MSP 430

Présentation des SoC

DSP: Digital Signal Processing

s Utilisés pour les applications de traitement du signalx Grande quantités de données numérisées, souvent

organisées en fluxx Filtre numérique sur téléphone, TV numérique,

synthétiseur de sonss Relativement proche des GPP, mais quelques

caractéristiques en plus:x Bande passante élevée (deux bus)x Instructions dédiées pour les calculs de traitement du

signal: multiplication accumulation,x Arithmétique spécifique (mode d’arrondi)x Registres dédiés pour certains opérateurs.x Constructeurs: Texas Instrument, puis Analog Devices,

Motorola

Page 19: Cours_Conception Des Systemes Embarques

5/8/2018 Cours_Conception Des Systemes Embarques - slidepdf.com

http://slidepdf.com/reader/full/coursconception-des-systemes-embarques 19/36

 

Introduction

Processeurs embarqués

qProcesseurs embarqués

qÉconnomie

q ISA

qPipeline

qClassification

qCharactéristiques

introduction au MSP 430

Présentation des SoC

- p. 37/133

Quelques mécanismes matériels utiles

s Densité de code:x La taille du code est importante pour les codes

embarqués car elle influe sur la taille de la mémoire

utiliséex Un programme C compilé pour SPARC prendra deux fois

plus de place en mémoire que le même programmecompilé pour le 68030.

x En général les code RISC sont deux fois moins dense queles codes CISC (ex: instruction TBLS du 68300: table lookup and interpolate )

x Les options de compilation doivent être utilisées avecprécaution.

x Le code est quelquefois stocké compressé etdecompressé au vol par du matériel spécifique.

Introduction

Processeurs embarqués

qProcesseurs embarqués

qÉconnomie

q ISA

qPipeline

qClassification

qCharactéristiques

introduction au MSP 430

Présentation des SoC

Quelques mécanismes matériels utiles

s Manipulations au niveau bit:x Utilisé pour les algorithmes de cryptage mais surtout pour

les pilotes de périphériques.x La plupart des périphériques indiquent leur état au

processeur en mettant un certain bit à 1 dans un certainregistre.x Un processeur standard doit rapatrier le mot de 32 bit,

masquer et tester à 0x Les instructions BIC, BIT et BIS du MSP430 font des

manipulation au niveau bit dans la mémoire

Page 20: Cours_Conception Des Systemes Embarques

5/8/2018 Cours_Conception Des Systemes Embarques - slidepdf.com

http://slidepdf.com/reader/full/coursconception-des-systemes-embarques 20/36

 

Introduction

Processeurs embarqués

qProcesseurs embarqués

qÉconnomie

q ISA

qPipeline

qClassification

qCharactéristiques

introduction au MSP 430

Présentation des SoC

- p. 39/133

Quelques mécanismes matériels utiles

s Données non-alignésx De nombreux traitements manipulent des données de

taille non-multiple de 32 (paquets TCP/IP, video streams,

clés d’encryption, 20 bits, 56 bits)x Les processeurs RISC savent uniquement transférer des

mots (32 bits) alignés (calés sur une adresse multiple de32 bits).

x La plupart des architectures CISC (68k, x86) peuvent fairedes chargements non alignés

Introduction

Processeurs embarqués

qProcesseurs embarqués

qÉconnomie

q ISA

qPipeline

qClassification

qCharactéristiques

introduction au MSP 430

Présentation des SoC

Quelques mécanismes matériels utiles

s Gestion spécifique du cachex Les caches améliorent les performances mais introduisent

du non-déterminisme.x Les contraintes spécifiques des systèmes embarqués ont

entraîné des mécanismes particuliers pour les cachex On peut vouloir bloquer le cache (cache locking): forcercertaines données ou instruction à se charger et resterdans le cache (on parle aussi de mémoire scratch-pad memory ou de software controlled cache ).

x La plupart des caches utilisent une politique deWrite-Back: une donnée modifiée dans le cache n’est pasforcément immédiatement recopiée en memoire. Dans lecas de périphériques mappés en mémoire, il est

indispensable de recopier immédiatement (politiquewrite-through )

Page 21: Cours_Conception Des Systemes Embarques

5/8/2018 Cours_Conception Des Systemes Embarques - slidepdf.com

http://slidepdf.com/reader/full/coursconception-des-systemes-embarques 21/36

 

Introduction

Processeurs embarqués

qProcesseurs embarqués

qÉconnomie

q ISA

qPipeline

qClassification

qCharactéristiques

introduction au MSP 430

Présentation des SoC

- p. 41/133

Quelques mots sur la consommation

s Trois composantes de la consommation d’une porte logique(inverseur)x Consommation dynamique : P dyn = C.V 2CC 

(C  capacité de la porte)x Consommation statique : P static = V CC .I leak

(V CC : tension d’alimentation, I leak intensité descourants de fuite)

x Consommation de court-circuit P cs = K.τ.(V CC − 2V Th)3.(K :constante technologique ; V Th:tension seuil ;

τ :temps de montée descente du signal)s Aujourd’hui (2004) P dyn ≫ P static ≫ P cs

s Demain (2007) P dyn ≈ P static≫ P cs

Introduction

Processeurs embarqués

qProcesseurs embarqués

qÉconnomie

q ISA

qPipeline

qClassification

qCharactéristiques

introduction au MSP 430

Présentation des SoC

Consommation d’un circuit CMOS

s Généralisation naïve en prenant en compte une activitémoyenne α (nombre moyen de portes commutant)x Consommation dynamique : P dyn = C.V 2CC .α.f 

(f : fréquence du circuit)x

Consommation statique : P static = V CC .I leak.N.kdesign(N: nombre de portes, kdesign constante dépendantdu design)

s Cette modélisation est très imprécise pour un circuit dont lecomportement n’est pas stationnaire (ex: processeur)

Page 22: Cours_Conception Des Systemes Embarques

5/8/2018 Cours_Conception Des Systemes Embarques - slidepdf.com

http://slidepdf.com/reader/full/coursconception-des-systemes-embarques 22/36

 

Introduction

Processeurs embarqués

qProcesseurs embarqués

qÉconnomie

q ISA

qPipeline

qClassification

qCharactéristiques

introduction au MSP 430

Présentation des SoC

- p. 43/133

Réduction statique de la consommation

s Le facteur le plus important est la tension d’alimentation(V CC ) d’abord 3.3 V puis 2.5 V. Les versions récentes deXscale (strong ARM, Intel) et les puces smartCard

fonctionnent a 0.65 Vs On peut différencier les tensions en fonction du bloc du chip:

1.5 V pour le processeur, 3.3 pour l’interface du bus et lespattes d’entrée/sortie (ex: Strong ARM de Digital)

s Plus la technologie est intégrée, moins elle consomme(capacité diminuée).

s Fréquence d’horloge peu élevée compensée par leparallélisme

s Complexité réduite des différents composants (moins deregistres, architectures RISC)

Introduction

Processeurs embarqués

qProcesseurs embarqués

qÉconnomie

q ISA

qPipeline

qClassification

qCharactéristiques

introduction au MSP 430

Présentation des SoC

Réduction dynamique de la consommation

s Gestion dynamique de la fréquence d’horloges Exemple: processeur Crusoe (Transmetta)

Suppression de l’horloge sur un bloc (Dynamic clock gating )

s Gestion dynamique de l’alimentation (pas encore réalisé)

Page 23: Cours_Conception Des Systemes Embarques

5/8/2018 Cours_Conception Des Systemes Embarques - slidepdf.com

http://slidepdf.com/reader/full/coursconception-des-systemes-embarques 23/36

 

Introduction

Processeurs embarqués

qProcesseurs embarqués

qÉconnomie

q ISA

qPipeline

qClassification

qCharactéristiques

introduction au MSP 430

Présentation des SoC

- p. 45/133

Low Power Mode pour le MSP430

s Différent mode pour réduire la consommationx LPM0: le CPU est arrétéx LPM1, LPM2: l’horloge rapide (MCLK) est aussi arrétéex LPM3 le générateur d’horloge est arrétéx LPM4 : l’oscillateur du crystal est arrété

s Le temps de reprise est d’autant plus long que la veille estprofonde.

Introduction

Processeurs embarqués

introduction au MSP 430

q introduction au MSP 430

qTI MSP430 : ez430-rf2500

qDocuments techniques

q

ArchitectureqPériphériques

qChaîne de développement

Présentation des SoC

introduction au MSP 430

Page 24: Cours_Conception Des Systemes Embarques

5/8/2018 Cours_Conception Des Systemes Embarques - slidepdf.com

http://slidepdf.com/reader/full/coursconception-des-systemes-embarques 24/36

 

Introduction

Processeurs embarqués

introduction au MSP 430

q introduction au MSP 430

qTI MSP430 : ez430-rf2500qDocuments techniques

qArchitecture

qPériphériques

qChaîne de développement

Présentation des SoC

- p. 47/133

TI MSP430 : ez430-rf2500

Introduction

Processeurs embarqués

introduction au MSP 430

q introduction au MSP 430

qTI MSP430 : ez430-rf2500

qDocuments techniques

q

ArchitectureqPériphériques

qChaîne de développement

Présentation des SoC

Documents techniques

s Documents du cours http://

s Manuel de programmation du MSP(MSP430x2xx_Family_User’s_Guide_(Rev._D)_slau144d.pdf)

s Manuel du MSP430F2274 (msp430f2274.pdf)

s Feuilles de schématiques User’s Manual EZ430

(eZ430-RF2500_User Guide_SLAU227A.pdf)

s Datasheet du composant radio (cc2500.pdf)s Documents IAR

x IAR compiler reference guide, ...s Site de Texas Instrument

x

Exemples de programme / drivers, Notes d’application, ...s The mspgcc toolchain:

http://mspgcc.sourceforge.net/

Page 25: Cours_Conception Des Systemes Embarques

5/8/2018 Cours_Conception Des Systemes Embarques - slidepdf.com

http://slidepdf.com/reader/full/coursconception-des-systemes-embarques 25/36

 

Introduction

Processeurs embarqués

introduction au MSP 430

q introduction au MSP 430

qTI MSP430 : ez430-rf2500qDocuments techniques

qArchitecture

qPériphériques

qChaîne de développement

Présentation des SoC

- p. 49/133

Architecture du MSP

RISC−CPU

16 bit

Flash

ROMRAM

Timer

Watchdog

Adress

Data

Peripheral

Clock 

Peripheral Peripheral

Peripheral Peripheral

Bus

Ctrl

Conv

Bus16

16 8

8

16 bits 8 bits 8 bits

8 bits8 bits

   J   T   A   G

Introduction

Processeurs embarqués

introduction au MSP 430

q introduction au MSP 430

qTI MSP430 : ez430-rf2500

qDocuments techniques

q

ArchitectureqPériphériques

qChaîne de développement

Présentation des SoC

CPU RISC 16 bits

s 28 Instructions sur 16 bitss 64 Ko de mémoire adressable

s Périphériques mappés enmémoire

s 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

 . . . . .

dest src

16 bit ALU

Z

C

VN

   M   D   B   M  e  m  o  r  y   D  a   t  a   B  u  s

   M   A   B   M  e  m  o  r  y   A   d   d  r  e  s  s   B  u  s

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

Page 26: Cours_Conception Des Systemes Embarques

5/8/2018 Cours_Conception Des Systemes Embarques - slidepdf.com

http://slidepdf.com/reader/full/coursconception-des-systemes-embarques 26/36

 

Introduction

Processeurs embarqués

introduction au MSP 430

q introduction au MSP 430

qTI MSP430 : ez430-rf2500qDocuments techniques

qArchitecture

qPériphériques

qChaîne de développement

Présentation des SoC

- p. 51/133

Periphérique intégrés

s timerss contrôleur LCDs mutliplieur cablés contrôleur de buss convertisseur analogique numérique, comparateurs ports séries

Introduction

Processeurs embarqués

introduction au MSP 430

q introduction au MSP 430

qTI MSP430 : ez430-rf2500

qDocuments techniques

q

ArchitectureqPériphériques

qChaîne de développement

Présentation des SoC

Périphérique mappé en mémoire

s l’écriture à une certaine adresse est interprétée comme unecommunication avec le périphérique.

s Exemple : le multiplieur matérielx Accessible par des registres mappés entre les adresses

0x0130 et 0x013Fx Écriture à l’adresse 0x130, positionne le premier

opérande (unsigned mult)x Écriture à l’adresse 0x138, positionne le deuxième

opérande et lance le calculx Le résultat est à l’adresse 0x013A, sur 32 bits

s Les autres périphériques sont aussi accessibles par desregistres mappé en mémoire: les SFR (Special Function

Registers), en C:x écriture vers le périphérique: SFR = valeur

x lecture des registres du périphérique: variable = SFR

Page 27: Cours_Conception Des Systemes Embarques

5/8/2018 Cours_Conception Des Systemes Embarques - slidepdf.com

http://slidepdf.com/reader/full/coursconception-des-systemes-embarques 27/36

 

Introduction

Processeurs embarqués

introduction au MSP 430

q introduction au MSP 430

qTI MSP430 : ez430-rf2500qDocuments techniques

qArchitecture

qPériphériques

qChaîne de développement

Présentation 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 embarqués

introduction au MSP 430

q introduction au MSP 430

qTI MSP430 : ez430-rf2500

qDocuments techniques

q

ArchitectureqPériphériques

qChaîne de développement

Présentation des SoC

Mapping mémoire

s Interrupt Vector Table: indique les adresses des fonctions degestion des interruption

s Lors du Boot, le MSP va lire l’adresse 0xFFFE: handler dureset.

s Sur le MSP430F149:x 0x0 à 0x1FF:

périphériquesx 0x200 à B=0x9FF: RAM

(2Ko), Données et piled’exécution

x 0xC00 à 0xFFF: Bootmem.

x 0x1000 à 0x10FF: byteinfo. mem.

x A=0x1100 à 0xFFFF:

  0 0 0 0 0 0 0 0 0 0 0 0 0 0  0 0 0 0 0 0 0 0 0 0 0 0 0 0  0 0 0 0 0 0 0 0 0 0 0 0 0 0  0 0 0 0 0 0 0 0 0 0 0 0 0 0  0 0 0 0 0 0 0 0 0 0 0 0 0 0  0 0 0 0 0 0 0 0 0 0 0 0 0 0  0 0 0 0 0 0 0 0 0 0 0 0 0 0  0 0 0 0 0 0 0 0 0 0 0 0 0 0  0 0 0 0 0 0 0 0 0 0 0 0 0 0  1 1 1 1 1 1 1 1 1 1 1 1 1 1  1 1 1 1 1 1 1 1 1 1 1 1 1 1  1 1 1 1 1 1 1 1 1 1 1 1 1 1  1 1 1 1 1 1 1 1 1 1 1 1 1 1  1 1 1 1 1 1 1 1 1 1 1 1 1 1  1 1 1 1 1 1 1 1 1 1 1 1 1 1  1 1 1 1 1 1 1 1 1 1 1 1 1 1  1 1 1 1 1 1 1 1 1 1 1 1 1 1  1 1 1 1 1 1 1 1 1 1 1 1 1 1Interrupt Vector Table

FLASH/ROM

RAM

0xFFFF

0xFFE0

0xFFDF

0x200

0x1FF

0x100

0xFF

0x10

16 bit peripheral Modules

6 bit peripheral Modules

Word/Byte

Word/Byte

Word/Byte

Byte

Word

A

B

Page 28: Cours_Conception Des Systemes Embarques

5/8/2018 Cours_Conception Des Systemes Embarques - slidepdf.com

http://slidepdf.com/reader/full/coursconception-des-systemes-embarques 28/36

 

Introduction

Processeurs embarqués

introduction au MSP 430

q introduction au MSP 430

qTI MSP430 : ez430-rf2500qDocuments techniques

qArchitecture

qPériphériques

qChaîne de développement

Présentation des SoC

- p. 55/133

Chaîne de développement

s Plusieurs configurationsx Programmation directe du micro-contrôleurx Simulation du micro-contrôleur (sans les périphériques)

s Plusieurs plateformes de développementx mspgcc (GNU)x IAR (texas Instrument)x ..

Introduction

Processeurs embarqués

introduction au MSP 430

Présentation des SoC

qQu’est ce qu’un SoC

qExemple SoC: appareil photo

numériqueqAutre exemple: iPaQ H5500

qArchitecture carte iPaQ

H5500qArchitecture S3CA400A01

(companion chip)qCritères de qualité de

conception d’un SOCqChoix en fonction des

contraintesqMéthodologie de conception

qSocLib

qOrganisation logicielle

qExemple d’une plateforme

soclib

RTS6: Conception et programmation de Systè

Introduction aux systèmes sur puces (SoC)

Page 29: Cours_Conception Des Systemes Embarques

5/8/2018 Cours_Conception Des Systemes Embarques - slidepdf.com

http://slidepdf.com/reader/full/coursconception-des-systemes-embarques 29/36

 

Introduction

Processeurs embarqués

introduction au MSP 430

Présentation des SoCqQu’est ce qu’un SoC

qExemple SoC: appareil photo

numériqueqAutre exemple: iPaQ H5500

qArchitecture carte iPaQ

H5500qArchitecture S3CA400A01

(companion chip)qCritères de qualité de

conception d’un SOCqChoix en fonction des

contraintesqMéthodologie de conception

qSocLib

qOrganisation logicielle

qExemple d’une plateforme

soclib

- p. 57/133

Qu’est ce qu’un SoC

s "System" : une collection d’éléments en interaction.s "On Chip" : sur un seul circuit.s

Mais tous les circuits intégrés ne sont pas des SOC, UnSOC implémente une fonction "complète"x Décodeur MPEG2 vidéo + audio + système + transport +

graphique + interface utilisateurx Terminal GSM : tout sauf la RF

Introduction

Processeurs embarqués

introduction au MSP 430

Présentation des SoC

qQu’est ce qu’un SoC

qExemple SoC: appareil photo

numériqueqAutre exemple: iPaQ H5500

qArchitecture carte iPaQ

H5500qArchitecture S3CA400A01

(companion chip)qCritères de qualité de

conception d’un SOCqChoix en fonction des

contraintesqMéthodologie de conception

qSocLib

qOrganisation logicielle

qExemple d’une plateforme

soclib

Q’est ce qu’un SoC

s Une seule fonctionun seul programme, exécuté en boucle

s Contraintes importantescoût, consommation, taille, performance, . . .

s Prise en compte de l’environnementdoivent réagir en fonction de nombreux paramètressouvent associé à des contraintes de temps-réel

s Les éléments constitutifs d’un SOC sont "complexes",réutilisables et de nature variée :x Fonctions analogiques (convertisseurs A/N, filtres, etc.)x Fonctions numériques câblées (décodeur de Viterbi)x Fonctions logicielles (sur micro-contrôleur, DSP, RISC)x

Composants de base (mémoires)

Page 30: Cours_Conception Des Systemes Embarques

5/8/2018 Cours_Conception Des Systemes Embarques - slidepdf.com

http://slidepdf.com/reader/full/coursconception-des-systemes-embarques 30/36

 

Introduction

Processeurs embarqués

introduction au MSP 430

Présentation des SoCqQu’est ce qu’un SoC

qExemple SoC: appareil photo

numériqueqAutre exemple: iPaQ H5500

qArchitecture carte iPaQ

H5500qArchitecture S3CA400A01

(companion chip)qCritères de qualité de

conception d’un SOCqChoix en fonction des

contraintesqMéthodologie de conception

qSocLib

qOrganisation logicielle

qExemple d’une plateforme

soclib

- p. 59/133

Exemple SoC: appareil photo numérique

CAN

UART

CCD

Lentille

preprocesseur CCD (?)

compression

JPEG (?)microcontroleur (?)

s Une seule fonction : prendre des photoss Contraintes : taille, poids, consommation

Introduction

Processeurs embarqués

introduction au MSP 430

Présentation des SoC

qQu’est ce qu’un SoC

qExemple SoC: appareil photo

numériqueqAutre exemple: iPaQ H5500

qArchitecture carte iPaQ

H5500qArchitecture S3CA400A01

(companion chip)qCritères de qualité de

conception d’un SOCqChoix en fonction des

contraintesqMéthodologie de conception

qSocLib

qOrganisation logicielle

qExemple d’une plateforme

soclib

Autre exemple: iPaQ H5500

s Site http://www.handhelds.org/: "encourage andfacilitate the creation of open source software for use onhandheld and wearable computers"

s Adaptation de linux pour PDA

Page 31: Cours_Conception Des Systemes Embarques

5/8/2018 Cours_Conception Des Systemes Embarques - slidepdf.com

http://slidepdf.com/reader/full/coursconception-des-systemes-embarques 31/36

 

Introduction

Processeurs embarqués

introduction au MSP 430

Présentation des SoCqQu’est ce qu’un SoC

qExemple SoC: appareil photo

numériqueqAutre exemple: iPaQ H5500

qArchitecture carte iPaQ

H5500qArchitecture S3CA400A01

(companion chip)qCritères de qualité de

conception d’un SOCqChoix en fonction des

contraintesqMéthodologie de conception

qSocLib

qOrganisation logicielle

qExemple d’une plateforme

soclib

- p. 61/133

iPaQ H5500, une fois démonté

Introduction

Processeurs embarqués

introduction au MSP 430

Présentation des SoC

qQu’est ce qu’un SoC

qExemple SoC: appareil photo

numériqueqAutre exemple: iPaQ H5500

qArchitecture carte iPaQ

H5500qArchitecture S3CA400A01

(companion chip)qCritères de qualité de

conception d’un SOCqChoix en fonction des

contraintesqMéthodologie de conception

qSocLib

qOrganisation logicielle

qExemple d’une plateforme

soclib

Architecture carte iPaQ H5500

Cotulla Intel PXA250

ARM Xscale

SDRAM 0

SDRAM 1

SAMSUNG

S3CA400A01

(SAMCOP)

BUS

Page 32: Cours_Conception Des Systemes Embarques

5/8/2018 Cours_Conception Des Systemes Embarques - slidepdf.com

http://slidepdf.com/reader/full/coursconception-des-systemes-embarques 32/36

 

Introduction

Processeurs embarqués

introduction au MSP 430

Présentation des SoCqQu’est ce qu’un SoC

qExemple SoC: appareil photo

numériqueqAutre exemple: iPaQ H5500

qArchitecture carte iPaQ

H5500qArchitecture S3CA400A01

(companion chip)qCritères de qualité de

conception d’un SOCqChoix en fonction des

contraintesqMéthodologie de conception

qSocLib

qOrganisation logicielle

qExemple d’une plateforme

soclib

- p. 63/133

Architecture S3CA400A01 (companion chip)

Interuption

Interface

Intel

Cotulla

(Xscale)

32 KBytes

DMA (2channel)

USB

Bridge

LED

OneWire

SD Host

FCD I/F

UART

Touch Panel I/F

ADC

DMA

PWR Man.PCMCIA

Expansion

   B  u  s  s  y  s   t  e  m  e   (   A   H   B   )

   B  u  s  p  e  r   i  p   h   é  r   i  q  u  e   (   A   P   B   )

Accel I/F

LED[4:0]

DQ

SD Card I/F

FCD I/F

2

6

11

RXD[1:0]

TXD[1:0]

   A   D   C   [   3  :   0   ]

   X   P .   X

   M .   Y

   P .   Y

   M  c  o  n   t  r  o   l

   A   d   d  r   [   1   0  :   0   ]

   D  a   t  a   [   3   1  :   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, MCU−CLK

Interne Buffer

Accelerometer

Introduction

Processeurs embarqués

introduction au MSP 430

Présentation des SoC

qQu’est ce qu’un SoC

qExemple SoC: appareil photo

numériqueqAutre exemple: iPaQ H5500

qArchitecture carte iPaQ

H5500qArchitecture S3CA400A01

(companion chip)qCritères de qualité de

conception d’un SOCqChoix en fonction des

contraintesqMéthodologie de conception

qSocLib

qOrganisation logicielle

qExemple d’une plateforme

soclib

Critères de qualité de conception d’un SOC

s Métriques usuellesx Coût à l’unité: coût de fabrication d’une unité sans inclure

les coût non récurrentsx Coûts non récurrents: coût de conception d’un système

(coût de mise en place de la première pièce).x Taillex Performancex Consommationx Évolutivité: possibilité de faire évoluer le système pour en

avoir des versions dérivées.

Page 33: Cours_Conception Des Systemes Embarques

5/8/2018 Cours_Conception Des Systemes Embarques - slidepdf.com

http://slidepdf.com/reader/full/coursconception-des-systemes-embarques 33/36

 

Introduction

Processeurs embarqués

introduction au MSP 430

Présentation des SoCqQu’est ce qu’un SoC

qExemple SoC: appareil photo

numériqueqAutre exemple: iPaQ H5500

qArchitecture carte iPaQ

H5500qArchitecture S3CA400A01

(companion chip)qCritères de qualité de

conception d’un SOCqChoix en fonction des

contraintesqMéthodologie de conception

qSocLib

qOrganisation logicielle

qExemple d’une plateforme

soclib

- p. 65/133

Critères de qualité de conception d’un SOC

s Métriques usuelles (suite)x Temps de prototypage : temps de mise en place d’un

premier système fonctionnelx Temps de mise sur le marché : système suffisamment

fiable pour être commercialiséx Maintenance : possibilité de modifications du système par

rapport à sa première versionx Fiabilité, sûreté de fonctionnement, . . .

Introduction

Processeurs embarqués

introduction au MSP 430

Présentation des SoC

qQu’est ce qu’un SoC

qExemple SoC: appareil photo

numériqueqAutre exemple: iPaQ H5500

qArchitecture carte iPaQ

H5500qArchitecture S3CA400A01

(companion chip)qCritères de qualité de

conception d’un SOCqChoix en fonction des

contraintesqMéthodologie de conception

qSocLib

qOrganisation logicielle

qExemple d’une plateforme

soclib

Choix en fonction des contraintes

s Une grande souplesse de réalisation est possiblex Il n’y a pas de solution unique

implémentation

contraintede coût

implémenationuniquement logicielle

de performance

Performance

Coût

contrainte

uniquement matérielle

Page 34: Cours_Conception Des Systemes Embarques

5/8/2018 Cours_Conception Des Systemes Embarques - slidepdf.com

http://slidepdf.com/reader/full/coursconception-des-systemes-embarques 34/36

 

Introduction

Processeurs embarqués

introduction au MSP 430

Présentation des SoCqQu’est ce qu’un SoC

qExemple SoC: appareil photo

numériqueqAutre exemple: iPaQ H5500

qArchitecture carte iPaQ

H5500qArchitecture S3CA400A01

(companion chip)qCritères de qualité de

conception d’un SOCqChoix en fonction des

contraintesqMéthodologie de conception

qSocLib

qOrganisation logicielle

qExemple d’une plateforme

soclib

- p. 67/133

Méthodologie de conception

Intérêts du «codesign»s Conception rapide de SoC : time to market

x Cycle de conception de haut niveau pour réduire les

temps d’estimations des solutionss Réduire la difficulté de validation et déboguage

x Réutilisation d’IPx Modules reconfigurables

s Converger vers une solution optimale en fonction descontraintes de départ

Introduction

Processeurs embarqués

introduction au MSP 430

Présentation des SoC

qQu’est ce qu’un SoC

qExemple SoC: appareil photo

numériqueqAutre exemple: iPaQ H5500

qArchitecture carte iPaQ

H5500qArchitecture S3CA400A01

(companion chip)qCritères de qualité de

conception d’un SOCqChoix en fonction des

contraintesqMéthodologie de conception

qSocLib

qOrganisation logicielle

qExemple d’une plateforme

soclib

Méthodologie de conception

s La conception nécessite d’avoir une modélisation complètes Approche logicielle

x les objets migrent vers le HW jusqu’à ce que lescontraintes de performances soit atteintes (pour un coût

minimum)s Approche matérielle

x les objets migrent en SW tant que les contraintes deperformances restent atteintes (pour un coût minimum)

s Le meilleur partitionnement nécessite en général l’expertised’un concepteur.

Page 35: Cours_Conception Des Systemes Embarques

5/8/2018 Cours_Conception Des Systemes Embarques - slidepdf.com

http://slidepdf.com/reader/full/coursconception-des-systemes-embarques 35/36

 

Introduction

Processeurs embarqués

introduction au MSP 430

Présentation des SoCqQu’est ce qu’un SoC

qExemple SoC: appareil photo

numériqueqAutre exemple: iPaQ H5500

qArchitecture carte iPaQ

H5500qArchitecture S3CA400A01

(companion chip)qCritères de qualité de

conception d’un SOCqChoix en fonction des

contraintesqMéthodologie de conception

qSocLib

qOrganisation logicielle

qExemple d’une plateforme

soclib

- p. 69/133

SocLib

http://soclib.lip6.fr/s Environnement de conception et de simulation gratuit et

open sources Utilise des modèles de composants écrits en SystemC

x processeurx interconnexionx périphériquesx . . .

s Utilisation d’une chaîne de compilation standard (GNU)

Introduction

Processeurs embarqués

introduction au MSP 430

Présentation des SoC

qQu’est ce qu’un SoC

qExemple SoC: appareil photo

numériqueqAutre exemple: iPaQ H5500

qArchitecture carte iPaQ

H5500qArchitecture S3CA400A01

(companion chip)qCritères de qualité de

conception d’un SOCqChoix en fonction des

contraintesqMéthodologie de conception

qSocLib

qOrganisation logicielle

qExemple d’une plateforme

soclib

Organisation logicielle

s Système d’exploitation multithread : Mutek

x Gestion de l’API de thread Posixx Gestion des interruptionsx Commutation de contexte rapide

s Logiciel cross-compilé avec gccs Intégration du système avec l’applicatif à l’édition des liens

Page 36: Cours_Conception Des Systemes Embarques

5/8/2018 Cours_Conception Des Systemes Embarques - slidepdf.com

http://slidepdf.com/reader/full/coursconception-des-systemes-embarques 36/36

 

Introduction

Processeurs embarqués

introduction au MSP 430

Présentation des SoCqQu’est ce qu’un SoC

qExemple SoC: appareil photo

numériqueqAutre exemple: iPaQ H5500

qArchitecture carte iPaQ

H5500qArchitecture S3CA400A01

(companion chip)qCritères de qualité de

conception d’un SOCqChoix en fonction des

contraintesqMéthodologie de conception

qSocLib

qOrganisation logicielle

qExemple d’une plateforme

soclib

- p. 71/133

Exemple d’une plateforme soclib

I

MISP 3000

D

RAM

sémaphores

Interconnexion

CacheRAM

TTY

RAM multi bancs

filtre audio