BE1001290A4 - Dispositif d'arbitrage d'acces a memoire direct. - Google Patents

Dispositif d'arbitrage d'acces a memoire direct. Download PDF

Info

Publication number
BE1001290A4
BE1001290A4 BE8701396A BE8701396A BE1001290A4 BE 1001290 A4 BE1001290 A4 BE 1001290A4 BE 8701396 A BE8701396 A BE 8701396A BE 8701396 A BE8701396 A BE 8701396A BE 1001290 A4 BE1001290 A4 BE 1001290A4
Authority
BE
Belgium
Prior art keywords
arbitration
bus
dma
peripheral
unit
Prior art date
Application number
BE8701396A
Other languages
English (en)
Inventor
Ian A Concilio
Jeffrey A Hawthorne
Chester Asbury Heath
Jorge Eduardo Lenta
Long D Nguyen
Original Assignee
Ibm
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ibm filed Critical Ibm
Application granted granted Critical
Publication of BE1001290A4 publication Critical patent/BE1001290A4/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/3625Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a time dependent access
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • G06F13/30Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal with priority control
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/374Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a self-select method with individual priority code comparator

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

Dans un système d'ordinateur ayant à la fois des unités périphériques comportant leur propre système d'arbitrage d'accès à un canal DMA et des unités périphériques n'ayant pas de système propre d'arbitrage, une unité d'arbitrage séparée commandée directement par l'unité CPU permet d'arbitrer les unités périphériques n'ayant pas de système d'arbitrage. L'unité CPU peut ainsi attribuer librement différents niveaux d'arbitrage à ces unités périphériques et peut indiquer à l'unité d'arbitrage qu'elle doit arbitrer simultanément à des niveaux d'arbitrage différents ou pour deux canaux DMA ou plus.

Description


   <Desc/Clms Page number 1> 
 



   DISPOSITIF D'ARBITRAGE D'ACCES A MEMOIRE DIRECT 
