Examen final automne 2004

publicité
Architecture des ordinateurs I
Examen Final Automne 2004
JP David
IFT 1226
Examen Final
/40
Nom : ______________________________
Login : ______________________________
Signature :___________________________
Code Perm : __________________________
Directives pédagogiques :
•
•
•
Durée de l’examen : 3 heures.
Documentation permise :
les acétates vus au cours, éventuellement annotés.
Les datasheets du PIC18F452 (ou des extraits)
Répondre directement sur le questionnaire
Question 1 (5 points, 15 minutes, soit 9H45)
Expliquez le fonctionnement de l’architecture Mic4, étage par étage en donnant chaque fois le type de
données qui entrent dans l’étage, le traitement qui est fait dans l’étage et le type de données qui sortent
de l’étage.
Étage 1
Étage 2
Étage 3
1
Architecture des ordinateurs I
Examen Final Automne 2004
JP David
Étage 4
Étage 5
Étage 6
Étage 7
Question 2
(10 points, 40 minutes, soit 10H25)
Écrire un programme en langage d’assemblage pour le robot pico-board qui reçoit des octets (x) par le
port infra-rouge, les encrypte (voir algorithme ci-dessous) et renvoie le résultat (y) par le port infrarouge utilisez les labels n0..n6 qui doivent impérativement se retrouver dans votre code :
char crypto(char x) {
char y,i;
n0:
y=255-x;
n1:
n2:
n3:
n4:
n5 :
for (i=0; i<16;i++) {
if (y%2==0)
y=y + 0xAE;
else y=y ^ 0x58;
y=perm (y);
}
return y;
// ^ signifie un xor
n6 :
}
Considérez que la routine perm est déjà écrite pour vous. Elle prend son paramètre dans WREG et
retourne son résultat dans WREG également.
2
Architecture des ordinateurs I
Examen Final Automne 2004
JP David
3
Architecture des ordinateurs I
Examen Final Automne 2004
JP David
Question 3 (5 points, 15 minutes, soit 10H40)
Le jeu d’instructions d’un processeur 16 bits nécessite au minimum :
• 10 instructions à 3 opérandes (4 bits par opérande)
• 2 instructions à 2 opérandes (6 bits par opérande)
• 6 instructions à 1 opérande (11 bits par opérande)
• 500 instructions sans opérande
3.1)
Proposez un format d’instruction compatible avec ces exigences.
3.2)
Combien d’instructions sans opérande restent disponibles ? Quel est leur format ?
3.3) On voudrait ajouter 16 instructions à 3 opérandes de 4 bits sans changer la taille du bus de donnée
(16 bits). Comment faire ? Inspirez-vous du PIC18F452.
4
Architecture des ordinateurs I
Examen Final Automne 2004
JP David
Question 4 (10 points, 40 minutes, soit 11H20)
Sur l’architecture MIC3 (celle avec 3 bus, l’unité de recherche d’instructions et les registres A, B et C
supplémentaires), les temps de propagation sont les suivants :
4 ns entre les registres et les bus A et B
10 ns dans l’ALU
3 ns dans l’unité de décalage
3 ns entre le registre C et l’entrée des registres.
Dans l’ALU, on se rend compte que les opérations logiques et arithmétiques prennent effectivement 10
ns tandis que les simples transferts prennent seulement 5 ns. On décide alors d’utiliser deux cycles
d’horloge pour les opérations logiques et arithmétiques et un seul cycle d’horloge pour les transferts.
Ainsi, le programme suivant est valide :
N0 :
N1 :
N2 :
N3 :
A=CPP; B=TOS
// on attend un cycle avant de récupérer le résultat de l’addition sans changer A et B
C=A+B; A=LV;
C=A; // la donnée est déjà disponible car il s’agit d’un simple transfert.
4.1)
Quelle était la fréquence maximale avant d’utiliser ce stratagème ?
4.2)
Quelle est la fréquence maximale avec ce stratagème ?
4.3)
Décrivez, cycle après cycle, l’exécution de l’instruction IADD parallélisée au maximum sur
cette nouvelle architecture.
5
Architecture des ordinateurs I
Cycle
MAR=SP=SP-1; rd;
1
B=SP;
Examen Final Automne 2004
H=TOS;
JP David
MDR=TOS=MDR-H;wr;
goto (MBR1)
2
3
4
5
6
7
4.4)
Cette modification va-t-elle augmenter ou diminuer les performances ? Justifiez.
Question 5 (10 points, 40 minutes, soit 12H00)
Un ordinateur dispose d’une mémoire physique de 64 Mo avec une cache « 2-associative » de 8Ko
(soient 2 blocs de 4Ko chacun). La taille des lignes est de 32 octets.
5.1)
Faites un dessin de la mémoire cache en indiquant le nombre et la taille des cellules mémoires
(par cellule on entend le plus petit groupe de bits contenant une information significative).
Indiquez également la correspondance entre l’adresse physique et la position dans la mémoire
cache.
6
Architecture des ordinateurs I
5.2)
Examen Final Automne 2004
JP David
Pour la séquence d’accès suivante, indiquez chaque fois si la donnée est en cache, le numéro du
bloc et de la ligne, et les éventuelles opérations de transfert de données entre cache et mémoire
principale :
Adresse
Hit/Miss
Bloc
Ligne
Transferts : De mémoire[x..y] vers cache
De cache vers mémoire[x...y]
0
0x8
0x10
0x48
0x60
0x1050
0x3040
0x2050
0x2070
Il vous reste normalement 30 minutes pour relire
Bon travail !
7
Téléchargement