Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de...

92
ours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de CST 101 : Conception des systèmes de télécommunication télécommunication Introduction Introduction Un cours généraliste Un cours généraliste Un cours indispensable pour la seconde année Un cours indispensable pour la seconde année (réforme de semestrialisation ?) (réforme de semestrialisation ?) Un cours pluridisciplinaire... comme les télécoms ! Un cours pluridisciplinaire... comme les télécoms ! Encadrants Encadrants Ronan Keryell (Responsable, chercheur INFO) Ronan Keryell (Responsable, chercheur INFO) Romain Casel (Chercheur département ITI) Romain Casel (Chercheur département ITI) Frédéric Flicker (Stagiaire département ITI) Frédéric Flicker (Stagiaire département ITI) Robert Facq (Chercheur département CMS) Robert Facq (Chercheur département CMS) Sylvain Kardon (Thésard département CMS) Sylvain Kardon (Thésard département CMS)

Transcript of Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de...

Page 1: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 1/597

CST 101 : Conception des systèmes de télécommunicationCST 101 : Conception des systèmes de télécommunication

IntroductionIntroduction Un cours généralisteUn cours généraliste

Un cours indispensable pour la seconde année (réforme Un cours indispensable pour la seconde année (réforme de semestrialisation ?)de semestrialisation ?)

Un cours pluridisciplinaire... comme les télécoms !Un cours pluridisciplinaire... comme les télécoms ! EncadrantsEncadrants

Ronan Keryell (Responsable, chercheur INFO)Ronan Keryell (Responsable, chercheur INFO)

Romain Casel (Chercheur département ITI)Romain Casel (Chercheur département ITI)

Frédéric Flicker (Stagiaire département ITI)Frédéric Flicker (Stagiaire département ITI)

Robert Facq (Chercheur département CMS)Robert Facq (Chercheur département CMS)

Sylvain Kardon (Thésard département CMS)Sylvain Kardon (Thésard département CMS)

Page 2: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 2/597

CST 101 : Conception des systèmes de télécommunicationCST 101 : Conception des systèmes de télécommunication

ObjectifsObjectifs Acquérir les connaissances minimales nécessaires à la Acquérir les connaissances minimales nécessaires à la

conception d’un système de télécommunicationconception d’un système de télécommunication

Avoir un premier aperçu des sciences des Avoir un premier aperçu des sciences des télécommunicationstélécommunications

Comprendre les systèmes embarqués !Comprendre les systèmes embarqués ! Travail personnel & contexteTravail personnel & contexte

Suivi régulier des cours (120 H)Suivi régulier des cours (120 H)

Exercices en PC (50 H)Exercices en PC (50 H)

Projet de fin de module (200 H)Projet de fin de module (200 H)

CC (6 H)CC (6 H)

Pas de support de cours !!! Que copie des transparentsPas de support de cours !!! Que copie des transparents

Page 3: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 3/597

Tendances actuellesTendances actuelles

Conférence 2005 Design, Automation and Test in Conférence 2005 Design, Automation and Test in EuropeEurope

Électronique partoutÉlectronique partout Exemple : AutomobilesExemple : Automobiles

30% du prix d'une voiture haut de gamme 30% du prix d'une voiture haut de gamme est dans l'électroniqueest dans l'électronique

90% de l'innovation dans les voitures sera 90% de l'innovation dans les voitures sera dans l'électronique (Daimler-Chrisler, 2000)dans l'électronique (Daimler-Chrisler, 2000)

Page 4: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 4/597

Plus d'électronique que dans tout le système ApolloPlus d'électronique que dans tout le système Apollo

75 processeurs75 processeurs 150 moteurs électriques150 moteurs électriques 100 MLOC source100 MLOC source Besoin d'avoir une seule architecture pour tous les Besoin d'avoir une seule architecture pour tous les

modèles du bas de gamme au haut de gammemodèles du bas de gamme au haut de gamme FPGA (Daimler-Chrysler)FPGA (Daimler-Chrysler)

Page 5: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 5/597

Tendances actuellesTendances actuelles

Besoin de performances mais d'économies Besoin de performances mais d'économies d'énergie : mobile, systèmes communiquant sans fil d'énergie : mobile, systèmes communiquant sans fil et à pile,...et à pile,...

Circuits intégrés immensesCircuits intégrés immenses Besoin de rehiérarchiser les circuitsBesoin de rehiérarchiser les circuits Systems on Chip (SoC)Systems on Chip (SoC)

Page 6: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 6/597

Vieux problèmes se retrouvent au sein de chaque circuitsVieux problèmes se retrouvent au sein de chaque circuits

Multiprocessors on Chip (MPoC)Multiprocessors on Chip (MPoC) Network on Chip (NoC)Network on Chip (NoC) Comment tester des systèmes avec 1+ Gtr, des Comment tester des systèmes avec 1+ Gtr, des

