Vous êtes sur la page 1sur 10

Module ARCHI 1 : Architecture des 0rdinateurs UN

Correction de l'Examen 2 Année :2014-2015

EXERCICE N°1: Répondez clairement aux questions suivantes:

1) Que signifie, pour vous, le mot mémoire dans le contexte de


l'ordinateur.
Réponse 1
Une mémoire (RAM) c'est un circuit qui contient des programmes en
exécution et leurs données.
Une mémoire(ROM) c'est un circuit qui contient le BIOS

2) Quelle est la différence entre une case de la mémoire centrale et un


registre de même taille dans processeur?
Réponse 2
La différence réside dans leurs fonctionnalités et l'utilisation de leurs
contenus.
La case de mémoire centrale est censée contenir une instruction ou une
donnée qu'on peut la restituer ou modifier à tout moment par les
opérations de lecture et écriture
Par contre le registre (RI) peut contenir également une instruction qui
sera décodée ou une donnée, un résultat partiel ou final par les
opérations de chargement et de transfert.
3) Quel est le but recherché à travers la notion de hiérarchie mémoire ?
Réponse 3
Le but recherché est double:
Rapidité: accélérer l'exécution de programme (mémoire cache)
Capacité :contenir beaucoup d'information voire des logiciels, des
langages de programmation et des systèmes d'exploitation( disque dur)
4) Citez quelques différences entre mémoire statique et mémoire
dynamique:
Réponse 4
Cout : mémoire statique coute plus chère qu'une mémoire dynamique;
Taille: la capacité d'une mémoire dynamique est plus grande que la
capacité d'une mémoire statique;
Technologie: la cellule de la mémoire statique en termes de bit est
conçue à l'aide de transistors et résistances. ( information est stable)
Quant à la cellule d'une mémoire dynamique est conçue à l'aide
d'éléments capacitifs (condensateur) (information est instable à cause
des courants de fuite c'est pour cette raison qu'il faut rafraichir à chaque
nano secondes ces mémoires pour ne perdre l'information)
EXERCICE N°2:
Les compteurs binaires asynchrones ont un défaut majeur: c'est
l'existence d'états intermédiaires dans la séquence générée.
A travers un chronogramme, pour un compteur asynchrone modulo 8,
pouvez-vous montrer l'existence de tels états?
A partir de quant, ces états deviennent-ils problématique?
Réponse:

1:Vcc

Q2 J2 Q1 J1 Q0 J0

Clk Clk Clk

Q2 K2 Q1 K1 Q0 K0

H
H : Signal d'Horloge , Bascule JK maitres esclave à front montant

Initialement les sorties des trois bascules sont à 0 (Q2 = Q1 = Q0 = 0)


