BE1000819A3 - Ordinateur comportant une unite de commande d'acces direct en memoire programmable. - Google Patents
Ordinateur comportant une unite de commande d'acces direct en memoire programmable. Download PDFInfo
- Publication number
- BE1000819A3 BE1000819A3 BE8701395A BE8701395A BE1000819A3 BE 1000819 A3 BE1000819 A3 BE 1000819A3 BE 8701395 A BE8701395 A BE 8701395A BE 8701395 A BE8701395 A BE 8701395A BE 1000819 A3 BE1000819 A3 BE 1000819A3
- Authority
- BE
- Belgium
- Prior art keywords
- dma
- channel
- values
- access
- allocation
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
- G06F13/30—Handling 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/3625—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a time dependent access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/368—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
- G06F13/374—Handling 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
Système d'ordinateur dans lequel des unités périphériques dans un nombre supérieur au nombre des canaux DMA prévus dans le système, peuvent toutes bénéficier de l'accès DMA, certains des canaux DMA étant attribués à certaines des unités périphériques tandis que d'autres appelés canaux DMA ''programmables'', étant partagés entre le reste des unités périphériques.
Description
<Desc/Clms Page number 1> ORDINATEUR COMPORTANT UNE UNITE DE COMMANDE D'ACCES DIRECT EN MEMOIRE PROGRAMMABLE DESCRIPTION Domaine technique La presente invention concerne une unite de commande DMA (acces direct en mémoire) à utiliser dans un Systeme de micro-ordinateur ou mini-ordinateur. La présente invention permet plus précisément de realiser une unité de commande DMA avec laquelle des dispositifs peripheriques dont le nombre est superieur au nombre des canaux DMA physiques prévus dans le système, peuvent exécuter des transferts de données DMA. Art anterieur Beaucoup de systèmes d'ordinateur actuels utilisent des canaux DMA pour permettre à des dispositifs peripheriques de transferer des donnees, principalement vers et depuis la memoire principale, sans passer par l'unite CPU (unité centrale de traitement). L'evitement de l'unité CPU présente naturellement l'avantage d'augmenter les vitesses de transfert des données et d'ameliorer l'efficacit globale du Systeme en raison du fait que 1'unité CPU est libre d'assurer d'autres tâches pendant le transfert des donnees. La pratique la plus commune à ce jour consiste à prevoir un canal DMA physique pour chaque unité périphérique ä acces DMA. A titre d'exemple d'un Systeme d'ordinateur qui utilise un tel agencement, on peut citer l'ordinateur personnel IBM PC. <Desc/Clms Page number 2> Cependant, le nombre des dispositifs périphériques qu'un utilisateur peut raccorder à son Systeme d'ordinateur, a été accru et l'on s'attend à ce que cela continue. Par exemple, dernièrement sont apparus des lecteurs de disques optiques, des dispositifs de communications supplémentaires, des fichiers sur disques durs, des dispositifs de support de bandes, des imprimantes à grande vitesse, 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, en volume reserve aux cartes de circuits et en volume réservé aux bus. On a envisagé le partage de canaux DMA entre des dispositifs périphériques avec la restriction d'un fonctionnement mutuellement exclusif. Le partage des canaux DMA est utilisé par exemple dans les systèmes d'ordinateur IBM XT et AT. Ces concepts, bien que requérant des modifications importantes du EMI2.1 système de fonctionnement comme des sous routines supplémentaires, doivent être utilisés pour empecher les dispositifs périphériques associes à chaque canal DMA de fonctionner simultanement. Un probleme de performances significatif se pose aussi lorsque des unités de commande de fichiers ne sont pas suffisamment "intelligentes" pour permettre des opérations de recherche en chevauchement, On s'accommode du probleme dans certains cas, par exemple lorsqu'un dispositif LAN (reseau local) et une unité de commande de fichier partagent le même niveau DMA et qu'une routine de service de fichier LAN doit passer d'un dispositif A l'autre. Le brevet des EUA n 3. 925. 766 de Bardotti et autres, présente un Systeme d'ordinateur dans lequel des niveaux de priorité sont attribués A des dispositifs <Desc/Clms Page number 3> périphériques et des requêtes d'acces pour communiquer avec une mémoire, sont sélectionnées selon les niveaux de priorité. Les attributions des niveaux de priorite peuvent etre changées selon les raisons pour lesquelles les signaux de requete ont ete generes ou selon les conditions de charge particulières du processeur central. Aucun chemin DMA n'est cependant prévu. Dans le brevet des EUA n04. 400. 771 de Suzuki et autres, on presente un système à processeurs multiples dans lequel chacun des processeurs multiples peut acceder à une mémoire unique. Un circuit de registres programmables emmagasine des informations de priorite designant une priorité d'acces à la memoire 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'acces DMA à une memoire depuis plusieurs dispositifs périphériques. Le brevet des EUA n 4. 257. 095 de Nadir est interessant dans ses enseignements concernant les techniques d'arbitrage de bus. Les brevets des EUA suivants sont indiques en tant qu'enseignements généraux relatifs à l'art antérieur des systemes d'ordinateurs utilisant des unites de commande DMA : les brevets des EUA ne4.371.932 de Dinwiddie, Jr., et autres, n04. 419. 728 de Larson, n 4. 538. 224 de Peterson, n 4. 556. 962 de Brewer et autres et n04. 584. 703 de Hallberg. Objets de l'invention En consequence, un objet de la presente invention est de fournir un système d'ordinateur utilisant une unite de commande DMA dans lequel des dispositifs <Desc/Clms Page number 4> périphériques dont le nombre est plus important que celui des canaux DMA physiques prévus dans le système, peuvent se partager les canaux DMA sans rencontrer les problemes des approches de l'art anterieur tels qu'indiqués ci dessus. Un autre objet de la presente invention est de fournir un tel système d'ordinateur dans lequel chaque dispositif périphérique à acces DMA est affecté de son propre niveau d'arbitrage d'acces DMA. Un autre objet de la présente invention est de fournir un tel système d'ordinateur dans lequel l'affectation des canaux DMA aux dispositifs périphériques peut etre facilement commandée dans le logiciel sans modification importante du Systeme de fonctionnement. Résumé de l'invention Pour la réalisation des objets de la présente invention tels qu'indiqués ci dessus ainsi que d'autres, on prévoit un Systeme d'ordinateur comprenant une pluralite de périphériques demandant à bénéficier de l'acces DMA, le nombre des périphériques étant superieur au nombre des canaux DMA prevus dans le systeme. A certains périphériques, ont été attribués des canaux DMA affectes fixes tandis que d'autres périphériques se partagent les canaux DMA restants. Les canaux restants partages sont appeles ici n canaux DMA programmables". Ces canaux DMA supplémentaires ne sont pas physiques et peuvent donc être qualifiés de canaux DMA"virtuels"pour les distinguer des canaux DMA physiques ou "réels". A chacun des périphériques, est attribuée une priorite de canal. Un circuit d'arbitrage emmagasine des valeurs d'affectation de canal DMA, une pour chacun des canaux <Desc/Clms Page number 5> DMA prévus dans le système. Pour chaque périphérique ayant un canal DMA affecte, une valeur d'affectation de canal DMA fixe est emmagasinee tandis que pour les périphériques restants qui se partagent les canaux DMA programmables, on emmagasine une valeur d'affectation de canal DMA programmable. Lorsqu'un périphérique desire un acces DMA, il transmet sa valeur de priorite de canal sur un bus d'arbitrage. La valeur de priorite de canal la plus élevée "gagne" sur le bus d'arbitrage. La valeur de priorite de canal gagnante est eomparee A des valeurs d'affectation de canal DMA fixes et programmables. Si la comparaison de la valeur de priorite de eanal ä l'une des valeurs d'affectation de canal DMA fixes ou programmables emmagasinées, est reussie, l'acces est garanti au canal DMA correspondant. Breve description des dessins La figure 1 est une représentation schematique d'un système d'ordinateur utilisant la presente invention. La figure 2 est un Schema conceptuel utilisé pour expliquer le fonctionnement de la presente invention. La figure 3 est un schéma logique representant en détails un circuit d'arbitrage prevu dans des dispositifs périphériques du système d'ordinateur de la figure 1. La figure 4 est un schéma montrant des details de l'un des bus du système d'ordinateur de la figure 1. La figure 5 est un Schema logique détaillé d'un circuit de commande d'arbitrage central utilisé dans le système d'ordinateur de la presente invention. <Desc/Clms Page number 6> La figure 6 est un schema logique détaillé d'un circuit de commande DMA utilisé dans 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 a la figure 1 des dessins ci joints, on voit que celle ci est un schema bloc d'un Systeme d'ordinateur dans lequel la présente invention est avantageusement utilisée. Une unite CPU communique avec une memoire principale 15, l'unité de commande de bus 16 et le co-processeur mathématique 14 par un bus Systeme 26. La communication entre l'unite CPU et ses dispositifs périphériques associés se fait au travers d'une unité de commande de bus 16, cette dernière étant couplée aux dispositifs périphériques au travers du bus de famille 25. Dans le présent exemple, les dispositifs périphériques comprennent une mémoire auxiliaire 17, deux dispositifs de communications 18 et 19, un fichier de disques durs 20, un disque optique 21 et deux disques souples 23. D'autres périphériques peuvent naturellement être utilises selon les besoins du Systeme. Les dispositifs peripheriques sont représentés génériquement par l'unite asservie DMA 24. Une unité de commande DMA 12 est prévue pour permettre au moins A des dispositifs sélectionnés parmi les dispositifs périphériques, d'accéder directement à la memoire. Dans ce but, comme on l'expliquera plus en details par la suite, le bus de famille ou au moins une partie de celui ci, est connecte à l'unité de commande DMA 12. Chaque périphérique qui beneficie de l'acces DMA, comprend un circuit d'arbitrage 24 et a chaque périphérique comportant un circuit d'arbitrage, est affecté un niveau d'arbitrage (priorité). A nouveau, <Desc/Clms Page number 7> comme on l'expliquera plus en details par la suite, un circuit de commande d'arbitrage central 11 est associé à l'unite de commande DMA pour arbitrer les dispositifs périphériques demandant en même temps l'acces DMA et pour informer 11 uni té de commande DMA du périphérique EMI7.1 qui beneficie de l'acces. Dans le système d'ordinateur utilisant la présente invention, le nombre de dispositifs périphériques qui peuvent bénéficier de l'acces DMA est superieur au nombre des canaux DMA physiques prevus dans le système. Selon la présente invention, certains de ces dispositifs sont affectes de leur propre canal DMA attribud tandis que d'autres se partage les canaux DMA restant. Sur les canaux partages (programmables), l'acces se fait dans l'ordre de priorites pré-attribuées. Dans le present exemple, on suppose qu'il y a huit canaux DMA physiques references 0 à 7. On suppose en outre que les canaux 0 et 4 sont partages et que les canaux restants 1-3 et 5-7 sont affectes des peripheriques particuliers. En se reportant maintenant à la figure 2, on voit que celle ci est representation conceptuelle utilisee pour expliquer les principes de la presente invention et montre un comparateur à deux ensembles d'entrees. Un ensemble est compose de quatre lignes issues d'un bus ARBUS (bus arbitrage). La valeur sur ARBUS indique le périphérique demandant un canal DMA et ayant le niveau d'arbitrage (priorité) le plus élevé. Si ce périphérique est l'un de ceux beneficiant de l'un des canaux attribuds 1-3 ou 5-7, l'accès est accorde directement à ce canal. D'autre part, si le périphérique est l'un de ceux ayant à partager un canal DMA programmable (canaux 0 et 4), l'acces n'est accorde <Desc/Clms Page number 8> que si son niveau de priori té correspond A 11 une des valeurs pre-établies dans les registres 6 et 7. Cette opération sera expliquée plus en details ci dessous en se refermant aux figures 3-6. La figure 3 est un Schema logique de l'un des circuits d'arbitrage 28 utilisés dans chacun des périphériques beneficiant de l'acces DMA. Le niveau d'arbitrage attribue aux peripheriques est etabli dans un registre 70 que l'on appellera par la suite ttregistre d'attribution de priorité canal". Cette opération peut être assuree en utilisant l'une quelconque d'un certain nombre de techniques bien connus. De preference, l'unité CPU adresse le périphérique au travers d'un port pré-attribut si bien que le niveau d'arbitrage peut être établi par logiciel. Ceci peut être assuré au travers de BIOS (Systeme entrée/sortie basique), de POST (auto-test sous alimentation) A la restauration, du Systeme d'exploitation ou du programme d'application comme désiré. Autrement, il est possible d'entrer la valeur d'attribution de priorité canal par l'intermédiaire des commutateurs du matériel. Le circuit d'arbitrage réel est mis en oeuvre avec une unité d'arbitrage 72. Ce circuit comprenant les divers signaux indiqués à la figure 3, est presente et décrit en détails dans le document "American National Standard/IEEE Standard", n"ANSI/IEEE Std 696-1983, publié par le "Institute of Electrical and Electronics Engineers, Inc.", 13 juin 1983. En general, chaque dispositif incorporé dans le-schema d'arbitrage comporte un tel circuit et les circuits sont connectés ensemble par un bus ARBUS. Le bus ARBUS dans l'exemple représenté, comporte quatre lignes de données TMAO-TMA3, permettant 16 differents niveaux d'arbitrage. <Desc/Clms Page number 9> N'importe quel nombre désiré peut cependant être utilise. Pendant une periode de temps d'arbitrage déterminée par les signaux de commande pHLDA et HOLD, tous les dispositifs désirant prendre la commande sur le bus (ceux ayant le signal IWANT au niveau haut, etat "1") transmettent leur niveau d'arbi trage (priori té) sur le bus ARBUS. Ceci apparaît dans l'exemple de la figure 3 lorsque le signal/APRIO ("/"indiquant un signal "valeur vraie basse") passe au niveau bas ("0"). La valeur alors retenue dans le registre 70 est transferee au travers des portes ET 71 à l'unite d'arbitrage 72 et de là, sur les lignes ARBUS TMA0-TMA3. A la fin de la periode d'arbitrage, la valeur sur les lignes ARBUS TMAO-TMA3 sera la valeur du niveau d'arbitrage du dispositif ayant le niveau le plus élevé. Les formes d'ondes des divers signaux indiqués ici sont présentées en détails dans la norme ANSI/IEEE indiquee plus haut. Dans la realisation préférée décrite ici, le bus ARBUS fait partie du bus de famille 25 connectant les périphériques à l'unite de commande de bus 16 et donc à l'unitd CPU 10. La relation entre le bus ARBUS et le bus de famille 25 est décrite à la figure 4. Les détails du circuit de commande d'arbitrage central 11 et de l'unite de commande DMA 12 sont représentés aux figures 5 et 6, respectivement, auxquelles on se reportera maintenant. Comme indiqué à la figure 5, les signaux HOLD et pHLDA issus du bus ARBUS sont utilisés pour générer un signal EMI9.1 /ARBTIME (PERIODE ARBITRAGE)./ARBTIME est à l'etat"0" pendant la Periode de temps où doit se dérouler l'arbitrage parmi les dispositifs périphériques en compétition pour obtenir un canal DMA. Il reste A l'état "0" suffisamment longtemps pour que les signaux <Desc/Clms Page number 10> sur le bus ARBUS aient atteint des conditions d'etat permanent, c'est à dire suffisamment longtemps pour que l'arbitrage soit achevé. Pour générer le signal /ARBTIME, le signal pHLDA est inverse par un inverseur 61, puis appliqué ensemble avec HOLD A des entrées respectives d'une porte OU Exclusif 62. Un multivibrateur monocoup 63 dont la période d'impulsion de sortie est plus longue que la période d'arbitrage sur ARBUS, est déclenché par le front avant de l'impulsion de sortie de la porte OU Exclusif 62. La sortie du multivibrateur monocoup est mis en condition OU avec la sortie de la porte OU Exclusif 62 par une porte OU 64 afin de produire ainsi/ARBTIME. D'autres EMI10.1 agencements sont naturellement possibles pour générer /ARBTIME. Selon une approche possible, les signaux de requête DMA issus de chaque dispositif, sont mis en condition OU ensemble et la sortie en condition OU est appliquee pour générer un signal d'impulsion de longueur appropriée. Dans tous les cas, la requête de base est le conditionnement de IARBTIME à l'état "0" pour définir les périodes de temps où l'arbitrage se déroule sur ARBUS. Une logique de comparaison 40 est prévue pour chacun des canaux DMA physiques programmables dans le système et une logique de comparaison 49 est prévue pour chacun des canaux fixes. Chaque logique de comparaison 40 pour les canaux DMA programmables (les canaux 0 et 4 dans le présent exemple) comprend un registre 41 appele "registre d'attribution de canal DMA"qui est charge par l'unite CPU avec une attribution de canal DMA. Les logiques de comparaison 49, A savoir celles pour les canaux fixes, sont identiques aux logiques de comparaison 40 à l'exception du registre 40 qui est remplacé par un ensemble de commutateurs avec lesquels on établit manuellement l'attribution des canaux. Une seule des logiques de comparaison 40 et 49 est <Desc/Clms Page number 11> représentée en details étant donne que les autres sont identiques et que leurs signaux de sortie sont les mêmes. Les sorties des registres 41 pour les canaux programmables (logiques de comparaison 40) et les sorties des commutateurs pour les canaux fixes (logiques de comparaison 49) sont comparees aux signaux TMAO-TMA3 par un ensemble de portes OU Exclusif 42 dont les sorties sont appliquées aux entrees d'une porte OU Negatif 43. S'il y a correspondance entre l'attribution de canal et la valeur représentée par TMAO-TMA3 A la fin de la periode d'arbitrage, c'est à dire si les signaux correspondants sont alors dans des états identiques, la sortie de la porte OU Négatif 43 (COMPARAISON 0-COMPARAISON 7) sera à 1'tat 111". Naturellement, une seule porte OU Negatif 43 à la fois peut avoir une sortie active. EMI11.1 En se reportant maintenant A la figure 6, on voit qu'à la fin de la periode d'arbitrage lorsque/ARBTIME revient au niveau un "1" issu de celui des signaux COMPARAISON 0 - COMPARAISON 7 qui est dans l'état "1", sera conditionné dans l'une des deux bascules 51 de l'unite de commande OMA 12. Les autres "1" de EMI11.2 COMPARAISON 0-COMPARAISON 7 seront dans l'état un dans les positions "0" etcorrespondantes des bascules 51. Les sorties des bascules 51 sont appliquees aux entrées de requête DMA correspondantes (DREQO-DREQ3) de deux unités de commande DMA IC 52 connectées en cascade. Dans la realisation décrite ici, les unités de commande IC 52 sont chacune constituees par une unite de commande DMA programmable du type 8237 fabriquee par Intel Corporation. Les unites de commande DMA IC 52 sont connectées en cascade par des portes OU Négatif <Desc/Clms Page number 12> 53. L'unité CPU peut être l'un quelconque de la Serie de micro-processeurs Intel iAPX 86 comme le 8088, le 8086 ou le 80286. Pour plus de détails sur les connexions entre les deux unites de commande IC et l'unite CPU, on pourra se reporter au manuel "1985 Intel Microsystem Components Handbook", pages 2-57 à 2-71. En conséquence, pour un périphérique ayant un canal DMA attribué, une fois que le périphérique a la priorite sur ARBUS, il a l'usage immediat d'un canal DMA. Pour un périphérique partageant l'un des canaux D lorsqu'il a la priorité sur ARBUS, il ne peut utiliser immédiatement un canal DMA que si sa valeur d'attribution de priorite de canal telle que contenue dans son registre d'attribution de priorite de canal 70, correspond à l'une des valeurs d'attribution de canal DMA établies dans l'un des deux registres 41. Naturellement, le BIOS, le Systeme d'exploitation ou le programme d'applications peut continuellement reprogrammer les valeurs d'attribution de canal contenues dans les registres d'attribution de canal DMA 41 des deux logiques de comparaison de canal programmable 40 afin de s'assurer que tous les périphériques demandant l'accès, peuvent finalement utiliser un canal DMA. De nombreux Schemas de programmation différents peuvent etre mis en oeuvre pour commander les valeurs emmagasinees dans les registres d'attribution de canal DMA 41 et les registres d'attribution de priori té de canal 70 des circuits d'arbitrage suivant l'application en cours d'utilisation. Dans un exemple simple, les valeurs établies dans les registres d'attribution de priorite 70 sont fixes et les valeurs établies dans les registres d'attribution de canal DMA 41 sont alternees parmi au moins certaines des valeurs contenues dans les registres d'attribution de priorité 70 pour donner <Desc/Clms Page number 13> ainsi à chaque périphérique associé a l'un des canaux DMA programmables une chance d'obtenir l'utilisation d'un canal DMA. Si des periphériques"intelligents" ayant leur propre unité de commande, sont utilises, des Schemas plus complexes peuvent être mis en oeuvre. Par exemple, lorsqu'un périphérique affecté à un canal DMA programmable, désire l'acces, le périphérique peut demander au système d'exploitation ou à BIOS la disponibilite de l'un des canaux programmables. Si un canal est disponible, son numéro peut alors être conditionne dans les registres 70 et 41 pour garantir l'acces. Cependant, étant donne que la selection du schema de programmation n'entre pas dans le cadre de la présente invention mais est du ressort de l'utilisateur, nous ne décrirons pas d'autres exemples ici. D'autres applications de la présente invention sont aussi envisagées. Par exemple, des canaux DMA programmables prévus par l'utilisation de la presente invention, peuvent etre utilisés comme canaux de support redondants pour certains des canaux attribués, EMI13.1 ce qui augmente la fiabilite du système. 11 est evident que diverses modifications de forme et de details peuvent être apportées à la présente inventions sans pour autant sortir du cadre de celle ci tel que spécifie dans les revendications ci jointes.
Claims (11)
- REVENDICATIONS 1. Un Systeme d'ordinateur caractérisé en ce qu'il comprend : des moyens pour fournir une pluralité de canaux DMA, une pluralité de dispositifs périphériques comprenant des moyens pour requérir un acces DMA, et EMI14.1 des moyens pour attribuer au moins l'un desdits dispositifs peripheriques A un canal respectif desdits canaux DMA pour l'acces DMA et pour attribuer le reste desdits dispositifs périphériques au partage du reste desdits canaux DMA pour l'accès DMA.
- 2. Le système d'ordinateur de la revendication 1 dans lequel lesdits moyens d'attribution comprennent des moyens pour comparer des valeurs d'attribution de priorité de canal pour chacun desdits périphériques demandant l'acces DMA A un ensemble prédéterminé de valeurs d'attribution de canal DMA, et des moyens pour donner accès & un canal DMA correspondant à l'une desdites valeurs d'attribution de canal DMA lorsque l'une desdites valeurs d'attribution de priorite de canal est la meme que ladite valeur desdites valeurs d'attribution de canal DMA.
- 3. Le Systeme d'ordinateur de la revendication 2 dans lequel lesdits moyens de comparaison comprennent des moyens pour emmagasiner ledit ensemble predetermine de valeurs d'attribution de canal et des moyens pour comparer simultanément ladite <Desc/Clms Page number 15> valeur d'attribution de priorité de canal pour l'un desdits périphériques demandant l'acces DMA et ledit ensemble de valeurs d'attribution de canal.
- 4. Le système d'ordinateur de la revendication 3 comprenant en outre des moyens pour changer lesdites valeurs d'attribution de canal pour ledit reste desdits canaux DMA.
- 5. Un systeme d'ordinateur comprenant : une pluralite de dispositifs périphériques demandant l'acces DMA, un bus d'arbitrage, des moyens dans chacun desdits dispositifs périphériques pour demander l'acces DMA en placant sur ledit bus d'arbitrage une valeur d'attribution de priorité de canal pour le dispositif EMI15.1 périphérique respectif, des moyens pour emmagasiner des premier et second ensembles de valeurs d'attribution de canal DMA, lesdites valeurs d'attribution de canal DMA étant en moins grand nombre que lesdits dispositifs périphériques et dans le même nombre que les canaux DMA prevus dans ledit Systeme d'ordinateur, ledit premier ensemble desdites valeurs d'attribution de canal DMA étant fixe et correspondant aux valeurs prédéterminées fixes desdites valeurs d'attribution de priorité de canal,ledit second ensemble de valeur d'attribution DMA étant programmable et pouvant etre alloué parmi les valeurs restantes desdites valeurs d'attribution de priorité de canal, <Desc/Clms Page number 16> des moyens pour comparer des valeurs d'attribution de priorité reçues sur ledit bus d'arbitrage audit ensemble de valeurs d'attribution de canal DMA emmagasinées, et des moyens pour garantir l'acces DMA à chacun desdits dispositifs périphériques dont la valeur d'attribution de priorité est trouvde par lesdits moyens de comparaison egale à l'une desdites valeurs d'attribution de canal DMA desdits premier et second ensembles.
- 6. Le système d'ordinateur de la revendication 5 dans lequel lesdits moyens d'emmagasinage comprennent pour chacune desdites valeurs d'attribution de canal DMA programmables un registre programmable par une unité centrale de traitement dudit système d'ordinateur.
- 7. Le systeme d'ordinateur de la revendication 5 dans lequel lesdits moyens d'emmagasinage comprennent pour chacune desdites valeurs d'attribution de canal DMA fixes, des moyens pour appliquer en entrée de manière fixe la valeur d'attribution de canal DMA respective.
- 8. Un dispositif périphérique pour un systeme d'ordinateur, comprenant : des moyens pour emmagasiner une valeur d'attribution de priorité de canal pour ledit dispositif, et des moyens A circuit d'arbitrage pour appliquer ladite valeur d'attribution de canal sur un bus d'arbitrage pour demander l'usage d'un canal DMA. <Desc/Clms Page number 17>
- 9. Le dispositif périphérique de la revendication 8 dans lequel ladite valeur d'attribution de priorité de canal est etablie dans lesdits moyens d'emmagasinage par un port qui peut être adresse par une unite centrale de traitement.
- 10. Une methode pour commander l'acces DMA dans un Systeme d'ordinateur, comprenant les etapes suivantes : l'attribution d'une valeur d'attribution de priori té de eanal à chacune d'une pluralite de dispositifs peripheriques demandant l'acces DMA, l'emmagasinage de manière fixe d'un premier ensemble de valeurs d'attribution de canal DMA pour des canaux DMA attribues à des dispositifs peripheriques respectifs et l'emmagasinage programmable d'un second ensemble de valeurs d'attribution de canal DMA pour des canaux DMA partagés entre une pluralité de dispositifs EMI17.1 peripheriques, la transmission sur un bus depuis chacune desdites unites peripheriques demandant l'acces DMA, de.sa valeur d'attribution de priorite de canal, l'arbitrage sur ledit bus pour déterminer une valeur d'attribution de priorité de canal la plus elevee des unites peripheriques demandant concurremment l'acces DMA, la comparaison de ladite valeur d'attribution de priorite de canal la plus élevée auxdits premier et second ensembles de valeurs d'attribution de canal DMA, et <Desc/Clms Page number 18> la garantie de l'accès a un canal DMA respectif par le dispositif peripherique correspondant lorsque ladite valeur de priorite de canal la plus élevée est egale à l'une desdites valeurs d'attribution de canal DMA contenues dans lesdits premier et second ensembles.
- 11. La méthode de la revendication 10 dans laquelle ladite étape de comparaison comprend la comparaison simultanee de ladite valeur d'attribution de priorite de canal la plus elevee auxdits premier et second ensembles.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/030,786 US4901234A (en) | 1987-03-27 | 1987-03-27 | Computer system having programmable DMA control |
Publications (1)
Publication Number | Publication Date |
---|---|
BE1000819A3 true BE1000819A3 (fr) | 1989-04-11 |
Family
ID=21856024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BE8701395A BE1000819A3 (fr) | 1987-03-27 | 1987-12-04 | Ordinateur comportant une unite de commande d'acces direct en memoire programmable. |
Country Status (17)
Country | Link |
---|---|
US (1) | US4901234A (fr) |
EP (1) | EP0288607B1 (fr) |
JP (1) | JPS63244158A (fr) |
KR (1) | KR950008227B1 (fr) |
CN (1) | CN1013068B (fr) |
AR (1) | AR240681A1 (fr) |
AT (1) | ATE81220T1 (fr) |
BE (1) | BE1000819A3 (fr) |
DE (3) | DE3782045T2 (fr) |
ES (1) | ES2035027T3 (fr) |
FR (1) | FR2613095A1 (fr) |
GB (1) | GB2202977B (fr) |
GR (1) | GR3006676T3 (fr) |
HK (2) | HK33692A (fr) |
IT (1) | IT1216132B (fr) |
NL (1) | NL185106C (fr) |
SG (1) | SG13092G (fr) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5185864A (en) * | 1989-06-16 | 1993-02-09 | International Business Machines Corporation | Interrupt handling for a computing system with logical devices and interrupt reset |
US5307468A (en) * | 1989-08-23 | 1994-04-26 | Digital Equipment Corporation | Data processing system and method for controlling the latter as well as a CPU board |
DE3928481C2 (de) * | 1989-08-29 | 1994-09-22 | Diehl Gmbh & Co | Prioritätsorientiertes dezentrales Busvergabesystem |
EP0453863A2 (fr) * | 1990-04-27 | 1991-10-30 | National Semiconductor Corporation | Méthode et appareil pour réaliser le contrôle d'accès au média/interface avec le système hôte |
US5974015A (en) * | 1990-05-14 | 1999-10-26 | Casio Computer Co., Ltd. | Digital recorder |
US5519684A (en) * | 1990-05-14 | 1996-05-21 | Casio Computer Co., Ltd. | Digital recorder for processing in parallel data stored in multiple tracks |
ATE137038T1 (de) * | 1990-08-31 | 1996-05-15 | Advanced Micro Devices Inc | Übertragungssteuerungssystem für einen rechner und peripheriegeräte |
US5581530A (en) * | 1990-09-06 | 1996-12-03 | Casio Computer Co., Ltd. | Digital recorder for processing of parallel data stored in multiple tracks and using cross-fade processing |
EP0524940A1 (fr) * | 1991-02-19 | 1993-02-03 | International Business Machines Corporation | Arbitrage de selection de canaux |
US5530901A (en) * | 1991-11-28 | 1996-06-25 | Ricoh Company, Ltd. | Data Transmission processing system having DMA channels running cyclically to execute data transmission from host to memory and from memory to processing unit successively |
US6026443A (en) * | 1992-12-22 | 2000-02-15 | Sun Microsystems, Inc. | Multi-virtual DMA channels, multi-bandwidth groups, host based cellification and reassembly, and asynchronous transfer mode network interface |
US5640598A (en) * | 1994-07-12 | 1997-06-17 | Mitsubishi Denki Kabushiki Kaisha | Data transfer processing system |
US5495614A (en) * | 1994-12-14 | 1996-02-27 | International Business Machines Corporation | Interface control process between using programs and shared hardware facilities |
JP3320233B2 (ja) * | 1995-02-06 | 2002-09-03 | キヤノン株式会社 | 記録装置 |
US5664197A (en) * | 1995-04-21 | 1997-09-02 | Intel Corporation | Method and apparatus for handling bus master channel and direct memory access (DMA) channel access requests at an I/O controller |
US5761534A (en) * | 1996-05-20 | 1998-06-02 | Cray Research, Inc. | System for arbitrating packetized data from the network to the peripheral resources and prioritizing the dispatching of packets onto the network |
US6154793A (en) * | 1997-04-30 | 2000-11-28 | Zilog, Inc. | DMA with dynamically assigned channels, flexible block boundary notification and recording, type code checking and updating, commands, and status reporting |
US6092137A (en) * | 1997-11-26 | 2000-07-18 | Industrial Technology Research Institute | Fair data bus arbitration system which assigns adjustable priority values to competing sources |
US6473780B1 (en) * | 1998-04-01 | 2002-10-29 | Intel Corporation | Scheduling of direct memory access |
US6260081B1 (en) * | 1998-11-24 | 2001-07-10 | Advanced Micro Devices, Inc. | Direct memory access engine for supporting multiple virtual direct memory access channels |
US7089344B1 (en) * | 2000-06-09 | 2006-08-08 | Motorola, Inc. | Integrated processor platform supporting wireless handheld multi-media devices |
JP2003006003A (ja) * | 2001-06-18 | 2003-01-10 | Mitsubishi Electric Corp | Dmaコントローラおよび半導体集積回路 |
JP4245852B2 (ja) * | 2002-03-19 | 2009-04-02 | 富士通マイクロエレクトロニクス株式会社 | ダイレクトメモリアクセス装置 |
US7062582B1 (en) | 2003-03-14 | 2006-06-13 | Marvell International Ltd. | Method and apparatus for bus arbitration dynamic priority based on waiting period |
US20050038946A1 (en) * | 2003-08-12 | 2005-02-17 | Tadpole Computer, Inc. | System and method using a high speed interface in a system having co-processors |
US7533195B2 (en) * | 2004-02-25 | 2009-05-12 | Analog Devices, Inc. | DMA controller for digital signal processors |
US7240129B2 (en) * | 2004-02-25 | 2007-07-03 | Analog Devices, Inc. | DMA controller having programmable channel priority |
US7130982B2 (en) * | 2004-03-31 | 2006-10-31 | International Business Machines Corporation | Logical memory tags for redirected DMA operations |
US8006001B2 (en) * | 2004-09-22 | 2011-08-23 | Lsi Corporation | Method and apparatus for manipulating direct memory access transfers |
US7386642B2 (en) * | 2005-01-28 | 2008-06-10 | Sony Computer Entertainment Inc. | IO direct memory access system and method |
US7680972B2 (en) * | 2005-02-04 | 2010-03-16 | Sony Computer Entertainment Inc. | Micro interrupt handler |
JP2006216042A (ja) * | 2005-02-04 | 2006-08-17 | Sony Computer Entertainment Inc | 割り込み処理のためのシステムおよび方法 |
US7483422B2 (en) * | 2005-02-10 | 2009-01-27 | International Business Machines Corporation | Data processing system, method and interconnect fabric for selective link information allocation in a data processing system |
US7395361B2 (en) * | 2005-08-19 | 2008-07-01 | Qualcomm Incorporated | Apparatus and methods for weighted bus arbitration among a plurality of master devices based on transfer direction and/or consumed bandwidth |
US20090259789A1 (en) * | 2005-08-22 | 2009-10-15 | Shuhei Kato | Multi-processor, direct memory access controller, and serial data transmitting/receiving apparatus |
JP4499008B2 (ja) * | 2005-09-15 | 2010-07-07 | 富士通マイクロエレクトロニクス株式会社 | Dma転送システム |
US7689732B2 (en) * | 2006-02-24 | 2010-03-30 | Via Technologies, Inc. | Method for improving flexibility of arbitration of direct memory access (DMA) engines requesting access to shared DMA channels |
CN106294233B (zh) * | 2015-06-29 | 2019-05-03 | 华为技术有限公司 | 一种直接内存访问的传输控制方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BE622921A (fr) * | 1961-10-06 | |||
US3766526A (en) * | 1972-10-10 | 1973-10-16 | Atomic Energy Commission | Multi-microprogrammed input-output processor |
US4075691A (en) * | 1975-11-06 | 1978-02-21 | Bunker Ramo Corporation | Communication control unit |
US4400771A (en) * | 1975-12-04 | 1983-08-23 | Tokyo Shibaura Electric Co., Ltd. | Multi-processor system with programmable memory-access priority control |
US4090238A (en) * | 1976-10-04 | 1978-05-16 | Rca Corporation | Priority vectored interrupt using direct memory access |
US4257095A (en) * | 1978-06-30 | 1981-03-17 | Intel Corporation | System bus arbitration, circuitry and methodology |
US4437157A (en) * | 1978-07-20 | 1984-03-13 | Sperry Corporation | Dynamic subchannel allocation |
US4558412A (en) * | 1978-12-26 | 1985-12-10 | Honeywell Information Systems Inc. | Direct memory access revolving priority apparatus |
CA1132265A (fr) * | 1978-12-26 | 1982-09-21 | Minoru Inoshita | Appareil a priorites alternees a memoire a acces direct |
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 |
US4516199A (en) * | 1979-10-11 | 1985-05-07 | Nanodata Computer Corporation | Data processing system |
IT1209338B (it) * | 1980-07-24 | 1989-07-16 | Sits Soc It Telecom Siemens | Disposizione circuitale per il trasferimento di dati tra la memoria di un elaboratore elettronico e le unita' di interfaccia delle periferiche ad esso collegate. |
JPS58223833A (ja) * | 1982-06-23 | 1983-12-26 | Fujitsu Ltd | ダイレクト・メモリ・アクセス制御方式 |
US4528626A (en) * | 1984-03-19 | 1985-07-09 | International Business Machines Corporation | Microcomputer system with bus control means for peripheral processing devices |
US4688166A (en) * | 1984-08-03 | 1987-08-18 | Motorola Computer Systems, Inc. | Direct memory access controller supporting multiple input/output controllers and memory units |
JPS61131153A (ja) * | 1984-11-30 | 1986-06-18 | Toshiba Corp | Dma転送制御方式 |
JPS61133461A (ja) * | 1984-12-04 | 1986-06-20 | Fujitsu Ltd | Dma転送制御方式 |
US4847750A (en) * | 1986-02-13 | 1989-07-11 | Intelligent Instrumentation, Inc. | Peripheral DMA controller for data acquisition system |
-
1987
- 1987-03-27 US US07/030,786 patent/US4901234A/en not_active Expired - Lifetime
- 1987-11-27 FR FR8716750A patent/FR2613095A1/fr not_active Withdrawn
- 1987-12-04 BE BE8701395A patent/BE1000819A3/fr not_active IP Right Cessation
- 1987-12-10 GB GB8728927A patent/GB2202977B/en not_active Revoked
- 1987-12-15 AT AT87118545T patent/ATE81220T1/de not_active IP Right Cessation
- 1987-12-15 EP EP87118545A patent/EP0288607B1/fr not_active Expired - Lifetime
- 1987-12-15 ES ES198787118545T patent/ES2035027T3/es not_active Expired - Lifetime
- 1987-12-15 DE DE8787118545T patent/DE3782045T2/de not_active Expired - Fee Related
- 1987-12-25 JP JP62327583A patent/JPS63244158A/ja active Granted
-
1988
- 1988-02-25 CN CN88100962A patent/CN1013068B/zh not_active Expired
- 1988-02-27 KR KR1019880002038A patent/KR950008227B1/ko not_active IP Right Cessation
- 1988-03-18 IT IT8819827A patent/IT1216132B/it active
- 1988-03-23 NL NLAANVRAGE8800715,A patent/NL185106C/xx not_active IP Right Cessation
- 1988-03-23 AR AR31037988A patent/AR240681A1/es active
- 1988-03-25 DE DE8804104U patent/DE8804104U1/de not_active Expired
- 1988-03-25 DE DE3810231A patent/DE3810231A1/de active Granted
-
1992
- 1992-02-11 SG SG130/92A patent/SG13092G/en unknown
- 1992-05-07 HK HK336/92A patent/HK33692A/xx unknown
- 1992-12-24 GR GR920403114T patent/GR3006676T3/el unknown
-
1997
- 1997-09-24 HK HK97101822A patent/HK1000295A1/xx not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
Non-Patent Citations (2)
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, 13 juin 1983, pges 1-40, IEEE, New York, US * |
Also Published As
Publication number | Publication date |
---|---|
US4901234A (en) | 1990-02-13 |
JPH0467224B2 (fr) | 1992-10-27 |
DE3782045D1 (de) | 1992-11-05 |
SG13092G (en) | 1992-04-16 |
CN88100962A (zh) | 1988-12-14 |
GB2202977B (en) | 1991-07-24 |
ES2035027T3 (es) | 1993-04-16 |
FR2613095A1 (fr) | 1988-09-30 |
IT1216132B (it) | 1990-02-22 |
EP0288607B1 (fr) | 1992-09-30 |
CN1013068B (zh) | 1991-07-03 |
GR3006676T3 (fr) | 1993-06-30 |
KR880011675A (ko) | 1988-10-29 |
EP0288607A1 (fr) | 1988-11-02 |
JPS63244158A (ja) | 1988-10-11 |
DE3782045T2 (de) | 1993-04-15 |
ATE81220T1 (de) | 1992-10-15 |
NL8800715A (nl) | 1988-10-17 |
KR950008227B1 (ko) | 1995-07-26 |
NL185106C (nl) | 1990-01-16 |
DE8804104U1 (de) | 1988-06-30 |
GB8728927D0 (en) | 1988-01-27 |
DE3810231C2 (fr) | 1989-10-26 |
DE3810231A1 (de) | 1988-10-06 |
HK1000295A1 (en) | 1998-02-20 |
AR240681A1 (es) | 1990-08-31 |
NL185106B (nl) | 1989-08-16 |
IT8819827A0 (it) | 1988-03-18 |
HK33692A (en) | 1992-05-15 |
GB2202977A (en) | 1988-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
BE1000819A3 (fr) | Ordinateur comportant une unite de commande d'acces direct en memoire programmable. | |
EP0020202B1 (fr) | Système multiprocesseur de traitement de signal | |
FR2630839A1 (fr) | Procede et dispositif de controle de l'acces a un bus dans un systeme informatique | |
EP0121030B1 (fr) | Dispositif d'arbitrage pour l'attribution d'une ressource commune à une unité sélectionnée d'un système de traitement de données | |
EP0063071B1 (fr) | Procédé et dispositif de transmission de données numériques | |
EP0558125B1 (fr) | Processeur neuronal à cellules synaptiques reparties | |
FR2593304A1 (fr) | Systeme logique de priorite | |
CH629319A5 (fr) | Installation de traitement de donnees. | |
FR2528195A1 (fr) | Systeme de communication entre ordinateurs | |
JPH08255124A (ja) | データ処理システムおよび方法 | |
FR2845177A1 (fr) | Protocole de priorite d'acces pour systeme informatique | |
EP0032862B1 (fr) | Dispositif pour superposer les phases successives du transfert des informations entre plusieurs unités d'un système de traitement de l'information | |
BE1001290A4 (fr) | Dispositif d'arbitrage d'acces a memoire direct. | |
EP0211763A1 (fr) | Procédé d'échange de données entre un microprocesseur et une mémoire et dispositif permettant une mise en oeuvre du procédé | |
EP0463901B1 (fr) | Procédé de dialogue entre les processeurs d'un système, système pour sa mise en oeuvre et utilisation pour la répartition des processus aux processeurs | |
EP0032864A1 (fr) | Dispositif pour décentraliser la gestion du bus de transfert de données commun à plusieurs unités d'un système de traitement de l'information | |
FR2574197A1 (fr) | Processeur du type a sequence de donnees | |
US6167478A (en) | Pipelined arbitration system and method | |
FR2869700A1 (fr) | Gestion de registres indexes dans un systeme sur une puce | |
EP0797153B1 (fr) | Dispositif de traitement d'information comportant plusieurs processeurs en parallèle | |
FR2664772A1 (fr) | Reseau local d'intercommunication de modules de traitement de donnees. | |
FR2636448A1 (fr) | Dispositif d'acquisition de donnees pour processeur | |
EP1293909B1 (fr) | Controle d'accès dynamique d'une fonction à une ressource collective. | |
FR2484668A1 (fr) | Procede et appareil pour transferer des donnees externes d'entree et de sortie a un systeme microprocesseur | |
FR2633744A1 (fr) | Dispositif de memoire vive electronique |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RE | Patent lapsed |
Owner name: INTERNATIONAL BUSINESS MACHINES CORP. Effective date: 19911231 |