Académique Documents
Professionnel Documents
Culture Documents
2
Quelles sont les différences entre ...
3
Quelles sont les différences entre ...
4
Quelles sont les différences entre ...
5
Quelles sont les différences entre ...
6
Quelles sont les différences entre ...
7
8
Historique
Du tube à vide au µp
Historique : La génération des calculateurs
mécaniques (1642-1945)
1672 : Leibniz
Addition, Soustraction, multiplication, division.
Ancêtre de la
calculatrice
Historique : 1ère Génération : les
tubes à vide (1942-1955)
1907 : Lee de FOREST l'audion (ou triode
ou lampe)
Mémoire
Entrée
Unité arithmétique
Unité de
et logique
commande
Sortie
Historique : 2 ième Génération : les
transistors (1955-1965)
Le transistor :
Caractéristiques :
800 transistors
Puissance : 100 W
Volume 3m3
Historique : 2 ième Génération : les
transistors (1955-1965)
Circuit intégré :
Caractéristiques :
Pocesseur 4 bit
Fréquence : 108 KHz
2300 transistors, 1.5 cm²
Quelques grammes
Remplace
72 m²
30 tonnes
Historique : 4 ième Génération :
Ordinateurs personnels et VLSI (1980-?)
VLSI : Very Large Scale Integration : des dizaines et des millions de transistors sur un même CI
Croissance permanent du taux d’intégration
Nouvelles applications :
Pentium
• Traitement de texte
• Calcul financiers (tableurs)
• Jeux
Historique : 4 ième Génération :
Ordinateurs personnels et VLSI (1980-?)
Caractéristiques :
5 ko de RAM
affichage : 22 lignes de 23 Caractères
Prix : 2000 F
Vente : jusqu’à 9000 /jour. 1 millions
de modèles vendu en 1983
Les microprocesseurs hier, aujourd’hui et
…demain ?
• Au niveau technologique (commutateur):
Tubes à vide (1904) → transistor (années 20-30) semi-conducteur/65nm →
nanotechnologies (1 à 0.1nm)
• Au niveau de la mémoire:
1 Ko (en 1970) → quelques GO (230)
Une faune variée: mémoire externe, mémoire centrale, mémoire cache (de
plusieurs niveaux différents)
• Au niveau de l’architecture:
Du modèle Von Neumann → architectures plus parallèles (pipeline?, super
scalaire?, multi cœur?)
23
Les systèmes à microprocesseurs
24
Un peu d ’histoire
• Busicom approuve cette solution. Le travail fut réalisé en neuf mois sous la
direction de Federico Faggin. Le 4004 est né en 1971. C’est le premier
microprocesseur.
• Intel rachète pour 60 000 $ les droits de Busicom sur le 4004 (peu après,
Busicom fit faillite). Il faut trouver d’autres clients. Intel se lance dans une
communication active pour convaincre la profession d’écrire des logiciels pour
le 4004 et de l’utiliser pour des automatismes comme le contrôle des feux de
circulation.
Organisation
Architecture de
von Neumann Bus
Entrées
Sorties
27
Rôle du microprocesseur
µP
Le microprocesseur exécute un programme
Il existe plusieurs langages de programmation :
Assembleur ( langage machine)
Langage évolué ( C , Basic , Java … )
Un programme est une suite d’instructions qui réalise une tache
28
Caractéristiques du µP
Le format des données La taille de l ’espace adressable
= Nombre de bit du bus de donnée = Nombre de bit du bus d ’adresse
•8bits •16 bits = 65.536 adresses
•16bits •32 bits = 4.294.967.296 adresses
•32bits
La puissance de traitement
S’exprime en MIPS
(Millions d’Instructions Par Seconde)
Le jeu d ’instructions
unidirectionnel CS
OE
33
Mémoire morte : ROM
‘Mémoires mortes’ ou
ROM (Read Only Memory) Ne s’efface pas en absence
d’alimentation électrique
ROM : le contenu est défini lors de la fabrication.
Les PROM (Programmable ROM) sont programmables une
seule fois par l’utilisateur (fusibles).
Les EPROM (Erasable Programmable ROM) sont
effaçables en plaçant la mémoire dans une machine
spéciale et programmables.
Les EEPROM (Electrically Erasable Programmable ROM)
sont effaçables électriquement et programmables
35
Bus de données
unidirectionnel
Bus de commande
unidirectionnel CS
OE
36
Mémoire cache
Rapide, chère,
faible capacité (SRAM) (DRAM)
37
Hiérarchie des mémoires
Registre
Cache
Mémoire centrale
Disque ou SSD
Capacité
Rapidité & Coût
38
Interfaces série et parallèle
39
Les interfaces d ’entrée / sortie
Elles permettent d’assurer la communication entre le
microprocesseur et les périphériques.
(capteur, clavier, afficheur,imprimante, modem, etc.)
Il existe 2 types :
8 bits
disponibles
simultanément
• Parallèles
• Séries
Bus données 8 bits
Une seule
information à
la fois
40
Les bus 1/2
Entrées
Sorties
Bus de commande
41
Les bus 2/2
43
Unité de commande (UC)
Décode les instructions et les transforme en une
instruction
série de micro-commandes qui activent les autres
composants de l’ordinateur.
Séquenceur
Adresse de la prochaine
instruction à exécuter
Compteur ordinal (CO)
Séquence de signaux de
commande
44
Unité arithmétique et logique (UAL)
Circuits de Code
calcul de opération
Registre l’UAL
d’état (RE)
{drapeaux
ou ‘flags’}
Opérande1 Opérande2
(mémoire centrale) (mémoire centrale)
45
Architecture avec registre accumulateur :
Opérande 1 1 3
(mémoire
Résultat
centrale) Accumulateur (mémoire
(ACC) centrale)
Circuits de Code
calcul de
Registre opération
l’UAL
d’état (RE) 2
généraux. Pour repérer un registre parmi 4 (R1, R2, R3, R4) 2 bits
3. transfert de Ri en mémoire.
47
Les microprocesseurs les plus récents (Pentium,
PowerPC, ALPHA, SPARC, MIPS) utilisent uniquement
des registres et plus aucune adresse dans les
instructions de calcul :
1. transfert de l'opérande 1 dans un registre Ri,
2. transfert de l'opérande 2 dans un registre Rj,
3. opération avec Ri et Rj, résultat dans Rk,
4. rangement de Rk en mémoire.
Il peut alors y avoir un grand nombre de registres
adressés par quelques bits chacun.
48
Le cycle ‘chercher-décoder-exécuter’
répéter
chercher l'instruction dont l'adresse est dans CO et la
mettre dans RI;
incrémenter de 1 CO;
décoder le contenu de RI ;
s'il y en a, chercher le (les) opérande(s) dont on a
l'(les) adresse(s);
exécuter l'opération correspondant au code opération;
si c'est un branchement CO est remodifié
fin
49
ACC Cycle d’exécution d’une instruction
C1
Séquenceur
UAL
B1
C1 Code adresse RI
C1
A4 B2 C1
RM
UC
B3 CO
A3 A2
A1 +1
opérande
RA
instruction
Mémoire centrale
A1 : CO dans RA (adresse prochaine instruction dans RA)
A2 : incrémentation de 1 de CO (prochaine instruction à l’adresse suivante)
A3 : lecture de l’instruction et rangement dans RM CHERCHER
A4 : transfert de l’instruction de RM à RI pour décodage
B1 : analyse du code instruction; envoi des signaux de commande DECODER
B2 : adresse de l’opérande dans RA
B3 : lecture de l’opérande en mémoire et rangement dans RM EXECUTER
O C1 : calcul sur opérandes dans RM et ACC (a été précédé par un transfert du 1er opérande de la mémoire
vers ACC et est suivie d’un transfert du résultat de ACC vers la mémoire).
U 50
C1 : branchement adresse est rangée dans CO (devient la prochaine instruction à exécuter).
Programme complet sur machine élémentaire
Définition du langage :
Codes Instructions
10 chargement dans ACC du mot indiqué
(ex : 1025 chargement dans ACC du mot 25)
20 rangement de ACC dans le mot mémoire indiqué
30 addition de ACC et du mot mémoire indiqué
50 saut inconditionnel a l'adresse indiquée (ex : 5012)
99 arrêt du programme
Le programme exemple :
adresses
0: 1010 charger dans ACC mot 10 (valeur 23)
1: 3011 additionner ACC et mot 11 (valeur 37)
2: 2012 ranger ACC dans mot 12
3: 5005 sauter à l’adresse 5 (sert uniquement à montrer un saut)
4:
5: 99 arrêter
6:
…
10: 23 donnée 1 Exécution pas à pas
11: 14 donnée 2
12: 37 doit apparaître ici
51
Etat initial de la machine : programme chargé à l’adresse 0 et CO = 0
52
(prépare la lecture de la 1ère instruction)
53
54
55
(prépare le décodage de la 1ère instruction)
56
(10 = charger ACC avec opérande)
57
(prépare l’accès à l’opérande)
58
59
60
Etat à la fin de la première instruction (mot 10 chargé dans ACC)
61
62
63
64
65
(additionner ACC et opérande, résultat dans ACC)
66
67
68
69
70
Etat après exécution de l’instruction 2 (somme des mots 10 et 11 dans ACC)
71
72
73
74
75
(ranger ACC dans opérande)
76
77
78
79
Etat après exécution de instruction 3 (somme dans mot 12)
80
81
82
83
84
(saut inconditionnel à opérande)
85
86
Etat après instruction 3 (prêt à exécuter instruction 5)
87
88
89
90
91
(arrêter le programme)
92
Etat final du programme
93
CISC et RISC
CISC RISC
jeu d'instructions large jeu d'instructions réduit
instructions complexes instructions simples
instructions de tailles instructions de mêmes tailles
différentes instructions de mêmes durées
instructions de durées séquenceur câblé
différentes
séquenceur micro-programmé
Richesse du langage Efficacité du langage
machine machine
95
Les unités d’échange (UE)
97
Les unités d’échange (UE)
❑ interruption : (suite)
Dans une E/S avec interruption, le processeur exécute sa
requête à l’UE et reprend l'exécution d'un programme (le
même ou un autre).
Il n'attend donc plus pendant l’E/S.
A la fin de l’E/S, l’UE envoie une interruption au processeur
qui exécute le traitement associé à l’interruption (par exemple
le transfert en mémoire des données lues).
Puis il reprend le programme initial.
98
❑ échange direct avec la mémoire : ce mode permet le
transfert de blocs de données entre la mémoire et un
périphérique sans passer par le processeur.
Pour cela, un circuit appelé contrôleur de DMA (Direct
Memory Access) se charge entièrement du transfert des
données. Le microprocesseur initialise l’échange en donnant
au contrôleur de DMA :
• le périphérique concerné,
• le sens du transfert (E ou S),
• l'adresse du premier et du dernier mot concernés par le
transfert.
99
Le contrôleur de DMA est doté de
• un registre d'adresse
• un registre de donnée
• un compteur
• un dispositif de commande
(c'est un vrai processeur spécialisé).
Pour chaque mot échangé, le DMA demande au
microprocesseur le contrôle du bus, effectue la lecture ou
l‘écriture mémoire à l'adresse contenue dans son registre et
libère le bus.
Il incrémente ensuite cette adresse et décrémente son
compteur.
Lorsque le compteur atteint zéro, le dispositif informe le
processeur de la fin du transfert par une interruption.
100
Le principal avantage est que pendant toute la durée du
autre traitement.
101
Architecture de processeur avancée : pipeline
successives.
102
Architecture de processeur avancée : pipeline
Instructions/étages 1 2 3 4 5 6 7 8 9
instri CH DE EX
insti+1 CH DE EX
instri+2 CH DE EX
au lieu de :
Instructions/étages 1 2 3 4 5 6 7 8 9
instri CH DE EX
insti+1 CH DE EX
instri+2 CH DE EX
103
Architecture de processeur avancée : pipeline
105
Architecture de processeur avancée : superscalaire
107
Mesures de performances : théorie
108
Mesures de performances : théorie
110
Mesures de performances : pratique
En pratique, l'approche la plus réaliste pour mesurer les
performances consiste à réaliser des tests (‘benchmarks').
Ils comparent les machines par types d'applications (calculs
numériques, jeux, bureautique, etc.) en utilisant des
programmes et des données communes.
Les résultats de certains tests sont publiés et permettent des
comparaisons à peu près fiables entre machines.
C'est le cas par exemple des test du SPEC (Standard
Performance Evaluation Corporation - http://www.spec.org)
utilisés par beaucoup de constructeurs.
111
Les disques durs
Du tube à vide au µp
Historique
• 1956, invention par Reynold Johnson du RAMAC 350, 1 tonne, 1200 tpm, 5 MO
• 1986, Western Digital invente l’Integrated Drive Electronics (IDE ou ATA ou P-ATA)
Stockage sur :
• des plateaux
• recouverts
d'un revêtement magnétique
• en rotation rapide
Chaque partition est organisée selon un système de fichiers qui permet de:
• faire le lien entre les fichiers/répertoires et les secteurs physiques où le
contenu est stocké
• stocker de l’information en plus de son contenu (dates, propriétaire etc.)
• Taille
• Temps d’accès moyen: Il s’agit du délai moyen entre la requête d’information par le
système et sa livraison par le disque dur. Les temps d’accès des disques HDD sont
de l’ordre de 10 millisecondes (contre quelques nanosecondes pour de la mémoire
vive)
• Prix: les disques SSD présentent des performances intéressantes mais sont encore
plus chers (10x plus) que les disques HDD de même taille.
• Disque défectueux
• Secteurs défectueux
• Table de partition erronée
• Virus attaquant la table de partition empêchant de démarrer Win
• Mauvaise configuration physique (P-ATA)
• “Au secours, j’ai perdu mon fichier”
o Fichier effacé directement ou de la corbeille
o Partition formatée
Références
• F. Maraninchi, R. Leveugle., Systèmes et Logiciels Embarqués (SLE),
Ensimag, Grenoble, 2011
• S.Umamaheswaran, Software and Hardware Co-design For Defense
Embedded Systems, Central Research LaboratoryBharat Electronics
Limited., 2013
• EPAI Fribourg – Hervé, cours : Les systèmes à microprocesseur, 2010
• Jacques Lonchamp, Architecture et programmation des ordinateurs,
IUT Nancy Charlemagne, 2012
126