Professional Documents
Culture Documents
Pr MOUGHIT Mohamed
m.moughit@gmail.com
o Symbolique:
N=(anan-1an-2....a1a0)B
1 1 0 1 1 0 1 0 input x
1 1 1 1 0 1 1 input y
1 0 1 1 1 11 rsultat z = xy
Exemple:
01100101
+
01110011
+
01100000
=
000100111000 soit la reprsentation de 138
Exemple:
12 (10)=1010(BR)=1100(BN)
x Non(x)
0 1
1 0
x y x et y
0 0 0
0 1 0
1 0 0
1 1 1
x y x ou y
0 0 0
0 1 1
1 0 1
1 1 1
lment neutre
Thorme de Morgan
La ngation dun produit de variable est gale la somme
des ngations des termes du produit
La ngation dune somme de variable est gale au produit
des ngations des variables
Proprit du concensus
Dautres Proprits
CI 7408
Pr M MOUGHIT Architecture des ordinateurs 58
Les Fonctions logiques
Fonctions Particulires:
Fonction OU (OR): Fonction deux variables
f(x,y)=x+y
La fonction ET est assure par le circuit 7432 en
technologie TTL
x1 x0 f(x)
0 0 1
0 1 0
1 0 0
1 1 1
Objectif
Le but de ce chapitre est lobtention de
lexpression algbrique minimale dune fonction
logique afin de la raliser avec un nombre rduit
de porte logique
Simplifier la fonction
1- F1(x)=R1(0,1,2,7,5,8,9,10,13)+R0(3,4,12,15)
2- F2(x)=R1(0,1,2,7,5,8,9,10,13)+R-(3,4,12,15)
Exemple: f=R1(3,4,6,7,8,11,12,15)
A
A=a0a1..an-1
A+B
B A=b0b1..bn-1
Circuit lmentaires
ai
Si=ai+bi
bi
ci
Si=aibi ci-1
Ci=aibi+ci-1(ai+bi)
ci-1
A
A=a0a1..an-1
A-B
B A=b0b1..bn-1
Circuit lmentaires
ai
Si=ai-bi
bi
ci
Si=aibi ci-1
Ci=aibi+ci-1(ai+bi)
ci-1
n bits dadresse 89
Pr M MOUGHIT
Synthse des circuits combinatoires
Exemple: Multiplexeur 1 parmi 8
Table de vrit
A2 A1 A0 S
0 0 0 E0
0 0 1 E1
0 1 0 E2
0 1 1 E3
1 0 0 E4
1 0 1 E5
1 1 0 E6
1 1 1 E7
Pr M MOUGHIT Architecture des ordinateurs 90
Synthse des circuits combinatoires
Circuit comparateur binaire
A In
Eg
Sup
B
Comparateur 3 bits
A=a2a1a0, B=b2b1b0
Exemple
On considre un systme dont la sortie change aux
front montant de lentre.
Entre le vecteur
Sortie le vecteur
2
1
5 S
3
4
Graphe de fluence
Cest la reprsentation graphique associ la reprsentation
de la table de fluence. On associe chaque tat stable un
sommet et un arc pour les transitions entre les tats stables.
Graphe de fluence
Un tat peut tre reprsent graphiquement comme suit:
Graphe de fluence
Exemple: dplacement de chariot
Graphe de fluence
Exemple: dplacement de chariot
Table de fluence
MAB
000 001 011 010 110 111 101 100 GD
Q1 1 2 00
Q2 4 5 3 2 7 01
Q3 6 5 1 10
Exemple 1
Un moteur lectrique aliment par lintermdiaire dun
contacteur C de test est actionn par deux bouton MA.
- Une impulsion sur M provoque la mise sous tension du
moteur
-Une impulsion sur A provoque larrt du moteur
-Une action simultane sur M et A provoque larrt du
moteur
M
C
SSA
A
Variable dentre MA
10
00 1/0 2/1
11
5/0
00
3/1
01
4/0
MA 00 01 11 10 S
1 1 4 - 2 0
2 3 - 5 2 1
3 3 4 - 2 1
4 1 4 5 - 0
5 - 4 5 2 0
00 00 01
01 00
11
10
11
00 10
01
00
Course non critique
Si le systme est dans l'tat y1y2=11 et que les entres passent de 00 01. On
dsire
par consquent aller vers l'tat stable 00. Si y1 change plus vite que y2, le circuit
ira dans l'tat 01 et atteindra finalement l'tat stable 00.
Par contre, si y2 change plus vite que y1, le systme ira vers l'tat stable 10 et s'y
maintiendra. Nous avons une course critique et le fonctionnement du systme sera
incorrect. On parle dune course critique.
MA 00 01 11 10 S
1,4,5 1 1 1 2 0
2,3 2 1 1 2
1
1 1 0 0 1 1
121
Logique squentielle
Exemple de synthse
Etats quivalents
2
1 3
10
9
4
5
7
6
5
7
6
R S Qn+1
0 0 Qn
0 1 1
1 0 0
1 1 interdit
R S Qn+1
0 0 Interdit
0 1 1
1 0 0
1 1 Qn
R Q
CK RS
S
Q
01 - 01
11 11
11 - 11 10 11
10 00 10 10 11
Exemple
La table de vrit dune RS est:
y Y R S
0 0 - 0
0 1 0 1
1 0 1 0
1 1 0 -
e1e2 00 01 11 10
y1y2 R1=e1e2
S1=e1y2
00 -0 -0 -0 -
01 - -0 01 01
11 - 0- 0- 0-
10 10 0- 0- 0-
Pr M MOUGHIT Architecture des ordinateurs 138
Logique squentielle
Synthse par utilisation des bascules RS
Exemple y2
R1S1
e1e2 00 01 11 10
y1y2
R1=y1e1e2
00 -0 01 -0 -
S1=y1e1e2+e1e2
01 - 0- 0- 0-
11 - 0- 10 0-
10 -0 -0 -0 01
Q
B2
Q
Logique squentielle
Synthse par utilisation des bascules JK
Table de vrit de la bascule JK
Y y Y j k
JK 00 01 11 10
y 0 0 0 -
0 0 0 1 1 0 1 1 -
1 0 - 1
1 1 0 0 1
1 1 - 0
1 1 1 1
CK
1 1 1 1
Cr Cr Cr Cr
Ck
Ck
00 0 0 0 0
01 0 0 1 0
11 - - - -
10 1 0 - -
11 - - - -
10 -0 -1 - -
00 0 0 1 0
01 1 1 0 1
11 - - - -
10 0 0 - -
00 0- 0- 1- 0- J2=K2=Q1Q0
01 -0 -0 -1 -0
11 - - - -
10 0- 0- - -
00 0 1 0 1
01 0 1 0 1
11 - - - -
10 0 0 - -
00 0- 1- -1 -0 K1=Q0
J1=Q3.Q0
01 0- 1- -1 -0
11 - - - -
10 0- 0- - -
00 1 0 0 1
01 1 0 0 1
11 - - - -
10 1 0 - -
00 1- -1 -1 1- J0=k0=1
01 1- -1 -1 1-
11 - - - -
10 1- -1 - -
Q1 Q2 Q3
Q0
1
Ck
1 Q0
Ck
1
Q0 Q1 Q2
Registre dcalage
o Les registres dcalage sont constitus par un certain
nombre de bascule mise en cascade.
o Le chargement des registres dcalage se fait de deux
manires:
Entre parallle
Entre srie
Entre srie:
o Lorsque linformation comporte un nombre important de
bit, on procde un chargement en srie.
o Le chargement se fait par lentre successive des n
bits.
o A chaque nouvelle entre un dcalage est ncessaire
pour ne pas perdre les valeurs prcdemment charges
o Le dcalage se fait au rythme de lhorloge
Pr M MOUGHIT Architecture des ordinateurs 164
Les Registres
Dcodage Microprocesseur
+excution Commande
priphrique
Lecture et
criture Mmoire
REGISTRES
Un registre est une petite mmoire spcialise (interne
au processeur) offrant la possibilit de garder en
mmoire dans le processeur lui-mme un certain
nombre d'informations, afin d'effectuer des traitements
complexes sans avoir attendre un transfert d'octets
depuis la mmoire centrale. Les transferts de donnes
entre les registres passent par le bus de donnes interne
au processeur, ce qui les rend trs rapides par rapport
aux accs la mmoire centrale qui transitent par le bus
externe
Architecture Harvard
Mov &imm, R3
mul R1, R3
Add R3, R1
Il y a plusieurs autres types et noms pour les mmoires qui ne sont pas dans la table
ci-dessus. Par exemple, on retrouvera:
SDRAM (Synchronous dynamic random access memory) qui a des
caractristiques similaires DRAM.
DDR (Double Data Rate) qui est un type de SDRAM, mais deux fois plus rapide.
DDR2 est deux fois plus rapide que DDR!
NVRWM (Non-Volatile Read Write Memory) qui dsigne une mmoire comme
EEPROM ou Flash
Pr M MOUGHIT
Architecture des ordinateurs 205
La mmoire dun ordinateur
Exemple:
Le dpassement dun seuil de temprature provoque la
gnration dun signal logique vers le CPU: ce dernier
excute alors la procdure logicielle dactivation de
lorgane rfrigrant
Interruption
Electronique
(Interruption
Asynchrone) Procdure
Interruption
IT ADR
INT
service
i
Interruption Matriel
Le concepteur prvoit des traitements logiciels correspondants
des interruptions lectroniques
Interruption Logiciel
Ce sont des procdures excuter suite lapparition des
vnements internes au programme ( Erreur, division par
zro, appel dun service d E/S)
Interruption Matriel
Le concepteur prvoit des traitements logiciels correspondants
des interruptions lectroniques
Interruption Logiciel
Ce sont des procdures excuter suite lapparition des
vnements internes au programme ( Erreur, division par
zro, appel dun service d E/S)
CPU
Bus
adresse
E/S1 E/S2 E/Sn
Lire Indit 1
Oui
Indit1=1
Traitement IT1
Lire Indit 2
Indit2=1 Oui
Traitement IT2
Lire Indit n
Oui
Indit n=1
Traitement ITn
Pr M MOUGHIT RTS
Architecture des ordinateurs 228
Transmission de la priorit par Daisy Chain
Linconvnient de la scrutation par logiciel (Polling) est la
dgradation du temps implique par le test successif des
indicateurs dvnement dans la prise en compte dune
interruption.
Une scrutation cble est dfinie de manire ce que les
diverses sources dinterruptions sarbitrent elles mmes.
Le principe utilis est la transmission de la priorit suivant un
cblage ordonn des sources dinterruptions cest le principe de
Daisy Chain ou cascading ou chainage en marquerite
IRQ
Evnement
CPU
E/S
CPU DMA_REQ
DMA_ACK
IOAR DC in out command status
priphrique 234
Direct Memory Access (DMA)
o Le contrleur de DMA permet certains priphriques ayant
de larges quantits de donnes transfrer de communiquer
directement avec la mmoire, sans passer par le CPU.
o Le contrleur de DMA doit sassurer que le CPU ne sadresse
pas la mmoire lorsquil transfert des donnes. De plus, il
doit interfacer avec la mmoire de la mme faon que le
CPU.
o Le contrleur DMA prend le contrle du bus externe
(donnes, adresse et contrle) lorsquun transfert de donnes
par DMA survient.
Dfinition
Un langage de haut niveau est constitu de chane de caractre
interprte par un compilateur afin de gnrer de lassembleur et, du
langage machine.
But principal
Faciliter lcriture de programmes et rendre les programmes disponibles
pour tous les microprocesseurs pour lesquels il existe un compilateur.
Buts secondaires
Faciliter la cration et la gestion de variables.
Faciliter la cration et la gestion de boucles et dnoncs conditionnels.
Faciliter la cration et la gestion de fonctions.
LDA # $80
Les modes dadressage du 6809
3- Adressage tendu: Le code opration est suivi par une
adresse
LDA $00F0 correspond (00F0)---- A
LDA $15CD
Les modes dadressage du 6809
4-Ladressage direct
Le code dopration est suivi par une adresse sur 8 bits. Ces 8
bits sont la partie basse de ladresse.
LDA $42
Les modes dadressage du 6809
5- Mode dadressage Index
Dans ce mode dadressage , ladresse est calcul en ajoutant
le contenu de registre dindex avec un dcalage donn
immdiatement aprs le code dopration
Les modes dadressage du 6809
6- Adressage relatif
Ce mode dadressage nest pas utilis que par les instruction
de branchement. Ladresse dans ce mode est calcule partir
de ladresse courante et un dplacement qui peut tre ngatif
Le 8086
MN/MX :
entre de choix du mode de fonctionnement du microproc :
mode minimum (MN/MX = 1) :
le 8086 fonctionne de manire autonome, il gnre lui-mme
Les signaux de commande (RD, WR, ...) ;
mode maximum (MN/MX = 0) :
ces signaux de commande sont produits par un
contrleur de bus, le 8288. Ce mode permet de raliser des
systmes multiprocesseurs.
Schma fonctionnel du microprocesseur 8086
Reset
o Entre de remise Zro du microprocesseur.
o Lorsque lentre Reset est mise ltat haut pendant au
mois 4 priodes dhorloge, le microprocesseur est
rinitialis
Ready
o Entre de synchronisation avec la mmoire.
o Ce signal provient du gnrateur dhorloge
TEST :
entre de mise en attente du microprocesseur dun vnement
extrieur.
Schma fonctionnel du microprocesseur 8086
INTR :
Entre de demande dinterruption normale,
NMI(Non Maskable Interrupt) :
Entre de demande dinterruption non masquable. Cest une
Interruption prioritaire.
INTA : Interrupt Acknowledge,
indique que le microprocesseur accepte linterruption.
HOLD et HLDA :
signaux de demande daccord daccs direct la mmoire
(DMA).
Schma fonctionnel du microprocesseur 8086
S0 S7 :
signaux dtat indiquant le type dopration en cours sur le bus.
S2 S1 S0 caractristiques
S A0 Octet transfr
7 0 0 0 Acquittement dinterruption
0 0 Les deux octets (mot 0 0 1 Lecture I/O
complet) 0 1 0 Ecriture I/O
0 1
Octet de poids fort 0 1 1 Halt
1 0
1 0 0 Accs code
1 1 Octet faible
1 0 1 Lecture Mmoire
Aucun octet
1 1 0 Ecriture memoire
1 1 1 Passif
Schma fonctionnel du microprocesseur 8086
A16/S3 A19/S6 :
4 bits de poids fort du bus dadresses, multiplexs avec 4 bits
dtat.
AD0 AD15 :
16 bits de poids faible du bus dadresses, multiplexs avec 16
bits de donnes. Le bus A/D est multiplex (multiplexage
temporel) do la ncessit dun dmultiplexage pour obtenir
sparment les bus dadresses et de donnes :
Schma fonctionnel du microprocesseur 8086
Note: Changer la valeur de DS peut crer de jolis problmes avec les variables.
Pr MTir
MOUGHIT
du didacticiel de EMU8086 Architecture des ordinateurs 283
Constantes
La directive assembleur EQU permet de
dclarer des constantes (comme un
#define en C). Exemple: MyConst EQU
12h.
Lors de lassemblage, tous les MyConst de
lexemple ci-dessous seraient remplacs
par 12h
Ces instructions affectent les flags suivants : CF, ZF, SF, OF, PF, AF.
Le 8086 a un jeu dinstruction relativement simple (par rapport aux jeux dinstructions modernes!). Il est capable deffectuer toutes les
oprations de bases dun microprocesseur (sur des entiers 16 bits ou 8 bits), mais il ne gre pas de nombres flottants, il ne peut contrler
quune quantit limite de ressource (mmoires et I/Os) et sa vitesse dexcution est plutt lente.
la fin de la datasheet propose sur le site web du cours (il y en a plusieurs disponibles sur internet!!!), vous retrouverez chaque
instruction disponible pour le 8086. Ces instructions font habituellement 1 byte et elles sont habituellement simples interprter partir
du binaire. Toutefois, linstruction MOV, la plus complexe, est difficile interprter selon les donnes disponibles. Voici donc un exemple
de bits reprsentant cette instruction. Dans lexemple, qui suit, le contenu de la mmoire ladresse 0102h est mis dans le registre BX.
Premier byte (1000 1011): Selon la datasheet, l'opcode de l'instruction MOV, pour tranfrer une donne de la mmoire un registre, ou
vice versa, est 1000 10. Ensuite, vous avez les champs d et w. Comme l'indique la dernire page de la datasheet, il faut mettre d
(direction) 1 pour envoyer vers le registre. Par ailleurs, mettre le champs w (word/mot sur 16bits ou variable sur 8bits) 1 indique qu'il
faut transfrer 16 bits.
Deuxime byte (00 011 110): Selon la datasheet, vous avez les champs MOD (00), REG (011) et r/m (110). Le champs MOD dit s'il faut
faire un MOV de registre registre ou de registre mmoire. Il dit galement s'il faut additionner les contenus de certains registres au
dplacement (une adresse de mmoire est dfinie par un dplacement l'intrieur d'un segment; l'instruction MOV peut tre trs
complexe: par exemple MOV AX, [BX + SI + 1234h]). Le champs r/m dfinit les registes entrant dans le calcul de l'adresse/dplacement.
Dans notre cas, MOD est 00 et r/m est 110 afin que le dplacement soit dcrit par les deux bytes suivant en mmoire seulement (voir
l'astrisque dans la datasheet: *except if mod = 00 and r/m = 110, then EA = disp-high;disp-low). REG est 011 pour indiquer que la
destination du MOV est BX (voir la table pour REG la dernire page de la datasheet).
Troisime et quatrime byte (00000010 00000001): Ces deux bytes dcrivent le dplacement (DISP follows 2nd byte of instruction
(before data if required)). Comme on fonctionne en little endian, le byte le moins significatif du dplacement (0102h) est plac en mmoire
le premier.
ORG 100h
MyMacro 1, 2, 3
MyMacro 4, 5, DX
RET