Un chronogramme d'un circuit est la représentation graphique de sa
sortie en fonction du temps ( signal d'horloge)

Chronogramme du circuit

Q0

Q1

Q2
000 001 000 011 010 101 100 111 110 001
010 000 110 100
100 000
Les états indésirables problématique : quand 2 ou 3Bits changent en
même temps( 3 à 4 ou 7 à 0 )
EXERCICE N°3:
En prenant comme constituant de base la bascule Jk, proposez un circuit
séquentiel synchrone capable de générer la séquence
(1,3,5,7,9,11,1,3,5,7,…)
Il n'est pas demandé de simplifié les équations logiques. Pas de schéma
interne non plus.

Rappel: Table de vérité et table de transition de la bascule JK

J K Qt+1 Qt Qt+1 J K
0 0 Qt 0 0 0 X
0 1 0 0 1 1 X
1 0 1 1 0 X 1
1 1 Qt 1 1 X 0

Réponse:

Le compteur synchrone doit traduire la séquence :

1 , 3 , 5 , 7 , 9 , 11 , 1 , 3 , 5, 7…
On remarque dans cette séquence que 11 est la valeur Maximale:
( 11 )10 = ( 1 0 1 1)2 elle tient sur 4 Bits à partir de là on déduit qu'il
nous faut 4 bascules JK à interconnecter entre elles.

MMm

Q3 J3 Q2 J2 Q1 J1 Q0 J0

Clk Clk Clk Clk

Q3 K3 Q2 K2 Q1 K1 Q0 K0
H

H : Signal d'Horloge ,

Toutes les bascules sont attaquées par le même signal d'horloge car c'est
un circuit synchrone qu'on veut concevoir.
Il reste maintenant à trouver les équations logiques des entrées Ji et Ki:
Pour cela, on dresse la table de vérité
Transitions Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0
Qt 0 0 0 1 0 X 0 X 1 X X 0
Qt+1 0 0 1 1 0 X 1 X X 1 X 0
Qt+2 0 1 0 1 0 X X 0 1 X X 0
… 0 1 1 1 1 X X 1 X 1 X 0
1 0 0 1 X 0 0 X 1 X X 0
1 0 1 1 X 1 0 X X 1 X 0
0 0 0 1

K0=0 ; J0= 1 si on prend tous les X à 1; J1=K1=1

J2 = K2=Q3Q1Q0 ; K3= Q3Q2Q1Q0 ; J3= Q3Q2Q1Q0

EXERCICE N°4:
Concevez un circuit logique qui accepte en entrée un entier naturel
appartenant à l'intervalle [0 , 15] et codé en binaire pur. Ce circuit doit
générer à sa sortie le reste de la division entière du nombre en entrée par
7. Exemples: si on lui présente 7, il, nous donne 0; et si on lui présente
13, il nous donne 6.
Il n'est pas demandé de simplifier les équations logiques.

Réponse:
Ce circuit combinatoire possède 4 entrées car la valeur maximale 15
tient sur 4 Bits( 15= (1111)2) et 3 sorties car le plus grand reste est 6 qui
tient sur 3 Bits(6= (110)2)

On dresse la table de vérité de ce circuit pour déterminer ses sorties en


fonctions de ses entrées:
E3 E2 E1 E0 R2 R1 R0
0 0 0 0 0 0 0
0 0 0 1 0 0 1
0 0 1 0 0 1 0
0 0 1 1 0 1 1
0 1 0 0 1 0 0
0 1 0 1 1 0 1
0 1 1 0 1 1 0
0 1 1 1 0 0 0
1 0 0 0 0 0 1
1 0 0 1 0 1 0
1 0 1 0 0 1 1
1 0 1 1 1 0 0
1 1 0 0 1 0 1
1 1 0 1 1 1 0
1 1 1 0 0 0 0
1 1 1 1 0 0 1
R3=E3E2E1E0+ E3E2E1E0+ E3E2E1E0+ E3E2E1E0+ E3E2E1E0+ E3E2E1E0+ E3E2E1E0

R2= E3E2E1E0+ E3E2E1E0+ E3E2E1E0+ E3E2E1E0+ E3E2E1E0+ E3E2E1E0

R3= E3E2E1E0+ E3E2E1E0+ E3E2E1E0+ E3E2E1E0+ E3E2E1E0+ E3E2E1E0


Schéma à l'aide de multiplexeurs 16 vers 1:
E3 E2 E1 E0 E3 E2 E1 E0 E3 E2 E1 E0

A3 A2 A1 A0 A3 A2 A1 A0 A3 A2 A1 A0

0 E0 0 E0 0 E0
0 E1 0 E1 1 E1
0 E2 1 E2 0 E2
0 E3 1 E3 1 E3
1 E4 0 E4 0 E4
1 E5 0 E5 1 E5
1 E6 1 E6 0 E6
0 E7 S 0 E7 S 0 E7 S
0 E8 R2 0 E8 R1 1 E8 R0
0 E9 1 E9 0 E9
0 E10 1 E10 1 E10
1 E11 0 E11 0 E11
1 E12 0 E12 1 E12
1 E13 1 E13 0 E13
0 E14 0 E14 0 E14
0 E15 0 E15 1 E15
V V 1 V

1 1 1
EXERCICE N°5:
Soit le programme assembleur MIASM suivant:

ORG X'098' # Programme est implanté à l'@ ( 098)16


N RC X'B' # initialisation de l'@N avec (B )16
S RM 1 # réservation d'un mot mémoire pour S
Debut CHM N # Accumulateur (N)
Loop RGM S # (Accu) l'@S
CHM N # Accu (N)
SI 1 # Accu (Accu) -1
RGM N # (Accu) l'@N
BCV,3 Fin # branchement à fin si indicateur=1 (accu=0 )
CHM S # Accu (S )
ADM N # Accu (Accu)+ ( N)
BCV,0 Loop # Branchement inconditionnel à Loop
Fin CHM S # Accu (S )
SOR 02 # Affichage du contenu de Accu=(S)
STOP # Fin de programme
end Loop

Remarque Importante: L'instruction SI 1, positionne les indicateurs


que l'instruction suivante (RGM N) ne modifie pas. Par conséquent
l'instruction (BCV,3 Fin) exploite les indicateurs positionnés par (SI 1).

1- Assemblez manuellement ce programme jusqu'à l'instruction:


BCV , 3 Fin et donnez l'image mémoire exécutable de cette
partie.

2- Que fait ce programme?

Le programme calcule la somme S = N+ (N-1)+(N-2)+ ….3+2+1


Qui est égale à 1+2+3+…..+(N-1) +N où N=(B)16 = (15)10

15+14+13+…+3+2+1 =(15)*(16)/2=120
c'est cette valeur qui sera affichée sur écran comme résultat.
Réponse1: Assemblage:

Rappel sur le format des instruction en mémoire:


B15 B14 B13 B12 B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0
MAD FL/C COP C1 C2

MAD: mode d'adressage ; 00 Direct ; 01: indirect ; 10: immédiat ; 11=?


FL/C: format de l'instruction: L:Long=1 C: Court:0
COP: code opération Sur 5 Bits
C1: désigne le numéro de l'indicateur à tester pour les instructions conditionnelles
Il peut contenir 1 débordement ,2 retenue ,3 zéro, 4 négatif
C2: désigne le numéro de périphérique pour les instructions d'entrée-sortie
1: clavier ; 2: écran ….

B15 B14 B13 B12 B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0


ADR opérande
Propre aux instructions au format long:
ADR opérante: adresse d'emplacement de la donnée en mémoire sur 11 Bits
Cas où l'adressage est immédiat les bits de 0 à 15 contiennent la donnée qui figure
dans la partie adresse de l'instruction.

Instruction Mnémonique Code Format Mode


ou Symbolique Opération d'Adressage
Rangement Mot RGM 20 Long Direct/ Indirect
Chargement Mot CHM 22 Long Direct/ Indirect
Chargement Immédiat CHI 21 Long Immédiat
Addition Immédiat ADI 23 Long Immédiat
Addition Mot ADM 24 Long Direct/ Indirect
Soustraction Immédiate SI 25 Long Immédiat
Soustraction Mot SM 26 Long Direct/ Indirect
ET Mot ET 27 Long Direct/ Indirect
OU Mot OU 28 Long Direct/ Indirect
OU Exclusif Mot OUX 29 Long Direct/ Indirect
NON Mot NON 2A Long Direct/ Indirect
Branchement si Condition BCV 2B Long Direct/ Indirect
est Vraie
Branchement si Condition BCF 2C Long Direct/ Indirect
est Fausse
Entrée de données ENT 01 Court Immédiat
Lecture à partir du clavier
Sortie d'information SOR 02 Court Immédiat
Affichage sur écran
Stop STOP 00 Court Immédiat
ORG X'098' # Programme est implanté à l'@ ( 098)16

N RC X'B' # initialisation de l'@N avec (B )16


@ (098)16=(000 1001 1000) 0000 0000 0000 1011
S RM 1 # réservation d'un mot mémoire pour S
@ (099)16=(000 1001 1001) 0000 0000 0000 0000
Debut CHM N # Accumulateur (N)
@ (09A)16=(000 1001 1010) 0010 0010 0000 0000
@ (09B)16=(000 1001 1011) 0000 0 000 1001 1000
Loop RGM S # (Accu) l'@S
@ (9C)16= 0010 0000 0000 0000
@ (9D)16= 0000 0 000 1001 1001
CHM N # Accu (N)
@ (9E)16= 0010 0010 0000 0000
@ (9F)16= 0000 0000 1001 1000
SI 1 # Accu (Accu) -1
@ (A0)16= 1010 0101 0000 0000
@ (A1)16= 0000 0000 0000 0001
RGM N # (Accu) l'@N
@ (A2)16= 0010 0000 0000 0000
@ (A3)16= 0000 0000 1001 1000
BCV,3 Fin
@ (A4)16 0010 1011 011 0 0000
@ (A5)16= 0000 0000 1010 1011
@Fin=(A4+7)16= (AB)16= (001 0001 0001)
Image mémoire exécutable:

BCV,3 Fin
@ (10A)16=(001 0000 1010) 0010 1011 0110 0000
@ (10B)16=(001 0000 1011) 0000 0001 0001 1001
@Fin=(10A+7)16= (111)16= (001 0001 0001)

0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 1
0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0
1 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0
0 0 1 0 1 0 1 1 0 1 1 0 0 0 0 0
0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 1

Vous aimerez peut-être aussi