Vous êtes sur la page 1sur 4

IUT Villetaneuse Architecture des ordinateurs Jeudi 7 mars 2002

GTR 1re anne Contrle Long n2 p1/4


Nom : Groupe :
A-B-C Contrle Long n2
Note : /27 Calculatrice et documents interdits - Dure 2h30 -
Lire attentivement le sujet et rpondre sur la feuille.

/6
I. Langages de programmation
1. Quelles sont les tapes de la transformation d'un programme source - crit dans un langage de programmation
tel que l'assembleur ou le C - vers un programme excutable ?
/1 Nommez et surtout expliquez les oprations faites chaque tape.
Assemblage (ou compilation, mais ce terme dsigne souvent tout la fois) :
traduction de langage symbolique (texte) en code opration (binaire) (on obtient ainsi des objets)
Edition de lien :
lien entre les diffrents objets, et aussi avec le chargeur du systme (point dentre)

/1,5 2. Quelles sont les diffrences entre un langage compil et un langage interprt ?
Prcisez les avantages et les inconvnients de ces deux techniques.
Le langage compil est compil avant son excution,
et les programmes ainsi ralis sont directement excutables.
Le langage interprt ncessite un interprteur,
cet interprteur effectue la traduction (compilation) au moment de lexcution.
Les programmes compils sont gnralement plus petits, plus rapides
mais ils sont aussi totalement illisibles.

3. Quel est le choix technique utilis par les compilateurs C pour :
/1,5
- reprsenter une variable locale ; prcisez l'intrt de cette stratgie.
Allocation de mmoire sur la pile
La localit de la variable est assure (seule cette fonction connat la correspondance @-variable).

- passer des paramtres aux fonctions ; prcisez l'intrt de cette stratgie.
Passage par pile
La donne transmise nest quune copie (variable locale)
On peut passer nimporte quelle taille de variable (C++)
- retourner la valeur d'une fonction ; prcisez la limite de cette stratgie.
Passage par AX
Limit la taille de AX (pointeurs oui mais pas tableaux, chanes ou structures)

4. Traduisez la fonction C suivante en langage assembleur.
/1,5 short int char est_negatif(short int X) {
short int V;
V = 0;
if (X <'0') {
V = 1;
}
return V;
}






5. Donnez les instructions permettant d'analyser la valeur dans AX grce votre fonction.
/0,5 PUSH AX
CALL est_negatif

IUT Villetaneuse Architecture des ordinateurs Jeudi 7 mars 2002
GTR 1re anne Contrle Long n2 p2/4

/3 II. Sorties
1. Sur les 80x86, deux mthodes sont utilises pour accder une interface. Quelles sont-elles ?
/1 Utilisation dune plage de la mmoire principale (vido),
Utilisation de ports adresses spcifiques diffrentie par ligne IO/M (port srie).


2. Donnez le schma dcrivant la technique utilise pour le transfert vers l'interface cran.
/1 Donnez le(s) instruction(s) permettant d'crire une information sur cette interface.
Mappage direct dune partie de la MP vers mmoire interface.
MOV [0000],$

/1
3. Donnez le schma dcrivant la technique utilise pour l'interface disque ou srie.
Donnez le(s) instruction(s) permettant d'crire une information sur cette interface.
Mappage dans une plage dadresse diffrentie par ligne IO/M
OUT @,AL


/4
III. Entres
1. Que signifient scrutation et interruption ?
/0,5 Ce sont deux mthodes pour savoir que des donnes sont sur une interface
La premire observe en permanence le priphrique,
La seconde attends un signal lectrique de ce priphrique


2. Quel est l'inconvnient de la mthode par scrutation ?
/0,5 Consomme des ressources processeur


3. Comment gre-t-on matriellement plusieurs priphriques avec la mthode par interruption ?
/1 Faites un schma.
Grce un PIC
Priphriques reli par les fils IRQ, concentrs sur le PIC
Un seul vers INTR du P.
Bus data et @ connect tout le monde


4. Donnez les tapes du traitement d'une interruption matrielle telle que l'interruption d'horloge.
/2 IRQ vers PIC (identification par PIC, mise en attente)
INTR vers P
P vrifie IF, si ok passe IF bloqu et
INTA de P (2 temps)
Sauvegarde du registre dtat et CS :IP
Lecture sur data-bus (ISA) du nIRQ (dans PIC)
(Recherche correspondance dans table) suite comme interruption logicielle,
sauf au dpilement (Registre dtat dont CF et CS :IP)






