cm6 introduction à la micro-architecturemarchett/cm6.pdf · micro-architecture ? construction ?...

137
CM6 Introduction ` a la micro-architecture Olivier Marchetti (CM-TD-TP) 1 Guillaume Matheron (TD-TP) 2 1 Laboratoire d’informatique de Paris 6 – Pˆole SoC – UPMC 2 Institut des Syst` emes Intelligents et de Robotique – Equipe SYROCO – UPMC Ann´ ee 2017-2018

Upload: phungnguyet

Post on 14-Sep-2018

226 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

CM6Introduction a la micro-architecture

Olivier Marchetti (CM-TD-TP) 1 Guillaume Matheron (TD-TP) 2

1Laboratoire d’informatique de Paris 6 – Pole SoC – UPMC

2Institut des Systemes Intelligents et de Robotique – Equipe SYROCO – UPMC

Annee 2017-2018

Page 2: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Plan

1 Couche micro-architecture

2 Construction d’un chemin des donnees

3 Controle du chemin des donnees

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 2 / 36

Page 3: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

1 Couche micro-architecture

2 Construction d’un chemin des donnees

3 Controle du chemin des donnees

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 3 / 36

Page 4: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Abstractions d’un ordinateur : retour sur la vue hierarchique

?

?

Langage de programmation

Programmes applicatifs

Langage assembleur

Langage machine

Logique numérique

Ass. MIPS

C, Java

4

4

4 Electronique...

ISA MIPS4

Micro−architecture

SE − Noyau (cf. EISE−4)

La couche micro-architecture

C’est le niveau d’abstraction qui decritcomment :

I les donnees transitent,

I l’execution des instructions est realisee,

au cours du temps et parmi les differentscomposants electroniques de l’ordinateur.

Chemin des donnees

Controle

Machine virtuelle

Chaque niveau :

I definit une abstraction nouvelle,

I repose sur une implementation du niveau inferieur (ou utilise ses services),

I constitue une machine virtuelle.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 4 / 36

Page 5: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Introduction au chemin des donnees & au controle

Notion de chemin des donnees

Le chemin des donnees detaille :

1 comment sont realises les transfertsd’informations,

2 quelles sont les unites fonctionnellesnecessaires mises en jeu

en vue de realiser toutes les instructions de l’ISA.

La definition du chemin des donnees est un art :

I multiples solutions.

=⇒ compromis espace/performance.

I depend de la definition de l’ISA.

Notion de controle

Le controle assure la coherence des calculs realisessur un chemin des donnees.

Il permet notamment :

1 une bonne synchronisation des donnees,

2 l’activation conditionnelle de certaines unitesfonctionnelles (ALU, RAM...).

La definition du controle des donnees est un art :

I automates finis.

I microprogrammation.

I depend du chemin des donnees retenu.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 5 / 36

Page 6: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Cycle CDE & jeu d’instructions

En tant que machine, quelle est la specificite d’un ordinateur ?

=⇒ Un ordinateur est une realisation physique du cycle CDE

Tout ordinateur :

I utilise des conventions de representation des donnees,

I dispose d’un nombre fini d’instructions (elles aussi considerees comme desdonnees),

I dispose d’une memoire de donnees totalement adressee,

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 6 / 36

Page 7: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Cycle CDE & jeu d’instructions

En tant que machine, quelle est la specificite d’un ordinateur ?

=⇒ Un ordinateur est une realisation physique du cycle CDE

Tout ordinateur :

I utilise des conventions de representation des donnees,

I dispose d’un nombre fini d’instructions (elles aussi considerees comme desdonnees),

I dispose d’une memoire de donnees totalement adressee,

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 6 / 36

Page 8: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Cycle CDE & jeu d’instructions

En tant que machine, quelle est la specificite d’un ordinateur ?

=⇒ Un ordinateur est une realisation physique du cycle CDE

Tout ordinateur :

I utilise des conventions de representation des donnees,

I dispose d’un nombre fini d’instructions (elles aussi considerees comme desdonnees),

I dispose d’une memoire de donnees totalement adressee,

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 6 / 36

Page 9: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Cycle CDE & jeu d’instructions

En tant que machine, quelle est la specificite d’un ordinateur ?

=⇒ Un ordinateur est une realisation physique du cycle CDE

Tout ordinateur :

I utilise des conventions de representation des donnees,

I dispose d’un nombre fini d’instructions (elles aussi considerees comme desdonnees),

I dispose d’une memoire de donnees totalement adressee,

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 6 / 36

Page 10: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Cycle CDE & jeu d’instructions

En tant que machine, quelle est la specificite d’un ordinateur ?

=⇒ Un ordinateur est une realisation physique du cycle CDE

Tout ordinateur :

I utilise des conventions de representation des donnees,

I dispose d’un nombre fini d’instructions (elles aussi considerees comme desdonnees),

I dispose d’une memoire de donnees totalement adressee,

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 6 / 36

Page 11: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Cycle CDE & jeu d’instructions

En tant que machine, quelle est la specificite d’un ordinateur ?

=⇒ Un ordinateur est une realisation physique du cycle CDE

Tout ordinateur :

I utilise des conventions de representation des donnees,

I dispose d’un nombre fini d’instructions (elles aussi considerees comme desdonnees),

I dispose d’une memoire de donnees totalement adressee,

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 6 / 36

Page 12: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Cycle CDE & jeu d’instructions

En tant que machine, quelle est la specificite d’un ordinateur ?

=⇒ Un ordinateur est une realisation physique du cycle CDE

Tout ordinateur :

I utilise des conventions de representation des donnees,

I dispose d’un nombre fini d’instructions (elles aussi considerees comme desdonnees),

I dispose d’une memoire de donnees totalement adressee,

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 6 / 36

Page 13: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Cycle CDE & jeu d’instructions

En tant que machine, quelle est la specificite d’un ordinateur ?

=⇒ Un ordinateur est une realisation physique du cycle CDE

Tout ordinateur :

I utilise des conventions de representation des donnees,

I dispose d’un nombre fini d’instructions (elles aussi considerees comme desdonnees),

I dispose d’une memoire de donnees totalement adressee,

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 6 / 36

Page 14: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Cycle CDE & jeu d’instructions

En tant que machine, quelle est la specificite d’un ordinateur ?

=⇒ Un ordinateur est une realisation physique du cycle CDE

Tout ordinateur :

I utilise des conventions de representation des donnees,

I dispose d’un nombre fini d’instructions (elles aussi considerees comme desdonnees),

I dispose d’une memoire de donnees totalement adressee,

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 6 / 36

Page 15: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Cycle CDE & jeu d’instructions

En tant que machine, quelle est la specificite d’un ordinateur ?

=⇒ Un ordinateur est une realisation physique du cycle CDE

Tout ordinateur :

I utilise des conventions de representation des donnees,

I dispose d’un nombre fini d’instructions (elles aussi considerees comme desdonnees),

I dispose d’une memoire de donnees totalement adressee,

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 6 / 36

Page 16: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Cycle CDE & jeu d’instructions

En tant que machine, quelle est la specificite d’un ordinateur ?

=⇒ Un ordinateur est une realisation physique du cycle CDE

Tout ordinateur :

I utilise des conventions de representation des donnees,

I dispose d’un nombre fini d’instructions (elles aussi considerees comme desdonnees),

I dispose d’une memoire de donnees totalement adressee,

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 6 / 36

Page 17: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Cycle CDE & jeu d’instructions

En tant que machine, quelle est la specificite d’un ordinateur ?

=⇒ Un ordinateur est une realisation physique du cycle CDE

Tout ordinateur :

I utilise des conventions de representation des donnees,

I dispose d’un nombre fini d’instructions (elles aussi considerees comme desdonnees),

I dispose d’une memoire de donnees totalement adressee,

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 6 / 36

Page 18: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Cycle CDE & jeu d’instructions

En tant que machine, quelle est la specificite d’un ordinateur ?

=⇒ Un ordinateur est une realisation physique du cycle CDE

Tout ordinateur :

I utilise des conventions de representation des donnees,

I dispose d’un nombre fini d’instructions (elles aussi considerees comme desdonnees),

I dispose d’une memoire de donnees totalement adressee,

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 6 / 36

Page 19: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Cycle CDE & jeu d’instructions

En tant que machine, quelle est la specificite d’un ordinateur ?

=⇒ Un ordinateur est une realisation physique du cycle CDE

Tout ordinateur :

I utilise des conventions de representation des donnees,

I dispose d’un nombre fini d’instructions (elles aussi considerees comme desdonnees),

I dispose d’une memoire de donnees totalement adressee,

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 6 / 36

Page 20: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Cycle CDE & jeu d’instructions

En tant que machine, quelle est la specificite d’un ordinateur ?

=⇒ Un ordinateur est une realisation physique du cycle CDE

Tout ordinateur :

I utilise des conventions de representation des donnees,

I dispose d’un nombre fini d’instructions (elles aussi considerees comme desdonnees),

I dispose d’une memoire de donnees totalement adressee,

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 6 / 36

Page 21: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Cycle CDE & jeu d’instructions

En tant que machine, quelle est la specificite d’un ordinateur ?

=⇒ Un ordinateur est une realisation physique du cycle CDE

Tout ordinateur :

I utilise des conventions de representation des donnees,

I dispose d’un nombre fini d’instructions (elles aussi considerees comme desdonnees),

I dispose d’une memoire de donnees totalement adressee,

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 6 / 36

Page 22: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Cycle CDE & jeu d’instructions

En tant que machine, quelle est la specificite d’un ordinateur ?

=⇒ Un ordinateur est une realisation physique du cycle CDE

Tout ordinateur :

I utilise des conventions de representation des donnees,

I dispose d’un nombre fini d’instructions (elles aussi considerees comme desdonnees),

I dispose d’une memoire de donnees totalement adressee,

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 6 / 36

Page 23: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Cycle CDE & jeu d’instructions

En tant que machine, quelle est la specificite d’un ordinateur ?

=⇒ Un ordinateur est une realisation physique du cycle CDE

Tout ordinateur :

I utilise des conventions de representation des donnees,

I dispose d’un nombre fini d’instructions (elles aussi considerees comme desdonnees),

I dispose d’une memoire de donnees totalement adressee,

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 6 / 36

Page 24: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Cycle CDE & jeu d’instructions

En tant que machine, quelle est la specificite d’un ordinateur ?

=⇒ Un ordinateur est une realisation physique du cycle CDE

Tout ordinateur :

I utilise des conventions de representation des donnees,

I dispose d’un nombre fini d’instructions (elles aussi considerees comme desdonnees),

I dispose d’une memoire de donnees totalement adressee,

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 6 / 36

Page 25: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Cycle CDE & jeu d’instructions

En tant que machine, quelle est la specificite d’un ordinateur ?

=⇒ Un ordinateur est une realisation physique du cycle CDE

Tout ordinateur :

I utilise des conventions de representation des donnees,

I dispose d’un nombre fini d’instructions (elles aussi considerees comme desdonnees),

I dispose d’une memoire de donnees totalement adressee,

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 6 / 36

Page 26: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Cycle CDE & jeu d’instructions

En tant que machine, quelle est la specificite d’un ordinateur ?

=⇒ Un ordinateur est une realisation physique du cycle CDE

Tout ordinateur :

I utilise des conventions de representation des donnees,

I dispose d’un nombre fini d’instructions (elles aussi considerees comme desdonnees),

I dispose d’une memoire de donnees totalement adressee,

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 6 / 36

Page 27: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Cycle CDE & jeu d’instructions

En tant que machine, quelle est la specificite d’un ordinateur ?

=⇒ Un ordinateur est une realisation physique du cycle CDE

Tout ordinateur :

I utilise des conventions de representation des donnees,

I dispose d’un nombre fini d’instructions (elles aussi considerees comme desdonnees),

I dispose d’une memoire de donnees totalement adressee,

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 6 / 36

Page 28: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Cycle CDE & jeu d’instructions

En tant que machine, quelle est la specificite d’un ordinateur ?

=⇒ Un ordinateur est une realisation physique du cycle CDE

Tout ordinateur :

I utilise des conventions de representation des donnees,

I dispose d’un nombre fini d’instructions (elles aussi considerees comme desdonnees),

I dispose d’une memoire de donnees totalement adressee,

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 6 / 36

Page 29: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Cycle CDE & jeu d’instructions

En tant que machine, quelle est la specificite d’un ordinateur ?

=⇒ Un ordinateur est une realisation physique du cycle CDE

Tout ordinateur :

I utilise des conventions de representation des donnees,

I dispose d’un nombre fini d’instructions (elles aussi considerees comme desdonnees),

I dispose d’une memoire de donnees totalement adressee,

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 6 / 36

Page 30: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Cycle CDE & jeu d’instructions

En tant que machine, quelle est la specificite d’un ordinateur ?

=⇒ Un ordinateur est une realisation physique du cycle CDE

Tout ordinateur :

I utilise des conventions de representation des donnees,

I dispose d’un nombre fini d’instructions (elles aussi considerees comme desdonnees),

I dispose d’une memoire de donnees totalement adressee,

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 6 / 36

Page 31: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Cycle CDE & jeu d’instructions

En tant que machine, quelle est la specificite d’un ordinateur ?

=⇒ Un ordinateur est une realisation physique du cycle CDE

Tout ordinateur :

I utilise des conventions de representation des donnees,

I dispose d’un nombre fini d’instructions (elles aussi considerees comme desdonnees),

I dispose d’une memoire de donnees totalement adressee,

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 6 / 36

Page 32: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Cycle CDE & jeu d’instructions

En tant que machine, quelle est la specificite d’un ordinateur ?

=⇒ Un ordinateur est une realisation physique du cycle CDE

Tout ordinateur :

I utilise des conventions de representation des donnees,

I dispose d’un nombre fini d’instructions (elles aussi considerees comme desdonnees),

I dispose d’une memoire de donnees totalement adressee,

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 6 / 36

Page 33: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Cycle CDE & jeu d’instructions

En tant que machine, quelle est la specificite d’un ordinateur ?

=⇒ Un ordinateur est une realisation physique du cycle CDE

Tout ordinateur :

I utilise des conventions de representation des donnees,

I dispose d’un nombre fini d’instructions (elles aussi considerees comme desdonnees),

I dispose d’une memoire de donnees totalement adressee,

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 6 / 36

Page 34: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Cycle CDE & jeu d’instructions

En tant que machine, quelle est la specificite d’un ordinateur ?

=⇒ Un ordinateur est une realisation physique du cycle CDE

Tout ordinateur :

I utilise des conventions de representation des donnees,

I dispose d’un nombre fini d’instructions (elles aussi considerees comme desdonnees),

I dispose d’une memoire de donnees totalement adressee,

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 6 / 36

Page 35: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Question du jour : comment une instruction est-elle realisee par le materiel ?

Execution de l’instruction de chargement memoire lw

code−op lw rt adressers

1 Determination de l’instruction a executer via le registre PC.

2 Decodage de l’instruction par analyse du code op des six bits de poids fort.

3 Decodage des operandes en jeu.

4 Lecture du registre operande.

5 Calcul d’adresse du mot memoire a charger.

6 Lecture du mot memoire voulu.

7 Chargement du registre destination par ce mot.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 7 / 36

Page 36: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Question du jour : comment une instruction est-elle realisee par le materiel ?

Execution de l’instruction de chargement memoire lw

registre rs registre rt

code−op lw rt adressers

1 Determination de l’instruction a executer via le registre PC.

2 Decodage de l’instruction par analyse du code op des six bits de poids fort.

3 Decodage des operandes en jeu.

4 Lecture du registre operande.

5 Calcul d’adresse du mot memoire a charger.

6 Lecture du mot memoire voulu.

7 Chargement du registre destination par ce mot.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 7 / 36

Page 37: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Question du jour : comment une instruction est-elle realisee par le materiel ?

Execution de l’instruction de chargement memoire lw

registre rs registre rt

code−op lw rt adressers

+

1 Determination de l’instruction a executer via le registre PC.

2 Decodage de l’instruction par analyse du code op des six bits de poids fort.

3 Decodage des operandes en jeu.

4 Lecture du registre operande.

5 Calcul d’adresse du mot memoire a charger.

6 Lecture du mot memoire voulu.

7 Chargement du registre destination par ce mot.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 7 / 36

Page 38: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Question du jour : comment une instruction est-elle realisee par le materiel ?

Execution de l’instruction de chargement memoire lw

registre rs registre rt

code−op lw rt adressers

+RAM

1 Determination de l’instruction a executer via le registre PC.

2 Decodage de l’instruction par analyse du code op des six bits de poids fort.

3 Decodage des operandes en jeu.

4 Lecture du registre operande.

5 Calcul d’adresse du mot memoire a charger.

6 Lecture du mot memoire voulu.

7 Chargement du registre destination par ce mot.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 7 / 36

Page 39: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Question du jour : comment une instruction est-elle realisee par le materiel ?

Execution de l’instruction de chargement memoire lw

registre rs registre rt

code−op lw rt adressers

+RAM

1 Determination de l’instruction a executer via le registre PC.

2 Decodage de l’instruction par analyse du code op des six bits de poids fort.

3 Decodage des operandes en jeu.

4 Lecture du registre operande.

5 Calcul d’adresse du mot memoire a charger.

6 Lecture du mot memoire voulu.

7 Chargement du registre destination par ce mot.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 7 / 36

Page 40: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Question du jour : comment une instruction est-elle realisee par le materiel ?

Execution de l’instruction arithmetique add

rtrs rd fonctcode−op add

1 Determination de l’instruction a executer via le registre PC.

2 Decodage de l’instruction par analyse des champs code op et fonct.

3 Decodage des operandes en jeu.

4 Determination et lecture des registres operandes.

5 Calcul de la somme.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 8 / 36

Page 41: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Question du jour : comment une instruction est-elle realisee par le materiel ?

Execution de l’instruction arithmetique add

rtrs rd fonct

+

code−op add

1 Determination de l’instruction a executer via le registre PC.

2 Decodage de l’instruction par analyse des champs code op et fonct.

3 Decodage des operandes en jeu.

4 Determination et lecture des registres operandes.

5 Calcul de la somme.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 8 / 36

Page 42: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Question du jour : comment une instruction est-elle realisee par le materiel ?

Execution de l’instruction arithmetique add

registre rs registre rt

rtrs rd fonct

+

registre rd

code−op add

1 Determination de l’instruction a executer via le registre PC.

2 Decodage de l’instruction par analyse des champs code op et fonct.

3 Decodage des operandes en jeu.

4 Determination et lecture des registres operandes.

5 Calcul de la somme.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 8 / 36

Page 43: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Question du jour : comment une instruction est-elle realisee par le materiel ?

Execution de l’instruction arithmetique add

registre rs registre rt

rtrs rd fonct

+

registre rd

code−op add

1 Determination de l’instruction a executer via le registre PC.

2 Decodage de l’instruction par analyse des champs code op et fonct.

3 Decodage des operandes en jeu.

4 Determination et lecture des registres operandes.

5 Calcul de la somme.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 8 / 36

Page 44: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Chemin des donnees : les unites fonctionnelles

Quels elements materiels sont en jeu dans la realisation d’une instruction ?

I Le registre PC compteur de pro-gramme.

I Une memoire � instructions �.

I Une memoire � donnees �.

I Le banc des registres pour ma-nipuler les informations dans leCPU.

I Une UAL pour realiser des calculs.

De plus, l’execution d’une instruction necessite :

=⇒ un signal d’horloge pour coordonner cesunites fonctionnelles,

=⇒ des signaux d’ecriture/lecture pour com-mander les elements memorisants.

Adr. àlire

d’instructions

Mémoire

InstructionPC

Donnéeà écrire

Adr.

lecture

Adr.écriture

Donnéelue 1

Donnéeà écrire

Reg.lecture 2

Reg.écriture Donnée

lue 2

UAL

de données

Mémoire

Donnée

lue

Reg.

lecture 1

Registres

Num Registre

Num Registre

Num Registre

Donnée

Donnée

Donnée

Bus & Unites fonctionnelles

En MIPS, donnees et instructions sont representees sur 32 bits et transitent entre lesunites fonctionnelles par des bus de cette largeur (sauf mention contraire).

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 9 / 36

Page 45: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Chemin des donnees : les unites fonctionnelles

Quels elements materiels sont en jeu dans la realisation d’une instruction ?

I Le registre PC compteur de pro-gramme.

I Une memoire � instructions �.

I Une memoire � donnees �.

I Le banc des registres pour ma-nipuler les informations dans leCPU.

I Une UAL pour realiser des calculs.

De plus, l’execution d’une instruction necessite :

=⇒ un signal d’horloge pour coordonner cesunites fonctionnelles,

=⇒ des signaux d’ecriture/lecture pour com-mander les elements memorisants.

Adr. àlire

d’instructions

Mémoire

InstructionPC

Donnéeà écrire

Adr.

lecture

Adr.écriture

Donnéelue 1

Donnéeà écrire

Reg.lecture 2

Reg.écriture Donnée

lue 2

UAL

de données

Mémoire

Donnée

lue

Reg.

lecture 1

Registres

Num Registre

Num Registre

Num Registre

Donnée

Donnée

Donnée

Bus & Unites fonctionnelles

En MIPS, donnees et instructions sont representees sur 32 bits et transitent entre lesunites fonctionnelles par des bus de cette largeur (sauf mention contraire).

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 9 / 36

Page 46: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Chemin des donnees : les unites fonctionnelles

Quels elements materiels sont en jeu dans la realisation d’une instruction ?

I Le registre PC compteur de pro-gramme.

I Une memoire � instructions �.

I Une memoire � donnees �.

I Le banc des registres pour ma-nipuler les informations dans leCPU.

I Une UAL pour realiser des calculs.

De plus, l’execution d’une instruction necessite :

=⇒ un signal d’horloge pour coordonner cesunites fonctionnelles,

=⇒ des signaux d’ecriture/lecture pour com-mander les elements memorisants.

Adr. àlire

d’instructions

Mémoire

Instruction

HorlogeHorloge

Horloge

PC

Donnéeà écrire

Adr.

lecture

Adr.écriture

