Beruflich Dokumente
Kultur Dokumente
D'ARCHITECTURE
DES
ORDINATEURS
CHAPITRES
1&2
1. CONVERSION
DANS
DAUTRES
BASES
crire
101101102
en
dcimal.
crire
3456
en
binaire,
puis
en
hexadcimal.
Convertir
1011
1100
0000
1000
1100
en
dcimal
2. CODAGE
EN
COMPLEMENT
A
2
Sur
8
bits,
donner
les
codages
en
complment
2,
lorsque
cest
possible,
des
nombres
suivants
:
0,
-1,
+10,
-10,
+64,
-64,
+127,
-127,
+200
3. ARITHMETIQUE
BINAIRE
Sur
8
bits,
effectuer
la
somme
en
binaire
:
1011
0101 + 1100
0011 et
interprter
le
rsultat
en
criture
dcimale,
en
arithmtique
signe
et
non
signe.
Indiquer
dans
chaque
cas
sil
y
a
dbordement.
2
Comparer
10101100
et
11001100
en
sign
et
non
sign
Mme
question
pour
la
somme
:
111
0101 + 1100
0011
2
1. ALGEBRE
DE
BOOLE
Simplifier
lexpression
suivante,
en
utilisant
les
thormes
de
lalgbre
de
Boole
:
. . + . . + . +
4. ALGEBRE
DE
BOOLE
:
QUINE
MC
CLUSKEY
Simplifier
lexpression
suivante,
en
utilisant
lalgorithme
de
Quine
McCluskey
:
(1, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31)
5. ALGEBRE
DE
BOOLE
:
GLITCH
Enumrer
tous
les
glitches
que
peut
prsenter
lexpression
suivante
:
= + +
7. ALGEBRE
DE
BOOLE
Rcrire
lexpression
suivante,
uniquement
avec
loprateur
complet
NAND
:
XOR(A,B)
8. CIRCUIT
COMBINATOIRE
:
SYNTHESE
PAR
TABLE
DE
VERITE
On
souhaite
concevoir
un
circuit
combinatoire
qui
calcule
la
valeur
absolue
en
binaire
pur
sur
4
bits
x,y,z,t
dun
nombre
cod
en
complment
2
sur
4
bits,
a,b,c,d.
Cas
particulier
:
si
abcd=1000
(-8),
alors
xyzt=0000
(car
+8
nest
pas
codable
sur
4
bits)
Donner
la
table
de
vrit
de
ce
circuit
combinatoire,
puis
fournir
les
quations
de
x,y,z,t
en
fonction
de
a,b,c,d
en
les
simplifiant
au
besoin
laide
de
tables
de
Kanaugh.
9. CIRCUIT
COMBINATOIRE
:
SYNTHESE
FONCTIONNELLE
On
souhaite
concevoir
un
circuit
combinatoire
qui
commande
louverture
dune
porte
de
jardin
publique,
ouverte
en
hiver
de
10h
18h
et
en
t
de
8h
20h.
Lheure
est
code
sur
5
bits,
sous
forme
dun
nombre
entier
H
compris
entre
0
et
23
;
la
saison
est
code
sous
forme
dun
signal
S
(0=hiver,
1=t).
Concevoir
un
circuit
dinterface
PORTE(H[4..0], S : M)
tel
que
M=1
si
et
seulement
si
:
-
S = 0 et 10 H 18, ou
S = 1 et 8 H 20
-
le
clavier
est
conu
pour
qu
chaque
instant,
il
y
ait
zro
ou
une
touche
appuye,
jamais
plusieurs
-
entre
2
appuis
successifs,
les
trois
touches
sont
relches
La
squence
prcise
dvnements
sur
les
touches
qui
dclenche
louverture
est
:
appui
sur
#,
aucun
appui,
appui
sur
B,
aucun
appui,
appui
sur
A.
Tout
appui
ensuite
arrte
louverture
et
commence
une
nouvelle
squence.
-
expliciter
les
vecteurs
des
entres
et
des
sorties
et
dessiner
un
graphe
de
Moore
de
ce
systme
-
simplifier
ventuellement
;
quelle
est
la
taille
du
vecteur
dtats
?
-
NE
PAS
synthtiser
ce
circuit
20. CIRCUIT
SEQUENTIEL
:
SYNTHESE
On
considre
la
table
de
transitions
dun
circuit
synchrone
pur
de
type
Mealy,
dentres
A,
B
et
de
sortie
S
:
A
tat
tat
synthtiser ce circuit avec les bascules de votre choix, et dessiner le circuit correspondant
21. CIRCUIT
SEQUENTIEL
Dessiner
le
graphe
de
MOORE
dun
circuit
squentiel
qui
dtecte
la
squence
1,1
;
concevoir
ce
circuit
laide
dun
registre
dcalage
de
2
bits.
Transformer
le
graphe
de
MOORE
en
graphe
de
MEALY,
puis
concevoir
le
circuit
correspondant.
En
sinspirant
du
rsultat
obtenu,
produire
un
circuit
de
MEALY
qui
dtecte
la
squence
1,0,1.
[%rs1+simm13], %rd
breg
dreg
cmd_ual
oe_num
write
commentaire
27. ACCELERATION
DE
LEXECUTION
DUNE
INSTRUCTION
On
souhaite
acclrer
les
instructions
de
lecture
en
mmoire
lorsquelles
ont
la
forme
particulire
suivante
(registre
rs2
nul):
ld [%ri+%r0],%rj
(1)
%ri et %rj sont deux registres utilisateurs ; elle est habituellement crite ld [%ri],%rj
dessiner le code machine de cette instruction (les champs i et j seront indiqus de faon gnrique)
me
28. AJOUT
DUN
BOITIER
MEMOIRE
On
souhaite
rajouter
un
boitier
mmoire
la
machine
CRAPS,
de
taille
1024
mots
de
32
bits,
partir
de
ladresse
0x50000000
dans
lespace
dadressage
du
processeur.
Dcrire
toutes
les
modifications
effectuer.
29. DECODAGE
DADRESSE
On
souhaite
rajouter
la
micromachine
8
autres
leds,
mappes
ladresse
0x80000000
dans
lespace
dadressage
du
processeur.
Dcrire
toutes
les
modifications
effectuer.
30. PROGRAMMATION
DE
CRAPS
On
suppose
que
%r2=0x8000
Pour
chacun
des
cas
suivants,
crire
une
(seule)
instruction
qui
effectue
lopration
demande
:
-
Fait en sorte que le flag Z indique la nullit de %r1 (dautres flags peuvent tre modifis)
31. ASSEMBLAGE
Donnez
le
code
machine
des
instructions
suivantes,
en
binaire
et
en
hexadcimal
:
umulcc
loop:
ld
[%r3+%r4], %r5
ba
loop
32. DESASSEMBLAGE
Donnez
lcriture
assembleur
des
instructions
de
codes
suivants
:
0xC4204000
0x81C7E004
33. ACCELERATION
DE
LEXECUTION
DUNE
INSTRUCTION
On
dsire
acclrer
lexcution
des
instructions
ld
avec
2
me
oprande immdiat.
Ide
:
faire
faire
simultanment
par
lUAL
le
calcul
de
lextension
de
signe
de
la
constante
ET
la
somme
des
deux
oprandes
pour
le
calcul
de
ladresse
mmoire.
Proposer
une
modification
du
graphe
de
squencement
de
cette
instruction
ET
lajout
dune
nouvelle
fonction
de
lUAL
(que
ncessite
cette
mthode).
On
spcifiera
la
nouvelle
fonction
de
lUAL
(par
une
formule
ou
une
phrase)
sans
dcrire
son
implmentation,
et
on
dessinera
le
sous-graphe
de
squencement
modifi.
CHAPITRE
6
34. GESTION
DUN
CACHE
Voici
un
cache
de
type
directed
mapped
pour
une
mmoire
de
512
mots
de
16
bits,
avec
son
contenu.
valid dirty
Tag (7 bits)
Data (1 word)
00
0101100
01
1110000
10
0101010
11
0000000
address
TAG
LINE
4 cache lines
Le
mot
dadresse
0b010110001
est-il
dans
le
cache
?
Si
oui
quelle
est
la
valeur
associe
?
Si
oui,
la
mmoire
est-elle
jour
?
Le
mot
dadresse
0b111000001
est-il
dans
le
cache
?
Si
oui
quelle
est
la
valeur
associe
?
Si
oui,
la
mmoire
est-elle
jour
?
Le
mot
dadresse
0b000000011
est-il
dans
le
cache
?
Si
oui
quelle
est
la
valeur
associe
?
Si
oui,
la
mmoire
est-elle
jour
?
Si
la
donne
0x1234
situe
en
mmoire
ladresse
0x1BA
tait
dans
le
cache,
comment
apparaitrait-
elle
?
On
suppose
lexistence
de
3
processeurs
CPU1CPU3
ayant
chacun
une
cache
line
CL1CL3
pour
une
mme
zone
de
donnes
en
mmoire,
nomme
A.
On
suppose
galement
que
cette
zone
A
est
accde
par
les
3
CPU
selon
la
squence
suivante
:
CPU1
lit
A
;
CPU2
lit
A
;
CPU1
modifie
A
;
CPU3
modifie
A
;
CPU1
lit
A
-
Dcrire
lvolution
des
bits
MESI
de
ces
caches
lines,
depuis
une
situation
initiale
o
ils
sont
tous
invalides
dirty
adresse disque
page frame #
1
2
3
4
5
6
7
On
suppose
que
le
systme
utilise
la
stratgie
FIFO
lorsquune
page
frame
est
recopie
sur
le
disque.
On
suppose
galement
que
la
traduction
dadresse
est
faite
sur
le
schma
suivant
:
page #
100
page frame #
1101000110
adresse virtuelle
1101000110
adresse relle
1.
Quelle
est
la
taille
de
la
mmoire
virtuelle
?
De
la
mmoire
relle
?
Quelle
est
la
taille
des
pages
?
2.
On
part
dun
tat
initial
o
aucune
page
nest
prsente
et
le
processeur
fait
un
premier
accs
mmoire,
en
criture,
ladresse
virtuelle
0x0F46.
Dcrire
lvolution
des
bits:
present,
dirty,
page
frame
dans
la
table
des
pages,
et
indiquer
quels
accs
la
mmoire
relle
et
quels
accs
disque
ont
t
effectus.
3.
Faire
de
mme
en
continuant
avec
les
accs
suivants
du
processeur
:
lecture
en
0x0F46
;
criture
en
0x0800
;
criture
en
0x0F00
;
lecture
en
0x0804
;
lecture
en
0x0C00
;
lecture
en
0x1800
;
lecture
en
0x1C00
;
lecture
en
0x0400
37. PIPELINE
On
considre
le
programme
suivant
:
loop:
11
setq
10, %r1
clr
%r2
add
deccc
%r1
bne
loop
i6
i7
Indiquer
dans
le
tableau
suivant
comment
les
instructions
progressent
dans
le
pipeline,
initialement
compltement
rempli
de
bulles.
On
supposera
que
les
branchements
introduisent
systmatiquement
un
ala
de
contrle
sans
prdiction.
cycle
PC
Instr
Args
Calc
Mem
Result