NFA004 final 2012 corrige .pdf
À propos / Télécharger Aperçu
Ce document au format PDF 1.5 a été généré par Microsoft® Office Word 2007, et a été envoyé sur fichier-pdf.fr le 05/05/2013 à 22:17, depuis l'adresse IP 77.235.x.x.
La présente page de téléchargement du fichier a été vue 3094 fois.
Taille du document: 517 Ko (7 pages).
Confidentialité: fichier public
Aperçu du document
Institut des Sciences
Appliquées et Économiques
ISAE – Cnam Liban
Centre du Liban Associé au CNAM de Paris
Date: 26/6/2012– Durée: 3h00
Examen final – 2nd semestre
2011– 2012
Sujet coordonné par: Dr. Bilal Hussein
Proposé pour les centres d’enseignement de:
Beyrouth – Baalbek – Tripoli – Bickfaya
Langue de l’examen : Français
Examen Final- Solution et barème
Architecture des Ordinateurs– NFA004
Documents non autorisés
A- Fonctionnement du processeur 4 pts
Question 1 (2 pts)
Ecrire les microinstructions ainsi les microcommandes correspondantes au programme suivant :
0 Load Im R1 5
4 Load I
R2 100
8 Add Rg2 R1 R2
12 Store D R1 104
…
…
100
104
104
12
uI : COsor, RADen, LEC
uI : RDOsor, RIen, INCO
uI : Xsor, R1en
uI: COsor, RADen, LEC
uI : RDOsor, RIen, INCO
uI :Xsor, RADen, LEC
uI :RDOsor, RADen, LEC
uI :RDOsor, R2en
uI : COsor, RADen, LEC
uI : RDOsor, RIen, INCO
uI : R1sor, Y1en
uI : R2sor, Y2en, Add
uI: Zsor, R1en
uI : COsor, RADen, LEC
uI : RDOsor, RIen, INCO
uI: Xsor, RADen
uI: R1sor, RDOen, ECR
Question 2 (2 pts)
Montrer les états de registres IRR et ISR pendant le scénario suivant des interruptions:
Au temps T0
Au temps T2
Au temps T3
Au temps T8
Au temps T10
Arrivée de IRQ2
Arrivée de IRQ5
Arrivée de IRQ1
Arrivée de IRQ4
Arrivée de IRQ3
(durée 4 ms)
(durée 6 ms)
(durée 2 ms)
(durée 4 ms)
(durée 4 ms)
Architecture des Ordinateurs – NFA004 – 2nd semestre – Solution Examen final 2012
1/7
IRR avant
ISR
IRR après
Au temps T0
Arrivée de IRQ2 (4 ms)
00000100
00000100
00000000
Au temps T2
Arrivée de IRQ5 (6 ms)
00100000
00000100
00100000
Au temps T3
Arrivée de IRQ1 (2 ms)
00100010
00000110
00100000
Au temps T5
Fin IRQ1
00100000
00000100
00100000
Au temps T6
Fin IRQ2
00100000
00100000
00000000
Au temps T8
Arrivée de IRQ4 (4 ms)
00010000
00110000
00000000
Au temps T10
Arrivée de IRQ3 (4 ms)
00001000
00111000
00000000
Au temps T14
Fin IRQ3
00110000
Au temps T16
Fin IRQ4
00100000
Au temps T20
Fin IRQ5
00000000
B- Langage machine 5pts
Question 3 (3 pts)
Ecrire un programme en langage d’assemblage permettant de retrouver le PGCD de deux nombres entiers
positifs lus depuis le clavier et de l’afficher sur l’écran.
IN D A permet de lire un entier du clavier et le met dans l’adresse A.
OUT D A permet d’afficher la donnée qui se trouve a l’adresse A.
nombre1 : DS 1
nombre2 : DS 1
pgcd : DS 1
IN D nombre1
IN D nombre2
ET1 : Load D R1 nombre1
SUB D R1 nombre2
JMPP n1PlusGrandn2
JMPN n2PlusGrandn1
LOAD D R1 nombre1
STORE D R1 pgcd
OUT D pgcd
STOP
n1PlusGrandn2 : STORE D R1 nombre1
JMP Et1
n2PlusGrandn1 : MUL Im R1 -1
STORE D R1 nombre2
JMP Et1
Architecture des Ordinateurs – NFA004 – 2nd semestre – Solution Examen final 2012
2/7
Question 4 (2 pts)
Expliquez ce que fait le programme assembleur qui vous est donné sachant que la machine est sur 32 bits et
travaille en complément à 2 pour la représentation des nombres signés. Les chiffres sont exprimés en base
31
10. La case mémoire d’adresse 1000 contient la valeur 2147483640 (2 – 8).
0
4
8
12
16
20
24
LOAD D R1 1000
ADD Im R1 1
JMPO 20
JMP 8
STORE I R1 24
0
31
Le plus grand nombre positif représenté sur 32 bits en complément à 2 : (2 – 1)
31
Si on charge le registre R1 par la donnée qui se trouve à l’adresse 1000 R1 contiendra (2 – 8)
Si on ajoute 1 huit fois au registre R1 il y aura un débordement R1 est remis à zéro
Branchement à l’adresse 20
Rangement mémoire dans l’adresse 0 de la valeur R1
la valeur de R1: bit de débordement + valeur de R1 : 1 + 00….00 la valeur rangée à l’adresse
0 est 231.
C- Mémoire cache 7 pts
Question 5 (3½ pts)
Une mémoire centrale est formée de 8192 blocs. La taille du bloc est 32 mots de 4 octets. Un cache à
correspondance direct est associé à cette mémoire et contient 32 lignes. La mémoire centrale est adressable
par octet.
a) Quelle est la taille de la mémoire centrale ?
b) Quelle est la taille totale du cache direct ?
c) Quelle est la longueur de l’adresse mémoire ?
d) Comment est divisée l’adresse de l’octet mémoire pour un cache à correspondance direct ?
e) Supposons que le processeur a fournit l’adresse hexadécimale: 0AFC3 d’un octet mémoire; Ecrire
un pseudo-algorithme qui montre le processus d’accès à cette adresse?
Corrigé
a) Taille MC= nombre de blocs * taille bloc = 8192 * (32*4) = 220 octets= 1 Mo
b) Taille totale cache= Taille donnees utiles+ Taille repertoire
= (nombre ligne * taille bloc) + (nombre entrée * taille etiquette)
= (32 * 32*4) + (32 * taille etiquette)
Adresse mémoire= 20 bits étiquette+index+numéro octet=20
Etiquette + 5 + 7 =20 Etiquette= 20-12=8 bits
Taille totale cache= (32 * 32*4) + (32 * 8)
= 4096 + 256= 4352 octets =4.25 Ko
c) Adresse mémoire= 20 bits
d) Adresse memoire= etiquette+index+numero octet=20
Etiquette + 5 + 7 =20 Etiquette= 20-12=8 bits
Architecture des Ordinateurs – NFA004 – 2nd semestre – Solution Examen final 2012
3/7
e) A partir de l’adresse 0AFC3 0000 1010 1111 1100 0011 index 11111
1er accès à l’entrée d’index 11111 du répertoire
Si l’entrée contient l’étiquette 0000 1010 2ème accès au cache à la ligne 11111
3 ème accès à l’octet 1000011
Sinon
Accès à la mémoire centrale à l’adresse 0000 1010 1111 1100 0011
Envoi de l’octet de cette adresse au processeur
Envoi du bloc contenant cet octet au cache à la ligne 11111 et mise à jour du répertoire
Question 6 (3½ pts)
On considère un cache associatif composé de 4 entrées de 4 mots de 16 bits. Les adresses mémoire sont sur
8 bits.
a) Combien de blocs existe-il dans la memoire centrale?
b) Quelle est la taille de l’étiquette ?
c) Soit la suite de références suivantes, qui correspondent aux accès mémoire demandés par le
processeur, en terme d’adresses d’octets, dans le temps. Les adresses sont données en hexadécimal
(base 16).
Temps 0
1
2
3
4
5
6
7
8
9
10
Adresse 0F
1F
3A
0D
1E
44
3B
0A
3B
2C
92
Donnez l’évolution des 4 entrées du répertoire du cache et notez les défauts dans les deux cas suivants:
c.1) la politique de remplacement est FIFO.
c.2) la politique de remplacement est LRU.
Corrigé
a) Adresse memoire sur 8 bits taille memoire =28 octets= 256 octets blocs=256/8=32
b) Bloc de taille = 8 octets=23 octets numéro octet sur 3 bits
@ mémoire = étiquette + numéro octet 8=étiquette + 3 étiquette=5 bits
c) FIFO
0
1
2
00001 00001 00001
00011 00011
00111
3
00001
00011
00111
4
00001
00011
00111
D
S
S
0
1
2
00001 00001 00001
00011 00011
00111
3
00001
00011
00111
4
00001
00011
00111
D
S
S
D
D
5
00001
00011
00111
01000
D
6
00001
00011
00111
01000
S
7
00001
00011
00111
01000
S
8
00001
00011
00111
01000
S
9
00101
00011
00111
01000
D
10
00101
10010
00111
01000
D
5
00001
00011
00111
01000
D
6
00001
00011
00111
01000
S
7
00001
00011
00111
01000
S
8
00001
00011
00111
01000
S
9
00001
00101
00111
01000
D
10
00001
00101
00111
10010
D
LRU
D
D
Architecture des Ordinateurs – NFA004 – 2nd semestre – Solution Examen final 2012
4/7
D- Entrée-Sortie 4 pts
Question 7 (4 pts)
Le DMA possède des registres de traitement des entrées et de sorties.
a) Enumérer ces registres
b) Quel est le rôle de chacun des registres ?
c) Le DMA gère les entrées et les sorties selon deux modes différents :
c.1) Expliquer chacun de ces deux modes.
c.2) Schématiser le transfert de 4 octets dans les deux modes eu supposant que le transfert se fait
par octet.
Corrigé
a) registres : - Compteur d’octets
- Adresse octet en mémoire
- Commande (Ecriture, lecture)
- Adresse périphérique
b) Compteur d’octets nbr d’octets a transférer
Adresse octet en mémoire : Adresse mémoire dans laquelle se fait la lecture ou l’écriture
Commande (Ecriture, lecture) : Indique l’opération a exécuter (lecture ou écriture)
Adresse périphérique : l’adresse du périphérique sélectionné pour l’opération
c) DMA : mode rafale
mode vol de cycle
mode rafale :
Le DMA opère le transfert des n octets en une seule séquence ininterrompue. Durant ce transfert,
le DMA est maître du bus. Le processeur est «suspendu» durant la totalité du transfert.
mode vol de cycle :
Le DMA opère le transfert des n octets octet par octet. Il «vole» des cycles d’accès au bus pour
transférer chaque octet. Le processeur est «suspendu» durant le transfert d’un octet. Processeur et
DMA se partagent l’accès au bus durant le transfert des n octets.
Architecture des Ordinateurs – NFA004 – 2nd semestre – Solution Examen final 2012
5/7
mode rafale : ( le schéma sera répété en plus pour deux octets)
mode vol de cycle : (le schéma sera répété en plus pour deux octets)
Architecture des Ordinateurs – NFA004 – 2nd semestre – Solution Examen final 2012
6/7
Architecture des Ordinateurs – NFA004 – 2nd semestre – Solution Examen final 2012
7/7