Donnéelue 1

Donnéeà écrire

Reg.lecture 2

Reg.écriture Donnée

lue 2

UAL

Horloge

de données

Mémoire

Donnée

lue

Reg.

lecture 1

Registres

Num Registre

Num Registre

Num Registre

Donnée

Donnée

Donnée

Bus & Unites fonctionnelles

En MIPS, donnees et instructions sont representees sur 32 bits et transitent entre lesunites fonctionnelles par des bus de cette largeur (sauf mention contraire).

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 9 / 36

Page 47: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Chemin des donnees : les unites fonctionnelles

Quels elements materiels sont en jeu dans la realisation d’une instruction ?

I Le registre PC compteur de pro-gramme.

I Une memoire � instructions �.

I Une memoire � donnees �.

I Le banc des registres pour ma-nipuler les informations dans leCPU.

I Une UAL pour realiser des calculs.

De plus, l’execution d’une instruction necessite :

=⇒ un signal d’horloge pour coordonner cesunites fonctionnelles,

=⇒ des signaux d’ecriture/lecture pour com-mander les elements memorisants.

Adr. àlire

d’instructions

Mémoire

Instruction

Donnéeà écrire

Adr.

lecture

Adr.écriture

de données

Mémoire

Donnée

lue

Ecrire

Lire

Donnéelue 1

Donnéeà écrire

Reg.lecture 2

Reg.écriture Donnée

lue 2

Reg.

lecture 1

Registres

Num Registre

Num Registre

Num Registre

Donnée

Donnée

Donnée

Ecrire

UAL

Opération UAL

HorlogeHorloge

Horloge

PC

Ecrire

Horloge

Bus & Unites fonctionnelles

En MIPS, donnees et instructions sont representees sur 32 bits et transitent entre lesunites fonctionnelles par des bus de cette largeur (sauf mention contraire).

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 9 / 36

Page 48: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Execution d’une instruction & cycle d’horloge

Comment agencer dans le temps les differentes etapes d’une instruction ?

=⇒ En synchronisant les elements d’etats par des signaux... associes a une horloge.

période d’horloge front descendant

front montant

t

Un peu de terminologie

I La periode d’horloge est aussi appelee cycle d’horloge.

I Une mesure interessante pour caracteriser une architecture est le CPI, i.e. le nombremoyen de cycle par instructions d’un programme.

=⇒ Permet de comparer deux mises en oeuvre d’une meme architecture ISA.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 10 / 36

Page 49: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Execution d’une instruction & cycle d’horloge

Comment agencer dans le temps les differentes etapes d’une instruction ?

=⇒ En synchronisant les elements d’etats par des signaux... associes a une horloge.

période d’horloge front descendant

front montant

t t

Un peu de terminologie

I La periode d’horloge est aussi appelee cycle d’horloge.

I Une mesure interessante pour caracteriser une architecture est le CPI, i.e. le nombremoyen de cycle par instructions d’un programme.

=⇒ Permet de comparer deux mises en oeuvre d’une meme architecture ISA.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 10 / 36

Page 50: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Execution d’une instruction & cycle d’horloge

Comment agencer dans le temps les differentes etapes d’une instruction ?

=⇒ En synchronisant les elements d’etats par des signaux... associes a une horloge.

période d’horloge front descendant

front montant

t

nt

Eta

t

t n

Un peu de terminologie

I La periode d’horloge est aussi appelee cycle d’horloge.

I Une mesure interessante pour caracteriser une architecture est le CPI, i.e. le nombremoyen de cycle par instructions d’un programme.

=⇒ Permet de comparer deux mises en oeuvre d’une meme architecture ISA.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 10 / 36

Page 51: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Execution d’une instruction & cycle d’horloge

Comment agencer dans le temps les differentes etapes d’une instruction ?

=⇒ En synchronisant les elements d’etats par des signaux... associes a une horloge.

période d’horloge front descendant

front montant

t

nt

Eta

t

n+

1t

calcul

tt

Eta

t

n+1n

Un peu de terminologie

I La periode d’horloge est aussi appelee cycle d’horloge.

I Une mesure interessante pour caracteriser une architecture est le CPI, i.e. le nombremoyen de cycle par instructions d’un programme.

=⇒ Permet de comparer deux mises en oeuvre d’une meme architecture ISA.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 10 / 36

Page 52: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Execution d’une instruction & cycle d’horloge

Comment agencer dans le temps les differentes etapes d’une instruction ?

=⇒ En synchronisant les elements d’etats par des signaux... associes a une horloge.

période d’horloge front descendant

front montant

tt n+2

nt

Eta

t

n+

2t

Eta

t

n+

1t

calcul calcul

tt

Eta

t

n+1n

Un peu de terminologie

I La periode d’horloge est aussi appelee cycle d’horloge.

I Une mesure interessante pour caracteriser une architecture est le CPI, i.e. le nombremoyen de cycle par instructions d’un programme.

=⇒ Permet de comparer deux mises en oeuvre d’une meme architecture ISA.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 10 / 36

Page 53: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Execution d’une instruction & cycle d’horloge

Comment agencer dans le temps les differentes etapes d’une instruction ?

=⇒ En synchronisant les elements d’etats par des signaux... associes a une horloge.

période d’horloge front descendant

front montant

tt n+2

nt

Eta

t

n+

2t

Eta

t

n+

1t

calcul calcul

tt

Eta

t

n+1n. . .

Un peu de terminologie

I La periode d’horloge est aussi appelee cycle d’horloge.

I Une mesure interessante pour caracteriser une architecture est le CPI, i.e. le nombremoyen de cycle par instructions d’un programme.

=⇒ Permet de comparer deux mises en oeuvre d’une meme architecture ISA.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 10 / 36

Page 54: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Execution d’une instruction & cycle d’horloge

Comment agencer dans le temps les differentes etapes d’une instruction ?

=⇒ En synchronisant les elements d’etats par des signaux... associes a une horloge.

période d’horloge front descendant

front montant

t t

Un peu de terminologie

I La periode d’horloge est aussi appelee cycle d’horloge.

I Une mesure interessante pour caracteriser une architecture est le CPI, i.e. le nombremoyen de cycle par instructions d’un programme.

=⇒ Permet de comparer deux mises en oeuvre d’une meme architecture ISA.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 10 / 36

Page 55: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Execution d’une instruction & cycle d’horloge

Comment agencer dans le temps les differentes etapes d’une instruction ?

=⇒ En synchronisant les elements d’etats par des signaux... associes a une horloge.

période d’horloge front descendant

front montant

t

nt

Eta

t

t n

Un peu de terminologie

I La periode d’horloge est aussi appelee cycle d’horloge.

I Une mesure interessante pour caracteriser une architecture est le CPI, i.e. le nombremoyen de cycle par instructions d’un programme.

=⇒ Permet de comparer deux mises en oeuvre d’une meme architecture ISA.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 10 / 36

Page 56: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Execution d’une instruction & cycle d’horloge

Comment agencer dans le temps les differentes etapes d’une instruction ?

=⇒ En synchronisant les elements d’etats par des signaux... associes a une horloge.

période d’horloge front descendant

front montant

t

nt

Eta

t

n+

1t

calcul

tt

Eta

t

n+1n

Un peu de terminologie

I La periode d’horloge est aussi appelee cycle d’horloge.

I Une mesure interessante pour caracteriser une architecture est le CPI, i.e. le nombremoyen de cycle par instructions d’un programme.

=⇒ Permet de comparer deux mises en oeuvre d’une meme architecture ISA.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 10 / 36

Page 57: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Execution d’une instruction & cycle d’horloge

Comment agencer dans le temps les differentes etapes d’une instruction ?

=⇒ En synchronisant les elements d’etats par des signaux... associes a une horloge.

période d’horloge front descendant

front montant

tt n+2

nt

Eta

t

n+

2t

Eta

t

n+

1t

calcul calcul

tt

Eta

t

n+1n

Un peu de terminologie

I La periode d’horloge est aussi appelee cycle d’horloge.

I Une mesure interessante pour caracteriser une architecture est le CPI, i.e. le nombremoyen de cycle par instructions d’un programme.

=⇒ Permet de comparer deux mises en oeuvre d’une meme architecture ISA.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 10 / 36

Page 58: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Execution d’une instruction & cycle d’horloge

Comment agencer dans le temps les differentes etapes d’une instruction ?

=⇒ En synchronisant les elements d’etats par des signaux... associes a une horloge.

période d’horloge front descendant

front montant

tt n+2

nt

Eta

t

n+

2t

Eta

t

n+

1t

calcul calcul

tt

Eta

t

n+1n. . .

Un peu de terminologie

I La periode d’horloge est aussi appelee cycle d’horloge.

I Une mesure interessante pour caracteriser une architecture est le CPI, i.e. le nombremoyen de cycle par instructions d’un programme.

=⇒ Permet de comparer deux mises en oeuvre d’une meme architecture ISA.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 10 / 36

Page 59: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Execution d’une instruction & cycle d’horloge – cas mono-cycle

Comment agencer dans le temps les differentes etapes d’une instruction ?

=⇒ En considerant un cycle d’horloge pour realiser toute instruction.

rtrs rd fonctcode−op add

nt

Eta

t

t n

Realisation mono-cycle (etudie dans ce cours)

Disposer d’une periode d’horloge suffisamment grande permettant d’executer en un cycle toute instruction de l’ISA.√

Chemin des donnees � facile � a realiser.√

Controle � facile � a realiser.

X Redondance materielle evidente.

X Mauvaises performances (car tres sequentiel).

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 11 / 36

Page 60: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Execution d’une instruction & cycle d’horloge – cas mono-cycle

Comment agencer dans le temps les differentes etapes d’une instruction ?

=⇒ En considerant un cycle d’horloge pour realiser toute instruction.

rtrs rd fonct

+

code−op add

nt

Eta

t

t n

Realisation mono-cycle (etudie dans ce cours)

Disposer d’une periode d’horloge suffisamment grande permettant d’executer en un cycle toute instruction de l’ISA.√

Chemin des donnees � facile � a realiser.√

Controle � facile � a realiser.

X Redondance materielle evidente.

X Mauvaises performances (car tres sequentiel).

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 11 / 36

Page 61: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Execution d’une instruction & cycle d’horloge – cas mono-cycle

Comment agencer dans le temps les differentes etapes d’une instruction ?

=⇒ En considerant un cycle d’horloge pour realiser toute instruction.

registre rs registre rt

rtrs rd fonct

+

registre rd

code−op add

nt

Eta

t

t n

Realisation mono-cycle (etudie dans ce cours)

Disposer d’une periode d’horloge suffisamment grande permettant d’executer en un cycle toute instruction de l’ISA.√

Chemin des donnees � facile � a realiser.√

Controle � facile � a realiser.

X Redondance materielle evidente.

X Mauvaises performances (car tres sequentiel).

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 11 / 36

Page 62: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Execution d’une instruction & cycle d’horloge – cas mono-cycle

Comment agencer dans le temps les differentes etapes d’une instruction ?

=⇒ En considerant un cycle d’horloge pour realiser toute instruction.

registre rs registre rt

rtrs rd fonct

+

registre rd