programmes ?programmes ? Notion d'IP (briques d'Notion d'IP (briques d'Intellectual PropertyIntellectual Property))

Page 7: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 7/597

CST 101 : Conception des systèmes de télécommunicationCST 101 : Conception des systèmes de télécommunication

EnseignementEnseignement

Modèle de machine RISC, le PowerPC 603Modèle de machine RISC, le PowerPC 603

Chaînes de conversion CAN/CNAChaînes de conversion CAN/CNA

Processus aléatoires et statistiques Processus aléatoires et statistiques

Exclusion mutuelle sur noyau mono et multiprocesseur. Exclusion mutuelle sur noyau mono et multiprocesseur. Mise en œuvre particulière de la concurrence Mise en œuvre particulière de la concurrence

Page 8: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 8/597

AC_C3: Modèle de machine RISC, le PowerPC 603AC_C3: Modèle de machine RISC, le PowerPC 603

Le PowerPC 603Le PowerPC 603 structure internestructure interne

modèle de programmationmodèle de programmation

mnémoniquemnémonique

modes d'adressagemodes d'adressage

jeu d'instructionjeu d'instruction

pgm "assembleur"pgm "assembleur" Développement de programmeDéveloppement de programme

directives d’assemblagedirectives d’assemblage

Page 9: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 9/597

Modèle de machine RISC: le PowerPC 603Modèle de machine RISC: le PowerPC 603

Un processeur RISCUn processeur RISC les instructions de calcul opèrent sur des registres les instructions de calcul opèrent sur des registres l'accès aux opérandes en mémoire se fait par l'accès aux opérandes en mémoire se fait par

l'intermédiaire d'instructions spécialisées (load ou store)l'intermédiaire d'instructions spécialisées (load ou store)

Un processeur SUPER SCALAIREUn processeur SUPER SCALAIRE Plusieurs instructions sont en phase exécution Plusieurs instructions sont en phase exécution

simultanément dans des unités d'exécution différentes. simultanément dans des unités d'exécution différentes. XU: XU: calcul sur les entierscalcul sur les entiers LSU:LSU: chargement et stockage de données en mémoirechargement et stockage de données en mémoire FPU: FPU: calcul sur les flottants calcul sur les flottants

Un processeur qui gère la hiérarchie mémoireUn processeur qui gère la hiérarchie mémoire cache données et cache instructionscache données et cache instructions unité de gestion mémoire virtuelle unité de gestion mémoire virtuelle

Page 10: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 10/597

Modèle de machine RISC: le PowerPC 603Modèle de machine RISC: le PowerPC 603

Un processeur PipelinéUn processeur Pipeliné chaque instruction est exécutée en plusieurs phases chaque instruction est exécutée en plusieurs phases

dans plusieurs unités fonctionnelles. dans plusieurs unités fonctionnelles. FU:FU: Fetch UnitFetch Unit DU:DU: Dispatch & Decode UnitDispatch & Decode Unit XU:XU: Integer Unit (une des unités d’exécution )Integer Unit (une des unités d’exécution ) LSU:LSU: Load and Store Unit (une des unités d’exécution )Load and Store Unit (une des unités d’exécution ) FPU:FPU: Floating Point Unit (une des unités d’exécution )Floating Point Unit (une des unités d’exécution ) CU:CU: Completion UnitCompletion Unit

Les unités d'exécution sont elles mêmes pipelinéesLes unités d'exécution sont elles mêmes pipelinées 1 étage pour la XU1 étage pour la XU 2 étages pour la LSU2 étages pour la LSU 3 étages pour la FPU3 étages pour la FPU

Page 11: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 11/597

PowerPC 603 Structure internePowerPC 603 Structure interne

Bus Interface Unit

FetchUnit

BranchUnit

A0..A31 CTRL DH0..DH31 DL0..DL31

DispatchUnit

Instruction Unit

IntegerUnit XU

Load & StoreUnit LSU

Floating PointUnit FPU

Data Mem. Man.Unit

Inst. Mem. Man. Unit

CompletionUnit

Page 12: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 12/597

Structure interne: Instruction UnitStructure interne: Instruction Unit

Fetch Unit

La FU, va lire, en mémoire cache les instructions. Elle les dépose dans la queue.

PC

Dispatch Unit

La DU, lit, en queue les 2 premières instructions à exécuter. Si elle peut les distribuer aux unités d ’exécution, elle les ôte de la queue et les distribue.2 par cycle au maximum

Branch Unit

La BU, va lire, en queue les instructions de saut à exécuter. Si elle peut les exécuter, elle le fait et les ôte de la queue.1 par cycle maximum

Queue d ’instructions

XU LSU FPU

Page 13: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 13/597

