Introduction • Par définition, dans un modèle à cycle unique, le cycle d’horlog

Introduction • Par définition, dans un modèle à cycle unique, le cycle d’horloge doit avoir la même durée pour toutes les instructions. Le cycle d’horloge est défini par le chemin le plus long dans la machine. • Par conséquences : – 1- Les performances d’une mise en oeuvre à cycle unique ne sont pas bonnes, car certains types d’instruction pourraient être effectués en un cycle d’horloge plus court. Chemin de données multicycle1 effectués en un cycle d’horloge plus court. – 2- De plus, chaque unité fonctionnelle ne peut être utilisée qu’une fois par cycle ; par conséquent, certaines unités doivent être dupliquées, ce qui augmente le coût de la mise en oeuvre. • Nous allons éviter ces problèmes en utilisant une technique de mise en oeuvre qui a un cycle de base plus court et qui requièrent plusieurs cycles d’horloge par instruction. Cette mise en oeuvre est appelée mise en oeuvre multicycle. 1 Longueur requise par chaque type d’instruction • On suppose que le temps d’opérations pour les principales unités fonctionnelles vaut : – Unités mémoire : 10ns – UAL et additionneurs : 10 ns – Banc de registres (lecture ou écriture) : 5ns Type Mémoire Registre Opération Mémoire Registre inst instruction lecture UAL données écriture TOT Chemin de données multicycle2 inst instruction lecture UAL données écriture TOT R 10 5 10 0 5 30 Lw 10 5 10 10 5 40 Sw 10 5 10 10 35 B 10 5 10 25 J 10 2 Ce qu’il faut redire d’un cycle unique Temps des chemins critiques Chemin de données multicycle3 40 chargement d’un mot 3 Ce qu’il faut redire d’un cycle unique Temps des chemins critiques Chemin de données multicycle4 40 35 Rangement d’un mot chargement d’un mot 4 Ce qu’il faut redire d’un cycle unique Temps des chemins critiques Chemin de données multicycle5 40 35 30 Opération de format R Rangement d’un mot chargement d’un mot 5 Ce qu’il faut redire d’un cycle unique 25 Branchement Temps des chemins critiques Chemin de données multicycle6 40 35 30 Opération de format R Branchement Rangement d’un mot chargement d’un mot 6 Ce qu’il faut redire d’un cycle unique 25 10Saut Temps des chemins critiques Branchement Chemin de données multicycle7 40 35 30 Opération de format R Branchement Rangement d’un mot chargement d’un mot 7 Ce qu’il faut redire d’un cycle unique 25 10 Temps des chemins critiques Chemin de données multicycle8 40 35 30 •le cycle d’horloge doit avoir la même durée pour toutes les instructions. Le cycle d’horloge est défini par le chemin le plus long dans la machine, ici 40 ns. Cycle d’horloge Cycle d’horloge 8 Ce qu’il faut redire d’un cycle unique 25 10 Temps des chemins critiques Chemin de données multicycle9 40 35 30 Cycle d’horloge Cycle d’horloge Inactivité 9 Ce qu’il faut redire d’un cycle unique 25 10 Temps des chemins critiques L’idée : découpage en cycle élémentaire L’idée : découpage en cycle élémentaire Chemin de données multicycle1 0 40 35 30 10 Mise en oeuvre multicycle • Nous allons éviter la perte : – 1 de temps – 2 de matériel en utilisant une technique de mise en oeuvre qui a un cycle de base plus court et qui requièrent plusieurs cycles d’horloge par instruction. • Cette mise en oeuvre est appelée mise en oeuvre multicycle. Chemin de données multicycle1 1 11 Les caractéristiques d’une oeuvre multicycle • Chaque étape de l’exécution prendra un cycle d’horloge • Les exécutions seront donc exécutées en des nombres de cycles différents. • Avec une telle mise en oeuvre, une unité fonctionnelle peut être utilisée plusieurs fois par instruction, tant qu’il s’agit de cycles d’horloge différents. Ceci réduit la quantité de matériel nécessaire. Chemin de données multicycle1 2 matériel nécessaire. 12 Vue globale du chemin de données CP Mémoire Adresse Registres ALU instruction No. registre Donnée Chemin de données multicycle1 3 Mémoire Donnée Registre Instruction Registres No. registre No. registre 13 Chemin de données multi-état CP Mémoire Adresslecture Registre Instruction ALU Lecture registre1 Donnée Adressécriture 4 Lecture registre2 registre écriture Donnée lue 1 Donnée lue 2 zéro Donnée Mem L’ajout des multiplexeurs permet d’éliminer deux additionneurs et une unité mémoire. Chemin de données multicycle1 4 Mémoire Donnée à écrire Registres Donnée 4 lue 2 étendre signe Décaler gauche 2 14 Le chemin plus le contrôle CP Mémoire Adresslecture Registres Instruction ALU Lecture registre1 Donnée Adressécriture Lecture registre2 registre écriture Donnée lue 1 Donnée lue 2 zéro Donnée Mem louD LireMem EcrireRI RegDst EcrireReg UALSelA Chemin de données multicycle1 5 Mémoire Donnée à écrire Registres Donnée 4 étendre signe Décaler gauche 2 Contrôle UAL EcrireMem UALSelB UALOp MemversReg 15 Résumé des étapes suivies pour les divers types Nom de l’étape Extraction de l’instruction Décodage de l’instruction, extraction des regis Action pour les types R Action pour les REF mémoire RI = Mem[CP] CP=CP+4 A=Reg[RI[25-21]] B= Reg[RI[20-16]] Dest=CP+(ext-signe(RI[15-0])<<2) Action pour les branchements Chemin de données multicycle1 6 Exécution, calcul d’adresses ou branchement Accès mémoire ou terminaison d’une instructionde type R Ecriture arrière SortieUAL = A op B Reg[RI[15-11]] = SortieUAL SortieUAL=A+ext- sig([15-0]) donnée-mémoire= Mem[SortieUAL] ou Mem[sortieUAL] =B Reg[RI[20-16]]= donnée-mém if(A=B) then CP = Dest 16 Chemin de contrôle complet CP Adresslecture Lecture registre1 louD LireMem EcrireMem EcrireRI RegDst EcrireReg UALSelA UALSelB UALOp MemversReg Ins 31-26 D C Dest 30 32 adresse de saut 25-21 PC 31-28 OP 5-0 EcrireCP EcrireCPCond EcrireDest SourceCP Chemin de données multicycle1 7 Mémoire Adresslecture Donnée à écrire Registres Instruction Registres ALU registre1 Donnée Adressécriture 4 Lecture registre2 registre écriture Donnée lue 1 Donnée lue 2 zéro étendre signe Décaler gauche 2 Donnée Mem Contrôle UAL Ins 31-26 Ins 25-0 Ins 15-0 15-11 20-16 Ins 5-0 17 Définition du contrôle • Disposant du chemin de données, nous devons maintenant observer ce qui doit se passer à chaque cycle d’horloge dans une exécution multicycle. • Cela définira quels éléments du chemin de données et quels signaux de contrôle sont nécessaires. Chemin de données multicycle1 8 18 Définition du contrôle Début Extraction/décodage d'instruction et extraction de registre Les premières étapes sont indépendantes du type de l'instruction, puis une suite de séquences dépendantes du code-op de l'instruction suit, pour achever chaque type d'instruction Chemin de données multicycle1 9 Instructions d'accès mémoire Instruction de type R Instruction de branchement Instruction de saut Chaque boîte dans cette figure peut représenter un ou plusieurs états. 19 Chemin de contrôle, extraction CP Adresslecture Lecture registre1 louD LireMem EcrireMem EcrireRI RegDst EcrireReg UALSelA UALSelB UALOp MemversReg Ins 31-26 D C Dest 30 32 adresse de saut 25-21 PC 31-28 OP 5-0 EcrireCP EcrireCPCond EcrireDest SourceCP Chemin de données multicycle2 0 Mémoire Adresslecture Donnée à écrire Registres Instruction Registres ALU registre1 Donnée Adressécriture 4 Lecture registre2 registre écriture Donnée lue 1 Donnée lue 2 zéro étendre signe Décaler gauche 2 Donnée Mem Contrôle UAL Ins 31-26 Ins 25-0 Ins 15-0 15-11 20-16 Ins 5-0 20 Extraction cp=cp+4, cp->mémoire CP Adresslecture Lecture registre1 louD LireMem EcrireMem EcrireRI RegDst EcrireReg UALSelA UALSelB UALOp MemversReg Ins 31-26 D C Dest 30 32 adresse de saut 25-21 PC 31-28 OP 5-0 EcrireCP EcrireCPCond EcrireDest SourceCP Chemin de données multicycle2 1 Mémoire Adresslecture Donnée à écrire Registres Instruction Registres ALU registre1 Donnée Adressécriture 4 Lecture registre2 registre écriture Donnée lue 1 Donnée lue 2 zéro étendre signe Décaler gauche 2 Donnée Mem Contrôle UAL Ins 31-26 Ins 25-0 Ins 15-0 15-11 20-16 Ins 5-0 21 Extraction cp=cp+4, cp->mémoire (avec Contrôle) CP Adresslecture Lecture registre1 louD LireMem EcrireMem EcrireRI RegDst EcrireReg UALSelA UALSelB UALOp MemversReg Ins 31-26 D C Dest 30 32 adresse de saut 25-21 PC 31-28 OP 5-0 EcrireCP EcrireCPCond EcrireDest SourceCP Chemin de données multicycle2 2 Mémoire Adresslecture Donnée à écrire Registres Instruction Registres ALU registre1 Donnée Adressécriture 4 Lecture registre2 registre écriture Donnée lue 1 Donnée lue 2 zéro étendre signe Décaler gauche 2 Donnée Mem Contrôle UAL Ins 31-26 Ins 25-0 Ins 15-0 15-11 20-16 Ins 5-0 22 Décodage CP Adresslecture Lecture registre1 louD LireMem EcrireMem EcrireRI RegDst EcrireReg UALSelA UALSelB UALOp MemversReg Ins 31-26 D C Dest 30 32 adresse de saut 25-21 PC 31-28 OP 5-0 EcrireCP EcrireCPCond EcrireDest SourceCP Chemin de données multicycle2 3 Mémoire Adresslecture Donnée à écrire Registres Instruction Registres ALU registre1 Donnée Adressécriture 4 Lecture registre2 registre écriture Donnée lue 1 Donnée lue 2 zéro étendre signe Décaler gauche 2 Donnée Mem Contrôle UAL Ins 31-26 Ins 25-0 Ins 15-0 15-11 20-16 Ins 5-0 23 Instruction de type R CP Adresslecture Lecture registre1 louD LireMem EcrireMem EcrireRI RegDst EcrireReg UALSelA UALSelB UALOp MemversReg Ins 31-26 D C Dest 30 32 adresse de saut 25-21 PC 31-28 OP 5-0 EcrireCP EcrireCPCond EcrireDest SourceCP Chemin de données multicycle2 4 Mémoire Adresslecture Donnée à écrire Registres Instruction Registres ALU registre1 Donnée Adressécriture 4 Lecture registre2 registre écriture Donnée lue 1 Donnée lue 2 zéro étendre signe Décaler gauche 2 Donnée Mem Contrôle UAL Ins 31-26 Ins 25-0 Ins 15-0 15-11 20-16 Ins 5-0 24 Instruction de type R CP Adresslecture Lecture registre1 louD LireMem EcrireMem EcrireRI RegDst EcrireReg UALSelA UALSelB UALOp MemversReg Ins uploads/Litterature/ 2-f-multicycle.pdf

  • 48
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager