Exercices sur l'architecture des ordinateurs - examen 3, Examens de Programmation informatique. Ecole des Ingénieurs de la Ville de Paris
Christophe
Christophe

Exercices sur l'architecture des ordinateurs - examen 3, Examens de Programmation informatique. Ecole des Ingénieurs de la Ville de Paris

2 pages
1000+Numéro de visites
Description
Exercices d’informatique sur l'architecture des ordinateurs - examen 3 Les principaux thèmes abordés sont les suivants: exercices, Conversion, Jeu d'instructions, Exécution pipelinée, Caches.
20 points
Points de téléchargement necessaire pour télécharger
ce document
Télécharger le document
Aperçu2 pages / 2
Télécharger le document

Année 20LI-2012 1èt" session

ARcHtrncruRE DEs oRDINATEURS

ITTO2 DnNts BeRrHou

Filière : Informatique Année

Date de l'examen : 20 janvier

Documents autorisés X Calculatrice autorisée X

Autre :

: première Semestre : premier semestre

2011 Durée de I 'examen : 2h

sans document n non autorisée n

SUJET

Les exercices sont indépendants.

1 Conversion

1. Convertir en binaire sur 8 bits en complément à 2 les nombres suivants: -33, -97' Poser I'opération -33 - 97 et calculer ie résultat.

2. Donner Ia représentation en binaire du nombre flottant sur 32 bits: -(2-50 a2-ae *2-az +2-45)

2 Jeu d'instructions

On considère une machine avec 16 registres pour représenter les entiers sur 64 bits: r0 à r15. Le registre r0

vaut toujours 0. Le jeu d'instruction est d.onné par Ia table suivante. ri, rj, et rk désignent n'importe lequel des

res 1n n contralre. Instruction Détail OP r i , r j r @ u n e o p é r a t i o n p a r m i a d d , s u b , m u 1 , d i v , m o d , o f , a n d .

ri ne peut pas être r0.

OPM r i , [ r jJ ri : ri OPM valeur çur 64 bits à I'adresse rj' ri ne peut pas être i,t OPM une opération panni add, sub, mul, div, or, a.nd

m o v 1 1 , n e sur 5 bits. ri ne peut pas être r0.

mov [r i ] , r j valeur à I'adresse ri : rj.

Jeq r r - , r J leur de ri est nulle. rj ne qq{ prytt9 t0

1. Pour chaque type d'instruction, compter combien de codages différents elie peut prendre. On pourra faire

Ie comptage avec des puissances de 2.

2. Calculer combien de codages différents sont nécessaires pour représenter toutes les instructions possibles.

En déduire quelle est la taiile minimale en bits du codage permettant de représenter ces instructions.

3. Proposer un codage de ces instructions, prenant le moins de bits possibles.

tr s sauf indication i

docsity.com

3 Exécution pipelinée

On considère le code suivant MIPS:

1: ]w $3, ($2) / / Ecr i t daas $t l -e contenu à l 'adresse $2 2 : a d d $ 3 , $ 3 , $ A 3: sw ($2), 83 / / Ecr i t à l 'adresse $2 Ia valeur de $f 4 : a d d $ 3 , $ 2 , $ S 5 : a d d i $ 2 , $ 2 , 4 6: lw $4, ($3) / / Ecr i t dans $4 1e contenu à I 'adresse $3 7: sw ($6), Û4 / / Ecr i t à l 'adresse $6 1a valeur $4 8 : s u b i $ 4 , $ 3 , 2

On supposera comme en cours que I'architecture MIPS est pipelinée avec 5 étages (qu'on notera IF, ID, BX, MEM et WB) et qu'une instruction seulement est commencée chaque cycle.

1. Quelles sont les dépendances read after write entre instructions ?

2. Si i'architecture n'a pas de forwarding, écrire le diagramme de temps montrant à quel étage du pipeline se trouve chaque instruction, à chaque cycle, pour I'exécution d'un tour de la boucle. Des stalls peuvent être nécessaires. En combien de cycles s'exécutent les instructions ?

3. Corriger le diagramme si l'architecture a du forwarding entre tous les étages du pipeline. En combien de cycles s'exécutent les instructions ?

4. On considère maintenant que I'architecture peut exécuter 2 instructions par cycle. Pour ce faire, on sup- posera que chaque étage du pipeline peut gérer 2 instructions indépendantes (c'est à dire qu'on dédoublera tous les étages du pipeline).

(a) Quelles sont les dépendances WAR et WA\M du programme ?

(b) En supposant que l'architecture n'a pas de forwarding, écrire le diagramme de temps montrant à quel étage du pipeline se trouve chaque instruction. On prendra en compte toutes les dépendances et on introduira des stalls si nécessaire pour que toutes ces dépendances oient orientées vers I'avant.

(c) On suppose que i'architecture fait du renommage de registre et dispose de 64 registres physiques p0, ... p63. En conservant les dépendances RAW, modifi.er le programme précédent en renommant les registres pour supprimer toutes les dépendances \MAR et \MAW.

r.; (d) Refaire le diagramme de temps, toujours sals forwarding, pour le code après renommage.

t :

4 Caches

1. Expliquer ce qu'est la localité temporelle ? Donner un exemple de code avec une bonne localité temporelle et un autre avec une mauvaise localité temporeile.

2. Pourquoi la localité temporelle est-elle utile pour les caches ?

3. On considère un cache de 216 octets, dont les lignes font 28 octets chacune et qui a une associativité de 4. 'T. Une donnée est présente dans le set numéro 1, au premier octet diune ligne de cache qui a un tag vaiant

1. A quelle adresse se trouve cette donnée en mémoire ? Expliquer. On pourra donner le résultat avec des puissances de 2.

4. Expliquer à quoi sert un DMA.

5. Donner un exempie de problème cle cohérence des données pouvant arriver dans une machine avec un cache et un DMA.

docsity.com

Aucun commentaire n'a été pas fait
Télécharger le document