You are on page 1of 6

GTR IUT Villetaneuse Architecture des ordinateurs Jeudi 5 juin 2003

Grp Nom
!A
!B Contrle long n2
!C
Calculatrice et documents interdits - Dure 3 heures - Rpondre sur la feuille

/20 I. Questions de cours


1. Gestion de disques /3
a) Quest-ce quapporte le mirroring mis en uvre dans le RAID 0 ? Quel est son cot ?
Gain en scurit par duplication des donnes
Donnes en double donc cot x2.

b) Quest-ce quapporte le stripping mis en uvre dans le RAID 1 ? Quel est son cot ?
Gain xN en dbit par rpartition des donnes
Donnes stockes 1 seule fois donc cot x1.

c) Quest-ce quapportent le RAID 3 ou 5 ? Quel est leur cot ?


Gain en dbit x2 (stripping) et en scurit par bit de parit en plus
Seul le bit de parit est en plus, donc cot x3/2 (max).

2. Bus /2
a) Pourquoi a-t-on fait des bus ?
Pour normaliser les interfaces.

b) Donnez quatre critres permettant de comparer diffrents bus.


Dbit (brut), dbit dinformation (multiplexage @/data),
longueur, nombre de priphriques, arbitrage (ressources processeur requises).

c) Quels composants interconnectent les diffrents bus ?


Les ponts (faisant partie de chipsets).

3. Mmoire /5
a) Quest-ce que la hirarchie mmoire ?
Lensemble des dispositifs de stockage diffrencis et organiss et interconnects
par leur capacit et leur dbit.

b) Quest-ce que la mmoire cache ?


Une mmoire rapide qui met disposition des donnes dune mmoire plus lente.

c) Quels sont les deux principes qui font que le cache apporte un gain ?
Les principes de localit
spatiale et temporelle.

d) Quel sont les deux principaux apports de la mmoire virtuelle ?


Scurisation des applications (la mmoire nest pas la vraie).
Augmentation (virtuelle) de la taille mmoire.

1/6
GTR IUT Villetaneuse Architecture des ordinateurs Jeudi 5 juin 2003

4. Cache /6
Un microprocesseur cadenc la frquence de 2 GHz possde un cache de 512 ko.
Ce cache sur bus mmoire interne demi frquence et de largeur 64 bits a un taux de succs
("hit") de 90%. La mmoire principale a un temps daccs tmp de 10 ns.
a) Quel est le dbit thorique Dc du cache en MiB/s ?
Dc = 2000 / 2 x 64 / 8 = 8000 MiB/s

b) Quel est le temps tc d'accs au cache en ns (3 cycles bus) ?


tc = 3 x 1/(2GHz/2) = 3 ns

c) Quel est temps d'accs moyen obtenu ?


90 % tc + 10% (tmp + tc)
tc + 10% tmp = 2,5 ns

5. Pipeline /2
a) Expliquez sommairement ce quest une architecture pipeline.
Une chane de travail avec plusieurs postes de travail.

b) Quel est le gain thorique dun pipeline dont la profondeur est de 20 niveaux ?
x20

c) A votre avis, quest-ce qui peut empcher datteindre ce gain ?


les dpendances structurelles ou de donnes
(accs une mme unit ou une mme donne),
et de contrle (boucles)

6. Parallle /1.5
a) Expliquez sommairement ce quest une architecture parallle.
Une structure avec plusieurs units identiques qui se partagent le travail

b) Quel le gain thorique apport par une architecture parallle ?


x le nombre dunits identiques

c) A votre avis, quest-ce qui peut empcher datteindre ce gain ?


les transactions et les contrles

7. Super-scalaire /0.5
Expliquez sommairement ce quest une architecture super-scalaire.
Pipeline parallle

2/6
GTR IUT Villetaneuse Architecture des ordinateurs Jeudi 5 juin 2003

II. Entres-sorties
/15 A. Interruptions
Linterruption dhorloge a pour numro 0x1C. Cette interruption logicielle est rgulirement
appele avec des bips par lhorloge systme (RTC).
1. Donnez le schma dinterconnexion du matriel (du RTC au microprocesseur). /3,5
Composants : (RTC), PIC, (P), (dcodeur @)
Lien RTC-PIC : lignes IRQ_REQ et IRQ_ACK
Lien PIC-P : lignes INT_REQ et INT_ACK
Bus P-PIC : donnes
+ Bus P-RTC : donnes, @ (mais non utilis ici !)

