ARCHITECTURE DES SYSTEMES - richard.grisel.free.frrichard.grisel.free.fr/1-Cours_archi_up.pdf ·...

12

Click here to load reader

Transcript of ARCHITECTURE DES SYSTEMES - richard.grisel.free.frrichard.grisel.free.fr/1-Cours_archi_up.pdf ·...

Page 1: ARCHITECTURE DES SYSTEMES - richard.grisel.free.frrichard.grisel.free.fr/1-Cours_archi_up.pdf · Année 1976 : Création du 8085 (processeur 8 bits) Année 1978 : ... microprocesseur.

- 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

Page 2: ARCHITECTURE DES SYSTEMES - richard.grisel.free.frrichard.grisel.free.fr/1-Cours_archi_up.pdf · Année 1976 : Création du 8085 (processeur 8 bits) Année 1978 : ... microprocesseur.

- 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

Page 3: ARCHITECTURE DES SYSTEMES - richard.grisel.free.frrichard.grisel.free.fr/1-Cours_archi_up.pdf · Année 1976 : Création du 8085 (processeur 8 bits) Année 1978 : ... microprocesseur.

- 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

Page 4: ARCHITECTURE DES SYSTEMES - richard.grisel.free.frrichard.grisel.free.fr/1-Cours_archi_up.pdf · Année 1976 : Création du 8085 (processeur 8 bits) Année 1978 : ... microprocesseur.

- 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

Page 5: ARCHITECTURE DES SYSTEMES - richard.grisel.free.frrichard.grisel.free.fr/1-Cours_archi_up.pdf · Année 1976 : Création du 8085 (processeur 8 bits) Année 1978 : ... microprocesseur.

- 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.

Page 6: ARCHITECTURE DES SYSTEMES - richard.grisel.free.frrichard.grisel.free.fr/1-Cours_archi_up.pdf · Année 1976 : Création du 8085 (processeur 8 bits) Année 1978 : ... microprocesseur.

- 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

Page 7: ARCHITECTURE DES SYSTEMES - richard.grisel.free.frrichard.grisel.free.fr/1-Cours_archi_up.pdf · Année 1976 : Création du 8085 (processeur 8 bits) Année 1978 : ... microprocesseur.

- 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

Page 8: ARCHITECTURE DES SYSTEMES - richard.grisel.free.frrichard.grisel.free.fr/1-Cours_archi_up.pdf · Année 1976 : Création du 8085 (processeur 8 bits) Année 1978 : ... microprocesseur.

- 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

Page 9: ARCHITECTURE DES SYSTEMES - richard.grisel.free.frrichard.grisel.free.fr/1-Cours_archi_up.pdf · Année 1976 : Création du 8085 (processeur 8 bits) Année 1978 : ... microprocesseur.

- 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

Page 10: ARCHITECTURE DES SYSTEMES - richard.grisel.free.frrichard.grisel.free.fr/1-Cours_archi_up.pdf · Année 1976 : Création du 8085 (processeur 8 bits) Année 1978 : ... microprocesseur.

- 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.

Page 11: ARCHITECTURE DES SYSTEMES - richard.grisel.free.frrichard.grisel.free.fr/1-Cours_archi_up.pdf · Année 1976 : Création du 8085 (processeur 8 bits) Année 1978 : ... microprocesseur.

- 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).

Page 12: ARCHITECTURE DES SYSTEMES - richard.grisel.free.frrichard.grisel.free.fr/1-Cours_archi_up.pdf · Année 1976 : Création du 8085 (processeur 8 bits) Année 1978 : ... microprocesseur.

- 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