Structure interne: Floating Point UnitStructure interne: Floating Point Unit

....

Floating PointRegisters

fr0fr1fr2

fr29fr30fr31

instruction (de DU)op1

op2

étage réduction

étage calcul

étage normalis.

Completion Unit

FPU

Page 14: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 14/597

Structure interne: Floating Point UnitStructure interne: Floating Point Unit

étage réduction

étage calcul

étage normalisationH

Page 15: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 15/597

Floating Point Unit: Etage de réductionFloating Point Unit: Etage de réduction

S1 exp1 mantisse1

H

S2 exp2 mantisse2

S1 exp’1  mantisse’1 S2 exp’2  mantisse’2

Comparaison exposantsModification d ’un exposant, Décalage d ’une mantisse

fadd

Page 16: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 16/597

Floating Point Unit: Etage de calcul Floating Point Unit: Etage de calcul

faddS1 exp’1 mantisse’1

H

S2 exp’2 mantisse’2

S exp mantisse

Page 17: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 17/597

Floating Point Unit: Etage de normalisationFloating Point Unit: Etage de normalisation

H

S exp mantisse

Suivant valeur de la mantisse, et de l ’exposantModification de l ’exposant, Décalages de la mantisse

S  exp ’ mantisse ’

Page 18: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 18/597

Les instructions du PowerPCLes instructions du PowerPC

Les instructions sont réparties en groupe, correspondant aux Les instructions sont réparties en groupe, correspondant aux

unités fonctionnelles dans lesquelles elles s'exécutent. unités fonctionnelles dans lesquelles elles s'exécutent. Les instructions sont réparties en groupe, correspondant aux Les instructions sont réparties en groupe, correspondant aux

unités fonctionnelles dans lesquelles elles s'exécutent. unités fonctionnelles dans lesquelles elles s'exécutent. Integer InstructionsInteger Instructions

elles s'exécutent dans la XUelles s'exécutent dans la XU

les opérandes sont des registres entiers, ou/et des valeurs les opérandes sont des registres entiers, ou/et des valeurs immédiates immédiates

Les instructions sont réparties en groupe, correspondant aux Les instructions sont réparties en groupe, correspondant aux

unités fonctionnelles dans lesquelles elles s'exécutent.unités fonctionnelles dans lesquelles elles s'exécutent. Integer InstructionsInteger Instructions

elles s'exécutent dans la XUelles s'exécutent dans la XU

les opérandes sont des registres entiers, ou/et des valeurs les opérandes sont des registres entiers, ou/et des valeurs immédiates immédiates

Floating Point InstructionsFloating Point Instructions elles s'exécutent dans la FPUelles s'exécutent dans la FPU

les opérandes sont des registres flottantsles opérandes sont des registres flottants

Page 19: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 19/597

Load & Store InstructionsLoad & Store Instructions elles s'exécutent dans la LSUelles s'exécutent dans la LSU

les opérandes sont un registre (entier ou flottant) et un les opérandes sont un registre (entier ou flottant) et un opérande en mémoire désigné par un adressage indirect opérande en mémoire désigné par un adressage indirect (avec déplacement ou registre d'index) (avec déplacement ou registre d'index)

Branch InstructionsBranch Instructions elles s'exécutent dans la BPUelles s'exécutent dans la BPU

elles font souvent référence au cr, au lr, ou au ctrelles font souvent référence au cr, au lr, ou au ctr

un déplacement ou une adresse précise l'adresse de un déplacement ou une adresse précise l'adresse de l'instruction suivante à exécuterl'instruction suivante à exécuter

Les instructions du PowerPCLes instructions du PowerPC

Load & Store InstructionsLoad & Store Instructions elles s'exécutent dans la LSUelles s'exécutent dans la LSU

les opérandes sont un registre (entier ou flottant) et un les opérandes sont un registre (entier ou flottant) et un opérande en mémoire désigné par un adressage indirect opérande en mémoire désigné par un adressage indirect (avec déplacement ou registre d'index) (avec déplacement ou registre d'index)

Page 20: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 20/597

Sémantique du mnémonique (instruction XU et FPU)Sémantique du mnémonique (instruction XU et FPU)

Mnémoniques avec/sans "."Mnémoniques avec/sans "." and rD,rA,rBand rD,rA,rB (rA) & (rB) (rA) & (rB) ->-> rD rD

andand.. rD,rA,rB rD,rA,rB (rA) & (rB) (rA) & (rB) ->-> rD rD crf0: LT,EQ,GT crf0: LT,EQ,GT

"." <=> référence implicite au cr en destination"." <=> référence implicite au cr en destination pour les instructions entières:pour les instructions entières:

modification du champ crf0 du registre d'état cr. modification du champ crf0 du registre d'état cr. (en (en comparant le résultat obtenu à 0)comparant le résultat obtenu à 0)

