MIG Informatique A lire absolument

publicité
Architecture et Technologie des Ordinateurs
Ecole des Mines de Paris
MIG Informatique
novembre 2002
Bertrand Blanc
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
1
po
ly
Références
Introduction
références
plan
fausses idées
vue générale
Hardware
Software
OS
A
lir
bso
a
e
Paolo Zanella, Yves Ligier
t
nArchitecture
e
et technologie des ordinateurs
m
u
l
ISBN : 2-10003-801-X
Abraham Silberschatz, Peter Galvin, Greg Gagne
Principes des systèmes d’exploitation
ISBN 4ème édition: 2-87908-078-9
Operating System Concepts
ISBN 6ème édition : 0-47141-743-2
2
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Plan
Introduction
références
plan
fausses idées
vue générale
Hardware
Software
OS
utilisateurs
Interface
(système d’exploitation)
Machine (matériel)
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
3
A bas les fausses idées!
po
A bas les idées simplistes sur l’informatique! ly
Introduction
références
niveaux
fausses idées
vue générale
Hardware
Software
OS
• Un ordinateur n’est pas une marque!
• Un ordinateur ne fonctionne pas par magie!
Personne n’est à l’intérieur pour faire le travail!
On y trouve ce que l’on y met!
• L’informatique n’est pas que l’utilisation d’un logiciel!
• L’informaticien n’est pas qu’un ouvrier!
4
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Vue générale
Introduction
références
plan
fausses idées
vue générale
Interface utilisateur
interpréteur de commandes
Hardware
Software
OS
allocation des ressources
(planification du travail)
gestion des fichiers
organisation des I/O
gestion de la mémoire
noyau (kernel)
gestion des
processus
gestion des allocation
interruptions du CPU
machine en kit
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
5
Couche Matérielle (hardware)
Introduction
Hardware
Ordinateur
Historique
Puces et Boole
Fonctionnement
Utilisateur
Software
OS
OS
processeur
Hardware
écran
mémoire vive
clavier
souris
disque dur
carte mère
6
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
L’ ordinateur: présentation générale
Introduction
Hardware
Ordinateur
définition
informatique
périphériques
les cartes
mesures
chiffres
bus
mémoire
processeur
disque dur
Historique
Puces et Boole
Fonctionnement
marque Intel
unité centrale
imprimante
disque dur
connecteur
USB
processeur
carte mère
carte réseau
Software
OS
lecteurs de disquette
laptop
clavier
disquette ZIP
processeur
connecteur nappe IDE
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
7
Que signifie « ordinateur »?
Introduction
Hardware
Ordinateur
définition
informatique
périphériques
les cartes
mesures
chiffres
bus
mémoire
processeur
disque dur
Historique
Puces et Boole
Fonctionnement
po
ly
[Larousse] Machine automatique de traitement de
l’ information, obéissant à des programmes formés
par des suites d’ opérations arithmétiques et logiques.
Exemple:
Si la somme des nombres entiers 3 et 4 fait 7
Alors écrit « oui » à l’ écran
Sinon émet un « bip » sur le haut-parleur
> oui
Software
OS
3+4
3+4=7?
8
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Que signifie « ordinateur »?
Introduction
Hardware
Ordinateur
définition
informatique
périphériques
les cartes
mesures
chiffres
bus
mémoire
processeur
disque dur
Historique
Puces et Boole
Fonctionnement
Machine automatique de traitement de l’ information
Exemple: Application météorologique
Calculer la moyenne des températures sur une collection de mesures réelles.
• information (ou données)
• calcul automatique
• programme
Software
OS
: la collection de mesures
: la moyenne (appliquée aux données)
: codage du calcul automatique et de la
représentation des valeurs dans un langage
compréhensible par la machine
Comment entrer ces valeurs?
• Au clavier ( long, fastidieux, répétitif )
• Avec un fichier sur disquette ( rapide )
9
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Et « informatique »?
Introduction
Hardware
Ordinateur
définition
informatique
périphériques
les cartes
mesures
chiffres
bus
mémoire
processeur
disque dur
Historique
Puces et Boole
Fonctionnement
Software
OS
[Larousse] Terme issu de la contraction de information et automatique.
L’ informatique est la science du traitement de l’ information.
Dans un ordinateur, logiciel et matériel sont liés.
Un ordinateur sans logiciel ne sert à rien!!
Programme: suite d’ instructions qui vont être exécutées en séquence
par l’ ordinateur
Logiciel: généralisation de la notion de programme.
Système informatique:
l’ ensemble ordinateur (hardware) et logiciels (software)
10
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Principaux périphériques d’ un ordinateur
Introduction
Hardware
Ordinateur
définition
informatique
périphériques
les cartes
mesures
chiffres
bus
mémoire
processeur
disque dur
Historique
Puces et Boole
Fonctionnement
Périphériques de sortie
Périphériques et supports
de stockage
Périphériques de
communication
I
N
T
E
R
N
E
T
Software
OS
Périphériques d’ entrée
ou d’ acquisition
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
11
Et qu’ y a-t-il à l’ intérieur?
La carte mère (motherboard)
Introduction
Hardware
Ordinateur
définition
informatique
périphériques
les cartes
mesures
chiffres
bus
mémoire
processeur
disque dur
Historique
Puces et Boole
Fonctionnement
port série COM
port parallèle
port USB
prise PS2
slot ISA
alimentation
électrique
slot CPU
chipset
Software
OS
slots mémoire
SDRAM
slot PCI
pile
slot AGP
12
connecteur
nappe IDE HD
connecteur
nappe IDE FD
BIOS
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
po
ly
Et qu’ y a-t-il à l’ intérieur?
La carte mère (motherboard)
Introduction
Hardware
Ordinateur
définition
informatique
périphériques
les cartes
mesures
chiffres
bus
mémoire
processeur
disque dur
Historique
Puces et Boole
Fonctionnement
Software
OS
• la pile: électricité, gestion de l’ énergie
• tenir l’ heure à jour
• conserver la configuration du matériel connecté
• le BIOS: composant électronique
• type du matériel connecté
• démarrage de l’ ordinateur lorsqu’ on appuie sur le bouton
• le chipset: gère les différentes communications des slots de la carte mère
• les prises: connecteurs, ports ou slots pour les cartes et les périphériques
• différentes caractéristiques (taille, nombre de broches)
• différents critères de communication (débit, protocole de communication)
•
•
•
•
•
slot AGP (dédié à la carte graphique), slot PCI, slot ISA
slot CPU: le processeur, le cerveau de l’ ordinateur
connecteur IDE
port série, port parallèle, port USB
prise PS2
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
13
Et qu’ y a-t-il à l’ intérieur?
Les autres cartes
Introduction
Hardware
Ordinateur
définition
informatique
périphériques
les cartes
mesures
chiffres
bus
mémoire
processeur
disque dur
Historique
Puces et Boole
Fonctionnement
po
ly
• Carte graphique:
sortie TV
processeur
sortie moniteur
connecteur AGP mâle
• Carte ethernet (réseau):
LEDs
Software
OS
câble coaxial
connecteur BNC
I/O réseau
connecteur ISA mâle
câble Unshielded Twisted Pair
connecteur RJ 45
14
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Unités de mesure
Introduction
Hardware
Ordinateur
définition
informatique
périphériques
les cartes
mesures
chiffres
bus
mémoire
processeur
disque dur
Historique
Puces et Boole
Fonctionnement
Software
OS
• unité de représentation de l’ information et des calculs
• le bit (binary digit)
• l’ octet (byte): 8 bits
• le kilo-octet (Ko): 1024 octets
• le méga-octet (Mo): 1024 Ko
• le giga-octet (Go): 1024 Mo
• unité de fréquence
• le Herz (Hz)
• le giga-Herz (GHz): 1000 Hz
• unité de débit
• bits par seconde (bps)
• octet par seconde (ops ou Bps)
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
15
Unités de mesure
Introduction
Hardware
Ordinateur
définition
informatique
périphériques
les cartes
mesures
chiffres
bus
mémoire
processeur
disque dur
Historique
Puces et Boole
Fonctionnement
Software
OS
po
ly
1 Ku (kilo unité)
1 Mu (méga unité)
1 Gu (giga unité)
1 Tu (tera unité)
1 Pu (peta unité)
1 mu (milli unité)
1 µu (micro unité)
1 nu (nano unité)
1 pu (pico unité)
= 210 unités
= 220 unités
= 230 unités
= 240 unités
= 250 unités
= 10-3 unités
= 10-3 unités
= 10-9 unités
= 10-12 unités
bit (b) binary digit
byte ou octet (B ou o)
bits par seconde (bps)
: plus petit élément physique. Il vaut soit 0, soit 1.
: 8 bits.
≠ baud (nombre d’ états significatifs
= 1.024 unités
= 1.048.576 unités
= 1.024 Mu
= 1.024 Gu
= 1.024 Tu
= 0,001 unité
= 0,000.001 unité
= 0,000.000.001 unité
d’ un signal transmis par seconde)
16
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Quelques chiffres
Introduction
Hardware
Disque Dur:
20 Go, 40 Go, 80 Go
Ordinateur
définition
informatique
périphériques
les cartes
mesures
chiffres
bus
mémoire
processeur
disque dur
Historique
Puces et Boole
Fonctionnement
ZIP: 100/250/750Mo
JAZZ: 1 Go
CD: 600 Mo
DVD: 4,7 Go
Disquette 3’ ½:
1,4 Mo
RAM:
32 Mo, 64 Mo,
256 Mo
modem: 56 KBps
ADSL: 512 KBps
Software
OS
processeur:
800 MHz, 2 GHz
Internet:
10/100 Mbps
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
17
Les médiums de communication: les bus
Introduction
Hardware
Ordinateur
définition
informatique
périphériques
les cartes
mesures
chiffres
bus
mémoire
processeur
disque dur
Historique
Puces et Boole
Fonctionnement
• Collection de fils servant à faire transiter l’ information entre les différentes parties
• Différents bus (PCI, ISA, AGP, …) fonctionnant à des vitesses différentes
(cadencement des informations)
• Les slots, ports ou prises permettent de brancher des cartes ou périphériques sur le bus
bus système:
66MHz, 100MHz, 133MHz
Software
OS
bus IDE: 33MBps
bus AGP (cartes graphiques) : 500MBps
bus PCI: 33MHz sur 32b (soit 132MBps)
bus ISA: 8MHz sur 16b (8MBps)
18
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Les bus: ports de communication
Introduction
Hardware
po
ly
Millions de bits transmis par seconde (Mbps)
Ordinateur
définition
informatique
périphériques
les cartes
mesures
chiffres
bus
mémoire
processeur
disque dur
Historique
Puces et Boole
Fonctionnement
Ports faible débit (pas besoin de grande vitesse pour un clavier)
Ports haut débit
Software
OS
(internet)
La vitesse de communication à l’ intérieur d’ un ordinateur devient comparable à la vitesse
de communication entre les ordinateurs: on a une machine distribuée sur le réseau
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
19
La mémoire
Introduction
Hardware
• Mémoire morte: ROM (Read-Only-Memory)
Ordinateur
définition
informatique
périphériques
les cartes
mesures
chiffres
bus
mémoire
processeur
disque dur
Historique
Puces et Boole
Fonctionnement
Software
OS
démarrage de l’ ordinateur
• Mémoire de masse: disque dur, …
contient des fichiers qui sont conservés quand la machine est éteinte
• Mémoire centrale: RAM (Random-Acces-Memory)
contient le programme en cours d’ exécution et ses données
la RAM se décline en plusieurs types (SDRAM, EDO, SIMM)
• Mémoire cache ou antémémoire:
mémoire très rapide de quelques Ko
• Mémoire volatile: les registres
capacité
20
zone mémoire du CPU à accès très rapide (stockage des calculs
intermédiaires)
vitesse
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
La mémoire: caractéristiques
Introduction
Hardware
Ordinateur
définition
informatique
périphériques
les cartes
mesures
chiffres
bus
mémoire
processeur
disque dur
Historique
Puces et Boole
Fonctionnement
po
ly
• Organisation des informations:
bit, octet, caractère, mot, enregistrement et fichier
• Caractéristiques:
adresse, capacité, temps d’ accès, type (RAM, ROM, volatile, …)
• Types d’ accès:
– séquentiel
– direct
– semi-séquentiel
bande magnétique
mémoire centrale, registres
accès au cylindre puis accès au secteur
Software
OS
21
Introduction
Hardware
Ca
Ordinateur
définition
informatique
périphériques
les cartes
mesures
chiffres
bus
mémoire
processeur
disque dur
Historique
Puces et Boole
Fonctionnement
o
rre f
ur v
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
i
o rd
n
Le processeur:
CPU (Central Processing Unit)
du
v en
s
ou
Software
OS
22
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Le disque dur (Hard Drive)
Introduction
Hardware
Ordinateur
définition
informatique
périphériques
les cartes
mesures
chiffres
bus
mémoire
processeur
disque dur
Historique
Puces et Boole
Fonctionnement
Software
OS
tête de lecture/écriture
plateaux
Dispositif de contrôle
boîtier
pistes
cylindres
Secteur
plateaux
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
23
Le disque dur: caractéristiques
Introduction
Hardware
Ordinateur
définition
informatique
périphériques
les cartes
mesures
chiffres
bus
mémoire
processeur
disque dur
Historique
Puces et Boole
Fonctionnement
Software
OS
po
ly
• taux de transfert
données (MBps) lues ou écrites sur le disque en un temps donné
• temps de latence
temps entre lequel le disque trouve la piste et où il trouve les données
• temps d'accès
temps que met la tête pour aller d'
une piste à la piste suivante
• temps d'accès moyen
temps mis entre l’ émission de l’ ordre et la restitution de la donnée
• densité radiale
nombre de pistes par pouce (tpi: Track per Inch)
• densité linéaire
nombre de bits par pouce sur une piste donnée (bpi: Bit per Inch)
• densité surfacique
rapport de la densité linéaire sur la densité radiale
24
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
po
ly
Bref historique
Introduction
Hardware
Ordinateur
Historique
chiffres
machines
systèmes
racines
von neumann
Puces et Boole
Fonctionnement
Software
OS
Bibliographie:
Georges Ifrah
Histoire universelle des chiffres
L’ intelligence des hommes racontée par les nombres et les calculs
ISBN tome 1: 2-22105-779-1
ISBN tome 2: 2-22107-837-3
25
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Les Hommes et les Chiffres
po
ly
Introduction
Hardware
Ordinateur
Historique
chiffres
machines
systèmes
racines
von neumann
Puces et Boole
Fonctionnement
Software
OS
26
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Les Hommes et les Calculs:
Les machines à calculer
po
ly
Introduction
Hardware
Ordinateur
Historique
chiffres
machines
systèmes
racines
von neumann
Puces et Boole
Fonctionnement
Software
OS
Babylone
base 60
Sumeriens
utilisation
du 0
base 60
-3000
-300
JC
Europe
Apparition du 0
Al-Khawarezmi
Ecosse
Neper
log
Allemagne
Schickard
Paris
Pascal
machine à calculer
machine à calculer
820
1614
1623
1642
Premiers travaux sur
l’ aide au calcul
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
27
po
Les Hommes et les Calculs:
ly
Les systèmes de commandes automatiques
Introduction
Hardware
Ordinateur
Historique
chiffres
machines
systèmes
racines
von neumann
Puces et Boole
Fonctionnement
Software
OS
Paris
Jacquard
programme externe
(cartes perforées)
1805
inn
n
tio
ova
28
Londres
Babbage
machine à différences
machine analytique
1830
Londres
Boole
USA
Hollerith
Algèbre de Boole
calculateur de statistiques
1854
1890
USA
Hollerith
fondation d’ IBM
1924
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Les Hommes et les Calculs:
Naissance de l’ Ordinateur
po
ly
Introduction
Hardware
Ordinateur
Historique
chiffres
machines
systèmes
racines
von neumann
Puces et Boole
Fonctionnement
Software
OS
Cryptogtaphie et cryptanalyse
Turing casse les codes d’ Enigma
MIT
Cambridge
Bush
Turing
machines analogiques représentation abstraite
(signaux électriques)
d’ une machine
1930
MIT
Shannon
Berlin
Zuse
Z3 / Z4
théorie de l’ information
conception de missiles
(Boole + Leibniz)
1936
1938
IBM&Harvard
Aiken
Mark 1
(système décimal)
1941
1944
Machines binaires: tubes à vide, pièces électromécaniques
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
29
po
ly
Les Hommes et les Calculs:
Naissance de l’ Ordinateur
Introduction
Hardware
lampe
Ordinateur
Historique
chiffres
machines
systèmes
racines
von neumann
Puces et Boole
Fonctionnement
transistor
circuit intégré
Software
OS
USA
Von Neumann
EDVAC
USA
Eckert&Mauchly
ENIAC
structure des ordinateurs modernes
machine électronique
ion
vat
o
n
in
30
1945
puce
Cambridge
Wilkes
EDSAC
premier calculateur électronique
1950
Evolution croissante des ordinateurs:
miniaturisation des composants électroniques
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
po
ly
Systèmes et bases
Introduction
Hardware
base
Ordinateur
Historique
chiffres
machines
systèmes
racines
von neumann
Puces et Boole
Fonctionnement
Exemple
systeme
1
doigts, cailloux, entailles
2
binaire
logique symbolique, ordinateurs
5
quinaire
aztèques
7
Software
OS
notes de musique, jours
8
octal
ordinateurs
10
décimal
adopté par l'Homme
12
notes, monnaie, mesures, mois
16
hexadécimal
ordinateurs
20
mayas
24
heures
60
sexagésimal
degrés, minutes
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
31
po
ly
Racines de l’ ordinateur
Introduction
Hardware
Ordinateur
Historique
chiffres
machines
systèmes
racines
von neumann
Puces et Boole
Fonctionnement
Software
OS
Mécanisation de l’arithmétique
Automates
Schickard
Falcon
Pascal
Technologie
Jacquard
Logique Mathématique
Leibniz
mécanique
Leibniz
Babbage
Boole
Shannon
Zuse
électromécanique
Hollerith
électronique
Turing
Von Neumann
Wilkes
Industrie Informatique
32
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Introduction
Hardware
Ordinateur
Historique
chiffres
machines
systèmes
racines
von neumann
Puces et Boole
Fonctionnement
Software
OS
o
inn
Architecture classique des ordinateurs:
architecture de Von Neumann
n
o
i
va t
• machine universelle contrôlée par programme
• instructions du programme codées en binaire
• instructions du programme enregistrées en mémoire
• instructions exécutées en séquence
• instructions permettant la rupture de séquence: les interruptions
bouger la souris, appuyer sur une touche du clavier
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
33
Architecture de Von Neumann:
schéma général
Introduction
Hardware
Unité arithmétique
et logique (ALU)
Ordinateur
Historique
chiffres
machines
systèmes
racines
von neumann
Puces et Boole
Fonctionnement
Mémoires
Unité de
commande
BUSses
Software
OS
Entrées
Sorties
horloge
du CPU
• BUSses
: liaison entre des différents modules
• horloge du CPU
: cadence du traitement des données
• ALU
: opérateurs câblés du +, *, …
• mémoires
: programme chargé en cours d’ exécution, stockage des résultats, …
• unité de commande : contrôle l’ exécution du programme
• entrées/sorties
34
: contrôleurs de périphériques, cartes, ...
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Architecture de Von Neumann:
schéma général: exemple
Introduction
Hardware
Ordinateur
Historique
chiffres
machines
systèmes
racines
von neumann
Puces et Boole
Fonctionnement
po
ly
Ecrire à l’ écran la somme de deux nombre entrés au clavier
Programme:
1. Attendre l’ entrée au clavier du premier nombre
2. Lire le premier nombre
3. Attendre l’ entrée au clavier du deuxième nombre
4. Lire le deuxième nombre
5. Additionner les deux nombres
6. Afficher le résultat à l’ écran
Software
OS
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
35
Architecture de Von Neumann:
schéma général: exemple
po
ly
Introduction
Hardware
Ordinateur
Historique
chiffres
machines
systèmes
racines
von neumann
Puces et Boole
Fonctionnement
Charger le programme en mémoire centrale (RAM)
Mémoires
Unité arithmétique
et logique (ALU)
Software
OS
1. Attendre l’ entrée au clavier d u premier nombre
2. Lire le premier nombre
3. Attendre l’ entrée au clavier d u deuxième nombre
4. Lire le deuxième nombre
5. Additionn er les deu x nombres
6. Afficher le rés ultat à l’ écran
Unité de
commande
BUSses
Entrées
36
Sorties
horloge
du CPU
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Architecture de Von Neumann:
schéma général: exemple
po
ly
Introduction
Hardware
Ordinateur
Historique
chiffres
machines
systèmes
racines
von neumann
Puces et Boole
Fonctionnement
Exécuter la première instruction:
Attendre l’ entrée au clavier du premier nombre
Mémoires
Unité arithmétique
et logique (ALU)
Software
OS
1. Atten dre l’ entrée au clavier du premier nombre
2. Lire le premier nombre
3. Atten dre l’ entrée au clavier du deuxième nombre
4. Lire le deuxième nombre
5. Additionner les deux nombres
6. Afficher le rés ultat à l’ écran
Unité de
commande
BUSses
Entrées
Sorties
horloge
du CPU
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
37
Architecture de Von Neumann:
schéma général: exemple
po
ly
Introduction
Hardware
Ordinateur
Historique
chiffres
machines
systèmes
racines
von neumann
Puces et Boole
Fonctionnement
Le chiffre 3 est entré au clavier
Mémoires
Unité arithmétique
et logique (ALU)
Software
OS
1. Atten dre l’ entrée au clavier du premier nombre
2. Lire le premier nombre
3. Atten dre l’ entrée au clavier du deuxième nombre
4. Lire le deuxième nombre
5. Additionner les deux nombres
6. Afficher le rés ultat à l’ écran
Unité de
commande
BUSses
Entrées
3
38
Sorties
horloge
du CPU
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Architecture de Von Neumann:
schéma général: exemple
po
ly
Introduction
Hardware
Ordinateur
Historique
chiffres
machines
systèmes
racines
von neumann
Puces et Boole
Fonctionnement
Le chiffre 3 est stocké en binaire à un emplacement mémoire précis
Mémoires
Unité arithmétique
et logique (ALU)
Software
OS
1. Atten dre l’ entrée au clavier du premier nombre
2. Lire le premier nombre
3. Atten dre l’ entrée au clavier du deuxième nombre
4. Lire le deuxième nombre
5. Additionner les deux nombres
6. Afficher le rés ultat à l’ écran
0011
Unité de
commande
BUSses
Entrées
Sorties
horloge
du CPU
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
39
Architecture de Von Neumann:
schéma général: exemple
po
ly
Introduction
Hardware
Ordinateur
Historique
chiffres
machines
systèmes
racines
von neumann
Puces et Boole
Fonctionnement
Une interruption « clavier » avertit l’ unité de commande qu’ un chiffre est
disponible
Mémoires
Unité arithmétique
et logique (ALU)
Software
OS
1. Atten dre l’ entrée au clavier du premier nombre
2. Lire le premier nombre
3. Atten dre l’ entrée au clavier du deuxième nombre
4. Lire le deuxième nombre
5. Additionner les deux nombres
6. Afficher le rés ultat à l’ écran
0011
Unité de
commande
BUSses
Entrées
40
Sorties
horloge
du CPU
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Architecture de Von Neumann:
schéma général: exemple
po
ly
Introduction
Hardware
Ordinateur
Historique
chiffres
machines
systèmes
racines
von neumann
Puces et Boole
Fonctionnement
La seconde instruction est exécutée:
Lire le premier nombre
Mémoires
Unité arithmétique
et logique (ALU)
Software
OS
1. Atten dre l’ entrée au clavier du premier nombre
2. Lire le premier nombre
3. Atten dre l’ entrée au clavier du deuxième nombre
4. Lire le deuxième nombre
5. Additionner les deux nombres
6. Afficher le rés ultat à l’ écran
0011
Unité de
commande
BUSses
Entrées
Sorties
horloge
du CPU
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
41
Architecture de Von Neumann:
schéma général: exemple
po
ly
Introduction
Hardware
Ordinateur
Historique
chiffres
machines
systèmes
racines
von neumann
Puces et Boole
Fonctionnement
Le nombre est stocké en mémoire
Mémoires
Unité arithmétique
et logique (ALU)
Software
OS
1. Atten dre l’ entrée au clavier du premier nombre
2. Lire le premier nombre
3. Atten dre l’ entrée au clavier du deuxième nombre
4. Lire le deuxième nombre
5. Additionner les deux nombres
6. Afficher le rés ultat à l’ écran
0011
0011
Unité de
commande
BUSses
Entrées
42
Sorties
horloge
du CPU
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Architecture de Von Neumann:
schéma général: exemple
po
ly
Introduction
Hardware
Ordinateur
Historique
chiffres
machines
systèmes
racines
von neumann
Puces et Boole
Fonctionnement
Exécuter la troisième instruction:
Attendre l’ entrée au clavier du deuxième nombre
Mémoires
Unité arithmétique
et logique (ALU)
Software
OS
1. Atten dre l’ entrée au clavier du premier nombre
2. Lire le premier nombre
3. Atten dre l’ entrée au clavier du deuxième nombre
4. Lire le deuxième nombre
5. Additionner les deux nombres
6. Afficher le rés ultat à l’ écran
Unité de
commande
BUSses
Entrées
Sorties
horloge
du CPU
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
43
Architecture de Von Neumann:
schéma général: exemple
po
ly
Introduction
Hardware
Ordinateur
Historique
chiffres
machines
systèmes
racines
von neumann
Puces et Boole
Fonctionnement
Le chiffre 5 est entré au clavier
Mémoires
Unité arithmétique
et logique (ALU)
Software
OS
1. Atten dre l’ entrée au clavier du premier nombre
2. Lire le premier nombre
3. Atten dre l’ entrée au clavier du deuxième nombre
4. Lire le deuxième nombre
5. Additionner les deux nombres
6. Afficher le rés ultat à l’ écran
Unité de
commande
BUSses
Entrées
5
44
Sorties
horloge
du CPU
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Architecture de Von Neumann:
schéma général: exemple
po
ly
Introduction
Hardware
Ordinateur
Historique
chiffres
machines
systèmes
racines
von neumann
Puces et Boole
Fonctionnement
Le chiffre 5 est stocké en binaire à un emplacement mémoire précis
Mémoires
Unité arithmétique
et logique (ALU)
Software
OS
1. Atten dre l’ entrée au clavier du premier nombre
2. Lire le premier nombre
3. Atten dre l’ entrée au clavier du deuxième nombre
4. Lire le deuxième nombre
5. Additionner les deux nombres
6. Afficher le rés ultat à l’ écran
0101
Unité de
commande
BUSses
Entrées
Sorties
horloge
du CPU
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
45
Architecture de Von Neumann:
schéma général: exemple
po
ly
Introduction
Hardware
Ordinateur
Historique
chiffres
machines
systèmes
racines
von neumann
Puces et Boole
Fonctionnement
Une interruption « clavier » avertit l’ unité de commande qu’ un chiffre est
disponible
Mémoires
Unité arithmétique
et logique (ALU)
Software
OS
1. Atten dre l’ entrée au clavier du premier nombre
2. Lire le premier nombre
3. Atten dre l’ entrée au clavier du deuxième nombre
4. Lire le deuxième nombre
5. Additionner les deux nombres
6. Afficher le rés ultat à l’ écran
0101
Unité de
commande
BUSses
Entrées
46
Sorties
horloge
du CPU
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Architecture de Von Neumann:
schéma général: exemple
po
ly
Introduction
Hardware
Ordinateur
Historique
chiffres
machines
systèmes
racines
von neumann
Puces et Boole
Fonctionnement
La quatrième instruction est exécutée:
Lire le deuxième nombre
Mémoires
Unité arithmétique
et logique (ALU)
Software
OS
1. Atten dre l’ entrée au clavier du premier nombre
2. Lire le premier nombre
3. Atten dre l’ entrée au clavier du deuxième nombre
4. Lire le deuxième nombre
5. Additionner les deux nombres
6. Afficher le rés ultat à l’ écran
0101
Unité de
commande
BUSses
Entrées
Sorties
horloge
du CPU
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
47
Architecture de Von Neumann:
schéma général: exemple
po
ly
Introduction
Hardware
Ordinateur
Historique
chiffres
machines
systèmes
racines
von neumann
Puces et Boole
Fonctionnement
Le nombre est stocké en mémoire
Mémoires
0101
Unité arithmétique
et logique (ALU)
Software
OS
1. Atten dre l’ entrée au clavier du premier nombre
2. Lire le premier nombre
3. Atten dre l’ entrée au clavier du deuxième nombre
4. Lire le deuxième nombre
5. Additionner les deux nombres
6. Afficher le rés ultat à l’ écran
0011
0101
Unité de
commande
BUSses
Entrées
48
Sorties
horloge
du CPU
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Architecture de Von Neumann:
schéma général: exemple
po
ly
Introduction
Hardware
Ordinateur
Historique
chiffres
machines
systèmes
racines
von neumann
Puces et Boole
Fonctionnement
La cinquième instruction est exécutée:
Additionner les deux nombres
Mémoires
0101
Unité arithmétique
et logique (ALU)
Software
OS
1. Atten dre l’ entrée au clavier du premier nombre
2. Lire le premier nombre
3. Atten dre l’ entrée au clavier du deuxième nombre
4. Lire le deuxième nombre
5. Additionner les deux nombres
6. Afficher le rés ultat à l’ écran
0011
0101
Unité de
commande
BUSses
Entrées
Sorties
horloge
du CPU
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
49
Architecture de Von Neumann:
schéma général: exemple
po
ly
Introduction
Hardware
Ordinateur
Historique
chiffres
machines
systèmes
racines
von neumann
Puces et Boole
Fonctionnement
Sélectionner l’ addition câblée
Mémoires
0101
+
Unité arithmétique
et logique (ALU)
Software
OS
1. Atten dre l’ entrée au clavier du premier nombre
2. Lire le premier nombre
3. Atten dre l’ entrée au clavier du deuxième nombre
4. Lire le deuxième nombre
5. Additionner les deux nombres
6. Afficher le rés ultat à l’ écran
0011
0101
Unité de
commande
BUSses
Entrées
50
Sorties
horloge
du CPU
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Architecture de Von Neumann:
schéma général: exemple
po
ly
Introduction
Hardware
Ordinateur
Historique
chiffres
machines
systèmes
racines
von neumann
Puces et Boole
Fonctionnement
Donner la première opérande à l’ additionneur câblé
Mémoires
0101
+
Unité arithmétique
et logique (ALU)
Software
OS
1. Atten dre l’ entrée au clavier du premier nombre
2. Lire le premier nombre
3. Atten dre l’ entrée au clavier du deuxième nombre
4. Lire le deuxième nombre
5. Additionner les deux nombres
6. Afficher le rés ultat à l’ écran
0011
0101
Unité de
commande
BUSses
Entrées
Sorties
horloge
du CPU
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
51
Architecture de Von Neumann:
schéma général: exemple
po
ly
Introduction
Hardware
Ordinateur
Historique
chiffres
machines
systèmes
racines
von neumann
Puces et Boole
Fonctionnement
Donner la seconde opérande à l’ additionneur câblé
Mémoires
0101
+
Unité arithmétique
et logique (ALU)
Software
OS
1. Atten dre l’ entrée au clavier du premier nombre
2. Lire le premier nombre
3. Atten dre l’ entrée au clavier du deuxième nombre
4. Lire le deuxième nombre
5. Additionner les deux nombres
6. Afficher le rés ultat à l’ écran
0011
0101
Unité de
commande
BUSses
Entrées
52
Sorties
horloge
du CPU
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Architecture de Von Neumann:
schéma général: exemple
po
ly
Introduction
Hardware
Ordinateur
Historique
chiffres
machines
systèmes
racines
von neumann
Puces et Boole
Fonctionnement
Stocker le résultat de l’ addition câblée
Mémoires
0101
1000
+
Unité arithmétique
et logique (ALU)
Software
OS
1. Atten dre l’ entrée au clavier du premier nombre
2. Lire le premier nombre
3. Atten dre l’ entrée au clavier du deuxième nombre
4. Lire le deuxième nombre
5. Additionner les deux nombres
6. Afficher le rés ultat à l’ écran
0011
0101
Unité de
commande
BUSses
Entrées
Sorties
horloge
du CPU
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
53
Architecture de Von Neumann:
schéma général: exemple
po
ly
Introduction
Hardware
Ordinateur
Historique
chiffres
machines
systèmes
racines
von neumann
Puces et Boole
Fonctionnement
Exécuter la sixième instruction:
Afficher le résultat à l’ écran
Mémoires
0101
1000
Unité arithmétique
et logique (ALU)
Software
OS
1. Atten dre l’ entrée au clavier du premier nombre
2. Lire le premier nombre
3. Atten dre l’ entrée au clavier du deuxième nombre
4. Lire le deuxième nombre
5. Additionner les deux nombres
6. Afficher le rés ultat à l’ écran
0011
0101
Unité de
commande
BUSses
Entrées
54
Sorties
horloge
du CPU
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Architecture de Von Neumann:
schéma général: exemple
po
ly
Introduction
Hardware
Ordinateur
Historique
chiffres
machines
systèmes
racines
von neumann
Puces et Boole
Fonctionnement
Stocker le résultat dans le zone mémoire de l’ écran
Mémoires
0101
1000
Unité arithmétique
et logique (ALU)
Software
OS
1000
1. Atten dre l’ entrée au clavier du premier nombre
2. Lire le premier nombre
3. Atten dre l’ entrée au clavier du deuxième nombre
4. Lire le deuxième nombre
5. Additionner les deux nombres
6. Afficher le rés ultat à l’ écran
0011
0101
Unité de
commande
BUSses
Entrées
Sorties
horloge
du CPU
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
55
Architecture de Von Neumann:
schéma général: exemple
po
ly
Introduction
Hardware
Ordinateur
Historique
chiffres
machines
systèmes
racines
von neumann
Puces et Boole
Fonctionnement
Provoquer une interruption disant au controlleur de l’ écran qu’ il doit
afficher une donnée
Mémoires
0101
1000
Unité arithmétique
et logique (ALU)
Software
OS
1000
1. Atten dre l’ entrée au clavier du premier nombre
2. Lire le premier nombre
3. Atten dre l’ entrée au clavier du deuxième nombre
4. Lire le deuxième nombre
5. Additionner les deux nombres
6. Afficher le rés ultat à l’ écran
0011
0101
Unité de
commande
BUSses
Entrées
56
Sorties
horloge
du CPU
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Architecture de Von Neumann:
schéma général: exemple
po
ly
Introduction
Hardware
Ordinateur
Historique
chiffres
machines
systèmes
racines
von neumann
Puces et Boole
Fonctionnement
Affichage de chiffre binaire 1000 de manière compréhensible par l’ être
humain: le chiffre 8
Mémoires
0101
1000
Unité arithmétique
et logique (ALU)
Software
OS
1000
1. Atten dre l’ entrée au clavier du premier nombre
2. Lire le premier nombre
3. Atten dre l’ entrée au clavier du deuxième nombre
4. Lire le deuxième nombre
5. Additionner les deux nombres
6. Afficher le rés ultat à l’ écran
0011
0101
Unité de
commande
BUSses
Entrées
Sorties
horloge
du CPU
8
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
57
Architecture de Von Neumann:
schéma général: exemple
po
ly
Introduction
Hardware
Ordinateur
Historique
chiffres
machines
systèmes
racines
von neumann
Puces et Boole
Fonctionnement
Le programme est terminé:
la mémoire utilisée par le programme est libérée
Mémoires
1000
Unité arithmétique
et logique (ALU)
Software
OS
0101
Unité de
commande
BUSses
Entrées
58
Sorties
horloge
du CPU
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
po
ly
Puces et algèbre de Boole
Introduction
Hardware
Ordinateur
Historique
Puces et Boole
portes
exemple
puce
mémoire
transistor
algèbre
Fonctionnement
Software
OS
Jean Vuillemin
Théorie des technologies de l’ information
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
59
Puces, portes logiques & transistors
Introduction
Hardware
Ordinateur
Historique
Puces et Boole
portes
exemple
puce
mémoire
transistor
algèbre
Fonctionnement
puce
X
Software
OS
Y
S
-V
X
circuit intégré
-V
Y
S
transistors
60
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Portes logiques:
po
ly
exemple de l’ additionneur câblé de l’ ALU
Introduction
Hardware
Ordinateur
Historique
Puces et Boole
portes
exemple
schéma
table
logique
électronique
puce
mémoire
transistor
algèbre
Fonctionnement
Schéma de l’ additionneur câblé 4 bits
1
a0
1
b0
1
a1
0
b1
1
+
0
cout0
1
b2
1
+
0
a3
0
1
cout1
+
cout2
+
cout3
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
61
Portes logiques:
exemple de l’ additionneur câblé de l’ ALU
Introduction
Hardware
Ordinateur
Historique
Puces et Boole
portes
exemple
schéma
table
logique
électronique
puce
mémoire
transistor
algèbre
Fonctionnement
0
b3
S2
S3
S1
1
0
0
Additionnons 3 et 5:
3 = a3 a2 a1 a0 = 0011 et 5 = b3 b2 b1 b0 = 0101
La somme est S3S2 S1 S0 = 1000 = 8
S0
0
Software
OS
0
a2
po
ly
Table de vérité
ai
couti-1
ai
bi
+
couti
Si
Software
OS
1
1
1
1
0
0
0
0
bi
1
1
0
0
1
1
0
0
couti-1
1
0
1
0
1
0
1
0
Si
1
0
0
1
0
1
1
0
1
1
1
0
1
0
0
0
or
Equations logiques
Si
couti
couti
= ai * bi * couti-1 + ai ⊕ bi ⊕ couti-1
= ai * bi + ai * couti-1 + bi * couti-1
xor
and
62
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Portes logiques:
exemple de l’ additionneur câblé de l’ ALU
Introduction
Hardware
Ordinateur
Historique
Puces et Boole
portes
exemple
schéma
table
logique
électronique
puce
mémoire
transistor
algèbre
Fonctionnement
Circuit logique
ai bi couti-1
po
ly
Si couti
Software
OS
Si
couti
= ai * bi * couti-1 + ai ⊕ bi ⊕ couti-1
= ai * bi + ai * couti-1 + bi * couti-1
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
63
Portes logiques:
exemple de l’ additionneur câblé de l’ ALU
Introduction
Hardware
Gnd Vcc
Ordinateur
Historique
Puces et Boole
portes
exemple
schéma
table
logique
électronique
puce
mémoire
transistor
algèbre
Fonctionnement
ai bi couti-1
Circuit électronique
problèmes de placement-routage
Si couti
and
xor
Software
OS
or
and
64
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Les puces: circuits intégrés
Introduction
Hardware
technologie
Ordinateur
Historique
Puces et Boole
portes
exemple
puce
mémoire
transistor
algèbre
Fonctionnement
Software
OS
•
•
•
•
•
•
cylindre de cristal de silicium (20-30 cm de diamètre)
découpage en tranches (wafers) de 0,5mm d’ épaisseur
implantation d’ une centaine de chips contenant des millions de transistors
test des puces
découpage en plaquettes
insertion dans un boîtier et câblage (circuit intégré)
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
65
La mémoire: bascules (flip-flop)
Introduction
Hardware
Ordinateur
Historique
Puces et Boole
portes
exemple
puce
mémoire
transistor
algèbre
Fonctionnement
Information rémanente sur un coup d’ horloge
entrée
horloge
sortie
sortie
inverse
Software
OS
66
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
po
ly
L’ électronique: transistors
Introduction
Hardware
Ordinateur
Historique
Puces et Boole
portes
exemple
puce
mémoire
transistor
algèbre
Fonctionnement
Software
OS
pin
• élément de base de l’ électronique
• interrupteur commandé
En fonctionnement normal, le courant principal passe de l’émetteur au collecteur. Il est
commandé par un courant beaucoup plus faible le courant de base.
L'
intérêt du dispositif est de commander le courant collecteur par un courant de base
beaucoup plus faible .
• représentation du bit
– pas de courant électrique
– passage du courant électrique
→ 0 logique
→ 1 logique
En électronique logique, les transistor sont utilisés en commutant le transistor de l'
état
bloqué (courant collecteur nul) à l'
état saturé (courant collecteur important).
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
67
po
ly
Algèbre de Boole
Introduction
Hardware
Ordinateur
Historique
Puces et Boole
portes
exemple
puce
mémoire
transistor
algèbre
Fonctionnement
Software
OS
Fonctions logiques de variables logiques (valeurs 0 ou 1)
constantes
idempotence
complémentation
commutativité
a or 0 = a
a or 1 = 1
a or a = a
a or ( not a ) = 1
a or b = b or a
a and 0 = 0
a and 1 = a
a and a = a
a and ( not a ) = 0
a and b = b and a
distributivité
a or ( b and c ) = ( a or b ) and ( a or c )
a and ( b or c ) = (a and b ) or ( a and c )
associativité
a or ( b or c ) = ( a or b ) or c
a and ( b and c ) = ( a and b ) and c
De Morgan
not ( a and b ) = ( not a ) or ( not b )
not ( a or b ) = ( not a ) and ( not b )
68
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Fonctionnement d’ un micro-ordinateur
Introduction
Hardware
Ordinateur
Historique
Puces et Boole
Fonctionnement
architecture
bus
processeur
registres
instructions
séquenceur
évolution
interruptions
DMA
bus de données
bus d’ adresses
bus de commandes
Software
OS
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
69
Les bus
Introduction
Hardware
Ordinateur
Historique
Puces et Boole
Fonctionnement
architecture
bus
processeur
registres
instructions
séquenceur
évolution
interruptions
DMA
• Bus de données:
il transporte les données
• Bus d’ adresses:
il dit où aller chercher les données ou où aller les stocker
• Bus de commandes:
il véhicule des signaux:
signaux d’ interruption, signaux d’ horloge, signaux de lecture/écriture,, ...
Software
OS
70
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Architecture d’ un micro-processeur (CPU)
Introduction
Hardware
Ordinateur
Historique
Puces et Boole
Fonctionnement
architecture
bus
processeur
registres
instructions
séquenceur
évolution
interruptions
DMA
Software
OS
erreurs,
division par 0, ...
Registre d’ adresse
sur le bus d’ adresses
horloge
mémoire centrale
RAM / mémoire cache
Registre de données
sur le bus de données
dispositif de sélection d’ adresse
I/O
RegAddr
RegWord
CO
RI
opérandes/résultat
Unité de
Commande
décodeur d’ instruction
séquenceur de commandes
PSW
ALU
unité de
calcul
opérandes
registres
résultat
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
71
Architecture d’ un micro-processeur
calcul de 2 + 3 + 4: chargement du programme en mémoire
Introduction
Hardware
Ordinateur
Historique
Puces et Boole
Fonctionnement
architecture
bus
processeur
registres
instructions
séquenceur
évolution
interruptions
DMA
Software
OS
1. additionner 2 3
horloge
mémoire centrale 2. additionner résultat 4
RAM / mémoire cache
dispositif de sélection d’ adresse
I/O
RegAddr
RegWord
CO
RI
opérandes/résultat
Unité de
Commande
décodeur d’ instruction
PSW
séquenceur de commandes
ALU
unité de
calcul
opérandes
registres
résultat
72
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Architecture d’ un micro-processeur
calcul de 2 + 3 + 4: exécution de la première instruction
Introduction
Hardware
Ordinateur
Historique
Puces et Boole
Fonctionnement
architecture
bus
processeur
registres
instructions
séquenceur
évolution
interruptions
DMA
Software
OS
1. additionner 2 3
mémoire centrale 2. additionner résultat 4
RAM / mémoire cache
horloge
dispositif de sélection d’ adresse
I/O
RegAddr
RegWord
CO = 2
RI = 1
opérandes/résultat
Unité de
Commande
décodeur d’ instruction
séquenceur de commandes
PSW
ALU
unité de
calcul
opérandes
registres
résultat
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
73
Architecture d’ un micro-processeur
calcul de 2 + 3 + 4: sélection de l’ opération câblée à exécuter
Introduction
Hardware
Ordinateur
Historique
Puces et Boole
Fonctionnement
architecture
bus
processeur
registres
instructions
séquenceur
évolution
interruptions
DMA
Software
OS
1. additionner 2 3
horloge
mémoire centrale 2. additionner résultat 4
RAM / mémoire cache
dispositif de sélection d’ adresse
I/O
RegAddr
RegWord
CO = 2
RI = 1
opérandes/résultat
Unité de
Commande
décodeur d’ instruction: +
PSW
séquenceur de commandes: contrôle +
ALU
unité de
calcul
opérandes
registres
résultat
74
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Architecture d’ un micro-processeur
calcul de 2 + 3 + 4: chargement des opérandes dans l’ ALU
Introduction
Hardware
Ordinateur
Historique
Puces et Boole
Fonctionnement
architecture
bus
processeur
registres
instructions
séquenceur
évolution
interruptions
DMA
Software
OS
1. additionner 2 3
mémoire centrale 2. additionner résultat 4
RAM / mémoire cache
horloge
dispositif de sélection d’ adresse
I/O
RegAddr
RegWord
CO = 2
RI = 1
opérandes/résultat
Unité de
Commande
décodeur d’ instruction
séquenceur de commandes
PSW
ALU
2
unité de
calcul
opérandes
3
registres
résultat
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
75
Architecture d’ un micro-processeur
calcul de 2 + 3 + 4: calcul
Introduction
Hardware
Ordinateur
Historique
Puces et Boole
Fonctionnement
architecture
bus
processeur
registres
instructions
séquenceur
évolution
interruptions
DMA
Software
OS
1. additionner 2 3
mémoire centrale 2. additionner résultat 4
RAM / mémoire cache
horloge
dispositif de sélection d’ adresse
I/O
RegAddr
RegWord
CO = 2
RI = 1
opérandes/résultat
Unité de
Commande
décodeur d’ instruction
séquenceur de commandes
PSW
0
2
unité de
calcul
3
5
76
ALU
2
opérandes
résultat
3
5
registres
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Architecture d’ un micro-processeur
calcul de 2 + 3 + 4: exécution de la seconde instruction
Introduction
Hardware
Ordinateur
Historique
Puces et Boole
Fonctionnement
architecture
bus
processeur
registres
instructions
séquenceur
évolution
interruptions
DMA
Software
OS
1. additionner 2 3
mémoire centrale 2. additionner résultat 4
RAM / mémoire cache
horloge
dispositif de sélection d’ adresse
I/O
RegAddr
RegWord
CO=∅
RI = 2
opérandes/résultat
Unité de
Commande
décodeur d’ instruction
séquenceur de commandes
PSW
ALU
2
unité de
calcul
opérandes
3
5
résultat
registres
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
77
Architecture d’ un micro-processeur
calcul de 2 + 3 + 4: sélection de l’ opération câblée à exécuter
Introduction
Hardware
Ordinateur
Historique
Puces et Boole
Fonctionnement
architecture
bus
processeur
registres
instructions
séquenceur
évolution
interruptions
DMA
Software
OS
1. additionner 2 3
horloge
mémoire centrale 2. additionner résultat 4
RAM / mémoire cache
dispositif de sélection d’ adresse
I/O
RegAddr
RegWord
CO=∅
RI = 2
opérandes/résultat
Unité de
Commande
décodeur d’ instruction: +
PSW
séquenceur de commandes: contrôle +
ALU
2
unité de
calcul
opérandes
résultat
78
3
5
registres
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Architecture d’ un micro-processeur
calcul de 2 + 3 + 4: les opérandes sont chargées dans l’ ALU
Introduction
Hardware
Ordinateur
Historique
Puces et Boole
Fonctionnement
architecture
bus
processeur
registres
instructions
séquenceur
évolution
interruptions
DMA
Software
OS
1. additionner 2 3
mémoire centrale 2. additionner résultat 4
RAM / mémoire cache
horloge
dispositif de sélection d’ adresse
I/O
RegAddr
RegWord
CO=∅
RI = 2
opérandes/résultat
Unité de
Commande
décodeur d’ instruction
séquenceur de commandes
PSW
ALU
4
unité de
calcul
opérandes
5
5
registres
résultat
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
79
Architecture d’ un micro-processeur
calcul de 2 + 3 + 4: calcul
Introduction
Hardware
Ordinateur
Historique
Puces et Boole
Fonctionnement
architecture
bus
processeur
registres
instructions
séquenceur
évolution
interruptions
DMA
Software
OS
1. additionner 2 3
mémoire centrale 2. additionner résultat 4
RAM / mémoire cache
horloge
dispositif de sélection d’ adresse
I/O
RegAddr
RegWord
CO=∅
RI = 2
opérandes/résultat
Unité de
Commande
décodeur d’ instruction
séquenceur de commandes
PSW
0
4
unité de
calcul
5
9
80
ALU
4
opérandes
5
9
registres
résultat
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Architecture d’ un micro-processeur
calcul de 2 + 3 + 4: stockage du résultat
Introduction
Hardware
Ordinateur
Historique
Puces et Boole
Fonctionnement
architecture
bus
processeur
registres
instructions
séquenceur
évolution
interruptions
DMA
Software
OS
9
horloge
1. additionner 2 3
mémoire centrale 2. additionner résultat 4
RAM / mémoire cache
dispositif de sélection d’ adresse
I/O
RegAddr
RegWord
CO=∅
RI = 2
opérandes/résultat
Unité de
Commande
décodeur d’ instruction
PSW
9
séquenceur de commandes
ALU
4
unité de
calcul
opérandes
5
9
registres
résultat
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
81
Architecture d’ un micro-processeur
calcul de 2 + 3 + 4: libération de la mémoire
Introduction
Hardware
Ordinateur
Historique
Puces et Boole
Fonctionnement
architecture
bus
processeur
registres
instructions
séquenceur
évolution
interruptions
DMA
Software
OS
horloge
mémoire centrale
RAM / mémoire cache
dispositif de sélection d’ adresse
I/O
RegAddr
RegWord
CO
RI
opérandes/résultat
Unité de
Commande
décodeur d’ instruction
PSW
séquenceur de commandes
ALU
unité de
calcul
opérandes
registres
résultat
82
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
po
ly
Les registres
Introduction
Hardware
Ordinateur
Historique
Puces et Boole
Fonctionnement
architecture
bus
processeur
registres
instructions
séquenceur
évolution
interruptions
DMA
Software
OS
RI (Registre d’ Instruction): instruction en cours d’ exécution
CO (Compteur Ordinal): adresse de la prochaine instruction à exécuter
Registres de l’ ALU:
• registres arithmétiques (Accumulateur): opérations arithmétiques
• registres d’ indices (indeX Register): calcul des adresses par rapport à un indice
• registres banalisés: registres généraux (stockage de résultats intermédiaires)
• registres d’ état (Program Status Word): état du système (retenue, dépassement de capacité)
• registre pointer de pile (Stack Pointer): simulation d’ une pile en mémoire centrale
[webopedia] A, special, high-speed storage area within the CPU. All data must be
represented in a register before it can be processed. The number of registers that a CPU
has and the size of each (number of bits) help determine the power and speed of a CPU.
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
83
Les programmes vus par la machine:
l’ assembleur
Introduction
Hardware
Ordinateur
Historique
Puces et Boole
Fonctionnement
architecture
bus
processeur
registres
instructions
séquenceur
évolution
interruptions
DMA
Software
OS
1. load 2
2. add 3
3. add 4
4. store xxx
Opérations élémentaires: briques de bases que l’ on ne peut interrompre
• Transfert de données
: load, move, store, ...
• opérations arithmétiques
: add, sub, mul, div, ...
• opérations logiques
: and, or, not, …
• contrôle de séquence
: branchements impératifs et conditionnels, …
• entrées / sorties
: read, write, …
• manipulations diverses
: conversions de format, incrémentation de registres, …
Adressage des opérandes: données
• argument(s) passé(s) à l’ opération élémentaire
• emplacement mémoire où la donnée est disponible
84
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
po
ly
Instructions et données
Introduction
Hardware
Ordinateur
Historique
Puces et Boole
Fonctionnement
architecture
bus
processeur
registres
instructions
séquenceur
évolution
interruptions
DMA
Adressage des opérandes: load a
• direct
: le champ contient l’ adresse effective
• indirect
: le champ contient l’ adresse où se trouve l’ adresse effective
• immédiat
: le champ contient l’ opérande
• implicite
: l’ opération indique où se trouve l’ opérande (ACCumulateur)
• indexé
: contenu du champ + contenu du registre d’ index
• basé
: contenu du champ + contenu du registre de base
• relatif
: contenu du champ + contenu du CO
Software
OS
a
a
a
ACC
a
a
index
85
CO
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Exécution de l’ exemple: 2 + 3 + 4
Introduction
Hardware
a
base
po
ly
Instruction: < opération directe > < adresse >
Ordinateur
Historique
Puces et Boole
Fonctionnement
architecture
bus
processeur
registres
instructions
séquenceur
évolution
interruptions
DMA
1. Load < adresse contenant 2 >
2. Add < adresse contenant 3 >
3. Add < adresse contenant 4 >
4. Store < adresse du résultat >
RI = 1, CO = 2, RegAddr = < adresse contenant 2 >, RegWord = 2, ACC = 2
Software
OS
RI = 2, CO = 3, RegAddr = < adresse contenant 3 >, RegWord = 3, ACC = 5
RI = 3, CO = 4, RegAddr = < adresse contenant 4 >, RegWord = 4, ACC = 9
RI = 4, RegAddr = < adresse du résultat >, RegWord = 9
86
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Réalisation physique du séquenceur
po
ly
Introduction
Hardware
Ordinateur
Historique
Puces et Boole
Fonctionnement
architecture
bus
processeur
registres
instructions
séquenceur
évolution
interruptions
DMA
Software
OS
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
87
Le séquenceur: micro-programme
Introduction
Hardware
Ordinateur
Historique
Puces et Boole
Fonctionnement
architecture
bus
processeur
registres
instructions
séquenceur
évolution
interruptions
DMA
po
ly
Le séquenceur génère les signaux de commande pour actionner et contrôler
les unités participant à l’ exécution d’ une instruction. Le séquenceur est soit
câblé, soit micro-programmé.
load x
Affectation
(x = … , x := … )
mnémonique
Software
OS
(assembleur machine)
ALU
88
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Evolution: loi de Moore
Introduction
Hardware
Tous les 18 mois, le nombre de transistors intégrés double et les prix sont divisés par deux
Ordinateur
Historique
Puces et Boole
Fonctionnement
architecture
bus
processeur
registres
instructions
séquenceur
évolution
interruptions
DMA
Software
OS
Problème dû à la barrière technologique: les fils de plus en plus fins sont de plus en
plus rapprochés → effet tunnel → les électrons sautent d’ un fil à l’ autre.
Solution: changer le silicium contre des supraconducteurs, ou … changer de
technologie ...
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
89
Les interruptions matérielles
Introduction
Hardware
Ordinateur
Historique
Puces et Boole
Fonctionnement
architecture
bus
processeur
registres
instructions
séquenceur
évolution
interruptions
IRQ
gestion
hiérarchie
exemple
DMA
Software
OS
po
ly
Exemple:
• signal de synchronisation de l’horloge
• appuyer sur une touche du clavier
• bouger la souris
An interrupt is a hardware signal informing the microprocessor that an event
has occurred. The complete list of interrupts and associated interrupt handlers is
stored in a table called the interrupt vector table, which resides in the first 1KB
of addressable memory.
[webopedia] Interrupt ReQuest lines are hardware lines over which devices can
send interrupt signals to the microprocessor.
90
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Interrupt ReQuest lines (IRQs)
po
ly
Introduction
Hardware
Ordinateur
Historique
Puces et Boole
Fonctionnement
architecture
bus
processeur
registres
instructions
séquenceur
évolution
interruptions
IRQ
gestion
hiérarchie
exemple
DMA
Software
OS
Tableau de description de quelques interruptions matérielles
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
91
Système d’ interruptions (hiérarchisées)
Introduction
Hardware
Ordinateur
Historique
Puces et Boole
Fonctionnement
architecture
bus
processeur
registres
instructions
séquenceur
évolution
interruptions
IRQ
gestion
hiérarchie
exemple
DMA
Exemple:
• signal de synchronisation de l’horloge
• appuyer sur une touche du clavier
• bouger la souris
Tout programme, même un programme de service d’ une interruption,
peut être préempté au profit d’ une interruption plus prioritaire.
But:
• gérer l’ arrivée de plusieurs signaux d’ interruption
• préempter un autre signal d’ interruption moins prioritaire
Software
OS
92
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Gestion d’ interruption matérielle
Introduction
Hardware
Ordinateur
Historique
Puces et Boole
Fonctionnement
architecture
bus
processeur
registres
instructions
séquenceur
évolution
interruptions
IRQ
gestion
hiérarchie
exemple
DMA
Software
OS
Adresse de l’ instruction en cours d’ exécution (RI)
Traitement d’ une interruption:
• arrêter le programme en cours
• sauvegarder l’ état de la machine
• exécuter le programme de service de l’ interruption
• rétablir l’ état de la machine
• reprendre l’ exécution du programme interrompu
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
93
Système d’ interruptions hiérarchisées
Introduction
Hardware
Ordinateur
Historique
Puces et Boole
Fonctionnement
architecture
bus
processeur
registres
instructions
séquenceur
évolution
interruptions
IRQ
gestion
hiérarchie
exemple
DMA
po
ly
Tout programme, même un programme de service d’ une interruption,
peut être préempté au profit d’ une interruption plus prioritaire.
But:
• gérer l’ arrivée de plusieurs signaux d’ interruption
• préempter un autre signal d’ interruption moins prioritaire
Exemple de hiérarchie: (du plus prioritaire au moins prioritaire)
Erreurs matérielles
Horloge
Requêtes disque
Requêtes réseau
Terminaux
Interruptions logicielles
Software
OS
94
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Priorité des interruptions: instance d’ exécution
Introduction
Hardware
Ordinateur
Historique
Puces et Boole
Fonctionnement
architecture
bus
processeur
registres
instructions
séquenceur
évolution
interruptions
IRQ
gestion
hiérarchie
exemple
DMA
Software
OS
po
ly
0
1
2
3
4
service d’ interruption #4
5
programme
interruption niveau 2
temps
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
95
Optimisation d’ accès mémoire:
DMA (Direct Memory Acces)
Introduction
Hardware
Ordinateur
Historique
Puces et Boole
Fonctionnement
architecture
bus
processeur
registres
instructions
séquenceur
évolution
interruptions
DMA
Mémoire
requête
contrôleur
requête
prioritaire
bus mémoire (très rapide)
CPU
contrôle
interruptions
DMA
bus I/O (lent)
Software
OS
I/O
96
I/O
I/O
contrôleur
de périphérique
Caractéristiques:
• registre d’ adresse
• registre de données
• dispositif de commande
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Le logiciel (software)
Introduction
Hardware
Software
références
conception
langages
compilateur
Linus Torvalds
inventeur de Linux
Richard Stallmann
énorme contribution dans
le logiciel libre
Bill Gates
PDG Microsoft
Windows
OS
Utilisateur (user): software
Méthodes de conception
OS
Logiciel
Hardware
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
97
po
ly
Références
Introduction
Hardware
Software
Alfred Aho, Jeffrey Ullman
Concepts fondamentaux de l’informatique
références
conception
langages
compilateur
ISBN : 2-10003-127-9
M-C. Gaudel, B. Marre, F. Schlienger, G. Bernot
Précis de génie logiciel (140 pages)
OS
ISBN : 2-22585-189-1
T. Cormen, C. Leiserson, R. Rivest, C. Stein
Introduction to algorithms
ISBN : 0-26253-196-8
Alfred Aho, Ravi Sethi, Jeffrey Ullman
Compilers
Principles, Techniques & Tools
ISBN : 0-20110-088-6
98
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Conception: génie logiciel
Introduction
Hardware
Software
Cycle de vie du logiciel:
• analyser et comprendre le problème
références
conception
langages
compilateur
• spécifier les fonctionnalités (UML)
• concevoir les modules, les algorithmes, ...
OS
• programmer dans un ou des langages
• tester et valider: Fiabilité
• intégrer
• maintenir
• DOCUMENTER
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
99
po
ly
Le cycle en V
Introduction
Hardware
Software
références
conception
langages
compilateur
Analyse des besoins,
faisabilité
OS
Installation et
tests du système
Spécifications:
informelles, formelles
Tests fonctionnels
Conception de
l’ architecture
Intégration et
tests d’ intégration
Conception
détaillée
Tests unitaires
Programmation
100
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Les langages (1/2)
Introduction
Hardware
Software
• langage machine
00011001
références
conception
langages
compilateur
• langage assembleur
Load x
Add y
OS
• langage de haut niveau
if ( x == 5 ) then
…
else
• notions d’ algorithmique
...
• notions de variables
• notions de fonctions et de procédures
• notions de données et de structures de données
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
101
Les langages (2/2)
Introduction
Hardware
Software
références
conception
langages
compilateur
OS
Un langage informatique comprend:
• un lexique (collection de mots)
• une grammaire (règles permettant de donner un sens aux suites de mots)
• un compilateur (traduire le programme en code exécutable)
• langages impératifs
C, Pascal
• langages fonctionnels
CAML, scheme
• langages objets
C++, JAVA
• langages de spécification
esterel, SPIN
• langages de modélisation
VHDL, Verilog
• programmation logique
Prolog
• programmation concurrente
librairie pthreads
• programmation distribuée
PVM, MPI
102
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Compilateur & interpréteur
Introduction
Hardware
Software
références
conception
langages
compilateur
OS
C++
interpréteur
JAVA (Byte Code JVM)
OS
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
103
po
ly
Exemple: JAVA
Introduction
Hardware
Software
code source JAVA
références
conception
langages
compilateur
compilateur JAVA → Byte Code JVM (Java Virtual Machine)
OS
code source Byte Code JVM
104
JVM:
interpréteur de BC JVM
JVM:
interpréteur de BC JVM
OS
OS
matériel
matériel
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
po
ly
Compilateur
Introduction
Hardware
Software
références
conception
langages
compilateur
OS
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
105
Principes des Systèmes d’ exploitation
( Operating System )
Introduction
Hardware
Software
OS
Utilisateur
définition
classification
structure
processus
interruption
I/O
mémoire
fichiers
OS (software)
Hardware
Abraham Silberschatz, Peter Galvin, Greg Gagne
Operating System Concepts
ISBN 4ème édition: 2-87908-078-9
ISBN 6ème édition : 0-47141-743-2
106
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
L’ OS: l’ interface homme/machine
Introduction
Hardware
Software
OS
définition
classification
structure
processus
interruption
I/O
mémoire
fichiers
po
ly
[webopedia] The most important program that runs on a computer. Every general-purpose
computer must have an operating system to run other programs. Operating systems
perform basic tasks, such as recognizing input from the keyboard, sending output to the
display screen, keeping track of files and directories on the disk, and controlling
peripheral devices such as disk drives and printers.
Utilisateur (user): software
OS: software
Hardware
107
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
OS multi-utilisateurs (multi-user)
Introduction
Hardware
Software
OS
plusieurs utilisateurs peuvent exécuter leur programme en même temps
définition
classification
structure
processus
interruption
I/O
mémoire
fichiers
108
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
OS multi-processeurs (multiprocessing)
Introduction
Hardware
Software
OS
peut exécuter un programme sur plusieurs processeurs
définition
classification
structure
processus
interruption
I/O
mémoire
fichiers
109
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
OS multi-tâches (multitasking)
Introduction
Hardware
Software
OS
plusieurs programmes s’ exécutent en concurrence
définition
classification
structure
processus
interruption
I/O
mémoire
fichiers
110
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
OS multithreading
Introduction
Hardware
Software
OS
plusieurs morceaux d’ un même programme peuvent s’ exécuter en parallèle
définition
classification
structure
processus
interruption
I/O
mémoire
fichiers
111
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
OS temps-réel (real-time)
Introduction
Hardware
Software
OS
répond aux entrées instantanément
définition
classification
structure
processus
interruption
I/O
mémoire
fichiers
112
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
po
ly
Quelques OS
Introduction
Hardware
Software
OS
définition
classification
structure
processus
interruption
I/O
mémoire
fichiers
113
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Système d’ exploitation
Introduction
Hardware
Software
OS
définition
classification
structure
processus
interruption
I/O
mémoire
fichiers
But:
• planifier les activités de calcul pour assurer une bonne performance du système
• proposer un environnement commode pour le développement et l’ exécution de
programmes
114
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
po
ly
Système d’ exploitation
Introduction
Hardware
Software
OS
définition
classification
structure
processus
interruption
I/O
mémoire
fichiers
[webopedia] Operating systems provide a software platform on top of which other programs,
called application programs, can run. The application programs must be written to run
on top of a particular operating system. As a user, you normally interact with the OS
through a set of commands. The commands are accepted and executed by a part of the
OS called the command processor or command line interpreter. Graphical User Interfaces
allow you to enter commands by pointing and clicking at objects that appear on the screen.
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
115
Structure d’ un système d’ exploitation
Introduction
Hardware
Software
OS
définition
classification
structure
processus
interruption
I/O
mémoire
fichiers
users
Interface utilisateur
interpréteur de commandes
0
allocation des ressources
(planification du travail)
1
gestion des fichiers
3
organisation des I/O
2
4
5
gestion de la mémoire
service d’ interruption #4
programme
interruption niveau 2
temps
noyau (kernel)
gestion des gestion des allocation
processus interruptions du CPU
116
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Gestion des Processus
Introduction
Hardware
Software
OS
po
ly
Interface utilisateur
interpréteur de commandes
définition
classification
structure
processus
définition
PCB
scheduling
thread
interruption
I/O
mémoire
fichiers
allocation des ressources
(planification du travail)
gestion des fichiers
organisation des I/O
gestion de la mémoire
noyau (kernel)
gestion des gestion des allocation
processus interruptions du CPU
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
117
Processus
Introduction
Hardware
Software
OS
définition
classification
structure
processus
définition
PCB
scheduling
thread
interruption
I/O
mémoire
fichiers
Programme (au sens de l’ OS) en exécution (au sens de l’ OS)
Programme (au sens de l’ OS):
• code: programme compilé en assembleur
• activité courante: compteur et registre d’ instruction CO/RI
• contenu des registres du processeur: état de son exécution
• données du programme
Etat d’ exécution (au sens de l’ OS):
créé
exit
admis
terminé
interrompu
en exécution
prêt
dispatch du scheduler
terminaison d’ un événement
ou d’ une E/S
118
en attente d’ un événement
ou d’ une E/S
en attente
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Processus
Introduction
Hardware
Software
OS
définition
classification
structure
processus
définition
PCB
scheduling
thread
interruption
I/O
mémoire
fichiers
1. additionner 2 3
horloge
mémoire centrale 2. additionner résultat 4
RAM / mémoire cache
dispositif de sélection d’ adresse
I/O
RegAddr
RegWord
CO=∅
RI = 2
opérandes/résultat
Unité de
Commande
décodeur d’ instruction
PSW
séquenceur de commandes
ALU
2
unité de
calcul
opérandes
3
5
résultat
registres
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
119
Bloc de contrôle de processus (PCB)
Introduction
Hardware
Software
OS
définition
classification
structure
processus
définition
PCB
scheduling
thread
interruption
I/O
mémoire
fichiers
Chaque processus est représenté dans l’ OS par un PCB contenant les champs:
• état du processus (nouveau, en attente, … )
• compteur d’ instructions (CO/RI)
• registres de l’ Unité Centrale (ACC, SP, … )
• informations de scheduling de l’ UC (priorité, pointeur sur file d’ attente, … )
• informations sur la gestion mémoire (valeurs des registres)
• informations de statistiques sur le programme (numéros du processus, temps, … )
• informations sur l’ état des entrées/sorties (liste des périphériques, fichiers ouverts, … )
120
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Ordonnancement de processus (scheduling)
Introduction
Hardware
Software
OS
définition
classification
structure
processus
définition
PCB
scheduling
contexte
méthodes
thread
interruption
I/O
mémoire
fichiers
Temps partagé → commutation de l’ UC entre processus
But: commuter assez fréquemment pour que les utilisateurs puissent interagir avec
chaque programme pendant qu’ il est en cours d’ exécution
Critères d’ Optimisation:
• utilisation de l’ UC (le plus possible)
• capacité de traitement (le plus de processus terminés par unité de temps)
• temps de restitution (plus petit temps entre le moment de soumission et la terminaison)
• temps d’ attente dans la file des processus prêts (le plus petit possible)
• temps de réponse (plus petit temps entre la soumission d’ une requête et l’ arrivé de la
réponse)
contexte: ensemble des informations (registres et informations sur la mémoire)
qui représente l'
état d'
exécution d'
un processus (où est-ce que le processus en est
de son exécution)
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
121
Commutation de contexte (switching context)
Introduction
Hardware
Software
OS
définition
classification
structure
processus
définition
PCB
scheduling
contexte
méthodes
thread
interruption
I/O
mémoire
fichiers
• sauvegarde du contexte du processus 1
• restauration du contexte du processus devant s’ exécuter
Tranche de temps
registres de l’ UC
état de la mémoire
122
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Méthodes de scheduling de processus
First-In-First-Out: travaux courts pénalisés, non-préemptif
Introduction
Hardware
Software
OS
définition
classification
structure
processus
définition
PCB
scheduling
contexte
méthodes
thread
interruption
I/O
mémoire
fichiers
Round Robin: quantum de temps,
Shortest Job First, ordonnancement de la file
Round Robin avec gestion
de niveaux de priorités
HD
Round Robin avec swap
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
123
Processus de poids léger (threads)
Introduction
Hardware
Software
OS
définition
classification
structure
processus
définition
PCB
scheduling
thread
interruption
I/O
mémoire
fichiers
But:
réduire le coût de commutation de contexte entre processus.
Les threads sont des processus à mémoire commune
Structure:
• compteur d’ instruction
• ensemble de registres
• espace pile
Partage:
• code
• données
• ressources
• signaux
124
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Gestion des interruptions
Introduction
Hardware
Software
OS
po
ly
Interface utilisateur
interpréteur de commandes
définition
classification
structure
processus
interruption
I/O
mémoire
fichiers
allocation des ressources
(planification du travail)
gestion des fichiers
organisation des I/O
gestion de la mémoire
noyau (kernel)
gestion des gestion des allocation
processus interruptions du CPU
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
125
Traitement des interruptions
Introduction
Hardware
Software
OS
définition
classification
structure
processus
interruption
I/O
mémoire
fichiers
Traitement d’ une interruption:
• arrêter le programme en cours
• sauvegarder l’ état du processus
• exécuter le programme de service de l’ interruption
• rétablir l’ état du processus
• reprendre l’ exécution du programme interrompu
0
1
2
3
4
5
service d’ interruption #4
programme
interruption niveau 2
126
temps
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Gestion des entrées/sorties: les pilotes (drivers)
Introduction
Hardware
Software
OS
Logiciel qui commande le matériel
Interface utilisateur
interpréteur de commandes
définition
classification
structure
processus
interruption
I/O
mémoire
fichiers
allocation des ressources
(planification du travail)
algorithmes (software)
gestion des fichiers
driver (software)
organisation des I/O
device (hardware)
gestion de la mémoire
noyau (kernel)
gestion des gestion des allocation
processus interruptions du CPU
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
127
Gestion de la mémoire: la RAM
Introduction
Hardware
Software
OS
Interface utilisateur
interpréteur de commandes
définition
classification
structure
processus
interruption
I/O
mémoire
MMU
pages
gestion
critères
fichiers
allocation (user)
scheduling
allocation des ressources
(planification du travail)
allocation (kernel)
gestion des fichiers
pages
organisation des I/O
gestion de la mémoire
128
driver
noyau (kernel)
MMU
gestion des gestion des allocation
processus interruptions du CPU
hardware
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
MMU (Memory Management Unit)
Introduction
Hardware
Software
OS
Les adresses figurant dans les programmes sont des adresses virtuelles non
physiques. La correspondance entre adresse virtuelle/adresse physique est faite
par le matériel (une MMU assez souvent) à chaque référence à la mémoire.
définition
classification
structure
processus
interruption
I/O
mémoire
MMU
pages
gestion
critères
fichiers
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
129
Pages
Introduction
Hardware
Software
OS
Morceau de mémoire virtuelle
définition
classification
structure
processus
interruption
I/O
mémoire
MMU
pages
gestion
critères
fichiers
130
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Gestion de pages (swap)
Introduction
Hardware
Software
OS
définition
classification
structure
processus
interruption
I/O
mémoire
MMU
pages
gestion
critères
fichiers
But:
La mémoire nécessaire au processus pour s’ exécuter est supérieure à la taille
effective de la RAM → décharger les pages non-utiles sur le disque dur: swap
Le voleur de pages est réveillé quand le nombre de pages libres tombe en dessous d'
un
seuil B et se suspend lorsque le nombre de cases libres atteint un seuil H.
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
131
Critères de stratégies
pour le scheduling de gestion de pages
po
ly
Introduction
Hardware
Software
OS
définition
classification
structure
processus
interruption
I/O
mémoire
MMU
pages
gestion
critères
fichiers
• support matériel
(registre ou table de correspondance)
• performance
(coût de translation)
• fragmentation
(gaspillage de mémoire)
• translation
(compression de la mémoire)
• swapping
(freezer les processus bloqués sur HD)
• partage
(les données appartiennent à plusieurs processus)
• protection (sécurité)
(la mémoire est-elle accessible au processus P?)
132
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
po
ly
Gestion des fichiers
Introduction
Hardware
Software
OS
Interface utilisateur
interpréteur de commandes
définition
classification
structure
processus
interruption
I/O
mémoire
fichiers
système
partition
allocation des ressources
(planification du travail)
gestion des fichiers
organisation des I/O
système de fichiers
gestion de la mémoire
noyau (kernel)
driver
gestion des gestion des allocation
processus interruptions du CPU
hardware
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
133
Système de fichiers
Introduction
Hardware
Software
OS
définition
classification
structure
processus
interruption
I/O
mémoire
fichiers
système
partition
Structure logique hiérarchique
Le système de fichiers d'
un système d'
exploitation est un ensemble de principes et de
règles selon lesquels les fichiers sont organisés, stockés et manipulés.
[webopedia] Also referred to as a file system or filesystem. The system that an OS or
program uses to organize and keep track of files.
134
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Partition
Introduction
Hardware
Software
OS
Où est le fichier /R/F sur la partition A?
1er secteur partition B
définition
classification
structure
processus
interruption
I/O
mémoire
fichiers
système
partition
1er secteur partition A
ext2
FAT
fichier F
répertoire /
répertoire R
[webopedia] To divide memory or mass storage into isolated sections.
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
135
Synthèse
Introduction
références
plan
fausses idées
vue générale
Interface utilisateur
interpréteur de commandes
Hardware
Software
OS
allocation des ressources
(planification du travail)
gestion des fichiers
organisation des I/O
gestion de la mémoire
noyau (kernel)
gestion des
processus
gestion des allocation
interruptions du CPU
machine en kit
136
ENSMP - CMA Sophia-Antipolis, France  2002
[email protected]
Téléchargement