Vous êtes sur la page 1sur 63

F I L I È R E G É N I E A É R O N AU T I Q U E

Systèmes Embarqués
E T T E C H N O LO G I E S D E
L’ E S PA C E
3 ème A n n é e

Par : Said ECH-CHADI


Plan du cours

Chapitre 1.

Chapitre 2.

Chapitre 3.

Chapitre 4.

Chapitre 5.

TEACH A COURSE 2
INTRODUCTION

 Définition
 Caractéristiques
 Contraintes
 Domaines d’application
 Architecture d’un SE

TEACH A COURSE 3
Définition

On qualifie de « système embarqué » un système électronique et


informatique autonome dédié à une tâche précise, souvent en temps réel,
possédant une taille limitée et ayant une consommation énergétique
restreinte.
Il est dit embarqué dans le sens où il fait parti d’un système complet et y
intègre un rôle.

SYSTÈMES EMBARQUÉS 4
A quoi sert un système embarqué ?

A exécuter des tâches au sein d'une machine.


Quelles tâches, exactement ?
Cela dépend de la machine dans laquelle il se trouve. Les systèmes
embarqués électriques sont très utilisés en aéronautique et dans
l'industrie automobile (avions, fusées, voitures).
On les trouve également dans le domaine militaire à l'intérieur des missiles,
dans les distributeurs automatiques de billets, dans les consoles de jeux,
dans certains matériels médicaux, dans les appareils électroménagers
(lave-vaisselle, télévision, four à micro-ondes), dans les imprimantes... Et
bien entendu, dans les ordinateurs, les téléphones portables, les disques
durs et les lecteurs de disquettes.

SYSTÈMES EMBARQUÉS 5
Caractéristiques principales

 C'est un système principalement numérique


 Dispose de ressources limitées. Cette limitation est généralement d'ordre spatial
(encombrement réduit) et énergétique (consommation restreinte).
 Il ne possède pas d’entrées/sorties standards tels qu’un port série RS232, usb, … etc et de
périphériques classiques comme un clavier d’ordinateur (possède périphériques limités : des
boutons poussoir, clavier matriciel …) ou un écran d'ordinateur ( affichage limité ou aucun
affichage : LED, écran LCD, ….etc).
 Exécute un logiciel dédié à des fonctionnalités bien précises, qui est en partie ou entièrement
programmé dans le matériel (firmware).
 Possède généralement un fonctionnement en temps réel.
 Il est généralement ouvert au monde extérieur pour des mises à jour ou pour communiquer
mais ce n'est pas indispensable.
 Dans certaines applications, Il a un fonctionnement sûr pour ne pas mettre en péril des vies
humaines ou en danger des investissements importants.
SYSTÈMES EMBARQUÉS 6
Fiabilité
Les systèmes embarqués sont la plupart du temps dans des machines qui doivent fonctionner en continu pendant
de nombreuses années, sans erreurs et, dans certains cas, réparer eux-mêmes les erreurs quand elles arrivent.
C'est pourquoi les logiciels sont toujours développés et testés avec plus d'attention que ceux pour les PC. Les
pièces mobiles non fiables (par exemple les lecteurs de disques, boutons ou commutateurs) sont proscrites.
la fiabilité peut inclure :
 Le système ne peut pas être éteint pour des réparations ou ce sont des réparations inaccessibles.
 La solution peut être des pièces détachées supplémentaires ou un "mode mou" du logiciel qui fournit un
fonctionnement partiel. Par exemple : les câbles sous-marins, les balises de navigation, les puits de forage...
 Le système doit rester en marche pour des raisons de sécurité. Souvent, les sauvegardes sont effectuées par
un opérateur. Dans ce cas, le « mode mou » est toléré. Par exemple : les systèmes de contrôle des réacteurs, les
usines chimiques, les signaux de train...
 Un arrêt du système peut provoquer des pertes monétaires énormes s'il s'éteint.
Par exemple : les systèmes de ponts ou d'ascenseurs, les transferts de fond, les salles de bourse, les ventes ou
services automatiques...

SYSTÈMES EMBARQUÉS 7
Classification des systèmes embarqués
 Système Transformationnel :
