Académique Documents
Professionnel Documents
Culture Documents
Fatima Lakrami
Département de Physique
Systèmes embarqués
Aujourd’hui :
Des centaines de milliers de transistors sur une "puce" de silicium de qq mm2.
On peut le coupler, via des interfaces d'entrée et de sortie, à une grande variété d'organes
extérieurs.
µP
Un µ-processeur se trouve souvent au cœur d’un µ-ordinateur
Le microprocesseur exécute un programme écrit dans un langage de
programmation :
Assembleur ( langage machine)
Langage évolué ( C , Basic , Java … )
Bus
Entrées
Sorties
• Adaptation électrique
La puissance de traitement
S’exprime en MIPS
(Millions d’Instructions Par
Seconde)
Le jeu d ’instructions
•Etendu (CISC)
• Réduit (RISC)
les circuits tels que les x86, 68hc11 sont des circuits CISC, les microprocesseurs
de mac, les pic, les processeurs alpha sont du type RISC.
3 additions
Von Newman
Architecture de Harvard
mémoire séparée
Architecture de Harvard
Dans le premier cas, il s’agit de lutter contre le temps qui, en dernier ressort, est fixé
par les possibilités technologiques.
Alors que, dans le deuxième cas, si plusieurs traitements sont indépendants,
l’augmentation du nombre de ressources suffit pour exécuter plus de traitements en
même temps.
2. DÉCODE
Décoder l’instruction
1. LIRE (FETCH)
3. EXÉCUTE
Aller chercher la prochaine
Exécuter l’instruction
instruction
Thread?
Programme?
Processus?
Instruction?
Processus :
– Un processus représente un programme en cours d’exécution.
– Un processus possède un espace mémoire privé, indépendant de celui des autres processus.
– Parce qu’ils ne partagent aucun espace mémoire commun, deux processus qui veulent collaborer
doivent le faire en utilisant un mécanisme d’échange de messages — par exemple, pour des processus
Unix, en utilisant des pipes.
– Le contexte d’un processus est lourd : code, registres (dont SP, FP et IP1), pile, tas2, fichiers, vecteur
d’interruptions, etc. Créer et activer un processus — ainsi qu’effectuer un changement de contexte — est
donc (très!) coûteux!
Thread :
– Un thread représente (généralement) une fonction (une méthode) en cours d’exécution
– Un processus peut contenir un ou plusieurs threads. Ces threads partagent alors la
mémoire (e.g., code, tas) ainsi que diverses autres ressources.
– Parce qu’ils partagent un même espace mémoire, deux threads qui veulent collaborer
peuvent le faire par l’intermédiaire de variables partagées.
– Le contexte d’un thread est léger : registres (dont IP), pile. Créer et activer un thread — et
effectuer un changement de contexte — est donc moins coûteux que dans le cas d’un
processus!
Architectures
superscalaires
Solution?
Raccourcir l’étape la plus longue, soit diviser la pipeline en plusieurs étages.
Exemple:
Fetch (lecture) l’instruction
Decode l’instruction
Calcul des opérandes
Fetch (lecture) des opérandes
Exécute l’instruction
Écrire le résultat
Limites:
Le coût!!!
L’espace.
Les limites intrinsèques à l’exécution en parallèle d’instructions.
Topologie et interconnections des nœuds.
Gestion des erreurs.
Total:
7680 coeurs
24 To (téra-octet, soit 1,000 Go) mémoire
2 x 500 To (1 Po) de stockage
Puissance de calcul: 77 Tflops (opérations à
point flottant par seconde)
Limites:
Le coût!!!
L’espace.
Les limites intrinsèques à l’exécution en parallèle d’instructions.
Topologie et interconnections des nœuds.
Gestion des erreurs.
Mémoires du Processeur
Il existe 2 types :
8 bits
disponibles
simultanément • Parallèle
Entrées
Sorties
Bus de commande
Quelques Questions/réponses?
Un microprocesseur?
est un processeur dont tous les composants ont été suffisamment
miniaturisés pour être regroupés dans un unique boitier.
µc?
Les microcontrôleurs améliorent l'intégration et le
coût (lié à la conception et à la réalisation) d'un
système à base de microprocesseur en rassemblant
ces éléments essentiels dans un seul circuit intégré.
Un microcontrôleur est donc un composant
autonome, capable d'exécuter le programme
contenu dans sa mémoire morte dès qu'il est mis
sous tension. Selon les modèles et les conditions de
fonctionnement, les microcontrôleurs peuvent avoir
besoin de quelques composants externes (quartz,
Entrées
Sorties
Les mémoires
vives Les interfaces
d’entrées/Sorties
Le µP
Les mémoires
mortes
Avantages :
Interfaces Interfaces
Horloge
3 circuits
très utilisés
dans la famille
Mid-Range.
- 1 Ko mots de ROM,
- 68 octets de RAM,
- 64 octets d’ EEPROM,
- 13 entrées sorties,
- 10 MHz,
- un timer,
- 4 sources d’interruption
(3) Phase de test : pour vérifier que le cahier des charges initial est bien rempli.
Le microcontrôleur exécute le
programme chargé dans sa
mémoire FLASH. Les mots
binaires sont de 14 bits.
Picstart
Ou Chaîne de traitement des instructions
icprog
T IN I
TSET
EERTNE
E ITROS
E ITROS
N IF
Approche
Code Langage Editeur Conceptuelle
Assembleur (Description
P hexadécimal C graphique Du
Fonctionnement)
I
C Chaîne des codes
FLOWCODE
Logique câblée
☺ très rapide, fonctions réalisées par une voie matérielle
non programmable, peu économique quand l’application est complexe
peu de souplesse : durée d’étude prohibitif et circuit difficilement modifiable
Réseaux de logique programmables (PAL, LCA,..)
☺ rapide, adapté au traitement de signaux complexes
prix élevé et langage de programmation non standard
Les μprocesseurs
☺ grande souplesse : fonctions sont réalisées par voie logicielle
puissance de calcul, langage évolué
nombre important de composant à réunir, solution onéreuse
A retenir
si la fonction à réaliser est simple ⇒ une logique câblée
si le nombre d'unités à réaliser est très important ⇒ circuits intégrés dédié en logique câblée
pour les fonctions simples