/6
IV. Bus
1. Qu'est-ce qu'un bus ? A quoi est-ce que a sert ? Pourquoi les a-t-on fait ?
/1 Un ensemble de fils (en parallle) utilis pour transfrer des donnes.
IUT Villetaneuse Architecture des ordinateurs Jeudi 7 mars 2002
GTR 1re anne Contrle Long n2 p3/4
Les bus ont t crs pour permettre la normalisation des connections et des changes.


2. Qu'est-ce qu'un bus multiplex ?
/0,5 Un bus qui transfre ses adresses et ses donnes par les mme fils (ex : PCI)


3. A quoi correspondent les stratgies d'arbitrage suivantes :
- polling
/1,5
un arbitre interroge lune aprs lautre toutes les interfaces connectes.


- centralis parallle (donnez un exemple)
larbitre peut recevoir des requtes de tout le monde. A lui de grer. Ex : PCI ou ISA avec PIC.


- daisy chain (donnez un exemple)
Pas darbitre. Chaque composant interroge le suivant dans la chane. Ex : ATA-IDE ou SCSI


4. On veut connecter un disque dur et un lecteur de CD sur un mme bus gr en daisy chain.
Y-a-t-il un ordre respecter (imprativement ou pour optimiser les performances) ?
/0,5
Le daisy chain fait appel au fair-play des membres.
Si le lecteur CD nest pas fair-play, il va bloquer tout le systme.
Mieux vaut mettre le disque en 1er.


5. Qu'est-ce qu'une hirarchie de bus ?
/0,5 Une organisation de bus inter-connects dans un ordre correspondant leurs performances.


6. Comment appelle-t-on :
/1
- le dispositif qui relie un bus un autre ?
Un pont (bridge)


- l'endroit o l'on peut connecter une carte d'extension sur un bus ?
Un port ou un slot


7. Reprsentez l'architecture d'une machine moderne utilisant les bus AGP (graphique) et PCI.
/1 Quatre bus connects par Northbridge : FSB (systme cot P), AGP, PCI, MP









/4
V. Mmoire
1. Qu'est-ce qu'une hirarchie mmoire ?
/0,5 Une organisation de mmoires inter-connectes
dans un ordre correspondant leurs performances et leur tailles.

IUT Villetaneuse Architecture des ordinateurs Jeudi 7 mars 2002
GTR 1re anne Contrle Long n2 p4/4
2. Qu'est-ce que la mmoire cache ? Pourquoi est-ce que "a marche" ?
/1 Une petite mmoire plus rapide que la MP (mais plus chre capacit gale)
qui essaie de contenir les donnes dont on a besoin et qui sont dans la MP
a marche grce au principe/proprits de localit

3. Quelles sont les trois types darchitecture pour les liaisons tablies entre mmoire cache et mmoire principale ?
/1,5 directe
une case MP a une place prdfinie dans le cache (avantage rapide)
associative
une case MP peut tre nimporte o dans le cache (recherche faire)
associatif N voies, mixte entre les prcdentes.

4. La mmoire principale d'un ordinateur a un temps d'accs moyen de 10 ms.
On installe une mmoire cache de temps d'accs moyen de 1 ms. Le taux de succs est de 95%.
/1
Quel est le temps d'accs moyen une donne quelconque ?
1 ms dans 95% des cas et 10 ms dans les 5% restant
Donc au total 1 ms x 95% +10 ms x 5% = (0,95 + 0,5) ms = 1,45 ms

/4
VI. Programme
La mmoire ROM stocke des valeurs mais ne permet pas de les changer.
La mmoire RAM stocke des valeurs mais les perds lextinction de lordinateur.
La mmoire CMOS est une petite RAM alimente par piles.
La mmoire CMOS est contrle par le RTC, un priphrique deux ports (adresses dentre/sortie) :
- le port 70h permet daccder un registre du RTC connect au bus dadresse de la mmoire CMOS,
- le port 71h permet daccder un registre du RTC connect au bus de donnes de la mmoire CMOS.

Ecrire une procdure qui permet daller lire une adresse de la mmoire CMOS.
Ladresse sera passe par la pile et la valeur retourne par AX.
Donnez aussi un exemple dappel votre procdure
procdure:
Lit_RTC PROC
PUSH BP
MOV BP,SP
MOV AX,[BP+4] ;seul AL est intressant
MOV DX,70h
MOV DX,AL
MOV DX,71h
MOV AL,DX
MOV AH,0h
POP BP
RET
Lit_RTC ENDP

appel:
PUSH AX
CALL Lit_RTC

valuation: procdure/retour/appel (1), passage et rcupration de paramtre (1),
utilisation des entres sorties (1), fonctionnement global (1).