activité de calcul, qui lit ses données et ses entrées lors de son démarrage, qui fournit ses sorties, puis meurt.
 Système Interactif :
Système en interaction quasi permanente avec son environnement, y compris après l'initialisation du système;
la réaction du système est déterminée par les événements reçus et par l'état courant (fonction des
événements et des réactions passés); le rythme de l'interaction est déterminé par le système et non par
l'environnement.
 Système Réactif ou Temps Réel :
Système en interaction permanente avec son environnement, y compris après l'initialisation du système; la
réaction du système est déterminée par les événements reçus et par l'état courant (fonction des événements
et des réactions passées); mais le rythme de l'interaction est déterminé par l'environnement et non par le
système.

SYSTÈMES EMBARQUÉS 8
Architecture d’un système embarqué

Un SE est constitué de deux types de composantes : des composantes matérielles et


des composantes logicielles.
Cette composition dépend fortement du type de SE.
La figure suivante résume les composantes de base que l’on rencontre par exemple
dans tous les SE dédiés au contrôle.

SYSTÈMES EMBARQUÉS 9
Architecture d’un système embarqué

ASIC ou ASSP ou FPGA : utilisés comme Coprocesseur (s) pour Logiciels : programmes d’application + système d’exploitation (
décharger l’unité de traitement de certaines tâches spécifiques non nécessairement présent dans tous les types de SE )
ENVIRONNEMENT OU SYSTÈME A

ENVIRONNEMENT OU SYSTÈME A
et augmenter les performances du SE

COMMANDER/CONTROLER
ACTIONNEURS
ANALOQIUES

Contrôleur d’interruptions MEMOIRES

CONTINUS
CAPTEURS

(RAM, Flash ROM , EEPROM) Timers

Ports d’entrées analogiques


MPU Ports de sorties analogiques

ACTIONNEURS
CAPTEURS TOR

TOR
Ports de communications séries
Ports d’E/S numériques

Périphériques d’Interaction Homme Machine ( IHM ) Périphériques d’Interaction Homme


d’acquisition Machine ( IHM ) de restitution

Vers un système à microprocesseur(s) ou à


UNITE DE TRAITEMENT =
microcontrôleur (s) ou un autre SE
MCU
UTILISAITEUR
SYSTÈMES EMBARQUÉS 10
Système embarqué typique

SYSTÈMES EMBARQUÉS 11
Quelques exemples d’utilisation
Freins ABS Télécopieurs Numérisateurs (scanners)
Système de péage Identification d’empreintes Fours micro-ondes
Lave-vaisselle
automatique digitales
Reconnaissance de voix
Transmission automatique Systèmes d’alarmes Téléconférence
Systèmes avioniques domestiques Téléviseurs
Chargeurs de piles Dispositifs médicaux Systèmes de chauffage
Caméras vidéo numériques Agendas électroniques Magnétoscopes et lecteurs
Modems DVD
Téléphones cellulaires
Cartes réseau Électroménagers
Régulateur de vitesse
Commutateurs
Disques durs
Systèmes de navigation (GPS)
Lecteurs de cartes bancaires Photocopieurs
Instrumentation électronique Jeux vidéos
Jouets électroniques Imprimantes

SYSTÈMES EMBARQUÉS 12
Quelques exemples d’utilisation (domaine automobile)

système embarqué est un système électronique et informatique autonome dédié à une tâche précise.
SYSTÈMES EMBARQUÉS 13
Quelques exemples d’utilisation (domaine aéronautique)

Exemples de systèmes embarqués pour le secteur de


l'aéronautique et du spatial :
•Calculateurs TPIS: Tyre Pressure Indicating System :
le TPIS est un système de mesure de pression de
pneu temps réel avec déclenchement d'alarme
automatique en cas défaut.
•HUMS : Health and Usage Monitoring System : le
système HUMS permet l'enregistrement de données
de santé et d'utilisation de l'hélicoptère.

SYSTÈMES EMBARQUÉS 14
Démarche à suivre pour concevoir et réaliser un système
embarqué
partant d’un cahier de charge dans lequel est défini la structure globale du SE, il faut :