pour les instructions flottantes:pour les instructions flottantes:modification du champ crf1 du registre d'état cr. modification du champ crf1 du registre d'état cr. (en (en comparant le résultat obtenu à 0.0)comparant le résultat obtenu à 0.0)

Page 21: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 21/597

Sémantique du mnémonique (instruction LSU)Sémantique du mnémonique (instruction LSU)

Mnémoniques avec/sans "x", avec/sans "u"Mnémoniques avec/sans "x", avec/sans "u""x" => adressage indirect avec index."x" => adressage indirect avec index." " => adressage indirect avec déplacement." " => adressage indirect avec déplacement."u" => modification du registre qui a servi de base au "u" => modification du registre qui a servi de base au

calcul d'adresse de l'opérande en mémoire.calcul d'adresse de l'opérande en mémoire." " => pas de modification." " => pas de modification.

lwz rD,d(rA)lwz rD,d(rA) le mot d'adresse d + (rA) le mot d'adresse d + (rA) ->-> rD rD

lwzu rD,d(rA)lwzu rD,d(rA) le mot d'adresse d + (rA) le mot d'adresse d + (rA) ->-> rD et d + (rA) rD et d + (rA) ->-> rA rA

lwzux rD,rA,rBlwzux rD,rA,rB le mot d'adresse (rA) + (rB) le mot d'adresse (rA) + (rB) ->-> rD et (rA) + (rB) rD et (rA) + (rB) ->-> rA rA

Page 22: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 22/597

Sémantique du mnémonique (instruction LSU)Sémantique du mnémonique (instruction LSU)

lwzu r3,20(r1)lwzu r3,20(r1) avec r1 = 0x0000C000avec r1 = 0x0000C000

contenu du mot d'adresse 0x0000C014 contenu du mot d'adresse 0x0000C014 r3 r3

0x0000C014 0x0000C014 r1 r1

lwzx r9,r6,r4lwzx r9,r6,r4 avec r6 = 0x00002000 et r4 = 8avec r6 = 0x00002000 et r4 = 8

contenu du mot d'adresse 0x00002008 contenu du mot d'adresse 0x00002008 r9 r9

lwz r7,4(r0)lwz r7,4(r0)

contenu du mot d'adresse 0x00000004 contenu du mot d'adresse 0x00000004 r7 r7

Page 23: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 23/597

Instructions de branchementInstructions de branchement

Il existe deux types d'instruction de branchement :Il existe deux types d'instruction de branchement : sans condition, toujours effectués.sans condition, toujours effectués.

conditionnels, effectués suivant des conditions :conditionnels, effectués suivant des conditions : soit valeur d'un bit du registre d'étatsoit valeur d'un bit du registre d'état

soit le contenu du registre ctrsoit le contenu du registre ctr

Si adr est l'adresse en mémoire de l'instruction de Si adr est l'adresse en mémoire de l'instruction de branchement, adr + 4 peut être sauvegardée ou branchement, adr + 4 peut être sauvegardée ou non dans le lr (Link Register).non dans le lr (Link Register).

branch sans sauvegarde branch sans sauvegarde

branch avec sauvegarde (le mnémonique se termine par l)branch avec sauvegarde (le mnémonique se termine par l)

Page 24: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 24/597

Instructions de branchementInstructions de branchement

Il existe plusieurs façons de déterminer l'adresse de Il existe plusieurs façons de déterminer l'adresse de l'instruction à exécuter si le branchement est l'instruction à exécuter si le branchement est effectué : effectué : en précisant le déplacement par rapport à l'adresse de en précisant le déplacement par rapport à l'adresse de

l'instruction branch (branchement relatif)l'instruction branch (branchement relatif)

en précisant que cette adresse est dans le lren précisant que cette adresse est dans le lr

en précisant que cette adresse est dans le ctren précisant que cette adresse est dans le ctr en précisant l'adresse exacte de l'instruction (branchement absolu)en précisant l'adresse exacte de l'instruction (branchement absolu)

Page 25: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 25/597

Instructions de branchementInstructions de branchement

b -40b -40 Si l'instruction est située à l'adresse adr, l'instruction exécutée Si l'instruction est située à l'adresse adr, l'instruction exécutée

après "b -40" sera celle d'adresse adr - 40après "b -40" sera celle d'adresse adr - 40

btl crf3_GT,28btl crf3_GT,28 Si l'instruction est située à l'adresse adr et le bit GT du crf3 vaut 1 Si l'instruction est située à l'adresse adr et le bit GT du crf3 vaut 1

• alors l'instruction exécutée après "btl crf3_GT,28" sera celle d'adresse alors l'instruction exécutée après "btl crf3_GT,28" sera celle d'adresse adr + 28, et adr + 4 sera sauvegardé dans le lr. adr + 28, et adr + 4 sera sauvegardé dans le lr.

