Vous êtes sur la page 1sur 7
f Exatnon 202112022 4 0100 MIN) Exercice 1: (6 points) Soit le circuit combinatoire suivant : —D- 1. Exprime: les valeurs des sorties $1 et $2 en fonction de A 0, C? 1.5 pt) 2. En supposant que fe temps de franchissement d'une porte est de f, au bout de combien de Lenips te (1,5 pt) résulat des sorties $1 et $2 sont disponibles ? 3. Comment pourrait-on simplifier ce circuit ? (15 pu 4. Explique: en une phrase ce que fait le circuit ? (LS pt) Exercice 2; (8 points) Transformer le programme C suivant en un programme Assembleur MIPS R300. Ow utilise les iepisttes $16, $17, $18 pour sauvegarder les valeurs des variables somme, nbr et | respectivement. aie")s pas un Nombre parfait"): ‘ Remarques = © Voppet du system 1e (syscall) utilise dour registries. Par eoawention, be i dans le rogistre $2, e1:s0n unique argument clams ke regintre $4. Pow, \ nghtre $2 et onvrécupire a valeut de Fentier sur be done ungistte $2, ¥ un écran, on envoie la valour 4 dang le registre $2 et Factresse Oe dei «faut penser d écrire un code pour calculer le modtulo de Hibt % tifaut donner le peapramme Asserbleur complet. ta purtie Data et la pate Test i faut bien commenter fe programme. Ta cthaine dans Fe tegen $4 Exorcice 3: (6 points) (1.8 ty On considére une mémoire centrale de 4 Go oi a tale dune celle ext de 16 Nits Calculer fe nombre de bits nécessaires pour adresser toute la mémoire 7 dun tableau dont Fadresse: dy premier étment est (1.5 pt) 1 2. Calculer adresse, en octal, du huititme élément {164}, et dont tous les éléments de ce tableau sont composes de G4 bits; 3. Calculer, en décimal, le nombre d'octets précédant Fadresse (164): om 4. On veut décomposer cette mémoire en plusieurs parties (pages) de taille ‘égale de 8 KO par pane. apt) (i pt) a. Combien de page on obtlent ? b. Combien de bit réserve-t-on pour adresser une page? a nce ae DEPARTEMENT DINFORMATIQUE Reaponsabies :H. Mokrani Documents Non autores Module | Architecture des Orsinateurs Fitere # Usenes mange [L ‘Solution Examon 2021/2022 | otic Exercice 1: (6 points} Sy 255 = Em (2,2, yr) = AB cx Age Aber ABC Soit le clecult combinatoire suivant = A@ReC i Usa = Pe Bu (ANG = Bee e Mee NIE ABC A> >——___5 = aCe ME BC a a 1L_Exprime: les valeurs des sorties Si et S2 en fonction de A,B,C? ie Sis (A+ BLO). ABTA.CTE.C)+ (4.8.0) wast S22A.B+A.C+B.C (0.75) 2, Ensupposant que le temps de franchissement d'une parte est de f, au bout de combien de temps le résultat des sorties $1 et 52 sont disponibles ? Temp(St} = 6¢ (O75) ne. Temp(S2}=3t (0.75) 3._Comment pourrait-an simplifier ce circuit ? S= (A+ 8+), (AB+A.C+H.0)) + (A.B.C) Wet) Sts (A+ 8+0).CAB + ABC + BC+AC)+ (4.8.0) Si= ABC + ABC +ABC+ ABC (Forme simplifiée) S2EAB+ACHBC {deja simptifier) (05 pr) asm 4.6 @_Expliquer en une phrase ce que fait le circuit? Le circuit est un additionneur 2 bit. ee o1 ent ercice 2: (8 points) S22 Robe at rransformer le programme C suivant en un programme Assembleur MIPS R3000. On utilise les registres $16, $17, $18 ur sauvegarder les valeurs des variables somme, nbr et i respectivemient, ~data f Nombres entiers utilises (tpt) Le some i sword Q nbc: .word 0 0 ) i: .word o e mag]: .asciiz " Entrez un nombre msg2: .ascitz “ Nombre parfait \ msg3: .asciiz * n'est pas un Nombre parfait:\n* Page 1 sur3 (05 pe) # printt(* Entrez un nombre: la 34, magt ort #2, $0, 4 syscall EU, ames ‘Gal aw $17, sonme ($5) § ict ou a la fin du progeanme (0.25 pt) (Calculer la some des deviscura 10.5 ph Maltiolioer some aed 316, 50,0 @ seeme(516 =0) Finttiatiowr 4 é addi $18,50,1 6 i isye-1) (05 pt} While icabr bge 918,217, efor While ($19>-$28) { bit $19,018, a6 1919 = si9-18 4 pub $19,519, 18 (0.5pr) Hitinbrti = 01) ~ 3 bbne $19,$0,fi cet 916,916,518 {0.5 pt) 7 Sis-si8e1 Gy addi §in,s18,1 ite: VLE (some == abel T bne $16,517, else2 Sprinte(" Nombre parfait); $4, mag? eri 52, $0, ¢ ‘ent pas un Nombre parfalt™)7 tprintt(™ A la $4, mag3 ori $2, $0, 4 sw $16, samme($0) #517 dja fait sinon le sauvegarder ici sw $18, \($0) . Une pénalité de (0.5 pt) en totale si le code est mal comments, {I faut considérer toutes les variantes du code, on respectant Jes parties identifié de la solution. Page 2 sur 3 xamen 2022 qui verifie at nor t calewler Le modulo par smistiact un nombre entier positit re eet parfait tn" @ Bragramme principal ucte (varie de 1 4 nby=1) Seer printf ("Donhee ul nombre Code pour afficher chaine de Chargement de 1'adresse de La Appel systeme scant ("td, 6nbr}; Code lecture entier (l'entier ost a Appel systeme $t0 = nbr x (nbr-1} on vas arréter la boucle A (pbr~ Intitialisatios Somme ~ 0 Sortir de la boucle si est dans le registre hi $a0 contient reste de de Allez 4 letiquette ‘endif Somme = Somme + i it Boueler # Si (nbr =! Somme) allez A L*et printf ("Le nombre est parfait\: Code pour afficher chaine de carac Chargement de l'adresse de la chaine =se> Appel systeme es f Allez 4 la fin du programe printf ("Le nombre ntest parfait Code pour afficher chaine do car. Chargement de l'adiresse de la Appel systeme eae Fin Programme # Appel systeme é f we perce be OF RL oy be Cole ett mal Corwiw ev Remarques : © Cappel du systéme (syscall) utilise deux registres. Par convention, le numéra de l'appel systéme est contedu Exercice 3 : (6 points) ans le wegistre $2. et son unique argument dans te registre $4. Pour lire un entier, om envoie la valeur $ dans. le Fegistre $2 et on récupére la velour te entier sur le mime reglstre $2. Pour derine une chaine de caractere as Un écran, on envoie la valour 4 dans fe registre $2 et Fadresse de début de la chaine dans le registre $4. ‘faut penser éerite un code pour ealculer le modula de nbs % i "faut donner le programme Assembleur complet, la partic .Data et la partie .Text. ifaut bien commenter le programme. On considéte une mémoire c 2. Calculer le nombre de bith in Nb_celislex 4°73 23" NB_bit_ Ad = 2 Calculer Fadresse, en 01 witieme élément dun tableau dont Todd + N™_element_tab = 1™_elo ' (Size_of_cloment de 64 ‘bits est de 4 collules mémoire (car 1 cellu * 8 élément oun tableau c'écrit en octal (10)s. Done la formule c'écrit a bb S~_olement_tab= (164)s + ((10-1)9 x (4)y) = (220). | Calculer, en décimal, le nombre d'octets précédant Fadresse (164),1 Le nombre d octets qui précide Vadresse (164), est (116)ex 2= (232) car chaque cellule Cest 2 Octet On veut décompaser cette mémoire en plusieurs parties (pages) de taille égale de 8 KO par page. 3 aw ( 6, Go oii la taille Pune cellule est de 36 bis, pour adresser toute la mémoh Bi bids * (NY size_of_eiement le= 16 “Aa? a. Combien de page on obtient > = Nb_page = Taille Memoire/ Taille Page wi Nb. = 4*2"/ E222" 5 S24 2B b._Combien de bit réseeve-t-an Nb_bit_rosv=log,(nb_page) Nb_bit_resv = log,($24 288) = 19 bits 49 by Cest 19 bits du Dee fou! Cabutr & nh dy Coles neue (re seal de Keyl) 30 Wht Coss Wtueepes = Lo - ore” a2. Lice oe ap yp wapaccte 16 Sif5 Jour at faut ley (2) (BL ah) | PE duds = TEA] (or The at tA? tne ) i put > Tle] na) ¢ (sate pam a+ eT [ead = eve) oe eri = MG + 7 ‘Ao WBS Ty a oe ph ORO, UPd © 3 meee U6), . Nores det L 5449, = C4Dz {14e we Abvg Nh welt que preted. 'ECA)y wt dow (46) XR fer uw lohe urevell = 16 al = 18 OP (105 - Lge og « Oy) : Tolle Hews x2 ) so Ne pees ete ae vs ht at O)* re pr toh pom eobeste Ot Aag (i pre)= 5 Sa pe fo) 19) a2 as er Pa

Vous aimerez peut-être aussi