Brevet FR2558616A1 — publié le 19850726

La présente invention se rapporte d'une façon générale aux calculateurs numériques, et concerne plus particulièrement un dispositif d'adres- sage direct en mémoire pour relier des dispositifs périphériques à un calculateur. Il est connu qu'un calculateur numérique peut être équipé avec une possibilité d'adressage direct en mémoire pour permettre que différents types de dispositifs d'entrée/sortie soient connectés, géné- ralement par une ligne omnibus de mémoire partagée. Mais l'utilisation d'une ligne omnibus de mémoire partagée impose que le fonctionnement de l'unité centrale de traitement du calculateur soit momentanément interrompu lorsque des données doivent être transférées vers ou depuis un module d'entrée/ sortie. Bien entendu, si de nombreux modules d'entrée/ sortie sont connectés dans un ensemble, la fréquence de ces interruptions peut être suffisamment grande pour que le rendement de l'ensemble soit dégradé à un degré inacceptable. Il est connu que des dispositifs d'entrée/sortie peuvent être connectés à un calculateur par des circuits comprenant une mémoire tampon. Par exemple, comme cela sera représenté et décrit, un tambour magnétique peut être agencé de manière à être accessible indépendanmmaent par l'unité centrale de traitement du calculateur et par l'un sélectionné de plusieurs dispositifs d'entrée/sortie. Bien qu'une telle dispo- sition soit utile dans de nombreuses applications à vitesse réduite", dans lesquelles l'interruption de l'unité centrale de traitement est de courte durée, le temps nécessaire pour accéder à une adresse donnée est trop long pour permettre l'utilisation dans des applications à "grande vitesse" dans lesquelles la fréquence et la durée des interruptions de l'unité centrale de traitement doivent être réduites au minimum. Compte tenu de ceci, un objet de l'invention est de proposer un dispositif d'adressage direct en mémoire pour un calculateur numérique, dans lequel les interruptions de l'unité centrale de traitement sont réduites au minimum. Un autre objet de l'invention est de proposer un dispositif d'adressage direct en mémoire pour un calculateur numérique qui élimine les conditions d'en- combrement parmi divers modules d'entrée/sortie. Un autre objet encore de l'invention est de proposer un dispositif d'adressage direct en mémoire pour un calculateur numérique, dans lequel chaque circuit de commande d'adressage direct en mémoire ne doit adresser qu'une partie limitée d'une mémoire d'unité centrale de traitement, réduisant ainsi la complexité du circuit de commande d'adressage. Ces objets de l'invention ainsi que d'autres sont atteints grâce à un ensemble de calculateur numérique comprenait plusieurs modules d'entrée/sortie intercalés entre l'unité centrale de traitement de cet ensemble et les dispositifs d'entrée/sortie. Chaque module d'entrée/sortie comporte un circuit de commande d'adressage direct en mémoire et une mémoire tampon à accès direct formée dans une mémoire principale affectée à l'ensemble de calculateur. D'autres caractéristiques et avantages de l'invention apparaitront au cours de la description qui va suivre. Aux dessins annexés donnés uniquement à titre d'exemple nullement limitatif: La figure 1 est un schéma simplifié d'un dispositif de traitement de données selon l'invention, et La figure 2 est un schéma simplifié illustrant la circulation de données dans le module d'entrée/ sortie de la figure 1. Avant de passer à une description détaillée d'un dispositif de traitement de données selon l'inven- tion, il faut noter qu'il s'agit d'un module perfectionné intercalé entre l'unité centrale de traitement d'un calculateur numérique et un dispositif d'entrée/sortie. Il apparaît donc qu'une description générale de l'organisation d'un calculateur numériaue complet et une description détaillée d'éléments connus (comme les générateurs d'horloge et les mécanismes de lecture/ écriture) ne sont pas nécessaires pour la mise en oeuvre de l'invention. En outre, étant donne que l'invention peut être appliquée à tout type connu de dispositif d'entrée/sortie, ainsi qu'à tout type de mémoire utilisé dans un calculateur numérique comme mémoire principale et avec un traitement en série ou en parallèle, les éléments qui constituent le présent module sont représentés sous forme de casesétant bien entendu que chacun de ces éléments est connu en lui même. Enfin, il faut noter qu'un seul module d'entrée/sortie et un seul dispositif d'entrée/sortie périphérique sont représentés bien qu'un nombre quelconque de ces dispositifs périphériques puissent être prévus mais pourvu que le module d'entrée/sortie comporte un nombre suffisant de canaux. La figure 1 montre qu'un module d'entrée/sortie est connecté de la manière habituelle à la ligne omnibus principale 12 d'un calculateur numérique, entre une unité centrale de traitement 11 et une mémoire principale 13. Une unité d'interface 19 de réalisation connue est connectée entre le module d'entrée/sortie et le dispositif d'entrée/sortie 17. Il faut noter que l'unité d'interface 19 convertit le format des données -4 vers et depuis un type particulier de dispositif d'entrée/sortie 17 dans le format des données sur la ligne omnibus principale 12 et dans la mémoire prin- cipale 13. Ainsi, en fonction du dispositif d'entrée/ sortie particulier, l'unité d'interface 19 peut comporter des convertisseurs analogiquesnumériques, des convertisseurs numériques-analogiques et des convertisseurs série-parallèle. Il faut également noter que, quel que soit le format de chaque mot de données sur la ligne omnibus principale, en série ou en parallèle, chaque mot comporte une zone d'adresse, une zone de commande et une zone de données, ces zones apparaissant respectivement sur une ligne omnibus d'adresse d'unité. centrale de traitement 14, une ligne omnibus de commandes d'unité centrale de traitement 16 et une ligne omnibus de données d'unité centrale de traitement 18. Il faut également noter que d'autres signaux comxe les impulsions d'horloge et des signaux de commande de lècture/écriture nécessaires pour le fonctionnement mais non pour la compréhension de l'in- vention passent sur la ligne omnibus principale 12. Enfin, et ce qui importe davantage, il faut noter qu'une section affectée, représentée en pointillés, de la mémoire principale 13 est utilisée comme une mémoire à accès direct 21 dans le module d'entrée/ sortie 15 et que différentes sections affectées de la mémoire principale 13 sont utilisées pour d'autres modules d'entrée/sortie connectés à la ligne omnibus principale. Avant d'examiner en détail la figure 2, il faut remarquer que les éléments dans le module d'entrée/sortie 15 sont largement représentés comme s'ils étaient "câblés" par des dispositifs de commutation. Mais il est évident que les différents éléments pourraient être des unités "adressables" pour éliminer les différents circuits de commutation. La figure 2 montre donc que le module d'entrée/sortie comporte une mémoire à accès direct 21 consistant en une section affectée de la mémoire principale 13 (figure 1). L'adressage de la mémoire à accès direct 21 est effectué par la ligne omnibus d'adresses 14 ou par l'un quelconque de 4 éléments d'adressage direct en mémoire 23, 25, 27, 29 (iodèle AM 2940 de AMD (Advanced MicroDevices Inc.), 901 Thompson Place, Sunnyvale, Californie) d'une manière qui sera décrite. Des données à écrire (ou à lire) dans la mémoire à accès direct 21 apparaissent sur la ligne omnibus de données "A" 32 ou la ligne de données "B" 34. A cet effet, une commande d'unité centrale de traitement C-CPU et une commande d'entrée/sortie C-E/S sont appliquées à un circuit logique de commande 31, dans le cas présent une matrice logique courante réagissant à l'une ou l'autre des commandes appliquées ou aux deux: (a) en adressant la mémoire à accès direct 21 par l'un des dispositifs d'adressage 23,25, 27, 29 ou d'une manière qui sera décrite par l'adresse d'unité centrale de traitement; (b) en écrivant, d'une manière qui sera décrite, des données en série DS provenant du dispositif d'entrée/sortie 17 de la figure 1 ou de la ligne omnibus de données "A" 32 ou de la ligne omnibus de données d'unité centrale de traitement 18 (figure 1) par la ligne omnibus de données "B" 34 à l'adresse sélectionnée dans la mémoire 21; (c) en lisant des données en série à l'adresse sélectionnée dans la mémoire 21 et en passant finalement ces données (sur la ligne omnibus de données "A" 32 oui la ligne omnibus de données "B" 34) vers le dispositif d'entrée/sortie 17 (figure 1) ou par la ligne omnibus de données d'unité centrale de traitement 18 vers l'unité centrale 11 (figure 1); ou (d) en faisant passer des données en parallèle DP provenant de la ligne 2 5 5 8 616 omnibus de données d'unité centrale de traitement 18 vers le dispositif d'entrée/sortie 17 (fiture 1). Conjointement avec ceci, il faut noter que le circuit logique de commande 31 est agencé pour donner priorité à la commande d'unité centrale de traitement C-CPU sauf dans le cas o des données provenant du dispositif d'entrée/sortie 17 (figure 1) sont en cours d'écriture dans la mémoire à accès direct 21 et que l'accès à cette mémoire est commandé par la commande d'unité centrale de traitement C-CPU. Dans ce cas seulement (mais qui se produit rarement) une interruption de communication avec l'unité centrale de traitement (figure 1) est produite. Un signal d'autorisation en série AUTS ou un signal d'autorisation en parallèle AUTP est transféré comme représenté depuis le circuit logique de commande 31 vers respectivement un circuit 33 de commande de communication en série ou un circuit 35 de commande de communication en parallèle pour autoriser l'un ou l'autre. Le circuit 33 de commande de communication en série est un modèle Z8530A de Zilog Inc., Dell Avenue, Campbell, Californie, 95008. Le circuit 35 de commande de communication en parallèle est le modèle AM7303B de AMD. La ligne omnibus de données d'unité centrale de traitement 18 (figure 1) est connectée à un tampon de données d'unité centrale de traitement 37 (dans le cas présent, le modèle AM7303B de Advanced MicroDevices, Inc. 401 Thompson Place, Sunnyvale, Californie) et la ligne omnibus d'adresses de CPU 14 (figure 1) est connectée à deux tampons qui sont respectivement un tampon 39 d'adresses d'unité centrale de traitement (série) et un tampon 41 d'adresses d'unité centrale de traitement (parallèle). Les deux tampons précités sont des modèles 54 LS244 de Texas Instruments Inc., Dallas, Texas, 75222. Il faut noter que les tampons 39, 41 sont adressables, c'est-à-dire que l'adresse particulière d'unité centrale de traitement présente à tout moment, détermine celui des deux qui doit être autorisé. Entre la mémoire à accès direct 21, le tampon de données d'unité centrale de traitement 37, le circuit de commande de communication en série 33 et le circuit de commande de communication en parallèle 35 sont intercalés des tampons 43a, 43b et des commutateurs 45a, 45b, 47. Les tampons 43a, 43b sont des modèles AM 7304B de Advanced MicroDevices Inc. Il faut noter que chacun des tampons 43a, 43b est un dispositif à 8 bits et par conséquent, que les deux acceptent des mots de 16 bits sur la ligne omnibus de données "A" 32. Les commutateurs 45a, 45b connectent, en fonction du signal de commande "a" provenant du circuit logique de commande 31, le circuit 33 de commande de communication en série ou le circuit 35 de commande de communication en parallèleaux tampons 43a, 43b. Le commutateur 47, connecte en fonction du signal de commande "b" provenant du circuit logique de commande 31, les tampons 43a, 43b ou le tampon de données d'unité centrale de traitement 37 à la mémoire à accès direct 21. Pour compléter la description, des commutateurs 49a, 49b et un circuit de commande de lecture/écriture 51, réagissant chacun à des signaux de commande provenant du circuit logique de commande 31, permettent l'adressage du dispositif d'adressage 27 et du dispositif d'adressage 29 (si des données en parallèle doivent être transférées vers ou depuis la mémoire 21) et l'enregistrement ou la lecture de données à une adresse sélectionnée (A1, A2, A3, A4)dans la mémoire à accès direct 21. Après avoir décrit la disposition d'un exemple d'un module d'entrée/sortie, il apparaUt que les objets indiqués de l'invention sont atteints. Ainsi, étant donné que le circuit de commande logique 31 est agencé pour donner la priorité de commande d'unité centrale de traitement (sauf lorsqu'une commande d'entrée/sortie est réellement exécutée) le nombre des interruptions de l'unité centrale de traitement est réduit au minimum. Etant donné que la mémoire à accès direct 21 dans chacun des différents modules d'entrée/sortie est une partie affectée séparément à la mémoire principale 13 de la figure 1, il n'y a pas de risque d'encombrement parmi les modules d'entrée/sortie. Les circuits de commande d'accès direct à la mémoire n'ont qu'à adresser la mémoire à accès direct 21 plutôt que l'ensemble de la mémoire de l'unité centrale de traitement, ce qui réduit la complexité de ces circuits de commande. Il est évident que de nombreuses modifications peuvent être apportées sans sortir du cadre de l'inven- tion. Par exemple, si le module d'entrée/sortie doit être utilisé dans un ensemble de calculateur numérique dans lequel seules des données en série doivent être traitées, les éléments nécessaires pour les données en parallèle peuvent être éliminés. D'une façon similaire, si le calculateur numérique ne traite que des données en parallèle, les éléments nécessaires pour les données en série peuvent être éliminés. REVENDICATIONS 1. Dispositif de réduction des interruptions d'une unité centrale de traitement sous l'effet du fonctionnement d'au moins un dispositif d'entrée/sortie et d'un module d'entrée/sortie dans un ensemble de calculateur numérique destiné à traiter des données dans un format en série ou en parallèle, dans lequel une unité centrale de traitement (11) est connectée par une ligne omnibus principale (12) à une mémoire principale (13) et des données en format en série ou en parallèle sont également appliauées à cette ligne omnibus par au moins un dispositif d'entrée/sortie (17) par l'intermédiaire d'un module d'entrée/sortie (15), dispositif caractérisé en ce qu'il comporte essentiel- lement un circuit logique de commande (31) réagissant à un premier signal de commande codé provenant de l'unité centrale de traitement (11) et à un second signal de commande codé provenant du dispositif d'entrée/sortie (17) en produisant plusieurs signaux d'autorisation en fonction du format des données et du sens voulu de transmission des données, une mémoire à accès direct (21), cette mémoire étant une partie affectée de la mémoire principale (13), des dispositifs d'adressage de mémoire (23-29) réagissant aux premiers signaux d'autorisation parmi lesdits plusieurs signaux en adressant sélectivement la mémoire à accès direct en fonction des adresses dans les mots provenant de l'unité centrale de traitement ou du dispositif d'entrée/sortie, et un dispositif de commutation (45,47r49) réagissant aux seconds signaux d'autorisation parmi lesdits plusieurs signaux en faisant passer sélectivement des données vers l'adresse sélectionnée dans la mémoire à accès direct, depuis l'unité centrale de traitement ou le dispositif d'entrée/ sortie. 2. Dispositif selon la revendication 1, caractérisé en ce que le circuit logique de commande (31) réagit au premier signal de commande codé dans tous les cas, sauf quand des données sont transférées par le dispositif de commutation depuis le dispositif d'entrée/sortie (17) vers la mémoire à accès direct (21). 3. Dispositif selon la revendication 2, caractérisé en ce que le dispositif d'adressage en mémoire comporte un tampon (41) réagissant à l'adresse dans chaque mot provenant de l'unité centrale de traitement (11) quand cette adresse correspond à une adresse dans la mémoire à accès direct (21) en produisant une première adresse correspondant pour la mémoire à accès direct, au moins une unité d'accès direct à la mémoire (23-29) réagissant à l'adresse dans chaque mot provenant du dispositif d'entrée/sortie (17) jquand cette adresse correspond à une adresse dans la mémoire à accès direct (21) en produisant au moins une seconde adresse correspondante pour la mémoire à accès direct, et un dispositif (33,35) réagissant aux premiers signaux d'autorisation en autorisant sélectivement le tampon et la au moins une unité d'accès direct à la mémoire. 4. Dispositif selon la revendication 3, caractérisé en ce que le dispositif de commutation peut être actionné sélectivement pour faire passer des données depuis l'unité centrale de traitement vers le dispositif d'entrée/sortie.