doc

publicité
Cours 5 : Introduction aux microprocesseurs
Q5.1 : Qu’est-ce qu’un ALU?
Q5.2 : Qu’est-ce que le Control Central Unit d’un microprocesseur?
Q5.3: Lorsque le microprocesseur lit une instruction, où la met-il avant de la décoder?
Q5.4 : Combien de coups d’horloges sont requis pour lire et exécuter une instruction?
Q5.5 : De combien est incrémenté automatiquement PC entre chaque instruction?
Q5.6 : Lorsque le microprocesseur lit une variable en mémoire, comment sait-il l’adresse
de la variable et le registre qui doit contenir la valeur lue?
Q5.7 : À quoi sert la ligne de contrôle LOAD/COUNT pour le CPU en exemple dans le
cours 5?
Q5.8 : À quoi sert l’entrée 0 pour le MUX A et le MUX B pour le CPU en exemple dans le
cours 5?
Q5.9 : Pour le CPU en exemple dans le cours 5, quel est la valeur des lignes de contrôle
pour la sous-instruction MDR+A->A? Inspirez-vous de l’acétate « Microprogramme pour
addition (Annexe) » afin de répondre.
Q5.10 : Pourquoi a-t-on besoin du registre MAR?
Q5.11 : Quel circuit logique pourrait être utilisé afin de concevoir un registre?
Q5.12 : Donnez quatre différences entre une architecture RISC et une architecture CISC.
Q5.13 : Donnez trois conséquences d’utiliser des instructions ayant toujours la même
longueur?
Q5.14 : Qu’est-ce qu’un pipeline?
Q5.15 : Dites si les énoncés suivant sont vrai ou faux. Justifier dans tous les cas :
A) Un pipeline permet toujours de compléter une instruction par coup d’horloge
B) Un ordinateur super scalaire sera assurément plus performant qu’un ordinateur
scalaire.
C) Un pipeline ayant une profondeur de 6 exécute 6 instructions à la fois et l’exécution
de chaque instruction est divisée en 6 parties.
Q5.16 : Nommez cinq composantes d’un CPU moderne.
Q5.17 : Qu’est-ce qu’une micro instruction? Quel est l’avantage d’utiliser des microinstructions par rapport à concevoir un microprocesseur avec une logique câblée
(hardwired, c’est-à-dire où chaque instruction est exécutée par une séquence d’action dans
du matériel qui lui est propre).
Q5.18 : Lors de la lecture et de l’exécution d’une instruction comme LOAD R0, MaVar
(lire MaVar en mémoire et mettre la valeur lue dans le registre R0), le microprocesseur met
des adresses sur le bus d’adresse. Dites combien d’adresses seront mises sur le bus
d’adresse et quel registre du microprocesseur fournira l’adresse.
Q5.19 : L’annexe du cours 5 présente un microprocesseur rudimentaire. Expliquez quelles
seraient les sous-instructions nécessaires afin de lire et d’exécuter l’instruction LOAD R0,
MaVar (lire MaVar en mémoire et mettre la valeur lue dans le registre R0), puis lire et
exécuter l’instruction ADD R0, R0, R0 (additionne R0 = R0 + R0), pour ce
microprocesseur rudimentaire.
Cours 6 : ARM, 8086 et Cie
Q6.1 Les microprocesseurs ARM sont-ils vendus comme les microprocesseurs d’Intel pour
PC?
Q6.2 Le cœur ARM a-t-il une architecture CISC ou RISC?
Q6.3 Le cœur ARM a-t-il un pipeline?
Q6.4 Pourquoi peut-on dire que le microprocesseur ARM est un microprocesseur 32 bits?
Q6.5 Qu’est-ce qu’une architecture LOAD/STORE?
Q6.6 Comment modifie-t-on les drapeaux de l’ALU?
Q6.7 À quoi sert le Barrel Shifter du cœur ARM?
Q6.8 Quels jeux d’instructions sont supportés par le cœur ARM?
Q6.9 Pourquoi supporte-t-on des instructions 16 bits en plus des instructions ARM 32 bits?
Q6.10 Combien d’adresses de mémoires ou de périphériques sont disponible pour le
processeur ARM
Q6.11 Le 8086 a-t-il une architecture CISC ou RISC?
Q6.12 Le 8086 a-t-il un pipeline?
Q6.13 Décrivez les 40 pins du 8086 (Notez bien que quelques pins sont décrites dans les
cours 8, 9, 10 et 11).
Q6.14 Pourquoi le 8086 a-t-il un buffer d’instruction de 6 bytes?
Q6.15 A quoi sert le « transceiver » dans le schéma du mode minimum à l’intérieur de la
« datasheet » du 8086?
Q6.16 Dans quel ordre et quelles pins du 8086 sont activés tour à tour afin de lire une
donnée ou une instruction en mémoire? Pour écrire?
Q6.17 Comment le 8086 distingue-t-il la mémoire des périphériques au niveau du bus de
contrôle?
Q6.18 Avec combien d’adresses de mémoire le 8086 peut-il communiquer? Avec combien
d’adresses d’I/O?
Q6.19 Quel est le premier microprocesseur d’Intel à…
a) … contenir un pipeline?
b) … des améliorations au pipeline comme les prédicateurs de saut?
c) … contenir une cache?
d)
e)
f)
g)
h)
i)
j)
… contenir deux caches
… être superscalaire?
… permettre l’exécution du jeu d’instruction MMX?
… permettre l’exécution du jeu d’instruction IA-64?
… contenir deux unités de contrôle?
… contenir un bus PCI?
…traiter les fractions avec un coprocesseur dédié?
Pour tous les microprocesseurs trouvés, donnez les années d’apparition.
Q6.20 Quelle(s) broche(s) du 8086 servent à signaler une interruption au microprocesseur?
Cours 7 : Assembleur, Compilateur et Éditeur de Liens
Q7.1 : Supposons un même programme construit avec les langages de programmation
suivant:
-
Assembleur 8086 (assembleur)
Matlab (langage interprété)
Langage C (haut niveau)
Quel langage produira …le plus gros programmme? …le plus petit? …le plus rapide? ...le
plus lent?
Avec quel langage le programme sera-t-il le plus long à créer? le plus court?
Q7.2 : Quel le but principal et fondamental d’un langage de programmation?
Q7.3 : Que fait un assembleur? un compilateur?
Q7.4 : Qu’est-ce qu’une DLL (Dynamic Link Library)?
Q7.5 : Quel type du fichier peut être assemblé, compilé ou interprété? Pourquoi?
Q7.6 : Qu’est-ce qu’un fichier objet?
Q7.7 : Que contient un fichier objet?
Q7.8 : Un fichier exécutable contient-il uniquement du code en binaire?
Q7.9 : Quels sont les rôles principaux de l’éditeur de liens?
Q7.10 : Que fait le compilateur lorsqu’il compile un fichier qui fait référence à une
variable définie dans un autre fichier?
Q7.11 : Peut-on faire un programme avec du code écrit en assembleur, du code écrit en C
et du code écrit en C++?
Q7.12 : Lorsque vous compilez ou assemblez un programme pour un microprocesseur
d’Intel, pourquoi ce programme fonctionne-t-il sur un microprocesseur d’AMD?
Q7.13 : Lorsque vous utilisez la variable “MaVariable” dans le code de votre programme,
le mot “MaVariable” se retrouvera-t-il dans l’exécutable sur votre disque dur?
Téléchargement