EXECICE MC+PROCESSEUR
Soit une mémoire centrale de 2 Moctets, la taille du mot mémoire
est de 2 octets et le bus d’adresse est de 16 bits.
1- Calculer le nombre de mots mémoire utilisé par cette mémoire ? 2- Calculer le nombre de mots mémoire maximale de cette même
mémoire ?
3- Quelle est en décimale l’adresse minimale et l’adresse maximale de cette mémoire ?
4- Quelle est la taille des registres CO (compteur ordinal) et RI (registre d’instruction) ?
Indication : CO=TR@ et RI=TRM
5- Calculer en octal puis en hexadécimale, l’adresse du 4ème élément du tableau dont l’adresse du 1er élément est (1C) en base 16 et dont tous les éléments sont composés de 2 octets ?
6- Soit le programme en langage assembleur suivant comportant 9 instructions permettant de modifier le contenu des registres internes du CPU :
1. LOAD A 2. ADD B 3. STORE A 4. LOAD A 5. SUB B 6. STORE B 7. LOAD A 8. SUB B 9. STORE A
6.1- Combien de temps (en ms) est nécessaire pour exécuter ce programme, sachant qu’on dispose d’une mémoire de temps d’accès égal à 1 ms, l’unité de décodage nécessite 1 µs pour
décoder une instruction et que l’unité d’exécution nécessite 2 µs pour son exécution ? (1 ms= 0,001s et 1 µs = 0,000001s)
1 / 2
6.2 - Sachant que les données sont rangées dans la mémoire centrale à partir de l’adresse (1C) en base 16 et les instructions sont rangées à partir de l’adresse du 4ème élément du tableau vu à la question N°5.
6.2.1 – Compléter le schéma suivant qui représente le contenu de la mémoire avant l’exécution de ce programme.
Adresse Commentaire
1C Variable A Variable B ..…
Instruction 1
Instruction 2 Instruction 3 Instruction 4 Instruction 5
Instruction 6 Instruction 7
Instruction 8 Instruction 9
6.2.2 Pourquoi le CO doit se placer sur l’adresse de la 1ère instruction ?
6.2.3 Que fait se programme ? peut-on réduire le nombre d’instruction de ce programme avec une autre
méthode, si oui écrivez le en langage assembleur ?
2 / 2
MC 0101 0100 ………
………
………
………
………
………
………
………
………