TD Architecture des ordinateurs Jean-Luc Dekeyser Fiche 1 Nombres de l’informat
TD Architecture des ordinateurs Jean-Luc Dekeyser Fiche 1 Nombres de l’informatique Exercice 1 Une entreprise désire réaliser la sauvegarde de ses données sur un site distant. Le volume de données à sauvegarder est limité à 10Go/jour. La sauvegarde doit s'effectuer la nuit de 22h00 à 6h00. Les deux sites sont reliés par une ligne à 2Mbit/s. On vous demande de vérifier si cette solution est réalisable et le cas échéant de proposer une solution qui permette cette sauvegarde. Tableau de bit en octets bit octet (byte) Ko (KB) Mo (MB) Go (GB) To (TB) 1 bit 1 1 octet (byte) 8 1 1 Ko (KB) 8 192 1024 1 1 Mo (MB) 8 388 608 1 048 576 1024 1 1 Go (GB) 8 589 934 592 1 073 741 824 1 048 576 1024 1 1 To (TB) 8 796 093 022 208 1 099 511 627 776 1 073 741 824 1 048 576 1024 1 Exemple de lecture du tableau : 1 Mo = 1 048 576 octets Exercice 2 Question 1 : Combien de nombres peut-on coder sur 4, 8, 16 et 32 bits ? Quelles sont les bornes ? Convertir en binaire, puis en octal, et enfin en hexadécimal les nombres suivants : 100, 127, 128, 256, 1000, 1023, 1024, 10000 Exercice 3 1. Quel est le plus grand nombre que l'on peut stocker dans un octet ? 2. Quel est le plus grand nombre que l'on peut stocker dans deux octets ? 3. Quel est le plus grand nombre que l'on peut stocker dans quatre octets ? 4. Quel est le plus grand nombre que l'on peut stocker dans 64 bits ? 5. Combien d'octets faut-il pour stocker la chaîne << Que j'aime à faire apprendre... >>, sachant qu'en outre de chaque caractère de la chaîne elle-même, nous devons stocker sa longueur sous la forme d'un nombre entier codé sur quatre octets ? 6. Un disque dur a une capacité de 40 giga-octets, quel est le nombre de bits que l'on peut stocker sur ce disque ? 7. Un disque dur hautes performances vous est vendu comme pouvant contenir 72 giga-octets, or vous vous rendez compte qu'il ne peut contenir que 72 Milliards d'octets. Expliquez cette supercherie. 8. Le disque dur de la question précédente vous a été facturé 10000 Francs, de quelle somme vous avez été lésé ? Fiche 2 Les portes logiques Exercice 1 Considérer la fonction définie par la table de vérité ci-dessous : 1 - Générer une expression logique correspondante (somme de produits et produit de sommes) 2 - Simplifier les deux expressions en utilisant les règles de l’algèbre de Boole. 3 - Construire le diagramme de Karnaugh et déterminer une expression logique associée. 4 - Considérer les fonctions logiques suivantes. Pour chacune d’elles, – construire le diagramme de Karnaugh ; – utiliser le diagramme pour simplifier les expressions. Exercice 2 1. Calculer la table de vérité du circuit logique suivant : 2. Donner une expression logique simple pour cette fonction logique. 3. Dessiner son circuit logique. Fiche TD3 Circuits combinatoires Exercice 1 - Trouver les tables de vérité de s0, s1, . . . s6. - Trouver les expressions logiques pour chacune des sorties et dessiner le circuit complet. Exercice 2 Montrer, en dessinant les circuits logiques, que toutes les fonctions logiques à deux variables peuvent être exprimées avec uniquement des AND, OR et NOT. Exercice 3 - On rappelle qu’un système de fonctions logiques est dit complet s’il permet de calculer toutes les fonctions logiques. 1. Montrer que {AND, OR, NOT} est complet. 2. Montrer que {AND, NOT} et {OR, NOT} sont complets. 3. Montrer que {NAND} et {NOR} sont complets. - Construire les fonctions de la question 1 avec des NAND. En sachant qu’un NAND prend deux transistors, calculer le coût correspondant si l’on n’utilise que des NAND. Même question mais avec des NOR... Fiche 4 Logique séquentielle Exercice 1 Après avoir rappelé les tables de vérité des bascules D et JK, synchronisées sur front montant, donnez le chronogramme des sorties Q de chacune des bascules câblées ci- dessous en fonction d’une entrée d’horloge H. Exercice 2 1. Donnez la table de vérité du montage ci-dessous : 2. Quelle fonction reconnaissez-vous ? Exercice 3 On dispose de bascules JK synchronisées sur front montant. Chaque bascule possède des entrées asynchrones prioritaires actives à l’état bas : set et reset. 1. Réalisez un compteur asynchrone modulo 16. 2. Modifiez le montage pour en faire un compteur modulo 12. 3. En partant de zéro, tracez son chronogramme sur un cycle complet. 4. Que suffit-il de faire pour remplacer les bascules JK par des bascules D ? Fiche 5 Assembleur Exercice 1 1) Donnez l'arbre dévaluation, la notation post-fixée et la notation préfixée de cette expression: I = ( A + B * C ) / ( D - E * F ) 2) On dispose de 4 processeurs avec leur propre jeu d'instruction 0 adresse 1 adresse 2 adresses 3 adresses PUSH M LOAD M MOV(X:=Y) MOV(X:=Y) POP M STORE M ADD(X:=X+Y) ADD(X:=Y+Z) ADD ADD M SUB(X:=X-Y) SUB(X:=Y-Z) SUB SUB M MUL(X:=X*Y) MUL(X:=Y*Z) MUL MUL M DIV(X:=X/Y) DIV(X:=Y/Z) DIV DIV M M est une adresse mémoire (A, B, C, D, E, F, I). X, Y, Z sont soit une adresse mémoire, soit une adresse registre. La machine à 0 adresse utilise une pile. La machine à 1 adresse utilise un accumulateur. Les autres machines disposent de 16 registres R0.. R15. Chaque code opérateur est codé sur 8 bits. Une adresse mémoire est codée sur 16 Bits. Un numéro de registre est codé sur 4 bits. - Donnez les 4 programmes réalisant l'expression de 1) - Donnez la taille en bits de chaque programme Exercice 2 Comme cela a été dit en cours, à chaque processeur est associé un langage machine. Voici un langage assembleur du langage machine du Motorola 68000 qui diffère de celui utilisé en TP (le X86) La mémoire est une mémoire de mot de 8 Bits. L'instruction MOVE S, D transfert la source S sur la destination D Le $ signifie valeur en Hexa Le # signifie adressage immédiat Les registres Di, Ai sont des adressages direct registre, les registres sont de 32 bits Les adresses mémoire sont des entiers. Le ( ) signifie adressage indirect le -( ) est un adressage pré-décrémenté (La valeur d'incrément est de 1 ou 2 suivant le nombre d'octets transférés) Le ( ) + est un adressage post-incrémenté Et le n( , ) est un adresse indirect indexé avec déplacement Les instructions manipulent des mots de 2 octets par défaut, de 1 octet si le « .B » est spécifié derrière l'instruction MOVE. Les bits de poids faible sont ceux qui sont modifiés. Exécutez ce programme et pour chaque instruction montrez les changements intervenus sur les contenus des registres et de la mémoire. Les registres sont initialisés à $00000000. MOVE #$0010,D0 MOVE #$10FB,$2000 MOVE #$2002,A0 MOVE -'(A0),D1 MOVE.B (A0)+,D2 MOVE.B (A0)+,D2 MOVE #$8FFF,16(A0,D0) Fiche 6 Programmation Assembleur Exercice 1 Supposez que vous voulez multiplier deux variables a et b, stockées dans les positions de mémoire M[20] et M[21], respectivement, pour affecter cette valeur à la variable toto, stockée à la position de mémoire M[40] C'est-à-dire, vous voulez effectuer l'opération: toto = a*b ou: M[40] = M[20]*M[21] Le processeur possède 8 registres (R0...R7). Le registre R0 contient initialement la valeur 0. Les instructions du langage machine du processeur sont: LOAD Rd, M[adr] Rd <=M[adr] STORE M[adr], Rs M[adr] <= Rs ADD Rd, Rs1, Rs2 Rd <= Rs1 + Rs2 SUB Rd, Rs1, Rs2 Rd <= Rs1 – Rs2 DEC R R <= R - 1 JMP adr sauter à adr JZ Rs, adr si Rs = zero alors sauter à adr Avant d'écrire le programme, nous devons trouver un algorithme réalisant la tâche voulue. Un algorithme possible serait: 1. Donnez le code correspondant à cet algorithme qui commence à l’adresse b’0000 2. Donnez le code correspondant à cet algorithme qui commence à l’adresse b’0010 3. Comment étendre le jeu d’instruction pour écrire un programme indépendant de l’adresse de départ. Réécrire le programme. Quelle différence avec l’utilisation d’un assembleur et d’un label. Exercice 2 Sachant que le bus d’adresse du processeur est de 16 bits avec un alignement à l’octet, quelle est la taille de l’espace mémoire maximum que celui-ci peut adresser ? 1. Quelles solutions existent pour adresser une plus grande zone mémoire ? 2. Où sont effectués les calculs ? 3. A quoi servent les registres suivants du processeur : i. PC/IP (ou CO/PI) ii. IR (ou RI) iii. SP (ou PP) iv. Accumulateur 4. Quelle tâche réalise le séquenceur dans un processeur ? l'ordonnanceur ? Fiche 7 Micro programmation Exercice 1 Ce processeur ne possède qu’un seul bus, il servira à transférer les données et les instructions. L’ALU peut exécuter 16 fonctions différents,,l’une d’entre elles se nomme ADD, elle ajoute X avec la valeur sur le BUS et evntuellement la retenue si celle-ci est positionnée. Ces fonctions se uploads/Philosophie/ td-architecture-des-ordinateurs-pdf.pdf
Documents similaires










-
35
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Aoû 27, 2022
- Catégorie Philosophy / Philo...
- Langue French
- Taille du fichier 1.6022MB