Professional Documents
Culture Documents
BUS D'ADRESSE(A19..A0)
CPU
(Microprocesseur)
MMOIRE
CIRCUITS D'E/S
SORTIES ENTRES
7 4 1 0 8 5 2 . 9 6 3 =
BUS DE DONNES(D15..D0)
BUS DE CONTRLE
HORLOGE
RLE DES BUS: Les bus sont des ensembles de fils lectriques partags par les diffrents circuits et utiliss par le microprocesseur pour communiquer avec les autres circuits (mmoire et interface).
CPU
(Microprocesseur)
CPU
(Microprocesseur)
A0
LST E.I.
Page 1 sur 18
BUS D'ADRESSE: Le bus dadresse est gnre par le microprocesseur. Le bus dadresse est utilis par le microprocesseur pour slectionner (adresser) une location de mmoire ou un circuit dentre-sortie. Le bus dadresse est un bus uni-directionnel; ce qui signifie que ladresse voyage dans un sens seulement: ladresse origine du microprocesseur et est dirige vers les autres circuits (mmoire, circuits dE/S). Exemple dutilisation: Lors dun cycle de lecture en mmoire, 1. Ladresse de la location de mmoire est dpose par le microprocesseur sur les lignes dadresse. Dans lexemple prsent droite, ladresse est: 0D4A6 hex 2. Le microprocesseur actionne le signal de lecture. 3. La donne ladresse spcifie par le contenu des lignes dadresse est lue par le microprocesseur.
BUS D'ADRESSE
A19 A18 A17 A16 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 0 0 0 0 1 1 0 1 0 1 0 0 1 0 1 0 0 1 1 0
0 D 4 A 6
CPU
CPU
(Microprocesseur)
RAM 1
RAM 2
RAM 3
RAM 4
B. OUKARFI
Page 2 sur 18
Ladressage seffectue en deux parties: 1. Un certain nombre de ligne dadresse sont appliques un circuit de dcodage qui va slectionner un des botiers de mmoire partir de ces lignes dadresse. Dans lexemple prsent ici, les adresses A16 A19. 2. Un certain nombre de lignes dadresse sont appliques directement tous les botiers de mmoire et servent slectionner la location dans le botier de mmoire slectionn. Dans lexemple prsent ici, les adresses A0 A15.
Circuit de Dcodage 0 1 2 3
CPU
(Microprocesseur)
RAM 1
RAM 2
RAM 3
RAM 4
Le dessin plus haut montre la slection du botier de mmoire par le dcodeur dadresse. La slection dune carte dinterface seffectue de manire semblable. Sur chaque carte se trouve un dcodeur dadresse dont le rle est de dterminer si ladresse prsente sur le bus dadresse est celle de cette carte dinterface. Chaque carte dcode une adresse diffrente. Le dessin plus bas montre cette situation.
A19 A0
BUS D'ADRESSE
Dcodeur
CPU
(Microprocesseur)
LST E.I.
Page 3 sur 18
B. OUKARFI
Page 4 sur 18
Le nombre de lignes dadresses prsentes sur le bus dadresse dterminent la capacit dadressage du microprocesseur. Le nombre de locations diffrentes qui peuvent tre adresses avec n lignes dadresse est: nombre de locations = 2n MICROPROCESSEUR 8088 Intel 80286 Intel 80386 Intel 80486 et pentium 6809 Motorola BUS DE DONNE: Nombre de lignes dadresse 20 24 32 32 16 220 224 232 232 216 Capacit dadressage (en location ou octet) 1 048 576 16 777 216 4 294 967 296 4 294 967 296 65536 1 Meg 16 Meg 4 Giga 4 Giga 64 Kilo
CPU
(Microprocesseur) BUS DE DONNES (D15..D0)
CPU
(Microprocesseur)
D0
Le bus de donne est utilis par le microprocesseur pour changer des donnes de ou vers la location de mmoire ou le circuit dentre-sortie slectionne par ladresse prsente sur le bus dadresse. Exemple dutilisation: Lors dun cycle dcriture en mmoire,
LST E.I.
Page 5 sur 18
1. Ladresse de la location de mmoire est dpose par le microprocesseur sur les lignes dadresse. 2. La donne crire est dpose sur le bus de donne par le microprocesseur. Dans lexemple prsent droite, la donne crite est: B529 hex 3. Le microprocesseur actionne le signal dcriture.
BUS DE DONNES
CPUD15
D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
1 0 1 1 0 1 0 1 0 0 1 0 1 0 0 1
B 5 2 9
B. OUKARFI
Page 6 sur 18
Le bus de donne est un bus bi-directionnel; ce qui signifie que la donne peut originer du microprocesseur et tre dirige vers les autres circuits (mmoire, circuits dE/S). ou originer de ces autres circuits et tre dirige vers le microprocesseur. Dans le premier cas, le microprocesseur agit comme la source des donnes; dans le second cas, le microprocesseur agit comme la destination. Le nombre de lignes prsentes sur le bus de donnes dtermine la taille des donnes que le
CRITURE
LECTURE
CPU
(Microprocesseur) D15 D14 D13 D12 D11 D10 D9 D8
CPU
(Microprocesseur) D15 D14 D13 D12 D11 D10 D9 D8
D0
D0
microprocesseur peut manipuler dun coup. La largeur du bus de donnes est une caractristique importante des microprocesseurs. Cest un des facteurs qui dtermine leur puissance de traitement. Dans le cas illustr plus haut, on a affaire un microprocesseur ...16 bits! MICROPROCESSEUR 8088 80186 80286 80386SX 80386DX 80486 PENTIUM AMD Athlon NOMBRE DE BITS INTERNE 16 16 16 32 32 32 32 32 LARGEUR DU BUS DE DONNES 8 16 16 16 32 32 64 64
LST E.I.
Page 7 sur 18
BUS DE CONTRLE: Le bus de contrle est constitu par lensemble des lignes de contrle qui servent grer et diriger les changes entre le microprocesseur et les autres circuits. Pour le moment, nous simplifierons ce bus aux signaux suivants: -MEMR: MEMory Read ou lecture-mmoire. Ce signal est actionn par le microprocesseur au moment deffectuer la lecture dune donne en mmoire. -MEMW: MEMory Write ou criture-mmoire. Ce signal est actionn par le microprocesseur au moment deffectuer lcriture dune donne en mmoire. -IOR: Input-Output Read ou lecture-E/S. Ce signal est actionn par le microprocesseur au moment deffectuer la lecture dune donne dans un circuit dE/S. -IOW: Input-Output Write ou criture-E/S. Ce signal est actionn par le microprocesseur au moment deffectuer lcriture dune donne dans un circuit dE/S. CLOCK: Cest lhorloge cest--dire un signal carr gnr par un oscillateur. Cest une entre sur le microprocesseur. Ce signal dtermine la vitesse laquelle le microprocesseur excute ses oprations lmentaires (lecture, criture, etc.). CPU 386SX-25 386DX-33 486DX-33 486DX-50 CLOCK 25 MHz 33 MHz 33 MHz 50 MHz
Ce tableau montre quen ne tenant compte que de la vitesse de lhorloge, un 486DX-50 est 2 fois plus puissant quun 386SX-25. Cependant dautres facteurs interviennent comme la largeur du bus de donnes. Les 486DX possdent un bus de donnes de32 bits alors que les 386SX possdent un bus de donnes de seulement 16 bits. Rsultat: le 486DX-50 peut traiter les informations non pas 2 fois mais 4 fois plus vite quun 386SX-25! NOTE: Le signe - devant ces signaux indique quil sagit de signaux actif 0 logique...
B. OUKARFI
Page 8 sur 18
FONCTIONNEMENT DES BUS BIDIRECTIONNELS (Bus de donnes): Un bus bidirectionnel, comme le bus de donnes, doit permettre de transporter des informations dans les deux directions savoir: du microprocesseur vers les circuits de mmoire ou d'entre-sortie. Le microprocesseur agit alors comme la source et les circuits de mmoire ou d'entre-sortie comme destination du transfert (criture). d'un circuit de mmoire ou d'entre-sortie vers le microprocesseur. Le microprocesseur agit alors comme la destination et le circuit impliqu comme la source du transfert (lecture).
CPU
RAM 1
D15..D0
D15 D0
RAM 2
D15..D0
RAM 3
D15..D0
RAM 4
D15..D0
BUS DE DONNES
La source de la donnes sur le bus peut donc tre nimporte quel des circuits qui y est raccord, dans lexemple plus haut, le CPU ou nimporte quel des circuits de mmoire RAM...Ce type de bus doit donc possder un mcanisme qui permette d'viter les conflits lectriques entre les diffrents circuits qui peuvent "driver" les lignes de bus. Les circuits utilisent des sorties "Tri-State". Voir illustration. SORTIE CONVENTIONNELLE
CIRCUIT 1
+5v
SORTIE TRI-STATE
CIRCUIT 1
+5v
ON
LIGNE DE BUS
OFF
OFF
CIRCUIT 2
+5v
CIRCUIT 2
OFF
+5v
OFF
ON Contrle = 1 logique
ON
LST E.I.
Page 9 sur 18
La figure plus bas montre une ligne du bus de donnes. On retrouve sur chaque circuit reli au bus de donnes (microprocesseur, RAM1, RAM2, etc.) des "buffers" tri-state. Note: 2 "buffers" sont prsents sur chaque ligne l'entre des circuits. Ces "buffers" sont connects dos dos, ce qui permet d'entrer ou de sortir une donne. Ce circuit est "bi-directionnel".
RAM 1
Lecture RAM 1
RAM 2
Lecture RAM 2
RAM 3
Lecture RAM 3
RAM 4
Lecture RAM 4
CPU
Bus Interne Di
criture RAM 1
criture RAM 2
criture RAM 3
criture RAM 4
Di
Di
Di
Di
Le figure suivante montre ltat des buffers tri-state et le sens de circulation des informations lorsquune donne est crite par le microprocesseur dans le circuit de mmoire RAM2.
RAM 1
0 - Tri-state
RAM 2
0 - Tri-state
RAM 3
0 - Tri-state
RAM 4
0 - Tri-state
CPU
Bus Interne Di
0 - Tri-state
1 - actif
0 - Tri-state
0 - Tri-state
Di
Di
Di
Di
B. OUKARFI
Page 10 sur 18
Compltez la figure suivante pour quelle montre ltat des buffers tri-state et le sens de circulation des informations lorsquune donne est lue par le microprocesseur dans le circuit de mmoire RAM3.
RAM 1
Lecture RAM 1
RAM 2
Lecture RAM 2
RAM 3
Lecture RAM 3
RAM 4
Lecture RAM 4
CPU
Bus Interne Di
criture RAM 1
criture RAM 2
criture RAM 3
criture RAM 4
Di
Di
Di
Di
LST E.I.
Page 11 sur 18
La figure plus bas illustre les points suivants: comment le circuit de mmoire avec qui le transfert de donnes sera effectu, est slectionn partir de l'adresse prsente sur le bus d'adresse. Le circuit de dcodage dcode les lignes dadresse A16 A19 et actionne le CE dun seul des botiers de RAM. Ce qui autorise les buffers tri-state de ce botier (et seulement de ce botier) fonctionner. comment la direction des transferts est contrle partir des lignes du bus de contrle du microprocesseur. Supposons que le microprocesseur effectue une criture en mmoire. Le signal de contrle Ecrituremmoire (-MEMW) sera actionn par le microprocesseur. Rsultat: les buffers tri-state qui permettent dentrer une donne dans les circuits de RAM seront autoriss mais pas ceux qui permettent de sortir une donne. Seul le botier slectionn pourra entrer la donne prsente sur le bus... Supposons que le microprocesseur effectue une lecture en mmoire. Le signal de contrle Lecturemmoire (-MEMR) sera actionn par le microprocesseur. Rsultat: les buffers tri-state qui permettent de sortir une donne des circuits de RAM seront autoriss mais pas ceux qui permettent dentrer une donne. Seul le botier slectionn pourra placer une donne sur le bus de donnes...
B. OUKARFI
Page 12 sur 18
LST E.I.
A19,A18 Circuit de Dcodage 0 1 2 3
A19 A180 0 0 0 0 1 1 1 0 1 1 1 1 1 2 3 1 1 0 1 1 0 1 1 1 1 1 0
BUS D'ADRESSE
A19 19 1817 1615 1413 12 1110 9 8 7 6 5 4 3 2 1 0 (A17..A0) A0 CE A0..A17
RAM 1
CE
A0..A17
RAM 2
CE
A0..A17
RAM 3
CE
A0..A17
RAM 4
CPU
OE WE OE WE 1514 13 1211 109 8 7 6 5 4 3 2 1 0 OE WE OE WE
D15 D0
MEMR MEMW IOR IOW CLK
HORLOGE
Page 13 sur 18
B. OUKARFI
A19,A18 Circuit de Dcodage 0 1 2 3
A19 A180 0 0 0 0 1 1 1 0 1 1 1 1 1 2 3 1 1 0 1 1 0 1 1 1 1 1 0
BUS D'ADRESSE
A19 19 1817 1615 1413 12 1110 9 8 7 6 5 4 3 2 1 0 (A17..A0) A0 CE A0..A17
RAM 1
CE
A0..A17
RAM 2
CE
A0..A17
RAM 3
CE
A0..A17
RAM 4
CPU
OE WE OE WE 1514 13 1211 109 8 7 6 5 4 3 2 1 0 OE WE OE WE
D15 D0
MEMR MEMW IOR IOW CLK
HORLOGE
Page 14 sur 18
(A16..19)
Circuit de Dcodage 0 1 2 3
CPU
(Microprocesseur)
RAM 1
RAM 2
RAM 3
RAM 4
BUS DE CONTRLE
HORLOGE
RSUM: Le bus de donnes est un bus bidirectionnel. Ce bus utilise des tampons 3 tats ("3-state buffers") pour viter les conflits lectriques. Cependant pour viter les conflits lectriques, il faut galement qu'un seul circuit "drive" le bus la fois. Le bus d'adresse est un bus unidirectionnel, habituellement contrl par le CPU. Le bus de contrle est constitu de l'ensemble des lignes de contrle du microprocesseur Identifiez ces lignes de contrle sur le dessin plus haut de mme que les entres des circuits de RAM auxquelles ces lignes sont raccordes.
LST E.I.
Page 15 sur 18
SQUENCEMENT DE LORDINATEUR Un ordinateur est une machine lectronique conue pour excuter des programmes. Un programme est une liste dinstructions. Ces instructions sont ranges en mmoire dans des locations conscutives. Pour excuter ces instructions, le microprocesseur procde en 2 tapes: 1. 2. recherche de la prochaine instruction range en mmoire et dcodage de cette instruction excution proprement dite de cette instruction
Une fois cette instruction excute, le microprocesseur recommence le mme cycle (rechercheexcution) quil rpte et rpte encore sans arrt... Exemple: Supposons que le microprocesseur excute linstruction range en mmoire ladresse 80B63H. Et que le code de cette instruction soit FE08H qui reprsente (autre supposition...) linstruction crire en mmoire ladresse 61AE9H le contenu du registre A. Lexcution de cette instruction seffectuera en 2 tapes tel quindique auparavant: dabord la recherche ou lecture de linstruction en mmoire par le microprocesseur. Celui-ci dcodera ensuite cette instruction. Et dans un deuxime temps, le microprocesseur effectuera lcriture en mmoire du contenu du registre A. NOTE: Le code machine FE08H (16 bits) occupe deux octets en mmoire donc deux locations de mmoire!!! La prochaine instruction est donc range ladresse 80B65H. Que fera ensuite le microprocesseur? Rponse: il lira la prochaine instruction range en mmoire et lexcutera. Et ensuite? Rponse: linstruction suivante. Et ensuite?....
B. OUKARFI
Page 16 sur 18
LST E.I.
CPU
(Microprocesseur)
A19 A0
(A19,A18)
RAM 1
CE ( de 00000 00158H 3FFFFH) 00159H 0015AH 0015BH A0..A17
RAM 2
CE A0..A17 ( de 40000H 61AE7H 7FFFFH) 61AE8H 61AE9H 61AEAH WEOE
RAM 3
CE ( de 80000H 80B62H DFFFFH) 80B63H 80B64H 80B65H A0..A17
RAM 4
CE ( de E0000H F0268H FFFFFH) F0269H F026AH F026BH WEOE A0..A17
Registre A
WEOE D15 D0
MEMR MEMW IOR IOW
WEOE
(D15..D0)
HORLOGE
Page 17 sur 18
B. OUKARFI
CPU
(Microprocesseur)
A19 A0
(A19,A18)
RAM 1
CE ( de 00000 00158H 3FFFFH) 00159H 0015AH 0015BH A0..A17
RAM 2
CE A0..A17 ( de 40000H 61AE7H 7FFFFH) 61AE8H 61AE9H 61AEAH WEOE
RAM 3
CE ( de 80000H 80B62H DFFFFH) 80B63H 80B64H 80B65H A0..A17
RAM 4
CE ( de E0000H F0268H FFFFFH) F0269H F026AH F026BH WEOE A0..A17
Registre A
WEOE D15 D0
MEMR MEMW IOR IOW
WEOE
(D15..D0)
HORLOGE
Page 18 sur 18