• Aucun résultat trouvé

pipeline

N/A
N/A
Protected

Academic year: 2022

Partager "pipeline"

Copied!
2
0
0

Texte intégral

(1)

TD 5 – Architecture des Ordinateurs

Etudu du pipeline d’un processeur fictif Licence Informatique 3eme` Ann´ee – UPPA

1 Description d’un processeur fictif

1.1 Chemin de donn´ees

Banc de

registres RA RM

C UAL

CO + RI

Chemin de donnees

A B

Instructions Cache

Bus @ Bus Data Cache

Donnees Bus @

Bus Data Bus S2

Bus S1

Bus R

Controle du chemin de donnees Unite de commande

La figure ci-dessus repr´esente le chemin de donn´ees pour un processeur fictif. Il se base sur une architecture 3 bus. Les registres RI, RA, RM et CO sont identiques `a ceux vus en cours. Le banc de registre contient 16 registres g´en´eraux (nomm´es R0, R1, ... R15). Il supporte l’ex´ecution de 3 op´erations simultan´ement : 1 op´eration d’´ecriture et 2 op´erations de lecture (un registre ´ecrit ne peut par contre pas ˆetre lu simultan´ement). Les donn´ees, adresses et instructions sont toutes stock´ees sur 32 bits.

L’UAL r´ealise les op´erations logiques et de calcul sur des entiers. Les op´erations simples (addition, soustraction, d´ecalage, ...) sont r´ealis´ees en un cycle d’horloge. La multiplication, plus complexe, s’ex´ecute en 3 cycles d’horloge. L’UAL ex´ecute les op´erations avec les valeurs stock´ees dans les registres tampons A et B. `A la fin du cycle d’horloge (pour les op´erations simples), le r´esultat est disponible dans le registre tampon C.

1.2 Jeu d’instruction du processeur

Le processeur fonctionne en mode d’acc`es m´emoire chargement-rangement. Toutes les op´erations arithm´etiques et logiques n’acc`edent qu’`a des registres g´en´eraux pour sp´ecifier leurs op´erandes.

1

(2)

Voici les principales instructions du jeu d’instruction de ce processeur :

LOAD Ra, Rb/valeur ´ecrit dans le registre Ra le contenu `a l’adresse m´emoire pr´ecis´ee directement ou contenue dans le registre Rb

STORE Ra, Rb/valeur ´ecrit la valeur du registre Ra `a l’adresse m´emoire pr´ecis´ee directement ou dans le registre Rb

ADD Rs, Ra, Rb fait l’addition de Ra et Rb et place le r´esultat dans Rs MUL Rs, Ra, Rb fait la multiplication de Ra et Rb et place le r´esultat dans Rs

INC/DEC Ra, x/Rb incr´emente/d´ecr´emente Ra d’une valeur xou de la valeur contenue dans Rb JMP add/Ra saut `a une adresse du programme pr´ecis´ee directement ou dans le registre Ra

MOV Ra, Rb/valeur ´ecrit dans Ra le contenu de Rb ou la valeur pr´ecis´ee

JE/JG/JL/JGE/JLE Ra, Rb, add/Rc saut `a une adresse – pr´ecis´ee directement ou dans le registre Rc – si Ra est ´egal/plus grand/plus petit/plus grand ou ´egal/plus petit ou ´egal que/`a Rb

1.3 Pipeline d’ex´ecution

Le s´equencement de l’ex´ecution des op´erations comporte 5 phases distinctes, chacune durant un cycle d’horloge, ex´ecut´ees dans l’ordre suivant :

1. LE Lecture de l’instruction via un acc´es en m´emoire `a l’adresse contenue dans CO. RI contient l’instruction `a ex´ecuter.

2. DE D´ecodage de l’instruction contenue dans RI.

3. CH Chargement des registres A,B de l’UAL ou des registres RA et/ou RM pour acc`es m´emoire, `a partir des registres g´en´eraux.

4. EXEx´ecution de l’instruction dans l’UAL ou acc`es en m´emoire.

5. ENR Enregistrement du r´esultat de l’op´eration (si r´esultat) : copie du registre C de l’UAL ou du registre RM dans un registre g´en´eral ou ´ecriture du registre CO pour une instruction de saut.

Un saut consiste `a modifier le contenu du registre CO pour pr´eciser l’adresse de la prochaine branche du programme `a suivre. Ce registre est par d´efaut automatiquement incr´ement´e de 4 `a chaque cycle d’horloge pour pointer sur l’adresse de la prochaine instruction `a ex´ecuter.

Pour une op´eration d’acc`es en m´emoire, le registre RA est ´ecrit avec la valeur de l’adresse m´emoire `a acc´eder. Le registre RM contient la valeur lue pour une op´eration de lecture et `a ´ecrire pour une op´eration d’´ecriture. On supposera que le temps de lecture/´ecriture en m´emoire prend un seul cycle d’horloge (via la m´emoire cache).

2 Questions

1. Traduire en assembleur le programme du TD 4 sur la m´emoire cache. La premi`ere instruction du programme est plac´ee `a l’adresse 1000 en m´emoire.

2. V´erifier que les estimations d’acc`es m´emoire faites pendant le TD4 ´etaient valides et que le taux de succ`es du cache ´etait correct.

3. Montrer quelques exemples d’al´eas structurels, de donn´ees et de contrˆole.

4. Optimiser le programme (version assembleur) pour limiter ces al´eas ainsi que le nombre d’acc`es en m´emoire. Proposer des modifications mat´erielles simples pour limiter les al´eas.

2

Références

Documents relatifs

tío Geromo le producía casi el mismo efecto que un vegigatorio... 292 '1ÍACETA AGRICOLA DEL MINISTERIO DE FOMENTO El cabo se había dejado caer varias veces en el ventorro

Los padres pueden llacer mucho para que el lracaso escolar no llegue a los llogares El estimulo necesario para estud1ar próv1ene de la tam1l1a.. y de los s1ete a los catorce

However, some nouns may be made lnto denominal transitive verbs but not into denominal intransltive verbsi other nouns nay become denominal intransitive verbs but

Le retour par valeur ne doit être utilisé que pour des types courts : int, float..

Cette fonte massive exerce une influence prédominante sur le régime d'un torrent à caractère nival et l'on peut dire que le débit maximum annuel de fonte est

The classical approximation scheme used here to solve (6-8) provided with the boundary conditions (4-5) for different values of the Rayleigh number R is a Legendre spectral

Puisque a² et b² sont premiers entre eux, b² est premier avec (a² – rb²) et (a² + rb²) et les premier et troisième termes sont des fractions irréductibles, donc des carrés

[r]