code−op add

nt

Eta

t

t n

Realisation mono-cycle (etudie dans ce cours)

Disposer d’une periode d’horloge suffisamment grande permettant d’executer en un cycle toute instruction de l’ISA.√

Chemin des donnees � facile � a realiser.√

Controle � facile � a realiser.

X Redondance materielle evidente.

X Mauvaises performances (car tres sequentiel).

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 11 / 36

Page 63: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Execution d’une instruction & cycle d’horloge – cas mono-cycle

Comment agencer dans le temps les differentes etapes d’une instruction ?

=⇒ En considerant un cycle d’horloge pour realiser toute instruction.

code−op lw rt adressers

nt

Eta

t

n+

1t

calcul

tt

Eta

t

n+1n

Realisation mono-cycle (etudie dans ce cours)

Disposer d’une periode d’horloge suffisamment grande permettant d’executer en un cycle toute instruction de l’ISA.√

Chemin des donnees � facile � a realiser.√

Controle � facile � a realiser.

X Redondance materielle evidente.

X Mauvaises performances (car tres sequentiel).

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 11 / 36

Page 64: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Execution d’une instruction & cycle d’horloge – cas mono-cycle

Comment agencer dans le temps les differentes etapes d’une instruction ?

=⇒ En considerant un cycle d’horloge pour realiser toute instruction.

registre rs registre rt

code−op lw rt adressers

nt

Eta

t

n+

1t

calcul

tt

Eta

t

n+1n

Realisation mono-cycle (etudie dans ce cours)

Disposer d’une periode d’horloge suffisamment grande permettant d’executer en un cycle toute instruction de l’ISA.√

Chemin des donnees � facile � a realiser.√

Controle � facile � a realiser.

X Redondance materielle evidente.

X Mauvaises performances (car tres sequentiel).

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 11 / 36

Page 65: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Execution d’une instruction & cycle d’horloge – cas mono-cycle

Comment agencer dans le temps les differentes etapes d’une instruction ?

=⇒ En considerant un cycle d’horloge pour realiser toute instruction.

registre rs registre rt

code−op lw rt adressers

+

nt

Eta

t

n+

1t

calcul

tt

Eta

t

n+1n

Realisation mono-cycle (etudie dans ce cours)

Disposer d’une periode d’horloge suffisamment grande permettant d’executer en un cycle toute instruction de l’ISA.√

Chemin des donnees � facile � a realiser.√

Controle � facile � a realiser.

X Redondance materielle evidente.

X Mauvaises performances (car tres sequentiel).

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 11 / 36

Page 66: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Execution d’une instruction & cycle d’horloge – cas mono-cycle

Comment agencer dans le temps les differentes etapes d’une instruction ?

=⇒ En considerant un cycle d’horloge pour realiser toute instruction.

registre rs registre rt

code−op lw rt adressers

+RAM

nt

Eta

t

n+

1t

calcul

tt

Eta

t

n+1n

Realisation mono-cycle (etudie dans ce cours)

Disposer d’une periode d’horloge suffisamment grande permettant d’executer en un cycle toute instruction de l’ISA.√

Chemin des donnees � facile � a realiser.√

Controle � facile � a realiser.

X Redondance materielle evidente.

X Mauvaises performances (car tres sequentiel).

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 11 / 36

Page 67: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Execution d’une instruction & cycle d’horloge – cas mono-cycle

Comment agencer dans le temps les differentes etapes d’une instruction ?

=⇒ En considerant un cycle d’horloge pour realiser toute instruction.

registre rs registre rt

code−op lw rt adressers

+RAM t n+2

nt

Eta

t

n+

2t

Eta

t

n+

1t

calcul calcul

tt

Eta

t

n+1n

Realisation mono-cycle (etudie dans ce cours)

Disposer d’une periode d’horloge suffisamment grande permettant d’executer en un cycle toute instruction de l’ISA.√

Chemin des donnees � facile � a realiser.√

Controle � facile � a realiser.

X Redondance materielle evidente.

X Mauvaises performances (car tres sequentiel).

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 11 / 36

Page 68: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Execution d’une instruction & cycle d’horloge – cas multi-cycle

Comment agencer dans le temps les differentes etapes d’une instruction ?

=⇒ En considerant chaque cycle d’horloge pour realiser une etape d’instruction.

rtrs rd fonctcode−op add

nt

Eta

t

t n

Realisation multi-cycle

Augmenter la frequence d’horloge et � paralleliser � l’usage des unites fonctionnelles pour � servir � plusieursinstructions.

√Bonne utilisation du materiel.

√Amelioration sensible des performances.

X Chemin des donnees ingenieux.

X Controle tres sophistique.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 12 / 36

Page 69: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Execution d’une instruction & cycle d’horloge – cas multi-cycle

Comment agencer dans le temps les differentes etapes d’une instruction ?

=⇒ En considerant chaque cycle d’horloge pour realiser une etape d’instruction.

rtrs rd fonct

+

code−op add

nt

Eta

t

n+

1t

calcul

tt

Eta

t

n+1n

Realisation multi-cycle

Augmenter la frequence d’horloge et � paralleliser � l’usage des unites fonctionnelles pour � servir � plusieursinstructions.

√Bonne utilisation du materiel.

√Amelioration sensible des performances.

X Chemin des donnees ingenieux.

X Controle tres sophistique.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 12 / 36

Page 70: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Execution d’une instruction & cycle d’horloge – cas multi-cycle

Comment agencer dans le temps les differentes etapes d’une instruction ?

=⇒ En considerant chaque cycle d’horloge pour realiser une etape d’instruction.

registre rs registre rt

rtrs rd fonct

+

registre rd

code−op add

t n+2

nt

Eta

t

n+

2t

Eta

t

n+

1t

calcul calcul

tt

Eta

t

n+1n. . .

Realisation multi-cycle

Augmenter la frequence d’horloge et � paralleliser � l’usage des unites fonctionnelles pour � servir � plusieursinstructions.

√Bonne utilisation du materiel.

√Amelioration sensible des performances.

X Chemin des donnees ingenieux.

X Controle tres sophistique.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 12 / 36

Page 71: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Execution d’une instruction & cycle d’horloge – cas multi-cycle

Comment agencer dans le temps les differentes etapes d’une instruction ?

=⇒ En considerant chaque cycle d’horloge pour realiser une etape d’instruction.

registre rs registre rt

rtrs rd fonct

+

registre rd

code−op add

t n+2

nt

Eta

t

n+

2t

Eta

t

n+

1t

t n+3

n+

3t

calcul calcul

tt

Eta

t

n+1n

Eta

t

calcul

Realisation multi-cycle

Augmenter la frequence d’horloge et � paralleliser � l’usage des unites fonctionnelles pour � servir � plusieursinstructions.

√Bonne utilisation du materiel.

√Amelioration sensible des performances.

X Chemin des donnees ingenieux.

X Controle tres sophistique.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 12 / 36

Page 72: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Execution d’une instruction & cycle d’horloge – synthese

Comment executer une instruction ?

=⇒ Utiliser un seul cycle par CDE vs. utiliser plusieurs cycles par CDE.

1 c

ycl

e

Performance :

=⇒ Les processeurs modernes sont tous multi-cycle.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 13 / 36

Page 73: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Execution d’une instruction & cycle d’horloge – synthese

Comment executer une instruction ?

=⇒ Utiliser un seul cycle par CDE vs. utiliser plusieurs cycles par CDE.

1 c

ycl

e

Performance :

=⇒ Les processeurs modernes sont tous multi-cycle.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 13 / 36

Page 74: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Execution d’une instruction & cycle d’horloge – synthese

Comment executer une instruction ?

=⇒ Utiliser un seul cycle par CDE vs. utiliser plusieurs cycles par CDE.. . .

1c.

1c.

1c.

1c. 1 c

ycl

e

Performance :

=⇒ Les processeurs modernes sont tous multi-cycle.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 13 / 36

Page 75: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

1 Couche micro-architecture

2 Construction d’un chemin des donnees

3 Controle du chemin des donnees

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 14 / 36

Page 76: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : Construction du chemin des donnees mono-cycle – generalites

Qu’est-ce que la construction du chemin des donnees ?

=⇒ C’est un peu un jeu de Lego !

I avec comme pieces :

Adr. à

lire

d’instructions

Mémoire

Instruction

Donnée

lue 1

Donnée

à écrire

Reg.

lecture 2

Reg.

écriture Donnée

lue 2

Reg.

lecture 1

Registres

Num Registre

Num Registre

Num Registre

Donnée

Donnée

Donnée

Ecrire

UAL

Opération UAL

Donnée

à écrire

Adr.

lecture

Adr.

écriture

de données

Mémoire

Donnée

lue

Ecrire

Lire

PC

Ecrire

I et avec les contraintes suivantes sur l’agencement des pieces :

Tous les types d’instructionsdoivent etre :

• analyses,

• traites

correctement par les unitesfonctionnelles precedemmentcablees.

6 5 0101115202126 2531 16

reg.operande

Rs

reg.operande

Rtcode op

Rd

reg.dest.decval fonct.

Format d’instruction R

registre−registre

015202126 2531 16

reg.operande

Rs

reg.operande

Rtcode op Immédiat 16bits

Format d’instruction I

immédiat

026 2531

code op Adresse 26 bits

saut d’instructions

Format d’instruction J

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 15 / 36

Page 77: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : construction du chemin des donnees mono-cycle – Methodologie

Comment concevoir un chemin des donnees coherent ?

=⇒ En procedant par etape, puis en ajoutant le controle.

1) Etude de l’ISA

I Bien observer la description de l’ISA (formatsR, I, J).

I Bien comprendre le travail a faire pour chaqueformat d’instructions.

I Identifier les flux d’informations entre lesunites fonctionnelles pour ces formats.

2) Projection sur le materiel

I Realiser a partir des unites fonctionnelles lesbriques elementaires pour la realisation ducycle � chercher, executer, decoder �.

I Factoriser si possible.

I Identifier la partie a controler.

3) Construction effective

I Cabler entre elles ces differentes briques.

I Ajouter le controle.

4) Realisation du controle

Realiser la partie controle en fonction des signaux precedemment identifies afin d’assurer la coherence du chemindes donnees. Plusieurs techniques :

I Ajout de circuits combinatoires (� cas simple �).

I Definition d’un automate fini et realisation d’un circuit de controle (CAO industrielle).

I Utiliser une ROM et un microprogramme (CAO industrielle).

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 16 / 36

Page 78: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – determiner l’instruction courante

Comment faire pour executer la prochaine instruction ?

=⇒ Interroger PC, extraction memoire, mise-a-jour de PC.

d’instructions

Mémoire

Instruction

PC

4

Add

Adr. à

lire

Extraction d’une instructions

Lire le registre compteurprogramme, et retournerl’instruction se situant a cetteadresse.

Mise a jour de PC

Par defaut, ajouter 4 a l’adresse duregistre.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 17 / 36

Page 79: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – determiner l’instruction courante

Comment faire pour executer la prochaine instruction ?

=⇒ Interroger PC, extraction memoire, mise-a-jour de PC.

d’instructions

Mémoire

Instruction

PC

4

Add

Adr. à

lire

Extraction d’une instructions

Lire le registre compteurprogramme, et retournerl’instruction se situant a cetteadresse.

Mise a jour de PC

Par defaut, ajouter 4 a l’adresse duregistre.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 17 / 36

Page 80: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – determiner l’instruction courante

Comment faire pour executer la prochaine instruction ?

=⇒ Interroger PC, extraction memoire, mise-a-jour de PC.

Adr. à

lire

d’instructions

Mémoire

Instruction

PC

4

Add

Extraction d’une instructions

Lire le registre compteurprogramme, et retournerl’instruction se situant a cetteadresse.

Mise a jour de PC

Par defaut, ajouter 4 a l’adresse duregistre.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 17 / 36

Page 81: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – determiner l’instruction courante

Comment faire pour executer la prochaine instruction ?

=⇒ Interroger PC, extraction memoire, mise-a-jour de PC.

Adr. à

lire

d’instructions

Mémoire

Add

Instruction

PC

4

Extraction d’une instructions

Lire le registre compteurprogramme, et retournerl’instruction se situant a cetteadresse.

Mise a jour de PC

Par defaut, ajouter 4 a l’adresse duregistre.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 17 / 36

Page 82: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – determiner l’instruction courante

Comment faire pour executer la prochaine instruction ?

=⇒ Interroger PC, extraction memoire, mise-a-jour de PC.

Adr. à

lire

d’instructions

Mémoire

4

Add

Instruction

PC

Extraction d’une instructions

Lire le registre compteurprogramme, et retournerl’instruction se situant a cetteadresse.

Mise a jour de PC

Par defaut, ajouter 4 a l’adresse duregistre.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 17 / 36

Page 83: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – determiner l’instruction courante – illustration

Initiation d’un nouveau cycle CDE

Adr. à

lire

d’instructions

Mémoire

4

Add

Instruction

PC

1 Le registre PC est lu. Sa valeur est aussiacheminee aupres d’une UAL pourincrementation.

2 La memoire d’instructions retournel’instruction courante.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 18 / 36

Page 84: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – determiner l’instruction courante – illustration

Initiation d’un nouveau cycle CDE

PCAdr. à

lire

d’instructions

Mémoire

4

Add

Instruction

1 Le registre PC est lu. Sa valeur est aussiacheminee aupres d’une UAL pourincrementation.

2 La memoire d’instructions retournel’instruction courante.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 18 / 36

Page 85: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – determiner l’instruction courante – illustration

Initiation d’un nouveau cycle CDE

PCAdr. à

lire

d’instructions

Mémoire

4

Add

Instruction

1 Le registre PC est lu. Sa valeur est aussiacheminee aupres d’une UAL pourincrementation.

2 La memoire d’instructions retournel’instruction courante.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 18 / 36

Page 86: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – effectuer des calculs

Comment executer une instruction de type R (add, and, slt...) ?

=⇒ Retrouver les donnees & activer l’UAL.

UALInstruction

zéro

résultatUAL

Registres

lecture 1

Reg.

lecture 2Reg. Donnée

lue 1

Donnéelue 2

écritureReg.

Donnéeà écrire

Etape 1 : le banc des registres

Il contient 32 registres de 32 bits chacun :

I 3 ports pour definir les registres operandes enjeu,

I 1 port pour lire une donnee en ecriture (ac-tivee par un signal explicite du controle),

I 2 ports pour envoyer les donnees demandeesa l’UAL.

Etape 2 : l’ALU

C’est une petite calculette (circuit combinatoire).Ici :

I deux ports acheminent les operandes.

I un signal large de 3 bits encode l’operationvoulue (posee ulterieurement sur l’UAL).

I ajouter une sortie detection de zero pour unbranchement imminent (cf. beq).

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 19 / 36

Page 87: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – effectuer des calculs

Comment executer une instruction de type R (add, and, slt...) ?

=⇒ Retrouver les donnees & activer l’UAL.

Donnéeà écrire

Reg.lecture 2

Reg.écriture

Donnéelue 2

Donnéelue 1

Reg.

lecture 1

Registres UALInstruction

zéro

résultatUAL

Etape 1 : le banc des registres

Il contient 32 registres de 32 bits chacun :

I 3 ports pour definir les registres operandes enjeu,

I 1 port pour lire une donnee en ecriture (ac-tivee par un signal explicite du controle),

I 2 ports pour envoyer les donnees demandeesa l’UAL.

Etape 2 : l’ALU

C’est une petite calculette (circuit combinatoire).Ici :

I deux ports acheminent les operandes.

I un signal large de 3 bits encode l’operationvoulue (posee ulterieurement sur l’UAL).

I ajouter une sortie detection de zero pour unbranchement imminent (cf. beq).

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 19 / 36

Page 88: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – effectuer des calculs

Comment executer une instruction de type R (add, and, slt...) ?

=⇒ Retrouver les donnees & activer l’UAL.

Donnéeà écrire

Reg.lecture 2

Reg.écriture

Donnéelue 2

Donnéelue 1

Reg.

lecture 1

Registres UALrésultat

UAL

zéro

Instruction

Etape 1 : le banc des registres

Il contient 32 registres de 32 bits chacun :

I 3 ports pour definir les registres operandes enjeu,

I 1 port pour lire une donnee en ecriture (ac-tivee par un signal explicite du controle),

I 2 ports pour envoyer les donnees demandeesa l’UAL.

Etape 2 : l’ALU

C’est une petite calculette (circuit combinatoire).Ici :

I deux ports acheminent les operandes.

I un signal large de 3 bits encode l’operationvoulue (posee ulterieurement sur l’UAL).

I ajouter une sortie detection de zero pour unbranchement imminent (cf. beq).

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 19 / 36

Page 89: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – effectuer des calculs

Comment executer une instruction de type R (add, and, slt...) ?

=⇒ Retrouver les donnees & activer l’UAL.

Donnéeà écrire

Reg.lecture 2

Reg.écriture

Donnéelue 2

Donnéelue 1

Reg.

lecture 1

RegistresInstruction

UALrésultat

UAL

zéro

Etape 1 : le banc des registres

Il contient 32 registres de 32 bits chacun :

I 3 ports pour definir les registres operandes enjeu,

I 1 port pour lire une donnee en ecriture (ac-tivee par un signal explicite du controle),

I 2 ports pour envoyer les donnees demandeesa l’UAL.

Etape 2 : l’ALU

C’est une petite calculette (circuit combinatoire).Ici :

I deux ports acheminent les operandes.

I un signal large de 3 bits encode l’operationvoulue (posee ulterieurement sur l’UAL).

I ajouter une sortie detection de zero pour unbranchement imminent (cf. beq).

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 19 / 36

Page 90: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – effectuer des calculs – exemple

Execution d’une instruction add

6 bits 5 bits 5 bits 5 bits 6 bits5 bits

code−op rs rt rd decval fonct

0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0

$17 $18 $8add

Donnéeà écrire

Registres UALrésultat

UAL

zéro

add $8, $17, $18

Donnée

Donnée

lue 1

lue 2écritureReg.

lecture 2 Reg.

Reg.lecture 1

1 Les fils acheminentl’information del’instruction au bancdes registres.

2 Le banc presente lesvaleurs a l’UAL.

3 Le banc des registresprocede a l’ecrituredu resultat.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 20 / 36

Page 91: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – effectuer des calculs – exemple

Execution d’une instruction add

6 bits 5 bits 5 bits 5 bits 6 bits5 bits

code−op rs rt rd decval fonct

0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0

$17 $18 $8add

Donnée

à écrire

Registres UALrésultat

UAL

zéro

add $8, $17, $18

10010

01000

Donnée

Donnée

lue 1

lue 2

10001

1 Les fils acheminentl’information del’instruction au bancdes registres.

2 Le banc presente lesvaleurs a l’UAL.

3 Le banc des registresprocede a l’ecrituredu resultat.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 20 / 36

Page 92: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – effectuer des calculs – exemple

Execution d’une instruction add

6 bits 5 bits 5 bits 5 bits 6 bits5 bits

code−op rs rt rd decval fonct

0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0

$17 $18 $8add

Donnéeà écrire

Registres UALrésultat

UAL

zéro

add $8, $17, $18

10010

01000

Donnée

10001

Reg. 17

DonnéeReg. 18

1 Les fils acheminentl’information del’instruction au bancdes registres.

2 Le banc presente lesvaleurs a l’UAL.

3 Le banc des registresprocede a l’ecrituredu resultat.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 20 / 36

Page 93: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – effectuer des calculs – exemple

Execution d’une instruction add

6 bits 5 bits 5 bits 5 bits 6 bits5 bits

code−op rs rt rd decval fonct

0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0

$17 $18 $8add

EcritureReg. 8

Registres UALrésultat

UAL

zéro

add $8, $17, $18

10010

01000

Reg. 17

Reg. 18Donnée

Donnée

10001

1 Les fils acheminentl’information del’instruction au bancdes registres.

2 Le banc presente lesvaleurs a l’UAL.

3 Le banc des registresprocede a l’ecrituredu resultat.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 20 / 36

Page 94: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – acceder aux donnees

Comment realiser une instruction de rangement/chargement ?

=⇒ Acceder a la memoire & effectuer un calcul par l’UAL.

Adr.

lecture

Adr.écriture

Donnéeà écrire

16 32Etendre

signe

Donnéeà écrire

Reg.écriture

Reg.lecture 2 Donnée

lue 1

Donnéelue 2

Instruction

Mémoire

de données

Donnée

lue

zéro

UALrésultat

UAL

Registres

lecture 1

Reg.

Rangement (sw)/Chargement (lw) en memoire de donnees

1 Determiner les registres operandes (source/destination et base).

2 Ajuster sur 32 bits l’immediat encode dans l’instruction.

3 Realiser une addition.

4 S’adresser a la memoire de donnees.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 21 / 36

Page 95: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – acceder aux donnees

Comment realiser une instruction de rangement/chargement ?

=⇒ Acceder a la memoire & effectuer un calcul par l’UAL.

Donnéelue 1

Donnéelue 2

Donnéeà écrire

Reg.lecture 2

Reg.écriture

Adr.

lecture

Adr.écriture

Donnéeà écrire

16 32Etendre

signe

Reg.

lecture 1

RegistresInstruction

Mémoire

de données

Donnée

lue

zéro

UALrésultat

UAL

Rangement (sw)/Chargement (lw) en memoire de donnees

1 Determiner les registres operandes (source/destination et base).

2 Ajuster sur 32 bits l’immediat encode dans l’instruction.

3 Realiser une addition.

4 S’adresser a la memoire de donnees.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 21 / 36

Page 96: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – acceder aux donnees

Comment realiser une instruction de rangement/chargement ?

=⇒ Acceder a la memoire & effectuer un calcul par l’UAL.

Donnéelue 1

Donnéelue 2

Etendre

signe

32

Donnéeà écrire

Reg.lecture 2

16

Reg.écriture

Adr.

lecture

Adr.écriture

Donnéeà écrire

Reg.

lecture 1

RegistresInstruction

Mémoire

de données

Donnée

lue

zéro

UALrésultat

UAL

Rangement (sw)/Chargement (lw) en memoire de donnees

