Architecture des ordinateurs I Examen Final Automne 2004 JP David
1
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
Architecture des ordinateurs I Examen Final Automne 2004 JP David
2
É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 infra-
rouge 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: for (i=0; i<16;i++) {
n2: if (y%2==0)
n3: y=y + 0xAE;
n4: else y=y ^ 0x58; // ^ signifie un xor
n5 : y=perm (y);
}
n6 : return y;
}
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.
Architecture des ordinateurs I Examen Final Automne 2004 JP David
3
Architecture des ordinateurs I Examen Final Automne 2004 JP David
4
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.
Architecture des ordinateurs I Examen Final Automne 2004 JP David
5
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 : A=CPP; B=TOS
N1 : // on attend un cycle avant de récupérer le résultat de l’addition sans changer A et B
N2 : C=A+B; A=LV;
N3 : 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.
1 / 7 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !