Beruflich Dokumente
Kultur Dokumente
(INF155)
F. Pellegrini
Universit Bordeaux 1
Ordinateur et logiciel
Les technologies numriques sont maintenant
omniprsentes
Elles sont le moteur et l'objet de ce qu'on appelle
la rvolution numrique
Reprsentation de l'information
L'information est reprsente au sein des
composants de l'ordinateur sous forme de
diffrents tats de la matire :
Trou ou pas trou sur la surface d'un
cdrom ou DVD
Orientation nord ou sud d'un matriau magntique
Lumire ou absence de lumire mise par un laser
Courant lectrique ou non
Performance (1)
Les calculs des ordinateurs sont cadencs par
une horloge
Plus la frquence de l'horloge est leve, et plus
l'ordinateur pourra effectuer d'oprations par
seconde (s'il n'est pas ralenti par autre chose...)
On mesure la frquence d'une horloge en Hertz (Hz)
Nombre de battements par seconde
1 kHz (kilo-Hertz) = 103 Hz
1 MHz (mga-Hertz) = 106 Hz
1 GHz (giga-Hertz) = 109 Hz
1 THz (tra-Hertz) = 1012 Hz
2004-2007, 2012,2013 F. Pellegrini
Performance (2)
En fait, ce qui importe aux usagers, c'est le
nombre d'oprations (plus gnralement,
d'instructions ) qu'un ordinateur est capable
d'effectuer par seconde
On la mesure en MIPS, pour millions
d'instructions par seconde
http://en.wikipedia.org/wiki/Instructions_per_second
7
http://en.wikipedia.org/wiki/Sandy_Bridge
9
10
11
12
13
14
15
16
17
Mmoire
centrale
Contrleur
de disque
dur IDE/ATA
Contrleur
de bus
PCI
Contrleur
de bus
AGP
Bus AGP
Contrleur
graphique
Bus local
Carte
d'extension
Carte
d'extension
Bus PCI
18
19
20
Registres
Chaque registre peut stocker une valeur
entire distincte, borne par la taille des
registres (nombre de bits)
Certains registres sont spcialiss, comme :
le compteur ordinal ( program counter ) qui
stocke l'adresse de la prochaine instruction
excuter
le registre d'instruction ( instruction register ),
qui stocke l'instruction en cours d'excution
l'accumulateur, registre rsultat de l'UAL, etc.
2004-2007, 2012,2013 F. Pellegrini
21
22
Registres gnraux
A
B
Registres
d'entre de l'UAL
UAL
A+B
Registre de sortie
de l'UAL
23
24
Langages et excution
Les processeurs ne comprennent que le
langage machine
Trop lmentaire, trop long programmer
25
26
Traduction
Consiste remplacer chaque instruction de L1
par une squence quivalente d'instructions
de L0
Le rsultat de la traduction est un programme
quivalent crit en L0
L'ordinateur peut alors excuter ce
programme en L0 la place du programme
crit en L1
27
Interprtation
Consiste utiliser un programme crit en L0
qui prend comme entre un programme crit
en L1, parcourt ses instructions l'une aprs
l'autre, et excute directement pour chacune
d'elles une squence quivalente
d'instructions en L0
Aprs que chaque instruction en L0 a t
examine et dcode, on la met en oeuvre
On ne gnre pas explicitement de
0
programme crit en L
2004-2007, 2012,2013 F. Pellegrini
28
Machines virtuelles
On peut repenser le problme en postulant
1
l'existence d'une machine M excutant
directement le code L1
Si ces machines pouvaient tre facilement
ralises, on n'aurait pas besoin de
0
0
machines M utilisant nativement le L
Sinon, ces machines sont dites virtuelles
Par nature, les langages L1 et L0 ne doivent
pas tre trop diffrents
2004-2007, 2012,2013 F. Pellegrini
29
30
31
Aprs l'inflation des jeux d'instruction microprogramms, retour des jeux d'instructions plus
restreints (RISC)
Disparition de la micro-programmation
Report de la charge de travail sur les compilateurs
2004-2007, 2012,2013 F. Pellegrini
32
33
34
35
Langages d'application
Traduction (compilateur)
Langage d'assemblage
Traduction (assembleur)
Systme d'exploitation
Interprtation partielle (SE)
Jeu d'instructions
Interprtation ou excution
Microarchitecture
Matriel
Logique numrique
36
37
Couche microarchitecture
On dispose ce niveau de plusieurs registres
mmoire et d'un circuit appel UAL (Unit
Arithmtique et Logique, ALU) capable de
raliser des oprations arithmtiques
lmentaires
Les registres sont relis l'UAL par un chemin
de donnes permettant d'effectuer des
oprations arithmtiques entre registres
Le contrle du chemin de donnes est soit
microprogramm, soit matriel
2004-2007, 2012,2013 F. Pellegrini
38
39
40
41
42
43
Circuits logiques
Un circuit logique est un circuit qui ne
manipule que deux valeurs logiques : 0 et 1
l'intrieur des circuits, on reprsente
typiquement un tat 0 par un signal de basse
tension (proche de 0V) et un tat 1 par un
signal de haute tension (5V, 3,3V, 2,5V, 1,8V
ou 0,9V selon les technologies)
De minuscules dispositifs lectroniques,
appeles portes , peuvent calculer
diffrentes fonctions partir de ces signaux
2004-2007, 2012,2013 F. Pellegrini
44
Transistors (1)
L'lectronique numrique repose sur le fait
qu'un transistor peut servir de commutateur
logique extrmement rapide
Deux technologies majeures :
Bipolaire : temps de commutation trs rapide
mais consommation leve
Registres, SRAM, circuits spcialiss
Transistors (2)
Avec un transistor bipolaire ou deux
transistors CMOS, on peut crer un premier
circuit combinatoire :
Grille
+Vcc
Source
+Vcc
Drain
Collecteur
VS
VA
VS
VA
Drain
metteur
Base
Bipolaire
Source
Grille
CMOS
46
Transistors (3)
Quand VA est bas, VS est haut
+Vcc
+Vcc
VS
VA
VS
VA
47
Transistors (4)
Quand VA est bas, VS est haut
Quand VA est haut, VS est bas
Ce circuit est un inverseur
+Vcc
+Vcc
VS
VA
VS
VA
48
Transistors (5)
En combinant quatre
transistors CMOS, on
peut obtenir un circuit
tel que VS n'est dans
l'tat bas que quand
VA et VB sont tous les
deux dans l'tat haut
+Vcc
VA
VB
VS
VA
VB
49
Transistors (6)
+Vcc
En combinant quatre
transistors CMOS, on
peut obtenir un circuit
tel que VS est dans
l'tat bas si VA ou VB,
VA
VB
VS
VB
50
A
0
1
S
1
0
NON
2004-2007, 2012,2013 F. Pellegrini
A
B
A
0
0
1
1
B
0
1
0
1
NAND
S
1
1
1
0
A
B
A
0
0
1
1
B
0
1
0
1
S
1
0
0
0
NOR
51
Algbre boolenne
Pour dcrire les circuits ralisables en
combinant des portes logiques, on a besoin
d'une algbre oprant sur les variables 0 et 1
Algbre boolenne
G. Boole : 1815 1864
Algbre binaire tudie par Leibniz ds 1703
53
54
55
56
57
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
M
0
0
0
1
0
1
1
1
A B C
58
59
60
61
62
Forme AND
Forme OR
Identit
1A = A
0+A=A
Nul
0A = 0
1+A=1
Idempotence
AA = A
A+A=A
Inverse
AA = 0
A+A=1
AB = BA
A+B=B+A
Associativit
(AB)C = A(BC)
(A + B) + C = A + (B + C)
Distributivit
A + BC = (A + B)(A + C)
A(B + C) = AB + AC
Absorbtion
A(A + B) = A
A + AB = A
De Morgan
AB = A + B
A+B=AB
Commutativit
63
64
A
0
0
1
1
B
0
1
0
1
XOR
X
0
1
1
0
65
A XOR B
A
B
A
B
A XOR B
A
B
A
B
A
B
2004-2007, 2012,2013 F. Pellegrini
A XOR B
66
67
AB
F
00
01
11
10
00
0
0
1
1
CD
01 11
1
1
0
1
1
1
1
1
10
0
0
1
1
F = BD + CD + A
F = (B + C)D + A
68
69
Fonctions combinatoires
Une fonction combinatoire est une fonction
possdant des entres et des sorties multiples,
telles que les valeurs des sorties ne dpendent
que des valeurs d'entre
Cette classe comprend les fonctions telles que :
Dcodeurs
Multiplexeurs
Comparateurs
...
2004-2007, 2012,2013 F. Pellegrini
70
Dcodeur (1)
Un dcodeur est une fonction qui prend un
nombre binaire C n bits en entre et se sert
de celui-ci pour slectionner l'une de ses 2n
sorties Si
71
Dcodeur (2)
S0
S1
S2
C2
S3
S4
C1
S5
S6
C0
S7
72
Multiplexeur (1)
Un multiplexeur est une fonction possdant
n
2 entres de donnes Di, une unique sortie
et n entres de contrle Cj servant
slectionner l'une des entres
La valeur de l'entre slectionne est
rpercute (route) sur la sortie
Les n entres de contrle codent un nombre
binaire n bits C spcifiant le numro de
l'entre slectionne
2004-2007, 2012,2013 F. Pellegrini
73
Multiplexeur (2)
D0
D1
D2
D3
F
D4
D5
D6
D7
C2 C2
2004-2007, 2012,2013 F. Pellegrini
C1
C1
C0
C0
74
Multiplexeur (3)
Implantation d'un multiplexeur partir d'un
dcodeur
S
0
S1
S2
S3
S4
S5
S6
S7
C2
C1
C0
D0
D1
D2
D3
D4
D5
D6
D7
75
Multiplexeur (4)
Utilisation d'un multiplexeur pour implanter la
fonction majorit
D
0
D1
D2
D3
F
D4
D5
D6
D7
VCC
2004-2007, 2012,2013 F. Pellegrini
C2
C1
C0
76
Comparateur (1)
Un comparateur est une fonction qui
compare deux mots et qui produit 1 s'ils sont
gaux bit bit ou 0 sinon
On le construit partir de portes XOR, qui
produisent 1 si deux bits en regard sont
diffrents
77
Comparateur (2)
A0
B0
A1
B1
A=B
A2
B2
A3
B3
78
Fonctions arithmtiques
Les fonctions arithmtiques sont des
fonctions logiques reprsentant des
oprations arithmtiques simples telles que :
Additionneur
Dcaleur
Unit arithmtique et logique
79
Additionneur (1)
Tous les processeurs disposent d'un ou
plusieurs circuits additionneurs
Ces additionneurs sont implants partir de
fonctions appeles demi-additionneurs
A
0
0
1
1
B
0
1
0
1
C
0
0
0
1
S
0
1
1
0
A
B
S
C
S : Somme
C : Retenue ( carry )
2004-2007, 2012,2013 F. Pellegrini
80
Additionneur (2)
En fait, pour additionner deux bits situs au
milieu d'un mot, il faut aussi prendre en compte
la retenue provenant de l'addition du bit
prcdent et propager sa retenue au bit suivant
1 1
1 0 0 1 1 0 1 0
+
0 1 0 1 1 0 0 1
1 1 1 1 0 0 1 1
81
Additionneur (3)
On utilise donc deux demi-additionneurs pour
raliser une tranche d'additionneur complet
A
0
0
1
1
0
0
1
1
B
0
1
0
1
0
1
0
1
Cin Cout S
0 0 0
0 0 1
0 0 1
0 1 0
1 0 1
1 1 0
1 1 0
1 1 1
Cin
A
B
Cout
82
83
INVA
A
A+B
ENA
B
_
B
Cin
Unit
logique
ENB
F0
Additionneur
F1
Dcodeur
2004-2007, 2012,2013 F. Pellegrini
Cout
84
A4 B4
A3 B3
A2 B2
A1 B1
A0 B0
UAL
1 bit
UAL
1 bit
UAL
1 bit
UAL
1 bit
UAL
1 bit
UAL
1 bit
X5
X4
X3
X2
X1
X0
85
86
A4 B4
A3 B3
A2 B2
A1 B1
A0 B0
UAL
1 bit
UAL
1 bit
UAL
1 bit
UAL
1 bit
UAL
1 bit
UAL
1 bit
X5
X4
X3
X2
X1
X0
87
Horloge (1)
Dans de nombreux circuits numriques, il est
essentiel de pouvoir garantir l'ordre dans
lequel certains vnements se produisent
Deux vnements doivent absolument avoir lieu
en mme temps
Deux vnements doivent absolument se produire
l'un aprs l'autre
98 % des circuits numriques sont synchrones
88
Horloge (2)
Une horloge est un circuit qui met de faon
continue une srie d'impulsions caractrises
par :
La longueur de l'impulsion
L'intervalle entre deux pulsations successives,
appel temps de cycle de l'horloge
Longueur d'impulsion
Temps de cycle
2004-2007, 2012,2013 F. Pellegrini
89
C2
90
91
92
Mmoire (1)
La mmoire principale sert au stockage des
programmes et de leurs donnes
L'unit lmentaire de mmoire est le bit,
pour binary digit ( chiffre binaire ),
prenant deux valeurs, 0 ou 1
Le stockage physique des bits dpend des
technologies employes : diffrentiels de
tension, moments magntiques, cuvettes ou
surfaces planes, mission de photons ou
non, etc.
2004-2007, 2012,2013 F. Pellegrini
93
Mmoire (2)
Pour stocker les informations, il faut un circuit
capable de se souvenir de la dernire valeur
d'entre qui lui a t fournie
la diffrence d'une fonction combinatoire, sa
valeur ne dpend donc pas que de ses valeurs
d'entre courantes
Prsence de boucles de rtroaction pour prserver
l'tat courant
94
Bascule SR
Une bascule SR est une fonction qui a deux
entres et deux sorties
Une entre S pour positionner la bascule
Une entre R pour rinitialiser la bascule
Deux sorties Q et Q complmentaires l'une de
l'autre
S
Q
R
2004-2007, 2012,2013 F. Pellegrini
Q
95
Bascule SR tat 0
Si S et R valent 0, et que Q vaut 0, alors :
Q vaut 1
Les deux entres de la porte du bas sont 0 et 1,
donc Q vaut 0
0
0
1
R
2004-2007, 2012,2013 F. Pellegrini
Q
96
Bascule SR tat 1
Si S et R valent 0, et que Q vaut 1, alors :
Q vaut 0
Les deux entres de la porte du bas sont 0 et 0,
donc Q vaut 1
0
1
0
R
2004-2007, 2012,2013 F. Pellegrini
Q
97
R
2004-2007, 2012,2013 F. Pellegrini
0
Q
Q
98
Bascule SR Mise 1
Lorsque S vaut 1, que Q vaille 0 ou 1 :
La sortie de la porte du haut vaut 0, donc Q vaut 0
La sortie de la porte du bas vaut 1, donc Q vaut 1
Cet tat est stable
1
0
0
Q
Q
99
Bascule SR Mise 0
Lorsque R vaut 1, que Q vaille 0 ou 1 :
La sortie de la porte du bas vaut 0, donc Q vaut 0
La sortie de la porte du haut vaut 1, donc Q vaut 1
Cet tat est stable
0
0
1
R
0
1
Q
100
101
1
0
0
2004-2007, 2012,2013 F. Pellegrini
Q
102
Bascule D (1)
Pour viter cela, on n'a qu'un seul signal D
Destin l'entre S, et que l'on inverse pour R
On commande la bascule par un signal d'activation
103
Bascule D (2)
Pour que l'on soit sr que la valeur conserve
en mmoire soit bien celle prsente en dbut
de cycle d'criture, il faudrait n'autoriser
l'criture qu'au dbut du cycle, sur le front
montant du signal d'criture
a
b
CK
b
c
c
d
104
Bascule D (3)
Il existe ainsi plusieurs types de bascules D :
Active par CK l'tat haut
_
CK Q
_
CK Q
_
CK Q
_
CK Q
105
106
107
108
A0
D Q
D Q
D Q
CK
CK
CK
D Q
D Q
D Q
CK
CK
CK
D Q
D Q
D Q
CK
CK
CK
D Q
D Q
D Q
CK
CK
CK
A1
CS
RD
OE
2004-2007, 2012,2013 F. Pellegrini
O0-O2
109
01001
01011
11011
11111
112
Types de mmoire
Plusieurs critres caractrisent les mmoires
Type d'accs
Accs alatoire : RAM R/W, (((E)E)P)ROM, Flash
FIFO : registres dcalage
Possibilit d'criture
Pas : ROM
Unique : PROM
Multiple : RAM R/W, (E)EPROM, Flash
Volatilit
Les donnes stockes ne sont conserves que tant que
la mmoire est alimente lectriquement
2004-2007, 2012,2013 F. Pellegrini
113
114
RAM dynamique
Base sur des petits condensateurs, moins gourmands
en place et en consommation lectrique
Ncessite un rafrachissement rgulier des charges
Mmoire ROM
Read Only Memory ( Mmoire morte )
Les donnes stockes perdurent mme quand la
mmoire n'est pas alimente
Le contenu, fig la fabrication, ne peut plus tre
modifi d'aucune faon
Analogue l'implantation d'une fonction
boolenne dpendant des valeurs d'adresses
fournies
116
Mmoire PROM
Programmable ROM
Les ROMs sont trop longues faire fabriquer
par rapport aux cycles de dveloppement des
quipements
La PROM, livre vierge (tous bits 1), peut
tre programme avec un quipement adapt
Destruction de mini-fusibles par surtension
Une seule criture possible
117
Mmoire EPROM
Les mmoires PROM sont encore trop chres
Grande consommation lors des phases de
dveloppement
118
119
120
Paradigmes architecturaux
L'augmentation continuelle de la vitesse de
traitement du cycle du chemin de donnes
provient de la mise en oeuvre d'un ensemble
de principes gnraux de conception efficaces
Simplification des jeux d'instructions
Utilisation du paralllisme au niveau des
instructions ( Instruction-Level Parallelism , ou
ILP)
Apparition des architectures multi-curs
2004-2007, 2012,2013 F. Pellegrini
121
122
Micro-architecture (1)
La couche micro-architecture implmente le jeu
d'instructions spcifi par la couche
d'architecture du jeu d'instructions (ISA) en
s'appuyant sur la couche la logique digitale
La conception de la micro-architecture dpend
du jeu d'instruction implmenter, mais aussi
du cot et des performances souhaits
Jeux d'instructions plus ou moins complexes
(RISC/CISC)
Utilisation de l'ILP ( Instruction-Level Parallelism )
2004-2007, 2012,2013 F. Pellegrini
124
Micro-architecture (2)
L'excution d'une instruction peut se
dcomposer en plusieurs sous-tapes
Recherche ( Fetch )
tant donn l'adresse de la prochaine instruction
excuter, rcupration de l'instruction
Decodage ( Decode )
Dtermination du type et de la nature des oprandes
Excution ( Execute )
Mise en oeuvre des units fonctionnelles
Terminaison ( Complete )
125
Micro-architecture (3)
On peut imaginer la conception du niveau
micro-architecture comme un problme de
programmation
Chaque instruction du niveau ISA est une fonction
Le programme matre (micro-programme) est une
boucle infinie qui dtermine chaque tour la bonne
fonction appeler et l'excute
Le micro-programme dispose de variables d'tat
accessibles par chacune des fonctions, et modifies
spcifiquement selon la nature de la fonction
Compteur ordinal, registres gnraux, etc.
126
Registre d'instruction
Mmoire du
micro-code
(implmentation
en un seul cycle)
Chemin de
donnes
Mmoire
(implmentation
en un seul cycle)
127
Instructions (1)
Chaque instruction est compose d'un ou
plusieurs champs
Le premier, appel opcode , code le type
d'opration ralise par l'instruction
Opration arithmtique, branchement, etc.
Instructions (2)
Exemple : format des instructions RISC MIPS
Type R (registre)
31
26 25
opcode
21 20
rs
16 15
rt
11 10
rd
6 5
shamt
26 25
opcode
21 20
rs
16 15
rt
26 25
opcode
func
immediate
Type J (branchement)
31
26 25
31
adresse
129
Xra
Clk
Zdi
Imm value
tendue 32b
Yra
Zwa
Registres
32 registres
32 bits
msel
32
Xdo
32
Ydo
Adresses
32
ALS
32
st enable
imm enable
_
r/w
wr enable
B
UAL
LF
4
ST
Mmoire
SD
_
a/s
32
Donnes
00
01
10
11
ALS
: Arithmtique
: Logique
: Dcalage
: Desactive
LF
0001 : AND
0011 : A
0101 : B
0110 : XOR
0111 : OR
00
01
10
11
ST
: Pas de dcalage
: Arithmtique
: Logique
: Rotation
ld enable
SD
0 : Dcalage gauche
1 : Dcalage droite
a/s
0 : Ajoute
1 : Soustrait
130
Y (5) Z (5)
x
00001
00001
x
00001 00001
00000
x
we imm_e imm_val
1
1
0x0100
0
0
x
1
1
0x0004
0
0
x
ALS a/s LF ST
01 x 0101 x
11 x
x
x
00 0
x
x
11 x
x
x
SD ld_e st_e
x 0 0
x 0 1
x 0 0
x 0 1
r/w msel
x
0
1 1
x
0
1 1
131
Chaque micro-instruction
S'excute en un cycle lmentaire
Spcifie exactement les signaux de contrle des
diffrentes units fonctionnelles
Registre
interne X
0 10 10 .. .
Bit de fin
Signaux de contrle d'instruction
ST [RSP],R[X]
ADDI SP,2
0
1
0101000
0101001
0101010
Opcode
tat initial
0 10 10 00
2004-2007, 2012,2013 F. Pellegrini
Adresse de la premire
instruction dans la
mmoire du micro-code
0101011
SUBI SP,2
LD R[X],[RSP]
0
1
0101100
0101101
0101110
Mmoire du micro-code
133
Registre d'instruction
Registre d'tat
Lignes de contrle
du chemin de donnes
134
Pile (1)
Presque tous les langages de programmation
incluent le concept de procdure disposant de
paramtres d'appel et de variables locales
Ces variables peuvent tre accdes pendant
l'excution de la procdure mais pas depuis la
procdure appelante
Elles ne peuvent rsider une adresse absolue en
mmoire, car cela empcherait la rentrance
135
Pile (2)
Une pile est une zone de la mmoire que l'on
n'accde jamais de faon absolue mais
toujours relativement un registre
Gre en fait au moyen de deux registres
Un registre de base ( Base Pointer , ou BP)
pointe sur le dbut de la zone mmoire alloue
pour les variables locales de la procdure
courante
Un registre de sommet de pile ( Stack Pointer ,
ou SP) pointe sur le dernier mot mmoire allou
2004-2007, 2012,2013 F. Pellegrini
136
Pile (3)
Les paramtres et les variables locales la
procdure courante sont rfrences par
rapport la valeur courante de BP
La zone de donnes rfrence par BP et
limite par SP est appele contexte courant
void
f (
int
c)
{
int
a;
int
b;
...
f (a + 1);
...
}
2004-2007, 2012,2013 F. Pellegrini
SP
BP
b
a
c
(BP-8)
(BP-4)
(BP+...)
137
Pile (4)
Lors d'un appel de procdure, un nouveau
contexte courant se cre au sommet de la pile
Comment grer le retour au contexte appelant ?
SP
void
f (
int
c)
{
int
a;
int
b;
...
f (a + 1);
...
}
2004-2007, 2012,2013 F. Pellegrini
BP
Appel de f()
b
a
(BP-8)
(BP-4)
x+1
b
a
(BP+...)
Plus visibles
138
Pile (5)
Lors d'un appel de procdure, on sauve
Gr par la
galement l'ancien BP dans la pile
procdure
appele
SP
BP
SP
BP
b
a
c
2004-2007, 2012,2013 F. Pellegrini
(BP-8)
(BP-4)
(BP+8)
SP
Gr par la
procdure
appelante
BP
b
a
(BP-8)
(BP-4)
vieux BP
retour (BP+4)
x+1
c
(BP+8)
b
a
139
Pile (6)
Squence d'appel d'une procdure, partie
gre par la procdure appelante :
Empilage des paramtres, dans l'ordre inverse de
celui dans lequel ils sont lists dans la procdure
Autorise les fonctions nombre d'arguments variables :
le premier paramtre est le plus proche de BP, les
autres sont dessous !
Appel de la procdure
Sauvegarde automatiquement l'adresse de retour dans
la pile
2004-2007, 2012,2013 F. Pellegrini
140
Pile (7)
Squence d'appel d'une procdure, partie gre
par la procdure appele (dbut de procdure) :
Empilage de l'ancien BP dans la pile
Copie de la valeur de SP dans celle de BP
Le nouveau contexte est bas la position courante de SP
Le premier paramtre est accessible l'adresse de BP
plus la taille de deux adresses entires (l'ancien BP et
l'adresse de retour), donc (BP+8)
141
Pile (8)
Squence de retour d'une procdure, partie
gre par la procdure appele (fin de
procdure) :
Remise dans SP de la valeur de BP
Libre la zone des variables locales la procdure
Dpile BP
BP pointe de nouveau sur le contexte appelant
142
Pile (9)
Squence de retour d'une procdure, partie
gre par la procdure appelante :
Incrmentation de SP de la taille de tous les
paramtres empils avant l'appel la procdure
Retour complet l'tat antrieur
143
144
146
147
Dcalage
Masquage
OU logique
criture
+
2004-2007, 2012,2013 F. Pellegrini
ADC
ADD
ADC
+
149
150
152
153
154
156
Instr.
Instr.
Instr.
Instr.
Instr.
Instr.
Instr.
Instr.
Instr.
Instr.
Instr.
Instr.
Instruction
Instr. Ins. Ins.
Instruction
X86 (32 bits : IA-32)
157
158
Modes d'adressage
Les modes d'adressage sont les diffrentes
manires dont on peut accder aux oprandes
des instructions
Adressage immdiat
Adressage direct
Adressage registre
Adressage indirect par registre
Adressage index
Adressage bas index
2004-2007, 2012,2013 F. Pellegrini
159
Adressage immdiat
Le plus simple pour une instruction est que sa
partie d'adresse contienne directement la valeur
de l'oprande
Rserv aux constantes
Aucun accs mmoire supplmentaire ncessaire
Exemples
Branchements : l'adresse (dplacement relatif ou
absolu) est spcifie dans le corps de l'instruction :
b 0C2F4
Chargement de registres : li r1,100
2004-2007, 2012,2013 F. Pellegrini
160
Adressage direct
Une mthode pour accder une valeur en
mmoire consiste donner son adresse pour
qu'on puisse y accder directement
On accdera toujours la mme zone mmoire
Rserv aux variables globales dont les
adresses sont connues la compilation
161
Adressage registre
Conceptuellement quivalent l'adressage
direct, mais on spcifie un numro de registre
plutt qu'un numro de mot mmoire
Mode le plus couramment utilis
Les accs aux registres sont trs rapides
Les numros de registres se codent sur peu de bits
(compacit des instructions plusieurs adresses)
162
163
Adressage index
Ce mode combine les caractristiques de
l'adressage direct et de l'adressage registre
L'oprande considr est localis une
distance fixe de l'adresse fournie par un registre
Les champs de l'instruction sont le numro du
registre ainsi que le dplacement relatif ( offset )
ajouter son contenu
164
165
Types d'instructions
Les instructions de la couche ISA peuvent
tre groupes en une demi-douzaine de
classes, que l'on retrouve sur toutes les
architectures
Copie de donnes
Calcul
Branchements, branchements conditionnels et
comparaisons
Entres/sorties et interruptions
Gestion de la mmoire
2004-2007, 2012,2013 F. Pellegrini
166
167
168
169
170
171
172
Instructions d'entre/sortie
Diffrent considrablement selon l'architecture
Mettent en uvre un ou plusieurs parmi trois
schmas d'E/S diffrents
E/S programmes avec attente de disponibilit
Trs coteux car le processeur ne fait rien en attendant
Cas des instructions IN et OUT de l'architecture x86
174
175
176
178
180
Segment
Adresse
0000
16 bits
16 bits (dcals de 4 positions)
20 bits
181
182
183
AL
EAX
BL
EBX
CL
ECX
DX
DH
DL
EDX
CS
AH
DS
BH
ES
CH
FS
BX
CX
GS
ESI
SS
EDI
EIP
EBP
EFLAGS
ESP
32
184
Bits
0-5
Prfixe
6
Instruction
1-2
Opcode
0-1
Mode
0-1
SIB
1 1
0-4
Dplacement
2
Scale
3
Index
0-4
Immdiat
3
Base
2
Mod
2004-2007, 2012,2013 F. Pellegrini
3
Reg
3
R/M
185
186
187
188
189
41
Instruction 2
7
R1
7
R2
41
Instruction 3
5
Template
7
6
R3 Prdicat
ftp://download.intel.com/design/Itanium/manuals/245319.pdf
2004-2007, 2012,2013 F. Pellegrini
190
CMP
JNE
MOV
ET1: ...
R1,0
ET1
R2,R3
CMOVZ R2,R3,R1
...
191
R1,R2
ET1
R3,R4
R3,R5
ET2
R6,R4
R6,R5
CMPEQ R1,R2,P4
<P4> ADD
R3,R4,R5
<P5> SUB
R6,R4,R5
192
193
194
D Q
D Q
CK
D Q
CK
D Q
CK
D Q
CK
D Q
CK
D Q
CK
D Q
CK
D Q
CK
D Q
CK
D Q
CK
CK
CK
195
196
197
Pipe-line (1)
Lorsqu'un mme traitement se rpte dans le
temps, et peut tre dcoup en sous-tches
lmentaires, on peut mettre en place une
chane de traitement appele pipe-line
Le nombre de sous-units fonctionnelles est
appel nombre d'tages du pipe-line
Unit fonctionnelle non pipeline
198
Pipe-line (2)
Exemple : le lavomatique
Lavage : 30 minutes
Schage : 40 minutes
Pliage : 20 minutes
L
L
S
S
L
P
P
S
L
S
P
S
L
P
P
199
Pipe-line (3)
Trois conditions sont ncessaires la bonne
mise en uvre d'un pile-line :
Une mme opration doit tre rpte dans le
temps
Cette opration doit pouvoir tre dcompose en
tapes ( stages , improprement traduit en
tages ) indpendantes
La dure de ces tages doit tre peu prs la
mme
200
Pipe-line (4)
Un pipe-line p tages sort son premier
rsultat aprs p cycles lmentaires, puis un
rsultat par cycle lmentaire
N'est utile que si l'opration se rpte !
201
Pipe-line (5)
Pour isoler les diffrents tages du pipe-line,
on utilise des latches
La frquence de cadencement est limite par
la dure de l'tage le plus long
Il faut y ajouter cette dure le temps de
traverse du latch associ
202
Pipe-line (6)
Soient :
T le temps de traverse du circuit non pipe-lin
p la profondeur du pipe-line (nombre d'tages)
Le temps de traverse d'un latch
203
Pipe-line (7)
L'efficacit du pipe-line est donc gale :
n.T / ((n + p - 1)(T / p + ))
L'efficacit maximale thorique d'un pipe-line
quilibr de profondeur p :
Est strictement infrieure p
Intrt d'augmenter p pour augmenter l'efficacit du
pipe-line
Revient augmenter le degr de paralllisme du circuit
petit devant T / p
204
205
206
207
208
209
Anti-dpendance
mov [A],r1
add r1,r2,r4
...
add r1,r2,r3
mov [A],r1
Dpendance de
rsultat
Dpendance de
contrle
add r2,r3,r1
bz r4,etiq
div r1,r4,r1
mov [A],r1
2004-2007, 2012,2013 F. Pellegrini
etiq:
...
210
M WB
F
M WB
211
M WB
M WB
212
M WB
M WB
M WB
M WB
M WB
M WB
213
M WB
M WB
M WB
M WB
M
214
[B],[C],r1
mul
[B],[C],r1
mul
[D],[E],r2
mul
[D],[E],r2
add
r1, r2,[A]
mul
[G],[H],r3
mul
[G],[H],r1
mul
[I],[J],r4
mul
[I],[J],r2
add
r1,r2,[A]
add
r1,r2,[F]
add
r3,r4,[F]
215
216
M WB
M WB
M WB
217
218
219
220
221
222
i = ideb
i < ifin-4
i < ifin
f(i)
i ++
2004-2007, 2012,2013 F. Pellegrini
f(i), f(i+1)
f(i+2), f(i+3)
i += 4
223
224
t[1000], n, s, i;
n = f ();
for (i = 0, s = 0; i < n; i ++)
s += t[i];
...
xorl %edx,%edx
# Somme zro
movl %eax,%esi
# Nombre dans esi
movl %edx,%eax
# Compteur zro
cmpl %esi,%edx
# Valeur de fin atteinte ?
jge .L45
# Si oui, rien faire
movl %esi,%ecx
# Copie compteur dans ecx
leal -4000(%ebp),%ebx # Adresse tableau dans ebx
andl $3,%ecx
# Si compteur multiple de 4
je .L47
# Va la boucle droule
cmpl $1,%ecx
# Si valeur modulo 4 est 1
jle .L59
# Fait un tour et droule
cmpl $2,%ecx
# Si valeur modulo 4 est 2
jle .L60
# Fait deux tours et droule
movl -4000(%ebp),%edx # Charge premire valeur
movl $1,%eax
# Un tour fait, reste deux
2004-2007, 2012,2013 F. Pellegrini
.L60:
addl (%ebx,%eax,4),%edx
incl %eax
addl (%ebx,%eax,4),%edx
incl %eax
cmpl %esi,%eax
jge .L45
.align 4
.L59:
.L47:
addl (%ebx,%eax,4),%edx
addl 4(%ebx,%eax,4),%edx
addl 8(%ebx,%eax,4),%edx
addl 12(%ebx,%eax,4),%edx
addl $4,%eax
# Ajoute 4 au compteur
cmpl %esi,%eax
# Valeur de fin atteinte ?
jl .L47
# Reboucle si non atteinte
.L45: ...
225
Excution prospective
On continue excuter de faon prospective
l'une des deux branches
On ne purgera le pipe-line que s'il s'avre que l'on
n'a pas suivi la bonne branche
Ncessite une circuiterie supplmentaire pour
transformer en bulles les instructions en amont de
l'tage d'excution
226
Prdiction de branchement
Deux types de prdiction de branchement :
Statique : la prdiction effectue sur un
branchement donn est pr-calcule la
compilation
Dynamique : la dcision prise sur un branchement
une adresse donne dpend de dcisions prises
par le pass dans l'excution du programme
Ncessaire quand le biais du branchement volue avec
le temps
max = a[0];
for (i = 1; i < N; i ++)
if (a[i] > max)
max = a[i];
227
228
229
230
r1, [A]
r2
r2, pc+2
r1, r1, r2
r1, r1, r3
Avec d = 0
2004-2007, 2012,2013 F. Pellegrini
dec
bz
load
div
mul
r2
r2, pc+3
r1, [A]
r1, r1, r2
r1, r1, r3
Avec d = 1
dec
bz
load
nop
div
mul
r2
r2, pc+4
r1, [A]
r1, r1, r2
r1, r1, r3
Avec d = 2
231
Superscalarit
Afin d'augmenter le nombre d'instructions
traites par unit de temps, on fait en sorte
que le processeur puisse lire et excuter
plusieurs instructions en mme temps
Problmes de dpendances entre instructions
Entrelacement de code effectu par le
compilateur
Rordonnancement dynamique des instructions
par le processeur (excution out of order )
2004-2007, 2012,2013 F. Pellegrini
232
233
234
T=c.
i : nombre d'instructions
T = i . (c / i) .
235
236
Machine virtuelle
SE
Vue
ascendante
2004-2007, 2012,2013 F. Pellegrini
Gestionnaire de ressources
237
238
239
Gestion de la mmoire
Au dbut de l'informatique, les mmoires (vives
et de masse) taient de trs faible capacit et
trs chres
Les plus gros programmes ne pouvaient tenir en
mmoire, avec leurs donnes
Overlays (1)
Le programmeur, lors de l'dition de liens d'un
programme, rpartit les diffrents modules qui
le composent en sous-ensembles excutables
les plus indpendants possibles : les overlays
Cas des passes d'un compilateur, par exemple
241
Overlays (2)
Exemple d'dition de liens d'un programme,
conduisant l'obtension de deux overlays
Diagramme d'appel
Overlay 1
f1()
f1()
f2()
f2()
f3()
f4()
f3()
f5()
f6()
f7()
2004-2007, 2012,2013 F. Pellegrini
f7()
Donnes
Overlay 2
f4()
f5()
f6()
f7()
Donnes
Limite de la
mmoire
physique
242
Overlays (3)
La construction des overlays est fortement lie
la taille de la mmoire de la machine cible
Si moins de mmoire que la taille du plus grand
overlay, le programme ne peut s'excuter
Si taille plus grande, le programmeur aurait pu
mieux utiliser la mmoire (moins de changements
d'overlays)
Problmes :
Granularit des overlays trop leve
Dcoupage statique et non pas dynamique
2004-2007, 2012,2013 F. Pellegrini
243
Overlays (4)
Pour rendre le systme plus efficace, il faudrait
mieux utiliser l'espace mmoire et rduire les
cots de chargement
Pas de groupage statique fig l'dition de liens
Dcharge l'utilisateur de la tche de groupage
0K
4K
8K
12K
Adresses
physiques
Mmoire
physique
245
Mmoire
MMU
Adresses
physiques
2004-2007, 2012,2013 F. Pellegrini
Bus mmoire
246
Numro de
page
physique
Dplacement
p p p p d d d d d d d d
2004-2007, 2012,2013 F. Pellegrini
247
248
249
250
251
Segmentation (1)
La segmentation consiste avoir autant
d'espaces d'adressage que de zones mmoire
d'usages diffrents
Adresses partent partir de 0 pour chaque
segment
252
Segmentation (2)
Des descripteurs de segments sont associs
chaque segment
Taille l'octet prs (pas de problme de
granularit)
Droits d'accs
Rfrence la racine d'une table de pages
prive ou bien adresse de dbut du segment
dans la mmoire virtuelle (permet facilement les
dplacements logiques de segments dans
l'espace d'adressage)
2004-2007, 2012,2013 F. Pellegrini
253
Segment
Adresse
0000
16 bits
16 bits (dcals de 4 positions)
20 bits
254
255
13
Index
16
Base 0-15
Base 24-31
G D
0 : LIMIT en octets
1 : LIMIT en pages
0 : segment de 16 bits
1 : segment de 32 bits
2004-2007, 2012,2013 F. Pellegrini
16
Limit 0-15
Type
Base 16-23
256
Dplacement
Descripteur
Base
Limite
Adresse linaire
32 bits
257
Fichiers (1)
La gestion des entres-sorties est un autre
apport majeur de la couche systme
Mise disposition d'une abstraction de
fichier sous forme de suite ordonne d'octets
Possibilits d'accs en lecture, en
lecture/criture, ou seulement en criture
suivant le type de priphrique modlis
Scurit
Confidentialit
Intgrit
258
Fichiers (2)
Les fichiers existent en dehors de l'espace
d'adressage des programmes
Ncessit de leur nommage
259
Fichiers (3)
Les fichiers sont administrs au sein de
systmes de fichiers
Systmes logiques ou physiques
Possibilit de partitionner un disque unique en plusieurs
systmes de fichiers
Possibilit de regrouper plusieurs disques au sein d'un
systme de fichiers logique unique
260
262
Facilit de modification
Pas besoin de recalculer la main les adresses des
destinations de branchements ou des donnes
lorsqu'on modifie le programme
263
Performance
Un programme en langage d'assemblage est souvent
plus compact et plus efficace qu'un programme en
langage de haut niveau
2004-2007, 2012,2013 F. Pellegrini
264
Difficult de maintenabilit
Variation des performances relatives des instructions
entre plusieurs processeurs de la mme famille
265
266
267
Champ tiquette
Champ optionnel
Associe un nom symbolique l'adresse
laquelle il se trouve
Destination de branchement ou d'appel de sousroutine pour les tiquettes situes en zone de
code
Adresses de variables ou constantes mmoire
pour les tiquettes situes en zone de donnes
268
269
Champ commentaire
Ne sert qu'au programmeur et pas
l'assembleur
Permet au programmeur de laisser des
explications utiles sur ce que fait son
programme, ligne par ligne
Un programme en assembleur sans
commentaires est affreusement difficile lire
Difficult de la rtro-ingnirie partir du code
objet d'un programme
2004-2007, 2012,2013 F. Pellegrini
271
Directives
Influent sur le comportement de l'assembleur
Ont de multiples fonctions
Dfinition de constantes symboliques
Analogue au #define du pr-processeur C
Cas de l'architecture x86 : etiquette EQU valeur
272
Macro-instructions
Une macro-dfinition permet d'associer un nom
un fragment de code en langage
d'assemblage
Analogue la directive #define du prprocesseur C
Possibilit de dfinir des paramtres formels
Cas de l'architecture x86 : directive MACRO ... ENDM
273
Assemblage (1)
Problme des rfrences descendantes
Comment savoir quelle adresse se fera un
branchement si on ne connait pas encore le
nombre et la taille des instructions intermdiaires
Ncessit de connatre l'ensemble du code source
avant de gnrer le code en langage machine
Assemblage (2)
Lors de la premire passe, l'assembleur :
Vrifie la syntaxe du code assembleur
Collecte les dfinitions des macros et stocke le texte
du code assembleur associ
Effectue l'expansion des noms de macros trouvs
Dtermine les tailles mmoire ncessaires au
stockage de chacune des instructions et directives
rencontres
Collecte dans une table des symboles les dfinitions
des tiquettes et de leur valeur, dtermine partir
de la somme des tailles des instructions prcdentes
2004-2007, 2012,2013 F. Pellegrini
275
Assemblage (3)
Lors de la deuxime passe, l'assembleur :
Selon l'implmentation, relit le code assembleur ou
le flot d'instructions rsultant de l'expansion des
macros ralise lors de la premire passe
Vrifie si les tiquettes ventuellement rfrences
par les instructions ont toutes t trouves lors de la
premire passe
Gnre le code en langage machine pour les
instructions, en y intgrant les adresses mmoire
des tiquettes qu'elles utilisent
Ajoute au fichier objet la table des symboles connus
2004-2007, 2012,2013 F. Pellegrini
276
dition de liens
Produit un excutable partir de fichiers objets
Ajout d'un en-tte de dmarrage au dbut du fichier
277
Rfrences croises
Les symboles externes doivent tre dclars
dans chacun des modules dans lesquels ils sont
utiliss
Insrs dans la table des symboles en tant que
rfrences dclares mais pas dfinies
L'assembleur ajoute les adresses des instructions
utilisant ces rfrences la table des instructions
non rsolues
Relocation de code
Lors de l'assemblage, les adresses des
instructions de branchements et d'appels
absolus sont stockes dans une table
spcifique
Table de relocation incorpore au fichier objet
Les branchements relatifs locaux ne sont pas
concerns
279
Fichier objet
Un fichier objet contient :
Le code en langage machine rsultant de
l'assemblage ou de la compilation du fichier en
code source correspondant
La table des symboles
Symboles dfinis localement et dclars comme
visibles de l'extrieur du module
Symboles non locaux dclars et utiliss dans le
module
La table de relocation
Adresses des instructions utilisant des adresses
2004-2007, 2012,2013
F. Pellegrini (locales et non-locales)
absolues
280
Bibliothques (1)
Lorsqu'on fournit un ensemble de fonctions
rendant un ensemble cohrent de services, il
serait prfrable de grouper les fichiers objets
associs sous la forme d'un unique fichier
Facilite la manipulation et la mise jour
281
Bibliothques (2)
Deux types de bibliothques
Bibliothques statiques
Format en lib*.a (Unix) ou *.lib (DOS)
Lies l'excutable lors de la compilation
Augmentent (parfois grandement) la taille des excutables
On n'a plus besoin que de l'excutable proprement dit
Bibliothques dynamiques
Format en lib*.so (Unix, shared object ) ou
*.dll (Windows, dynamic loadable library )
Lies l'excutable lors de l'excution
Permettent la mise jour indpendante des bibliothques
LD_LIBRARY_PATH )
282
call brol ()
b r o l \0
call trol ()
trol
adresse invalide
call brol ()
2004-2007, 2012,2013 F. Pellegrini
t r o l \0
283
brol
adresse valide
call brol ()
b r o l \0
call trol ()
brol ()
trol
adresse valide
call brol ()
2004-2007, 2012,2013 F. Pellegrini
t r o l \0
trol ()
284
285
286
Bus (1)
Un bus est un chemin lectrique commun
reliant plusieurs quipements
Dfini par un protocole, qui spcifie ses
caractristiques mcaniques et lectriques
Exemples :
PC bus : bus interne des PC/XT conu par IBM
AGP : bus pour carte graphique
SCSI : dialogue avec des priphriques
FireWire : connexion entre quipements grand
public ...
2004-2007, 2012,2013 F. Pellegrini
287
Bus (2)
Caractristiques de quelques bus de type PC
Date
1981
1985
1987
1988
1991
1994
1993
1994
1995
1999
2004-2007, 2012,2013 F. Pellegrini
Type de bus
ISA (PC/XT)
ISA (PC/AT)
MCA (PS/2)
EISA
VESA
PCI
Bus (3)
Les quipements attachs au bus peuvent tre :
Actifs, s'ils peuvent initier des transferts de donnes
par eux-mmes (matres)
Passifs, s'ils ne font qu'attendre des requtes et y
rpondre de faon synchrone (esclaves)
Bus (4)
Les lignes des bus sont divises
fonctionnellement en trois catgories
Lignes de contrle
Lignes d'adresses
Lignes de donnes (ventuellement multiplexes
avec les lignes d'adresses)
290
Bus (5)
Chronogramme d'une lecture mmoire sur
un bus synchrone avec un cycle d'attente
Adresses
Adresse mmoire
Donnes
Donnes
MREQ
RD
WAIT
2004-2007, 2012,2013 F. Pellegrini
Cycle d'attente
291
292
Date
1996
2001
293
294
295
296
297
298
299
301
6
2004-2007, 2012,2013 F. Pellegrini
7
304
CD-ROM (1)
Cration du CD audio par Philips et Sony au
dbut des annes 1980
Hritier du disque vido grand format (30 cm)
dvelopp par Philips la fin des annes 1970
Spcifications techniques normalises par l'ISO
Diamtre de 12 cm
paisseur de 1,2 mm
Diamtre du trou central de 1,5 cm
...
305
CD-ROM (2)
Un CD est constitu d'une mince pellicule
d'aluminium prise entre deux couches de
matriau plastique transparent (polycarbonate)
La couche d'aluminium est constitue d'un
ensemble de zone plates ( lands ) et de
micro-cuvettes ( tips ) servant coder
l'information
Taille des trous de l'ordre de quelques microns
306
CD-ROM (3)
La lecture se fait au moyen d'un rayon laser
Les zones plates rflechissent le rayon
Les cuvettes dispersent le rayon
Lentille
Photodtecteur
Prisme semi-rflchissant
Diode laser
307
CD-ROM (4)
Les microcuvettes et les zones plates sont
inscrites sur une spirale continue
Pas des cercles concentriques comme pour les
disques magntiques
308
CD-ROM (5)
Afin d'avoir un flot de donnes continu et
constant en coute audio, la vitesse de rotation
du disque s'adapte en fonction de la distance
radiale du bras portant la lentille
Vitesse linaire de 120 cm/s
Vitesse angulaire de :
530 tours/mn au centre du disque
200 tours/mn au bord du disque
309
CD-ROM (6)
Les spcifications techniques du formatage des
donnes informatiques sur la spirale du CD
audio sont contenues dans le Livre jaune
Les octets sont encods sous la forme de symboles
de 14 bits permettant la correction d'erreur
Une trame de 588 bits est constitue de 42
symboles servant encoder 24 octets avec
correction d'erreur
Un secteur est constitu d'un groupe de 98 trames
servant encoder 2048 octets, avec un prambule
de 16 octets de synchronisation et de numrotation
2004-2007, 2012,2013 F. Pellegrini
du secteur, et d'une zone de contrle de 288 octets310
CD-ROM (7)
Du fait de la trs grande redondance, la charge
utile d'un CD-ROM n'est que de 28 %
Un CD-ROM peut encoder 650 Mo de donnes
311
CD-ROM (8)
Afin de rendre les CD-ROM utilisables sur le
plus d'architectures possible, le format du
systme de fichiers a t normalis
Norme ISO 9660
Trois niveaux
Niveau 1 : Nommage la MS-DOS : 8+3
caractres, majuscules uniquement, huit souscatalogues au plus, fichiers contigus
Niveau 2 : Noms de fichiers sur 32 caractres
Niveau 3 : fichiers non contigus
2004-2007, 2012,2013 F. Pellegrini
312
CD-R (1)
Les CD-R sont des CD initialement vierges
sur lesquels on peut inscrire, une seule fois,
des informations
Spcifications dans le Livre orange
313
CD-R (2)
L'criture s'effectue avec un laser de forte
puissance (8 16 mW) qui opacifie la
couche photosensible par chauffage au point
de contact avec la surface rflchissante
La lecture s'effectue de faon classique avec
un laser de faible puissance (0,75 mW)
314
CD-RW
Permettent la lecture et l'criture
La couche d'enregistrement est constitue d'un
alliage mtallique possdant un tat cristallin et
un tat amorphe de rflectivits diffrentes
Leur laser fonctionne avec trois puissances
Faible puissance : lecture
Moyenne puissance : fonte de l'alliage et
refroidissement lger permettant le passage l'tat
cristallin fortement rflechissant : rinitialisation
Haute puissance : fonte et passage l'tat amorphe
315
DVD
Mme principe que les CD-ROM, mais
densification de l'information
Laser de longueur d'onde plus petite (0,65
microns contre 0,78 microns)
Microcuvettes plus petites (0,4 microns, contre 0,8
microns)
Spires plus serres (0,74 microns contre 1,6
microns)
316
cran (1)
Principal dispositif de sortie des ordinateurs
actuels
Diffrentes technologies disponibles en
fonction des usages et des contraintes
Tube cathodique ( Cathod Ray Tube , ou CRT)
Cristaux liquides ( Liquid Crystal Display , ou
LCD)
Diodes mittrices organiques ( Organic Light
Emitting Diode , ou OLED)
Plasma
2004-2007, 2012,2013 F. Pellegrini
317
cran (2)
Paramtres caractristiques d'un cran
Rsolution affichable : nombre maximal de pixels
que l'cran peut afficher ou que l'oeil de
l'observateur peut discriminer
Qualit visuelle des images statiques
318
319
Tube vide
d'air en
verre
Acclrateur
(anode)
Faisceau
d'lectrons
Paires de
plaques de
dflexion
Spot lumineux au
point d'l'impact
Couche de
phosphore
320
321
horizontal
Retour
horizontal
322
323
324
325
326
cran OLED
Constitu d'une couche de matire organique
lectro-luminescente prise en sandwich entre
une cathode mtallique et une matrice
d'anodes transparentes analogue celle des
crans cristaux liquides
Pas besoin de rtro-clairage
cran extrmement fin et consommant peu
Excellente vitesse de rafrachissement
Problmes de rsistance la chaleur, en voie
de
rsolution
2004-2007,
2012,2013
F. Pellegrini
327
328
329
Modem (1)
Jusqu' rcemment, la seule connectivit dont
pouvait disposer la majorit des utilisateurs tait
la liaison tlphonique
Utilisation des lignes tlphoniques pour les
transmissions entre ordinateurs
330
Modem (2)
La modulation consiste encoder une
information au sein d'un signal porteur moins
sujet aux attnuations, distorsions et bruits
Ncessit d'un MOdulateur pour encoder le signal
et d'un DModulateur pour le dcoder : MODEM
Voie de communication
ETTD
ETCD
ETCD
ETTD
Circuit
Liaison (bits)
ETCD : quipement Terminal de Circuit de Donnes (modem)
ETTD : quipement Terminal de Traitement de Donnes (terminal, ordinateur)
2004-2007, 2012,2013 F. Pellegrini
331
Modulation (1)
Il existe trois types de modulation
Modulation d'amplitude
Modulation de frquence
Modulation de phase
332
Modulation (2)
Modulation d'amplitude
Le signal module l'amplitude de la porteuse
1
333
Modulation (3)
Modulation de frquence
Le signal module la frquence de la porteuse
1
334
Modulation (4)
Modulation de phase
Les changements d'tat du signal modulent la
phase de la porteuse
1
335
Modulation (5)
Pour des dbits faibles (< 1200 bits/s), on utilise
la modulation de frquence
Pour des dbits plus importants, on utilise
conjointement la modulation de phase et
d'amplitude
Lorsque le signal peut prendre plus de deux
tats diffrents, on peut ne plus parler en bits/s
mais en bauds/s
Nombre d'tats par seconde
Le dbit en bits/s est un multiple du dbit en bauds/s
336
Multiplexage
Assemblage de plusieurs signaux issus de
sources distinctes en un seul signal composite
destin tre transmis sur une voie de
communication commune
Deux types de multiplexage
En temps : une voie haut dbit est dcompose
en plusieurs voies bas dbit par allocation
chacune d'un quantum de temps d'mission
En frquence : la bande passante du support est
dcompose en bandes de frquences (canaux)
utilisables par des voies bas dbit
2004-2007, 2012,2013 F. Pellegrini
337
ADSL (1)
L'volution des technologies Ethernet a
montr que l'on pouvait atteindre des dbits
trs importants sur de simples paires de fils
Les technologies DSL ( Digital Subscriber
Line ) permettent d'utiliser la boucle
locale (connexion filaire point--point entre le
central tlphonique et l'abonn) pour
transmettre des informations supplmentaires
Peu coteuses
Pas besoin d'implanter d'autres rseaux, de type
2004-2007, 2012,2013
F. Pellegrini
cble
coaxial ou fibre optique
338
ADSL (2)
Multiplexage en frquence des informations sur
la paire tlphonique
Bande de 0 4 kHz utilise par la tlphonie
classique
Bande de 4 kHz 1.1 MHz, dcoupe en plusieurs
canaux montants et descendants, utilise pour la
transmission d'informations numriques
ADSL (3)
Au niveau du central, des DSLAMs ( DSL
Access Multiplexer ) multiplexent en
frquence la voie tlphonique et les canaux
de donnes
Au niveau de l'abonn, un filtre passe-bas
permet d'extraire le signal tlphonique, et un
modem DSL gre la transmission sur les
canaux montants et descendants
340
ADSL (4)
Les dbits obtensibles dpendent :
De la longueur de la paire torsade entre le
central tlphonique et l'abonn
Des sources d'interfrences et de bruits lectromagntiques rencontres
De la technologie DSL utilise
341
ADSL (5)
Plusieurs technologies mises en uvre :
HDSL : utilisation de deux paires de fils pour
atteindre 1.1 Mbit/s sur 5 km
SDSL : utilisation d'une seule paire sur 3 km pour
obtenir les dbits de l'HDSL
ADSL : Asymmetric DSL : on a moins de
canaux montants (256 kbits/s) que de canaux
descendants
4,9 km
3,7 km
2,7 km
8,448 Mbits/s
342
ADSL (6)
VDSL : Very high speed DSL ou Video DSL
1,5 km
1 km
300 m
343
344
345
346
347
348
349
Imprimante (1)
En dpit de l'explosion de la transmission par
canaux numriques, l'impression papier reste
trs utilise, surtout pour les documents
officiels
Diminution de la quantit de papier pouss
Explosion de l'impression de documents pour
usage individuel (usage unique)
Facilit d'utilisation de ce mdium (prix, robustesse,
facilit d'usage, etc)
350
Imprimante (2)
Il existe de nombreuses technologies
d'imprimante, caractrises par leur cot et
leurs performances
Imprimantes marteaux
Imprimantes aiguilles
Imprimantes thermiques
Imprimantes jet d'encre
Imprimantes laser, ...
351
Imprimante marteaux
Les toutes premires imprimantes taient des
machines crire amliores : un ensemble de
marteaux correspondant chaque caractre
venaient frapper la feuille de papier pose sur le
chariot mobile en y appuyant un ruban encreur
Les imprimantes se sont ensuite adaptes aux
gros volumes de papier imprimer : le papier en
accordon reste fixe et un chariot portant les
marteaux se dplace
Imprimantes marguerites
Imprimante rouleaux
Pour les gros volumes d'impression, le
dplacement du chariot est trop lent
Les imprimantes rouleaux sont constitues
d'un ensemble de rouleaux contenant chacun
l'ensemble des caractres imprimables,
pivotables individuellement, couvrant toute une
ligne, et qui sont appliqus simultanment sur
la feuille de papier
On imprime ligne par ligne
Utilises jusqu' rcemment pour imprimer les
2004-2007, 2012,2013
F. Pellegrini
dclarations
d'impt...
353
354
355
Imprimante thermique
L'impression ne se fait pas par dpt de
matire sur le papier mais par noircissement
par brlure de la surface du papier
thermosensible
Impression monochrome
Le papier thermosensible vieillit trs mal et
devient trs rapidement illisible
356
357
358
359
Laser
Tambour
photosensible
Balai
nettoyeur
Four
Applicateur de
toner
Passage de la
feuille de papier
360
faire... (1)
Dtailler PCI
Micro-architecture avec tat (coup du champ
JMP destination variable dans le microcode)
361
Trucs en vrac
Le salon des refuss (pour le moment...)
362