• Aucun résultat trouvé

Cours 5 : Introduction aux microprocesseurs

N/A
N/A
Protected

Academic year: 2022

Partager "Cours 5 : Introduction aux microprocesseurs"

Copied!
3
0
0

Texte intégral

(1)

Cours 5 : Introduction aux microprocesseurs

Q5.1 : À quoi sert la ligne de contrôle LOAD/COUNT pour le CPU en exemple dans le cours 5?

Q5.2 : À quoi sert l’entrée 0 pour le MUX A et le MUX B pour le CPU en exemple dans le cours 5?

Q5.3 : 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.4 : Pourquoi a-t-on besoin du registre MAR?

Q5.5 : Quel circuit logique pourrait être utilisé afin de concevoir un registre?

Q5.6 : Donnez quatre différences entre une architecture RISC et une architecture CISC.

Q5.7 : Donnez trois conséquences d’utiliser des instructions ayant toujours la même longueur?

Q5.8 : Qu’est-ce qu’un pipeline?

Q5.9 : 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.10 : Nommez cinq composantes d’un CPU moderne.

Q5.11 : Qu’est-ce qu’une micro instruction? Quel est l’avantage d’utiliser des micro- instructions 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.12 : 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.13 : 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.

(2)

Cours 6 : La famille 8086

Q6.1 Le 8086 a-t-il une architecture CISC ou RISC?

Q6.2 Le 8086 a-t-il un pipeline?

Q6.3 Décrivez les 40 pins du 8086 (Notez bien que quelques pins sont décrites dans les cours 8, 9, 10 et 11).

Q6.4 Pourquoi le 8086 a-t-il un buffer d’instruction de 6 bytes?

Q6.5 A quoi sert le « transceiver » dans le schéma du mode minimum à l’intérieur de la

« datasheet » du 8086?

Q6.6 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.7 Comment le 8086 distingue-t-il la mémoire des périphériques au niveau du bus de contrôle?

Q6.8 Avec combien d’adresses de mémoire le 8086 peut-il communiquer? Avec combien d’adresses d’I/O?

Q6.9 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) … contenir deux caches e) … être superscalaire?

f) … permettre l’exécution du jeu d’instruction MMX?

g) … permettre l’exécution du jeu d’instruction IA-64?

h) … contenir deux unités de contrôle?

i) … contenir un bus PCI?

j) …traiter les fractions avec un coprocesseur dédié?

Pour tous les microprocesseurs trouvés, donnez les années d’apparition.

Q6.10 Quelle(s) broche(s) du 8086 servent à signaler une interruption au microprocesseur?

(3)

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?

Références

Documents relatifs

Montrer que, dans une base bien choisie, la matrice de s a est triangulaire supérieure.. En déduire l'existence d'un supplémentaire de V stable

Comme il est demandé de combien est l’augmentation, on répond qu’il s’agit d’une hausse

Ci-contre, un tableau reportant le nombre de cas cumulé de Covid autour du début du mois de mars 2020.. Représenter les données du tableau avec un nuage de points (jour en abcisse

Q5.12 : 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

Mii) En fonction des valeurs de l’annexe B, comment serait encodée l’instruction MOV R0, Mavar, sachant que Mavar est une variable en mémoire? Choisissez l’adresse de MaVar.

Si la valeur stockée dans le registre R0 est égale 42 alors la prochaine instruction à exécuter se situe à l'adresse mémoire 85 , sinon la prochaine instruction à exécuter se situe

[r]

Pour obtenir la commande des deux rotations, il suffit de définir des points suffisamment proches les uns des autres et permettant de décrire le déplacement souhaité du point B3