DESCRIPTION 
Domaine technique La présente invention concerne un système d'ordinateur à accès DMA (Accès memoire direct) disponible pour des unites périphériques qui lui sont associées, dans lequel des dispositifs périphériques ayant leur propre circuit d'arbitrage et des dispositifs périphériques n'ayant pas de circuit d'arbitrage, peuvent tous obtenir un canal DMA. 



   Arriere plan de l'invention Beaucoup de systèmes d'ordinateur actuels utilisent des canaux DMA pour permettre à des dispositifs   périphériques   de transférer des données principalement vers et depuis la mémoire principale, sans passer par l'unite CPU (Unité centrale de traitement). Eviter l'unite CPU presente naturellement l'avantage de permettre des vitesses de transfert de donnees accrues et d'ameliorer l'efficacite générale du système puisque l'unite CPU peut assurer d'autres taches pendant le transfert des donnees. 



  La pratique la plus commune à ce jour a été de prévoir un canal DMA physique pour chaque unité périphérique pouvant bénéficier de l'acces DMA. On peut citer comme exemple d'un tel Systeme d'ordinateur, l'ordinateur IBM 
 EMI1.1 
 PC. Cependant, le nombre des dispositifs périphériques qu'un utilisateur peut rattacher à son   Systeme   d'ordinateur a   ete   augmenté et l'on peut s'attendre à ce que cela continue ainsi. Par exemple, sont 

 <Desc/Clms Page number 2> 

 disponibles depuis peu des lecteurs de disques optiques, des dispositifs de communications 
 EMI2.1 
 supplementaires, des fichiers de disques durs, des dispositifs de memoire auxiliaire, etc..., tous ces dispositifs pouvant utiliser avantageusement l'acces DMA. 



  D'autre part, l'addition d'autres canaux DMA physiques est coûteuse en materiel   Systeme,   y compris en compte IC et en volume nécessaire aux tableaux de circuits et aux bus. On a   etudie le   partage des canaux DMA parmi des dispositifs   peripheriques   avec la restriction d'un fonctionnement mutuellement exclusif. Le partage de canaux DMA est utilise par exemple dans les systemes d'ordinateur IBM XT et AT. Ces Schemas entraînent cependant des modifications importantes du   Systeme   d'exploitation etant donne que des sous-routines supplémentaires sont requises pour eviter aux dispositifs peripheriques associés à chaque canal DMA de fonctionner simultanement.

   Un probleme significatif relatif aux performances est aussi crée lorsque des unités de commande de fichier ne sont pas suffisamment "intelligentes"pour permettre des operations de "recherche" en chevauchement. Le probleme s'arrange dans certains cas, par exemple lorsqu'un element LAN (Reseau local) et une unite de commande de fichier partagent le meme niveau DMA et qu'une routine "Serveur fichier LAN" doit passer d'un dispositif   A   l'autre. 



  Pour resoudre ces problemes, on a proposé un système d'ordinateur utilisant des dispositifs   peripheriques   qui sont chacun prévus avec un circuit d'arbitrage. Les circuits d'arbitrage sont interconnectés les uns avec les autres et avec un circuit d'arbitrage central par l'intermediaire d'un bus d'arbitrage. Lorsque l'une des unites peripheriques désire acceder à un canal DMA, elle place son attribution de priorité de canal sur le 

 <Desc/Clms Page number 3> 

 bus d'arbitrage. Si son attribution de priorité de canal a la priorité la plus   élevée,   un canal DMA disponible est attribué à cette unité périphérique.

   De cette manière, des   uni tés périphériques   peuvent être ajoutées au   Systeme   sans avoir   A   prévoir des lignes de requête de canal DMA et des canaux DMA supplémentaires. 



  Cependant, on peut quelquefois désirer utiliser dans un tel système d'ordinateur une   uni té périphérique   existante ne comportant pas de circuit d'arbitrage. Une unité périphérique ne comportant pas de circuit d'arbitrage ne peut pas être ajoutée directement à ce système etant donné qu'elle n'aura aucun moyen de demander l'acces   A   un canal DMA. 



   Objets de l'invention En conséquence, la presente invention a pour objet de. fournir un système d'ordinateur du type dans lequel des unites périphériques demande l'acces DMA par l'utilisation d'un bus d'arbitrage, mais qui peut aussi etre connecté à des unités   périphériques   qui ne comportent pas de circuit d'arbitrage propre. 



   Art antérieur Le brevet des EUA   ni3.925.766   de Bardotti et autres, présente un système d'ordinateur dans lequel des niveaux de priorité sont attribuds à des dispositifs périphériques et dans lequel des demandes   d'acces   pour communiquer avec une mémoire sont sélectionnées selon les niveaux de priorité. Les attributions de niveau de priorité peuvent être   modifiees   selon les causes de la generation des signaux de demande ou selon les conditions de charge particulières du processeur central. Aucun chemin DMA n'est cependant prevu. 

 <Desc/Clms Page number 4> 

 



  Le brevet des EUA   ni4.400.771   de Suzuki et autres présente un système à processeurs multiples dans lequel chacun des processeurs multiples peut accéder à une seule mémoire. Un circuit de registre programmable emmagasine des informations de priorité désignant une priorité de rang d'accès en mémoire pour chacun des processeurs. Les informations de   priorite   peuvent etre modifiées manuellement par un circuit externe ou par au moins l'un des processeurs. Le brevet de Suzuki et autres n'utilise cependant pas l'accès DMA à une mémoire à partir de plusieurs dispositifs périphériques. 
 EMI4.1 
 



  Les brevets des EUA suivants sont mentionnes ici en raison des enseignements généraux qu'ils apportent dans le domaine des systèmes d'ordinateur utilisant des uni tés de commande DMA. Ce sont les brevets des EUA 
 EMI4.2 
 n 4. 371. 932 de Dinwiddie, Jr., et autres, ni4.419.728 de Larson, n 4. 538. 224 de Peterson, n 4. 556. 962 de Brewer et autres et n 4. 584. 703 de Hallberg. 



   Resume de l'invention Selon la présente invention, des unités périphériques comportant leurs propres circuits d'arbitrage et des unites périphériques ne comportant pas de circuit. d'arbitrage, sont tous connectées au   meme   bus. Les unites périphériques ayant leur propre circuit d'arbitrage peuvent assurer une fonction d'arbitrage par elles mêmes en ce qui concerne l'acces   A   des canaux DMA disponibles tandis qu'une unité d'arbitrage de requête logicielle est prévue à l'extérieur des unites périphériques pour assurer une fonction d'arbitrage pour le compte des unités périphériques n'ayant pas de circuit d'arbitrage. La présente invention est aussi utile comme outil de diagnostic pour tester les canaux 

 <Desc/Clms Page number 5> 

 DMA pendant les tests sous alimentation et autres opérations similaires. 



   Brève description des dessins La figure 1 est une représentation schematique d'un   Systeme   d'ordinateur utilisant la presente invention. 



  La figure 2 est un Schema logique d'une unite d'arbitrage de requête logicielle utilisée dans le système d'ordinateur de la figure 1. 



  La figure 3 est un schéma logique d'un circuit d'arbitrage logiciel utilisé dans l'unité d'arbitrage de requête logicielle de la figure 2. 



  La figure 4 est une représentation de certains des signaux du circuit de la figure 3 et est utilisée pour expliquer le fonctionnement du circuit de la figure 3. 



  La figure 5 est un organigramme montrant les opérations   effectuees   par l'unite CPU pour initier une requête d'arbitrage"logiciel". 



  La figure 6 est un organigramme montrant les diverses étapes d'une routine de diagnostique dans laquelle la presente invention est avantageusement utilisée. 



  La figure 7 est un schema logique d'une unite d'arbitrage de requête logicielle construite selon une autre realisation possible de la présente invention. 



   Description   détaillée   de la realisation   préférée   de l'invention En se reportant tout d'abord à la figure 1 des dessins, on voit que celle ci est une representation schématique 

 <Desc/Clms Page number 6> 

 d'un système d'ordinateur utilisant la présente invention. 



  Une unité CPU 10 communique par un bus   Systeme   26 avec une memoire principale 15 et optionnellement, avec un co-processeur mathématique Diverses autres unités peuvent être connectees au bus système 26 comme necessaire. Un   bus "famille" 27 auquel   divers dispositifs périphériques (quelquefois simplement appelés "périphériques" ou "unités rattachées") sont connectés, est couplé au bus Systeme 26 par une unite de commande de bus. L'agencement décrit jusqu'ici est bien connu et peut être trouvé, par exemple, dans l'ordinateur IBM AT. 



  De nombreux types differents d'unités périphériques peuvent être connectées au bus de famille 27, les exemples représentes à la figure 1 étant une mémoire auxiliaire 17, un dispositif de communications 18, un fichier de disques durs 20, un disque optique 21 et deux disques souples 22 et 23. Le bus de famille 27 est aussi connecté à une unité de commande DMA 12 et au circuit d'arbitrage central 11. Comme montré par le schéma de la partie inférieure de la figure   1,   le bus de famille comprend un bus de donnees 27-1, un bus d'adresse   27-2,   un bus de commande 27-3 et un bus d'arbitrage 27-4. 



  Dans le système d'ordinateur de la   presente   invention, certaines des unites périphériques représentées   génétiquement   par l'unité asservie DMA 25, sont prévues avec leur propre circuit d'arbitrage 2. Comme indiqué brièvement ci dessus et comme expliqué en détails dans 
 EMI6.1 
 la demande de brevet dont le cessionnaire est le meme que celui de la présente demande et qui a été citée plus haut, lorsqu'une unité périphérique comportant un circuit d'arbitrage 28 désire utiliser un canal DMA, 

 <Desc/Clms Page number 7> 

   l'unite peripherique   transmet son attribution de priorité de canal sur le bus d'arbitrage 27-4.

   A la fin d'une période d'arbitrage définie, la valeur sur le bus d'arbitrage sera la valeur d'attribution de priorité de canal ayant la priorité la plus élevée parmi les unités peripheriques demandant concurremment l'utilisation d'un canal DMA. Le circuit de commande d'arbitrage central 11 indique alors à l'unite de commande DMA le canal DMA qui doit être attribué à l'unite   périphérique   gagnante. 



  Cependant, selon les enseignements de la presente invention, des   uni tés périphériques   ne comportant pas leur propre circuit d'arbitrage et représentées par l'unite asservie DMA 24, peuvent aussi demander et recevoir l'utilisation d'un canal DMA. Cette opération sera maintenant decrite en details. 



  Pour permettre l'accès DMA à des unités périphériques ne comportant pas de circuit d'arbitrage 28 propre, on a prévu une unité d'arbitrage "requête logicielle" 29. Cette unité d'arbitrage de requête logicielle 29 a pour fonction d'arbitrer suivant les instructions reçues de l'unite CPU, pour le compte des unites périphériques ne comportant pas de circuit d'arbitrage 28 propre. De cette manière, des périphériques existants peuvent être   melanges   sur le   metne   bus à des peripheriques comportant leur propre circuit d'arbitrage 28. 



  La figure 2 montre les détails du circuit d'arbitrage de requête logicielle 29 et de ses connexions à l'unité de commande DMA 12 et au circuit de commande d'arbitrage central 11. Des   entrees à   une unité d'arbitrage logicielle 31 et à deux registres 32 et 33 sont délivrées depuis le bus de donnees 27-1. L'unité d'arbitrage logicielle 31 est aussi couplee au bus d'arbitrage 27-4. Certains signaux de commande issus du 

 <Desc/Clms Page number 8> 

 bus de commande 27-3 sont aussi appliqués a l'unite d'arbitrage logicielle 31. Deux comparateurs 34 et 35 ont aussi chacun un port d' entrée qui est couplé au bus d'arbitrage. Les seconds ports d'entree des comparateurs 34 et 35 reçoivent les sorties des registres 32 et 33, respectivement.

   Les sorties des comparateurs sont connectées aux   entrees   D des bascules respectives 38 et 39 dont les entrées d'horloge sont délivrées par un   signal-SOFTPREEMPT   (le signe "-" indiquant un signal vrai faible, c'est à dire un signal ayant comme état actif   un "0" logique)   issu de l'unité d'arbitrage logiciel 31. Les sorties Q des bascules 38 et 39 sont connectees aux entrées de requête de canal DMA DREQ1 et DREQO d'une unité de commande DMA IC 50. 



  Les bascules 38 et 39 sont restaurées par des signaux d'accuse de réception   respectifs -DACK1 et -DACKO.   



  L'unite de commande DMA IC 50 genere un   signal -TC   (Compte terminal) qui indique l'instant de l'achèvement de l'operation de transfert de données finale sur un canal quelconque. Pour restaurer l'unite d'arbitrage logiciel 31 lorsque le nombre requis d'operations de transfert de données est acheve pour les deux canaux, le   signal -TC   est conditionné par les sorties des comparateurs 34 et 35 en utilisant une porte OU   negatif   36 et une porte OU 37 pour produire le signal-TCC. 



  Ainsi,-TCC devient actif en présence d'une impulsion de-TC lorsqu'il y a une requête DMA active sur   l'un   ou l'autre des deux canaux auxquels l'unite d'arbitrage logiciel 30 est   associee.   



  On suppose que l'unite de commande DMA IC est une unite de commande DMA programmable   Inte 1 Corpora tion,   type 
 EMI8.1 
 8237. Dans ce cas, l'unité CPU peut être n'importe laquelle des microprocesseurs de la serie iAPX 86 comme le 8088, le 8086 ou le 80286. Pour plus de details concernant les interconnexions entre l'unite de commande DMA IC et   l'unitg CPU,   on se reportera au 

 <Desc/Clms Page number 9> 

 manuel "1985 Intel Microsystem Components Handbook", pages 2-57 à 2-71. 



  Les signaux-DACKO et-DACK1 sont appliqués au travers d'inverseurs à des entrées de deux portes ET 42 et 43 dont les autres entrées sont alimentées par les signaux -IOR et -IOW (lecture entrée-sortie et écriture entrée-sortie) issus de l'unité de commande DMA IC 50. 



  Les sorties des portes ET sont connectées aux entrees de conditionnement EN des registres respectifs 45 et 46. Un signal de chronologie STROBE issu de l'unité CPU est applique aux entrées d'horloge des registres 45 et 46. Les ports d'entree des registres 45 et 46 sont connectes au bus de donnees 27-1 et les ports de sortie sont connectes au bus d'adresses 27-2. 



  Le fonctionnement de   11 uni té   d'arbitrage logiciel 29 sera maintenant expliqué en détails en se reportant a l'organigramme de la figure 5. 



  L'unite CPU attend'la reception d'un signal d'interruption depuis l'une des unités périphériques, indiquant une requête d'utilisation d'un canal DMA. Si la requete est issue de l'une des unités périphériques ayant son propre circuit d'arbitrage 28, l'arbitrage et l'acquisition de canal DMA sont exécutés de la manière decrite dans la demande de brevet citée précédemment.

   D'autre part, si la requete est issue de l'une des unites périphériques n'ayant pas de circuit d'arbitrage 
 EMI9.1 
 28 propre, c'est A dire si l'unite périphérique faisant la requete est l'une des unités-peripheriques à l'requête logicielle", une attribution de priorite de canal correspondant en fonction aux attributions de   priorite   de canal pour des unites   peripheriques   ayant leur propre circuit d'arbitrage 28, est envoyee   A   l'unite d'arbitrage logiciel 31.

   La même valeur d'attribution de priorite de canal est ecrite à l'un 

 <Desc/Clms Page number 10> 

 des registres 32 et 33, celui qui est choisi dependant du canal DMA à attribuer   A   l'unite périphérique dans le cas   oü   elle "triompherait" à l'arbitrage suivant effectue parmi les unités   peripheriques   pour une attribution de canal DMA. 



  Dans le présent exemple, deux registres 32 et 33, deux bascules 38 et 39, deux registres 45 et 46, etc..., sont prevus pour (1) permettre l'execution simultanee d'un arbitrage entre deux unites   peripheriques   différentes n'ayant pas de circuit d'arbitrage (auquel cas les etapes indiquees ci dessus devraient naturellement être repetees pour la seconde unité   peripherique)   et (2) permettre un choix d'attribution de canal DMA pour des unites peripheriques à requête logicielle entre deux canaux DMA differents, les canaux 1 et 0, respectivement, (les canaux correspondant à DREQ1 et DREQO sur l'unité de commande DMA IC 50). 



  Naturellement, on peut utiliser des nombres différents de dispositifs suivant le nombre des unités périphériques à requête logicielle utilisées en même 
 EMI10.1 
 temps et le nombre des canaux DMA à rendre disponibles pour les unites peripheriques ä requete logicielle. 



  En outre, l'adresse de port de l'unite peripherique demanderesse est écrite dans l'un des registres 45 et 46 correspondant au canal DMA sélectionné, (les canaux 1 et 0, respectivement). Un signal +ARB/-GRANT sur le bus de commande d'arbitrage est alors   delivre   à l'unité d'arbitrage logiciel   31.   (Ceci sera explique en details ci dessous en se reportant aux figures 3 et 4.) L'arbitrage entre les unites peripheriques, à la fois pour celles ayant leurs propres circuits d'arbitrage et pour celles n'en ayant pas, se déroule alors sur le bus d'arbitrage 27-4. 

 <Desc/Clms Page number 11> 

 



   Après qu'un temps suffisant se soit écoulé pour permettre l'achèvement de l'execution du procede d'arbitrage, un   signal -SOFTPREEMPT   issue de l'unite d'arbitrage logiciel 31 subit une transition à l'etat   "l".   Si une   uni té périphérique à requête   logicielle a gagne l'arbitrage, un "1" apparaîtra à la sortie de l'un des comparateurs 34 et 35, et un "1"est alors   . synchronise   dans l'une des bascules 38 et 39. Ceci active l'une des lignes de requete de canal DMA DREQO ou DREQ1 à l'unite de commande DMA IC 50. L'unité de commande DMA IC 50 accusera reception de la requête en conditionnant la ligne correspondantes de ses lignes d'accuse de réception -DACK0 et -DACKl à l'état "0". 



   Lorsque les signaux -IOR et -IOW sont dans l'état "1" indiquant que   l'acces   d'entree/sortie DMA est maintenant permis, le registre respectif des registres
