Académique Documents
Professionnel Documents
Culture Documents
Architecture 2-CL & UF
Architecture 2-CL & UF
• I - Elément de Mémoire
• II - Registre
• III - Bus
• IV - Multiplexage des bus
• V - Compteur
• VI - Opérations Arithmétique & Logique
Ck Q
1
2
Ck
T T T
Application : éliminer les différences entre 1 et 2 pour avoir des cycles constants
C’est le rôle des entrées de forçage asynchrone Preset (Set) et Clear (Clr) qui
permettent d’initialiser la bascule :
Set J Q S Q
C C
Reset K Q R Q
3 Etats : b7 . . . . . . b0
S
S1 C
CQ R
R0 Q7 Q0
Ck Q
1
2
Ck
T T T
Application : éliminer les différences entre 1 et 2 pour avoir des cycles constants
Qn Qn-1 Q0
Set
D D D
Dn Dn-1 D0
Ck
Clear
bn bn-1 b0
Commande
Ck
Ck
S D
Registre Registre
ou ou
Mémoire Mémoire
An An-1 A0 Bn Bn-1 B0
Bus
Sn Sn-1 S0
QA
QB
QC
QD
0 1 0 1 0 1 0 1 0 1 0
0 0 1 1 0 0 1 1 0 0 1
0 0 0 0 1 1 1 1 0 0 0
0 0 0 0 0 0 0 0 1 1 1
Ck
Es
Q0
Q1
Q2
Q3
Ck
Es
Q0
Q1
Q2
Q3
QA QB QC QD
Set Set Set Set
Es D Q D Q D Q D Q Ss
QA QB QC QD
Set Set Set Set
Es D Q D Q D Q D Q Ss
A B C D
Load //
QA QB QC QD
Set Set Set Set
Es D Q D Q D Q D Q Ss
A B C D
Load //
QA QB QC QD
Set Set Set Set
Ss D Q D Q D Q D Q Es
S0
Clear
S1
QA QB QC QD
Ck
S0 S1
0 0 Hold
0 1 Shift Right R QA,QA QB,QB QC,QC QD
1 0 Shift Left L QD,QD QC,QC QB,QB QA
1 1 Load // A QA,B QB,C QC,D QD
Ri R0
+, - , Acc
OU
ET
XO
R
* ,/
ALU
Op. Elem ......... Op. Elem
Q Q Q Q
S1 S2 S1i S2i S10 S20
Q Q
D D
Acc Acci Acc0
S Si S0
• On remarque que S est à l'état 1 si une seule des entrées est à l'état 1.
Nous avons donc affaire à la fonction logique OU Exclusif, soit :
Table de vérité
A B R’ R S Etage additionneur
0 0 0 0 0
0 0 1 0 1 An Sn
Bn ADD
0 1 0 0 1 R’n-1 Rn
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1
.......
Q Q Q
D D D
Accn Acc1 Acc0
Acc0
Bn .......... B1 B0
A1 A2 A3 A4
1 2 3 4
B1 B2 B3 B4
r0 r1 r2 r3 r4
2 3
Retard n étages n
Pour éviter le retard :
r1 = f(A1,B1,r0)
r2 = f(A1,B1,A2,B2,r0)
r3 =
f(A1,B1,A2,B2,A3,B3,r0)
exemple : 74LS83
J.Elhachmi & Med Senhadji Architecture_CL&UF 51
J.Elhachmi & Med Senhadji Architecture_CL&UF 52
Assemblage d ’additionneur
A16 B16
….. A13 B13 A4 B4
….. A1 B1
r r0
0
0’ 74LS157 1
Select
Strobe
r1
4 3 2 1
4 (1111) +
0’ 4 3 2 1
74LS83
4 (1111) 0 5 4 3 2 1
74LS83
r r4 (0110)
r3 r r0
0
0’ 74LS157 4
Select
Strobe (0001) 5
74LS157
(0000)
Select
B A4 A3 A2 A1 B C Y1 Y2 Y3 Y4
74H87 _ _ _ _
C L L A1 A2 A3 A4
Y4 Y3 Y2 Y1
L H A1 A2 A3 A4
H L H H H H
H H L L L L
A8 A7 A6 A5 C A4 A3 A2 A1 C
74H87 B 74H87 B
Y4 Y3 Y2 Y1 Y4 Y3 Y2 Y1
... B8 B7 B6 B5 A8 A7 A6 A5
C4
8
74LS83
7 6 5
C0
B4 B3 B2 B1 A4 A3 A2 A1
C4
4
74LS83
3 2 1
C0
Op
Op=0 Soust.
Somme/Différence Somme/Différence Op=1 Add.
1011 Multiplicande : A 1 0 1 1
0101 Multiplicateur : B 0 1 0 1
Décalage a droite
1011 Multiplicande : A 1 0 1 1
0101 Multiplicateur : B 0 0 0 0 0 1 0 1
Décalage a droite
Remplissage par des 0
1011 Multiplicande : A 1 0 1 1
+
0101 Multiplicateur : B 01 00 01 01 0 1 0 1
1011
- Test du bit de droite
- si 1 addition (A+BH) BH
1011 Multiplicande : A 1 0 1 1
0101 Multiplicateur : B 1 0 1 1 0 1 0 1
1011
- Test du bit de droite
- si 1 addition (A+BH) BH
1011 Multiplicande : A 1 0 1 1
0101 Multiplicateur : B 0 1 0 1 1 0 1 0
1011
0000 - Test du bit de droite
1011 Multiplicande : A 1 0 1 1
0101 Multiplicateur : B 0 1 0 1 1 0 1 0
1011
0000 - Test du bit de droite
1011 Multiplicande : A 1 0 1 1
+
0101 Multiplicateur : B 01 01 10 01 1 1 0 1
1011
0000 - Test du bit de droite
1011 - si 1 addition (A+BH) BH
1011 Multiplicande : A 1 0 1 1
0101 Multiplicateur : B 1 1 0 1 1 1 0 1
1011
0000 - Test du bit de droite
1011 - si 1 addition (A+BH) BH
1011 Multiplicande : A 1 0 1 1
0101 Multiplicateur : B 0 1 1 0 1 1 1 0
1011
0000 - Test du bit de droite
1011
Décalage a droite (4)
1011 Multiplicande : A 1 0 1 1
0101 Multiplicateur : B 0 0 1 1 0 1 1 1 0
1011
0000
1011
110111 Le registre B contient le résultat
1011 Multiplicande : A
0101 Multiplicateur : B Oui Bit BL0 Non
=0
1011
0000 .
(A +BH) BH
1011 .
110111
Déroulement : Décalage droite
de BH,BL
- Chargement du Multiplicande dans A
- Chargement Multiplicateur dans BH
- Décalage droite BH,BL Non Dernier bit Oui Fin
multiplicateur
L R L
R
S0 S0 Clear
S1 S1 74LS194
QA QB QC QD
Ck
Ck
S0 S1
0 0 Hold
C4 74LS83 C0
S4 S1 0 1 Shift Right
1 0 Shift Left
1 1 Load //
Multiplicande
L R L
R
séquenceur
S0 0 1 0 1 S0 Clear
S1 S1 74LS194
QA QB QC QD
Ck
Ck
S0 S1
0 0 Hold
C4 74LS83 C0
S4 S1 0 1 Shift Right
1 0 Shift Left
1 1 Load //
Multiplicande
L R L
R
séquenceur
S0 0 0 0 0 S0 Clear
S1 S1 0 1 0 1
QA QB QC QD
Ck
Ck
S0 S1
0 0 Hold
C4 74LS83 C0
S4 S1 0 1 Shift Right
1 0 Shift Left
1 1 Load //
1 0 1 1 Chargement Multiplicande
Multiplicande
L R L
R
séquenceur
S0 0 0 0 0 S0 Clear
S1 S1 0 1 0 1
QA QB QC QD
Ck
Ck
S0 S1
0 0 Hold
C4 1 0 1 1 C0
S4 S1 0 1 Shift Right
1 0 Shift Left
1 1 Load //
1 0 1 1 Chargement Multiplicande
Multiplicande
L R L
R
séquenceur
S0 0 0 0 0 S0 Clear
S1 S1 0 1 0 1
QA QB QC QD
Ck
Ck 1
S0 S1
0 0 Hold
C4 1 0 1 1 C0
S4 S1 0 1 Shift Right
1 0 Shift Left
1 1 Load //
1 0 1 1
Multiplicande
L R L
R
séquenceur
1 S0 0 0 0 0 S0 Clear
S1 S1 0 1 0 1
1 QA QB QC QD
Ck
Ck 1
S0 S1
0 0 Hold
C4 1 0 1 1 C0
S4 S1 0 1 Shift Right
1 0 Shift Left
1 1 Load //
1 0 1 1
Multiplicande
L R L
R
séquenceur
1 S0 1 0 1 1 S0 Clear
S1 S1 0 1 0 1
1 QA QB QC QD
Ck
Ck 1
S0 S1
0 0 Hold
C4 1 0 1 1 C0
S4 S1 0 1 Shift Right
1 0 Shift Left
1 1 Load //
1 0 1 1
Multiplicande
L R L
R
séquenceur
0 S0 1 0 1 1 S0 Clear
S1 S1 0 1 0 1
1 QA QB QC QD
Ck
Ck 1
S0 S1
0 0 Hold
C4 1 0 1 1 C0
S4 S1 0 1 Shift Right
1 0 Shift Left
1 1 Load //
1 0 1 1
Multiplicande
L R L
R
séquenceur
0 S0 0 1 0 1 S0 Clear
S1 S1 1 0 1 0
1 QA QB QC QD
Ck
Ck
S0 S1
0 0 Hold
C4 1 0 1 1 C0
S4 S1 0 1 Shift Right
1 0 Shift Left
1 1 Load //
1 0 1 1
Multiplicande
L R L
R
séquenceur
0 S0 0 1 0 1 S0 Clear
S1 S1 1 0 1 0
1 QA QB QC QD
Ck
Ck 0
S0 S1
0 0 Hold
C4 1 0 1 1 C0
S4 S1 0 1 Shift Right
1 0 Shift Left
1 1 Load //
1 0 1 1
Multiplicande
L R L
R
séquenceur
1 S0 0 0 1 0 S0 Clear
S1 S1 1 1 0 1
1 QA QB QC QD
Ck
Ck 1
S0 S1
0 0 Hold
C4 1 0 1 1 C0
S4 S1 0 1 Shift Right
1 0 Shift Left
1 1 Load //
1 0 1 1
Multiplicande
L R L
R
séquenceur
1 S0 1 1 0 1 S0 Clear
S1 S1 1 1 0 1
1 QA QB QC QD
Ck
Ck 1
S0 S1
0 0 Hold
C4 1 0 1 1 C0
S4 S1 0 1 Shift Right
1 0 Shift Left
1 1 Load //
1 0 1 1
Multiplicande
L R L
R
séquenceur
0 S0 1 1 0 1 S0 Clear
S1 S1 1 1 0 1
1 QA QB QC QD
Ck
Ck 1
S0 S1
0 0 Hold
C4 1 0 1 1 C0
S4 S1 0 1 Shift Right
1 0 Shift Left
1 1 Load //
1 0 1 1
Multiplicande
L R L
R
séquenceur
0 S0 0 1 1 0 S0 Clear
S1 S1 1 1 1 0
1 QA QB QC QD
Ck
Ck 0
S0 S1
0 0 Hold
C4 1 0 1 1 C0
S4 S1 0 1 Shift Right
1 0 Shift Left
1 1 Load //
1 0 1 1
Multiplicande
L R L
R
séquenceur
0 S0 0 0 1 1 S0 Clear
S1 S1 0 1 1 1
1 QA QB QC QD
Ck
Ck
S0 S1
0 0 Hold
C4 1 0 1 1 C0
S4 S1 0 1 Shift Right
1 0 Shift Left
1 1 Load //
1 0 1 1
Multiplicande
P6 P5 P4 P3 P2 P1 P0 = M3 M2 M1 M0 * N2 N1 N0
M3 M2 M1 M0
N2 N1 N0
P6 P5 P4 P3 P2 P1 P0
M0 C0 M0 C0
P2
M1
M1 M1 P3
3
3
M2
S8
S8
7 4L
P4
7 4L
M2 M2
M3
P5
M3 M3
C4 C4 P6
N0 N1 N2
Comparaison de AH et de B :
- Si AH < B décalage gauche de A et A0=0
- Si AH >= B alors (AH - B) AH
Puis décalage à gauche et A0=1