Brevet FR2613096A1 — publié le 19880930

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 mémoire direct) disponible pour des unités 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. Arrière 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'unité CPU (Unité centrale de traitement). Eviter l'unité CPU présente naturellement l'avantage de permettre des vitesses de transfert de données accrues et d'améliorer l'efficacité générale du système puisque l'unité CPU peut assurer d'autres tâches pendant le transfert des données. 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'accès DMA. On peut citer comme exemple d'un tel système d'ordinateur, l'ordinateur IBM PC. Cependant, le nombre des dispositifs périphériques qu'un utilisateur peut rattacher à son systère d'ordinateur a été augmenté et l'on peut s'attendre à ce que cela continue ainsi. Par exemple, sont disponibles depuis peu des lecteurs de disques optiques, des dispositifs de communications supplémentaires, des fichiers de disques durs, des dispositifs de mémoire auxiliaire, etc..., tous ces dispositifs pouvant utiliser avantageusement l'accès DMA. D'autre part, l'addition d'autres canaux DMA physiques est coûteuse en matériel système, y compris en compte IC et en volume nécessaire aux tableaux de circuits et aux bus. On a étudié le partage des canaux DMA parmi des dispositifs périphériques avec la restriction d'un fonctionnement mutuellement exclusif. Le partage de canaux DMA est utilisé par exemple dans les systèmes d'ordinateur IBM XT et AT. Ces schémas entraînent cependant des modifications importantes du système d'exploitation étant donné que des sous-routines supplémentaires sont requises pour éviter aux dispositifs périphériques associés à chaque canal DMA de fonctionner simultanément. Un problème significatif relatif aux performances est aussi crée lorsque des unités de commande de fichier ne sont pas suffisamment "intelligentes" pour permettre des opérations de "recherche" en chevauchement. Le problème s'arrange dans certains cas, par exemple lorsqu'un élément LAN (Réseau local) et une unité de commande de fichier partagent le même niveau DMA et qu'une routine "Serveur fichier LAN" doit passer d'un dispositif à l'autre. Pour résoudre ces problèmes, on a proposé un système d'ordinateur utilisant des dispositifs périphériques 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'intermédiaire d'un bus d'arbitrage. Lorsque l'une des unités périphériques désire accéder à un canal DMA, elle place son attribution de priorité de canal sur le bus d'arbitrage. Si son attribution de priorité de canal a la priorité la plus élevée, un canal DYA disponible est attribué à cette unité périphérique. De cette manière, des unités périphériques peuvent être ajoutées au système sans avoir à 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 unité 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 étant donné qu'elle n'aura aucun moyen de demander l'accès à un canal DMA. Objets de l'invention En conséquence, la présente invention a pour objet de fournir un système d'ordinateur du type dans lequel des unités périphériques demande l'accès DMA par l'utilisation d'un bus d'arbitrage, mais qui peut aussi être connecté à des unités périphériques qui ne comportent pas de circuit d'arbitrage propre. Art antérieur Le brevet des EUA nc3.925.766 de Bardotti et autres, présente un système d'ordinateur dans lequel des niveaux de priorité sont attribués à des dispositifs périphériques et dans lequel des demandes d'accès pour communiquer avec une mémoire sont sélectionnées selon les niveaux de priorité. Les attributions de niveau de priorité peuvent être modifiées selon les causes de la génération des signaux de demande ou selon les conditions de charge particulières du processeur central. Aucun chemin DEA n'est cependant prévu. Le brevet des EUA n 4.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 priorité peuvent être 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. Les brevets des EUA suivants sont mentionnés ici en raison des enseignements généraux qu'ils apportent dans le domaine des systèmes d'ordinateur utilisant des unités de commande DMA. Ce sont les brevets des EUA n 4.371.932 de Dinwiddie, Jr., et autres, n 4.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. Résumé de l'invention Selon la présente invention, des unités périphériques comportant leurs propres circuits d'arbitrage et des unités périphériques ne comportant pas de circuit d'arbitrage, sont tous connectées au même bus. Les unités périphériques ayant leur propre circuit d'arbitrage peuvent assurer une fonction d'arbitrage par elles mêmes en ce qui concerne l'accès à des canaux DMA disponibles tandis qu'une unité d'arbitrage de requête logicielle est prévue à l'extérieur des unités 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 DMA pendant les tests sous alimentation et autres opérations similaires. Brève description des dessins La figure 1 est une représentation schématique d'un système d'ordinateur utilisant la présente invention. La figure 2 est un schéma logique d'une unité 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 effectuées par l'unité 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 présente invention est avantageusement utilisée. La figure 7 est un schéma logique d'une unité d'arbitrage de requête logicielle construite selon une autre réalisation possible de la présente invention. Description détaillée de la réalisation 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 représentation schématique d'un système d'ordinateur utilisant la présente invention. Une unité CPU 10 communique par un bus système 26 avec une mémoire principale 15 et optionnellement, avec un co-processeur mathématique. Diverses autres unités peuvent être connectées au bus système 26 comme nécessaire. 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 système 26 par une unité 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 différents d'unités périphériques peuvent être connectées au bus de famille 27, les exemples représentés à 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 données 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 présente invention, certaines des unités périphériques représentées génériquement 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 la demande de brevet dont le cessionnaire est le même 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, l'unité périphérique 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 périphériques demandant concurremment l'utilisation d'un canal DMA. Le circuit de commande d'arbitrage central 11 indique alors à l'unité de commande DMA le canal DMA qui doit être attribué à l'unité périphérique gagnante. Cependant, selon les enseignements de la présente invention, des unités périphériques ne comportant pas leur propre circuit d'arbitrage et représentées par l'unité asservie DMA 24, peuvent aussi demander et recevoir l'utilisation d'un canal DMA. Cette opération sera maintenant décrite en détails. Pour permettre l'accès DOA à 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'unité CPU, pour le compte des unités périphériques ne comportant pas de circuit d'arbitrage 28 propre. De cette manière, des périphériques existants peuvent être mélangés sur le même bus à des périphériques 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 entrées à une unité d'arbitrage logicielle 31 et à deux registres 32 et 33 sont délivrées depuis le bus de données 27-1. L'unité d'arbitrage logicielle 31 est aussi couplée au bus d'arbitrage 27-4. Certains signaux de commande issus du bus de commande 27-3 sont aussi appliqués a l'unité 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'entrée des comparateurs 34 et 35 reçoivent les sorties des registres 32 et 33, respectivement. Les sorties des comparateurs sont connectées aux entrées 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 connectées aux entrées de requête de canal DMA DREQ1 et DREQ0 d'une unité de commande DMA IC 50. Les bascules 38 et 39 sont restaurées par des signaux d'accusé de réception respectifs -DACK1 et -DACK0. L'unité de commande DMA IC 50 génère un signal -TC (Compte terminal) qui indique l'instant de l'achèvement de l'opération de transfert de données finale sur un canal quelconque. Pour restaurer l'unité d'arbitrage logiciel 31 lorsque le nombre requis d'opérations de transfert de données est achevé pour les deux canaux, le signal -TC est conditionné par les sorties des comparateurs 34 et 35 en utilisant une porte OU négatif 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'unité d'arbitrage logiciel 30 est associée. On suppose que l'unité de commande DMA IC est une unité de commande DMA programmable Intel Corporation, type 8237. Dans ce cas, l'unité CPU peut être n'importe laquelle des microprocesseurs de la série iAPX 86 comme le 8088, le 8086 ou le 80286. Pour plus de détails concernant les interconnexions entre l'unité de commande DMA IC et l'unité CPU, on se reportera 'au 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 entrées de conditionnement EN des registres respectifs 45 et 46. Un signal de chronologie STROBE issu de l'unité CPU est appliqué aux entrées d'horloge des registres 45 et 46. Les ports d'entrée des registres 45 et 46 sont connectés au bus de données 27-1 et les ports de sortie sont connectés au bus d'adresses 27-2. Le fonctionnement de l'unité d'arbitrage logiciel 29 sera maintenant expliqué en détails en se reportant à l'organigramme de la figure 5. L'unité CPU attend la réception 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 requête 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écutes de la manière décrite dans la demande de brevet citée précédemment. D'autre part, si la requête est issue de l'une des unités périphériques n'ayant pas de circuit d'arbitrage 28 propre, c'est à dire si l'unité périphérique faisant la requête est l'une des unités périphériques à "requête logicielle", une attribution de priorité de canal correspondant en fonction aux attributions de priorité de canal pour des unités périphériques ayant leur propre circuit d'arbitrage 28, est envoyée à l'unité d'arbitrage logiciel 31. La même valeur d'attribution de priorité de canal est écrite à l'un des registres 32 et 33, celui qui est choisi dépendant du canal DMA à attribuer à l'unité périphérique dans le cas o elle "triompherait" à l'arbitrage suivant effectué parmi les unités périphériques pour.une attribution de canal DMYA. Dans le présent exemple, deux registres 32 et 33, deux bascules 38 et 39, deux registres 45 et 46, etc...,sont prévus pour (1) permettre l'exécution simultanée d'un arbitrage entre deux unités périphériques différentes n'ayant pas de circuit d'arbitrage (auquel cas les étapes indiquées ci dessus devraient naturellement être répétées pour la seconde unité périphérique) et (2) permettre un choix d'attribution de canal DMA pour des unités périphériques à requête logicielle entre deux canaux DMA différents, 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 temps et le nombre des canaux DMA à rendre disponibles pour les unités périphériques à requête logicielle. En outre, l'adresse de port de l'unité périphérique 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 délivré à l'unité d'arbitrage logiciel 31. (Ceci sera expliqué en détails ci dessous en se reportant aux figures 3 et 4.) L'arbitrage entre les unités périphériques, à 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. Après qu'un temps suffisant se soit écoulé pour permettre l'achèvement de l'exécution du procédé d'arbitrage, un signal -SOFTPREEMPT issue de l'unité d'arbitrage logiciel 31 subit une transition à l'état "1". Si une unité périphérique à requête logicielle a gagné l'arbitrage, un "1" apparaîtra à la sortie de l'un des comparateurs 34 et 35, et un "1" est alors synchronisé dans l'une des bascules 38 et 39. Ceci active l'une des lignes de requête de canal DMA DREQ0 ou DREQ1 à l'unité de commande DMA IC 50. L'unité de commande DMA IC 50 accusera réception de la requête en conditionnant la ligne correspondantes de ses lignes d'accusé de réception -DACK0 et -DACK1 à l'état "0". Lorsque les signaux -IOR et -IOW sont dans l'état "1" indiquant que l'accès d'entrée/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 données DMA est alors effectué d'une manière bien connue de l'homme de l'art. La figure 3 est un schéma logique de l'unité d'arbitrage logiciel 31. L'attribution de priorité de canal est écrite dans le registre 92 lorsqu'une logique de décodage 61 détecte l'adresse respective. Cette opération est réalisée en utilisant un schéma d'adressage de port ordinaire. Le registre 92 étant chargé avec l'attribution de priorité de canal, lorsque l'unité CPU envoie une instruction à la logique de décodage 61 pour indiquer qu'un cycle d'arbitrage de requête logicielle doit se dérouler, 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'état actif. (Voir la figure 4.) Lorsqu'une impulsion suivante de la période d'arbitrage marquant le signal +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 déroule 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'unité 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'unité 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) étant donné que les deux entrées d'une porte ET 72 sont au niveau haut, ce qui place un niveau haut sur l'entrée de la bascule 64. L'adresse de l'unité périphérique est ensuite placé sur le bus d'adresses 27-2 de la manière décrite précédemment. Lorsque le transfert des données est achevé, le signal -TC apparaît, ce qui provoque la génération d'une impulsion de -TCC. La bascule 62 est alors restaurée (par l'intermédiaire 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'unité d'arbitrage de bus 80 qui assure l'opération d'arbitrage réel sur le bus d'arbitrage 27-4, est un circuit qui est présenté et décrit en détails dans dans la revue "American National Standard/IEEE Standard", no ANSI/IEEE Std 696-1983, publié par l'institut "Institute of Electrical and Electronics Engineers Inc.", 13 juin 1983. En général, chaque dispositif incorporé dans le schéma d'arbitrage comporte un tel circuit et les circuits sont connectés ensemble par l'intermédiaire.d'un bus d'arbitrage. Le bus d'arbitrage dans l'exemple représenté, comprend quatre lignes de données TMA0 - TMA3, ce qui permet 16 niveaux d'arbitrage différents. On peut cependant utiliser n'importe quel nombre désiré de lignes. Pendant une période de temps d'arbitrage désignée, 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 à l'état "1". C'est à dire que, dans le cas présent, la valeur qui est retenue dans le registre 92 (la valeur de priorité d'attribution de canal qui est le niveau d'arbitrage pour le dispositif) est transférée au travers des portes ET 91 à l'unité d'arbitrage de bus 80 et de là, sur les lignes de bus d'arbitrage TMAO - TMA3. A la fin de la période d'arbitrage, la valeur sur les lignes TMA0 - T14A3 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 présente invention se révèle tout à fait utile comme outil de diagnostique. Selon cet aspect de la présente 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 séquence. C'est à dire que la routine de requête logicielle DMA expliquée ci dessus, est exécutée en séquence pour chaque canal. Un exemple d'une telle routine de diagnostique utilisant la présente invention sera expliquée ci dessous en se reportant à l'organigramme de la figure 6. Afin de tester tous les canaux DMA en séquence, le nombre de canaux est tout d'abord établi à 0. Etant donné que le nombre de canaux est inférieur au nombre total de canaux DMA prévus dans le système, 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 montré à la figure 3, est chargé du nombre de canaux, un compteur de temps est établi à 0 et des signaux de commande sont envoyés à la logique de décodage 61 de l'unité d'arbitrage logiciel 31 afin de provoquer le passage du signal +SOFTREQUEST à l'état "1" et de déclencher ainsi un cycle d'arbitrage de requête logicielle. Si le compteur de temps n'a pas dépassé un temps maximal Tmax, le statut courant est lu depuis le registre de statut de l'unité 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 détermine que le canal fonctionne de manière appropriée et le canal suivant est testé de la même manière. Si non, un message d'erreur est affiché. Un message d'erreur est aussi affiché si le compteur de temps excède Tmax avant de pouvoir lire les informations correctes issues des divers registres. Une autre réalisation possible de la présente invention sera décrite en se reportant à la figure 7. Des unités périphériques différentes peuvent transférer (recevoir et transmettre) des données à des vitesses maximales différentes. Si une vitesse maximale de transfert de données des unités périphériques est plus lente que celle que le canal DMA peut supporter, il peut arriver qu'une unité périphérique associée à l'unité d'arbitrage de requête logicielle soit surchargée de données d'entrée. Afin d'éviter cela, selon cette autre réalisation possible de la présente invention, l'intervalle entre les cycles d'arbitrage de requête logicielle permis est commandé de telle manière que l'unité périphérique ne soit jamais surchargée de données. Dans la réalisation décrite à la figure 7, ceci est assuré en réduisant le signal -SOFTPREEMPT de façon que des requêtes DMA ne puissent être générées qu'à une vitesse maximale prédéterminée. Dans ce but, un signal d'interruption INT est généré à un intervalle correspondant à la vitesse de requête DMA maximale désirée. Lorsque le signal INT est reçu, il synchronise une horloge 51. La sortie de la bascule 52 conditionne et déconditionne le signal -SOFTPREEMPT par l'intermédiaire d'une porte OU 52. Apres l'achèvement d'un cycle de requête logicielle, la bascule 51 est restaurée par l'un des signaux d'accusé de réception -DACK0 et -DACK1 par l'intermédiaire 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 présente invention telle que décrite ci dessus, il est évident que de telles modifications restent dans le cadre et l'esprit de la présente invention telle que définie par les revendications ci jointes. REVENDICATIONS 1. Un système d'ordinateur possédant au moins un canal DMA, caractérisé en ce qu'il comprend: une pluralité d'unités périphériques, au moins l'une desdites unités périphériques 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 unité périphérique n'ayant pas ses propres moyens d'arbitrage, lesdits seconds moyens pour arbitrer étant prévus à l'extérieur desdites unité périphériques. 2. Le système d'ordinateur de la revendication 1 comprenant en outre une unité 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 unité centrale de traitement. 3. Le système 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 priorité d'arbitrage pour l'unité périphérique correspondante desdites unités périphériques. 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 priorité d'arbitrage qui leur est transférée depuis ladite unité centrale de traitement. 5. Un système d'ordinateur possédant au moins un canal DMA, caractérisé en ce qu'il comprend: une unité centrale de traitement, des moyens pour assurer la présence d'au moins un canal DMA, un bus d'arbitrage, une pluralité d'unités périphériques, au moins l'une desdites unités 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 priorité d'arbitrage pour cette unité périphérique, et des seconds moyens pour arbitrer l'accès à un canal DKA pour le compte d' au moins une unité périphérique n'ayant pas ses propres moyens d'arbitrage, lesdits seconds moyens d'abitrage étant prévus à l'extérieur desdites unités périphériques, lesdits seconds moyens d'arbitrage plaçant sur ledit bus d'arbitrage une valeur d'arbitrage qui lui est attribuée par ladite unité centrale de traitement. 6. Le système d'ordinateur de la revendication 5 dans lequel lesdits seconds moyens d'arbitrage comprennent: au moins un moyen pour emmagasiner une valeur d'arbitrage attribuée 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 période d'arbitrage, à ladite valeur d'arbitrage emmagasinée dans lesdits moyens d'emmagasinage, et des moyens pour indiquer auxdits moyens assurant la présence d'au moins un canal DMA, l'attribution d'un canal DMA à ladite au moins une desdites unités 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. Le système d'ordinateur de la revendication 6 comportant en outre plusieurs desdits moyens d'emmagasinage, desdits moyens de comparaison et desdits moyens d'indication. 8. Le système d'ordinateur de la revendication 7 dans lequel des moyens différents desdits moyens d'emmagasinage emmagasinent des valeurs différentes pour l'arbitrage simultané pour le compte d'une pluralité d'unités périphériques n'ayant pas leurs propres moyens d'arbitrage. 9. Le système d'ordinateur de la revendication 7 dans lequel des moyens différents desdits moyens d'emmagasinage emmagasinent des valeurs différentes pour l'arbitrage simultané à des niveaux d'arbitrage différents pour la même unité desdites unités périphériques. 10. Le système d'ordinateur de la revendication 6 comprenant en outre un bus de données et un bus d'adresses interconnectant ladite unité 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'entrée 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 unité périphérique lorsque lesdits moyens d'attribution de canal DMA attribuent un canal DMA à ladite au moins une unité périphérique. 11. Le système d'ordinateur de la revendication 7 comprenant en outre un bus de données et un bus d'adresses interconnectant ladite unité centrale de traitement et lesdites unités périphériques, 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 couplé audit bus d'adresses, pour placer sur ledit bus d'adresses une adresse indiquant l'une desdites unités périphériques à laquelle a été attribué un canal DMA par lesdits moyens d'attribution de canal DMA. 12. Le système d'ordinateur de la revendication 5 dans lequel lesdits seconds moyens pour arbitrer comprennent des moyens pour établir un intervalle minimal prédéterminé entre des arbitrages pour le compte de ladite au moins une unité périphérique.