• sinon l'instruction exécutée après "btl crf3_GT,28" sera celle d'adresse sinon l'instruction exécutée après "btl crf3_GT,28" sera celle d'adresse adr + 4, et le lr ne sera pas modifié. adr + 4, et le lr ne sera pas modifié.

bflr crf2_EQbflr crf2_EQ Si l'instruction est située à l'adresse adr et le bit EQ du crf2 vaut 0 Si l'instruction est située à l'adresse adr et le bit EQ du crf2 vaut 0

• alors l'instruction exécutée après "bflr crf2_EQ" sera celle dont alors l'instruction exécutée après "bflr crf2_EQ" sera celle dont l'adresse est contenue dans le lr. l'adresse est contenue dans le lr.

• sinon l'instruction exécutée après "bflr crf2_EQ" sera celle d'adresse sinon l'instruction exécutée après "bflr crf2_EQ" sera celle d'adresse adr + 4.adr + 4.

Page 26: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 26/597

Développement de programmes, C <=> MnémoniqueDéveloppement de programmes, C <=> Mnémonique

#define #define IMAX 100IMAX 100main() { main() {

int N, int i;int N, int i;N = 0; N = 0; (for i = 1; i < IMAX; i++)(for i = 1; i < IMAX; i++)

N = N + i;N = N + i;}}

ETI0ETI0 equ 100equ 100ETI1 ETI1 li r8,0li r8,0 li r9,1li r9,1

ETI2ETI2 cmpi crf3,r9,ETI0cmpi crf3,r9,ETI0 bf crf3_LT,ETI3-*bf crf3_LT,ETI3-* add r8,r8,r9add r8,r8,r9

addi r9,r9,1addi r9,r9,1 b ETI2-*b ETI2-*

ETI3ETI3

Page 27: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 27/597

Développement de programmes, C <=> MnémoniqueDéveloppement de programmes, C <=> Mnémonique

Un programme en  »mnémonique" :Un programme en  »mnémonique" : étiquettesétiquettes directives d'assemblagedirectives d'assemblage mnémoniques (incluant des facilités)mnémoniques (incluant des facilités) ** #define IMAX 100#define IMAX 100IMAXIMAX equ 100 equ 100 ** main () {main () { ** int N, int i; N <=> r8int N, int i; N <=> r8 , i <=> r9, i <=> r9** NN = = 0;0;

aorg 0x0E002000aorg 0x0E002000mainmain li r8,0li r8,0* * (for i = 1; i < IMAX; i++)(for i = 1; i < IMAX; i++)

for_initfor_init li r9,1 li r9,1

for_loopfor_loop cmpi crf3,r9,IMAXcmpi crf3,r9,IMAX bf crf3_LT,for_end-*bf crf3_LT,for_end-*

** N = N + i;N = N + i;for_bodyfor_body add r8,r8,r9add r8,r8,r9for_incrfor_incr addi r9,r9,1addi r9,r9,1

b for_loop-*b for_loop-*for_endfor_end** }}

Page 28: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 28/597

Développement de programmes, édition de lienDéveloppement de programmes, édition de lien

Fic1.c

Fic2.c

Fic3.c

Fic1.asm

Fic2.asm

Fic3.asm

Fic1.obj

Fic2.obj

Fic3.obj

compilation assemblageÉdition de lien

Fic.exe

Page 29: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 29/597

MIPS R4400MIPS R4400

Page 30: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 30/597

AMD K6-2AMD K6-2

Page 31: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 31/597

AMD K6-IIIAMD K6-III

Page 32: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 32/597

AMD AthlonAMD Athlon

Page 33: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 33/597

PowerPC 603 Structure internePowerPC 603 Structure interne

Bus Interface Unit

FetchUnit

BranchUnit

A0..A31 CTRL DH0..DH31 DL0..DL31

DispatchUnit

Instruction Unit

IntegerUnit XU

Load & StoreUnit LSU

Floating PointUnit FPU

Data Mem. Man.Unit

Inst. Mem. Man. Unit

CompletionUnit

Page 34: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 34/597

Structure interne: Instruction UnitStructure interne: Instruction Unit

Fetch Unit

La FU, va lire, en mémoire cache les instructions. Elle les dépose dans la queue.

PC

Dispatch Unit

La DU, lit, en queue les 2 premières instructions à exécuter. Si elle peut les distribuer aux unités d ’exécution, elle les ôte de la queue et les distribue.2 par cycle au maximum

Branch Unit

La BU, va lire, en queue les instructions de saut à exécuter. Si elle peut les exécuter, elle le fait et les ôte de la queue.1 par cycle maximum

Queue d ’instructions

XU LSU FPU

Page 35: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 35/597

Structure interne: Floating Point UnitStructure interne: Floating Point Unit

....

Floating PointRegisters

fr0fr1fr2

fr29fr30fr31

instruction (de DU)op1

op2

étage réduction

étage calcul

étage normalis.

Completion Unit

FPU

Page 36: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 36/597

Structure interne: Floating Point UnitStructure interne: Floating Point Unit

étage réduction

étage calcul

étage normalisationH

Page 37: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 37/597

Floating Point Unit: Etage de réductionFloating Point Unit: Etage de réduction

S1 exp1 mantisse1

H

S2 exp2 mantisse2

S1 exp’1  mantisse’1 S2 exp’2  mantisse’2

Comparaison exposantsModification d ’un exposant, Décalage d ’une mantisse

fadd

Page 38: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 38/597

Floating Point Unit: Etage de calcul Floating Point Unit: Etage de calcul

faddS1 exp’1 mantisse’1

H

S2 exp’2 mantisse’2

S exp mantisse

Page 39: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 39/597

Floating Point Unit: Etage de normalisationFloating Point Unit: Etage de normalisation

H

S exp mantisse

Suivant valeur de la mantisse, et de l ’exposantModification de l ’exposant, Décalages de la mantisse

S  exp ’ mantisse ’

Page 40: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 40/597

Développement de programmes, édition de lienDéveloppement de programmes, édition de lien

Fic1.c

Fic2.c

Fic3.c

Fic1.asm

Fic2.asm

Fic3.asm

Fic1.obj

Fic2.obj

Fic3.obj

compilation assemblageÉdition de lien

Fic.exe

Page 41: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 41/597

MIPS R4400MIPS R4400

Page 42: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 42/597

AMD K6-2AMD K6-2

Page 43: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 43/597

AMD K6-IIIAMD K6-III

Page 44: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 44/597

AMD AthlonAMD Athlon

Page 45: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 45/597

PowerPC 603 Structure internePowerPC 603 Structure interne

Bus Interface Unit

FetchUnit

BranchUnit

A0..A31 CTRL DH0..DH31 DL0..DL31

DispatchUnit

Instruction Unit

IntegerUnit XU

Load & StoreUnit LSU

Floating PointUnit FPU

Data Mem. Man.Unit

Inst. Mem. Man. Unit

CompletionUnit

Page 46: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 46/597

Structure interne: Instruction UnitStructure interne: Instruction Unit

Fetch Unit

La FU, va lire, en mémoire cache les instructions. Elle les dépose dans la queue.

PC

Dispatch Unit

La DU, lit, en queue les 2 premières instructions à exécuter. Si elle peut les distribuer aux unités d ’exécution, elle les ôte de la queue et les distribue.2 par cycle au maximum

Branch Unit

La BU, va lire, en queue les instructions de saut à exécuter. Si elle peut les exécuter, elle le fait et les ôte de la queue.1 par cycle maximum

Queue d ’instructions

XU LSU FPU

Page 47: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 47/597

Structure interne: Floating Point UnitStructure interne: Floating Point Unit

....

Floating PointRegisters

fr0fr1fr2

fr29fr30fr31

instruction (de DU)op1

op2

étage réduction

étage calcul

étage normalis.

Completion Unit

FPU

Page 48: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 48/597

Structure interne: Floating Point UnitStructure interne: Floating Point Unit

étage réduction

étage calcul

étage normalisationH

Page 49: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 49/597

Développement de programmes, édition de lienDéveloppement de programmes, édition de lien

Fic1.c

Fic2.c

Fic3.c

Fic1.asm

Fic2.asm

Fic3.asm

Fic1.obj

Fic2.obj

Fic3.obj

compilation assemblageÉdition de lien

Fic.exe

Page 50: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 50/597

MIPS R4400MIPS R4400

Page 51: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 51/597

AMD K6-2AMD K6-2

Page 52: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 52/597

PowerPC 603 Structure internePowerPC 603 Structure interne

Bus Interface Unit

FetchUnit

BranchUnit

A0..A31 CTRL DH0..DH31 DL0..DL31

DispatchUnit

Instruction Unit

IntegerUnit XU

Load & StoreUnit LSU

Floating PointUnit FPU

Data Mem. Man.Unit

Inst. Mem. Man. Unit

CompletionUnit

Page 53: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 53/597

Structure interne: Instruction UnitStructure interne: Instruction Unit

Fetch Unit

La FU, va lire, en mémoire cache les instructions. Elle les dépose dans la queue.

PC

Dispatch Unit

La DU, lit, en queue les 2 premières instructions à exécuter. Si elle peut les distribuer aux unités d ’exécution, elle les ôte de la queue et les distribue.2 par cycle au maximum

Branch Unit

