Correction - Complete - TD - Archi - Copie
Correction - Complete - TD - Archi - Copie
Correction - Complete - TD - Archi - Copie
IMPORTANT : Cette série de TD comporte cinq (8) exercices à préparer à la maison (i.e. à faire
obligatoirement par chaque étudiant); un contrôle, suivi de sanctions pour tous ceux qui ne les auront pas faits,
sera systématiquement effectué à chacune des séances. Aucune excuse ne sera ni acceptée, ni tolérée.
Soit un ordinateur dont les mots mémoires sont composés de 32 bits. Cet ordinateur dispose de 4Mo de
mémoire.
1. Un entier étant codé sur un mot, combien de mot cet ordinateur peut-il mémoriser simultanément ?
2. Combien fils, le bus d’adresse devra-t-il comporter pour adresser toutes les cases mémoires ?
20 fils
Soit la mémoire suivante dans laquelle chaque caractère s’écrit suivant la largeur (de la mémoire).
Le bus de données (ou bus frontal – FSB : Front Side Bus) du processeur Intel 8086, fonctionnant à une
fréquence de 10 MHz, nécessite 4 cycles d’horloge pour lire un mot mémoire.
1) Est-ce un bus synchrone ou asynchrone ? justifiez votre réponse.
2) Déterminer en million d’instruction par seconde, la capacité de ce bus
3) La taille d'un mot mémoire étant de 16 bits, calculer la bande passante de ce bus en bits/s et en octets/s.
On souhaite lire un film se trouvant sur un disque dur, connecté à l’ordinateur via un bus USB1.1. Le film est
non-compressé, et constitué d’une succession d’images de 1024 *768 pixels en 256 couleurs. On suppose que
le défilement des images se fait en 24 images par seconde. Une liaison USB1.1 permet le transfert de données
bit par bit à la fréquence de 12 MHz.
On se place sur un processeur hypothétique, qui accède à une mémoire centrale dans laquelle la taille d’une
Case mémoire est de 2 octets. Ce processeur dispose des registres suivants:
o IR, le registre d’instruction;
o PC, le compteur de programme;
o A (comme accumulateur), un registre temporaire pour le stockage du résultat des opérations.
Les instructions sont codées sur 2 octets comme suit:
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Opcode Adresse
On rappelle que le jeu d’instruction est le nombre d’instructions (mnémoniques) pouvant être utilisées pour
programmer un microprocesseur.
LOAD (130)H
ADD (131)H
STORE (133)H
Définition : Un pipeline (chaîne de traitement), dans la microarchitecture d'un processeur, est l'élément
dans lequel l'exécution des instructions est découpée en étages. Avec un pipeline, le processeur peut
commencer à exécuter une nouvelle instruction sans attendre que la précédente soit terminée. Chacune de ces
étapes est réalisée dans un circuit séparé des autres. Le circuit qui permet d'effectuer une étape s’appelle un
étage de pipeline. Le nombre total d'étapes nécessaires pour effectuer une instruction (et donc le nombre
d'étages du pipeline) est appelé la profondeur du pipeline.
Il existe plusieurs types de pipeline dont le plus utilisé est celui de DAVID PATTERSON, inventeur des
processeurs RISC et du concept de pipeline. Avec ce pipeline, 5 étapes sont nécessaires pour accomplir une
instruction :
1. IF (Instruction Fetch) charge l'instruction à exécuter dans le pipeline.
2. ID (Instruction Decode) décode l'instruction et adresse les registres.
3. EX (Execute) exécute l'instruction (par la ou les unités arithmétiques et logiques).
4. MEM (Memory), dénote un transfert depuis un registre vers la mémoire dans le cas d'une instruction du
type STORE (accès en écriture) et de la mémoire vers un registre dans le cas d'un LOAD (accès en lecture).
5. WB (Write Back) stocke le résultat dans un registre.
La source peut être la mémoire ou bien un registre
(Source WIKIPEDIA)
Problème : nous voulons traiter 3 instructions en supposant que chaque étape met 1 cycle d'horloge pour
s’exécuter.
Questions