Conservatoire national des arts et métiers
Architectures des systèmes informatiques
CHAPITRE 5
Augmentez le débit svp ! Communications par bus
Année 2002-2003

Suite N°5...

ATTENTION : Je ne dispose pas de moyen pour surligner selon l'usage les sigles des signaux.
J'ai choisi, sauf dans les images de remplacer le surlignage par un soulignement.
Exemple :
___
DAV est noté DAV

5.6 BUS INTERNES

On donne ci-après un exemple de bus de fond de panier ancien, choisi pour sa simplicité. On passera ensuite à des bus plus récents et plus complexes.

5.6.1 STD, bus à données sur 8 bits

STD pour standard a été conçu par PROLOG et MOSTEK en 1978 pour les microprocesseurs Motorola 6800 et 6809, Intel 8080, 8085 et 8089 et Zilog Z80, tous à 8 bits de données. Il était en principe destiné à des applications industrielles. STD recevait des cartes au format 165x114 à 56 connecteurs.

Organisation matérielle sur 56 fils
 

Ce que portent les fils Nombre
Puissance
10
Données
8
Adresses
16
Commandes
22

1) Puissance, 10 conducteurs

Les alimentations des circuits logiques sont + 5 v, - 5 v et GND. Celles des circuits analogiques sont les AUX, séparés par la largeur du bus pour éviter les pollutions de tensions.

Brochage :
Nom
Commentaire
1
+ 5V
+ 5 volts continu
2
+5 V
+ 5 volts continu
4
GND
 terre
5
-5 V
- 5 volts continu
6
-5 V
- 5 volts continu
53
auxGND (terre auxiliaire)
masse du +12 V
54
auxGND (terre auxiliaire)
masse du -12 V 
55
aux + 12 V
+12 volts continu
56
aux - 12 V
-12 volts continu

2) Données, 8 conducteurs

Brochage :
Nom
D7 
... ...
14 D0 (D0 poids faible)

3) Adresses, 16 conducteurs

16 fils unidirectionnels en logique à trois états pour qu'un autre dispositif, par exemple un canal, puisse accéder au bus d'adresses. L'adressage vise la mémoire ou des entrées sorties selon des indications portées par le bus de commande :

Brochage :
Nom
15 A7
16 A15
17 A5
18 A14
... ...
27 A1
28 A9
29 A0
30 A8

4) Commande, 22 conducteurs
Les signaux sont organisés en cinq groupes pour la commande des entrées, des sorties et de la mémoire.

Brochage :
Signal WR RD IORQ MEMRQ IOEXP MEMEXP
Broche 31 32 33 34 35 36
Sortie 3 états 3 états 3 états 3 états normale normale
WR la donnée venant du microprocesseur est validée sur le bus pour écriture en destination.
RD sens opposé au précédent.
IORQ l'adresse validée sur le bus est celle d'un dispositif d'entrée ou sortie.
MEMRQ l'adresse validée sur le bus est celle d'une mémoire.
IOEXP extension d'entrées et sorties.
MEMEX extension de mémoire.

La commande des périphériques.

4 signaux servent font l'adaptation aux commandes des microprocesseurs.
NOM
MC SYNC
STATUS1
REFRESH
STATUS0
Broche
38
39
37
40
Sortie
3 états
3 états
3 états
3 états

REFRESH commande le rafraîchissement des mémoires dynamiques.
MC SYNC (machine cycle synchronisation), définit le début de chaque cycle demachine, dépend du microprocesseur utilisé, synchronise les échanges.
STATUS1 indique la phase de recherche de l'instruction à exécuter.
STATUS pour les périphériques lents.

L'horloge et l'initialisation.

Quatre signaux sont utilisés.
 
SYSREST PBRESET CLOCK CNTRL
47 48 49 50
Collecteur ouvert Collecteur ouvert Normal Entrée

SYSRESET vient de la carte mère pour initialiser le reste du système.
PBRESET (push button reset) vient du bouton poussoir pour initialiser le microprocesseur.
CLOCK horloge du microprocesseur, ce n'est pas l'horloge de bus.
CNTRL entrée d'horloge externe.

Le chaînage des priorités.

2 signaux sont utilisés
PCO 51 normal
PCI 52 normal

PCO : priority chain out :une carte qui demande une interruption prioritaire met PCO au niveau bas.
PCI : priority chain in :indique que la carte précédente n'a pas fait de demande prioritaire.

Commande du bus et interruptions
 
_____
BUSRQ
_____
BUSAK
_____
INTRQ
_____
INTAK
______
WAITRQ
_____
NMIRQ
42 41 44 43 45 46
collecteur ouvert normal collecteur ouvert normal collecteur ouvert normal