La BU, va lire, en queue les instructions de saut à exécuter. Si elle peut les exécuter, elle le fait et les ôte de la queue.1 par cycle maximum

Queue d ’instructions

XU LSU FPU

Page 54: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 54/597

Structure interne: Floating Point UnitStructure interne: Floating Point Unit

....

Floating PointRegisters

fr0fr1fr2

fr29fr30fr31

instruction (de DU)op1

op2

étage réduction

étage calcul

étage normalis.

Completion Unit

FPU

Page 55: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 55/597

Structure interne: Floating Point UnitStructure interne: Floating Point Unit

étage réduction

étage calcul

étage normalisationH

Page 56: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 56/597

Développement de programmes, édition de lienDéveloppement de programmes, édition de lien

Fic1.c

Fic2.c

Fic3.c

Fic1.asm

Fic2.asm

Fic3.asm

Fic1.obj

Fic2.obj

Fic3.obj

compilation assemblageÉdition de lien

Fic.exe

Page 57: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 57/597

MIPS R4400MIPS R4400

Page 58: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 58/597

AMD K6-2AMD K6-2

Page 59: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 59/597

PowerPC 603 Structure internePowerPC 603 Structure interne

Bus Interface Unit

FetchUnit

BranchUnit

A0..A31 CTRL DH0..DH31 DL0..DL31

DispatchUnit

Instruction Unit

IntegerUnit XU

Load & StoreUnit LSU

Floating PointUnit FPU

Data Mem. Man.Unit

Inst. Mem. Man. Unit

CompletionUnit

Page 60: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 60/597

Structure interne: Instruction UnitStructure interne: Instruction Unit

Fetch Unit

La FU, va lire, en mémoire cache les instructions. Elle les dépose dans la queue.

PC

Dispatch Unit

La DU, lit, en queue les 2 premières instructions à exécuter. Si elle peut les distribuer aux unités d ’exécution, elle les ôte de la queue et les distribue.2 par cycle au maximum

Branch Unit

La BU, va lire, en queue les instructions de saut à exécuter. Si elle peut les exécuter, elle le fait et les ôte de la queue.1 par cycle maximum

Queue d ’instructions

XU LSU FPU

Page 61: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 61/597

Structure interne: Floating Point UnitStructure interne: Floating Point Unit

....

Floating PointRegisters

fr0fr1fr2

fr29fr30fr31

instruction (de DU)op1

op2

étage réduction

étage calcul

étage normalis.

Completion Unit

FPU

Page 62: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 62/597

Structure interne: Instruction UnitStructure interne: Instruction Unit

Fetch Unit

La FU, va lire, en mémoire cache les instructions. Elle les dépose dans la queue.

PC

Dispatch Unit

La DU, lit, en queue les 2 premières instructions à exécuter. Si elle peut les distribuer aux unités d ’exécution, elle les ôte de la queue et les distribue.2 par cycle au maximum

Branch Unit

La BU, va lire, en queue les instructions de saut à exécuter. Si elle peut les exécuter, elle le fait et les ôte de la queue.1 par cycle maximum

Queue d ’instructions

XU LSU FPU

Page 63: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 63/597

Structure interne: Floating Point UnitStructure interne: Floating Point Unit

....

Floating PointRegisters

fr0fr1fr2

fr29fr30fr31

instruction (de DU)op1

op2

étage réduction

étage calcul

étage normalis.

Completion Unit

FPU

Page 64: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 64/597

Structure interne: Floating Point UnitStructure interne: Floating Point Unit

étage réduction

étage calcul

étage normalisationH

Page 65: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 65/597

MIPS R4400MIPS R4400

Page 66: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 66/597

AMD K6-2AMD K6-2

Page 67: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 67/597

PowerPC 603 Structure internePowerPC 603 Structure interne

Bus Interface Unit

FetchUnit

BranchUnit

A0..A31 CTRL DH0..DH31 DL0..DL31

DispatchUnit

Instruction Unit

IntegerUnit XU

Load & StoreUnit LSU

Floating PointUnit FPU

Data Mem. Man.Unit

Inst. Mem. Man. Unit

CompletionUnit

Page 68: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 68/597

Structure interne: Instruction UnitStructure interne: Instruction Unit

Fetch Unit

La FU, va lire, en mémoire cache les instructions. Elle les dépose dans la queue.

PC

Dispatch Unit

La DU, lit, en queue les 2 premières instructions à exécuter. Si elle peut les distribuer aux unités d ’exécution, elle les ôte de la queue et les distribue.2 par cycle au maximum

Branch Unit

La BU, va lire, en queue les instructions de saut à exécuter. Si elle peut les exécuter, elle le fait et les ôte de la queue.1 par cycle maximum

Queue d ’instructions

XU LSU FPU

Page 69: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 69/597