1. Déterminer les composants matériels notamment la cible ( le type de processeur )


sur laquelle va être exécuté le programme d’application.

2. Déterminer le système d’exploitation (pour système embarqué) le plus approprié


à la réalisation du SE, s’il y a lieu d’utiliser un système d’exploitation.

3. Choisir une plate forme de développement : plate-forme sur la quelle vont être
mis au point les différentes parties logicielles de la cible.
Sur cette plate forme doivent être installés au préalable un système d’exploitation et les différents outils
nécessaires au développement du SE :
Editeur, compilateur, éditeur de liens, débogueur , ou un EDI qui intègre tous ces outils, un simulateur , … etc

SYSTÈMES EMBARQUÉS 15
Démarche à suivre pour concevoir et réaliser un système
embarqué
4 - Choisir une méthode de développement ou d’accès entre la plateforme de développement et la cible.
 Une méthode parmi les méthodes les plus utilisées est la méthode de développement dite méthode
connectée.
Dans cette méthode, la cible et la plate forme de développement sont reliées de manière permanente par
un lien série parfois aussi par un lien Ethernet utilisés pour le débogage et le chargement du code dans la
cible.
Lien série pour
le débogage

Plate forme de
développement Cible

Lien Ethernet pour le


chargement de
l’application dans la cible

SYSTÈMES EMBARQUÉS 16
Contraintes des systèmes embarqués

Les cahiers des charges des systèmes embarqués comportent plusieurs contraintes ; on peut
citer :
• une puissance de calcul définie au plus juste afin de répondre aux besoins tout en respectant
les contraintes temporelles et spatiales - l'objectif étant d'éviter les surcoûts et les éventuelles
surconsommations d'énergie ;
• une sûreté de fonctionnement qui demande aux systèmes dits critiques de fournir des résultats
exacts et pertinents ;
• une sécurité indispensable pour assurer la confidentialité des données utilisées, notamment
pour les systèmes employés au service de la santé.

SYSTÈMES EMBARQUÉS 17
Architecture
Matérielle

 Microprocesseur
 Instruction, registre, cache
 UAL
 Optimisation des
architectures
 Mémoire

TEACH A COURSE 18
Microprocesseur

Un processeur (aussi appelé microprocesseur ou CPU pour Central Processing Unit)


