Concepts et configuration de base de la commutation
Structure_Des_Ordinateurs
1. Structure des ordinateurs
Hecquet Jean-Paul
jp.hecquet@ephec.be
Structure des ordinateurs 2014-2015 1
2. Présentation
• Hecquet Jean-Paul
• Analyste programmeur
• jp.hecquet@ephec.be
• M’envoyer un email avec le sujet :
Etudiant du cours de structure des ordinateurs
• Je vous enverrai le lien pour télécharger les
notes de cours (PowerPoint)
Structure des ordinateurs 2014-2015 2
3. Cadre
• ARCHITECTURE DES SYSTÈMES
– Systèmes d’exploitation
• Michel Bernair
• 11 soirées du 3 novembre au 30 janvier
• Aspect logiciel : OS, config, command, installation,
sécurité,…
– Structure des ordinateurs
• Jean-Paul Hecquet
• 8 soirées : 7 cours + examen écrit le 20 octobre 2014
• Aspect matériel/interne : processeurs, mémoire, bus,…
Structure des ordinateurs 2014-2015 3
4. Programme
• Introduction
• Numération
• Représentation des données
• Unité centrale de traitement (CPU)
• Modes d'adressage et interruptions
• Les BUS
• Microprocesseurs
• Mémoires
Structure des ordinateurs 2014-2015 4
5. Programme
• Bandes et cartouches magnétiques
• Disques durs et contrôleurs
• Disques optiques
• Disquettes, disques amovibles et cartes
PCMCIA
• Système de gestion de fichier
• Gestion de l'espace mémoire
• Imprimante
• Ecran
Structure des ordinateurs 2014-2015 5
7. Références
• PowerPoint
STRUCTURE ET ARCHITECTURE DES SYSTEMES
Mohammed Kammachi & Michel Bernair
Année académique 2011-2012 – VERSION 1.13
Structure des ordinateurs 2014-2015 7
8. Introduction
• Qu’est-ce que l’informatique ?
- Science du traitement automatique
de l’information
Structure des ordinateurs 2014-2015 8
9. Introduction
• Qu’est-ce qu’un ordinateur ?
- Exemple : service comptable
- Reçoit note d’envoi
- Crée la facture
Entrées Traitements
Sorties
D’après Pierre-Alain Goupille, Technologie des ordinateurs et des réseaux, 9° édition DUNOD, 2010
Structure des ordinateurs 2014-2015 9
10. Introduction
• Qu’est-ce qu’un ordinateur ?
- Exemple : service comptable
Commandes
Mémoire vive
Instructions
Entrées Sorties
Unités de données
calcul
D’après Pierre-Alain Goupille, Technologie des ordinateurs et des réseaux, 9° édition DUNOD, 2010
Structure des ordinateurs 2014-2015 10
11. Introduction
• Qu’est-ce qu’un ordinateur ? Exemple : service comptable
commandes
mémoire vive
instructions
données
Entrées Sorties
unités de
calcul
mémoire morte
mémoire
auxiliaire
(fichier)
D’après Pierre-Alain Goupille, Technologie des ordinateurs et des réseaux, 9° édition DUNOD, 2010
Structure des ordinateurs 2014-2015 11
12. Introduction
• Résoudre un problème grâce à l’ordinateur
– Exemple facturation
• Lire le contenu de la note d’envoi (n° client, n° article,
quantité, …)
• Rechercher le client sur base du numéro (coordonnées)
• Pour chaque ligne de commande, rechercher l’article
sur base du numéro (libellé, prix, taux de TVA), calculer
le montant
• Calculer les montants de la facture (htva, tva et total)
• Générer le numéro de la facture, la date
• Enregistrer dans un fichier
• Imprimer, …
Structure des ordinateurs 2014-2015 12
13. Introduction
• Exemple facturation
– On a donc une suite d’opérations à exécuter par le
processeur (unité de traitement)
– Soit un programme = suite d’instructions
– Dans quel langage ?
• Le processeur ne connait que le bit (0,1)
• Il ne connait pas « Rechercher le client »
• Il faudra donc traduire cette opération en suite
d’instructions connues par le processeur dans son
langage : le langage machine
Structure des ordinateurs 2014-2015 13
14. Introduction
• Structure générale d’un ordinateur
Alain Cazes et Joëlle Delacroix, Architecture des machines et des systèmes informatiques, 3° édition DUNOD, 2008
Structure des ordinateurs 2014-2015 14
15. Introduction
• Structure générale d’un ordinateur
– Mémoire centrale
• Programme machine (suite d’instructions) + données
• Processeur ne peut exécuter une instruction que si elle
est placée en MC
• Ensemble de circuit élémentaire bits (2 états 0 ou 1)
• Découpée en cellules (mots) mémoires
(1,4,8,16,32 voir même 64 bits)
• Chaque mot est identifié par une adresse
• L’information est accessible par mot et codée en binaire
Structure des ordinateurs 2014-2015 15
16. Introduction
• Structure générale d’un ordinateur
– Mémoire centrale
• Instructions et données sont codées sur des mots
mémoires : selon l’ordinateur, elles peuvent occuper un
ou plusieurs mots mémoires
• Instructions machines propres à chaque processeur
mais toujours : code opération + données
• Codage de donnée selon son type :
– Exemple : caractère ASCII, entier conversion simple en base 2
• Opérations possibles : lecture / écriture
– En réalité 2 opérations : 1 définir l’adresse + 2 r/w
• Caractéristiques : temps d’accès, technologie et coût
Structure des ordinateurs 2014-2015 16
17. Introduction
• Structure générale d’un ordinateur
– Bus de communication
• Nappe de fils
• 1 fil = 1 signal (présent ou non) = 0 ou 1 = 1 bit
• Largeur du bus = nombre de fils
• Exemple :
– 3 fils
– permet une combinaison de 8 signaux différents
– 8 informations différentes possibles
– Et 8 fils ?
• En réalité il s’agit d’un ensemble de 3 bus
– Bus d’adresses
– Bus de données
– Bus de commandes
Structure des ordinateurs 2014-2015 17
18. Introduction
• Structure générale d’un ordinateur
– Bus d’adresses : transport d’adresses mémoire
Pour adresser un mot mémoire, on utilise un décodeur.
Pour un bus de largeur n, la sortie du décodeur renvoie 2n
sorties. Une seul sortie est positionnée à 1, les autres à 0.
Exemple :
MC de 8 mots de 16 bits
Bus de 3 fils
2ème mot adressé
Alain Cazes et Joëlle Delacroix, Architecture des machines et des systèmes informatiques, 3° édition DUNOD, 2008
Structure des ordinateurs 2014-2015 18
19. Introduction
• Structure générale d’un ordinateur
– Bus d’adresses
• Largeur du bus détermine la capacité d’adressage
• Ne pas confondre avec la taille physique de la MC
• Exercice :
– Quel est la largeur de bus pour adresser une MC de 1024
octets adressable par octet ?
– 1 bus de largeur 32 :
a) permet d’adresser 8 GBytes d’une MC adressable par byte
b) permet d’adresser 4 GBytes d’une MC adressable par octet
c) permet d’adresser 1 Gbytes de mots de 4 Bytes d’une MC
adressable par octet
Structure des ordinateurs 2014-2015 19
20. Introduction
• Structure générale d’un ordinateur
– Bus de données
• Echange de données
• Taille détermine la taille des mots mémoires accessibles
– Bus de commande
• Canal de commande utilisé par le processeur pour
piloter les composants lors de l’exécution d’un
programme
Structure des ordinateurs 2014-2015 20
21. Introduction
• Structure générale d’un ordinateur
– Bus et mémoire centrale
Alain Cazes et Joëlle Delacroix, Architecture des machines et des systèmes informatiques, 3° édition DUNOD, 2008
Structure des ordinateurs 2014-2015 21
22. Introduction
• Structure générale d’un ordinateur
– Unité centrale ou microprocesseur (CPU)
Alain Cazes et Joëlle Delacroix, Architecture des machines et des systèmes informatiques, 3° édition DUNOD, 2008
Structure des ordinateurs 2014-2015 22
23. Introduction
• Structure générale d’un ordinateur
– Processeur central (CPU)
• Exécute les instructions machines placées en MC
• Il est composé de 4 parties :
• UAL : unité arithmétique et logique
• Registres
• Unité de commande
• Bus de communication
Structure des ordinateurs 2014-2015 23
24. Introduction
• Structure générale d’un ordinateur - CPU
– Registres
• Espaces mémoires internes au processeur
• Faibles capacités, temps d’accès rapides
• Nombre et taille variables en fonction type CPU
• Contiennent adresse ou données
Structure des ordinateurs 2014-2015 24
25. Introduction
• Structure générale d’un ordinateur - CPU
– UAL
• Exécute tous les calculs
• Ensemble de circuits des circuits arithmétiques et
logiques qui permettent au CPU d’effectuer les
opérations élémentaires
• Addition, soustraction, comparaison, …
• Contient également des registres (entrées, sorties) sur
lesquels les opérations vont être effectuées
– Exemple : 3 + 4 = 7
3 va être placé dans Y1 et 4 dans Y2 via le Data Bus
Le résultat 7 sera placé dans le registre Z
Structure des ordinateurs 2014-2015 25
26. Introduction
• Structure générale d’un ordinateur - CPU
– UAL
• Registre d’état, PSW (Program StatusWord)
Contrôle de l’exécution d’un programme
Donne des informations sur l’état du CPU
Exemple
– Addition de 2 nombres dépasse la taille d’un mot en MC
Le résultat n’est donc pas représentable sur un mot mémoire
Un code « Overflow » est alors placé dans ce registre
Structure des ordinateurs 2014-2015 26
27. Introduction
• Structure générale d’un ordinateur - CPU
– Unité de commande
• Exécute les instructions machines en utilisant les
registres et l’UAL
• 2 registres pour la manipulation des instructions :
le compteur ordinal (CO) et le registre d’instruction (RI)
• Le décodeur et le séquenceur
• 2 registres pour la communication avec les autres
modules : le registre d’adresses RAD et le registre de
données RDO
Structure des ordinateurs 2014-2015 27
28. Introduction
• Structure générale d’un ordinateur – CPU
– Registre compteur ordinal CO (Process Counter)
• Registre d’adresses, contient l’adresse de la prochaine
instruction à exécuter
• Est modifié pendant l’exécution de l’instruction en
cours
– Registre d’instruction RI
• Registre de données, contient l’instruction à exécuter
– Décodeur
• Ensemble de circuits qui servent à décoder l’instruction
à exécuter et transmet au séquenceur son type
(sa nature)
Structure des ordinateurs 2014-2015 28
29. Introduction
• Structure générale d’un ordinateur – CPU
– Séquenceur
• Ensemble de circuits
• Exécute rythmé par l’horloge du CPU, une séquence de
microcommandes pour réaliser toutes les étapes de
l’instruction en cours
• Utilise les registres et l’UAL
– Registre RAD
• Registre d’adresses
• Il est connecté au bus d’adresses et permet la sélection d’un
mot mémoire via le circuit de sélection.
• L’adresse contenue dans le registre RAD est placée sur le bus
d’adresses et devient la valeur d’entrée du circuit de
sélection de la mémoire centrale qui va à partir de cette
entrée sélectionner le mot mémoire correspondant.
Structure des ordinateurs 2014-2015 29
30. Introduction
• Structure générale d’un ordinateur – CPU
– Registre RDO
• Registre de données qui permet l’échange de données
entre la MC et le CPU
• Exemple : CPU charge l’instruction
– placer le contenu du registre CO dans le registre RAD via le
bus d’adresses et le circuit de sélection
– déclencher une commande de lecture mémoire via le bus de
commandes
– recevoir dans le registre de données RDO, via le bus de
données, l’instruction
– place le contenu du registre de données RDO dans le registre
instruction RI via le bus interne du microprocesseur
Structure des ordinateurs 2014-2015 30
31. Introduction
• Structure générale d’un ordinateur – CPU
– Registre RDO
• Exemple : CPU lit une donnée en MC
– placer l’adresse de la données dans le registre RAD
– déclencher une commande de lecture mémoire
– recevoir dans le registre de données RDO
– place le contenu du registre de données RDO dans un registre
du CPU
Structure des ordinateurs 2014-2015 31
32. Introduction
• Fonctionnement d’un ordinateur
– Comment un programme machine est exécuté ?
– Instructions et données doivent être stockés en
MC
– En général, ils sont placés dans des espaces
mémoires séparés
– Lorsque le programme et ses données sont
chargés, le compteur ordinal (CO) contient
l’adresse de la première instruction du programme
à exécuter
Structure des ordinateurs 2014-2015 32
33. Introduction
• Fonctionnement d’un ordinateur
– Phases lors de l’exécution d’une instruction
• Copie du contenu du CO dans le RAD
• Commande de lecture de la MC via le bus de
commande
• Copie de l’instruction vers le RI via le bus de données et
le RDO
• Analyse de l’instruction (RI) par le décodeur qui
transmet au séquenceur sa nature (type)
• Séquenceur déclenche au rythme de l’horloge la
séquence de microcommandes pour réaliser
l’instruction
Structure des ordinateurs 2014-2015 33
34. Introduction
• Unités d’échange
– Permettent la communication entre modules du
processeur et périphériques
– Elles sont connectées au CPU et à la MC via le bus
interne, en réalité via les bus d’extensions (ISA,
USB, FireWire, Fiberchanel, PCI…)
– Elles sont en communication avec les
périphériques qu’elles pilotent
Structure des ordinateurs 2014-2015 34
35. Introduction
• Démarrage de l’ordinateur
– Mémoire morte (Read-Only Memory), accessible en
lecture seule et non volatile
– Elle contient un programme : le bootstrap
– Le disque dur contient le système d’exploitation
(Operating System), ex : Windows, Linux, Mac OS …
– Le bootstrap connait l’adresse de l’OS
– Au démarrage de l’ordinateur, exécution du bootstrap
• Chargement en MC de l’OS
• Exécution de l’OS
• Lorsque l’utilisateur démarre un programme (ex : word),
c’est l’OS qui le charge en MC et positionne le CO
Structure des ordinateurs 2014-2015 35
36. Numération
• Pourquoi une logique binaire ?
– Les systèmes informatiques s’appuient sur des
ensembles de circuits électroniques qui ne
connaissent que 2 états logiques possibles (0 et 1)
– Par conséquent toutes les informations (nombres,
caractères et instructions) ne peuvent donc être
représentées que par une combinaison de 0 et 1,
c’est-à-dire sous une forme binaire
Structure des ordinateurs 2014-2015 36
37. Numération
• Système décimal, binaire, hexadécimal
– Nous avons pris l'habitude de représenter les nombres en
utilisant dix symboles différents: 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9
– Ce système est appelé le système décimal (déci signifie dix)
– Dans un système de numération : le nombre de symboles
distincts est appelé la base du système de numération
– Un nombre est exprimable en forme polynômiale selon sa base
1978,2 = 1*103 + 9*102 + 7 *101 + 8*100 + 2*10-1
2 (1110,1) =1*2 +1*2 +1*2 + 0*2 +1*2- = (14,5)
10
3 2 1 0 1
16 (A17) = A*16 +1*16 + 7*16 =10*16 +1*16 + 7*16
2 1 0 2 1 0
Décimal
Binaire
Hexa
Structure des ordinateurs 2014-2015 37
38. Numération
• Langage binaire : numération en base 2
– Conversion décimale vers binaire par divisions
– Exemple : 135 en base 2, soit 100001112
135 / 2 = 67 reste 1
67 / 2 = 33 reste 1
33 / 2 = 16 reste 1
16 / 2 = 8 reste 0
8 / 2 = 4 reste 0
4 / 2 = 2 reste 0
2 / 2 = 1 reste 0
1 / 2 = 0 reste 1
ATTENTION : le premier reste est le bit de poids faible
Structure des ordinateurs 2014-2015 38
39. Numération
• Conversion décimale vers binaire par soustractions
• Retrancher du nombre la plus grande puissance de 2
possible : 1, 2, 4, 8, 16, 32, 64, 128, …
• Exemple : 135 en base 2, soit 100001112
De 135 on peut (1) retirer 128 reste 7
7 on ne peut pas (0) retirer 64 reste 7
7 on ne peut pas (0) retirer 32 reste 7
7 on ne peut pas (0) retirer 16 reste 7
7 on ne peut pas (0) retirer 8 reste 7
7 on peut (1) retirer 4 reste 3
3 on peut (1) retirer 2 reste 2
1 on peut (1) retirer 1 reste 1
ATTENTION : le sens est inversé, le premier résultat est le bit de poids fort
Structure des ordinateurs 2014-2015 39
40. Numération
• Système hexadécimal : base 16
– chiffre 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
– avec A = 10, B = 11, C = 12, D = 13, E = 14, F = 15
– Conversion en base 16, division successive
– Exemple convertir 728 soit 0x2D8
728 : 16 = 45 reste 8
45 : 16 = 2 reste 13
2 : 16 = 0 reste 2
Structure des ordinateurs 2014-2015 40
41. Numération
• Conversion directe binaire/hexadécimal
– Chaque chiffre en hexa représente 4 bits
• 1510 soit 0xF = 11112
• 1410 soit 0xE = 11102
• …
• 210 soit 0x2 = 00102
• 110 soit 0x1 = 00012
– On peut donc décomposer le nombre binaire en blocs
de 4 bits en partant de la droite.
• 73210 donne en binaire 1011011100
0010 1101 1100
décimal 2 13 12
hexa 2 D C
Structure des ordinateurs 2014-2015 41
42. Numération
• Conversion directe binaire/hexadécimal
– Chaque chiffre en hexa représente 4 bits
– Méthode inverse pour la conversion en binaire
– Exemple 0x1AB
1 A B
0001 1010 1011
Structure des ordinateurs 2014-2015 42
43. Numération
• Opérations binaires : comme en système décimal
– Addition
• 0 + 0 = 0
• 0 + 1 = 1
• 1 + 0 = 1
• 1 + 1 = 0 avec une retenue de 1
– Soustraction
• 0 – 0 = 0
• 0 – 1 = 1 avec une retenue de 1
• 1 – 1 = 0 et 1 – 0 = 1
– Multiplication
• 0 * 0 = 0
• 0 * 1 = 0
• 1 * 0 = 0
• 1 * 1 = 1
Structure des ordinateurs 2014-2015 43
44. • Exercices
Numération
– Convertir en binaire les nombres 39710, 13310 et 11010
puis en décimal les nombres 1012, 01012 et 1101102 et
vérifier en convertissant pour revenir à la base
d’origine
– Effectuer les opérations suivantes et vérifier les
résultats en procédant aux conversions nécessaires.
a) 1100 + 1000 =
b) 1001 + 1011 =
c) 1100 – 1000 =
d) 1000 – 101 =
e) 1 + 1 + 1 + 1 =
Structure des ordinateurs 2014-2015 44
45. • Exercices
Numération
– Convertir en hexa 319710, 21910 et 65010
– Convertir en décimal 0x3AE, 0xFFF et 0x6AF
– Convertir en binaire 0xF0A et 0xC01
Structure des ordinateurs 2014-2015 45
46. Représentation des données
• Représentation des entiers positifs
– Conversion en base 2
• Sur 8 bits, on a un intervalle en base 10 [0,256]
• 8 bits ==> 28 valeurs possibles
• Représentation des entiers signés
– Convention de la valeur signée
• Le bit de poids fort est le bit de signe
• Si sa valeur est 0, alors le nombre codé est positif
• Si sa valeur est 1, alors le nombre codé est négatif
• Sur 8 bits, l’intervalle en base 10 est modifié
[- 127, + 127]
Structure des ordinateurs 2014-2015 46
47. Représentation des données
• Représentation des entiers signés
– Convention du complément à 2
• Le complément à 2 d’un nombre binaire N
= 1 + complément à 1 de N.
• Le complément à 1 s’obtient en inversant la valeur de
chacun des bits de ce nombre.
• Exemple
100010012
complément à 1 011101102 inversion des bits
+ 12 ajout de 1
complément à 2 011101112
Structure des ordinateurs 2014-2015 47
48. Représentation des données
• Représentation des entiers signés
– Convention du complément à 2
• L’entier négatif sera donc le complément à 2 du positif
• Le bit de poids fort est également interprété comme bit
de signe
• Ce système est utilisé pour faciliter les calculs
• La réalisation d’une soustraction ne nécessite pas de
circuit particulier. Soustraire un nombre A à un autre
nombre B équivaut à additionner au nombre B le
complément à 2 du nombre A
Structure des ordinateurs 2014-2015 48
49. Représentation des données
• A suivre
– Notion de carry et d’overflow
– Représentation des nombres flottants
– Représentation des caractères
Structure des ordinateurs 2014-2015 49
50. Unité centrale de traitement
• Schéma
Unité centrale Mémoire centrale
Instructions
Données
Unité de Commande
Unité de Calcul
Unité d’échange Périphériques
Structure des ordinateurs 2014-2015 50
51. Unité centrale de traitement
• Unité centrale (UC)
– C’est l’unité de traitement : microprocesseur
– Composée de 2 éléments
– Unité de calcul (UAL)
• Unité arithmétique et logique
• Opérations arithmétiques : additions, multiplications,...
• Traitements logiques : comparaisons
– Unité de commande
• Gestion des programmes en cours d’exécution
• Instruction à exécuter, pilote UAL, MC, périph. (via unité
d’échange)
• Compteur ordinal : instruction suivante
Structure des ordinateurs 2014-2015 51
52. Unité centrale de traitement
• Mémoire centrale (MC)
– Cellules de même taille : mot mémoire
– Instructions ou données
– 8, 16, 32 ou 64 bits …
– Adresses
• Unité d’échange
– Gestion des transferts entre UC et périphériques
• Périphériques
– Ecran, clavier, disque, …
Structure des ordinateurs 2014-2015 52
53. Unité centrale de traitement
• Un programme est constitué d’un ensemble
d’instructions qui effectuent des traitements avec
des données
• Qu’est-ce qu’une instruction ?
Unité centrale Mémoire centrale
Instructions
Données
Unité de Commande
UAL
Unité d’échange Périphériques
Structure des ordinateurs 2014-2015 53
54. Unité centrale de traitement
• Instruction
– Opération élémentaire :
c = a + b; // langage C
– Action + Données
– Zone opération + Zone adresse
– Zone opération
• Quelle opération à exécuter ?
• Taille détermine le jeu d’instruction
• Code Opération : identifie l’opération
• Code Complémentaire :
– Exemple : addition zone x à x, addition zone z à x
Structure des ordinateurs 2014-2015 54
55. Unité centrale de traitement
• Instruction
– Zone adresse
• Quelle donnée ?
• Pas la donnée elle-même, mais son adresse
• Emplacement de la cellule dans la MC
• Instruction a souvent besoin de 2 données, donc 2
adresses (exemple : addition de A avec B)
Utilisation d’un registre particulier de l’UAL :
accumulateur
Structure des ordinateurs 2014-2015 55
56. Unité centrale de traitement
• Unité de commande
– Gestion du déroulement du programme
– Décoder l’instruction en cours, lancer les ordres
(microcommandes), charger l’instruction suivante
Unité centrale Mémoire centrale
Instructions
Données
Unité de Commande
UAL
Unité d’échange Périphériques
Structure des ordinateurs 2014-2015 56
57. Unité centrale de traitement
• Unité de commande
Microcommandes
Registre Séquenceur
d’état
Compteur ordinal
Décodeur
+ 1
Code opération Zone adresse
Instruction
Registre d’instruction
Structure des ordinateurs 2014-2015 57
58. Unité centrale de traitement
• Unité de commande
– Registre d’instruction : instruction à traiter
– Séquenceur
• Emet les microcommandes
• Selon le type d’instruction (quoi ?, à qui ?)
• Dans un ordre chronologique précis
• Cadencé par l’horloge interne
• Facteur de vitesse (fréquence)
Structure des ordinateurs 2014-2015 58
59. Unité centrale de traitement
• Unité de commande
– Registre d’état
• Flag (indicateur) état d’autres éléments/informations
• Exemple : addition en cours, retenue addition
précédente
• Exemple
– Z : Zéro : résultat d’une opération est nul
– C : Carry : retenue, résultat incomplet
ex : addition de nombre de 64 bits sur un processeur 32 bits
– N : Négatif : résultat négatif
– O : Overflow : taille du processeur top petite pour stocker
résultat
Structure des ordinateurs 2014-2015 59
60. Unité centrale de traitement
• Unité de commande
– Compteur ordinal (Program Counter ou
Instruction Pointer)
• Lorsque le séquenceur a terminé, il faut charger dans le
registre d’instruction la prochaine instruction
• Il contient l’adresse de la prochaine instruction
• Etapes
– Au lancement du programme, chargement dans le compteur
ordinal de l’adresse de la 1ère instruction du programme
– Chargement de l’instruction dans le registre d’instruction de la
1ère instruction
– Chargement dans le compteur ordinal de l’adresse de la
prochaine instruction du programme
Structure des ordinateurs 2014-2015 60
61. Unité centrale de traitement
• Unité arithmétique et logique (UAL)
– Centre de calcul (circuits logiques additionneurs,
multiplicateurs, comparateurs, …)
– Données en entrées à traiter, résultat stocké dans registre
accumulateur
Unité centrale Mémoire centrale
Instructions
Données
Unité de Commande
UAL
Unité d’échange Périphériques
Structure des ordinateurs 2014-2015 61
62. Unité centrale de traitement
• Unité de commande + UAL = unité centrale ou
CPU (Central Processor Unit)
– Acquérir, décoder les instructions d’un
programme
– Faire exécuter par l’UAL les opérations
– Gérer les adresses des instructions du programme
(compteur ordinal)
– Mémoriser l’état interne de la machine (registre
d’état)
– Fournir les signaux de commandes et de contrôle
Structure des ordinateurs 2014-2015 62
63. Unité centrale de traitement
• Les bus
– Communications CPU internes et externes
– Données, adresses et commandes
CPU Mémoire centrale
Instructions
Données
Unité de Commande
UAL
Unité d’échange Périphériques
Structure des ordinateurs 2014-2015 63
64. Unité centrale de traitement
• Les bus
– Bus de données (Data Bus)
• Transfert de données (instructions ou données)
• 8, 16, 32 ou 64 bits circulent en parallèle (en même temps) :
largeur du bus
• Bidirectionnel
– Bus d’adresses (Address Bus)
• Transfert d’adresses
• La largeur du bus détermine la taille de la mémoire
adressable par le CPU
• Unidirectionnel : CPU vers mémoire
– Bus de commandes (Control Bus)
• Envoi des microcommandes
Structure des ordinateurs 2014-2015 64
65. Unité centrale de traitement
• Fonctionnement
Pour chaque instruction d’un programme,
on distingue 2 phases principales :
– Recherche et chargement de l’instruction (fetch)
– Traitement (exécution) de l’instruction
Structure des ordinateurs 2014-2015 65
66. Unité centrale de traitement
• Fonctionnement : Recherche de
l’instruction (fetch)
– Le programme est chargé en mémoire
centrale
– Compteur ordinal (PC) contient l’adresse de la
1ère instruction
– Le séquenceur génère les microcommandes
pour placer la 1ère instruction dans le registre
d’instruction
– Exemple programme chargé à l’adresse FB 00
Structure des ordinateurs 2014-2015 66
67. Unité centrale de traitement
• Fonctionnement : Recherche de l’instruction (fetch)
1.Copier le contenu du PC sur l’Adress Bus
2.Transmission au registre adresse MC
3.Copie du contenu de la MC dans buffer
CPU
MC
3A F8 00
C6 F8 10
32 F8 20
Adresses
FB 00
FB 03
FB 04
3
3A F8 00
FB 00
Registre
PC
FB 00
1
Adress Bus
2
Séquenceur adresse MC
Décodeur
Registre
d’instruction
Accumulateur
UAL
Buffer
Data Bus
Cd. opér. Zone adr.
Structure des ordinateurs 2014-2015 67
68. Unité centrale de traitement
• Fonctionnement : Recherche de l’instruction (fetch)
4.Copie buffer sur Data Bus
5.Copie du Data Bus vers le registre d’instruction
6.Incrémentation du compteur ordinal
CPU
MC
3A F8 00
C6 F8 10
32 F8 20
Adresses
FB 00
FB 03
FB 06
3A F8 00
FB 00
Registre
PC
FB 03
6
Adress Bus
Séquenceur adresse MC
Décodeur
Registre
3A F8 00 d’instruction
Accumulateur
UAL
Buffer
Cd. opér. Zone adr. 4
Data Bus
5
Structure des ordinateurs 2014-2015 68
69. Unité centrale de traitement
• Fonctionnement : Traitement de l’instruction
– Séquenceur et décodeur vont analyser la zone
d’opération et générer les microcommandes
nécessaires
– Exemple de programme chargé à l’adresse FB00 :
• 3A F8 00 = LOAD A,(F800)
• charger le registre accumulateur avec le contenu de
l’adresse F8 00 de la MC
Structure des ordinateurs 2014-2015 69
70. Unité centrale de traitement
• Fonctionnement : Traitement de l’instruction
1. Copie du contenu de la zone adresse du registre d’instruction
2. Transmission au registre adresse MC
3. Copie du contenu de la MC dans buffer
CPU
sur Adress Bus
MC
00 00 08
3A F8 00
C6 F8 10
32 F8 20
Adresses
F8 00
……….
FB 00
FB 03
FB 06
3
00 00 08
F8 00
Registre
PC
FB 03
Adress Bus
2
Séquenceur adresse MC
Décodeur
1
Reg. Instr.
3A F8 00
Accumulateur
UAL
Buffer
Data Bus
Cd. opér. Zone adr.
Structure des ordinateurs 2014-2015 70
71. Unité centrale de traitement
• Fonctionnement : Traitement de l’instruction
4. Copie buffer sur Data Bus
5. Copie du Data Bus vers entrée A de l’UAL
6. La donnée passe de l’entrée A vers la sortie sans opération
7. Chargement registre accumulateur
CPU
MC
00 00 08
3A F8 00
C6 F8 10
32 F8 20
Adresses
F8 00
……….
FB 00
FB 03
FB 06
00 00 08
F8 00
Registre
PC
FB 03
Adress Bus
Séquenceur adresse MC
Décodeur
3A F8 00 Reg. Instr.
Accumulateur
00 00 08
6
UAL
Buffer
Cd. opér. Zone adr. 4 5
Data Bus
Structure des ordinateurs 2014-2015 71
72. Unité centrale de traitement
• Fonctionnement
– Exemple : le programme chargé doit effectuer
l’addition de 2 nombres stockés aux adresses F800
et F810, le résultat doit être stocké à l’adresse
F820
– 3 instructions nécessaires
• 3A F8 00 = LOAD A,(F800)
– charger l’accumulateur avec le contenu de l’adresse F800
• C6 F8 10 = ADD A,(F810)
– ajouter le contenu de l’adresse F810 à l’accumulateur
• 32 F8 20 = LOAD (F820),A
– charger à l’adresse F820 le contenu de A
Structure des ordinateurs 2014-2015 72
73. Unité centrale de traitement
• Fonctionnement : C6 F8 10 = ADD A,(F810)
CPU
MC
00 00 08
00 00 04
3A F8 00
C6 F8 10
32 F8 20
Adresses
F8 00
…
F8 10
…
F8 20
…
FB 00
FB 03
FB 06
00 00 08
F8 00
Registre
PC
FB 03
Adress Bus
Séquenceur adresse MC
Décodeur
3A F8 00 Reg. Instr.
Accumulateur
00 00 08
UAL
Buffer
Data Bus
Cd. opér. Zone adr.
Structure des ordinateurs 2014-2015 73
74. Unité centrale de traitement
• Fonctionnement : C6 F8 10 = ADD A,(F810)
– Etat après le Fetch
CPU
MC
00 00 08
00 00 04
3A F8 00
C6 F8 10
32 F8 20
Adresses
F8 00
…
F8 10
…
F8 20
…
FB 00
FB 03
FB 06
CC66 FF88 1100
FFBB 0033
Registre
PC
FFBB 0066
Adress Bus
Séquenceur adresse MC
Décodeur
CC66 FF88 1100 Reg. Instr.
Accumulateur
00 00 08
UAL
Buffer
Data Bus
Cd. opér. Zone adr.
Structure des ordinateurs 2014-2015 74
75. Unité centrale de traitement
• Fonctionnement : C6 F8 10 = ADD A,(F810)
– Etat après le traitement
CPU
MC
00 00 08
00 00 04
3A F8 00
C6 F8 10
32 F8 20
Adresses
F8 00
…
F8 10
…
F8 20
…
FB 00
FB 03
FB 06
0000 0000 0044
FF88 1100
Registre
PC
FB 06
Adress Bus
Séquenceur adresse MC
Décodeur
C6 F8 10 Reg. Instr.
Accumulateur
0000 0000 00CC
UAL
Buffer
Data Bus
Cd. opér. Zone adr.
Structure des ordinateurs 2014-2015 75
76. Unité centrale de traitement
• Fonctionnement : 32 F8 20 = LOAD (F820),A
CPU
MC
00 00 08
00 00 04
3A F8 00
C6 F8 10
32 F8 20
Adresses
F8 00
…
F8 10
…
F8 20
…
FB 00
FB 03
FB 06
00 00 04
F8 10
Registre
PC
FB 06
Adress Bus
Séquenceur adresse MC
Décodeur
C6 F8 10 Reg. Instr.
Accumulateur
00 00 0C
UAL
Buffer
Data Bus
Cd. opér. Zone adr.
Structure des ordinateurs 2014-2015 76
77. Unité centrale de traitement
• Fonctionnement : 32 F8 20 = LOAD (F820),A
– Etat après le fetch
CPU
MC
00 00 08
00 00 04
3A F8 00
C6 F8 10
32 F8 20
Adresses
F8 00
…
F8 10
…
F8 20
…
FB 00
FB 03
FB 06
3322 FF88 2200
FFBB 0066
Registre
PC
Adress Bus
Séquenceur adresse MC
Décodeur
3322 FF88 2200 Reg. Instr.
Accumulateur
00 00 0C
UAL
Buffer
Data Bus
Cd. opér. Zone adr.
Structure des ordinateurs 2014-2015 77
78. Unité centrale de traitement
• Fonctionnement : 32 F8 20 = LOAD (F820),A
– Etat après le traitement
CPU
MC
00 00 08
00 00 04
00 00 0C
3A F8 00
C6 F8 10
32 F8 20
Adresses
F8 00
…
F8 10
…
F8 20
…
FB 00
FB 03
FB 06
0000 0000 00CC
FF88 2200
Registre
PC
Adress Bus
Séquenceur adresse MC
Décodeur
32 F8 20 Reg. Instr.
Accumulateur
00 00 0C
UAL
Buffer
Data Bus
Cd. opér. Zone adr.
Structure des ordinateurs 2014-2015 78
79. Unité centrale de traitement
• Exercice
– Le programme chargé doit effectuer la
soustraction de 9 (F810) moins 3 (F820), le
résultat doit être stocké à l’adresse F820
– 3 instructions nécessaires
• 3A F8 10 = LOAD A,(F810)
– charger l’accumulateur avec le contenu de l’adresse F810
• D6 F8 20 = SUB A,(F820)
– soustraire le contenu de l’adresse F820 à l’accumulateur
• 32 F8 20 = LOAD (F820),A
– charger à l’adresse F820 le contenu de A
Structure des ordinateurs 2014-2015 79