ARCHITECTURE DES SYSTEMES - richard.grisel.free.frrichard.grisel.free.fr/1-Cours_archi_up.pdf ·...
Click here to load reader
Transcript of ARCHITECTURE DES SYSTEMES - richard.grisel.free.frrichard.grisel.free.fr/1-Cours_archi_up.pdf ·...
- 1R. Grisel
ARCHITECTURE DES SYSTEMES
(A MICROPROCESSEURS)
- 2R. Grisel
Références bibliographiques
Architecture des ordinateursG.BLANCHET B.DUPOUYMasson
Structure des ordinateursERNEST HIRSH SERGE WENDLINArmand Colin
Architecture de l'ordinateurANDREW TANENBAUMInter editions
Distributed operating systemsANDREW TANENBAUMPrintice Hall.
Architecture des ordinateursJ.L.HENNESSY D.A.PATTERSONMc Graw-Hill
Pentium et compagnieHAN.P. MESSMERAdditson-Wesley
Processeur et CoprocesseurROBERT HUMMELDunod
Le microprocesseur et son environnement,ROBERT DUBOISDunod
- 3R. Grisel
HistoriqueAnnées 1940 : apparition du transistorAnnées 1950 : sortie du premier circuit intégré (Texas Instrument)Année 1968 : Création de INTEL (INTegrated Electronics)Année 1971 : Création du 4004 (processeur 4 bits)Année 1972 : Création du 8008 (processeur 8 bits)Année 1974 : Création du 8080 (processeur 8 bits)Année 1976 : Création du 8085 (processeur 8 bits)Année 1978 : Création du 8086 (processeur 16 bits)Année 1978 : Création du 8088 (processeur 8 bits)Année 1979 : Création du 80186 (processeur 16 bits)Année 1981 : Association Intel/IBM (micro-ordinateur PC)Année 1983 : Création du 80286 (processeur 16 bits)Année 1985 : Création du 80386 (processeur 32 bits)Année 1989 : Création du 80486 (processeur 32 bits)Année 1991 : Création du pentium (processeur 64 bits)Année 1994 : Création du pentium pro (processeur 64 bits)Actuel (Core 2 Duo 2,4 GHz)A suivre :s a venir : Architecture mixte, processeur asynchrone, VLIW, ..
2250
29000
100 M
- 4R. Grisel
Machine VON NEUMAN
- Jeu d'instructions propre (défini lors de la construction de la machine).
- Programme = suite de traitement, disponibles sur la machine considérée.
- Programme et données peuvent être stockés dans la mémoire du système.
- Certaines instructions autorisent des ruptures de séquence conditionnelles.
Processeur MémoireCanald'échange
PRINCIPE
CARACTERISTIQUES
- 5R. Grisel
Architecture générale d ’un ordinateur
Unitéd'entrée
Unité desortie
Mémoire
Processeur(UCT)BUS BUS
BUS
- 6R. Grisel
Architecture de l'ordinateur : vue externeDéfinition
- Interface entre la machine physique et les logiciels- Structure et fonctionnalité vues par le programmeur en assembleur
Informaticiens des systèmes- Compilateurs- Assembleurs- Interpréteurs
Principaux éléments- Organisation de la mémoire- Type et structure des données (représentation et codage)- Format d'instructions- Modes d'adressage- Conditions d'exceptions et d'interruptions
- 7R. Grisel
Architecture de l'ordinateur : vue interne
Définition- Structure et fonctionnalité des principaux composants- Manière dont sont organisés les différents composants
Concepteurs et certains utilisateurs
Architecture externe
Architecture 1Niveau registres
Niveau portes logiquesNiveau transistors
Architecture n
- 8R. Grisel
Architecture de l'ordinateur : vue 'micro'
Définition- Partie de l'architecture interne- Structure et fonctionnalité vues par le microprogrammeur- Interface entre le 'hardware' et le 'firmware'
Microprogrammeurs : systèmes et applications
Architecture externe
Architecture nArchitecture 1
MicroArchitecture 1
- 9R. Grisel
Eléments fonctionnels de baseEléments combinatoires
- Multiplexeurs- Codeurs et décodeurs- Comparateurs
Eléments séquentiels- Registres
- bascules- registres à décalage- registres universels
- Compteurs- synchrone ou asynchrones- binaires ou BCD
Eléments arithmétiques et logiques- Additionneurs et soustracteurs- Multiplieurs et diviseurs- Opérateurs arithmétiques et logiques, …etc.
Plus l'horloge
- 10R. Grisel
ARCHITECTURE GENERALE D’UN
MICROPROCESSEUR
- 11R. Grisel
CVNHZ
R-décalage
Accumulateur
Commande
UAL
Registre 0
Registre N
SP PC
Bus d'adresses
Bus de données
Indicateurs
Bus de commandes
Architecture d ’un microprocesseur
- 12R. Grisel
L ’unité arithmétique et logique ( UAL )Effectue les opérations arithmétiques et logiques portant sur deux
nombres au maximum ainsi que les opérations de décalage.
ET, OU, XOR
Additionneur
Soustracteur
Inverseurs
Temporaire 1
Temporaire 2
Accumulateur
- 13R. Grisel
L ’unité de commande- Assure le bon ordre du déroulement des séquences du programme,- Elabore les signaux de synchronisation, - Gère les ordres échangés par l’UAL, les entrées, les sorties, et la mémoire,- Assure la recherche en mémoire, le décodage et l’exécution des instructions.
UAL
E / S Unité de MémoireBus de
commandeBus de
commandecommande
Câblée ou
micro-programmée
- 14R. Grisel
L’accumulateurC’est un registre particulier placé à l’une des entrées de l’UAL.
La plupart des instructions arithmétiques et logiques utilisent le contenu de l’accumulateur comme premier opérande. Il peut être référencé en entrée et en sortie.
R-décalage
UAL
AccumulateurOpérande 2Opérande 2
- 15R. Grisel
Les indicateurs d ’étatsCaractérisent les états de fonctionnement du microprocesseur. Ils
interviennent en particulier pour les branchement conditionnels.
P IH Z - -C N
C : retenue arithmétiqueN ou S : signeH ou AC : retenue intermédiaireZ : zéroP : ParitéI : interruption
Remarque : La plupart des instructions exécutées par le processeur modifieront l’ensemble ou une partie des indicateurs d’état. Aussi, il est toujours important de se reporter au tableau fourni par le fabricant sur lequel figurent les bits d’état qui seront modifiés par les instructions.
- 16R. Grisel
Les registres d ’adressesIls sont destinés au stockage des adresses. Leurs caractéristiques
essentielles est qu’ils sont connectés au bus des adresses. Tous les microprocesseur comportent au moins un compteur ordinal. La plupart d’entre eux contiennent plusieurs.
UAL
Accumulateur
Bus d'adresse
MUXRegistre d'indexPointeur de pile
P-instruction
Reg
istr
e d'
adre
sse
MUX
Bus de données
- 17R. Grisel
Les registres spéciaux : la pileC’est une structure LIFO implantée dans la mémoire RAM externe.
Bus de données
PUSH POP
Pointeur de pile
Base de la pile POP
PUSH
Fond de la pileIndicateur "pile pleine"
- 18R. Grisel
Signaux portés par le bus de commandeINTNMIINTAINTEREADWRITEREADYWAITVD/VAHOLDHOLD ARESCLKHLTBAPO, RSTSENSE
InterruptionInterruption non-masquableInterruption reconnueValidité de l'interruption
Mémoire ou E/S
A synchroniser avec la mémoireCPU en attenteDonnées ou adresses validesAccès direct mémoireMaintien reconnuResetHorlogeArrêt du CPUBus disponibleMise en marcheEntrée direct (série)
CPU
- 19R. Grisel
Chaque instruction est exécutée en une séquence de trois phases :
- la phase Recherche (fetch),
- la phase Décodage (decode),
- la phase Exécution (execute).
Auxquelles, il faut aussi ajouter :
- la recherche des opérandes,
- la mémorisation des résultats.
Exécution d ’une instruction
- 20R. Grisel
INST
Décodeur
2304
INST
Décodeur
adresses
+1
PC
0n0n
0
Mémoire
IR
Lecture
MPU
2304
données
Exécution d ’une instruction
- 21R. Grisel
Exemple : le 8080 de INTEL
UAL
MUX
ACT
R-TEMP
ETATS
TAM
PON
R-I
DEC
CONTROLEURSEQUENCEUR
W
B C
D E
H
SP
PC
Z
L
Données
Adresse
Commande
+/- 1
ACC
TAM
PON
- 22R. Grisel
T1 T2 T3 T4 T5
Q1
Q2
SYNC
Cycle machine du 8080
L ’exécution d ’une instruction nécessite entre un et cinq cycle machines (accès mémoire). Chaque cycle machine correspond à trois, quatre ou cinq cycle horloge.
- 23R. Grisel
Formats des instructions(codage horizontal)
Code opérationnel
Données /adresses
Adresses
Exemples : MOV r1, r2, ADI data , JMP addr
- 24R. Grisel
Instruction à un octet
MOV r1, r2
0 1 D D D S S S
Le code pour le registre B est 000, le code pour le registre C est 001.
MOV C, B
0 1 0 0 1 0 0 0
Exemple
- 25R. Grisel
Instruction à deux octets
ADI data
1 1 0 0 0 1 1 0 data
ADI 55
11000110_01010101
Exemple 55 est codée par
0 1 0 1 0 1 0 1
- 26R. Grisel
Instruction à trois octets
LDA addr
0 0 1 1 1 0 1 0 adresse
LDA 1234
00111010_00110100_00010010
Exemple Si adresse vaut
1234
faible fortCode de LDA
- 27R. Grisel
Exécutions d ’instructions sur le 8080
L ’exécution d ’une instruction nécessite entre un et cinq cycle machines (accès mémoire). Chaque cycle machine correspond à trois, quatre ou cinq cycle horloge.
La phase de recherche de l ’instruction correspond aux états T1, T2 et T3 du cycle machine M1.
T1 : Contenu du registre d ’adresse (PC) dans le bus d ’adresses.
T2 : PC = PC +1 (& décodage et préparation de l ’instruction).
T3 : Transfert de l ’instruction dans le registre d ’instruction.
T4 : Décodage de l ’instruction.
T5 : Fonction du type de l ’instruction.
T1 T2 T3 T4 T5
- 28R. Grisel
Un cycle machine
Deux cycles machine
T1 T2 T3 T4
T5
XCHG
MOV r1,r2
4 états
5 états
T1 T2 T3 T4 T1 T2
T3
M1 M2
ADD r
MOV r,M
6 états
7 états
La durée d ’une instruction et par conséquent d ’un programme sera calculée par rapport au nombre total de cycle horloge. Avec une horloge de 50 ns, la durée d exécution de l ’instruction MOV r1,r2 sera de 0,25 µs.
Durée d ’une instruction
- 29R. Grisel
Exemple : MOV D,C
T5T1 T2 T3 T4
Codeopérationnel
Mnémonique
MOV r1,r2 01DDDSSS Envoi de PC PC = PC + 1 (TMP) DDD(SSS) TMPINST IR
T1 : Contenu du registre d ’adresse (PC) dans le bus d ’adresses.
T2 : PC = PC +1 (& décodage et préparation de l ’instruction).
T3 : Transfert de l ’instruction dans le registre d ’instruction.
T4 : Décodage de l ’instruction et transfert de C vers TMP.
T5 : Transfert de TMP vers D.
Durée = 5 fois le cycle machine
- 30R. Grisel
Exemple : ADD r (ici r = C)
T1 de M1 : Contenu du registre d ’adresse (PC) dans le bus d ’adresses.
T2 de M1 : PC = PC +1 (& décodage et préparation de l ’instruction).
T3 de M1 : Transfert de l ’instruction dans le registre d ’instruction.
T4 de M1 : Décodage de l ’instruction et transfert de C vers TMP et de A vers ACT.
T5 de M1 : Ignoré (cet état n ’est pas comptabilisé !).
T1 de M2 : Recherche de la prochaine instruction.
T2 de M2 : PC = PC +1 et A = ACT + TMP
Cette technique de chevauchement est utilisée partout ou cela est possible, afin d ’augmenter la vitesse apparente de traitement du microprocesseur. Il ne doit pas y avoir de conflit quant à l ’utilisation des bus ou autres parties du système.
- 31R. Grisel
M1 M2
T1 T2 T3 T4 T1 T2
T1 T2
M1
Acquisition
Exécution
Chevauchement
DécodageExécution
Fin réelle
Acquisition Décodage
Instruction N
Instruction N+1
Technique de chevauchement
Durée = 4 fois le cycle machineet non 5 fois.
20 % d ’amélioration
- 32R. Grisel
Exemple : LDA addrT1 de M1 : Contenu du registre d ’adresse (PC) dans le bus d ’adresses.
T2 de M1 : PC = PC +1 (& décodage et préparation de l ’instruction).
T3 de M1 : Transfert de l ’instruction dans le registre d ’instruction.
T4 de M1 : Décodage de l ’instruction.
T1 de M2 : Contenu du registre d ’adresse (PC) dans le bus d ’adresses.
T2 de M2 : PC = PC +1 (& décodage et préparation de la donnée).
T3 de M2 : Transfert du poids faible de l ’adresse dans le registre Z.
T1 de M3 : Contenu du registre d ’adresse (PC) dans le bus d ’adresses.
T2 de M3 : PC = PC +1 (& décodage et préparation de la donnée).
T3 de M3 : Transfert du poids fort de l ’adresse dans le registre W.
T1 de M4 : Contenu du registre d ’adresse WZ dans le bus d ’adresses
T2 de M4 : PC = PC +1 (& décodage et préparation de la donnée).
T3 de M4 : Transfert de la donnée dans ll ’accumulateur.
- 33R. Grisel
Exemple : JMP addrT1 de M1 : Contenu du registre d ’adresse (PC) dans le bus d ’adresses.
T2 de M1 : PC = PC +1 (& décodage et préparation de l ’instruction).
T3 de M1 : Transfert de l ’instruction dans le registre d ’instruction.
T4 de M1 : Décodage de l ’instruction.
T1 de M2 : Contenu du registre d ’adresse (PC) dans le bus d ’adresses.
T2 de M2 : PC = PC +1 (& décodage et préparation de la donnée).
T3 de M2 : Transfert du poids faible de l ’adresse dans le registre Z.
T1 de M3 : Contenu du registre d ’adresse (PC) dans le bus d ’adresses.
T2 de M3 : PC = PC +1 (& décodage et préparation de la donnée).
T3 de M3 : Transfert du poids fort de l ’adresse dans le registre W.
T1 de M1n+1 : Contenu du registre d ’adresse WZ dans le bus d ’adresses
T2 de M1n+1 : PC = WZ +1 (& décodage et préparation de la donnée).
- 34R. Grisel
T1 de M1 : Contenu du registre d ’adresse (PC) dans le bus d ’adresses.T2 de M1 : PC = PC +1 (& décodage et préparation de l ’instruction).T3 de M1 : Transfert de l ’instruction dans le registre d ’instruction. T4 de M1 : décodage de l ’instruction.T5 de M1 : SP = SP -1. T1 de M2 : Contenu du registre d ’adresse (PC) dans le bus d ’adresses.T2 de M2 : PC = PC +1 (& décodage et préparation de la donnée).T3 de M2 : Transfert du poids faible de l ’adresse dans le registre Z. T1 de M3 : Contenu du registre d ’adresse (PC) dans le bus d ’adresses.T2 de M3 : PC = PC +1 (& décodage et préparation de la donnée).T3 de M3 : Transfert du poids fort de l ’adresse dans le registre W.T1 de M4 : Contenu du registre SP dans le bus d ’adresses.T2 de M4 : SP = SP -1 (& décodage et préparation de la donnée).T3 de M4 : Transfert du poids fort du PC vers la pile. T1 de M5 : Contenu du registre SP dans le bus d ’adresses.T2 de M5 : (& décodage et préparation de la donnée).T3 de M5 : Transfert du poids faible du PC vers la pile. T1 de M1n+1 : Contenu du registre d ’adresse WZ dans le bus d ’adressesT2 de M1n+1 : PC = WZ +1 (& décodage et préparation de la donnée).
Exercice 1 : CA
LL adresse
- 35R. Grisel
T1 de M1 : Contenu du registre d ’adresse (PC) dans le bus d ’adresses.T2 de M1 : PC = PC +1 (& décodage et préparation de l ’instruction).T3 de M1 : Transfert de l ’instruction dans le registre d ’instruction. T4 de M1 : décodage de l ’instruction.T1 de M2 : Contenu du registre SP dans le bus d ’adresses.T2 de M2 : SP = SP +1 (& décodage et préparation de la donnée).T3 de M2 : Transfert de l ’octet de la pile vers Z. T1 de M3 : Contenu du registre SP dans le bus d ’adresses.T2 de M3 : SP = SP +1 (& décodage et préparation de la donnée).T3 de M3 : Transfert de l ’octet de la pile vers W. T1 de M1n+1 : Contenu du registre d ’adresse WZ dans le bus d ’adressesT2 de M1n+1 : PC = WZ +1 (& décodage et préparation de la donnée).
Exercice 2 : RET