Académique Documents
Professionnel Documents
Culture Documents
Cours-Architecture Des Ordinateurs
Cours-Architecture Des Ordinateurs
Sylvain MONTAGNY
sylvain.montagny@univ-savoie.fr
Btiment chablais, bureau 13
04 79 75 86 86
Retrouver tous les documents de Cours/TD/TP sur le site
www.master-electronique.com
: 12 h en 8 sances
Prsentation TD
z TD
: 15 h en 10 sances
TD 2 : Pipeline
TD 3 : Mmoires Caches
TD 4 : Les interruptions
Prsentation TP
z TP
: 16 h en 4 sances
Universit de Savoie
z
z
z
z
Universit de Savoie
Larchitecture interne
Wafer
Un microprocesseur est constitu dun morceau de silicium dop.
Cest donc un ensemble de millions de transistors.
Universit de Savoie
Larchitecture interne
Unit commande/traitement
Universit de Savoie
Larchitecture interne
Schma
Universit de Savoie
Larchitecture interne
Lunit de commande (1)
Elle permet de squencer le droulement des instructions. Elle
effectue la recherche en mmoire de l'instruction, le dcodage
de linstruction code sous forme binaire. Enfin elle pilote
lexcution de linstruction.
Larchitecture interne
Lunit de commande (2)
2.
3.
Universit de Savoie
10
Larchitecture interne
Lunit de commande (3)
Universit de Savoie
11
Larchitecture interne
Lunit de traitement (1)
Elle regroupe les circuits qui assurent les traitements ncessaires
l'excution des instructions
2.
Universit de Savoie
12
Larchitecture interne
Lunit de traitement (2)
3.
Retenue (carry : C)
Dbordement (overflow : OV ou V)
Zro (Z)
...
Universit de Savoie
13
Larchitecture interne
LUnit de traitement (3)
B
8
OV =Overflow Flag
Slection de
lopration
C = Carry Flag
C0
C1
C2
C3
Z = Zero Flag
UAL
S = Sign Flag
P = Parity Flag
Flag = drapeau
Registre dtat
R
Rsultat
Universit de Savoie
14
Larchitecture interne
Lunit de traitement (4)
Universit de Savoie
15
Larchitecture interne
Architecture complte
Universit de Savoie
16
CPU
Mmoire
4
3
z
z
z
z
Universit de Savoie
17
Larchitecture
Von Neuman
CPU
z
z
z
BUS
Mmoire
Programme
&
donnes
18
Larchitecture
Harvard
CPU
z
Mmoire
donne
Mmoire
programme
19
Larchitecture
Harvard : Cas des microcontrleurs PIC
z
Universit de Savoie
20
Universit de Savoie
21
Universit de Savoie
22
Instruction Addition :
Accumulateur = Accumulateur + Oprande
11001
23
Universit de Savoie
24
Universit de Savoie
25
Universit de Savoie
26
z L
architecture CISC
(Complex Instruction Set Computer)
z Larchitecture
RISC
Universit de Savoie
27
Universit de Savoie
28
Universit de Savoie
29
Adressage immdiat
Adressage direct
Adressage indirect
Universit de Savoie
30
#4
ALU
Mmoire
M
Contenu
0x00
0..
110 1101
0x01
0..
100 0101
0..
010 1111
Compteur Ordinal
adrs+1
PC
adrs
110
1 0101
ADDA
adrs + 1
0 1 1 0#41 0 0 1
adrs + 2
Accumulateur
Adresses
1..
010 1101
0011 1000
1
100 0101
1
010 1001
.
0111 1010
Universit de Savoie
31
adresseX
ALU
Mmoire
Contenu
0x00
0..
110 1101
0x01
0..
100 0101
0..
010 1111
Compteur Ordinal
adrs+1
PC
adrs
110
1 0101
ADDA
adrs + 1
0 adresseX
110 1001
adrs + 2
Accumulateur
Adresses
1010 1101
adresseX
0xxxx
0 1 1 xxxx
1000
1
100 0101
1
010 1001
.
0111 1010
Universit de Savoie
32
@adresseX
ALU
Mmoire
Contenu
0x00
0..
110 1101
0x01
0..
100 0101
0..
010 1111
Compteur Ordinal
adrs+1
PC
adrs
110
1 0101
ADDA
adrs + 1
0@adresseX
110 1001
adrs + 2
Accumulateur
Adresses
1010 1101
@adresseX
0 adresseX
011 1000
1
100 0101
adresseX
1 0 1 0 xxxxxx
1001
xxxxx
.
0111 1010
Universit de Savoie
33
Universit de Savoie
34
Universit de Savoie
35
Exemple dexcution
Directives
dassemblage
Valeurs des
symboles
00000040
00000000
00000001
.TITLE
.PROC
.START
Bruit_HP
I8085
OSCIL
; Titre du programme
; Processeur utilis
; Adresse dbut programme
HP
HPOFF
HPON
=
=
=
000000
.LOC 0
000000
OSCIL:
000000
000002
000004
000006
000008
00000B
Adresses
3E
D3
3E
D3
C3
00
40
01
40
00 00
MOVE
MOVE
MOVE
MOVE
JUMP
1064
0
1
Mnmoniques
des instructions
#HPOFF, A
A, $HP
#HPON, A
A, $HP
OSCIL
; Fin de lassemblage
Commentaires
36
Exemple dexcution
Programme:
instructions
Adresses
.00
3E
.01
00
.02
D3
.03
40
.04
3E
Vue symbolique
MOVE
,A
MOVE #HPOFF,A
#HPOFF
MOVE A,
MOVE A,$HP
$HP
MOVE
,A
MOVE #HPON,A
.05
01
.06
D3
.07
40
.08
C3
.09
00
0A
00
#HPON
MOVE A,
MOVE A,$HP
$HP
JUMP
JUMP OSCIL
OSCIL
37
Exemple dexcution
Continue.
re
e
le cle
le
l
c
c
c
u
u
u
u
bo e bo e bo e bo
m
m
m
i
i
i
2
4
3
Universit de Savoie
38
Chapitre 2 : Le pipeline
z
z
z
Universit de Savoie
39
40
Universit de Savoie
43
Chapitre 2 : Le pipeline
z
z
z
Universit de Savoie
44
z
z
46
Etage
pipeline
P
F
D
A
R
X
Description
PC
Program memory
Decoder
ARs, ARAU
Data memory
ARs, ARAU
Execute instruction
Write result
MAC, ALU
Data Memory
accs la mmoire
utilisation des bus
Universit de Savoie
48
54x
&
Donnes
P1
F1
D1
A1
R1
X1
P2
F2
D2
A2
R2
X2
P3
F3
D3
A3
R3
X3
P4
--
--
--
F4
D4
A4
R4
X4
--
--
--
P5
F5
D5
A5
R5
X5
--
--
--
P6
F6
D6
A6
R6
Universit de Savoie
49
or
54x
D
F1
D1
A1
R1
X1
P2
F2
D2
A2
R2
X2
P3
F3
D3
A3
R3
X3
P4
F4
D4
A4
R4
X4
P5
F5
D5
A5
R5
X5
P6
F6
D6
A6
R6
NO CONFLICT
X6
50
Types de pipelining
Squentiel :
Pas de pipeline
(ex: Motorola 56000)
Pipeline simple
(plupart des DSP)
t
Double pipeline
(ex: Pentium)
Superpipelin :
Nombre d'tages plus lev
(ex: TMS320C6000)
t
Universit de Savoie
51
Universit de Savoie
52
Profondeur du pipeline
31
Intel Pentium 4
20
AMD K10
16
10
AMD Athlon
12
IBM POWER5
16
16
Intel Itanium
10
Universit de Savoie
53
Chapitre 2 : Le pipeline
z
z
z
Universit de Savoie
54
Universit de Savoie
55
Program
54x
P1
&
F1
D1
A1
R1
X1
P2
F2
D2
A2
R2
X2
P3
F3
D3
A3
R3
X3
P4
--
--
--
F4
D4
A4
R4
X4
--
--
--
P5
F5
D5
A5
R5
-Universit-de Savoie--
P6
F6
D6
A6
Donnes
X5
56
R6
Universit de Savoie
57
A=B+C
D=A+C
E=F+B
A=B+C
E=F+B
D=A+C
Universit de Savoie
58
A=B+C
NOP
D=A+C
E=F+B
Remarques :
z
59
Chargement
Chargement
(instruction)
(instruction)
Dcodage
Dcodage
Chargement
Chargement
(oprandes)
(oprandes)
Excution
Excution
Rangement
Rangement
(oprandes)
(oprandes)
Universit de Savoie
Universit de Savoie
61
Universit de Savoie
62
Cette stratgie donne des trs bons rsultats (7080%) avec une augmentation relativement restreinte
de la logique de contrle: elle est utilise dans
plusieurs processeurs (p.ex., MicroSparc, HP-PA).
Universit de Savoie
63
PRIS
NON PRIS
Prdiction
Prdiction
non
non
ralise
ralise
PRIS
Prdiction
Prdiction
ralise
ralise
NON PRIS
CK
INST 1
INST 2
INST 3
INST 4
Universit de Savoie
INTERRUPTION
X
65
Universit de Savoie
66
z
z
z
z
z
Universit de Savoie
67
z Principe
z
de base du cache :
68
Anne
Temps de cycle
processeur
Temps de cycle
mmoire
1990
~100ns
~140ns
1998
2002
~4ns
~0.6ns
~60ns
~50ns
Universit de Savoie
69
Universit de Savoie
70
Localit spatiale :
z
Localit temporelle :
z
Universit de Savoie
71
Adresses en mmoire
Temps
72
Les donnes
Le programme
05 LOOP
06
07
08
09
0A
...
LDR
ADD
STR
ADD
ADD
BRn
...
R1, R0,
R1, R1,
R1, R0,
R0, R0,
R3, R0,
LOOP
#3
#5
#30
#1
R2
et spatiale.
a[i][j]: proprit de localit spatiale.
Universit de Savoie
73
Universit de Savoie
74
Unit
Unit
de
de
calcul
calcul
Mmoire
Mmoire
Cache
Cache
Universit de Savoie
Mmoire
Mmoire
Centrale
Centrale
75
Processeur
Adresses
Mme packaging
X blocs
Contrleur
cache
Mmoire
centrale
y blocs
76
Universit de Savoie
77
Unit
Unit
de
de
Calcul
Calcul
(UC)
(UC)
X1
Mmoire
Mmoire
Centrale
Centrale
X8
X3
78
X4
X7
Unit
Unit
de
de
Calcul
Calcul
(UC)
(UC)
X1
X2
X8
X3
Mmoire
Mmoire
Centrale
Centrale
79
Avant
X4
X7
X4
X7
X1
X1
X2
X8
X3
X8
X3
Universit de Savoie
Aprs
80
Universit de Savoie
82
Bits 31 5
0
8 octets
1 bloc
Numro de bloc
Emplacement de
loctet dans le bloc
Universit de Savoie
X8
X3
83
Une tiquette :
z
Un bit de validit :
z
Universit de Savoie
84
z
z
z
z
z
Universit de Savoie
85
O placer un bloc?
Diffrentes organisations de cache
O placer une ligne de la mmoire principale dans le cache?
Compltement
associatif
Bloc 0 1 2 3 4 5 6 7
no.
Cache correspondance
direct
Bloc : 4 (12 mod 8)
Bloc 0 1 2 3 4 5 6 7
no.
Bloc
no.
1111111111222222222233
01234567890123456789012345678901
86
Cache associatif
z
@ dun octet
000000100000110000100000000000
Numro de bloc
00
Cache associatif
@ dun octet
000000100000110000100000000000 00
00
tiquette
01
10
11
Donnes
Rpertoire dtiquette
88
@ dun octet
tiquette
Index
Adresse
dans le bloc
Numro de bloc
Universit de Savoie
89
index
00000010000011000010 0000000100 00
00
tiquette
01
10
11
Donnes
000
004
3FF
90
@ dun octet
tiquette
Index
Adresse
dans le bloc
Numro de bloc
Universit de Savoie
91
tiquette
@ dun octet
tiquette Donnes
0000000001000000100000
Index
01000010 00
tiquette Donnes
tiquette Donnes
tiquette Donnes
00000000
00000001
.
.
.
01000010
.
.
11111111
92
associatif
Adresse doctet
Etiquette
z Cache
correspondance directe
Etiquette
Index
z Cache
10
Adresse doctet
11 2
10
Etiquette
31 ... ... ... ...
Index
10
Adresse doctet
9 2
10
93
z
z
z
z
z
Universit de Savoie
94
Comparateurs
de 30 bits
000000100000110000100000000000 00
00
tiquette
succs
01
10
11
Donnes
Bus de donnes
96
tiquette
index
00000010000011000010 0000000100 00
00
000
tiquette
01
10
11
Donnes
Comparateur
20 bits
004
3FF
succs
Universit de Savoie
Bus de donnes
97
z
z
z
z
z
Universit de Savoie
98
Remplacement alatoire :
z
Simplicit de l'algorithme
Simplicit de conception
Universit de Savoie
99
z
z
z
z
z
Universit de Savoie
100
X2
Mmoire centrale
X2
101
102
z 3.1
Universit de Savoie
103
Les interruptions
Problmatique & dfinition
z
Universit de Savoie
104
Les interruptions
Scrutation Vs interruption
z
Scrutation (polling)
z
Interruption
z
z
z
Universit de Savoie
105
Les interruptions
Schma
z
Universit de Savoie
106
Les interruptions
Types dinterruption
z
Interruption masquable
z
Universit de Savoie
107
Les interruptions
Configuration
z
Universit de Savoie
108
Les interruptions
Configuration
z
z
z
z
Flag dinterruption
Bit de masquage
Universit de Savoie
110
Les interruptions
Dmasquage des interruptions
z Autorisation
des interruptions
Universit de Savoie
111
Les interruptions
Les flags dinterruption
z Visualisation
Universit de Savoie
112
Les interruptions
Le rle de la pile
z
113
Les interruptions
Rle de la pile
z
Elle va servir :
z
Universit de Savoie
114
Les interruptions
Avant linterruption
PC ( Addr Prog )
SP ( Addr Pile)
Programme
principal
Registres
x
Pile
xx
Programme
dinterruption
115
Les interruptions
Arrive dune interruption
SP ( Addr Pile +1)
PC ( Addr Prog IT )
Programme
principal
Registres
x
Addr Prog
Pile
xx
Programme
dinterruption
116
Les interruptions
Arrive dune interruption : Sauvegarde contexte
PC ( Addr Prog )
SP ( Addr Pile + 3)
Programme
principal
Registres
x
x
xx
Addr Prog
Pile
xx
Programme
dinterruption
117
Les interruptions
Fin dune interruption : Restitution contexte
SP ( Addr Pile + 1)
Programme
principal
Registres
x
xx
Addr Prog
Pile
xx
Programme
dinterruption
118
Les interruptions
Fin dune interruption
PC ( Addr Prog )
SP ( Addr Pile)
Programme
principal
Registres
x
Addr Prog
Pile
xx
Programme
dinterruption
119
Les interruptions
Retour au programme principal
PC ( Addr Prog + 1 )
SP ( Addr Pile)
Programme
principal
Registres
x
Pile
xx
Programme
dinterruption
120
z 4.1
Dfinitions et problmatiques
z 4.2 Les interfaces des disques de stockages
z 4.3 Les mthodes daccs directs
z 4.4 Etude dun systme
Universit de Savoie
121
Dfinitions et problmatiques
Pourquoi les accs DMA?
122
Dfinitions et problmatiques
L'accs direct la mmoire ou DMA est un procd o des donnes
circulant de ou vers un priphrique (port de communication, disque dur)
sont transfres directement par un contrleur adapt vers la mmoire
centrale de la machine, sans intervention du microprocesseur. Le micro
interviendra seulement pour initier et conclure le transfert. La conclusion
du transfert ou la disponibilit du priphrique peuvent tre signals par
interruption.
(Source : Wikipdia)
Universit de Savoie
123
Dfinitions et problmatiques
Utilisations
z
Carte graphique
Carte son
Disque dur
Lecteur CD
Universit de Savoie
124
z 4.1
Dfinitions et problmatiques
z 4.2 Les interfaces des disques de stockages
z 4.3 Les mthodes daccs directs
z 4.4 Etude dun systme
Universit de Savoie
125
Universit de Savoie
126
Gain de place
Branchement chaud
Rsolution de problme de CEM (compatibilit
Electromagntique)
Universit de Savoie
127
z 4.1
Dfinitions et problmatiques
z 4.2 Les interfaces des disques de stockages
z 4.3 Les mthodes daccs directs
z 4.4 Etude dun systme
Universit de Savoie
129
Mode PIO
PIO : Programmed Input Output.
Permet dchanger des donnes avec la mmoire
vive. Ces transferts sont grs entirement par le
processeur.
Mode DMA
La technique du DMA (Direct Memory Access)
permet de dsengorger le processeur en permettant
chacun des priphriques d'accder directement
la mmoire.
Universit de Savoie
130
Mode PIO
Dbit (Mo/s)
Mode 0
3.3
Mode 1
5.2
Mode 2
8.3
Mode 3
11.1
Mode 4
16.7
Universit de Savoie
131
Le DMA dit "single word" permet de transmettre un mot simple chaque session de
transfert,
Le DMA dit "multi-word" permet de transmettre successivement plusieurs mots
chaque session de transfert.
Le tableau suivant liste les diffrents modes DMA et les taux de transfert associs :
Mode DMA
Dbit (Mo/s)
0 (Single word)
2.1
1 (Single word)
4.2
2 (Single word)
8.3
0 (Multiword)
4.2
1 (Multiword)
13.3
2 (Multiword)
16.7
Universit de Savoie
132
133
Fonctionnement :
z
Dbit (Mo/s)
UDMA 0
16.7
UDMA 1
25.0
UDMA 2 (Ultra-ATA/33)
33.3
UDMA 3
44.4
UDMA 4 (Ultra-ATA/66)
66.7
UDMA 5 (Ultra-ATA/100)
100
UDMA 6 (Ultra-ATA/133)
133
Universit de Savoie
134
Les vitesses de transfert (mode DMA ou Ultra DMA restent donc toujours
en troite relation avec larchitecture utilise (ATA, Serial ATA, )
Universit de Savoie
135
Libre
contrleur de disquettes
port parallle
contrleur d'accs direct la mmoire (renvoi vers DMA0)
(carte son)/ libre
(SCSI)/ libre
disponible
Universit de Savoie
136
z 4.1
Dfinitions et problmatiques
z 4.2 Les interfaces des disques de stockages
z 4.3 Les mthodes daccs directs
z 4.4 Etude dun systme
Universit de Savoie
138
139
Universit de Savoie
140
Polling (scrutation)
Interruption
DMA
Universit de Savoie
141
Polling (scrutation)
Cas du TP 2 sur DSP TMS320
Ces fonctions font parties des librairies de la carte (Board Support Library)
>> Voir C:\CCStudio_v3.1\docs\hlp\C5416DSK.HLP
Universit de Savoie
142
Interruptions
z
z
z
Ces fonctions font parties des librairies de la carte (Chip Support Library)
>> Voir aide > IRQ functions
Universit de Savoie
143
DMA
1.
2.
3.
Universit de Savoie
144
DMA
1
2
3
Universit de Savoie
145