46 et 47 est conditionné pour placer l'adresse de port d'unité périphérique qui y est emmagasinée sur le bus d'adresse 27-2. Un transfert de donnees DMA est alors effectue d'une   maniere   bien connue de l'homme de l'art. 



   La figure 3 est un schema logique de l'unite d'arbitrage logiciel 31. 



   L'attribution de   priorite   de canal est ecrite dans le registre 92 lorsqu'une logique de decodage 61 detecte l'adresse respective. Cette Operation est realisee en utilisant un schema d'adressage de port ordinaire. Le registre 92 étant Charge avec l'attribution de priorite de canal, lorsque l'unité CPU envoie une instruction à la logique de decodage 61 pour indiquer qu'un cycle d'arbitrage de requete logicielle doit se derouler, un signal CONDITIONNEMENT est produit par la logique de décodage 61 qui synchronise une bascule 62, ce qui provoque le conditionnement du signal +SOFTREQUEST à l'etat actif.

   (Voir la figure 4.) Lorsqu'une impulsion suivante de la Periode d'arbitrage marquant le siqnal 

 <Desc/Clms Page number 12> 

 +ARB/-GRANT, est reçue, une bascule 63 est synchronisée et délivre le   signal-SOFTPREEMPT.   En outre, la sortie d'une bascule 64 est alors synchronisée au niveau haut, ce qui active le signal APRIO et provoque le placement de l'attribution de priorité de canal par l'unité d'arbitrage de bus 80 sur le bus d'arbitrage. 



  , L'arbitrage pour le bus d'arbitrage se deroule lorsque le signal +ARB/-GRANT est actif. A la fin de la période d'arbitrage, le signal +ARB/-GRANT revient au niveau bas. Si le bus d'arbitrage a gagné, la sortie d'une porte ET Négatif 85 dans   l'unitd   d'arbitrage de bus 80 passe au niveau bas, ce qui restaure la bascule 63 (par une porte OU 70 et la porte ET 71), donc ramène le signal -SOFTPREEMPT à son état inactif (niveau haut). Cette transition synchronise les bascules 38 et 39 et provoque l'envoi d'un signal de requête à l'unite de commande DMA   IC   50.

   Le signal APRIO est maintenu au niveau haut (pour maintenir l'attribution de priorité de canal sur le bus d'arbitrage)   etant   donne que les deux entrées d'une porte ET 72 sont au niveau haut, ce qui place un niveau haut sur   l'entree   de la bascule 64. L'adresse de l'unite périphérique est ensuite place sur le bus d'adresses 27-2 de la   maniera décrite   précédemment. Lorsque le transfert des données est achevé, le signal-TC apparait, ce qui provoque la   generation   d'une impulsion de-TCC. La bascule 62 est alors restaurée (par l'intermediaire d'un inverseur 67, de la porte OU 69 et de la porte OU Négatif 66), ce qui déconditionne le signal +SOFTREQUEST. 



  L'unite d'arbitrage de bus 80 qui assure l'Operation d'arbitrage réel sur le bus d'arbitrage 27-4, est un circuit qui est présenté et décrit en details dans dans la revue "American National Standard/IEEE Standard",   n    ANSI/IEEE Std 696-1983, publié par l'institut "Institute of Electrical and Electronics Engineers 

 <Desc/Clms Page number 13> 

   Inc.",   13 juin 1983. En general, chaque dispositif incorporé dans le schema d'arbitrage comporte un tel circuit et les circuits sont connectes ensemble par l'intermediaire d'un bus d'arbitrage. Le bus 
 EMI13.1 
 d'arbitrage dans l'exemple représentE, comprend quatre lignes de donnees TMAO-TMA3, ce qui permet 16 niveaux d'arbitrage differents. On peut cependant utiliser n'importe quel nombre desire de lignes.

   Pendant une période de temps   d'arbitrage designee, tous   les dispositifs désirant prendre la commande du bus, transmettent leurs niveaux d'arbitrage sur le bus. Ceci est le cas lorsque le signal APRIO passe à   ltétat "1".   



  C'est à dire que, dans le cas present, la valeur qui est retenue dans le registre 92 (la valeur de   priorite   d'attribution de canal qui est le niveau d'arbitrage pour le dispositif) est transférée au travers des portes ET 91 à l'unite d'arbitrage de bus 80 et de 1à, sur les lignes de bus d'arbitrage   TMAO-TMA3.   A la fin de la période d'arbitrage, la valeur sur les lignes TMAO-TMA3 sera la valeur du niveau d'arbitrage du dispositif ayant le niveau le plus élevé. 



  En dehors de la provision pour le système d'ordinateur d'un moyen permettant la connexion de dispositifs périphériques n'ayant pas de circuit d'arbitrage propre, la presente invention se   révèle   tout à fait utile comme outil de diagnostique. 



  Selon cet aspect de la presente invention, pendant l'exécution d'une routine de diagnostique comme celles ordinairement exécutées au moment de la mise sous tension par exemple, chaque canal DMA est testé en sequence. C'est a dire que la routine de requête logicielle DMA expliquée ci dessus, est exécutée en sequence pour chaque canal. 

 <Desc/Clms Page number 14> 

 



  Un exemple d'une telle routine de diagnostique utilisant la presente invention sera expliquee ci dessous en se reportant à l'organigramme de la figure 6. 



  Afin de tester tous les canaux DMA en sequence, le nombre de canaux est tout d'abord   etabli   à 0. Etant donné que le nombre de canaux est inférieur au nombre total de canaux DMA prévus dans le Systeme, les registres d'adresses, de compte, de mode et de masque de canaux sont chargés. Puis, le registre de valeurs d'arbitrage, à savoir le registre 92 montre à la figure 3, est Charge du nombre de canaux, un compteur de temps est etabli à 0 et des signaux de commande sont envoyes   A   la logique de decodage 61 de l'unite d'arbitrage logiciel 31 afin de provoquer le passage du signal +SOFTREQUEST à l'état"l"et de declencher ainsi un cycle d'arbitrage de requete logicielle.

   Si le compteur de temps n'a pas dépasse un temps maximal    T,     le   statut courant est lu depuis le registre de statut de l'unite de commande DMA IC. Lorsque le cycle d'arbitrage est achevé, les registres d'adresses, de compte, de mode et de masque de canaux sont lus. S'ils contiennent les valeurs correctes, on determine que le canal fonctionne de manière appropriee et le canal suivant est testé de la même maniere. Si non, un message d'erreur est affiché. Un message d'erreur est    aussi affiche si le compteur de temps excede T avant max   de pouvoir lire les informations correctes issues des divers registres. 



  Une autre realisation possible de la presente invention sera decrite en se reportant à la figure 7. 



  Des unités peripheriques   differentes   peuvent transférer (recevoir et transmettre) des donnees des vitesses maximales differentes. Si une vitesse maximale de 

 <Desc/Clms Page number 15> 

 transfert de donnees des unités   périphériques   est plus lente que celle que le canal DMA peut supporter, il peut arriver qu'une unité peripherique associee à l'unite d'arbitrage de requête logicielle soit 
 EMI15.1 
 surchargee de donnees d'entree. Afin d'eviter cela, selon cette autre réalisation possible de la   presente   invention, l'intervalle entre les cycles d'arbitrage de requête logicielle permis est commande de telle maniere que l'unite périphérique ne soit jamais surchargee de donnees. 



  Dans la   realisation     décri te à 1a   figure 7, ceci est assure en reduisant le   signal-SOFTPREEMPT   de façon que des requêtes DMA ne puissent être   générées     qu'à   une vitesse maximale predeterminee. Dans ce but, un signal d'interruption INT est   généré   un intervalle correspondant   A   la vitesse de requête DMA maximale desiree. Lorsque le signal INT est   recu,   il synchronise une horloge 51. La sortie de la bascule 52 conditionne et deconditionne le   signal-SOFTPREEMPT   par l'intermédiaire d'une porte OU 52.

   Après   l'achevement   d'un cycle de requête logicielle, la bascule 51 est restauree par l'un des signaux d'accusé de réception   - DACKO et-DACK1   par l'intermediaire d'une porte ET 53. Aucun autre cycle de requête logicielle n'est permis tant que le signal INT n'apparaît pas à nouveau. 



  Bien que des modifications puissent être apportées aux structures et enseignements de la presente invention telle que decrite ci dessus, il est évident que de telles modifications restent dans le cadre et l'esprit de la présente invention telle que definie par les revendications ci jointes.