1 Determiner les registres operandes (source/destination et base).

2 Ajuster sur 32 bits l’immediat encode dans l’instruction.

3 Realiser une addition.

4 S’adresser a la memoire de donnees.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 21 / 36

Page 97: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – acceder aux donnees

Comment realiser une instruction de rangement/chargement ?

=⇒ Acceder a la memoire & effectuer un calcul par l’UAL.

Donnéelue 1

Donnéelue 2

Etendre

signe

32

Donnéeà écrire

Reg.lecture 2

16

Reg.écriture

Adr.

lecture

Adr.écriture

Donnéeà écrire

Reg.

lecture 1

Registres UALrésultat

UAL

zéroInstruction

Mémoire

de données

Donnée

lue

Rangement (sw)/Chargement (lw) en memoire de donnees

1 Determiner les registres operandes (source/destination et base).

2 Ajuster sur 32 bits l’immediat encode dans l’instruction.

3 Realiser une addition.

4 S’adresser a la memoire de donnees.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 21 / 36

Page 98: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – acceder aux donnees

Comment realiser une instruction de rangement/chargement ?

=⇒ Acceder a la memoire & effectuer un calcul par l’UAL.

Donnéelue 1

Donnéelue 2

Etendre

signe

32

Donnéeà écrire

Reg.lecture 2

16

Reg.écriture

Donnéeà écrire

Adr.

lecture

Adr.écriture

Reg.

lecture 1

Registres

de données

Mémoire

Donnée

lueUALrésultat

UAL

zéroInstruction

Rangement (sw)/Chargement (lw) en memoire de donnees

1 Determiner les registres operandes (source/destination et base).

2 Ajuster sur 32 bits l’immediat encode dans l’instruction.

3 Realiser une addition.

4 S’adresser a la memoire de donnees.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 21 / 36

Page 99: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – acceder aux donnees

Comment realiser une instruction de rangement/chargement ?

=⇒ Acceder a la memoire & effectuer un calcul par l’UAL.

Donnéelue 1

Donnéelue 2

Etendre

signe

32

Donnéeà écrire

Reg.lecture 2

16

Reg.écriture

Donnéeà écrire

Adr.

lecture

Adr.écriture

Reg.

lecture 1

RegistresInstruction

de données

Mémoire

Donnée

lueUALrésultat

UAL

zéro

Rangement (sw)/Chargement (lw) en memoire de donnees

1 Determiner les registres operandes (source/destination et base).

2 Ajuster sur 32 bits l’immediat encode dans l’instruction.

3 Realiser une addition.

4 S’adresser a la memoire de donnees.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 21 / 36

Page 100: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – acceder aux donnees

Execution d’une instruction sw

Etendre

signe

3216

Donnéeà écrire

Adr.

lecture

Adr.écriture

6 bits 5 bits

Reg.écriture

Donnéeà écrire

Registres

de données

Mémoire

Donnée

lueUALrésultat

UAL

zérosw $18, 8($17)

code−op rs rt

1 0 1 1 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0

$18sw $17

5 bits

immediat

16 bits

0 0 0

8

0 0 1 0 1

Donnée

Donnée

lue 1

Reg.lecture 1

Reg.lecture 2

lue 2

1 Les fils acheminent l’information de l’instruction au banc des registres.

2 Le banc presente la valeur a l’UAL et l’immediat est etendu sur 32 bits.

3 La donnee du registre est ecrite a l’adresse memoire calculee.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 22 / 36

Page 101: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – acceder aux donnees

Execution d’une instruction sw

Etendre

signe

3216

Donnéeà écrire

Adr.

lecture

Adr.écriture

6 bits 5 bits

Reg.écriture

Donnéeà écrire

Registres

de données

Mémoire

Donnée

lueUALrésultat

UAL

zéro

10010

10001

sw $18, 8($17)

0000000000001000

code−op rs rt

1 0 1 1 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0

$18sw $17

5 bits

immediat

16 bits

0 0 0

8

0 0 1 0 1

Donnée

Donnée

lue 1

lue 2

1 Les fils acheminent l’information de l’instruction au banc des registres.

2 Le banc presente la valeur a l’UAL et l’immediat est etendu sur 32 bits.

3 La donnee du registre est ecrite a l’adresse memoire calculee.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 22 / 36

Page 102: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – acceder aux donnees

Execution d’une instruction sw

Etendre

signe

3216

Donnéeà écrire

Adr.

lecture

Adr.écriture

6 bits 5 bits

Reg.écriture

Donnéeà écrire

Registres

de données

Mémoire

Donnée

lueUALrésultat

UAL

zéro

10010

10001

sw $18, 8($17)

0000000000001000

code−op rs rt

1 0 1 1 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0

$18sw $17

5 bits

immediat

16 bits

0 0 0

8

0 0 1 0 1

Donnée

Donnée

Reg. 17

Reg. 18

1 Les fils acheminent l’information de l’instruction au banc des registres.

2 Le banc presente la valeur a l’UAL et l’immediat est etendu sur 32 bits.

3 La donnee du registre est ecrite a l’adresse memoire calculee.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 22 / 36

Page 103: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – acceder aux donnees

Execution d’une instruction sw

Etendre

signe

3216

Donnéeà écrire

Adr.

lecture

Adr.écriture

6 bits 5 bits

Reg.écriture

Donnéeà écrire

Registres

de données

Mémoire

Donnée

lueUALrésultat

UAL

zéro

10010

10001

sw $18, 8($17)

0000000000001000

code−op rs rt

1 0 1 1 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0

$18sw $17

5 bits

immediat

16 bits

0 0 0

8

0 0 1 0 1

Donnée

Donnée

Reg. 17

Reg. 18

1 Les fils acheminent l’information de l’instruction au banc des registres.

2 Le banc presente la valeur a l’UAL et l’immediat est etendu sur 32 bits.

3 La donnee du registre est ecrite a l’adresse memoire calculee.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 22 / 36

Page 104: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – acceder aux donnees

Execution d’une instruction lw

Etendre

signe

3216

Donnéeà écrire

Adr.

lecture

Adr.écriture

6 bits 5 bits

Reg.écriture

Donnéeà écrire

Registres

de données

Mémoire

Donnée

lueUALrésultat

UAL

zérolw $18, 8($17)

code−op rs rt

1 0 1 1 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0

$18$17

5 bits

immediat

16 bits

0 0 0

8

0 0 1 0

Donnée

Donnée

lue 1

lue 2

Reg.lecture 1

Reg.lecture 2

lw

0

1 Les fils acheminent l’information de l’instruction au banc des registres.

2 Le banc presente la valeur a l’UAL et l’immediat est etendu sur 32 bits.

3 L’UAL calcule l’adresse memoire voulue.

4 La memoire retourne la donnee demandee.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 23 / 36

Page 105: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – acceder aux donnees

Execution d’une instruction lw

Etendre

signe

3216

Donnéeà écrire

Adr.

lecture

Adr.écriture

6 bits 5 bits

Reg.écriture

Donnéeà écrire

Registres

de données

Mémoire

Donnée

lueUALrésultat

UAL

zérolw $18, 8($17)

code−op rs rt

1 0 1 1 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0

$18$17

5 bits

immediat

16 bits

0 0 0

8

0 0 1 0

Donnée

Donnée

lue 1

lue 2

lw

0

10001

10010

0000000000001000

1 Les fils acheminent l’information de l’instruction au banc des registres.

2 Le banc presente la valeur a l’UAL et l’immediat est etendu sur 32 bits.

3 L’UAL calcule l’adresse memoire voulue.

4 La memoire retourne la donnee demandee.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 23 / 36

Page 106: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – acceder aux donnees

Execution d’une instruction lw

Etendre

signe

3216

Donnéeà écrire

Adr.

lecture

Adr.écriture

6 bits 5 bits

Reg.écriture

Donnéeà écrire

Registres

de données

Mémoire

Donnée

lueUALrésultat

UAL

zérolw $18, 8($17)

code−op rs rt

1 0 1 1 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0

$18$17

5 bits

immediat

16 bits

0 0 0

8

0 0 1 0

Donnée

lw

0

10001

10010

Reg. 17

0000000000001000

1 Les fils acheminent l’information de l’instruction au banc des registres.

2 Le banc presente la valeur a l’UAL et l’immediat est etendu sur 32 bits.

3 L’UAL calcule l’adresse memoire voulue.

4 La memoire retourne la donnee demandee.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 23 / 36

Page 107: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – acceder aux donnees

Execution d’une instruction lw

Etendre

signe

3216

Donnéeà écrire

Adr.

lecture

Adr.écriture

6 bits 5 bits

Reg.écriture

Donnéeà écrire

Registres

de données

Mémoire

Donnée

lueUALrésultat

UAL

zérolw $18, 8($17)

code−op rs rt

1 0 1 1 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0

$18$17

5 bits

immediat

16 bits

0 0 0

8

0 0 1 0

Donnée

lw

0

10001

10010

Reg. 17

0000000000001000

1 Les fils acheminent l’information de l’instruction au banc des registres.

2 Le banc presente la valeur a l’UAL et l’immediat est etendu sur 32 bits.

3 L’UAL calcule l’adresse memoire voulue.

4 La memoire retourne la donnee demandee.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 23 / 36

Page 108: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – acceder aux donnees

Execution d’une instruction lw

Etendre

signe

3216

Donnéeà écrire

Adr.

lecture

Adr.écriture

6 bits 5 bits

Reg.écriture

Registres

de données

Mémoire

Donnée

lueUALrésultat

UAL

zérolw $18, 8($17)

code−op rs rt

1 0 1 1 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0

$18$17

5 bits

immediat

16 bits

0 0 0

8

0 0 1 0

Donnée

lw

0

10001

10010

Reg. 17

Reg. 18Ecriture

0000000000001000

1 Les fils acheminent l’information de l’instruction au banc des registres.

2 Le banc presente la valeur a l’UAL et l’immediat est etendu sur 32 bits.

3 L’UAL calcule l’adresse memoire voulue.

4 La memoire retourne la donnee demandee.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 23 / 36

Page 109: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – orienter le flot d’instructions

Comment realiser une instruction de branchement memoire telle que beq ?

=⇒ Comparer les registres designes & ajuster PC en fonction de l’immediat encode.

Realiser un branchement

1 Determiner les registresoperandes.

2 Ajuster l’immediat del’instruction sur 32 bitspuis sur une adresse de motmemoire (decalagegauche).

3 L’ALU effectuer lacomparaison des registresoperandes (soustraction).

4 Considerer la sortie del’ALU comme signal decontrole pour ajuster PC.

branchementDestination du

gaucheDéc.

2

32Etendre

signe

16

Donnée

lue 1

Donnée

à écrire

Reg.

écritureDonnée

lue 2

Reg.

lecture 1

Reg.

Registres

lecture 2

branchementde controle duVers logiqueInstruction

UAL

zéro

Add

somme

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 24 / 36

Page 110: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – orienter le flot d’instructions

Comment realiser une instruction de branchement memoire telle que beq ?

=⇒ Comparer les registres designes & ajuster PC en fonction de l’immediat encode.

Realiser un branchement