2. Expliquez comment les bips du RTC sont matriellement transmis au processeur (comment
le microprocesseur en arrive le reconnatre)./6,5
Le bip est transmis du RTC par IRQ_REQ au PIC
Le PIC alerte le P par INT_REQ
Si le bit de masquage IF nest pas activ ou que linterruption est non masquable,
le contexte est sauvegard sur pile
Le P accepte par INT_ACK
Le PIC accepte par IRQ_ACK
Le P lit le n dans le PIC par le bus de donnes

3. Expliquez comment est enclenche linterruption logicielle associe. /2,5


A partir du nIRQ lu sur le PIC, le processeur dtermine un numro dINT
Il multiplie ce n par 4
pour trouver l@
Dans la table dindirection (des vecteurs dinterruption)
Et y lit une @

4. Expliquez comment est appel le traitant associ linterruption logicielle en question. /1


L@ lue est celle du traitant.
Il sagit dun simple appel.

5. Expliquez en quoi consiste le dtournement de linterruption dhorloge. /1,5


Il consiste changer l@ figurant dans la table dindirection
Par celle dun autre traitant
Qui sera appel sa place

3/6
GTR IUT Villetaneuse Architecture des ordinateurs Jeudi 5 juin 2003

/25 B. Interface srie


Une table des registres de linterface srie est fournie en annexe.
1. Registres /5
a) Quest-ce que les registres de linterface ?
Une petite mmoire localise dans linterface.
Qui traite des donnes, de la configuration ou du statut de linterface.
Accessible par une @ dentre - sortie

b) Comment fait-on pour diffrencier les diffrents registres ?


Par leur adresse
Par leur sens daccs (lecture/criture)
Par le bit DLAB

c) Si linterface est ladresse 0x03F8, quelle est ladresse du registre LCR ?


LCR = PORT + 3
= 0x03FB

d) Qest-ce que le loopback ; comment lactive-t-on ?


Un mode ou la sortie est reboucle sur lentre en interne
On lactive par le bit 4
de MCR

2. Configuration /4
Voici une fonction en C :
void metConfig(void) {
outportb(LCR,128);
outportb(DLM, 48);
outportb(DLL, 00);
outportb(LCR, 3);
outportb(MCR, 16);
outportb(IER, 0);
outportb(FCR, 0);
}
Quelle est la configuration de linterface aprs lappel cette fonction ?
8N1
DL = 48 (2400 BAUDS)
Sans interruption
Boucle locale
Sans fifo

4/6
GTR IUT Villetaneuse Architecture des ordinateurs Jeudi 5 juin 2003

3. Rception /4+5
a) O sont stocks les octets arrivs ?
RBR

b) Comment sappellent les deux techniques pour savoir que des octets sont arrivs ?
Scrutation
Interruption

c) Dans le cas particulier de la configuration utilise en TP, comment procde-t-on ?


On va lire dans LSR
Le bit 0

d) Quels sont les risques lors de la rception ? Quelles prcautions faudrait-il prendre ?
Il peut y avoir des erreurs (crasement, format, parit)
Il faut vrifier ces erreurs (LSR bits 1, 2, 3 et 4)

e) Ecrire une fonction recoit qui reoit un nouvel octet (sans contrle de sa valeur). (/5)
unsigned char recoie() {
/* Attendre qu'un truc arrive */
while (!(inportb(LSR) && (1<<0)) ) {}
/* Puis le lire */
return inportb(RBR);
}

4. Emission /2+5
a) O doit-on stocker les octets a envoyer ?
THR

b) Quels sont les risques lors de lenvoi ; quelles prcautions faut-il prendre ?
Ecrasement dans la boite denvoi (THR)
Il faut vrifier que la place est libre
LSR bit 5

c) Ecrire une fonction envoie qui envoie un octet. (/5)


void envoie(unsigned char octet) {
/* Attendre que la place soit libre */
while (!(inportb(LSR) && (1<<5)) ) {}
/* Transmettre */
outport(THR,octet);
}

5/6
GTR IUT Villetaneuse Architecture des ordinateurs Jeudi 5 juin 2003

Annexe: TABLE II Summary of Registers

6/6

You might also like