Brevet FR2005914A1 — publié le 19691219

La présente Invention concerne le traitement des données digitales. Dans l'art antérieur, l'unité centrale de traitement CPU était réalisée de sorte que la chronologie du circuit logique de commande du CPU s'accorde avec la vitesse de la mémoire principale qui devait fonctionner avec le CPU. 5 Si ensuite, on utilisait avec le CPU une mémoire principale plus rapide, le CPU ne pouvait en tirer avantages. Si on utilisait avec le CPU une mémoire principale plus lente, le circuit logique de commande du CPU devait être changé pour tenir compte des temps d'accès à la mémoire plus longs et de la durée supérieure du cycle de la mémoire. De plus, le CPU ne peut fonctionner 10 avec plusieurs mémoires ayant des temps d'accès et des durées de cycles différents, sans que les circuits logiques du CPU ne salent conçus de façon particulière pour tenir compte de ces temps différents. L'objet général de l'invention est de réaliser une interface asynchrone entra la mémoire principale et l'unité centrale de traitement, de sorte que 15 l'on puisse utiliser cette unité centrale, fonctionnant à une vitesse très élevée avec une mémoire fonctionnant à vitesse relativement basse. La mémoire principale engendre des signaux d'indication en différents points de son cycle pour indiquer d l'unité centrale de traitement que la mémoire peut réaliser une opération désirée à un Instant particulier du cycle de l'unité centrale 20 de traitement. Ces signaux bloquent les horloges de cette unité centrale, de sorte que le fonctionnement cyclique du dispositif de mise en séquence de l'unité centrale de traitement est Inhibé. Lorsque la mémoire est prête à réaliser les opérations désirées, les horloges de l'unité centrale de traitement sont de nouveau mises en route de sorte que l'opération désirée sera 25 réalisée au cours de la période permise suivante du cycle de l'unité centrale de traitement. Une tell* interface asynchrone rend le circuit logique de commande des instructions de l'unité centrale de traitement indépendent des temps d'accès à la mémoire principale et des durées de cycle de cette mémoire, ce qui permet 30 à l'unité centrale de traitement d'être utilisée avec plusieurs mémoires ayant des temps d'accès et des durées de cycle différents. Puisque l'unité centrale de traitement peut avoir des durées de cycle très courtes, on peut réduire la durée de l'exécution des instructions lorsque l'unité centrale de traitement est utilisée avec une mémoire ayant une durée de cycle plus courte que 35 celle de toutes les mémoires existant actuellement. De plus, cette interface asynchrone réduit le nombre des états de commande d'instruction nécessaires pour une mémoire particulière par rapport à l'art antérieur lorsque le dispositif de mise en séquence d'instructions doit fonctionner continuellement même si la mémoire ne peut réaliser une opération désirée dès que l'unité 40 centrale de traitement le demande. 09516 2 2005914 D'autres objets, caractéristiques et avantages de la présente invention rassortiront mieux de l'exposé qui suit, fait en référence aux dessins annexés à ce texte, qui représentent un mode de réalisation préféré de celle-ci. La figure 1 représente un bloc diagramme simplifié d'un système de trai-5 tement de données dans lequel on peut utiliser l'interface asynchrone. La figure 2 représente un diagramme des temps montrant la chronologie des signaux d'indication et des divers signaux de commande engendrés par l'unité centrale de traitement de la mémoire pour réaliser l'interface asynchrone. Les figures 3-10 représentent divers circuits logiques pour produire 10 les signaux représentés sur la figure 2. Dans un système de traitement de données digitales parallèle, représenté sur la figure 1, la mémoire principale comprend une mémoire 10 contenant des données et instructions, un registre d'adresses SAR 12 pour contenir les adresses de l'information désirée dans la mémoire et un registre de données SDR 15 14 pour contenir l'information lue à partir de la mémoire. L'information est transférée à l'unité centrale de traitement par un bus 15 auquel peuvent itre connectées d'autres mémoires en commun par l'intermédiaire de circuits 00 appropriés. L'unité centrale de traitement comprend un générateur d'impulsions d'hor-20 loge 18 qui fournit des impulsions d'horloge permettant le fonctionnement cyclique d'un dispositif de mise en séquence d'instructions 20 et permettant de commander le fonctionnement des divers circuits logiques de l'unité centrale de traitement et des circuits logiques entrée/sortie I/O. Un circuit logique additionneur 22 et un dispositif à décalage 24 agissent sur les don-25 nées appliquées aux entrées 26 et 28. Un compteur d'instructions IC 30 actionné séquentiellement détermine les adresses des instructions dans la mémoire 10. Des registres 32, 34 et 36 emmagasinent les données reçues à partir du bus principal 38 qui est connecté de façon à recevoir les données provenant entre autres des sorties du circuit logique additionneur 22 et du dispositif 30 à décalage 24. Les cercles représentent des circuits OU. On va maintenant donner une description d'une opération typique de l'interface asynchrone avec le système de traitement de données généralisé représenté sur la figure 1. On se référera à la figure 2 qui représente la chronologie relative des divers signaux et aux figures 3-10 qui représentent les 35 circuits logiques permettant d'engendrer les divers signaux. On supposera qu'un cycle de l'unité centrale de traitement dure 400 nanosecondes et est divisé en 6 intervalles de temps égaux par 6 impulsions d'horloge CP1C, CP2C ... CP6C. Un cycle de la mémoire est défini comme étant égal à 6 cycles de l'unité centrale de traitement soit 2,4 microsecondes. 40 Un cycle de l'unité centrale de traitement est défini comme le temps nécéssaire 69 09516 3 2005914 pour changer l'état du dispositif de mise en séquence d'instructions 20, pour ajouter les contenus de deux registres dans le circuit logique additionneur 22 et pour replacer le résultat dans un registre. Le temps d'accès à la mémoire principale est défini comme le temps à 5 partir du début du cycle de la mémoire par un signal SELECTION jusqu'à ce que les données de sortie soient stables dans le registre SDR 14. La durée du cycle de la mémoire principale de 2,4microsecondes sst la durée minimum nécessaire entre les signaux SELECTION successifs. On imposera aussi les règles suivantes à la mémoire principale. Le regis-10 tre SAR 12 doit Stre stable pendant 2,2 microsecondes après qu'un signal SE-LECTION soit donné par l'unité centrale de traitement. Les données provenant de la mémoire principale ne sont disponibles dans le registre SDR que 800 nanosecondes après un signal SELECTION. De plus, le dispositif de mise en séquence d'instructions 20 change son 15 état d'instruction pendant l'intervalle CP6C de chaque cycle de l'unité centrale de traitement. On va maintenant considérer le diagramme des temps de la figure 2 et les circuits logiques des figures 3-10. Sur la figure 3, ls générateur d'horloge 18 fonctionne continuellement pour produire 6 impulsions d'horloge CP1S ... CPGS également espacées toutes 20 les 400 nanosecondes, ce qui est égal à la durée d'un cycle de l'unité centrale de traitement. Ces six impulsions d'horloge sont appliquées è six portes ET correspondantes 40, 42, 44, 4B, 48 et 50. Les portes ET 40, 42 et 44 produi ront les impulsions d'horloge CP1C - CP3C uniquement si la seconde entrée de chacune des portes ET reçoit le signal CONDITIONNER HORLOGES 1-3. De même, 25 les portes ET 46, 48 et 50 produiront les impulsions d'horloge CP4C -CP6C uniquement si leur seconde entrée reçoit le signal CONDITIONNER HORLOGES 4-6 du CPU. Les portes ET 52 fonctionnent d'une manière analogue pour produire les impulsions d'horloge CP1 I/O -CP6 I/O pour les unités entrée/sortie I/O. On suppose que le dispositif de mise en séquence d'instructions20 engen-30 dre un signal BUS A SAR à l'instant CP6C du cycle 4 de l'unité centrale de traitement. On suppose aussi que le registre SAR n'est pas disponible à cause de la courte durée du cycle de la mémoire et par conséquent un signal OCCUPE est aussi présent. D'après la figure 4 on peut voir que la coïncidence de ces deux signaux fait que la porte ET 54 produit un signal qui est amené par 35 l'intermédiaire d'un circuit OU 56 à une entrée d'une porte ET 58. L'autre entrée de la porte ET 58 reçoit une impulsion CP3S du générateur de signaux d'horloge dans le cycle 5 de l'unité centrale de traitement. Par conséquent, à l'instant CP3S une bascule 60 est enclenchée pour augmenter le niveau des signaux sur la ligne 62 et diminuer celui des signaux sur la ligne 64. Dans 40 sa condition de niveau bas, la ligne 64 produit un signal CONDITIONNER H0RL0- 69 09516 4 2005914 lits 4-b du UHU, ou, en d'autres termes, DECONOITIONNER HORLOGES 4-6. En considérant la figura 3, on peut voir que les portes ET 46, 48, et 50 sont déconditionnées de sorte que les impulsions d'horloge CP4C - CP6C dans le cycle 5 de l'unité centrale de traitement ne sont pas produites. De plus, à l'instant CP6S du cycle 5 de l'unité centrale de traitement, la porte ET 66 enclenche une bascule 68, de sorte que le niveau de la ligne de sortie 70 est bas. engendrant un signal CONDITIONNER HORLOGE 1-3 DU CPU pour arrêter les impulsions d'horloge CP1C - CP3C dans le cycle 6 de l'unité centrale de traitement. Ceci vient du fait que les portes ET 40, 42 et 44 sur la figure 3 sont main-10 tenant déconditionnées. En conséquence, toutes les impulsions d'horlogs CP1C - CP6C sont arrêtées de sorte que le dispositif de mise en séquence d'instruction 20 n'est plus avancé. Cependant, dans le cycl8 6 da l'unité centrale de traitement, le signal OCCUPE chute car l'impulsion provenant du monostable 71 sur la figure 5 est 15 terminée indiquant que la mémoire principale approche de la fin du cycle de 2,4 microsecondes. Lorsque le signal OCCUPE chute, la sortie de la porte ET 54 sur la figure 4 chute ainsi que la sortie de la porte OU 56 mais la sortie de l'inverseur 72 passe au niveau haut pour conditionner uns entrée de la porte ET 74 dont la sortie est connectée à la borne de restauration de la 20 bascule 50. En conséquence, à l'instant CP3S du cycle 1, la sortie ds la porte ET 74 passe au niveau haut pour restaurer la bascule 60 ce qui excite la ligne 64 afin d'engendrer un signal CONDITIONNER HORLOGE 4-6 DU CPU, qui conditionne les portes ET 46, 48 et 50. En conséquence, les impulsions du générateur d'horloge CP4S - CP6S pro-25 duiront les impulsions d'horloge CP4C - CP6C dans le cycle 1 de l'unité centrale de traitement. De plus, le signal sur la ligne 64 conditionne une porte ET 76 de sorte qu'à l'instant CP6S du cycle 1, la bascule 68 est restaurée pour produire un signal haut sur la ligne 70 engendrant ainsi le signal CONDITIONNER HORLOGES 1-3 CPU qui, comme on peut le voir d'après la figure 3, per-30 met aux impulsions d'horloge CP1C -CP3C d'être engendrées pendant le cycle 2 de l'unité centrale de traitement. Par conséquent, à l'instant CP6C du cycle 1, le dispositif de mise en séquence d'instruction 20 changera d'état et ainsi abaissera le niveau du signal BUS A SAR. Cependant, comme on peut le voir d'après la représentation 35 du circuit logique de la figure 6, l'impulsion d'horloge CP4C du fcycle 1 enclf é-che una bascule BO pour augmenter le niveau sur la lignB de sortie 82 et fournir un signal BUS A SAR RETARDE qui chute au moment de l'impulsion CP4C suivante si un signal BUS A SAR n'est pas présent au même instant. Le signal BUS A SAR RETARDE, est appliqué à une entrée d'une porte ET 40 84 sur la figure 7. L'autre entrée de la porte ET 84 est conditionnée par >9 09516 5 2005914 la sortie correspondant à l'état enclenché d'une bascule 66 qui est enclenchée à l'instant CP1S et bloquée à l'instant CP3S. En conséquence, pendant les impulsions du générateur d'horloge CP1S et CP2S du cycle 2, une impulsion HORLOGE SAR est produite. C'est une impulsion de commande qui permet de chan-5 ger l'adresse danB le registre SAR 12 de la figure 1. On peut voir que l'instant où se produit le signal OCCUPE est tel que les horloges sont conditionnées et l'impulsion HORLOGE SAR peut se produire de sorte que les règles d'utilisation de la mémoire sont respectées. L'impulsion HORLOGE SAR peut être appliquée à un moyen de conditionnement approprié non représenté, pour réaliser 10 cette fonction. Par conséquent, au début du cycle 2 de l'unité centrale de traitement, il y a une nouvelle adresse dans le registre SAR 12. Comme on peut le voir d'après la figure 8, à l'instant CP4S du cycle 1, une fois que le signal OCCUPE a chuté, la sortie de la porte ET 88 restaure une bascule 90 pour pro- 15 dulre un signal OCCUPE BLOQUE. On peut maintenant supposer qu'au début du cycle 2 de l'unité centrale de traitement, le dispositif de mise en séquence 20 engendre un signal LECTURE. Comme on peut le voir d'après la figure 9, la sortie de la porte ET 92 aura maintenant un niveau haut pour conditionner une entrée d'une autre 20 porte ET 96 qui produira une sortie à l'instant CP4S du cycle 4. Cette sortie restaure une bascule 98 pour faire chuter le signal SELECTION. C'est cette chute du signal SELECTION, qui devient donc le signal SELECTION qui déclenche le monostable 71 sur la figure 5 produisant le signal OCCUPE dont la durée est déterminée par le temps de commutation du monostable qui est calculé sui 25 vant la longueur du cycle de la mémoire. Le signal SELECTION fait aussi que les circuits de commande de la mémoire coimiencent un cycle de la mémoire. Dans ce qui précède, on a décrit comment le signal OCCUPE est utilisé pour arrêter les horloges de l'unité centrale de traitement d'une unité centrale fonctionnant à vitesse élevée arrêtant ainsi le dispositif de mise en 30 séquence d'instruction jusqu'à ce que la mémoire principale plus lente puisse s'adapter à la vitesse de l'unité centrale de traitement. Le signal OCCIFE est au niveau haut pendant les 200 nanosecondes qui suivent le début du cycle de la mémoire pour une mémoire ayant un cyole de 2,4 microsecondes et a un niveau bas pendant un peu moins de deux cycles de 1'unité centrale de 35 traitement (6Q0-80D nanosecondes) avant que le signal suivant SÉLECTION puisse être donné. Si le cycle de la mémoire durait 2,8 microsecondes au lieu de .2,4, le monostable OCCUPE 71 serait réalisé pour fournir une impulsion de 400 nanosecondes de plus que l'impulsions OCCUPEE supposée. On peut maintenant décrire comment le signal AVANCE compense le temp3 40 d'accès plus court de la mémoire principale. On peut supposer qu'à l'instant 69 09516 6 2005SM4 CP6C du cycle 2 la dispositif de mise en séquence d'instruction 20 engendre le signal SDR A BUS demandant que le contenu du registre SDR 14 soit transféré au BUS 15. Puisque le temps d'accès à la mémoire principale est supposé égal à 800 nanosecondes, la mémoire ne peut réaliser cette demande car le monosta-5 ble 100 sur la figure 5 n'a pas encore son impulsion terminée pour déclencher le monostable 101 qui fournit un signal AVANCE. Le signal AVANCE a son niveau haut pendant un peu moins de la durée d'un cycle de l'unité centrale de traitement (200-400 nanosecondes) avant que le registre SDR soit stable. Pour la chronologie typique supposée, le signal AVANCE a son niveau qui monte de 10 400 à 600 nanosecondes après le signal SELECTION et le temps d'accès est de 800 nanoeecondes. Une mémoire ayant un temps d'accès de 1200 nanosecondes nécessite que le signal AVANCE ait son niveau qui augmente 800-1000 nanosecondes après le signal SELECTION. De mime, le signal AVANCE est réglé de façon à être utilisé avec des mémoires ayant des temps d'accès variables. En consi-15 dérant la figure 4, on peut voir que l'absence du signal AVANCE conditionne la porte ET 102, de sorte que la sortie de cette porte ET a son niveau haut lorsque le signal S0R A BUS se produit. La sortie de la porte ET 102 passe par le circuit OU 56 pour conditionner la porte ET 58 de sorte que les horloges CP4C - CP6C sont déconnectées à l'instant CP3S du cycle 3 et Ibb horloges 20 CP1C - CP3C sont déconnectées à l'instant CP6S, comme cela a été décrit précé-denment en se référant au signal occupé. Lorsque le signal AVANCE devient haut à la fin de l'impulsion délivrée par le monostable 100 sur la figure 5, le circuit logique de la figure 4 conditionne ou met en route les horloges de l'unité centrale de traitement de la 25 manière décrite en se référant à l'opération réalisée par le signal OCCUPE. Puisque le signal AVANCE devient haut après l'instant CP4S dans le cycle 3, les horloges de l'unité centrale de traitement ne conmencent pas à fonctionner avant l'instant CP4S du cycle 4. A l'instant CP6C du cycle 4, puisque les horloges de l'unité centrale de traitement fonctionnent, le dispositif de 30 mise en séquence fera chuter le signal SDR A BUS et introduira un autre état d'instruction. Cependant, comme représenté sur la figure 10, le signal BUS A S0R est ajouté par une opération ET avec le signal CP4C dans le cycle 4 pour enclencher la bascule 104 et produire sur la ligne de sortie 106 un signal SDR A BUS RETARDE qui conditionne une entrée d' une porte ET 108. Une autre 35 entrée de la porte 108 est conditionnée par le signal BUS A A provenant du dispositif de miBe en séquence d'instruction pour produire à l'instant CP1C du cycle 5 un signal HORLOGE REGISTRE A qui transfère réellement le contenu du registre SDR au registre A 32 dans l'unité centrale de traitement. On peut voir d'après les règles de chronologie définies précédemment que, étant don-40 né le temps d'accès à la mémoire de 800 nanosecondes, la première fois où 69 09516 7 2005914 le contenu du registre SDR peut être transféré sat l'instant CP1S du cycle 5. La bascule 104 est restaurée à l'impulsion d'horloge suivante CP4C. D'après la description précédente on peut voir que le signal AVANCE permet à l'unité centrale de traitement fonctionnant à très grande vitesse de communi-5 quer avec une mémoire principale ayant un temps d'accès long. Ceci est réalisé en arrêtant les horloges de l'unité centrale de traitement jusqu'à ce que les données dans ls registre SDR soient suffisanment stables pour ifere transférées au registre de l'unité centrale de traitement. Bien que cette description concerne le transfert des données entre une mémoire principale et l'unité 10 centrale de traitement, il est évident que des instructions correspondantes peuvent être engendrées pour transférer les données entre les dispositifs entrée/sortie et l'unité centrale de traitement ou une mémoire. Bien que l'on ait décrit dans ce qui précède et représenté sur les dessins, les caractéristiques essentielles de l'invention appliquées à un mode 15 de réalisation préféré de celle-ci, il est évident que l'horrme de l'art peut y apporter toutes modifications de forme ou de détail qu'il juge utiles, sans pour autant sortir du cadre de ladite invention. 69 09516 8 2005914 REVENDICATIONS 1.- Système de traitement de données ayant une unité de traitement de données centrale, un générateur d'impulsions d'horloge, un moyen pour distribuer les impulsions d'horloge à l'unité de traitement de données centrale, et une mé- 5 moire pour emmagasiner les données, caractérisé en ce qu'il comprend: a) un moyen associé à la mémoire pour engendrer un signal indiquant que cette mémoire commence un cycle de fonctionnement qui 'doit être terminé avant qu'un cycle de fonctionnement prédéterminé de l'unité centrale de traitement de données puisse être introduit de façon satisfaisante, 10 b) des moyens sensibles au signal d'indication permettant de déconnec ter le moyen de distribution avant de mettre l'unité centrale de traitement de données dans le cycle de fonctionnement prédéterminé et sensible à l'absence des signaux d'indication pour connecter le moyen de distribution, ce qui entraîne l'arrêt du fonctionnement de l'unité centrale de traitement de 15 données jusqu'à ce que la mémoire soit de nouveau prête à fonctionner. 2.- Système de traitement de données selon la revendication 1, caractérisé en ce que le moyen pour engendrer les signaux d'indication est sensible à une demande émanant de l'unité centrale de traitement pour engendrer un signal OCCUPE indiquant que la mémoire ne sera pas disponible pendant un temps prédé-20 terminé qui dépend de la durée du cycle de la mémoire pour recevoir et emmagasiner les données qui peuvent être prêtes à être envoyées à la mémoire par l'unité centrale de traitement de données. 3.- Système de traitement de données selon la revendication 1, caractérisé en ce le moyen engendrant les signaux d'indication répond à une demande émanant 25 de l'unité centrale de traitement pour engendrer comme signal d'indication un signal AVANCE indiquant que la mémoire n'est pas prête à transmettre à l'unité centrale les données qui ont été demandées par l'unité centrale et comprenant de plus, un moyen pour engendrer un signal AVANCE correspondant à l'absence du signal indication pour indiquer que la mémoire est prête à 30 transmettre les données demandées à l'unité centrale. 4.- Système de traitement de données selon la revendication 1, caractérisé en ce que la mémoire comprend une partie d'emmagasinage de données, des moyens pour commander l'adresse à laquelle les données seront emmagasinées et un registre pour emmagasiner temporairement les données lues à partir de la mé-35 moire, en ce que l'unité centrale de traitement de données comprend un moyen pour réaliser des opérations logiques sur les données d'une part, un moyen 69 09516 S 2005914 pour transmettre les données depuis les registres au dispositif d'exécution d'autre part et des moyens pour transmettre les données depuis le dispositif d'exécution au moyen d'emmagasinage, et en ce qu'il comprend des moyens pour engendrer comme signal d'indication un signal OCCUPE indiquant que la mémoire 5 n'est pas encore disponible pour commander précisément l'adresse à laquelle les données provenant du dispositif d'exécution doivent être emmagasinées. 5.- Système de traitement de données selon la revendication 1, caractérisé en ce que la mémoire comprend des parties d'emmagasinage de données, des moyens pour commander l'adresse à laquelle les données seront emmagasinées et un re-10 gistre pour emmagasiner temporairement les données lues à partir de la mémoire, en ce que l'unité centrale de traitement de données comprend un dispositif d'exécution pour réaliser des opérations logiques sur les données, un moyen pour transmettre les données depuis les registres au dispositif d'exécution, et des moyens pour transmettre les données depuis le dispositif d'exécution 15 à la mémoire, et en ce qu'il comprend des moyens pour engendrer comme signal d'indication, un signal AVANCE indiquant que les registres ne sont pas encore prit* à transférer las données au moyen pour transmettre les données depuis les registres au dispositif d'exécution.