1 Determiner les registresoperandes.

2 Ajuster l’immediat del’instruction sur 32 bitspuis sur une adresse de motmemoire (decalagegauche).

3 L’ALU effectuer lacomparaison des registresoperandes (soustraction).

4 Considerer la sortie del’ALU comme signal decontrole pour ajuster PC.

Donnéelue 1

Donnéeà écrire

Reg.écriture

Donnéelue 2

branchementDestination du

gaucheDéc.

2

32Etendre

signe

16

Reg.

lecture 1

Reg.

Registres

lecture 2

branchementde controle duVers logiqueInstruction

UAL

zéro

Add

somme

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 24 / 36

Page 111: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – orienter le flot d’instructions

Comment realiser une instruction de branchement memoire telle que beq ?

=⇒ Comparer les registres designes & ajuster PC en fonction de l’immediat encode.

Realiser un branchement

1 Determiner les registresoperandes.

2 Ajuster l’immediat del’instruction sur 32 bitspuis sur une adresse de motmemoire (decalagegauche).

3 L’ALU effectuer lacomparaison des registresoperandes (soustraction).

4 Considerer la sortie del’ALU comme signal decontrole pour ajuster PC.

Donnéelue 1

Etendre

signe

32

Donnéeà écrire

16

Reg.écriture

Donnéelue 2

branchementDestination du

gauche

Déc.

2Reg.

lecture 1

somme

Add

Reg.

Registres

lecture 2

branchementde controle duVers logiqueInstruction

UAL

zéro

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 24 / 36

Page 112: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – orienter le flot d’instructions

Comment realiser une instruction de branchement memoire telle que beq ?

=⇒ Comparer les registres designes & ajuster PC en fonction de l’immediat encode.

Realiser un branchement

1 Determiner les registresoperandes.

2 Ajuster l’immediat del’instruction sur 32 bitspuis sur une adresse de motmemoire (decalagegauche).

3 L’ALU effectuer lacomparaison des registresoperandes (soustraction).

4 Considerer la sortie del’ALU comme signal decontrole pour ajuster PC.

Donnéelue 1

Etendre

signe

32

Donnéeà écrire

16

Reg.écriture

Donnéelue 2

branchementDestination du

gauche

Déc.

2Reg.

lecture 1

UAL

zéro

somme

Add

Reg.

Registres

lecture 2

branchementde controle duVers logiqueInstruction

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 24 / 36

Page 113: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – orienter le flot d’instructions

Comment realiser une instruction de branchement memoire telle que beq ?

=⇒ Comparer les registres designes & ajuster PC en fonction de l’immediat encode.

Realiser un branchement

1 Determiner les registresoperandes.

2 Ajuster l’immediat del’instruction sur 32 bitspuis sur une adresse de motmemoire (decalagegauche).

3 L’ALU effectuer lacomparaison des registresoperandes (soustraction).

4 Considerer la sortie del’ALU comme signal decontrole pour ajuster PC.

Donnéelue 1

Etendre

signe

32

Donnéeà écrire

16

Reg.écriture

Donnéelue 2

branchement

Destination du

Reg.

lecture 1

gauche

Déc.

2

de controle du

Vers logique

branchementUAL

zéro

somme

Add

Reg.

RegistresInstruction

lecture 2

PC + 4 venant du chemin de données des instructions

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 24 / 36

Page 114: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – orienter le flot d’instructions

Execution d’une instruction beq

Etendre

signe

32

Donnéeà écrire

16

Reg.écriture

branchement

Destination du

6 bits 5 bits

code−op rs rt

0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0

$18$17

5 bits

immediat

16 bits

1 1 0 0 1 0

beq

0 0 1 0

FOR

gauche

Déc.

2

de controle du

Vers logique

branchementUAL

zéro

somme

Add

Registres

PC + 4 venant du chemin de données des instructions

Donnée

Donnée

beq $18, $17, FORlue 1

lue 2

Reg.lecture 1

lecture 2Reg.

1 Les fils acheminentl’information del’instruction au bancdes registres.

2 Le banc presente lavaleurs a l’UAL etl’immediat estetendu sur 32 bits,puis decale a gauchede deux bits.

3 L’UAL effectue lacomparaison, tandisque l’additionneurcalcule l’adressememoire del’etiquette FOR.

4 Le branchement estpris selon le resultatde la comparaison.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 25 / 36

Page 115: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – orienter le flot d’instructions

Execution d’une instruction beq

Etendre

signe

32

Donnéeà écrire

16

Reg.écriture

branchement

Destination du

6 bits 5 bits

code−op rs rt

0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0

$18$17

5 bits

immediat

16 bits

1 1 0 0 1 0

beq

0 0 1 0

FOR

gauche

Déc.

2

de controle du

Vers logique

branchementUAL

zéro

somme

Add

Registres

PC + 4 venant du chemin de données des instructions

10010

10001

1100000000101000

Donnée

Donnée

beq $18, $17, FORlue 1

lue 2

1 Les fils acheminentl’information del’instruction au bancdes registres.

2 Le banc presente lavaleurs a l’UAL etl’immediat estetendu sur 32 bits,puis decale a gauchede deux bits.

3 L’UAL effectue lacomparaison, tandisque l’additionneurcalcule l’adressememoire del’etiquette FOR.

4 Le branchement estpris selon le resultatde la comparaison.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 25 / 36

Page 116: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – orienter le flot d’instructions

Execution d’une instruction beq

Etendre

signe

32

Donnéeà écrire

16

Reg.écriture

branchement

Destination du

6 bits 5 bits

code−op rs rt

0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0

$18$17

5 bits

immediat

16 bits

1 1 0 0 1 0

beq

0 0 1 0

FOR

gauche

Déc.

2

de controle du

Vers logique

branchementUAL

zéro

somme

Add

Registres

PC + 4 venant du chemin de données des instructions

10010

10001

1100000000101000

beq $18, $17, FOR

DonnéeReg. 17

Reg. 18Donnée

1 Les fils acheminentl’information del’instruction au bancdes registres.

2 Le banc presente lavaleurs a l’UAL etl’immediat estetendu sur 32 bits,puis decale a gauchede deux bits.

3 L’UAL effectue lacomparaison, tandisque l’additionneurcalcule l’adressememoire del’etiquette FOR.

4 Le branchement estpris selon le resultatde la comparaison.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 25 / 36

Page 117: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – orienter le flot d’instructions

Execution d’une instruction beq

Etendre

signe

32

Donnéeà écrire

16

Reg.écriture

branchement

Destination du

6 bits 5 bits

code−op rs rt

0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0

$18$17

5 bits

immediat

16 bits

1 1 0 0 1 0

beq

0 0 1 0

FOR

gauche

Déc.

2

de controle du

Vers logique

branchementUAL

zéro

somme

Add

Registres

PC + 4 venant du chemin de données des instructions

10010

10001

1100000000101000

beq $18, $17, FOR

DonnéeReg. 17

Reg. 18Donnée

1 Les fils acheminentl’information del’instruction au bancdes registres.

2 Le banc presente lavaleurs a l’UAL etl’immediat estetendu sur 32 bits,puis decale a gauchede deux bits.

3 L’UAL effectue lacomparaison, tandisque l’additionneurcalcule l’adressememoire del’etiquette FOR.

4 Le branchement estpris selon le resultatde la comparaison.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 25 / 36

Page 118: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – orienter le flot d’instructions

Execution d’une instruction beq

Etendre

signe

32

Donnéeà écrire

16

Reg.écriture

branchement

Destination du

6 bits 5 bits

code−op rs rt

0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0

$18$17

5 bits

immediat

16 bits

1 1 0 0 1 0

beq

0 0 1 0

FOR

gauche

Déc.

2

de controle du

Vers logique

branchementUAL

zéro

somme

Add

Registres

PC + 4 venant du chemin de données des instructions

10010

10001

1100000000101000

beq $18, $17, FOR

DonnéeReg. 17

Reg. 18Donnée

1 Les fils acheminentl’information del’instruction au bancdes registres.

2 Le banc presente lavaleurs a l’UAL etl’immediat estetendu sur 32 bits,puis decale a gauchede deux bits.

3 L’UAL effectue lacomparaison, tandisque l’additionneurcalcule l’adressememoire del’etiquette FOR.

4 Le branchement estpris selon le resultatde la comparaison.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 25 / 36

Page 119: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – effectuer un saut

Comment realiser une instruction de saut comme j Etq ?

=⇒ S’inspirer du chemin des donnees de l’extraction d’instruction.

gaucheDéc.

2

PC

PC PC + 4[31−28].4xEtq

Instruction [25−0]26 28

Mémoire

d’instructions

[31−0]

Instruction

lire

Adr. à

4

AddPC + 4 [31−28]

RAPPELS :

Immédiat Etq 26 bits

262531

code op

j Etq

0

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 26 / 36

Page 120: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – effectuer un saut

Comment realiser une instruction de saut comme j Etq ?

=⇒ S’inspirer du chemin des donnees de l’extraction d’instruction.

PC

PC PC + 4[31−28].4xEtq

gaucheDéc.

2

Adr. àlire

d’instructions

Mémoire[31−0]

Instruction

RAPPELS :

j Etq

4

AddPC + 4 [31−28]

026 2531

code op Immédiat Etq 26 bits

Instruction [25−0]26 28

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 26 / 36

Page 121: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – effectuer un saut

Comment realiser une instruction de saut comme j Etq ?

=⇒ S’inspirer du chemin des donnees de l’extraction d’instruction.

PC

PC PC + 4[31−28].4xEtq

gauche

Déc.

2

Adr. àlire

d’instructions

Mémoire[31−0]

Instruction

RAPPELS :

j Etq

4

Add

26 28

PC + 4 [31−28]

Instruction [25−0]

026 2531

code op Immédiat Etq 26 bits

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 26 / 36

Page 122: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – effectuer un saut

Comment realiser une instruction de saut comme j Etq ?

=⇒ S’inspirer du chemin des donnees de l’extraction d’instruction.

PC

PC PC + 4[31−28].4xEtq

gauche

Déc.

2

Adr. àlire

d’instructions

Mémoire[31−0]

Instruction

RAPPELS :

j Etq

4

Add

26 28

PC + 4 [31−28]

Instruction [25−0]

026 2531

code op Immédiat Etq 26 bits

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 26 / 36

Page 123: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – orienter le flot d’instructions

Execution d’une instruction j Etq

PC

PC PC + 4[31−28].4xEtq

gauche

Déc.

2

Adr. à

lire

d’instructions

Mémoire

[31−0]

Instruction

RAPPELS :

j Etq

4

Add

26 28

PC + 4 [31−28]

Instruction [25−0]

026 2531

00111101011000001010100011000010

1 Le compteur programme est lu, puis sa valeur est incrementee.

2 La valeur immediate est extraite de l’instruction j puis decalee de deux a gauche.

3 Les 4 bits de poids fort de PC et les 28 bits obtenus precedemment sontconcatenes pour mettre a jour PC.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 27 / 36

Page 124: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – orienter le flot d’instructions

Execution d’une instruction j Etq

PC

PC PC + 4[31−28].4xEtq

gauche

Déc.

2

Adr. à

lire