Claims (12)

  1. REVENDICATIONS 1. Un systeme d'ordinateur possedant au moins un canal DMA, caractérise en ce qu'il comprend : une pluralité d'unités périphériques, au moins l'une desdites unités peripheriques ayant des premiers moyens pour arbitrer l'accès à un canal DMA et au moins l'une desdites unités périphériques n'ayant pas de tels premiers moyens d'arbitrage, et des second moyens pour arbitrer l'accès à un canal DMA pour le compte de ladite au moins une unite périphérique n'ayant pas ses propres moyens d'arbitrage, lesdits seconds moyens pour arbitrer etant prévus à l'exterieur desdites unite EMI16.1 peripheriques.
  2. 2. Le Systeme d'ordinateur de la revendication 1 comprenant en outre une unite centrale de traitement, lesdits seconds moyens d'abitrage comprenant des moyens pour arbitrer l'accès à un canal DMA en réponse à une instruction reçue de ladite unite centrale de traitement.
  3. 3. Le Systeme d'ordinateur de la revendication 2 comprenant en outre un bus d'arbitrage interconnectant tous lesdits premiers et seconds moyens d'arbitrage et dans lequel chacun desdits premiers et seconds moyens d'abitrage comprend des moyens pour placer sur ledit bus d'arbitrage une valeur de priorite d'arbitrage pour l'unite périphérique correspondante desdites unites périphériques. <Desc/Clms Page number 17>
  4. 4. Le système d'ordinateur de la revendication 3 comprenant en outre des moyens pour emmagasiner dans lesdits seconds moyens d'abitrage une valeur de priorite d'arbitrage qui leur est transferee depuis ladite unite centrale de traitement.
  5. 5. Un systeme d'ordinateur possedant au moins un canal DMA, caracterise en ce qu'il comprend : une unite centrale de traitement, des moyens pour assurer la presence d'au moins un canal DMA, un bus d'arbitrage, une pluralité d'unites périphériques, au moins l'une desdites unites périphériques ayant des premiers moyens pour arbitrer l'accès à un canal DMA en plaçant sur ledit bus d'arbitrage une valeur de priorite d'arbitrage pour cette unité périphérique, et des seconds moyens pour arbi trer l'accès à un canal DMA pour le compte d'au moins une unite périphérique n'ayant pas ses propres moyens d'arbitrage, lesdits seconds moyens d'abitrage etant prévus A l'extérieur desdites unités peripheriques,
    lesdits seconds moyens d'arbitrage plaçant sur ledit bus d'arbitrage une valeur d'arbitrage qui lui est attribuee par ladite unite centrale de traitement.
  6. 6. Le système d'ordinateur de la revendication 5 dans lequel lesdits seconds moyens d'arbitrage comprennent : <Desc/Clms Page number 18> au moins un moyen pour emmagasiner une valeur d'arbitrage attribuee par ladite unité centrale de traitement, au moins un moyen pour comparer une valeur se trouvant sur ledit bus d'arbitrage à la fin d'une periode d'arbitrage, à ladite valeur d'arbitrage emmagasinee dans lesdits moyens d'emmagasinage, et des moyens pour indiquer auxdits moyens assurant la presence d'au moins un canal DMA, l'attribution d'un canal DMA à ladite au moins une desdites unites périphériques lorsque lesdits moyens de comparaison indiquent que ladite valeur se trouvant sur ledit bus d'arbitrage est égale à ladite valeur d'arbitrage.
  7. 7. Le système d'ordinateur de la revendication 6 comportant en outre plusieurs desdits moyens d'emmagasinage, desdits moyens de comparaison et desdits moyens dlindication.
  8. 8. Le système d'ordinateur de la revendication 7 dans lequel des moyens différents desdits moyens d'emmagasinage emmagasinent des valeurs differentes pour l'arbitrage simultané pour le compte d'une pluralité d'unites périphériques n'ayant pas leurs propres moyens d'arbitrage.
  9. 9. Le Systeme d'ordinateur de la revendication 7 dans lequel des moyens différents desdits moyens d'emmagasinage emmagasinent des valeurs différentes pour l'arbitrage simultane à des niveaux d'arbitrage différents pour la meme unité desdites unités périphériques. <Desc/Clms Page number 19>
  10. 10. Le systeme d'ordinateur de la revendication 6 comprenant en outre un bus de donnees et un bus d'adresses interconnectant ladite unite centrale de traitement et lesdites unités périphériques, et dans lequel lesdits seconds moyens d'arbitrage comprennent en outre au moins un registre ayant un port d'entree couplé audit bus de données et un port de sortie couplé audit bus d'adresses, pour placer sur ledit bus d'adresses une adresse indiquant ladite au moins une uni té périphérique lorsque lesdits moyens d'attribution de canal DMA attribuent un canal DMA AL ladite au moins une unite périphérique.
  11. 11. Le Systeme d'ordinateur de la revendication 7 comprenant en outre un bus de données et un bus d'adresses interconnectant ladite unite centrale de traitement et lesdites unites peripheriques, et dans lequel lesdits seconds moyens d'arbitrage comprennent en outre une pluralité de registres, chacun desdits registres ayant un port d'entrée couplé audit bus de données et un port de sortie couple audit bus d'adresses, pour placer sur ledit bus d'adresses une adresse indiquant l'une desdites unites peripheriques ä laquelle a ete attribuE un canal DMA. par lesdits moyens d'attribution de canal DMA.
  12. 12. Le systeme d'ordinateur de la revendication 5 dans lequel lesdits seconds moyens pour arbitrer comprennent des moyens pour etablir un intervalle minimal predetermine entre des arbitrages pour le compte de ladite au moins une unité peripherique.
BE8701396A 1987-03-27 1987-12-04 Dispositif d'arbitrage d'acces a memoire direct. BE1001290A4 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US3078887A 1987-03-27 1987-03-27

Publications (1)

Publication Number Publication Date
BE1001290A4 true BE1001290A4 (fr) 1989-09-19

Family

ID=21856040

Family Applications (1)

Application Number Title Priority Date Filing Date
BE8701396A BE1001290A4 (fr) 1987-03-27 1987-12-04 Dispositif d'arbitrage d'acces a memoire direct.

Country Status (19)

Country Link
EP (1) EP0283580B1 (fr)
JP (1) JPH0724044B2 (fr)
KR (1) KR950008228B1 (fr)
CN (1) CN1012295B (fr)
AR (1) AR244899A1 (fr)
AT (1) ATE75865T1 (fr)
BE (1) BE1001290A4 (fr)
BR (1) BR8800739A (fr)
CA (1) CA1299295C (fr)
DE (1) DE3778877D1 (fr)
ES (1) ES2032288T3 (fr)
FR (1) FR2613096A1 (fr)
GB (1) GB2202975B (fr)
GR (1) GR3004930T3 (fr)
HK (1) HK65392A (fr)
IT (1) IT1217359B (fr)
MY (1) MY103351A (fr)
NL (1) NL185312C (fr)
SG (1) SG67992G (fr)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7089344B1 (en) * 2000-06-09 2006-08-08 Motorola, Inc. Integrated processor platform supporting wireless handheld multi-media devices
JP2010165175A (ja) * 2009-01-15 2010-07-29 Internatl Business Mach Corp <Ibm> バスの使用権を制御する装置および方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3603935A (en) * 1969-05-12 1971-09-07 Xerox Corp Memory port priority access system with inhibition of low priority lock-out
US3925766A (en) * 1972-11-29 1975-12-09 Honeywell Inf Systems Dynamically variable priority access system
WO1980002608A1 (fr) * 1979-05-14 1980-11-27 Western Electric Co Appareils d'affectaction de bus distribues suivant le mode premier arrive, premier traite
US4371932A (en) * 1979-07-30 1983-02-01 International Business Machines Corp. I/O Controller for transferring data between a host processor and multiple I/O units

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3603935A (en) * 1969-05-12 1971-09-07 Xerox Corp Memory port priority access system with inhibition of low priority lock-out
US3925766A (en) * 1972-11-29 1975-12-09 Honeywell Inf Systems Dynamically variable priority access system
WO1980002608A1 (fr) * 1979-05-14 1980-11-27 Western Electric Co Appareils d'affectaction de bus distribues suivant le mode premier arrive, premier traite
US4371932A (en) * 1979-07-30 1983-02-01 International Business Machines Corp. I/O Controller for transferring data between a host processor and multiple I/O units

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IBM TECHNICAL DISCLOSURE BULLETIN, vol. 27, no. 5, octobre 1984, pages 3150-3152, New York, US; G.T. DAVIS: "Multiplexing of interrupt and DMA request lines" *
IEEE STANDARD 696 INTERFACE DEVICES, juin 1983, pages 1-40, IEEE, New York, US *

