2. Sommaire
1. Evolution de l’architecture de l’ordinateur
2. Modèle de Von Neumann
3. Mémoire centrale
4. Unité de commande
5. Unité arithmétique et logique
6. Interface d'entrée/sortie
7. Unités d’échange
3. Évolution de l’architecture de l’ordinateur
unité de calcul
• Pb : l’Homme perd bcp de temps et commet bcp d’erreurs
lorsqu’il effectue certains calculs
• Sol : calcul automatique (ordinateur).
• Schéma général d'un ordinateur
– prendre en entrée des données
Ex : les termes d’une addition
– effectuer un traitement automatique
Ex : une addition
– fournir en sortie des résultats
Ex : la somme des termes entrés
Données Résultats
Traitement
12345, 6789 19134
12345 + 6789
4. Évolution de l’architecture de l’ordinateur
unité de calcul + mémoire
• Pb : l’unité de traitement, seul, ne peut pas effectuer des
calculs nécessitant des résultats intermédiaires
• Sol : ajouter une mémoire qui permettra de stocker les
résultats intermédiaires.
Mémoire
46 , 102
Flux de résultats
intermédiaires
12 + 34 + 56 + 78
Données Résultats
Traitement
12, 34, 56, 78 12 + 34 46 + 56 102 + 78 180
5. Évolution de l’architecture de l’ordinateur
unité de calcul + mémoire + programme
• Pb : la machine ne sait toujours effectuer qu'un seul traitement.
• Sol : ajouter un « programmateur » qui exécute une suite
d’instructions (programme).
• Programme stocké sur un support (ruban, carte perforée, …)
• Exemple : Architecture utilisée par Babbage en 1834
Mémoire
Flux de données
Données Résultats
Traitement
12, +, 34, -, 56 12 + 34 - 56 -10
Flux d’instructions
Programmateur
Si '+' alors addition
Si '-' alors soustraction
…..
46
6. Évolution de l’architecture de l’ordinateur
ordinateur à programme enregistré
• Pb : le programme peut prendre des décisions selon des
résultats intermédiaires.
Exemple : résolution d’une équation du second degré
• Sol : placer le programme à proximité des traitements
intermédiaires
• Idée de John Von Neumann en 1945
Flux d’instructions
Mémoire
Données Résultats
Traitement
Flux de données
Flux d’instructions
Programmateur
x2 + 3x + 5 = 0
delta = - 11
si delta < 0 alors ….
sinon si delta ….
Pas de solution réelle
7. Modèle de Von Neumann
présentation
• 1945 : Von Neumann définit l'architecture générale d'un
ordinateur avec ces composants :
– Mémoire centrale : stocker données et programme
– Unité de commande : contrôler les opérations
– Unité de traitement : effectuer les opérations
– Interface d'entrées/sorties : communiquer avec l’extérieur
• Ces différents organes étant reliés par une unité d’échange
(bus).
8. Modèle de Von Neumann
schéma
Processeur
Mémoire
Unité de
contrôle
Unité de
traitement
Interface d’E/S
Bus
9. Mémoire principale
présentation
• La mémoire est un dispositif capable d'enregistrer une
information, de la conserver (mémoriser) et de la restituer.
• La mémoire principale contient les programmes et les données
qui sont en cours de traitement ;
• Le temps d’accès à la mémoire et sa capacité sont deux éléments
qui influent sur le temps d’exécution d’un programme
(performances d’une machine).
10. Mémoire principale
00011100
00111100
01101100
00001100
00011100
0000
0001
0002
…….
…….
……..
Contenu d’un
mot mémoire
FFFF
Une adresse
10
vue logique
• La mémoire peut être vue comme une
armoire avec des tiroirs (mots mémoires).
• Un mot mémoire est l’unité d’information
accessible en une seule opération.
• Un mot mémoire stocke une information
sur n bits. (n = 8, 16, 32 ou 64 selon le μP)
• Chaque mot mémoire possède sa propre
adresse.
• Une adresse est un numéro unique qui
permet d’accéder à un mot mémoire.
• Les adresses sont séquentielles.
• L’accès aux mots mémoires est dit
aléatoire ou direct
11. • Bus d’adresses qui véhicule l’adresse du
mot mémoire à lire ou à modifier
• Décodeur d’adresses : permet de
sélectionner un mot mémoire.
• Bus de contrôle véhicule les commandes
provenant de l’unité centrale (R/W)
• Matrice des points mémoires
• Tampon E/S : mise à niveau des infos à
lire ou à écrire
• Bus de données véhicule l’information
lue à partir de la mémoire ou l’information
à écrire dans la mémoire
Bus d’adresse
Bus de données
D
E
C
O
D
E
U
R
Tampon d’E/S
Mémoire principale
structure
Bus de contrôle
12. Unité de contrôle
présentation
• Le rôle de l'unité de contrôle est :
– de coordonner le travail de toutes les autres unités
– d'assurer la synchronisation de l'ensemble.
• Elle assure :
– la recherche (lecture) de l’instruction et des données à
partir de la mémoire ;
– le décodage de l’instruction en cours ;
– L’envoi des signaux de commande
– la préparation de l’instruction suivante.
13. Unité de contrôle
composition
L'unité de commande (UC) est constituée des éléments suivants :
• compteur ordinal (CO) qui contient l’adresse du mot mémoire
stockant la prochaine instruction à exécuter ;
• registre d'instruction (RI) qui contient le code de l'instruction
à exécuter ;
• décodeur qui détermine l'opération à exécuter à partir du
code de l'instruction ;
• séquenceur qui génère les signaux de commandes
nécessaires pour actionner et contrôler les unités participant
à l’exécution d’une instruction ;
• horloge qui distribue régulièrement des impulsions pour
synchroniser les opérations élémentaires.
15. Unité de traitement
présentation
L'unité de traitement est composée des éléments suivants :
• L'unité arithmétique et logique (notée ALU pour Arithmetical and
Logical Unit) qui assure les fonctions basiques de calcul arithmétique et
les opérations logiques (ET, OU, Ou exclusif, etc.) ;
• Le registre accumulateur (ACC), stockant les opérandes et résultats
des opérations arithmétiques et logiques ;
• Le registre d'état (PSW, Processor Status Word), permettant de
stocker des indicateurs sur l'état du système (dépassement(O),
retenue(C), signe(S), zéro(Z)).
17. Interface d’entrée/sortie
présentation
Une interface (ou contrôleur) d’entrée/sortie permet au
microprocesseur :
• de recevoir des informations ou des commandes (boutons de
commande, capteurs de températures, clavier, souris
d’ordinateur, etc.)
• d’envoyer des informations ou des commandes (commande
de moteurs, de lampes, écrans, imprimantes, etc.
• de stocker des informations de manière permanente et de les
relire (disque dur, CD/DVD, bandes magnétiques, clés
amovibles, ...)
18. Interface d’entrée/sortie
présentation (suite)
• Un contrôleur d’entrée/sortie, placé, entre le bus et le
périphérique, est chargé de :
– piloter l’opération d’entrées/sorties à la place du processeur ;
– formater les données et de les mémoriser temporairement
pour adapter leur format et la vitesse de leur transfert ;
– permettre le branchement de divers modèles de
périphériques via une interface externe standardisée
(interfaces PS/2, SATA, USB, FireWire…).
19. Interface d’entrée/sortie
composition
Un contrôleur d’entrée/sortie contient :
• une logique de commande pour piloter le périphérique ;
• une mémoire interne pour mémoriser les données en
circulation ;
• une interface externe standard pour connecter le
périphérique
21. Unité d’échange
présentation
Pb : optimiser l’échange de données entre les composants
Sol : mutualiser les voies de communication
Unité d’échange ou bus = système de câblage permettant la
circulation des données (signaux électriques) entre les autres
composants de l’architecture.
Objectif : réduire le nombre de « voies » nécessaires à la
communication des différents composants, en mutualisant les
voies de données.
22. Unité d’échange
bus de données
• Permet au microprocesseur de recevoir des informations
(données et instructions) depuis la mémoire ou les entrées
• Permet au microprocesseur d’envoyer des données à la
mémoire vive ou aux sorties
• Est bidirectionnel
23. Unité d’échange
bus de commande
• Permet au microprocesseur de sélectionner un composant.
• Permet au microprocesseur de valider la sortie du composant
accessible en lecture sélectionné.
Le composant pourra ainsi utiliser le bus de données.
• Permet au microprocesseur d’indiquer s’il veut effectuer une
opération de lecture ou d’écriture.
• Permet à une interface d’E/S d’envoyer une interruption au
microprocesseur
• Le bus de commande est bidirectionnel
24. Unité d’échange
bus d’adresses
• Permet au microprocesseur d’indiquer à la mémoire l’adresse
dans laquelle il veut lire ou écrire
• Permet au microprocesseur d’indiquer au circuit
d’entrées/sorties dans quel port de sortie il veut écrire
• Permet au microprocesseur d’indiquer au circuit
d’entrées/sorties dans quel port d’entrée il veut lire
• Il est unidirectionnel
25. Unité d’échange
décodeur d’adresses
• Pb : le bus de données étant partagé, comment sélectionner
un seul composant ?
• Solution :
– Attribuer à chaque composant une plage d’adresses
– Un décodeur d’adresses chargé de fournir les signaux de
sélection de chacun des composants.
26. Unité d’échange
schéma
Bus de contrôle
Mémoire
Unité de
contrôle
Bus de données
Interface
d’E/S
Unité de
traitement
Processeur
Bus d’adresses
Décodeur
d’adresses