3.1 Bus arbitration philosophy
As microprocessor costs decrease, it is becoming more cost effective to design systems with multiple processors sharing global resources.
The most fundamental of these global resources is the Data Transfer Bus through which all other global resources are accessed. Therefore, any system that supports multiprocessing needs to provide an efficient allocation method for the Data Transfer Bus. Because speed of allocation is vital, a hardware allocation scheme is the only practical alternative. The IEC 821 BUS meets' this need with its arbitration subsystem. (See Figure 3-1, page 205.)
The IEC 821 BUS arbitration subsystem:
- prevents simultaneous use of the bus by two MASTERS;
- schedules requests from multiple MASTERS for optimum bus use.
3.1.1 Types of arbitration
When several boards request use of the DTB simultaneously, the arbitration subsystem detects these requests and grants the bus to one board at a time. The decision of which board is granted the bus first depends upon what scheduling algorithm is used. Many algorithms are possible. The IEC 821 BUS describes three: prioritized, round-robin, and single level.
a) Prioritized arbitration assigns the bus according to a fixed priority scheme where each of four bus request lines has a priority from highest (BR3*) to lowest (BRO*).
b) Round-robin arbitration assigns the bus on a rotating priority basis. When the bus is granted to the REQUESTER on bus request line "BR(n)*", then the highest priority for the next arbitration is assigned to bus request line "BR(n-1)*".
c) Single level arbitration only accepts requests on BR3*, and relies on BR3*'s bus grant daisy-chain to arbitrate the requests.
PERMISSION 3.1:
Scheduling algorithms other than priority, round-robin, or single level MAY be used. For example, an ARBITER's algorithm might give highest priority to BR3*, but grant the bus to BRO* through BR2* on a round-robin basis.
LICENSED TO MECON Limited. - RANCHI/BANGALOREFOR INTERNAL USE AT THIS LOCATION ONLY, SUPPLIED BY BOOK SUPPLY BUREAU.
CARTE MEMOIRE
CARTE ENTREE/SORTIE 1 r
UNITE D'ENTREE/SORTIE
GENERATEUR ESCLAVE INTER-
RUPTION
^ \
LOG OUE INTERFACE AU FOND DE PANIER
Z\
UNITE DE MEMORI- SATION
LOGIQUE INTERFACE AU FOND DE PANIER
\ ESCLAVE
MODULE DE CONTROLE
ALIMEN- TATION
EMETTEUR DE CHAINE
SERIE IACK
LIMITEUR DE TEMPS OCCUPATION
DU BUS
OGIOuE INTERFACE
`"nDEPANIER
_J L__ _ _
DETECTEUR D'ACCES
– 7
._p.__^.^ : ..__... u ...- ,^--
L :JUE INTERFACL',
AIl OF PAPI', ' . ,
1\ 1\ ;,^ l\
^
COUCHE DE TRANSFERT I DE DUNNEES^
J
COUCHE D'ACCES AU FOND DE PANNIER CARTE
PROCESSEUR
r -1 r
UNITE DE TRAITEMENT
Z\ 7\ !\ l\
DEFINI PAR CETTE NORME \7 \7 \7
GENERATEUR CONTROLEUR
MAITRE INTER- INTER-
RUPTION ^ RUPTION
^\ l\ ô
CARTE CONTROLEUR DU SYSTEME
r ^
EMETTEUR ^ D'HORLOGE
^ OU BUS !
^ SERIE I
L_ —
L_—
E4ETTEUR D'HORLOGE
DU SYSTEME
_J L__ — — J
\.7
>
TRANSFERT DE DONNEES _ _1 L__
INTERRUPTION PRIORITAIRE
^r^®s^... •>.• : ^ .^^ MUM^ ^ .> ARBITRAGE DU B
^^ f^
> UTILITAIRE
FIG. 3 -1. - Schéma bloc fonctionnel de l'arbitrage du bus.
229/87
LICENSED TO MECON Limited. - RANCHI/BANGALOREFOR INTERNAL USE AT THIS LOCATION ONLY, SUPPLIED BY BOOK SUPPLY BUREAU.
DATA TRANSFER
PRIORITY INTERRUPT DTB ARBITRATION
^
> UTILITY /
229/87
FIG. 3-1. - Arbitration bus functional block diagram.
i
INPUT/OUTPUT BOARD CPU
BOARD
MEMORY BOARD
DATA STORAGE DEVICE
`i
SLAVE
r ^ r -1 r
DATA INPUT/OUTPUT
DEVICE DATA
PROCESSING DEVICE
Z\ \
Z\ Z\.
r DEFINED BY THIS STANDARD \% \/
SLAVE INTERRUPTER
^\
INTERRUPTER
MASTER INTERRUPT
HANDLER '
DATA TRANSFER
LAYER
ô l\
SYSTEM CONTROLLER BOARD.
r
LOCATION MONITOR BUS
TIMER SYSTEM
CLOCK DRIVER
TACK DAISY- CHAIN DRIVER r----,
I SERIAL I
I CLOCK
DRIVER I
L____J Z\
7 POWER
MONITOR
Z\7
7T V
I I
\7 \/
-J
BACKPLANE ACCESS
LAYER
N o
(71 BACKPLANE
INTERFACE LOGIC
BACKPLANE INTERFACE LOGIC
L__^__J L__
..^ ^^GIC
11111.1 i _J
L_
BACKPLE INTERFACE
LICENSED TO MECON Limited. - RANCHI/BANGALOREFOR INTERNAL USE AT THIS LOCATION ONLY, SUPPLIED BY BOOK SUPPLY BUREAU.
(3-3) – 206 – 821 © CEI
3.2 Lignes du bus d'arbitrage
Le bus d'arbitrage est constitué de six lignes du BUS CEI 821 et quatre lignes en chaợne sộrie qui nộcessitent des noms spộciaux de signaux. Les signaux qui entrent dans chaque carte sont appelés lignes d"'ENTREE d'allocation du bus"(BGxIN*), et les signaux qui sortent de chaque carte sont appelés lignes de "SORTIE d'allocation du bus" (BGxOUT*). Les lignes qui sortent de l'emplacement n sous le nom de BGxOUT* entrent dans l'emplacement n + 1 désignées par BGxIN*. Cela est illustré dans la figure 3-2, page 208.
OBSERVATION 3.1:
Dans tout ce chapitre, les termes BRx*, BGxIN* et BGxOUT* sont utilisés pour décrire les lignes de demandes et d'allocation du bus, ó x prend une valeur comprise entre zéro et trois.
Dans le système d'arbitrage du BUS CEI 821, un module DEMANDEUR commande les lignes suivantes:
- 1 ligne de demande du bus (une parmi BRO* à BR3*) - 1 ligne de sortie d'allocation du bus
(une parmi BGOOUT* à BG3OUT*) - 1 ligne de bus occupé (BBSY*).
REG LE SI ALORS
3.1:
une carte de BUS CEI 821
sur l'un des niveaux, elle DOIT propager les niveaux provenant des correspondantes.
ne génère pas de demandes de bus
signaux de la chaợne sộrie relatifs à ces lignes BGxIN* vers les lignes BGxOUT*