BUSRQ (bus request) indique quand il est actif, la demande du bus par un autre dispositif (CADM par exemple).
BUSAK (bus acknowledge) acceptation par le processeur de la demande du bus par un autre dispositif.
INTRQ (interrupt request) : indique une demande d'interruption de la part d'un dispositif.
INTAK (interrupt acknowledge) : indique l'acceptation par le microprocesseur (via le programme de traitement d'interruption) de la demande d'interruption.
WAITRQ (wait request) : oblige le microprocesseur à se mettre en attente aussi longtemps que ce signal est actif. Il sert dans le cas d'exécution de programmes pas à pas ainsi que pour des échanges avec des mémoires lentes.
NMIRQ (non maskable interrupt request) : ce signal d'interruption n'est pas masquable.

Diagrammes des temps du bus STD.

Les diagrammes détaillés ci-après ne conviennent que pour un système STD dont la carte microprocesseur est à base d'un 8085 INTEL.

T1 : le microprocesseur émet le signal de synchronisation (SYNC) et l'adresse de l'octet à lire.

T2 : le microprocesseur indique avec le signal RD qu'il est prêt à recevoir ladonnée; à ce moment, le dispositif adressé émet la donnée.

T3 : le microprocesseur lit la donnée et indique qu'il a fini en désactivant RD

T1 : le microprocesseur émet le signal de synchronisation

(SYNC) et l'adresse de l'octet à écrire.

T2 : le microprocesseur émet la donnée sur le bus et indique au dispositif à l'aide du signal WR qu'il peut recevoir la donnée.

T3 : désactivation du signal WR par le microprocesseur et écriture de la donnéedans le dispositif.


T1 : une demande de bus (BUSRQ) survient pendant l'exécution d'une instruction.
Le microprocesseur termine l'exécution et accepte la demande par (BUSAK).
T2 : le bus est sous le contrôle du dispositif, dès qu'il a terminé, il désactive BUSRQ
Le microprocesseur donne l'accusé de réception en désactivant BUSAK.
T3 : le microprocesseur a repris le contrôle du bus.

Fonctionnement du système d'interruption.

Le bus STD est défini pour gérer les priorités d'interruption de deux manières :

On réalise cette chaîne de priorité série à l'aide du signal PC, à la valeur PCI indiquant que le circuit précédent autorise l'interruption ou à la valeur PCO qui autorise le circuit à interrompre.

Cette conception demande l'emploi d'un circuit de codage des priorités parallèles qui centralise toutes les demandes et gère les priorités.

5.6.2 Le bus ISA, bus unique des premiers PC et compatibles

Le bus ISA (industry standard architecture) a été conçu pour les premiers PC d'IBM. Il a été utilisé pour la première fois avec l'Intel 8088 qui fonctionnait à 4,77 MHz. Il avait la même fréquence, portée ensuite à 8 MHz pour les PC AT. Il était plus un bus d'extension du microprocesseur qu'un sous système. La source de fréquence était l'horloge du processeur. C'était donc un vrai bus local. Les emplacements d'extension étaient directement connectés aux pattes du processeur.

Il contient 62 ou 70 signaux dont :

- cinq d'alimentation : deux à +5 V, une à -5 V, un à +12 V, un à -12 V;
- trois lignes de terre;
- une ligne oscillateur à 14,31818 Mhz, soit trois fois la fréquence de verrouillage des signaux de couleurs dans les
  moniteurs usuels;
- une ligne horloge à 4,77 Mhz;
- une ligne signal du canal d'entrée sortie qui signale les erreurs détectées;
- une ligne pour le redémarrage du système à chaud;
- une ligne de sélection de carte. - huit pour le 8088 ou seize pour le 8086, lignes de données;
- 20 lignes d'adresses (capacité 1Mo). - une ligne de verrouillage d'adresse sur le bus;
- deux lignes, lecture et écriture en mémoire;
- deux lignes, lecture et écriture en entrée sortie;
- une ligne canal d'entrées et sorties prêt;
- neuf lignes de gestion du canal;
- six lignes de demande d'interruption.

BUS ISA des AT

Il reste à 70 signaux et passe à 8 MHz. Il est fait pour les processeurs Intel 80286 dont le brochage a été augmenté par rapport aux 8086 de 40 à 68 broches. Pour assurer la compatibilité des fonds de panier, les lignes du premier ISA sont inchangées, sauf :


Questionnaire

Conservatoire National des Arts et Métiers
Architectures des systèmes informatiques
CHAPITRE 5
Augmentez le débit svp ! Communications par bus
Année 2002-2003