Chemin de données

publicité
Chemin de données
Titre
Chemin de données
MEMOIRE
ensemble de
registres
+
unité de
calcul
DONNEES
registre compteur PC
PROGRAMME
registre instruction IR
unité de contrôle
Les composants qui permettent le stockage,
le transfert et la transformation des données.
2. 1
Chemin de données
1. Les composantsTitre
du chemin de données
unité
centrale
RAM
Traitement des
données
mémoire
centrale
Stockage des
programmes et
des données
SYSTEM BUS
CPU
Chemin de données
2. 2
Chemin de données
Titre
Le chemin de données :
• Les composants qui traitent les données
– Mémoire centrale : instructions et données des programmes
– Registres internes :
• Registres généraux : données temporaires pour les calculs
• Registres de contrôle et d'état : informations de contrôle
nécessaires à l'exécution du programme
– Unités de calcul
– Bus
• La façon dont ces composants sont interconnectés
2. 3
Registres entier Registres flottant
Calcul
entier 1
Calcul
float 1
Calcul
entier 2
Calcul
float 2
Mémoire données
Extraction des
instructions
Cas
général
Titre
Cache données
Cache instructions
Mémoire instructions
Chemin de données
Ordonnancement des tâches
2. 4
Chemin de données
Cas
étudié
Titre
MEMOIRE
ensemble de
registres
+
unité de
calcul
unité de contrôle
2. 5
DONNEES
program counter
PC
PROGRAMME
instruction register
IR
Chemin de données
Titre
2. Les
registres
Les registres sont internes au CPU; ils peuvent être lus/écrits en un cycle
processeur (fréquence du CPU)
·
Registres généraux : pour les calculs intermédiaires, utilisés comme
variables des programmes assembleur
·
Registres de contrôle ou d'état : ont un rôle bien spécifique, géré par la partie
contrôle
2. 6
Chemin de données
2.1. Registres généraux
Titre
Utilisés par le programmeur / compilateur pour stocker des données ou des
adresses mémoire
–
dans une mémoire statique à accès rapide et petite capacité
–
chaque registre peut être lu/écrit en un cycle processeur (fréquence du CPU)
–
généraux mais liés à leur type (entier, flottant)
Combien de registres ?
–
beaucoup -> moins d’accès mémoire
–
MAIS codage du numéro de registre sur plus de bits (-> code binaire plus gros)
en général entre 16 et 64 registres (16 MC68000, 136 SPARC, 16 ARM)
De quelle taille ?
–
Registres d’adresse : taille des adresses mémoire
–
Registres de données : taille du bus interne (et entrée des unités de calcul)
2. 7
Chemin de données
Titre
2.2. Registres de contrôle et d'état
Registres du chemin de données non modifiables par le programmeur (sauf
par instructions spécialisées);
servent à gérer le contrôle de l’exécuton du programme
●
PC: Program Counter
adresse de l'instruction à exécuter
●
IR: Instruction Register
premier mot de l'instruction : contient la description de l’instruction
●
SR: Status Register
code condition: informations sur le résultat des calculs (C retenue, Z résultat nul, N
résultat négatif, O overflow, ...)
+ masque d'interruption
●
SP: Stack Pointer
adresse de la pile
●
registres internes en entrée/sortie des unités de calcul et en entrée/sortie mémoire
(stockage intermédiaire de données)
2. 8
Chemin de données
Titre
©W. Stallings « Computer Organization and Architecture »
2. 9
Chemin de données
R0
R1
R2
R3
R4
R5
R6
R7
Titre
•
•
•
•
•
•
16 Registres de 32 bits
R0-R10, R12 : généraux
R11 (fp) Frame pointer
R13 (sp) Stack pointer
R14 (lr) Link register
R15 (pc) Program counter
R8
R9
R10
R11
• Current Program Status Register
R12
31
28
R13
N Z C V
27
8
Pas utilisés
7 6
5
4
0
IF
T
Mode
R14
R15
Les registres du processeur ARM © O. Meste « Cours assembleur ARM »
2. 10
Chemin de données
3. Unités
de calcul
Titre
Arithmetic and Logic Unit (ALU)
Circuit permettant de réaliser ≠calculs selon le code fourni par la partie contrôle
e1
e2
M
f1
f2
f3
C-out
O
N
Z
c-in
S
Données en sortie
2. 11
Contrôle en sortie
Contrôle en entrée
Données en entrée
Stockés dans
le registre SR
Chemin de données
Titre
Exemple PROCSI :
Mf1f2f3 = 1101
e1 = 0110000000110000
e2 = 0011111011110000
addition
24624
16112
Résultats :
- données : 1001111100100000
- contrôle :
C-out = 0
O=1
N=1
Z=0
2. 12
page 1
- 24800
pas de retenue
addition de 2 nb >0, résultat <0
le résultat est négatif
le résultat n'est pas nul
Chemin de données
Titre
Différentes unités de calcul en fonction du type de données:
●
entiers : codés en complément à 2
A=-2
●
n-1
n-2
a n-1 + i=0 ai 2i
flottants :
©W. Stallings « Computer Organization and Architecture »
2. 13
Chemin de données
Titre
4. Mémoire centrale
CPU
k bits d’adresse
n bits de données
unité mémoire
2k mots
n bits par mots
contrôle
–
Mémoire dynamique à accès lent et grande capacité DRAM
–
Le temps de cycle mémoire est plus grand que le temps de cycle processeur
→ mot mémoire centrale lu / écrit en plusieurs cycles processeur
Pentium 4 : CPU ~ 3 Ghz, system bus 400 Mhz
2. 14
Chemin de données
Titre
Le processeur et sa mémoire communiquent selon un protocole :
• modèle synchrone
– le processeur met sur les broches les signaux pour activer un accès mémoire
– au bout de x tops il sait que la donnée est disponible ou écrite.
• modèle asynchrone (contrôlé)
– le processeur demande un accès mémoire
– la mémoire signale que l'accès est fini
– le processeur scrute les signaux mémoire pour savoir si l'accès mémoire est
terminé
2. 15
Chemin de données
Titre
Modèle synchrone
Lecture
●
positionner l’adresse de l’accès
●
positionner les signaux de contrôle pour activer une lecture
→ après x tops d’horloge processeur, la donnée est disponible
Ecriture
●
positionner l’adresse de l’accès
●
positionner la donnée à écrire
●
positionner les signaux de contrôle pour activer une écriture
→ après x tops d’horloge processeur, la donnée a été écrite en mémoire
Notation : MEM[ad] le mot de la mémoire MEM à l’adresse ad
2. 16
Chemin de données
Titre
Exemple PROCSI
Address_bus
Data_bus
as
page 2
ds
Zone instructions
Zone données
r/w
216 - 1
215
215 - 1
0
Lecture
Ecriture
address
address
data
data
r/w
r/w
as
as
ds
ds
H
H
T1
T2
T3 T4
T1
donnée disponible
2. 17
T2
T3 T4
donnée écrite
Chemin de données
Titre
5. Le chemin de données étudié : PROCSI
page 3
RD1
RD2
R/Wreg
REG
SR
SP
ROP
CSreg
3
PC
IR
BUS
Registres spécialisés :
PC, IR, SR, SP
RD1 et RD2 : pour les calculs
RAD : adresse de l'accès mémoire
ROP : registre opérande
RAD
ADDRESS_BUS
REG : 8 registres généraux
DATA_BUS
16
AS
MEMOIRE
instructions
2. 18
DS
données
R/W
contrôle
Téléchargement