TD Architecture des ordinateurs.pdf

Embed Size (px)

Citation preview

  • 8/10/2019 TD Architecture des ordinateurs.pdf

    1/17

    TD Architecture des ordinateurs

    Jean-Luc Dekeyse r

  • 8/10/2019 TD Architecture des ordinateurs.pdf

    2/17

    Fiche 1 Nombres de linformatique

    Exercice 1Une entreprise dsire raliser la sauvegarde de ses donnes sur un site distant. Le volume de

    donnes sauvegarder est limit 10Go/jour. La sauvegarde doit s'effectuer la nuit de 22h00 6h00. Les deux sites sont relis par une ligne 2Mbit/s.

    On vous demande de vrifier si cette solution est ralisable et le cas chant 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 hexadcimal les nombres suivants :

    100, 127, 128, 256, 1000, 1023, 1024, 10000

    Exercice 31. 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 chane

  • 8/10/2019 TD Architecture des ordinateurs.pdf

    3/17

  • 8/10/2019 TD Architecture des ordinateurs.pdf

    4/17

    Fiche TD3 Circuits combinatoires

    Exercice 1

    -

    Trouver les tables de vrit de s0, s1, . . . s6.

    -

    Trouver les expressions logiques pour chacune des sorties et dessiner le circuit complet.

    Exercice 2Montrer, en dessinant les circuits logiques, que toutes les fonctions logiques deux variables peuventtre exprimes avec uniquement des AND, OR et NOT.

    Exercice 3- On rappelle quun systme de fonctions logiques est dit complet sil permet de calculer toutes lesfonctions logiques.

    1. Montrer que {AND, OR, NOT} est complet.2. Montrer que {AND, NOT} et {OR, NOT} sont complets.

  • 8/10/2019 TD Architecture des ordinateurs.pdf

    5/17

    3. Montrer que {NAND} et {NOR} sont complets.

    - Construire les fonctions de la question 1 avec des NAND. En sachant quun NAND prend deuxtransistors, calculer le cot correspondant si lon nutilise que des NAND.Mme question mais avec des NOR...

  • 8/10/2019 TD Architecture des ordinateurs.pdf

    6/17

    Fiche 4 Logique squentielle

    Exercice 1Aprs avoir rappel les tables de vrit des bascules D et JK, synchronises sur front montant,

    donnez le chronogramme des sorties Q de chacune des bascules cbles ci- dessous en fonctiondune entre dhorloge H.

    Exercice 21. Donnez la table de vrit du montage ci-dessous :

    2. Quelle fonction reconnaissez-vous ?

    Exercice 3On dispose de bascules JK synchronises sur front montant. Chaque bascule possde des entres

    asynchrones prioritaires actives ltat bas : set et reset.

    1. Ralisez un compteur asynchrone modulo 16.

    2. Modifiez le montage pour en faire un compteur modulo 12.

    3. En partant de zro, tracez son chronogramme sur un cycle complet.

    4. Que suffit-il de faire pour remplacer les bascules JK par des bascules D ?

  • 8/10/2019 TD Architecture des ordinateurs.pdf

    7/17

    Fiche 5 Assembleur

    Exercice 11) Donnez l'arbre dvaluation, la notation post-fixe et la notation prfixe 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 adressesPUSH 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 mmoire (A, B, C, D, E, F, I). X, Y, Z sont soit une adresse mmoire, 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 oprateur est cod sur 8 bits. Une

    adresse mmoire est code sur 16 Bits. Un numro de registre est cod sur 4 bits.

    - Donnez les 4 programmes ralisant l'expression de 1)

    - Donnez la taille en bits de chaque programme

    Exercice 2Comme cela a t dit en cours, chaque processeur est associ un langage machine. Voici un langage

    assembleur du langage machine du Motorola 68000 qui diffre de celui utilis en TP (le X86)

    La mmoire est une mmoire 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 immdiat

    Les registres Di, Ai sont des adressages direct registre, les registres sont de 32 bits

    Les adresses mmoire sont des entiers.

    Le ( ) signifie adressage indirect

    le -( ) est un adressage pr-dcrment (La valeur d'incrment est de 1 ou 2 suivant le nombre

    d'octets transfrs)

    Le ( ) + est un adressage post-incrment

    Et le n( , ) est un adresse indirect index avec dplacement

    Les instructions manipulent des mots de 2 octets par dfaut, de 1 octet si le .B est spcifi

    derrire l'instruction MOVE. Les bits de poids faible sont ceux qui sont modifis.

    Excutez ce programme et pour chaque instruction montrez les changements intervenus sur les

    contenus des registres et de la mmoire. Les registres sont initialiss $00000000.

    MOVE #$0010,D0MOVE #$10FB,$2000MOVE #$2002,A0MOVE -'(A0),D1MOVE.B (A0)+,D2MOVE.B (A0)+,D2MOVE #$8FFF,16(A0,D0)

  • 8/10/2019 TD Architecture des ordinateurs.pdf

    8/17

    Fiche 6 Programmation Assembleur

    Exercice 1Supposez que vous voulez multiplier deux variables a et b, stockes dans les positions de mmoire

    M[20] et M[21], respectivement, pour affecter cette valeur la variable toto, stocke la position demmoire M[40] C'est--dire, vous voulez effectuer l'opration:

    toto = a*b ou: M[40] = M[20]*M[21]

    Le processeur possde 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

  • 8/10/2019 TD Architecture des ordinateurs.pdf

    9/17

  • 8/10/2019 TD Architecture des ordinateurs.pdf

    10/17

    Fiche 7 Micro programmation

    Exercice 1

    Ce processeur ne possde quun seul bus, il servira transfrer les donnes et les instructions. LALU

    peut excuter 16 fonctions diffrents,,lune dentre elles se nomme ADD, elle ajoute X avec la valeursur le BUS et evntuellement la retenue si celle-ci est positionne. Ces fonctions se font en moins dun

    cycle. Une entre de lALU positionne la retenue 1. Un mcanisme de remise zro du registre X

    est associ un signal RAZX. Les registres RAM et RDM sont les buffers adresse et donne

    vers/depuis la mmoire externe. Laccs la mmoire est ralis par deux signaux lecture et criture,

    un seul cycle suffit pour obtenir le effcetuer laccs. Les regsitres R0.. R3 sont les registres gnraux.

    1. Donnez la liste des micro-instructions de ce CPU et proposez une codification pas champs

    2. Donnez les micro programme des phases dexcution des instructions :

    AA R1, R2 source , source/desta

    ADD ( R1 ) , R2 adressage indirect

    ADD (R1) + , R2 adressage indirect postincrment

    3.

    Donnez le micro programme de la phase de chargement

  • 8/10/2019 TD Architecture des ordinateurs.pdf

    11/17

    4. Reprendre les micro programme (2) avec un accs mmoire qui demande entre>2 et

  • 8/10/2019 TD Architecture des ordinateurs.pdf

    12/17

  • 8/10/2019 TD Architecture des ordinateurs.pdf

    13/17

    Exercice 3 : adressage de mmoire

    La capacit des circuits mmoire est en augmentation constante. Le nombre de broches

    ncessaire l'adressage des mots mmoire suit cette augmentation, et il est souvent gnant

    d'avoir un nombre de broches trop important sur un botier. Imaginez un moyen d'adresser

    2n

    mots mmoire en utilisant n' broches, avec n' < n. Faites un schma et dterminez n'.

    Exercice 4

    Que semble faire le montage ci-dessous ? Trouvez les erreurs et proposez un montage qui

    fonctionne.

  • 8/10/2019 TD Architecture des ordinateurs.pdf

    14/17

    Fiche TD 9 Mmoire virtuelle

    Exercice 1 Espace dadressage paginSoit un systme ayant 4 pages mmoire, la taille dune page est gale 100, ladressage commence

    0. Un Programme P fait successivement rfrence aux adresses suivantes : 100, 210, 355, 120,420,

    110, 200, 550, 139, 201, 395, 404, 505.

    1) Donner la chane de rfrences aux pages qui correspondent aux adresses.

    2) Calculer le nombre de dfauts de pages en appliquant la stratgie U.

    3) Proposer une mthode qui donne un nombre minimum (optimal) de dfauts de pages. Calculer le

    nombre de dfauts de pages optimal.

    Exercice 2I) Soit un programme dont le code occupe 1024 octets en mmoire et qui utilise unvecteur avec 1000 lments de type caractre (un caractre = un octet en mmoire). Ce

    programme est excut dans un systme qui utilise la pagination de la mmoire dont la taillede la mmoire relle est de 1 Mo, la taille d'une page est de 512 octets et les instructions rfrence mmoire ont un champ dadresse de 24 bits.a) Donnez :

    1) la taille de l'espace logique dadressage2) le nombre de bits du dplacement3) le nombre de bits du numro de page virtuelle4) le nombre de bits d'une adresse relle

    5) le nombre de bits du numro de page relle (case)6) le nombre d'entres de la table des pages

    b) Le chargement de ce programme en mmoire engendre-t-il une fragmentation interne delespace mmoire?Justifiez votre rponse.

    II) On appelle "anomalie de Belady" le fait que le nombre de dfauts de pages augmentequand on augmente le nombre de pages disponibles en mmoire physique. On appelle"algorithme pile" un algorithme prsentant la proprit d'inclusion :

    M(m,r) inclus dans M(m+1, r),o m est le nombre de pages physiques en mmoire et r un index dans le vecteur de rfrences

    auxpages ().M(m,r) reprsente l'ensemble des pages prsentes en mmoire aprs r rfrences mmoire,lorsque l'on dispose de m pages. Une condition suffisante pour qu'un algorithme ne prsente

    pas l'anomalie de Belady est qu'il soit pile.a) Montrez lanomalie de Belady pour lalgorithme FIFO avec m=3, puis m=4, pourle vecteur de rfrences aux pages suivant : = { 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5 }.

    b) Montrez sur cet exemple que lalgorithme FIFO nest pas un algorithme pile,en indiquant les tats pour lesquels la proprit d'inclusion n'est pas vrifie.

    Exercice 3Considrez un systme de gestion de mmoire qui a les caractristiques suivantes :

  • 8/10/2019 TD Architecture des ordinateurs.pdf

    15/17

    Un adressage virtuel sur 32 bits

    Une taille de Page de 4Ko

    Une mmoire physique de 1 Moa) Supposez que le systme utilise la segmentation pagine et que ladresse virtuelle est de laforme

    :

    Quelles sont les donnes manquantes ce problme pour traduire ladresse virtuelle de 32bits suivante : (hexadcimal) AE854C9C en adresse physique ?Dessinez un schmas qui utilise ces informations, et visualise les tapes suivre poureffectuer cette translation. Combien y-a-t-il de pages par segment ?

    b) Supposez que le systme utilise une pagination deux niveaux, o les entres des tables depages sont sur 4 octets. La premire page contient des pointeurs vers les pages de deuximeniveau. La structure de ladresse virtuelle est illustre par la figure suivante :

    b.1) Si un processus utilise tout lespace adressable qui lui est fourni, combien de pagesseront elles ncessaires pour contenir toutes les tables de pages de ce processus.

    b.2) Un second processus ncessite 22Mo pour sexcuter entirement (son code, sesdonnes, pile). La partie contenant son code est dispose dans sa mmoire virtuelle aux

    adresses suivantes [2Mo 6Mo-1], les donnes sont quant elles dans lintervalle [12Mo-21Mo-1].Si nous devons charger les tables de pages associes ces deux parties, combien de

    pages de niveaux 2 seront charges en mmoire centrale.

  • 8/10/2019 TD Architecture des ordinateurs.pdf

    16/17

    Fiche 10 Bus

    Exercice 1 performance de bus

    Le bus PC/AT, fonctionnant une frquence de 10 MHz, ncessite 4 cycles pour lire un mot mmoire.1) Est-ce un bus synchrone ou asynchrone ? Justifiez votre rponse.

    2) La taille d'un mot mmoire tant de 16 bits, calculez la bande passante de ce bus en bits/s et en

    octets/s.

    Exercice 2 dbit de bus1) Calculez la bande passante de bus ncessaire un cran VGA couleur (640x480) pour afficher

    une vido 50 et 60 images/seconde. Chaque pixel se voit attribuer une couleur parmi une

    palette fixe de 16 couleurs choisies parmi 262 144 possibles.

    2) Soit un moniteur connectable par le bus USB sur un ordinateur. Le bus USB a un dbit de 1,5

    Mo/s. Avec un taux de rafrachissement de 25 images/seconde et des images en noir et blanc,

    quelle rsolution pourrait-on obtenir sur ce moniteur ?

    Exercice 3

    Quels sont les diffrents bus systme et quel est le rle de chacun d'entre eux?

    Complter le schma ci-dessous :

    Exercice 4En utilisant des multiplexeurs, implmenter un bus permettant dchanger des donnes entre 4

    registres R0, R1, R2, R3 de 8 bits chacun. Le bus doit permettre de raliser une opration de type

    RiRj, avec ij, cest--dire lchange des contenus de Ri et Rj en un seul cycle dhorloge

  • 8/10/2019 TD Architecture des ordinateurs.pdf

    17/17

    Fiche 11 I/O

    Exercice 1 Interruption ScrutationUn dispositif dentres/sorties effectue dix requtes par seconde, chacune dentre elles ncessitant

    cinq mille instructions processeur pour tre traite.1) Les entres/sorties se font par interruption. Il faut mille instructions processeur pour

    sauvegarder le contexte et dmarrer le gestionnaire de traitement de la requte, et de nouveau

    mille instructions processeur pour charger le contexte et revenir au processus principal. Combien

    dinstructions par seconde faut-il pour grer les entres/sorties ?

    2) Les entres/sorties se font maintenant par interrogation. Le processeur profite dune

    interruption priodique prexistante tous les centimes de seconde pour scruter le priphrique

    et voir sil y a une requte traiter. Il ny a donc pas de cot supplmentaire de commutation de

    contexte. Chaque interrogation ncessite cinq cents instructions processeur, en plus du

    traitement de la requte si elle est prsente. Combien dinstructions par seconde faut-il pour

    grer les entres/sorties ?

    3) Quel peut tre lintrt de grer les entres/sorties par interrogation plutt que parinterruption?

    Exercice 2 DMAUn disque dur peut transfrer des donnes sur le bus la vitesse de 8 Mo/s.

    1) Les entres/sorties se font par interrogation. Chaque scrutation du priphrique prend 0,1 s,

    temps pendant lequel sont transfrs 4 octets. Combien dinterrogations faut-il chaque seconde

    pour soutenir le dbit du disque ? Quel pourcentage de temps processeur est utilis pour cela ?

    2) Les entres/sorties se font maintenant par DMA. 1 s est ncessaire pour initialiser le contrleur

    DMA et encore 1 s pour traiter linterruption de fin. Le disque peut transfrer 4 Ko chaque

    session DMA. Combien de temps prend chaque session de transfert ? Quel pourcentage detemps processeur est utilis pour grer le transfert de donnes ?

    Exercice 3Le dialogue entre le CPU et le contrleur (UART 8250) du port srie (priphrique), seffectue

    travers des registres, et ce par des oprations dcritures et de lectures successives dans ces

    derniers. On distingue essentiellement les registres suivants :

    Registre dmission : Avant dtre mis, un caractre doit tre charg dans ce registre.

    Registre de rception : Ce registre joue le rle dintermdiaire entre lUART et la CPU. La

    lecture des donnes reues passe obligatoirement par la lecture de ce registre.

    Registre tat de la ligne : Ce registre permet dinformer le CPU sur ltat de transfert de

    donnes. Si le bit 0 est 1 ceci indique la fin de la rception dun caractre et que ce dernier

    est disponible dans le registre buffer de rception, ce bit peut tre remis zro par une

    opration de lecture du buffer de rception par le CPU ou par une opration dcriture

    directe dans le registre tat de la ligne. Le bit 5 est mis 1 pour indiquer que le registre

    dmission est vide et que lUART est capable de recevoir un autre caractre dans ce buffer.

    On suppose que ces trois registres portent successivement les adresses : 3F8, 3F9 et 3FD

    en hexadcimal. On dispose de deux instructions, une dentre et une de sortie. IN et OUT

    1. Ecrire un programme en pseudo-assembleur qui permet denvoyer 3 caractres successifs

    vers le port srie

    2. Ecrire un programme en pseudo-assembleur qui permet de recevoir 2 caractres successifs

    depuis le port srie.