Also Published As

Publication number Publication date
SG67992G (en) 1992-09-04
GB2202975A (en) 1988-10-05
JPH0724044B2 (ja) 1995-03-15
IT8819946A0 (it) 1988-03-25
ES2032288T3 (es) 1993-02-01
KR880011679A (ko) 1988-10-29
GR3004930T3 (fr) 1993-04-28
KR950008228B1 (ko) 1995-07-26
IT1217359B (it) 1990-03-22
HK65392A (en) 1992-09-11
JPS63244161A (ja) 1988-10-11
FR2613096A1 (fr) 1988-09-30
GB2202975B (en) 1991-09-25
CN88100963A (zh) 1988-12-28
AR244899A1 (es) 1993-11-30
NL185312C (nl) 1990-03-01
DE3778877D1 (de) 1992-06-11
NL185312B (nl) 1989-10-02
ATE75865T1 (de) 1992-05-15
CA1299295C (fr) 1992-04-21
GB8728921D0 (en) 1988-01-27
EP0283580B1 (fr) 1992-05-06
NL8800737A (nl) 1988-10-17
BR8800739A (pt) 1988-10-04
CN1012295B (zh) 1991-04-03
EP0283580A1 (fr) 1988-09-28
MY103351A (en) 1993-06-30

Similar Documents

