FR 2067055 A1 19710813 FR 7034535 A 19700917 70 34535 1 2067055 Le dispositif de la présente invention concerne des systèmes de traitement de données du type dans lesquels une ou plusieurs unités de commande communes raccordent chacune plusieurs mémoires à disques magnétiques au dispositif de traitement central au moyen d'un ou de plusieurs canaux. 5 Le dispositif de la présente invention peut» cependant, améliorer aussi d'une manière significative le fonctionnement de systèmes de traitement dans lesquels les mémoires à disques sont reliées directement au dispositif de traitement, c'est-à-dire que les circuits du dispositif de traitement central sont utilisés pour réaliser les fonctions normalement assurées par l'unité 10 de commande commune d'un système plus compliqué. Dans la réalisation préférée, plusieurs disques magnétiques superposés sont entrainés en rotation ensemble par une unité d'entraînement. Les deux surfaces de chaque disque sont adaptées pour emmagasiner des enregistrements. Plusieurs têtes de lecture-écriture, une pour chaque surface de disque, sont 15 déplacées radialement en même temps pour sélectionner une piste circulaire désirée dans un groupe de pistes superposées, groupe que l'on a appelé un"cylin-dre". Une adresse de cylindre est attribuée à chaque cylindre et une adresse de piste est attribuée à chaque piste dans un cylindre. Plusieurs enregistrements sont emmagasinés successivement sur chaque piste. L'adresse de piste est 20 utilisée pour sélectionner la tête d'écriture et de lecture désirée après que l'adresse de cylindre ait été utilisée pour positionner toutes les têtes d'écriture et de lecture." Une fois qu'un transfert d'enregistrement entre l'unité centrale de traitement et une mémoire à disque a commencé, le canal et l'unité de commande 25 effectuant le transfert ne sont plus libres d'effectuer d'autres tâches jusqu'à ce qu'un enregistrement complet soit transféré. Le but de la présent invention est de réduire le temps d'attente pendant lequel les canaux et les unités de commande sont rendus inutilisables parce qu'ils attendent qu'une position d'enregistrement sur disque sélectionnée 30 davienne accessible à sa tête de lecture et d'écriture après que la tête ait été positionnée et sélectionnée. Divers arrangements ont été suggérés dans le passé puis tendent à réduire le temps d'attente perdu, c'est-à-dire le temps pendant lequel les circuits des canaux et de l'unité de commande ne peuvent pas être actionnés utilement 35 parce qu'ils attendent le transfert d'un enregistrement vers ou à partir d'une mémoire à disques magnétiques. Cependant, dans chacune des solutions suggérées le moyen utilisé est généralement commandé par le format de l'enregistrement et limité par celui-ci. Un système connu classique consiste en l'emploi d'enregistrements de longueur prédéterminée, chaque enregistrement étant emmagasiné 40 dans un secteur de la piste du disque. Les adresses de secteur de chaque 70 34535 2 2067055 enregistrement sont- écrites dans les positions précédant immédiatement leur secteur respectif et sont balayées par les têtes de lecture et d'écriture pour fournir continuellement une information sur la position de disque. Cette information est alors utilisée en conjonction avec l'information d'a-5 dresse de secteur fournie par l'unité centrale de traitement lorsque l'on désire accéder à un enregistrement pour déterminer le temps nécessaire pour obtenir l'accès à l'enregistrement. Ces réalisations antérieures ne se prêtent pas à des systèmes dans lesquels des enregistrements de longueurs variables sont emmagasinés. Il n'existe 10 pas de moyen ou de méthode appropriés pour obtenir les résultats désirés par l'utilisation d'adresses d'enregistrements enmnagasinés sur le disque. La position physique exacte d'un enregistrement sur un disque dans un tel système ne peut pas être déterminée avec précision» et en fait» cette position change légèrement chaque fois que l'enregistrement est réécrit après mise 15 à jour. Le fait que les disques soient interchangeables de façon qu'ils puissent être utilisés sur n'importe quels moyens d'entrainement à tolérances différentes complique encore le problème. L'objet principal de la présente invention est donc de fournir un système de traitement amélioré dans lequel des enregistrements de longueur variable 20 sont emmagasinés dans plusieurs mémoires à disque magnétique et dans lequel des moyens sont fournis pour libérer les circuits de commande pour d'autres opérations excepté lorsqu'une position d'enregistrement désirée est immédiatement disponible pour sa tête de lecture et d'écriture pour le transfert de l'enregistrement vers ou à partir du disque. 25 Cet objectif est atteint dans une réalisation préférée de l'invention en prévoyant un compteur électronique pour chaque mémoire à disques. Chaque disque (ou pile de disques] et chaque unité d'entrainement de disques comprennent un moyen de génération d'impulsions de "marquage" associées. Pendant chaque révolution du disque, une impulsion de "marquage" est produite lorsque 30 les têtes de lecture et d'écriture balayent la position angulaire de début ou l'adresse de commencement des pistes du disque sur lesquelles les enregistrer ments sont écrits. Cette impulsion de "marquage" est utilisée pour ramener à zéro le compteur électronique correspondant. Un deuxième moyen de génération d'impulsions est utilisé pour faire avancer par incréments tous les compteurs 35 simultanément. Les surfaces et les pistes du disque sont ainsi divisées en un certain nombre de secteurs égal au nombre des différentes conditions des compteurs. Le premier secteur suivant l'impulsion de marquage est "0", le suivant est "1", et ainsi de suite. Chaque compteur à tout moment, indique une valeur emmagasinée qui correspond au secteur qui est disponible ou sur 40 le point d'être disponible pour les têtes d'écritures et de lecture de sa 70 34535 3 2067055 " mémoire. Lorsque l'on désire accéder à un enregistrement sélectionné, l'unité centrale de traitement indique une valeur d'adresse de secteur qui correspond à la valeur que présentera le compteur correspondant lorsque l'enregistrement désiré sera disponible pour sa tête de lecture et d'écriture. La valeur 5 - d'adresse est transférée à un registre de secteur assigné à la mémoire sélectionnée et le canal de l'unité centrale de traitement est libéré pour effectuer d'autres opérations. Puis la valeur d'adresse dans le registre de secteur est comparée périodiquement (c'est-à-dire à chaque changement de valeur du compteur) à la valeur dans le compteur jusqu'à ce que la comparaison présente 10 une égalité indiquant que l'enregistrement est disponible pour le transfert. L'indication déclenche une requête au canal pour qu'il amorce le transfert des données. Dans des systèmes plus importants et plus compliqués, le cylindre, la piste et les adresses de secteur de tous les enregistrements peuvent être 15 maintenus sous la forme d'un tableau répertoire à index. Ceci permet l'utilisation de l'amélioration pendant chaquB opération de lecture et d'écriture. Cependant, les systèmes de traitement classiques ne permettent pas l'utilisation d'un tableau aussi important. Des recherches par tableaux sont 1 effectuées pour référer le cylindre désiré et les données d'adresse de 20 piste pour le positionnement de la tête de lecture et d'écriture. Des moyens supplémentaires sont alors prévus dans la présente amélioration pour déterminer par avance les adresses de secteur pour une proportion importante des opérations d'accès aux enregistrements. Le dispositif amélioré qui permet de déterminer des adresses de secteur 25 pour certaines opérations est utile lorsqu'un enregistrement est lu à partir du disque pour mise à jour. Il comprend la possibilité de lire la valeur qui existe dans le compteur de secteur correspondant juste avant la lecture de l'enregistrement. Cette valeur de compteur est transférée à une section donnée dans la mémoire principale associée à l'unité centrale de traitement 30 et est utilisée par la suite cotrnie adresse de secteur de l'enregistrement après que la mise à jour ait été effectuée et que l'enregistrement mis à jour ait été retourné à sa position sur le disque. Ainsi, la présente amélioration peut être utilisée pour l'écriture d'enregistrements mis à jour même lorsqu'elle n'est pas utilisée pendant la lec-35 ture des enregistrements. L'invention présente aussi un procédé et un dispositif pour minimiser le temps d'attente perdu, qui concerne le traitement des enregistrements qui sont disposés en séquence sur un disque pour être lus, mis à jour, et réemmagasinés en séquence sur le disque. Dans un tel système l'adresse de secteur du 40 premier enregistrement dans un groupe d'enregistrements est obtenue pendant 70 34535 4 2067055 la lecture de cet enregistrement coimie décrit ci-dessus. L'adresse est alors utilisée après mise à jour de l'enregistrement pour transférer l'enregistrement à sa position originale sur le disque avec un minimum de temps d'attente. Puisque l'on sait que le prochain enregistrement à lire est celui qui suit le 5 premier enregistrement, la valeur dusecteur qui existe dans le compteur lorsque l'enregistrement suivant devient disponible pour la lecture, est transférée à l'unité centrale de traitement même si l'enregistrement suivant ne peut pas être lu et transféré à l'unité centrale de traitement avant un certain temps, par exemple avant la révolution suivante. 10 Ainsi dans une opération séquentielle, l'amélioration peut être utilisée pour toutes les opérations de lecture et d'écriture dans la séquence excepté pour la lecture du premier enregistrement. Une combinaison de codes présélectionnés précède chaque enregistrement pour indiquer à l'unité de commande le début d'un nouvel enregistrement. Pen-15 dant des opérations de lecture dans lesquelles l'adresse de secteur de l'enregistrement désirée est inconnue, la combinaison de code est détectée par les circuits de décodage et les circuits de décodage livrent passage à la valeur de secteur provenant du compteur associé vers un registre de secteur.Dans le cas où l'unité centrale de traitement exige la valeur de secteur d'un enre-20 gistrement désiré, la valeur de secteur (ou une valeur égale à la différence entre la valeur de secteur et un facteur de correction prédéterminé] est transférée du registre de secteur à l'unité centrale de traitement. La figure 1 est un schéma partiel d'un système de traitement à l'intérieur duquel le dispositif amélioré de la présente invention peut être utilisé avan-25 tagBusement. La figure 2 est un schéma partiel représentant une réalisation préférée de la présente invention. La figure 3 est un diagramme de chronologie représentant une forme préférée de la commande de chronologie pour un compteur, et 30 La figure 4 représente la séquence de fonctionnement des disques dans un exemple utilisant quatre dispositifs à disques. Le système de repérage d'enregistrement de la présente invention peut être utilisée avec divers types de systèmes comportant des piles de disques. Un avantage particulier du dispositif amélioré est le fait qu'il peut être 35 facilement incorporé dans des systèmes existants sur le marché en raison de son indépendance par rapport au format et du fait qu'il utilise les signaux et les commandes facilement disponibles dans de telles unités. Le système est incorporé en prévoyant une carte logique électronique comprenant le nombre exigé de compteurs et quelques registres et circuits logiques. 40 Pquf faciliter ladescription, on supposera que le dispositif amélioré 70 34535 5 2067055 ' de la figure 2 est utilisé en conjonction avec un système (figure 1) du type fabriqué et distribué par IBM et baptisé "système 360" avec une mémoire à accès sélectif 2314 qui comprend une unité de coirmande et jusqu'à huit unités d'entrainement de disques. De plus, on suppose que le système utilise 5 une unité de commande auxiliaire du type distribué par IBM et baptisé "unité de commande auxiliaire 2644" qui permet une opération de chevauchement des deux unités de commande pour transférer des enregistrements vers et à partir des diverses unités à disques.. En bref, chaque unité de coirmande interprète des ordres issus d'un canal 10 associé à l'unité centrale de traitement pour provoquer diverses fonctions telles que le positionnement des têtes de lecture et d'écriture, le repérage des enregistrements, la lecture et l'écriture d'enregistrements ou de parties d'enregistrement, et le transfert d'informations d'état au canal. Pour réaliser ses diverses fonctions, l'unité de commande traite les 15 instructions micro-programmées contenues dans un dispositif à mémoire à lecture en destruction. Une partie de chaque instruction spécifie l'adresse d'une instruction suivante à traiter par laquelle, en fonctionnement normal les instructions sont lues, décodées et exécutées de manière séquentielle. Le micro-programme est divisé en sous-programmes qui réalisent des fonctions 20 particulières telles que la restauration des registres et des circuits de commande d'entrainement de disques, la coirmande de l'écoulement des données dans l'unité de commande," et la coirmande de l'écoulement de données entre les disques, l'unité de commande et le canal. A partir du moment où la puissance est appliquée, le micro-programme fonctionne en permanence ; et 25 initialement après un sous-progratnne de restauration, le micro-programme fonctionne en boucle dans l'attente que le canal le sélectionné en vue d'une mise en fonctionnement. Chaque fois que l'unité centrale de traitement exécute une instruction d'entrée-sortie, les diverses unités de commande décodent le code sélectionné j et une fois sélectionnée, l'unité de commande 30 particulière fait effectuer des sous-programmes de mise en ordre par le micro-programme, puis, décode la commande particulière à partir de l'instruction d'entrée/sortie. Puis, un sous-programme particulier est introduit pour exécuter les commandes d'une manière connue. Le format d'enregistrement sur les pistes de disque magnétique est décrit 35 généralement dans le brevet n° 1 435 253 déposé en France par la demanderesse le 23 mars 1965. En bref, l'enregistrement comprend une série de bits d'horloge également espacés, les bits de données étant interposés entre les bits d'horloge. Chaque enregistrement est divisé en champs de comptage, de clé et de données avec des intervalles entre chaque champ. Dans l'intervalle pré-40 cèdent chaque champ, on trouve une combinaison de code de marquage d'adresse 70 34535 B 2067055 et une combinaison de code de synchronisation qui indique le début d'un champ et indique le type de champ, c'est-à-dire de comptage, de clé ou de donnée. La figure 1 représente à titre d'exemple, un système de traitement dans 5 lequel le dispositif amélioré de la présente invention est particulièrement bien adapté, pour son utilisation. Le système comprend une unité centrale de traitement micro-prograirmée, une mémoire 2 comportant une section de mémoire principale 3 et une section de mémoire de commande 4. L'accès aux diverses positions de la mémoire 2 est obtenu au moyen d'un registre d'adres-10 se de mémoire 5 sous la commande de l'unité centrale de traitement ; des signaux de données et de commande sont transférés entre la mémoire 2 et l'unité centrale de traitement au moyen d'un câble 6. La réalisation préférée représente à titre d'exemple, une unité centrale de traitement comportant deux canaux 7 et 8. Le canal 8 est raccordé aux 15 unités de commande 10, 11 et 12 au moyen d'un bus de données 13 et au moyen d'un bus de commande 14, comprenant plusieurs lignes de référence qui servent à fournir les interconnexions de comnande exigées entre le canal et les unités de commande respectives. Dans un but d'illustration, on suppose que l'unité de commande 10 est du 20 type décrit ci-dessus et identifiée comme une unité de commande à mémoire 2314. Le canal 7 est raccordé à une unité de coirmande de méiraire auxiliaire 15 au moyen d'un bus de données 16 et d'un bus de commande 17. On supposera pour faciliter la présente description que l'unité de commande auxiliaire 15 est du type décrit ci-dessus et identifiée comme une unité de commande 25 de mémoire auxiliaire 2844. Un conmutateur 18 raccorde les unités de commande -1 10 et 15 a plusieurs unités d'entrainement de disques 19 à 19-n d'une manière bien connue. Lorsque l'accès à un disque particulier 19-1 à 19-n est désiré en réponse à une instruction d'entrée-sortie, l'unité de commande 10 est sélectionnée 30 par l'intermédiaire du canal 8, Cou l'unité de coirmande 15 par l'intermédiaire du canal 7), pour permettre un accès à un enregistrement désiré. Les données sont transférées vers et à partir des disques 19-1 à 19-n au moyen du commutateur 18 et, soit de l'unité de commande 10 soit de l'unité de commande 15. 35 Le fonctionnement des systèmes tel que représenté dans la figure 1 est bien connu et ne sera donc pas décrit plus en détail. La figure 2 est une représentation partielle de l'unité de commande 10 incorporant une forme préférée de 1'amélioration apportée par la présente invention. L'unité de commande 10 comprend une unité logique et arithmétique 40 30 comportant des registres d'entrée A et B 31 et 32, des registres d'usage 70 34535 7 2067055 général 33, des registres d'état, de données et de sortie 34, 35, 36. Les assembleurs 37 et 38 font passer des données à partir des registres 33-36 vers l'unité logique et arithmétique 30 par 1 *inteimidiaire des registres A et B, 31, 32. La sortie de l'unité logique et arithmétique 30 est appliquée aux 5 ' divers registres au moyen d'un bus de destination 40. Le câble 14 (figure 1] qui fournit des trajets pour les signaux de données et de commande entre le canal 8 et l'unité de commande 10 comprend une partie 14A (figure 2) raccordée à la sortie du registre 36 et une autre partie 14b raccordée à l'entrée de l'assembleur 37. 10 Le transfert des données et des commandes entre 1!unité logique et arith métique et les divers registres et le conditionnement des données sur les divers bus sont obtenus d'une manière bien connue au moyen d'un dispositi-f de mémoire à lecture non destructive 41 et à son horloge associée 42- Le dispositif de mémoire 41 est adressé au moyen d'un registre 43. Les mots de commande 15 du micro-programme extraits du dispositif de mémoire 41 sont décodés dans un circuit de décodage 44 pour effectuer les divers transferts de données et exécuter les commande comme exigé. Le système est d'abord mis en fonctionnement par l'application d'une impulsion de démarrage 45 à l'entrée du registre d'adressage 43. Ceci amorce le fonctionnement continu du micro-programme 20 emmagasiné dans le dispositif 41. Les têtes de lecture et d'écriture de chaque unité d'entrainement 19-1, 19-n sont couplées à un assembleur 51 au moyen d'un conducteur respectif 50-1 a 50-n. Les têtes de lecture et d'écriture de chaque unité d'emmagasinage 19-1 à 19-n sont raccordées sélectivement aux lignes 50-1 à 50-n par un moyen 25 de commutation approprié ( non représenté], L'asserrbleur 51 sélectionne une ligne désirée 50-1 à 50-n lorsque le transfert d'un enregistrement de l'unité d'emmagasinage correspondante est désirée et couple la ligne sélectionnée à un oscillateur à fréquence variable 52. L'oscillateur 52 sépare les bits de données, des bits d'horloge dans 30 chaque enregistrement et applique les bits e données à un circuit de sëriali-sation/désérialisation 53 et les bits d'horloge à Un circuit ET 54 au moyen des lignes 55 et 56, respectivement, les données en série sur la ligne 55 appliquées au circuit 53 sont transformées d'un format série par bit à un format série par multiplet et appliquées au registre de données 35 au moyen 35 d'un câble 56. Le micro-programme effectue alors le transfert de chaque multiplet du registre 35 au canal 8, au moyen du bus de sortie de registre de données 60, de l'assembleur 37 ou 38, duregistre 31 ou 32, de l'unité logique et arithmétique 30 ou 38, du bus de destination 40, du registre de sortie 36 et de la partie de câble 14a. 40 Les données sont transférées du canal 8 aux têtes de lecture et d'écriture 70 34535 a 2067055 sélectionnées au moyen de la partie de bus 14b, de l'assembleur 37, du registre A 31, de l'unité logique et aritfanétique 30, du bus de destination 40, du registre de données 35, du circuit de sérialisation et de désérialisation 53, des circuits de sélection d'écriture 81, et des lignes 62-1 à 62-n qui sont 5 couplées d'une manière bien connue aux têtes d'écriture et de lecture des unités à disques 19-1 à 19-n. On appréciera que le transfert de données entre le canal 8 et les unités à disques 19-1 à 19-n par les trajets décrits ci-dessus seront effectuées au moyen de plusieurs étapes de micro-programme qui ne sont pas nécessairement en séquence de temps continue. 10 Pendant une opération de lecture, le circuit 53 est sous le contrôle d'un circuit en anneau 70 qui est raccordé au moyen d'un câble 71. Des impulsions appliquées au circuit ET 54 avancent l'anneau pour commander le transfert de bits de données au travers du circuit 53. Le circuit en anneau 70 est également utilisé pour commander le transfert 15 de bits de données au travers du circuit 53 pendant l'opération d'écriture. Dans ce cas, la sortie de l'oscillateur 72 est envoyée vers l'anneau de bit 70 au moyen d'un circuit ET 73. De plus, les impulsions de sortie de l'oscillateur sont appliquées au circuit de sélection d'écriture 61. Une ligne de sélection de commande 75 et une ligne de conditionnement d'écriture 76, qui 20 ont leur origine dans les circuits de décodage 44, sont également appliquées au circuit de sélection d'écriture 61 pour commander la transmission de données à la tête d'écriture et de lecture appropriée. Les circuits décrits ci-dessus sont bien connus de l'art antérieur et ne seront pas décrits plus en détails. 25 Les circuits de la figure 2 qui permettent des performances améliorées du système seront maintenant décrits en détails. Plusieurs circuits de localisation d'enregistrements 80-1 à 80-n sont fournis, un pour chaque unité à disques 19-1 à 19-n. Ces circuits sont identiques, et donc un circuit seulement 80-1 est représenté en détails. Le circuit flO-1 correspond à et commande 30 en partie, le transfert de données vers et à partir de l'unité à disque 19-1. Le circuit 80-1 comprend un compteur de secteur 81 qui est utilisé pour garder continuellement la trace de la position angulaire de la pile de disques portée par l'unité d'entrainement 19-1 par rapport à la tête d'écriture et de lecture. Le disque est divisé en cent vingt huit secteurs dans la réalisation 35 préférée comme représenté dans le schéma de chronologie de la figure 3. Donc le compteur de secteur 81 est restauré à zéro à un temps de repérage, puis est avancé séquentiellement jusqu'à un compte de cent vingt sept pendant un tour du disque après quoi le temps de repérage suivant se produit pour restaurer le compteur à zéro. 40 Dans la réalisation préférée, le compteur de secteur 81 est avancé par le 70 34535 g 2067055 circuit comprenant l'oscillateur 72, une bascule bistable 82, un compteur 83, un circuit de décodage 84 et une bascule bistable 85. La basculé 82 est enclenchée et restaurée par chaque paire de cycles de l'oscillateur. Le compteur 83 est avancé de un chaque fois que la bascule 82 est restaurée. Le circuit de 5 ' décodage 84 produit une sortie sur la ligne 86 chaque fois que le compteur 83 atteint une valeur de deux cent cinquante. Deux impulsions consécutives sur la ligne 86 avancent la bascule 85 à ses conditions d'enclenchement et de restauration. Chaque restauration de la bascule 85 avance de un le compteur 81. La relation des signaux et des valeurs de comptage pour les circuits 10 72, 82, 83, 84 et 85 est représentée dans la figure 3. Chaque restauration de la bascule 85 fait avancer de un le compteur de secteur 81. Le compteur 81 parcourt 128 positions dans une période de temps égale au temps nécessaire pour une révolution complète d'un disque. L'impulsion de marquage sur la ligne 87 qui restaure le compteur de sec-15 teur 81 à zéro est commandée par 1'entrainement du disque et, donc toute erreur due à des différences entre l'avancement pas à pas constant et la vitesse de'rotation des diverses unités d'entrainement de disques xjui peut être légèrement variable ne sont pas cumulatives d'une révolution à une autre. L'impulsion de marquage sur la ligne 87 restaure toujours le compteur de 20 secteur à zéro lorsque l'adresse de début de piste dans une pile de disques atteint la même position angulaire par rapport aux têtes d'écriture et de lecture. Le circuit 80-1 comprend également un registre de secteur 90 qui est utilisé pour deux fonctions. Lorsque le canal 8 amorce une demande pour trans-25 férer un enregistrement vers ou à partir de l'unité à disque 19-1 et porte l'adresse de secteur de l'enregistrement, il génère une comnande "présentation de secteur" pour transférer cette valeur d'adresse dans le registre de secteur 90 pour une comparaison subséquente avec les valeurs momentanées du compteur de secteur 81 dans un circuit de comparaison 91. Le canal délivre alors une 30 commande "LECTURE DONNEES" qui sera exécutée après qu'une égalité ait été obtenue dans le circuit de comparaison 91. La deuxième fonction du registre de secteur 90 est d'emmagasiner l'adresse de secteur d'un enregistrement désiré (c'est-à-dire la valeur dans le compteur 81 lorsque la lecture de l'enregistrement commence). Subséquemment, en réponse à une demande du canal pour 35 l'adresse de secteur (c'est-à-dire la commande "lecture secteur"), l'adresse de secteur est transférée du registre de secteur 90 à l'unité centrale de traitement 1. Une bascule active 96 détermine la fonction du registre de secteur 90. La bascule 96 est enclenchée par une comnande "présentation de secteur" et 40 demeure enclenchée jusqu'à ce que l'enregistrement désiré ait été transféré. 70 34535 10 2067055 Dans sa condition enclenchée, la bascule 96 interdit le transfert de la valeur de secteur présente dans le compteur 81 au registre de secteur 90 et prépare en partie la comparaison du Gompteur de secteur avec les valeurs du registre de secteur. 5 Le passage des valeurs présentes dans le compteur de secteur 81 et dans le registre de secteur 90 vers le circuit de comparaison 91 est obtenu au moyen des circuits 92 et 93. La sortie vraie 100a de la bascule active 96 prépare en partie les circuits de conditionnement 92, 93 lorsque la bascule est dans son état enclenché. Immédiatement après l'avancement du compteur 10 de secteur 81 à chaque nouvelle valeur un circuit en anneau 95 applique une impulsion aux portes 92 et 93 par 1'* intermédiaire de la ligne 102-1 suivie par des impulsions successives sur les lignes 102 à 102-n aux portes correspondantes dans les circuits de localisation d'enregistrements restants 80-2 à 80-n. Chacune de ces impulsions à partir de l'anneau 95 fait passer le 15 contenu du compteur de secteur et du registre de secteur du circuit de localisation d'enregistrement correspondant dans le circuit de comparaison 91 si la bascule active du circuit de positionnement d'enregistrement est dans son état enclenché. Dans le cas où les valeurs dans le compteur 81 et le registre 90 sont égales le circuit de comparaison 91 applique un signal à la 20 bascule d'interruption 97 par la ligne 101. Avec des signaux apparaissant simultanément sur les lignes 100a, 101 et 102-1, la bascule d'interruption 97 est enclenchée pour amorcer un sous-programme micro-progranmé qui met en fonction une ligne de référence indiquant au canal 8 de l'unité centrale de traitement que l'enregistrement désiré approche de la position où il sera 25 accessible à la tête de lecture et d'écriture. L'anneau 95 a une position de démarrage S et des positions supplémentaires 1 à n, chaque position correspondant à l'une des unités à disques 19-1 à 19-n. Chaque fois que la bascule 85 produit une impulsion de sortie pour l'avancement du compteur de secteur 81, elle enclenche également une valeur 1 30 binaire dans la position de démarrage de l'anneau 95. Cette valeur 1 binaire est avancée suivant des positions successives 1 à n de l'anneau par des impulsions de sortie se succédant à partir de la bascule 82. Lorsque la valeur 1 binaire est transférée dans la position 1 dans l'anneau 95, elle provoque l'application d'un signal à la ligne de sortie 102-1 à partir de l'anneau ; 35 quand la valeur 1 binaire est dans les positions 2 à n de l'anneau 95 la ligne de sortie correspondante 102-2 à 102-n a un signal de sortie qui lui est appliqué. Lorsque l'adresse de secteur d'un enregistrement désiré dans l'unité à disque 19-1 est transférée au registre de secteur 90, l'adresse de secteur 40 est d'abord transférée depuis le dispositif d'emmagasinage principal 3 au canal 70 34535 11 2067055 a, puis du canal 8 à l'un des registres généraux 33 par l'intermédiaire de la partie de câble 14a, de l'assembleur 37, du registre 31, de l'unité logique et arithmétique 30, du bus de destination 40, en partie sous coirmande du micro-programme. Cette valeur est alors transférée du registre général au 5 registre de secteur 90 au moyen de l'assembleur 37 ou 38, du registre 31 ou 32, de l'unité logique ou arithmétique, de l'unité de destination 40 et d'un circuit de conditionnement 103. Le circuit 103 est rendu effectif en réponse à une impulsion de sortie issue d'un circuit ET 104 lors de l'application coïncidente d'un signal de sélection d'unité et d'un signal de conditionnement 10 dB registre de secteur 105 et 106 qui ont leur origine.dans les circuits de décodage 44. La sortie du circuit ET 104 provoque également l'enclenchement de la bascule active 96. Des adresses de secteur sont transférées du compteur de secteur 81 au registre de secteur 90 au moyen d'un circuit de conditionnement 110 en réponse 15 aux impulsions de sortie issues d'un circuit ET 111. Une entrée au circuit 111 consiste en la sortie complémentaire 100b de la bascule active 96. Dans la condition restaurée de la bascule 98, un signal sur la ligne 100b conditionne le circuit 111. La sortie 112 d'un circuit de détection de synchronisation et de marquage 20 d'adresse 113 forme une autre entrée au circuit 111. Pendant l'exécution des commandes de lecture, le circuit 113 indique le début de chaque champ de chaque enregistrement en cours de transfert de l'une des unités d'emmagasinage 19-1 è 19-n. La détection de chaque marqueur d'adresse suivie par une combinaison de codage de synchronisation inoiquant le début d'enregistrement 25 Cc'est-à-dirB le début du premier champ ou champ de comptage] provoque 1'application d'une impulsion de sortie à la ligne 112. Une troisièmB ligne d'entrée 113-a au circuit ET 111 est excitée lorsque les données en cours de transfert au circuit 113 ont leurs origines dans l'unité mémoire 19-1 qui correspond au circuit de positionnement d'enregis-30 trement 80-1. La ligne 113-a a son origine dans le circuit de décodage 44. Le circuit ET 111 est effectif pour passer la valeur contenue dans le compteur 81 dans le registre de secteur 90 lorsque des signaux apparaissent simultanément sur les lignes d'entrée 112, 113-a et 100b. Le transfert d'une adresse de secteur du registre de secteur 90 au 35 dispositif d'emmagasinage principal 3 est amorcé par un signai "lecture de secteur" sur la ligne 120 et par un signal de sélection d'unité sur la ligne 121-1. Les lignes ont leur origine dans le circuit de décodage 44 et forment des entrées à un assembleur 122. Les signaux sur les lignes 120 et 121-1 provoquent le transfert par l'assembleur 122 de l'adresse de secteur 40 du registre 90 au registre 123. L'adresse de secteur est alors transférée 70 34535 12 2067055 du registre 123 à l'unité centrale de traitement 1 sur un trajet comprenant l'assembleur 37, le registre A31, l'unité logique et arithmétique 30, le bus de destination 40, le registre de sortie 36, et la partie de câble 14a. Comme indiqué précédemment, les diverses opérations décrites ci-dessus 5 sont commandées par le micro-programme dans le dispositif d'emmagasinage à lecture non destructrice 41 et par des commandes émanant du canal 8 d'une manière bien connue. L'attention va être dirigée maintenant sur les diverses lignes qui sont raccordées aux circuits de localisation d'enregistrement 60-1 à 80-n. Le 10 bus de destination 40, la ligne de passage secteur 106, la sortie 112 du circuit de détection 113, la sortie de la bascule 85 et la sortie 101 du circuit de comparaison 91 sont chacun raccordés à tous les circuits BO-1 à 80-n d'une manière similaire à celle représentée dans le circuit 80-1. L'anneau 95 a une sortie raccordée à chaque circuit 80-1 à 80-n ; et une ligne de 15 sélection d'unité telle que la ligne 105 est fournie pour chaque circuit 80-1 à 80-n. Le circuit de comparaison 91 est raccordé à une paire de câbles a partir de chaque circuit 80-1 à 80-n. Dans l'exemple représenté dans la figure 4, on suppose qu'il y a quatre mémoires à disques 19-1, 19-4. On suppose de plus qu'à un temps quelconque 20 TO, les têtes de lecture et d'écriture ont été positionnées aux adresses de cylindre indiquées précédemment et que les têtes d'écriture ayant accès aux adresses de piste indiquées précédemment ont été sélectionnées. Quatorze enregistrements sont ermiagasinés le long de la piste 5 du cylindre 0 de la mémoire 19-1 ; six enregistrements le long de la piste 12 du cylindre 1 25 de la mémoire 19-2 ; et ainsi de suite. Les enregistrements dans chaque piste sont représentés comme étant d'égale longueur s cependant dans différentes pistes la longueur d'enregistrement diffère de l'une à l'autre. Les lignes épaisses sous le numéro de l'enregistrement 5 de la piste 5, le numéro d'enregistrement 4 de la piste 12, le numéro d'enregistrement 7 de 30 la piste 1 et le numéro d'enregistrement 1 de la piste 7 indiquent que l'accès à ces enregistrements est désiré. Les impulsions de marquage pour les diverses unités 19-1 à 19-4 se produisent à des moments différents j et, donc les valeurs du compteur de secteur dans la figure 4 pour les diverses unités 19-1 à 19-4 diffèrent les unes des autres à n'importe quel instant donné. 35 Ainsi, les valeurs de compteurs à T0 sont approximativement 112, 25, 98 et 48. Si l'on suppose de plus, qu'à T0, les adresses de secteur des enregistrements désirés, 5, 4, 7 et 1 indiqués ci-dessus ont été introduites dans les registres de secteur respectifs tels que le registre 90 de la figure 2, le canal 8 et/ou l'unité de commande 10 sont libres d'effectuer d'autres tâches. 4Q Après l'expiration de la période de temps T1, une comparaison égale est 70 34535 13 2067Ô5S obtenue dans le circuit de comparaison 91 de la figure 2 par rapport à l'enregistrement 7 dans l'unité à disque 19-3. La bascule d'interruption du circuit de localisation d'enregistrement 80-3 est enclenchée; et l'unité de ■commande 10 envoie un signal de demande au canal 8. En supposant que le canal 5' puisse accepter la demande, il produit une comnande appropriée (c'est-à-dire lecture ou écriture] pour l'accession à l'enregistrement 7. Après que l'accès à l'enregistrement 7 a été effectué, c'est-à-dire au début de l'intervalle de temps T2, le canal 8 et l'unité de commande 10 peuvent être libérés pour d'autres fonctions. 10 Supposons que la lecture, la mise à jour et l'éciiture des enregistrements 5, 4, 7 et 1 soient désirées dans l'exemple de la figure 4. Une zone d'une importance appropriée de la mémoire dans la mémoire principale 3 permettra la lecture des enregistrements 4,7 et 1 pendant une révolution du disque représentée dans la figure 4, la libération du canal 8 et de l'unité de commande 15 10 se produisant pendant les temps T1, T2, T3 et T4. Avec la mise à jour des enregistrements à grande vitesse par l'unité centrale de traitement, ils peuvent être ramenés à leurs positions de piste pendant la révolution suivante. Cependant, l'enregistrement 5 ne devient pas accessible pendant les deux révolutions jusqu'à ce que le canal 6 et l'unité de commande 10 soient 20 bloqués pendant le traitement de l'enregistrement 4. Donc le traitement de l'enregistrement 5 commence pendant la troisième révolution. Cependant, dans de nombreux systèmes, les longueurs maximum d'enregistrements et les zones de mémoire principale disponibles ne permettent pas la lecture d'un deuxième enregistrement jusqu'à ce que le traitement du premier 25 soit terminé. Avec un tel arrangement, l'enregistrement 7 de la figure 4 est mis à jour pendant la première révolution et l'enregistrement mis à jour est ramené à sa position dans la piste 1 pendant la deuxième révolution. L'enregistrement 4 est alors lu pendant la deuxième révolution, mis à jour et ramené à la piste 12 pendant la troisième révolution. Pendant la troisième révolu-30 tion, l'enregistrement 5 ne peut pas être accédé en raison du chevauchement par l'enregistrement 4 ; donc l'enregistrement 1 est lu et ramené à la piste 7 pendant la quatrième révolution. L'enregistrement 5 doit attendre la cinquième révolution pour être lu, en supposant que d'autres enregistrements dans les unités 19-2 à 19-4 n'aient pas été sélectionnés pour accéder dans l'in-35 tervalle. Les adresses de secteur pour la figure 4 peuvent être obtenues de deux manières différentes : (1) un système ayant toutes les adresses de secteur dans un répertoire, ou (2) une méthode de programmation qui calcule les valeurs de secteur estimées à partir d'un algorithme utilisant des informations de 40 format connues. 70 34535 14 2067055 Dans des systèmes plus compliqués, il peut être souhaitable d'utiliser un sous-programme de micro-programme dans l'unité de commande 10 pour calculer les périodes de temps d'attente pour des enregistrements sélectionnés dans chaque unité 19-1 à 19-n, pour déterminer quelle période est la plus petite, 5 et pour déterminer d'autre part à partir d'un tableau de fonctions si le temps le plus court d'attente permet l'achèvement d'une ou de plusieurs fonctions (par exemple de mise en ordre ou de routine) que l'on pourrait vouloir réaliser avant que l'enregistrement sélectionné le plus rapproché devienne disponible à sa tête de lecture et d'écriture. Un nouveau calcul 10 est effectuée après que chaque enregistrement sélectionné ait été traité et après que chaque fonction supplémentaire ait été réalisée. On remarquera que les vitesses de rotation des unités à disque 19-1 à 19-n peuvent varier à l'intérieur des limites de leurs tolérances. Les disques sont interchangeables sur les unités 19-1 à 19-n s et, puisque les 15 compteurs 81 sont avancés à une vitesse constante, on peut avoir accès à un enregistrement pour des valeurs de secteur dans le compteur légèrement différentes selon l'unité 19-1 à 19-n qui le porte. Un sous-programme de micro-programme dans la mémoire à lecture non destructrice peut être utilisé si l'on veut pour soustraire un facteur de correction"au pire cas" (par 20 exemple 4%) des valeurs d'adresse de secteur transférées du compteur 81 à un répertoire pour assurer une comparaison égale suffisamment tôt dans les dernières recherches de l'enregistrement désiré au moyen des adresses du épertoire. Une autre possibilité est le remplacement de l'oscillateur commun 72 25 et de ses circuits associés pour l'avancement des compteurs d'adresse de secteur par un moyen (non représenté) sur chaque unité 19-1 à 19-n pour la production d'une impulsion pour chaque mouvement angulaire prédéterminé de son unité d'entrainement. Dans une modification différente» un codeur de position d'arbre non représenté, sur chaque unité d'entrainement peut rem-30 placer les compteurs de secteur et leurs moyens de production d'impulsion. Bien que l'on ait décrit dans ce qui précède et représenté sur le dessin les caractéristiques principales de l'invention, appliquées à un mode de réalisation préférée de celle-ci, il est évident que l'homme de l'art peut y apporter toutes modifications de forme ou de détail qu'il juge utiles sans 35 pour autant sortir du cadre de ladite invention. 70 34535 15 2067055 REVENDICATIONS I. Dispositif de transfert d'enregistrements de longueurs variables entre une unité centrale de traitement fonctionnant sous la conmande d'un programme emmagasiné et des unités d'entrainement de mémoires à disques magnétiques où des têtes magnétiques peuvent lire et écrire des enregistrements en des em- 5 placements disposés le long de pistes circulaires sur les disques divisés en secteurs, ce dispositif comportant des moyens de commande de transfert et étant caractérisé en ce qu'il comporte en outre ; un dispositif de comptage affecté à chaque unité d'entraînement, des moyens pour remettre à zéro ce dispositif de comptage chaque fois 10 qu'un index de repérage situé sur les disques attachés à cette unité d'entraînement atteint une position prédéterminée par rapport aux têtes de lecture/ écriture correspondantes, des moyens pour faire progresser les différents dispositifs de comptage au fur et à mesure que les disques effectuent une révolution complète, de 15 façon à ce que le contenu de chaque dispositif de comptage indique à chaque instant l'adresse de secteur de l'emplacement de données qui se trouve dans une position prédéterminée par rapport aux têtes de lecture/écriture correspondantes, des moyens pour emmagasiner l'adresse de secteur d'un enregistrement 20 choisi pour le transfert, des moyens de comparaison pour comparer périodiquement l'adresse de secteur ainsi emmagasinée avec le contenu du dispositif de comptage correspondant, et des moyens agissant en réponse à un résultat déterminé de cette compa-25 raison pour indiquer aux moyens de commande que le transfert est possible. II. Dispositif de transfert d'enregistrements de longueurs variables entre une unité centrale de traitement fonctionnant sous la commande d'un programme emmagasiné et des unités d'entraînement de mémoires à disques magnétiques où des têtes magnétiques peuvent lire et écrire des enregistrements en des em- 30 placements disposés le long de pistes circulaires sur les disques, divisés en secteurs, ce dispositif comportant des moyens de commande de transfert et étant caractérisé en ce qu'il comporte en outre : un dispositif de comptage affecté à chaque unité d'entraînement, des moyens pour remettre à zéro ce dispositif de comptage chaque fois qu'un 35 index de repérage situé sur les disques attachés à cette unité d'entraînement atteint une position prédéterminée par rapport aux têtes de lecture/écriture correspondantes. 70 34535 16 2067055 des moyens pour faire progresser les différents dispositifs de comptage au fur et à mesure que les disques effectuent une révolution complète, de façon à ce que le contenu de chaque dispositif de comptage indique à chaque instant l'adresse de secteur de l'emplacement de données qui se trouve dans 5 une position prédéterminée par rapport aux têtes de lecture/écriture correspondantes, des moyens agissant en réponse à une instruction de programme pour transférer à l'unité centrale la valeur du contenu d'un dispositif de comptage choisi qui correspond à l'adresse de secteur de l'emplacement du début de 10 l'enregistrement choisi, et des moyens agissant en réponse à une instruction de programme requérant le transfert de l'enregistrement choisi vers ledit emplacement, pour comparer périodiquement la valeur ainsi transférée avec les valeurs successives présentées par ledit dispositif de comptage et pour ne lancer une opération 15 d'écriture que lors de la détection d'un résultat déterminé à cette comparaison. III. Dispositif de transfert selon la revendication I ou la revendication II comprenant en outre un canal coopérant avec l'unité centrale et les moyens de commande pour effectuer le transfert, caractérisé en ce qu'il comporte en outre : 20 des moyens pour libérer le canal en attendant que le résultat déterminé de la comparaison soit obtenu» IV. Dispositif de transfert d'enregistrements de longueurs variables entre une unité centrale de traitement fonctionnant sous la commande d'un programme ermagasiné et des unités d'entraînement de mémoires à disques magnétiques 25 où des têtes magnétiques peuvent lire et écrire des enregistrements en des emplacements disposés le long de pistes circulaires sur les disques divisés en secteurs, ce dispositif comportant des moyens de commande de transfert et étant caractérisé en ce qu'il comporte en outre : un dispositif de comptage affecté à chaque unité d'entraînement, 30 des moyens pour remettre à zéro ce dispositif de comptage chaque fois qu'un index de repérage situé sur les disaues attachés à cette unité d'entraînement atteint une position prédéterminée par rapport aux têtes de lecture/ écriture correspondantes, des moyens pour faire progresser les différents dispositifs de comptage 35 au fur et è mesure que les disques effectuent une révolution complète, de façon à ce que le contenu de chaque dispositif de comptage indique à chaaue instant l'adresse de secteur de l'emplacement de données qui se trouve dans une position prédéterminée par rapport aux têtes de lecture/écriture corres- BAD ORIGINAL 70 34535 17 2067055 pondantes. un registre d'adresse de secteur associé à chaque unité d'entraînement, des moyens agissant en réponse à une instruction du programme pour transférer l'adresse de secteur d'un emplacement d'enregistrement choisi au registre d'adresse de secteur correspondant, et des moyens pour comparer la valeur contenue dans ce registre d'adresse de secteur avec les valeurs successives contenues dans le dispositif de comptage correspondant et pour émettre un signal de sortie lors de la détection d'un résultat déterminé de cette comparaison qui indique que l'emplacement d'enregistrement correspondant est disponible pour le transfert. V. Dispositif de transfert selon la revendication IV caractérisé en ce qu'il comporte en outre : des moyens rendus actifs pendant la lecture d'un enregistrement choisi sur une mémoire à disques pour transférer au registre d'adresse de secteur associé l'adresse de secteur présente dans le dispositif de comptage correspondant au début de l'opération de lecture de cet enregistrement choisi, et des moyens pour transférer cette adresse de secteur contenue dans le registre d'adresse de secteur à l'unité centrale, de façon à pouvoir utiliser cette adresse pour localiser l'emplacement de l'enregistrement choisi lorsque celui-ci sera renvoyé à cet emplacement. ui VI. Dispositif de transfert selon l'une des revendications 1,11,IV ou V, caractérisé en ce que : les dispositifs de comptage sont des compteurs électroniques binaires, et les moyens pour faire progresser les dispositifs de comptage comprennent un oscillateur électronique qui applique des impulsions de progression à tous les compteurs pour les faire progresser à un rythme déterminé.