cours 3

publicité
VARI
VARI3.ppt
FAMILLES
FAMILLES DE
DE PROCESSEURS
PROCESSEURS
n CISC (Complex Instruction Set Computers)
– Instructions complexes
– Les instructions lisent leurs opérantes en mémoire
– Type des processeurs jusqu'aux années 80
– ex: IBM 360-370-390, DEC VAX, Motorola 680x0, Intel x86, ….
n RISC (Reducted Instruction Set Computers)
– Instructions simples (et rapides)
– Les instructions lisent leurs opérandes dans des registres
– Type des processeurs des années 80
– Programmes plus longs
– ex: IBM-Motorola PPC, SUN SPARC, DEC APHA, …..
© F. Anceau , janvier 2002, Page 1
VARI
VARI3.ppt
NOTION
NOTION DE
DE SOUS-PROGRAMME
SOUS-PROGRAMME
n La notion de sous-programme
correspond à la réutilisation de
séquences communes entre
plusieurs parties d'un
programme
n Elle correspond aussi à la
constitution d'outils logiciels
qui facilitent, et clarifient la
programmation
appel 1
appel 2
sous
programme
programme
principal
© F. Anceau , janvier 2002, Page 2
VARI
VARI3.ppt
REGISTRE
REGISTRE D'ETAT
D'ETAT
n Il existe un registre particulier, qui stocke l'état du
processeur.
n Ce registre contient des bits qui décrivent les propriétés
du dernier résultat calculé.
– Signe, nullité, débordement, parité
© F. Anceau , janvier 2002, Page 3
VARI
VARI3.ppt
SOUS-PROGRAMME
SOUS-PROGRAMME
n Un sous-programme doit pouvoir être appelé de
plusieurs endroits différents.
n L'exécution du programme appelant doit reprendre,
juste après l'appel, lorsque le sous-programme se
termine.
n Il existe des instructions spéciales d'appel de sousprogramme (appelées CALL)
n Il existe une instruction spéciale, appelée RET, pour
revenir au programme appelant après l'exécution d'un
sous-programme.
© F. Anceau , janvier 2002, Page 4
VARI
VARI3.ppt
NOTION
NOTION DE
DE PILE
PILE
n Une pile est le rangement
d'objets les uns sur les autres.
(par exemple: une pile de
papiers)
empiler
dépiler
n On peut:
– empiler (un papier)
– dépiler (un papier)
n On dépile les objets dans
l'ordre inverse dans lequel on
les a empilés.
Les premiers empilés sont les
derniers dépilés!
pile
© F. Anceau , janvier 2002, Page 5
VARI
VARI3.ppt
APPEL,
APPEL, ET
ET RETOUR,
RETOUR, DE
DE SOUS-PROGRAMMES
SOUS-PROGRAMMES
n On utilise une pile pour gérer les appels, et les retours,
de sous-programme.
n A l'appel d'un sous-programme:
– l'instruction CALL empile l'adresse de l'instruction qui suit le CALL
– à la fin d'un sous-programme, l'instruction RET dépile l'adresse de
retour et s'y branche.
n Cette technique permet d'avoir plusieurs appels
imbriqués de sous-programmes.
© F. Anceau , janvier 2002, Page 6
VARI
VARI3.ppt
APPEL
APPEL D'UN
D'UN SOUS-PROGRAMME
SOUS-PROGRAMME
SP1
SP2
CALL SP1
CALL SP2
RET
pile
RET
© F. Anceau , janvier 2002, Page 7
VARI
VARI3.ppt
APPEL
APPEL D'UN
D'UN SOUS-PROGRAMME
SOUS-PROGRAMME
SP1
SP2
CALL SP1
add1
CALL SP2
RET
RET
© F. Anceau , janvier 2002, Page 8
add1
pile
VARI
VARI3.ppt
APPEL
APPEL D'UN
D'UN SOUS-PROGRAMME
SOUS-PROGRAMME
SP1
SP2
CALL SP1
add1
CALL SP2
add2
add2
add1
pile
RET
RET
© F. Anceau , janvier 2002, Page 9
VARI
VARI3.ppt
APPEL
APPEL D'UN
D'UN SOUS-PROGRAMME
SOUS-PROGRAMME
SP1
SP2
CALL SP1
add1
CALL SP2
add2
RET
RET
© F. Anceau , janvier 2002, Page 10
add2
add1
pile
VARI
VARI3.ppt
APPEL
APPEL D'UN
D'UN SOUS-PROGRAMME
SOUS-PROGRAMME
SP1
SP2
CALL SP1
add1
CALL SP2
add2
RET
add1
RET
pile
© F. Anceau , janvier 2002, Page 11
VARI
VARI3.ppt
PERTURBATIONS
PERTURBATIONS DE
DE L'EXECUTION
L'EXECUTION
n Le fonctionnement d'un processeur peut être perturbé
par:
– Des erreurs dans le processus d'exécution
– Des requêtes extérieures
© F. Anceau , janvier 2002, Page 12
VARI
VARI3.ppt
ERREURS
ERREURS D'EXECUTION
D'EXECUTION
n Des erreurs peuvent apparaître dans le processus
d'exécution
par exemple:
– Des codes opération invalides
– Des divisions par zéro
– Des débordements arithmétiques
– ……..
n Le processeur ne sait plus quoi faire.
Il lui faut un mécanisme pour demander de l'aide:
– Cette "aide" est spécifique du travail en cours => elle doit être prévue
par l'utilisateur
© F. Anceau , janvier 2002, Page 13
VARI
VARI3.ppt
REACTIONS
REACTIONS A
A UNE
UNE ERREUR
ERREUR
n Exemple: Occurrence d'un débordement arithmétique
Peut être:
– Une saturation => affecter la valeur maximum
– Une erreur dans la logique du programme => tout arrêter
– Un travail sur des nombres en longueur multiple…..
n Exemple: Occurrence d'un code opération invalide
Peut être:
– Une erreur d'exécution (on cherche à exécuter des données)
=> arrêt immédiat
– Une extension logicielle du jeu d'instruction => on lance un sousprogramme
© F. Anceau , janvier 2002, Page 14
VARI
VARI3.ppt
REQUETES
REQUETES EXTERNES
EXTERNES
n Le milieu extérieur peut solliciter du travail à l'ordinateur de
manière impromptue
Par exemple:
–
–
–
Appui sur une touche du clavier
Un top d'une horloge externe => pour compter le temps
La lecture d'une info sur le disque
– …..
n Cette requête:
– N'a rien à voir avec ce que fait précisément l'ordinateur au moment de son
occurrence
– Son traitement peut être légèrement retardé.
– Elle peut être momentanément ignorée si le travail courant est critique
© F. Anceau , janvier 2002, Page 15
VARI
VARI3.ppt
REQUETE
REQUETE EXTERNE
EXTERNE
Travail courant
Réponse
à
l'appel
tel
Reprise du
Travail courant
© F. Anceau , janvier 2002, Page 16
VARI
VARI3.ppt
MECANISME
MECANISME D'INTERRUPTION
D'INTERRUPTION
n Mécanisme commun pour le traitement des erreurs
d'exécution et des requêtes externes
n Principe:
– Chaque erreur d'exécution ou requête externe provoque l'appel
impromptu du sous-programme associé.
(celui-ci n'a souvent rien à voir avec le programme en cours!)
n C'est un mécanisme très important
© F. Anceau , janvier 2002, Page 17
VARI
VARI3.ppt
EXEMPLE
EXEMPLE DE
DE MECANISME
MECANISME D'INTERRUPTION
D'INTERRUPTION
n Cas des processeurs X86 (ex: Pentium, Athlon)
L'occurrence d'une
erreur ou d'une requête
externe génère un
numéro d'interruption
SousSousprogramme
n° de l'interruption
vecteur
d'interruption
© F. Anceau , janvier 2002, Page 18
VARI
VARI3.ppt
PRISE
PRISE EN
EN COMPTE
COMPTE DE
DE L'INTERRUPTION
L'INTERRUPTION
n Le lancement du sous-programme impromptu suspend
l'exécution en cours => d'ou le nom d'interruption
n La prise en compte d'une interruption se fait:
– Immédiatement s'il s'agit d'une erreur d'exécution
– Au moment de la prochaine instruction s'il s'agit d'une requête
externe SAUF:
• Si le processeur ne souhaite pas être dérangé (travail critique)
© F. Anceau , janvier 2002, Page 19
VARI
VARI3.ppt
MASQUAGE
MASQUAGE DES
DES INTERRUPTIONS
INTERRUPTIONS EXTERNES
EXTERNES
n Lorsque l'on ne souhaite pas être perturbé par les
interruptions externes on peut les masquer en
positionnant un bit dans le registre d'état du
processeur.
– Bit de masquage des interruptions
n La cause reste en attente jusqu'à ce que ce bit soit
remis dans un état qui permette la prise en compte des
interruptions.
© F. Anceau , janvier 2002, Page 20
VARI
VARI3.ppt
ELEMENTS
ELEMENTS DE
DE MEMORISATION
MEMORISATION
n Un ordinateur contient un grand nombre d'éléments de
mémorisation
– Processeur:
• Registres de travail
• Registres accessibles par programmation
– Ordinateur:
• Mémoire centrale
• Disques
• …….
© F. Anceau , janvier 2002, Page 21
VARI
VARI3.ppt
HIERARCHIE
HIERARCHIE DES
DES ELEMENTS
ELEMENTS DE
DE
MEMORISATION
MEMORISATION
n Plus un élément de mémorisation est grand, plus il est
lent (et réciproquement)
n Les plus rapides contiennent les informations les plus
utiles à un instant donné.
n Les plus grands stockent la totalité de l'information
n L'info utile migre vers les plus rapides
n L'info modifiée descend mettre à jours les plus vastes
© F. Anceau , janvier 2002, Page 22
VARI
VARI3.ppt
BUREAU
BUREAU <->
<-> BIBLIOTHEQUE
BIBLIOTHEQUE
Bibliothèque
Documents pertinents
Bureau
Rangement des
documents
© F. Anceau , janvier 2002, Page 23
VARI
VARI3.ppt
NOTION
NOTION DE
DE CACHE
CACHE
Ecriture
L'utilisateur semble
disposer d'une
grande mémoire
rapide
Accès
global
CACHE
information
modifiée
Lecture
Petite mémoire rapide
information
pertinente
Grande
mémoire
(lente!)
© F. Anceau , janvier 2002, Page 24
VARI
VARI3.ppt
TAILLE
TAILLE DE
DE L'INFO
L'INFO
n Dans le cache l'info est gérée par blocs (64 octets)
n C'est la taille des échanges avec la mémoire
n Le processeur accède le cache par mots
© F. Anceau , janvier 2002, Page 25
VARI
VARI3.ppt
FONCTIONNEMENT
FONCTIONNEMENT DU
DU CACHE
CACHE (lecture)
(lecture)
lecture
proba
de succès
info dans le cache?
oui
non
lecture
dans le cache
(rapide)
proba
d'échec
lecture bloc
en mémoire
(lente)
recherche
d'une place
écriture
en mémoire
bloc exproprié
fourniture
info
© F. Anceau , janvier 2002, Page 26
rangement
bloc dans le
cache
VARI
VARI3.ppt
FONCTIONNEMENT
FONCTIONNEMENT DU
DU CACHE
CACHE (lecture)
(lecture)
écriture
bloc dans le cache?
oui
non
écriture
dans le cache
écriture
en mémoire
lecture bloc
en mémoire
écriture
info dans le
bloc
recherche
d'une place
écriture
en mémoire
bloc exproprié
rangement
bloc dans le
cache
© F. Anceau , janvier 2002, Page 27
VARI
VARI3.ppt
APPLICATION
APPLICATION
n Entre le processeur très rapide (temps de cycle de
0,5ns) et la mémoire centrale (100ns), il faut plusieurs
niveaux de cache
– Caches L1 dans le processeur (32Ko, 2ns)
• Cache programme
• Cache données
– Caches L2 dans le boîtier (512Ko, 10ns)
• Commun programme et données
– Caches L3 sur la carte-fille………
© F. Anceau , janvier 2002, Page 28
VARI
VARI3.ppt
MEMOIRE
MEMOIRE VIRTUELLE
VIRTUELLE
n La mémoire centrale peut
elle-même être vue
comme un cache du
disque
– Mémoire virtuelle (très grande
4Goctets) sans existence
physique => virtuelle
– Transferts par blocs de
4Koctets (pages).
p1
p2
p3
mémoire
physique
mémoire virtuelle
© F. Anceau , janvier 2002, Page 29
VARI
VARI3.ppt
MECANISME
MECANISME DE
DE PAGINATION
PAGINATION
Le processeur travaille avec
des adresses virtuelles
adresse virtuelle
n° page ad. dans la page
table des
pages
© F. Anceau , janvier 2002, Page 30
adresse mémoire
physique
VARI
VARI3.ppt
HIERARCHIE
HIERARCHIE DES
DES ELEMENTS
ELEMENTS DE
DE
MEMORISATION
MEMORISATION
taille
registres du processeur
antémémoires (caches)
mémoire centrale
disques
unités de
stockage
externes
© F. Anceau , janvier 2002, Page 31
VARI
VARI3.ppt
HIERARCHIE
HIERARCHIE DES
DES ELEMENTS
ELEMENTS DE
DE
MEMORISATION
MEMORISATION
vitesse
registres du processeur
antémémoires (caches)
mémoire centrale
disques
unités de
stockage
externes
© F. Anceau , janvier 2002, Page 32
VARI
VARI3.ppt
CYCLE
CYCLE ELEMENTAIRE
ELEMENTAIRE DE
DE CALCUL
CALCUL
OPERANDES
ORGANES
DE
MEMORISATION
OPERATEUR
RESULTAT
INSTRUCTIONS
© F. Anceau , janvier 2002, Page 33
VARI
VARI3.ppt
CYCLE
CYCLE ELEMENTAIRE
ELEMENTAIRE DE
DE CALCUL
CALCUL
OPERANDES
ORGANES
DE
MEMORISATION
OPERATEUR
RESULTAT
© F. Anceau , janvier 2002, Page 34
VARI
VARI3.ppt
CYCLE
CYCLE ELEMENTAIRE
ELEMENTAIRE DE
DE CALCUL
CALCUL
OPERANDES
ORGANES
DE
MEMORISATION
OPERATEUR
RESULTAT
INSTRUCTIONS
© F. Anceau , janvier 2002, Page 35
VARI
VARI3.ppt
HIERARCHIE
HIERARCHIE DES
DES ELEMENTS
ELEMENTS DE
DE
MEMORISATION
MEMORISATION
vitesse
taille
registres du processeur
antémémoires (caches)
mémoire centrale
disques
unités de
stockage
externes
© F. Anceau , janvier 2002, Page 36
VARI
VARI3.ppt
ABSORPTION
ABSORPTION DES
DES GAMMES
GAMMES D'ORDINATEURS
D'ORDINATEURS
PAR
PAR LES
LES MICRO-ORDINATEURS
MICRO-ORDINATEURS
Perf. (par processeur)
1000
rs
teu
na
i
d
r
r-o
pe
Su
100
urs
rve
e
S
10
M
r
ic
op
r
e
oc
ss
r
eu
s
m
o
on
lit
q
hi
ue
s
1
82
84
86
88
90
92
94
96
98
© F. Anceau , janvier 2002, Page 37
VARI
VARI3.ppt
PREHISTOIRE
PREHISTOIRE
ALGORITHMES
CALCUL
MECANIQUE
PROGRAMMATION
Al Khowarizmi
(perse IXème
IXème))
Machine 4 op.
Schickard (1623)
Carillons automatiques
(moyen âge)
Programmes
Ada de Lovelace
(~1840)
Pascaline
Pascal (1642)
Automates
Machine multiplicatrice
Leibniz (1694)
Machine analytique
Babbage (1840)
© F. Anceau , janvier 2002, Page 38
Métiers à tisser
automatiques
Bouchon (1725)
Vaucansson (1748)
Jacquard (1810)
VARI
VARI3.ppt
ANTIQUITE
ANTIQUITE
TECHNOLOGIE
Mécanique
Electromécanique
Electronique
Tubes à vide
de Forest (1906)
Additionneur binaire
Stibitz (1937)
Calculateur binaire
programmable V1
Zuse (1938)
THEORIE
Représentation
binaire
Boole (1847)
Théorie du calcul
Turing (1936)
Calculateurs
électroniques
Programme enregistré
programmables
Von Neumann (1945)
ABC
Atanasoff (1939)
ENIAC BINAC
Eckert,, Mauchy (1947
Eckert
(1947-- 49)
Automatic Computing Engine
Turing (1950)
© F. Anceau , janvier 2002, Page 39
VARI
VARI3.ppt
TEMPS
TEMPS MODERNES
MODERNES
TECHNOLOGIE
Transistors
Schockley, Brattain,
Schockley,
Bardeen (1947)
Ordinateurs à
transistors
(~1960)
Mémoires à tores
Papian (1950)
Mini-ordinateurs
MiniMIT LINC
(1962)
Circuits intégrés
Killy (1958)
Ordinateurs à
circuits intégrés
(~1965)
Microprocesseurs
Intel 4004
Hoff (1971)
© F. Anceau , janvier 2002, Page 40
L'ordinateur
reste une
machine à
calculer
L'ordinateur
devient
une machine
à traiter de
l'information
Téléchargement