Exercices

Exercice 1 : Identification d'éléments

Voici une photo d'un élément d'ordinateur : identifiez tout ce que vous pouvez.

photo d'un élément d'ordinateur

Voici quelques éléments de réponse.

Exercice 2 : Identification de ports

Voici une photo d'une partie d'une façade arrière de tour d'ordinateur : identifiez tout ce que vous pouvez.

photo d'un élément d'ordinateur

Voici quelques éléments de réponse.

Exercice 3 : Fonctions

Énumérez de mémoire toutes les fonctions assurées par des périphériques : donnez des exemples à chaque fois.

Exercice 4 : Stockage

Donnez les caractéristiques associées au stockage sur : mémoire vive, clef USB, BluRay, CD-RW, disque dur, disquette.

Exercice 5 : Processeur à 8 étages

  1. On regarde le cas d'un processeur à huit étages. Quelle est le nombre maximal d'instructions qui peuvent s'exécuter simultanément dans ce processeur ?
  2. Le temps de cycle de ce processeur est de 0,5 ns. Quel est le temps nécessaire pour exécuter une instruction ?
  3. Quelle est la cadence d'instructions maximale qui est possible sur ce processeur ? Quelle est l'accélération maximale ? L'accélération (moyenne) se calcule comme la division du temps d'exécution (moyen) d'une série d'instructions dans le modèle classique divisé par le temps dans le modèle pipeline. L'accélération maximale est la limite supérieure de cette accélération moyenne.
  4. Les étapes 6 et 7 sont consacrées à la lecture et à l'écriture dans la mémoire interne au processeur (d'abord initialisation, puis consultation du bus interne de données). Quelle doit être la valeur maximale du temps d'accès à cette mémoire interne ?
  5. Quel est le temps d'exécution des cinquante premières instructions ?

Voici quelques éléments de réponse.

Exercice 6 : Dépendance de contrôle et de données

Soit le programme suivant (R0 vaut 2 au départ, R1 vaut 3 et R2 vaut 10) :
      boucle: ADDI R0,-1 -> R0
              ADD R1,R2 -> R1
              SHIFT LEFT R2,1 -> R2
              BRANCH (R0<>0) boucle
              SYSCALL // Arret du programme
    

On se situe dans le cas du processeur à cinq étages étudié en cours. Le jeu d'instruction a une syntaxe simple : Rx désigne un registre, le résultat des opérations est écrit dans le registre après la flèche, BRANCH fait le test indiqué et va à l'étiquette mentionnée s'il est vrai (et sinon, va à l'instruction suivante) (et en fait on se moque de ce que font exactement les instructions pour les besoins de cet exercice).

  1. Est-ce qu'il y a une dépendance de données entre le R2 de la ligne 2 et celui de la ligne 3 ? Pourquoi ?
  2. Est-ce qu'il y a une dépendance de données entre le R0 de la ligne 1 et celui de la ligne 4 ? Pourquoi ?
  3. Est-ce qu'il est possible de résoudre les problèmes mentionnés plus haut avec une instruction NOP ? Est-ce qu'il reste des dépendances de données ?
  4. Comment peut-on faire pour résoudre la dépendance d'instructions de la ligne 4 ?
  5. En supposant qu'on anticipe que le saut ne se fait pas, sachant que le temps de cycle est de 1 ns, quel est le temps entre l'entrée de la première instruction et la fin de traitement de l'instruction syscall ?
  6. Quelle est l'accélération effective ?

Voici quelques éléments de réponse.