Publication Publication Date Title
EP0318221B1 (fr) Commande des réponses d&#39;utilisateurs dans un bus d&#39;intercommunication
US6081860A (en) Address pipelining for data transfers
US5588122A (en) Universal buffered interface for coupling multiple processors memory units, and I/O interfaces to a common high-speed interconnect
FR2632096A1 (fr) Systeme de microcalculateur a bus multiple avec arbitrage d&#39;acces aux bus
CN109032973B (zh) Icb总线系统
FR2827684A1 (fr) Controleur de memoire presentant une capacite d&#39;ecriture 1x/mx
FR2728364A1 (fr) Interface d&#39;entree-sortie connectee a une memoire d&#39;ordinateur et capable de controler les vitesses d&#39;entree-sortie de donnee
JPH0652096A (ja) データ処理システム内でアービタを用いてバス仲裁を実行する方法および装置
FR2503899A1 (fr) Procede et dispositif de transmission de donnees numeriques
BE1001065A3 (fr) Conversion du mode de signaux de commande pour ordinateurs.
EP0358715A1 (fr) Noeud d&#39;interruption destine a fournir des demandes d&#39;interruption au bus de systeme.
EP0575229B1 (fr) Procédé pour partager une mémoire à accès direct entre deux processeurs asynchrones et circuit électronique pour la mise en oeuvre de ce procédé
FR2632092A1 (fr) Circuit de conditionnement d&#39;ecriture d&#39;antememoire retarde pour un systeme de microcalculateur a bus double comprenant une unite 80386 et une unite 82385
BE1001290A4 (fr) Dispositif d&#39;arbitrage d&#39;acces a memoire direct.
EP1197872A2 (fr) Echantillonnage de bus sur un front d&#39;un signal d&#39;horloge et pilotage sur un autre front
US20020078282A1 (en) Target directed completion for bus transactions
FR2474199A1 (fr) Dispositif pour superposer les phases successives du transfert des informations entre plusieurs unites d&#39;un systeme de traitement de l&#39;information
EP0211763A1 (fr) Procédé d&#39;échange de données entre un microprocesseur et une mémoire et dispositif permettant une mise en oeuvre du procédé
IL124611A (en) Method and device for determining the status of shared resources
CN119988267A (zh) Dma控制器、数据传输方法、设备及介质
FR2870368A1 (fr) Procede et dispositif pour piloter de multiples peripheriques avec des frequences d&#39;horloge differentes dans un circuit integre
US5671370A (en) Alternating data valid control signals for high performance data transfer
CA2043829C (fr) Procede de dialogue entre les processeurs d&#39;un systeme, systeme pour sa mise en oeuvre et utilisation pour la repartition des processus aux processeurs
FR2497596A1 (fr) Machine informatique comportant une antememoire
US6292861B1 (en) Processor having interface with bus arbitration circuit

Legal Events

Date Code Title Description
RE Patent lapsed

Owner name: INTERNATIONAL BUSINESS MACHINES CORP.

Effective date: 19911231