d’instructions

Mémoire

[31−0]

Instruction

RAPPELS :

j Etq

4

Add

26 28

PC + 4 [31−28]

Instruction [25−0]

026 2531

00111101011000001010100011000010

1 Le compteur programme est lu, puis sa valeur est incrementee.

2 La valeur immediate est extraite de l’instruction j puis decalee de deux a gauche.

3 Les 4 bits de poids fort de PC et les 28 bits obtenus precedemment sontconcatenes pour mettre a jour PC.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 27 / 36

Page 125: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – orienter le flot d’instructions

Execution d’une instruction j Etq

PC

PC PC + 4[31−28].4xEtq

gauche

Déc.

2

Adr. à

lire

d’instructions

Mémoire

[31−0]

Instruction

RAPPELS :

j Etq

4

Add

26 28

PC + 4 [31−28]

Instruction [25−0]

026 2531

00111101011000001010100011000010

00111101011000001010100011

1 Le compteur programme est lu, puis sa valeur est incrementee.

2 La valeur immediate est extraite de l’instruction j puis decalee de deux a gauche.

3 Les 4 bits de poids fort de PC et les 28 bits obtenus precedemment sontconcatenes pour mettre a jour PC.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 27 / 36

Page 126: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : brique elementaire – orienter le flot d’instructions

Execution d’une instruction j Etq

PC

PC PC + 4[31−28].4xEtq

gauche

Déc.

2

Adr. à

lire

d’instructions

Mémoire

[31−0]

Instruction

RAPPELS :

j Etq

4

Add

26 28

PC + 4 [31−28]

Instruction [25−0]

026 2531

00111101011000001010100011000010

00111101011000001010100011

1 Le compteur programme est lu, puis sa valeur est incrementee.

2 La valeur immediate est extraite de l’instruction j puis decalee de deux a gauche.

3 Les 4 bits de poids fort de PC et les 28 bits obtenus precedemment sontconcatenes pour mettre a jour PC.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 27 / 36

Page 127: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : Construction du chemin des donnees mono-cycle

Quelles unites fonctionnelles doit-on dupliquer dans le cas mono-cycle ?

=⇒ Cela depend du chemin de donnees realise.

Mono-cycle – exclusion

Toutes les instructions utilisent un cycle d’horloge :

I la taille de cycle est calee sur l’instruction necessitant le plus de temps seloncette realisation.

I aucune ressource du chemin des donnees ne peut etre utilisee plus d’unefois par cycle.

=⇒ dupliquer toute unite fonctionnelle utilisee plus d’une fois par instruction.

Mono-cycle – partage

Selon le cablage, certaines unites fonctionnelles peuvent tout-a-fait etrepartagees :

=⇒ ajouter des multiplexeurs pour selectionner le flux d’informations.

=⇒ ajouter un controle sur ces multiplexeurs.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 28 / 36

Page 128: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : Construction du chemin des donnees mono-cycle – Fusion (1/4)

Partage possible

Les briques elementaires pour les instructions de rangement/chargement et pour lesinstructions de type R peuvent partager :

I le banc des registres,

I l’ALU,

modulo l’introduction de deux multiplexeurs.

Donnéelue 1

Donnéelue 2

Etendre

signe

32

Donnéeà écrire

Reg.lecture 2

16

Reg.écriture

Donnéeà écrire

Adr.

lecture

Adr.écriture

Reg.

lecture 1

Registres

de données

Mémoire

M

X

U

Donnée

lueUAL

zéro

résultatUAL

Instruction

M

X

U

Format RChargement/rangement

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 29 / 36

Page 129: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : Construction du chemin des donnees mono-cycle – Fusion (2/4)

Ajout de la brique elementaire pour l’extraction d’instruction.

Donnée

lue 1

Donnée

lue 2

Etendre

signe

32

Donnée

à écrire

Reg.

lecture 2

16

Reg.

écriture

Donnée

à écrire

Adr.

lecture

Adr.

écriture

PC

Reg.

lecture 1

Registres

de données

Mémoire

M

X

U

Donnée

lueUAL

zéro

résultatUAL

Adr. à

lire

d’instructions

Mémoire

4

Add

Instruction

M

X

U

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 30 / 36

Page 130: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : Construction du chemin des donnees mono-cycle – Fusion (3/4)

Ajout de la brique elementaire pour l’orientation du flot d’instructions.

Donnée

lue 1

Donnée

lue 2

Etendre

signe

32

Donnée

à écrire

Reg.

lecture 2

16

Reg.

écriture

Donnée

à écrire

Adr.

lecture

Adr.

écriture

gauche

Déc.

2

PC

Reg.

lecture 1

Registres

de données

Mémoire

M

X

U

Donnée

lueUAL

zéro

résultatUAL

Add

résultatAdd

Adr. à

lire

d’instructions

Mémoire

4

Add

M

X

U

M

X

U

Instruction

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 31 / 36

Page 131: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : Construction du chemin des donnees mono-cycle – Fusion (4/4)

Ajout de la brique elementaire pour le saut d’instructions.

Donnée

lue 1

Donnée

lue 2

Etendre

signe

32

Donnée

à écrire

Reg.

lecture 2

16

Reg.

écriture

Donnée

à écrire

Adr.

lecture

Adr.

écriture

gauche

Déc.

2

PCAdr. à

lire

d’instructions

Mémoire

[31−0]

Instruction

4

Add

gauche

Déc.

2

Reg.

lecture 1

Registres

de données

Mémoire

M

X

U

Donnée

lueUAL

zéro

résultatUAL

M

X

U

Add

résultatAdd

M

X

U

M

X

U

Instruction [25−0]2826

PC + 4 [31−28]

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 32 / 36

Page 132: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

1 Couche micro-architecture

2 Construction d’un chemin des donnees

3 Controle du chemin des donnees

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 33 / 36

Page 133: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : Chemin des donnees complet – pose des signaux de controle

1 Ajout d’un multiplexeur pour distinguer le registre destination entre format R et I.

2 Ajout des signaux de controle.

3 Ajout du controle de l’UAL.

Donnée

lue 1

Donnée

lue 2

Etendre

signe

32

Donnée

à écrire

Reg.

lecture 2

16

Reg.

écriture

Donnée

à écrire

Adr.

lecture

Adr.

écriture

gauche

Déc.

2

PCAdr. à

lire

d’instructions

Mémoire

[31−0]

Instruction

4

Add

gauche

Déc.

2

Reg.

lecture 1

Registres

de données

Mémoire

M

X

U

Donnée

lueUAL

zéro

résultatUAL

M

X

U

Add

résultatAdd

M

X

U

M

X

U

Instruction [25−0]2826

PC + 4 [31−28]

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 34 / 36

Page 134: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : Chemin des donnees complet – pose des signaux de controle

1 Ajout d’un multiplexeur pour distinguer le registre destination entre format R et I.

2 Ajout des signaux de controle.

3 Ajout du controle de l’UAL.

M

0

1

X

U

Donnéelue 1

Donnéelue 2

Etendre

signe

32

Donnéeà écrire

Reg.lecture 2

16

M

X

U

0

1

Reg.écriture

Donnéeà écrire

PC

Adr.

lecture

Adr.écriture

gauche

Déc.

2

M

0

1

X

U

gauche

Déc.

2

Reg.

lecture 1

Registres

de données

Mémoire

M

X

U

1

0

Adr. àlire

Donnée

lue

d’instructions

MémoireUALrésultat

UAL

Instruction [15−0]

Instruction [20−16]

Instruction [15−11]

Instruction [25−21]

[31−0]

Instruction

M

X

U

0

1

Add

résultatAdd

4

Add

Instruction [25−0]

PC + 4 [31−28]

26 28

EcrireReg

RegDst

UALSrc

EcrireMem

Controle

UAL

UALOp

LireMem

MemVersReg

Saut

Instruction [5−0]

zéro

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 34 / 36

Page 135: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : Chemin des donnees complet – pose des signaux de controle

1 Ajout d’un multiplexeur pour distinguer le registre destination entre format R et I.

2 Ajout des signaux de controle.

3 Ajout du controle de l’UAL.

M

0

1

X

U

Donnéelue 1

Donnéelue 2

Etendre

signe

32

Donnéeà écrire

Reg.lecture 2

16

M

X

U

0

1

Reg.écriture

Donnéeà écrire

PC

Adr.

lecture

Adr.écriture

gauche

Déc.

2

M

0

1

X

U

gauche

Déc.

2

Controle

UAL

Reg.

lecture 1

Instruction [5−0]

Registres

de données

Mémoire

M

X

U

1

0

Adr. àlire

Donnée

lue

d’instructions

MémoireUAL

zéro

résultatUAL

Instruction [15−0]

Instruction [20−16]

Instruction [15−11]

Instruction [25−21]

[31−0]

Instruction

EcrireReg

UALSrc

RegDst

UALOp

EcrireMem

LireMem

MemVersReg

Saut

M

X

U

0

1

Add

résultatAdd

4

Add

Instruction [25−0]

PC + 4 [31−28]

26 28

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 34 / 36

Page 136: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

MIPS : Chemin des donnees complet avec unite de controle

Pose de l’unite de controle.

M

0

1

X

U

Donnée

lue 1

Donnée

lue 2

Etendre

signe

32

Donnée

à écrire

Reg.

lecture 2

16

M

X

U

0

1

Reg.

écriture

Donnée

à écrire

gauche

Déc.

2

PC

Adr.

lecture

Adr.

écriture

M

0

1

X

U

gauche

Déc.

2

Controle

UAL

Reg.

lecture 1

Instruction [5−0]

Registres

Controle

MemVersReg

de données

Mémoire

M

X

U

1

0

M

X

U

0

1

RegDst

UALOp

EcrireMem

UALSrc

EcrireReg

Adr. à

lire

Donnée

lue

d’instructions

MémoireUAL

zéro

résultatUAL

Add

résultatAdd

4

Add

Instruction [15−0]

Instruction [20−16]

Instruction [15−11]

Instruction [25−21]

Instruction [31−26]

[31−0]

Instruction

LireMem

Branchement

Saut

Instruction [25−0] 2826

PC + 4 [31−28]

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 35 / 36

Page 137: CM6 Introduction à la micro-architecturemarchett/CM6.pdf · Micro-architecture ? Construction ? Contr^ole ? Cycle CDE & jeu d’instructions En tant que machine, quelle est la sp

Micro-architecture ? Construction ? Controle ?

Rendre a Cesar ce qui est a Cesar

References bibliographiques utilisees

I � Organisation et conception des ordinateurs �, J. Hennessy & D. Patter-son, Dunod.

=⇒ Schemas du chemin des donnees.

I en.wikipedia.org et diverses ressources...

Images utilisees

I Image de droite du transparent 5 :

Sujet : Magasin de l’usine d’avions Douglas (1942)Auteur : Alfred T. Palmer.Licence : Domaine public.

I Image de gauche du transparent 5 :

Sujet : Aiguillage de la gare centrale de Francfort.Auteur : Arne Huckelheim.Licence : Creative Commons Attribution-Share Alike 3.0 Unported.

Olivier Marchetti CM6 – Micro-architecture Annee 2017-2018 36 / 36