Structure interne: Floating Point UnitStructure interne: Floating Point Unit

....

Floating PointRegisters

fr0fr1fr2

fr29fr30fr31

instruction (de DU)op1

op2

étage réduction

étage calcul

étage normalis.

Completion Unit

FPU

Page 70: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 70/597

Structure interne: Floating Point UnitStructure interne: Floating Point Unit

étage réduction

étage calcul

étage normalisationH

Page 71: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 71/597

MIPS R4400MIPS R4400

Page 72: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 72/597

AMD K6-2AMD K6-2

Page 73: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 73/597

AMD K6-IIIAMD K6-III

Page 74: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 74/597

AMD AthlonAMD Athlon

Page 75: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 75/597

AMD K6-IIIAMD K6-III

Page 76: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 76/597

AMD AthlonAMD Athlon

Page 77: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 77/597

AMD K6-IIIAMD K6-III

Page 78: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 78/597

AMD AthlonAMD Athlon

Page 79: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 79/597

PowerPC 603 Structure internePowerPC 603 Structure interne

Bus Interface Unit

FetchUnit

BranchUnit

A0..A31 CTRL DH0..DH31 DL0..DL31

DispatchUnit

Instruction Unit

IntegerUnit XU

Load & StoreUnit LSU

Floating PointUnit FPU

Data Mem. Man.Unit

Inst. Mem. Man. Unit

CompletionUnit

Page 80: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 80/597

Structure interne: Instruction UnitStructure interne: Instruction Unit

Fetch Unit

La FU, va lire, en mémoire cache les instructions. Elle les dépose dans la queue.

PC

Dispatch Unit

La DU, lit, en queue les 2 premières instructions à exécuter. Si elle peut les distribuer aux unités d ’exécution, elle les ôte de la queue et les distribue.2 par cycle au maximum

Branch Unit

La BU, va lire, en queue les instructions de saut à exécuter. Si elle peut les exécuter, elle le fait et les ôte de la queue.1 par cycle maximum

Queue d ’instructions

XU LSU FPU

Page 81: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 81/597

Structure interne: Floating Point UnitStructure interne: Floating Point Unit

....

Floating PointRegisters

fr0fr1fr2

fr29fr30fr31

instruction (de DU)op1

op2

étage réduction

étage calcul

étage normalis.

Completion Unit

FPU

Page 82: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 82/597

Structure interne: Floating Point UnitStructure interne: Floating Point Unit

étage réduction

étage calcul

étage normalisationH

Page 83: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 83/597

Développement de programmes, édition de lienDéveloppement de programmes, édition de lien

Fic1.c

Fic2.c

Fic3.c

Fic1.asm

Fic2.asm

Fic3.asm

Fic1.obj

Fic2.obj

Fic3.obj

compilation assemblageÉdition de lien

Fic.exe

Page 84: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 84/597

MIPS R4400MIPS R4400

Page 85: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 85/597

AMD K6-2AMD K6-2

Page 86: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 86/597

AMD K6-IIIAMD K6-III

Page 87: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 87/597

AMD AthlonAMD Athlon

Page 88: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 88/597

PowerPC 603 Structure internePowerPC 603 Structure interne

Bus Interface Unit

FetchUnit

BranchUnit

A0..A31 CTRL DH0..DH31 DL0..DL31

DispatchUnit

Instruction Unit

IntegerUnit XU

Load & StoreUnit LSU

Floating PointUnit FPU

Data Mem. Man.Unit

Inst. Mem. Man. Unit

CompletionUnit

Page 89: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 89/597

Structure interne: Instruction UnitStructure interne: Instruction Unit

Fetch Unit

La FU, va lire, en mémoire cache les instructions. Elle les dépose dans la queue.

PC

Dispatch Unit

La DU, lit, en queue les 2 premières instructions à exécuter. Si elle peut les distribuer aux unités d ’exécution, elle les ôte de la queue et les distribue.2 par cycle au maximum

Branch Unit

La BU, va lire, en queue les instructions de saut à exécuter. Si elle peut les exécuter, elle le fait et les ôte de la queue.1 par cycle maximum

Queue d ’instructions

XU LSU FPU

Page 90: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 90/597

Structure interne: Floating Point UnitStructure interne: Floating Point Unit

....

Floating PointRegisters

fr0fr1fr2

fr29fr30fr31

instruction (de DU)op1

op2

étage réduction

étage calcul

étage normalis.

Completion Unit

FPU

Page 91: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 91/597

Structure interne: Floating Point UnitStructure interne: Floating Point Unit

étage réduction

étage calcul

étage normalisationH

Page 92: Cours Architecture des machines informatiques 1/597 CST 101 : Conception des systèmes de télécommunication Introduction Introduction Un cours généraliste.

Cours Architecture des machines informatiques 92/597