est le coeur de l'ordinateur chargé de traiter et d'exécuter les instructions. On peut
simplifier en disant qu'il est chargé d'exécuter les programmes de l'ordinateur.
Ce composant a été inventé en 1971 par Intel (avec le modèle 4004).
Le processeur est rythmé par une horloge (quartz) cadencée plus ou moins
rapidement (on parle de fréquence d'horloge). A chaque impulsion d'horloge, le
processeur lit l'instruction stockée généralement dans un registre d'instruction - une
petite mémoire très rapide située dans le processeur en lui-même - et l'exécute. Dans
une même gamme (et donc à architecture comparable) un processeur cadencé plus
rapidement est plus efficace car il peut traiter les instructions plus rapidement.

SYSTÈMES EMBARQUÉS 19
Microprocesseur

Quel que soit son type (MCU, DSP, …), un processeur à base de CPU peut être décrit par le schéma suivant.

SYSTÈMES EMBARQUÉS 20
Instructions

Pour comprendre le principe de fonctionnement d'un processeur, il est important de savoir que le
processeur ne sait communiquer avec le reste de l'ordinateur que via le langage binaire. Il ne comprend
donc pas directement le code informatique que vous pourriez utiliser en suivant les cours de la
section programmation de VIC.
Le code source doit à ce titre subir quelques transformations. Celles-ci sont effectuées par le compilateur,
un programme convertissant le langage source en langage machine, seul code compréhensible par le
processeur.

SYSTÈMES EMBARQUÉS 21
Principaux types d'instructions

Il existe différents types d'instructions. Les plus courants sont les suivants :
 Instructions d'opérations arithmétiques (addition, soustraction, division, multiplication)
 Instructions d'opérations logiques (OU, ET, OU EXCLUSIF, NON, etc...)
 Instructions de transferts (entre différents registres, entre la mémoire et un registre, etc...
 Instructions ayant rapport aux entrées et sorties.
 Instructions diverses ne rentrant pas dans les autres catégories (principalement des opérations sur les
bits).

SYSTÈMES EMBARQUÉS 22
Etapes d'exécution d'une instruction

Lorsqu'un processeur a besoin d'exécuter des instructions, il le fait toujours dans l'ordre suivant :
 Recherche de l'instruction (fetch)
 Lecture de l'instruction
 Décodage de l'instruction
 Exécution de l'instruction

SYSTÈMES EMBARQUÉS 23
Taille des instructions

Les processeurs utilisent à ce jour majoritairement des instructions 64 bits (X86-64), la taille des
instructions manipulées est passée de 32 à 64 bit, avec plusieurs avantages à la clé : un adressage
maximal de la mémoire qui n'est plus limité à 4 Go comme c'était le cas en 32 bit, et une rapidité
généralement accrue des applications en tirant partie (car plus de registres disponibles signifie qu'on aura
généralement plus de place pour stocker des données au lieu d'utiliser la RAM avec un code optimisé).

SYSTÈMES EMBARQUÉS 24
Registres
Un registre est une petite mémoire de taille raisonnable (variant généralement de 32 à 128 bit). Les
registres sont utilisés tout le temps, ils sont donc très importants. Nous avons vu plus haut qu'une
instruction pouvait faire appel aux registres. L'avantage est que ce type d'opérations est beaucoup plus
rapide que de faire appel à la mémoire vive, les registres étant internes au processeur, contrairement à la
mémoire vive. Il existe différents types de registres, voici les principaux :
Le registre d'instruction (RI) qui permet de stocker l'instruction qui va être exécutée.
Le registre d'état qui permet de stocker des indicateurs sur l'état du système après l'exécution d'une
instruction. Voici quelques indicateurs (qui peuvent changer d'appellation, le principe restant le même :
◦ C (pour carry bit) : vaudra 1 si une retenue est présente.
◦ V (pour oVerflow bit) : vaudra 1 en cas de dépassement de capacité (addition de deux chiffres positifs donnant un
résultat négatif par exemple).
◦ N (pour Negative bit) : vaudra 1 si le résultat est négatif.
◦ Z (pour Zero bit) : vaudra 1 si le résultat de l’opération est 0.

Le registre PC (Program counter) qui stocke l'adresse de la prochaine instruction à exécuter.


SYSTÈMES EMBARQUÉS 25
Registres
Exemple : Status registre du MCU MSP430 (Texas Instruments)

SYSTÈMES EMBARQUÉS 26
Mémoire cache

Chaque processeur intègre une quantité variable de mémoire cache. Cette mémoire très rapide est
indispensable pour bénéficier de bonnes performances dans les applications. Elle permet de stocker les
données les plus fréquemment demandées par le processeur.
On distingue trois niveaux de cache :
Le cache L1 (cache de premier niveau) : La quantité intégrée est généralement faible (de 8 à 64 Ko
généralement)
Le cache L2 (cache de second niveau) : Cette quantité varie de 128 Ko à 1 Mo, ce cache est légèrement
moins rapide que le cache L1
Le cache L3 (cache de troisième niveau) : Ce cache (disponible sur certains processeurs) et peut vous
permettre de gagner 10% de performances supplémentaires. Il est un peu plus lent que le cache L2 mais,
en contrepartie, dispose d'une taille bien plus grande (12 Mo est une valeur courante).

SYSTÈMES EMBARQUÉS 27
Mémoire cache

Lorsqu'un processeur a besoin de lire des données, il va d'abord regarder si


celles-ci se trouvent dans la mémoire cache. Si elles s'y trouvent, on parle de
succès du cache (cache hit), dans le cas contraire d'échec du cache (cache miss)
les données étant placées ensuite en cache à partir de la mémoire vive.
Il y a perte de temps en cas de cache miss car le processeur a regardé dans le
cache pour rien. Le taux de réussite s'appelle le hit rate, le taux d'échec miss rate.
Afin d'augmenter les performances et donc de diminuer le miss rate, il existe
différentes techniques ayant chacune leurs avantages et inconvénients. Outre
différents algorithmes pouvant être implantés dans le programme, on parlera ici
d'une technique matérielle, celle consistant à adopter une mémoire cache de
type inclusive ou exclusive. La différence principale entre ces deux types de
gestion du cache se trouve principalement dans leur manière de stocker les
données. Lorsque le cache L1 est plein, il faut libérer de la place pour pouvoir
placer dans le L1 la donnée que l'on vient de lire en mémoire vive.

SYSTÈMES EMBARQUÉS 28
Cache Exclusif

Il faut faire de la place dans le cache L1, on déplace donc une donnée (celle la
moins récemment utilisée) et on la place dans le cache L2, puis ensuite on place
la donnée provenant de la mémoire vive dans le cache L1.
Lorsqu'une donnée est présente dans le cache L2 mais pas dans le L1, on la fait
remonter dans le L1 en permutant la donnée la moins récente du L1 avec la
donnée du L2. Les caches L1 et L2 ne contiennent jamais les mêmes données
(elles passent de l'un à l'autre des caches), on parle donc de cache exclusif.
L'avantage est de pouvoir avoir une liberté sur la taille des caches (la taille
efficace étant l'addition des tailles des caches des différents niveaux). Le
désavantage de cette technique est que les performances du cache L2 sont
réduites étant donné qu'il faut écrire une donnée dans le cache L1 à chaque fois
qu'on récupère une donnée dans le L2.

SYSTÈMES EMBARQUÉS 29
Cache Inclusif

Lorsque la donnée ne se trouve ni dans le L1 ni dans le L2, on copie la donnée de


la mémoire vive dans les deux niveaux de cache (L1 et L2). La ligne écrasée du
cache L1 n'est pas déplacée dans le L2 car elle y est déjà.
A ce stade, le cache L2 contient des données supplémentaires par rapport au
cache L1, cependant toutes les données qui sont présentes dans le cache L1 sont
présentes dans le cache L2. On parle d'un cache inclusif. L'avantage majeur de ce
type de cache est de ne pas avoir à réécrire la donnée dans le cache L1 en cas de
cache hit en lecture dans le cache L2. Les performances du cache L2 sont donc
supérieures. L'inconvénient majeur est la taille totale du cache efficace ainsi que
la contrainte de taille des caches L1 et L2. Pour être efficace, cette technique doit
être mise en oeuvre avec un cache L2 très grand devant la taille du cache L1.

SYSTÈMES EMBARQUÉS 30
Composition d'un processeur

Tous les processeurs sont composés de ces éléments :


L'UAL (unité arithmétique et logique, aussi appelée ALU) : c'est l'unité de calcul qui gère ce qui porte sur des
nombres entiers.
La FPU (Floating Point Unit) est l'unité de traitement des nombres à virgules (aussi appelés nombres flottants).
Le décaleur : il est le spécialiste des divisions et multiplications par deux. Son rôle est de décaler les bits vers la
gauche ou vers la droite.

SYSTÈMES EMBARQUÉS 31
Unité Arithmétique et Logique

L'Unité Centrale de Traitement (CPU, fr : Unité Centrale de Traitement) est le cerveau de processeurs
modernes, des microcontrôleurs basse consommation aux GPU hautes performances.
Le rôle du processeur est de contrôler le flux d'informations au sein du processeur.
En conséquence, il contrôle les bus internes, ce qui lui donne également un contrôle indirect des toutes les
autres fonctionnalités matérielles.
La manière dont le CPU lit les instructions du programme est séquentielle : c'est exactement la manièrevous
écrivez vos programmes (en C, C++, assembleur, Python, …).
Le CPU va chercher une instruction dans la mémoire, la comprendre puis l'exécuter. Et cela recommencera
encore et encore, une instruction après l'autre.

SYSTÈMES EMBARQUÉS 32
Unité de contrôle

L'unité de contrôle de la CPU est chargée d'exécuter le flux d'instructions, suivant ce cycle :

Lire l'instruction suivante de la mémoire programme

Comprendre l'opération à effectuer en lisant l'opcode (code d'opération)

Effectuer l'opération, ou généralement demander à l'unité de traitement de le faire

Enregistrez le résultat dans des registres internes ou dans la mémoire de données

SYSTÈMES EMBARQUÉS 33
Unité Arithmétique et Logique

L'unité arithmétique et logique (ALU) est le cœur de l'unité de traitement.


Sur cet exemple de schéma, les données à traiter sont sur les entrées A et B.
Le choix de l'opération est donné par l'unité de contrôle à l'aide des bits FALU (grâce à l'étape DECODE).
Le résultat est produit sur la sortie Out tandis que les flags du signal (S, Z, C, O, …) sont mis à jour en fonction du résultat. L'unité de
contrôle les lira afin d'adapter les instructions à exécuter (par exemple les instructions if, while, for).

SYSTÈMES EMBARQUÉS 34
Unité Arithmétique et Logique

Fichier de registre du microcontrôleur MSP430 de Texas Instruments


R0/PC – Compteur de programme (Program Counter)
Contient l'adresse de la prochaine instruction
R1/SP – Pointeur de pile (Stack Pointer)
Utilisé pour les variables locales
R2/SR - Registre d'état (Status Registre)
Contient les flags générés par l'ALU et lus par l'unité de contrôle
R4 à R15 - Registres à usage général (General Purpose Registers)
Peut contenir n'importe quoi, utilisé pour stocker des données

SYSTÈMES EMBARQUÉS 35
Composition d'un processeur

Les registres
Le circuit de données : son rôle est d'acheminer les données provenant de l'UAL vers les registres.
La MMI (Mémoire de micro instructions) : cette zone du processeur contient toutes les instructions
nécessaires à celui-ci pour comprendre les instructions du langage machine.
Le SEQ (séquenceur) : cet organe traduit les instructions compliquées en instructions plus simples pour
permettre au processeur de les traiter.
L'unité de gestion des instructions : elle recueille les instructions demandées, les décode puis les envoie à
l'unité d'éxécution.
L'unité d'exécution : son rôle est d'exécuter les tâches que lui a envoyé l'unité d'instruction.
L'unité de gestion des bus : elle permet de gérer les informations entrantes et sortantes.

SYSTÈMES EMBARQUÉS 36
Die

Le core (ou die) d'un processeur est toute sa partie centrale contenant les unités de calcul, les registres et la
mémoire cache. Voici à quoi il ressemble :

SYSTÈMES EMBARQUÉS 37
Optimisations des architectures

TEACH A COURSE 38
Le pipeline

La technique du pipeline est apparue sur les 386 d'Intel. Le pipeline permet de commencer à
traiter l'instruction suivante avant d'avoir terminé la précédente via un mécanisme de "travail
à la chaîne". L'inconvénient de cette technique est que plus le pipeline est profond (contient
d'étapes) plus la perte de performances est importante si une erreur de prédiction survient.
L'avantage de cette technique est qu'elle permet d'augmenter la fréquence du processeur
plus facilement. L'inconvénient majeur de cette technique est qu'elle entraîne une baisse des
performances à fréquence égale. Il y a également une augmentation du dégagement
thermique et donc de la température du processeur. Pourquoi cette hausse de température ?
Lorsque l'instruction doit être exécutée en un temps donné, quelle que soit la profondeur du
pipeline, cette instruction sera toujours exécutée aussi rapidement. Plus il y a d'étages au
pipeline, plus l'instruction doit être "découpée" en une quantité de "micro-instructions" qui
seront exécutées en un temps très court, bien plus court que le temps nécessaire pour traiter
l'instruction. Or, plus le pipeline comporte d'étages et plus le délai de traitement d'une
"micro-instruction" doit être faible, ce qui nécessite généralement plus de transistors, ces
transistors chauffent, ont besoin généralement de plus de courant pour fonctionner plus
rapidement..
SYSTÈMES EMBARQUÉS 39
L'architecture super scalaire

Cette astuce consiste à augmenter le nombre d'unités de traitement afin de traiter plusieurs
instructions par cycle.

SYSTÈMES EMBARQUÉS 40
L'hyperthreading

Sous ce terme un peu barbare se cache une optimisation d'Intel apparue avec ses
processeurs Pentiums 4.
Cette optimisation consiste à émuler des processeurs logiques. Le système d'exploitation
croit qu'il dispose de plus de processeurs qu'il n'en a et gave de ce fait le processeur de plus
d'instructions. Cela améliore son rendement.

SYSTÈMES EMBARQUÉS 41
Le multi-core (multi coeurs)

Suite à l'impossibilité de monter en fréquence, les deux fondeurs principaux ont commencé à
implanter ce qu'on appelle le multicore.
Le multicore consiste à mettre plusieurs die (ce n'est pas tout à fait ça) dans un unique
processeur afin de disposer de plusieurs processeurs de calcul. l'optimisation des
performances passe désormais par l'ajout de coeurs et par l'optimisation du rendement.
Cette architecture est très efficace en multitâche, en monotâche elle ne vous fera rien gagner
à moins d'augmenter les performances des coeurs (ajout de cache, hausse de fréquence...),
c'est pourquoi l'efficacité par cycle est redevenue à la mode.

SYSTÈMES EMBARQUÉS 42
Mémoire cache non partagée

Avec ses premiers dualcore, Intel avait utilisé une technique plus rapide consistant à
coller deux die côte à côte (pour simplifier). La mémoire cache était du coup deux
fois plus grande, mais seule la moitié était utilisable pour chacun des processeurs.
Il y a 2 Mo de mémoire cache L2 au total mais chaque core ne peut utiliser qu'1 Mo
de mémoire. Lorsqu'une application a besoin de beaucoup de mémoire cache, cette
solution n'est pas optimale.
D'autre part, si les deux coeurs veulent dialoguer entre eux (et c'est là où se situait
l'énorme goulôt d'étranglement), ils doivent passer par le bus principal (FSB). Les
performances en multitâche sont donc bridées, même si Intel a augmenté la
fréquence du FSB pour limiter les pertes de puissance.

Première architecture dualcore d'Intel pour le


grand public : l'architecture du Pentium-D

SYSTÈMES EMBARQUÉS 43
Mémoire cache partagée

Conscient de ces problèmes, Intel a suivi AMD en adoptant une architecture plus
robuste à cache partagé :

Architecture à mémoire cache partagée

SYSTÈMES EMBARQUÉS 44
Les instructions spécialisées

Tous les processeurs apportent leur jeu d'instructions spécialisées. Elles permettent,
lorsqu'elles sont exploitées par les compilateurs, d'accélérer le traitement de tâches
comme la 3D par exemple. MMX, SSE, Vpro, etc. sont les noms de ces technologies.

SYSTÈMES EMBARQUÉS 45
Exécution d’un programme

toolchain (fr: chaîne de compilation) est un outil software qui “convertis” votre fichiers source C En un fichier
binaire exécutable.

SYSTÈMES EMBARQUÉS 46
Hom-made processor

SYSTÈMES EMBARQUÉS 47
Hom-made processor

SYSTÈMES EMBARQUÉS 48
Les instructions spécialisées

SYSTÈMES EMBARQUÉS 49
Les instructions spécialisées

SYSTÈMES EMBARQUÉS 50
Les instructions spécialisées

SYSTÈMES EMBARQUÉS 51
Les instructions spécialisées

SYSTÈMES EMBARQUÉS 52
Les instructions spécialisées

SYSTÈMES EMBARQUÉS 53
Les instructions spécialisées

SYSTÈMES EMBARQUÉS 54
Les instructions spécialisées

SYSTÈMES EMBARQUÉS 55
Les instructions spécialisées

SYSTÈMES EMBARQUÉS 56
Les instructions spécialisées

SYSTÈMES EMBARQUÉS 57
Les instructions spécialisées

SYSTÈMES EMBARQUÉS 58
Les instructions spécialisées

SYSTÈMES EMBARQUÉS 59
Les instructions spécialisées

SYSTÈMES EMBARQUÉS 60
Les instructions spécialisées

SYSTÈMES EMBARQUÉS 61
Program execution

SYSTÈMES EMBARQUÉS 62
Mémoire

TEACH A COURSE 63

Vous aimerez peut-être aussi