CH640645A5 - Data transfer unit - Google Patents

Data transfer unit Download PDF

Info

Publication number
CH640645A5
CH640645A5 CH971479A CH971479A CH640645A5 CH 640645 A5 CH640645 A5 CH 640645A5 CH 971479 A CH971479 A CH 971479A CH 971479 A CH971479 A CH 971479A CH 640645 A5 CH640645 A5 CH 640645A5
Authority
CH
Switzerland
Prior art keywords
signal
remote
local
address
input
Prior art date
Application number
CH971479A
Other languages
English (en)
Inventor
Ralph Michael Lombardo
John Joseph Bradley
Kenneth Edgar Bruce
John William Conway
David Brownell O'keefe
Bruce Harold Tarbox
George Joseph Barlow
Original Assignee
Honeywell Inf Systems
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US05/956,384 external-priority patent/US4236208A/en
Priority claimed from US05/956,385 external-priority patent/US4234919A/en
Priority claimed from US05/956,389 external-priority patent/US4236209A/en
Priority claimed from US05/956,382 external-priority patent/US4231086A/en
Application filed by Honeywell Inf Systems filed Critical Honeywell Inf Systems
Publication of CH640645A5 publication Critical patent/CH640645A5/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/404Coupling between buses using bus bridges with address mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/4045Coupling between buses using bus bridges where the bus bridge performs an extender function

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Bus Control (AREA)
  • Multi Processors (AREA)

Description

La présente invention se rapporte aux unités de transfert de données.
Un problème incessant dans le domaine du traitement des données a été le développement d'une architecture de traitement de données susceptible de convenir au transfert d'information entre deux ou plusieurs systèmes de traitement de données indépendants. Dans le passé, l'échange d'informations entre systèmes de traitement de données a été réalisé à l'aide d'un enregistrement des informations émanant d'un système sur un milieu accessible à un second système de traitement de données. Dans le monde commercial où l'on exige des vitesses d'acheminement d'information élevées, les délais qu'implique la technique d'enregistrement sont inacceptables. C'est pourquoi il est nécessaire de prévoir un système de logique pour assurer un échange dynamique d'information entre systèmes de traitement de données indépendants. Les tentatives faites jusqu'à présent pour réaliser un tel échange d'information dynamique n'ont pas permis de combattre les états de blocage qui peuvent se produire lorsque des unités de traitement de données sur des lignes de communication différentes tentent de communiquer avec des lignes de communication distantes à des instants très rapprochés par l'intermédiaire d'un même canal d'information. D'autres problèmes surgissent, car le système de commande logique affecte sensiblement les vitesses de transmission sur les lignes de communication qui exigent un échange d'information. D'autres problèmes encore surgissent du fait qu'il est nécessaire de développer des logiciels spéciaux pour mettre en œuvre la logique intersystème.
L'invention a pour but de fournir une unité de transfert évitant les états de blocage de l'art antérieur grâce à des voies de transfert bidirectionnelles parallèles, à une attribution dynamique des priorités et à une capacité de traitement des cycles de transfert pour continuer l'acheminement de l'information sur les lignes de communication entre lesquelles l'information doit être échangée, et ne nécessitant aucun logiciel spécial pour permettre à une unité de traitement de données quelconque d'entrer en communication avec une ligne de communication distante par l'intermédiaire de l'unité de transfert de données. Celle-ci est donc transparente pour le logiciel en ce sens que les lignes reliées entre elles apparaissent comme une seule ligne pour une unité de traitement de données quelconque communiquant avec une ligne de communication distante par l'intermédiaire d'une unité de transfert de données.
Si l'unité de transfert doit servir d'agent de transfert pour une unité de traitement de données pour laquelle elle n'a pas été composée, les données dans l'unité de transfert doivent être modifiées. Comme il peut exister des demandes de temps de cycle en suspens à tout moment pendant le fonctionnement d'une unité de transfert, les demandes en suspens doivent être satisfaites si l'on veut éviter une interruption dans l'écoulement de l'information. En outre, l'usage commercial exige qu'une unité de transfert se trouve ramenée à un état logique en connexion dans le délai le plus court possible.
Un autre problème incessant dans le domaine de traitement de données a été d'éviter les blocages dans les systèmes comprenant plusieurs lignes de communication interconnectées électriquement par des unités de transfert doubles, dans lesquels chaque ligne est connectée à des unités de traitement centrales, des unités de commande de périphériques et des unités de mémoires.
Dans un ensemble dans lequel plusieurs unités de traitement centrales sont connectées à une ligne de communication locale tentant de communiquer avec des unités connectées à une autre ligne de communication et dans lesquels une de ces unités de traitement centrales, qui a une priorité basse, a émis une demande de temps de cycle vers l'unité de transfert les demandes de temps de cycle de cette unité de priorité basse peuvent être interrompues par les unités de priorité plus élevée avant que ne soit reçue une réponse d'une ligne distante.
Un autre but de l'invention est de fournir une unité de transfert de données permettant une réorganisation des demandes de temps de cycle des unités de traitement centrales de priorités élevées jusqu'à ce que l'unité de priorité basse reçoive une réponse de la ligne distante. Sinon, l'unité de priorité basse pourrait se voir refuser l'accès à la ligne distante pour une période de temps indéterminée.
Dans le passé, les échanges d'information entre systèmes de traitement de données ont été effectués au moyen de logiques d'interconnexion limitées à des transferts de bits et à des transferts bidirectionnels multiplexés. De plus, la logique intersystème contrôlant les échanges entre lignes de communication était synchronisée avec le fonctionnement des lignes, ce qui affecte considérablement les vitesses de traitement.
Un autre but de l'invention est de fournir une unité de transfert de données dans laquelle la communication entre les unités de transfert est asynchrone et le transfert d'information dans les unités de transfert est bidirectionnel et simultané.
Dans les systèmes antérieurs, une unité de traitement de données sur une ligne de communication locale lançant une demande vers une ligne de communication distante provoquait la cessation de l'écoulement de l'information sur la ligne locale jusqu'à ce qu'une réponse soit reçue.
Les systèmes antérieurs ont tenté de réaliser l'échange d'information entre lignes de communication en satisfaisant aux demandes de service dans l'ordre de leur apparition. Il en résultait des délais de s
10
15
20
25
30
35
40
45
50
55
60
65
640 645
4
transfert en mémoire inacceptables lorsque les demandes de mémoire doivent attendre une réponse. L'unité de transfert de données selon l'invention permettant d'atteindre les buts mentionnés est définie dans la revendication 1.
Les demandes des lignes peuvent être reçues dans une séquence quelconque, et peuvent être identifiées à la cadence de transfert sur les lignes. Les transactions peuvent ensuite être échelonnées par ordre de priorité pour assurer une efficacité optimale de manière à réaliser le transfert d'information entre lignes de communication sans affecter sensiblement les vitesses de transmission sur les lignes. Plus particulièrement, une transaction de transfert est identifiée et l'information provenant d'une ligne se trouve chargée dans un registre désigné à la cadence de transmission sur la ligne. Ensuite, les transactions peuvent être desservies en parallèle. Les transferts en mémoire sont séparés des autres transferts afin d'éviter des délais inutiles qui apparaîtraient lorsque des transferts en mémoire doivent attendre une réponse d'une unité de traitement de données plus lente.
Dans un système de traitement de données, des unités de traitement centrales et des unités de mémoires sont associées à des adresses logiques distinctes. Les systèmes connus ont été limités à des transferts d'informations entre deux lignes de communication seulement. De plus, la traduction des adresses a été limitée à une seule gamme d'adresses contiguës appliquées aux mémoires et aux autres dispositifs. Ces dispositifs connus ajoutaient également un décalage à une adresse locale pour communiquer avec une unité de traitement de données distantes. Ce processus de décalage d'une adresse locale prend du temps, ce qui affecte considérablement les vitesses de transfert des données sur les lignes.
Une autre limitation des systèmes connus résulte du fait qu'une seule valeur de décalage constante était ajoutée à une gamme d'adresses variable. Dans l'éventualité où il faut avoir accès à une adresse non comprise dans une gamme d'adresses distantes, cette gamme d'adresses ne peut être décalée en raison du décalage constant. La gamme doit par conséquent être élargie, ce qui expose un nombre d'adresses plus grand que nécessaire à la consultation par une unité de traitement de données demanderesse.
Avantageusement, dans l'unité selon l'invention, une logique de traduction prévoit plusieurs gammes de traduction d'adresses pour assurer des communications entre deux lignes de communication ou davantage, en sorte qu'une unité de traitement de données sur une ligne quelconque soit capable d'avoir accès à une gamme contiguë d'adresses couvrant toutes les unités de traitement d'adresses sur toutes les lignes interconnectées. De plus, en exécutant une traduction, l'adresse locale est remplacée dans la mémoire au lieu d'être modifiée afin de pallier les limitations de vitesse des systèmes antérieurs.
L'unité de transfert de données est destinée à fonctionner dans un ensemble de traitement de données comprenant plusieurs lignes de communication, chaque ligne procurant un trajet de communication commun pour plusieurs unités de traitement de données contenant des unités de mémoires, des unités de commande de périphériques, des unités de transfert de données et des unités de traitement centrales qui leur sont interconnectées. Chaque ligne est en communication électrique avec une unité de transfert et les unités de transfert à leur tour sont en communication électrique par paires, ce qui assure l'établissement de communications intersystème entre unités de traitement de données sur différentes lignes de communication sans interférence avec les vitesses de transfert de données.
Un problème surgit lorsque des solutions connues sont appliquées pour la vérification des données et des circuits de commande dans les unités de transfert. Si à la fois une unité locale et une unité distante interconnectant électriquement une ligne locale et une ligne distante doivent être vérifiées en étant déconnectées, les lignes de communication intéressées ne peuvent plus échanger d'informations. Si les unités sont vérifiées en connexion directe et lorsque des informations sont échangées entre les lignes, il y a une probabilité que les lignes locales et distantes à la fois soient utilisées uniquement pour l'opération de vérification, tandis que les autres transferts d'information cessent sur les lignes. De plus, l'opération de vérification peut être affectée par des demandes reçues par l'unité distante en provenance d'autres unités de traitement de données sur la ligne distante.
Selon une forme d'exécution de l'invention, le transfert des données et le fonctionnement de la logique de commande des unités locale et distante peuvent être vérifiés en connexion directe sans affecter les vitesses de transfert de données sur la ligne distante ou sans utiliser les ressources de la ligne distante. En outre, l'unité distante néglige toutes les communications reçues de n'importe quelle autre unité de traitement de données sur la ligne distante.
Un autre problème incessant dans le domaine du traitement des données a été la détection des erreurs de transfert d'information en rapport aux unités destinatrices manquantes ou qui ne répondent pas. Dans le passé, une ligne de communication dans un système ayant deux lignes de communication, dont chacune offre un trajet d'information commun pour plusieurs unités de traitement de données, était autorisée à cesser de fonctionner s'il se produisait un état de blocage à la suite d'une unité destinatrice ne répondant pas. Pour obvier à l'erreur de transfert, il était nécessaire de procéder à un redémarrage manuel.
Des systèmes logiciels ont également été utilisés pour indiquer l'occurrence de telles erreurs de transfert. Si une unité de traitement centrale sur une ligne exécutait un logiciel jusqu'à produire une erreur drapeau, l'assistance du logiciel était perdue lorsque la ligne se trouvait bloquée. Aucune indication de la source d'une erreur ne pouvait être obtenue. L'alternative était de placer une unité de traitement centrale avec logiciel de détection d'erreur dans le système de logique intersystème. Cette alternative non seulement détruisait la transparence de la logique intersystème, mais également le recouvrement compliquait la logique de liaison. En perdant sa transparence, la logique de liaison intersystème apparaît comme un autre contrôleur sur une ligne. Les vitesses de transfert de données étaient ainsi sensiblement compromises. Dans les systèmes interconnectant plusieurs lignes de communication, il surgit un autre problème, en ce sens qu'un logiciel spécial était nécessaire pour chaque ligne de communication afin d'assurer le transfert d'information dans la logique de liaison intersystème.
Une maladie commune à la plupart des systèmes de détection d'erreurs dans les ensembles de traitement de données est que les erreurs sont simplement indiquées, mais ne sont point éliminées.
Selon une forme d'exécution de l'invention, l'unité de transfert comporte une logique de détection et d'élimination d'erreurs qui ne requiert aucun logiciel spécial ni aucun logiciel particulier spécial. Le système de détection d'erreur dans une unité de transfert locale en communication avec une ligne locale et avec une ligne distante par l'intermédiaire d'une unité distante, détecte et indique la présence d'erreurs à mesure qu'elles se présentent à la source de la ligne locale. Comme les erreurs d'équipement et de logiciel qui peuvent se produire sont prévues, les erreurs se trouvent détectées avant qu'il ne se produise un blocage sur une ligne. Lors de la détection d'une erreur, le système de détection envoie une réponse à la ligne locale afin de compléter un cycle de ligne locale, libérant ainsi la ligne pour d'autres transferts d'information.
Dans le mode de réalisation préféré, l'unité de transfert est réalisée pour un système de traitement de données comprenant plusieurs liaisons intersystème afin d'effectuer le transfert des informations entre deux ou plusieurs lignes de communication formant chacune un trajet d'information commun pour plusieurs dispositifs de traitement de données connecté électriquement à ces lignes.
Plus particulièrement, un moyen d'acquisition d'information asynchrone capture, à la vitesse de transfert sur la ligne, l'information binaire apparaissant sur une ligne locale contiguë et cette information se trouve stockée dans un emplacement séparé parmi plusieurs emplacements de fichier réservé de manière à assurer en parallèle plusieurs communications de lignes de types différents. Un moyen de décodage d'information en communication électrique avec le moyen d'acquisition d'information identifie pratiquement à la
5
10
15
20
25
30
35
40
45
50
55
60
65
5
640 645
vitesse de transfert sur la ligne l'information binaire à traiter ensuite par l'unité de transfert. Un moyen de traduction d'information en communication électrique avec le moyen d'acquisition d'information convertit sélectivement, pratiquement à la vitesse de transfert sur la ligne, l'information d'adresse locale en adresse d'information distante et l'information d'adresse distante en information d'adresse locale. Un moyen de commande logique en communication électrique avec un moyen de décodage d'information et le moyen de traduction d'information, et qui répond au moyen d'acquisition d'information, effectue une reconfiguration sélective de l'unité de transfert afin de contrôler le transfert bidirectionnel de l'information dans cette unité.
L'invention est exposée plus en détail dans ce qui suit en référence aux dessins joints sur lesquels:
— les fig. 1 à 3 sont des schémas fonctionnels d'une première architecture de système de traitement de données incorporant l'invention;
— la fig. 4 est un schéma fonctionnel illustrant des ensembles d'unités de transfert doubles assurant un trajet de communication entre deux lignes de communication;
— la fig. 5 est un schéma fonctionnel partiel montrant les trajets logiques alternés dans les ensembles doubles afin de réaliser un trajet de communication entre deux lignes de communication;
— la fig. 6 est un diagramme des temps du fonctionnement d'un ensemble d'unités de transfert;
— la fig. 7 est un schéma fonctionnel d'une autre architecture de système de traitement de données incorporant l'invention;
— les fig. 8A à 8D composent un schéma fonctionnel détaillé d'une unité de transfert de données selon l'invention;
— la fig. 9 illustre graphiquement l'échange d'information entre une unité de transfert et une ligne de communication;
— la fig. 10 est un schéma fonctionnel général montrant une paire d'unités de transfert formant l'interface entre deux lignes de communication;
— la fig. 11 illustre graphiquement l'échange d'informations entre deux unités de transfert;
— la fig. 12 est un schéma d'état logique du fonctionnement d'une unité de transfert;
— la fig. 13 est un schéma partiellement fonctionnel et partiellement graphique de l'échange d'information entre une ligne de communication locale et une ligne de communication distante au travers d'une paire d'unités de transfert;
— les fig. 14a-14Z, 14AA-14AC sont des schémas logiques détaillés de l'unité de transfert illustrée à la fig. 8.
Sur les fig. 1 à 3, on peut voir, sous forme fonctionnelle, quelques exemples d'architecture de système de traitement de données selon l'invention.
Dans l'exemple de la fig. 1, deux unités de transfert également appelées unités de liaison intersystème (IS L) 10 et 11 réalisent une interface entre deux systèmes de traitement de données comprenant chacun un bus appelé ligne de communication. Chaque ligne de communication est en liaison par ordre de priorité avec une unité mémoire, des unités de commande de périphérique (PCU) et un processeur central (CPU). Plus particulièrement, l'unité ISL 10 se trouve en communication électrique avec l'unité mémoire 13, les unités de commande de périphérique 14 et 15 et avec le processeur central 16 par l'intermédiaire de la ligne de communication 12. L'unité ISL 11 se trouve en communication électrique avec l'unité mémoire 17, les unités de commande de périphérique 18 et 19 et avec le processeur central 20 par l'intermédiaire de la ligne de communication 21. Une description détaillée du système de communication peut être trouvée dans le brevet des Etats-Unis d'Amérique N° 3993981.
Le système illustré à la fig. 1 établit des communications avec l'une quelconque des lignes de communication par l'intermédiaire de dispositifs connectés par chaque ligne de communication. Par exemple, le processeur central 13 peut se trouver en communication avec les dispositifs connectés à la ligne de communication 12 ou elle peut être en communication par l'intermédiaire des unités ISL 10 et 11 avec les dispositifs connectés à la ligne de communication 21. Une caractéristique essentielle du système est la fonction mémoire convertible des unités ISL, comme il sera expliqué plus loin. Les unités mémoires 13 et 17, et les processeurs centraux 16 et 20 peuvent ainsi avoir les mêmes adresses. Les unités de commande de périphériques peuvent également avoir les mêmes adresses à la condition qu'elles ne soient point partagées.
La fig. 2 illustre une architecture de système légèrement différente, dans laquelle plusieurs unités ISL peuvent être en liaison avec une même ligne de communication. Plusieurs trajets de communication peuvent ainsi être établis entre une ligne de communication et une autre ligne. En outre, toutes les unités de commande de périphériques peuvent être connectées à une ligne de communication et l'accès à ces unités de commande peut être obtenu au moyen d'unités ISL connectées entre ces unités de commande et la ligne de communication.
Les unités ISL 30 et 31 sont chacune en communication électrique avec une ligne de communication 32. L'unité 30 peut en outre se trouver en communication avec une ligne de communication 33 par l'intermédiaire d'une unité ISL 34. En outre, l'unité ISL 31 peut être en communication avec une ligne de communication 35 par l'intermédiaire d'une unité ISL 36. Celle-ci peut en outre se trouver en communication avec la ligne de communication 35 et avec les lignes de communication 32 et 33 par l'intermédiaire des unités ISL 30, 31 et 34. D'une manière semblable, l'unité 34 peut être en communication avec la ligne de communication 33, et avec les lignes de communication 32 et 35 par l'intermédiaire des unités ISL 30, 31 et 36. Un dispositif quelconque connecté à l'une quelconque de ces trois lignes de communication peut par conséquent se trouver en communication avec n'importe quel autre dispositif du système de la fig. 2. Les processeurs centraux et les unités mémoires 37, 38, 39, peuvent avoir les mêmes adresses comme indiqué plus haut, et peuvent être partagés dans le temps. Les unités de commande de périphériques peuvent avoir les mêmes adresses uniquement si elles ne sont pas partagées dans le temps.
L'architecture de système illustré à la fig. 3 représente des trajets de communication redondants. Par exemple, une ligne de communication 40 peut se trouver en communication avec une ligne de communication 41 par l'intermédiaire d'une maille de communication 42 comprenant une paire d'unités de liaison intersystème ISL 42a et 42b, ou par l'intermédiaire de mailles de communication 43, 44 avec leurs unités ISL respectives. Dans l'éventualité où la maille 42 est inactive, la communication peut toujours s'établir par l'intermédiaire des mailles 43 et 44. Cette capacité multiple est réalisée au moyen d'une logique de temps qui sera décrite plus loin, incorporée dans chaque unité ISL, dans laquelle un trajet de communication alterné est cherché lorsqu'un trajet de communication est bloqué. Les unités de mémoire 45,46 et 47 sont reliées aux lignes de communication respectives.
La fig. 4 illustre, sous la forme d'un schéma fonctionnel simplifié, une paire d'unités de liaison intersystème ISL établissant un trajet de communication entre deux lignes de communication. Chacune des unités ISL 50 et 51 crée un trajet pour les données et les informations de commande entre les dispositifs connectés aux lignes de communication 52 et 53. Des unités ISL sont identiques et chacune contient un fichier de registres de largeur suffisante pour bloquer la totalité d'un transfert de lignes de communication, y compris l'information de commande et l'information de contrôle d'intégrité. Plus particulièrement, le numéro de canal et l'adresse provenant d'une ligne de communication locale 52 sont lus par une unité de reconnaissance logique 54 faisant partie de l'unité ISL locale 50. Si l'information reçue contient un numéro de canal ou une adresse qui est reconnue par l'unité 54, l'adresse et les données reçues sont stockées dans un fichier 55 comprenant quatre emplacements. Si une communication est requise entre une ligne locale 52 et une ligne distante 53, le numéro de canal et l'adresse reçus par l'unité locale 50 subissent une conversion par unité de logique de traduction 56 avant d'être trans5
10
15
20
25
30
35
40
45
50
55
60
65
640 645
6
férés à la ligne distante 53 par l'intermédiaire de l'unité ISL distante 51.
Dans l'éventualité où une demande de communication est lancée par la ligne distante 53, un numéro de canal et une adresse sont lus par une unité de reconnaissance logique 57 faisant partie de l'unité ISL distante 51. Si cette information est reconnue, les données et l'adresse provenant de la ligne distante sont stockées dans un fichier distant 58 comprenant quatre emplacements. Si une communication est requise avec la ligne locale 52, le numéro de canal et l'adresse sont acheminés vers la ligne locale 52 à travers l'unité de logique de traduction 59 et l'unité ISL locale 50. Pour la commodité, les deux lignes sont appelées ligne locale et ligne distante. Cette relation locale/distante dépend normalement de celle des lignes qui a lancé un cycle de transfert. L'unité ISL qui reçoit l'information d'une ligne adjacente est dès lors appelée unité ISL locale.
Les indicatifs des quatre emplacements dans les fichiers 55 et 58 indiquent les opérations logiques exécutées par les unités ISL pour contrôler le trafic à travers ces unités. Des fichiers sont utilisés pour stocker temporairement l'information reçue de la ligne. De cette manière, une unité ISL ne se trouve pas liée à une ligne locale si les délais sont rencontrés pendant la recherche d'un accès à une ligne distante. Par l'utilisation des fichiers à registres, tout le trafic de ligne locale s'écoule à la vitesse de transfert normale sur cette ligne et chacun des emplacements de fichier a une fonction réservée pour un type spécifique de transfert de ligne. Le tableau 1 indique les types de cycles qui peuvent se produire pendant lesquelles l'information de ligne se trouve stockée dans les registres des fichiers. Des cycles d'écriture en mémoire requièrent que le registre spécifique auquel ils sont assignés soit vide. Cette condition est vérifiée par l'intermédiaire de bascules qui sont localisées dans chaque unité ISL. Un cycle de lecture requiert qu'une réponse spécifique soit préservée dans une unité ISL distante. Cette exigence est relative à une caractéristique générale de ligne qui requiert que chaque seconde moitié de cycle (réponse) soit toujours acceptée, et cette exigence est satisfaite par la remise à zéro de la bascule. Une fois qu'une requête d'écriture passe d'une unité ISL locale à une unité ISL distante, une bascule du fichier plein se trouve remise à zéro afin d'achever une opération. Inversement, une bascule du fichier plein ne se trouve pas remise à zéro pendant une requête d'écriture jusqu'à ce qu'une réponse soit reçue d'un dispositif adressé connecté à la ligne distante. Aucune demande ne peut être acceptée par l'unité ISL locale jusqu'à ce que la réponse antérieure soit entièrement desservie par l'unité ISL distante.
Il existe deux trajets de transfert d'information distincts par lesquels une unité ou ensemble de liaison intersystème ISL répond aux demandes de communication. En réponse à des demandes de mémoire (MRQ) passant par un emplacement MRQ d'un registre, un ensemble ISL lance une réponse sur une ligne locale sans interroger d'abord une ligne distante. Il est important que l'unité ISL réponde à de telles demandes et libère la ligne locale aussi rapidement qu'une unité mémoire classique. Pour les demandes passant par un emplacement demande de relance d'opération (RRQ), l'ensemble ISL cherche la réponse de l'unité de destination connecté à la ligne distante. Comme l'unité de destination peut répondre soit par un signal d'accusé de réception (ACK), soit par un signal d'accusé de réception négatif (NAK), soit par un signal d'attente (WAIT), l'ensemble ISL ne peut donner une réponse significative à l'unité demanderesse avant qu'une réponse réelle ne soit disponible.
Lorsqu'un ensemble ISL local reçoit une demande RRQ, il répond par une réponse d'attente WAIT. L'unité demanderesse connectée à la ligne locale procède alors à une nouvelle demande jusqu'à ce qu'elle reçoive une réponse différente. Pendant que l'unité demanderesse est occupée, l'ensemble ISL distant adresse l'unité de destination et en obtient une réponse ACK, NAK ou WAIT.
Chaque fois que l'unité demanderesse lance un cycle de demandes, l'ensemble ISL local répond par une réponse d'attente jusqu'à ce qu'un signal ACK ou NAK soit reçu de l'unité de destination. L'ensemble ISL local compare alors l'information reçue pendant le cycle de demandes avec le contenu de l'emplacement RRQ du registre. Si l'unité demanderesse est la même unité que celle qui a lancé la demande originelle, l'ensemble ISL local applique à la ligne locale la réponse reçue de l'ensemble ISL distant. Si celui-ci reçoit un signal ACK, NAK ou WAIT de l'unité de destination, l'ensemble ISL local lance une réponse similaire sur la ligne de communication locale.
Chaque ensemble de liaison intersystème ISL peut, à l'égard d'une ligne de communication, redonner l'état de réceptivité à une mémoire d'un contrôleur entrée/sortie ou d'un processeur à différents moments, à mesure qu'il intercepte un transfert d'information sur une ligne et le relance sur une ligne différente. Chaque ensemble ISL est configuré par l'emmagasinage de données dans des mémoires de traduction afin de répondre à certaines adresses de mémoire, adresses de processeurs centraux et numéros de canaux. Pendant le fonctionnement du système, chaque ensemble ISL surveille tout le trafic des lignes et il répond au cycle de demande individuel dans une gamme de numéros d'identification pour le compte d'un dispositif de destination connecté à une ligne distante vers lequel le cycle était destiné. Lorsqu'un ensemble ISL local répond à une demande de ligne (BSDCNN), il passe l'information de la ligne locale à l'ensemble ISL distant. Celui-ci lance alors le cycle de demandes sur la ligne distante. Le cycle de réponse de l'unité de destination suit un trajet similaire en sens inverse et il est finalement acheminé vers l'unité se trouvant à l'origine de la demande.
Sauf en ce qui concerne le mode de configuration de l'ensemble ISL que l'on décrira plus loin, un ensemble ISL a une visibilité minimale à l'égard du logiciel. Le but est de procurer des ensembles ISL qui sont transparents, permettant ainsi aux mêmes fonctions qui s'établissent entre deux dispositifs connectés sur la même ligne de s'établir entre deux dispositifs connectés sur des lignes différentes.
Comme un ensemble ISL interconnecte deux lignes de communication, il peut être utilisé comme composant dans la réalisation de configurations à lignes multiples. L'ensemble ISL peut subir n'importe quelle configuration allant d'une simple extension de ligne à des configurations qui requièrent le partage d'une mémoire, des interruptions d'un processeur central à un autre, et des accès doubles à des contrôleurs entrée/sortie. De plus, des systèmes fermés peuvent contenir de multiples lignes qui sont reliées par des ensembles ISL multiples.
Les fig. 5 et 6 illustrent l'ordre des actions exécutées pendant un transfert d'information entre deux lignes de communication. La fig. 5 illustre cette séquence sous forme fonctionnelle, tandis que la fig. 6 illustre cette séquence d'actions par l'intermédiaire d'un diagramme des temps.
On se reportera d'abord au schéma fonctionnel de la fig. 5. Un cycle de demande (BSDCNN) est engendré par un dispositif connecté à une ligne de communication 60. Pendant ce cycle de demande, le registre 61a du fichier, qui correspond au type de cycle demandé, est exploré pour déterminer si une autre demande occupe à ce moment le fichier. Dans l'éventualité où le registre est vide, la donnée associée au signal BSDCNN est stockée dans le registre local 61a. De plus, il est déterminé si le dispositif d'interface 62a de l'ensemble ISL associé peut ou non agir comme agent pour desservir la demande émanant de la ligne de communication 60. Si le dispositif d'interface 62a ne peut agir comme agent, le signal BSDCNN est négligé. Dans le cas où le dispositif d'interface peut accepter le signal, un signal ACK, NAK ou WAIT peut être transmis en réponse à la ligne de communication 60. Plus particulièrement si le dispositif auquel une communication doit être transférée est une unité mémoire connectée à une ligne de communication 63, un signal ACK est normalement envoyé comme réponse. Si le dispositif de destination est une unité de commande de périphérique, c'est un signal WAIT qui se trouve engendré jusqu'à ce qu'il soit déterminé si l'unité périphérique va ou ne va pas engendrer un signal ACK, NAK ou WAIT. La ligne de communication 60 est alors libérée pour poursuivre le traitement d'autres demandes de cycle. Dans le cas où le dispositif d'interface 62a devient temporairement occupé
5
10
15
20
25
30
35
40
45
50
55
60
65
7
640 645
après qu'il a été déterminé qu'il peut servir d'agent pour la demande émanant de la ligne locale, ce dispositif répond par un signal WAIT.
Lorsqu'il a été déterminé qu'un dispositif auquel est destinée l'information à transférer est disponible, un cycle local se trouve programmé dans l'ensemble ISL 61. La programmation est requise pour éviter des conflits avec une réponse ou une demande lancée par la ligne de communication 63. Lorsqu'un premier cycle local dans l'ensemble ISL est achevé, le dispositif d'interface 62a se trouve chargé avec l'adresse, les signaux de commande et les données provenant de la ligne de communication 60. Un second cycle local est alors lancé jusqu'à ce qu'un cycle distant soit achevé dans l'ensemble ISL 64 afin de vider le dispositif d'interface de celui-ci. Conjointement à la programmation, les ensembles ISL suivent également un schéma de priorité dans lequel les demandes de mémoire supplantent celles des autres dispositifs, et dans lequel les cycles locaux supplantent les cycles distants. Lorsque l'ensemble ISL 64 entame un cycle distant, l'information stockée dans le dispositif d'interface 62a se trouve transféré dans un registre 64b du fichier. A ce moment, l'ensemble ISL 64 tente de lancer un signal MYDCNN vers la ligne de communication 63. Lorsqu'un cycle de lignes est établi pour l'ensemble ISL 64, l'information stockée dans le registre 64b du fichier est fournie par un dispositif adressé connecté à la ligne de communication 63. L'information fournie par la ligne 60 se trouve ainsi transférée à la ligne de communication 63 pratiquement dans sa forme originelle.
Dans le cas où un dispositif connecté à la ligne de communication 63 lance une demande de cycle pour entrer en communication avec un dispositif connecté à la ligne de communication 60, le fonctionnement décrit ci-dessus se trouve répété avec le déroulement du cycle local se produisant dans l'ensemble ISL 64 et le déroulement du cycle distant se produisant dans l'ensemble ISL 61. Plus particulièrement, la ligne 63 lance un signal BSDCNN qui se trouve stocké dans un registre 64a du fichier. Un cycle local est alors lancé pour stocker les signaux d'adresse, de commande et de donnée provenant de la ligne 63 dans un dispositif d'interface 62b. Lors de l'apparition d'un cycle distant dans l'ensemble ISL 61, l'information stockée dans le dispositif d'interface 62b se trouve appliqué à la ligne de communication 60 par l'intermédiaire d'un registre 61b du fichier.
On se reportera à présent au diagramme des temps de la fig. 6. La forme d'onde 65 illustre un signal BSDCNN lancé par une ligne de communication en réponse à une demande de cycle et la forme d'onde 66 illustre l'occurrence des cycles ISL locaux. La forme d'onde 67 illustre la période pendant laquelle l'information est transférée d'un registre local dans un registre distant par l'intermédiaire d'une unité de transfert. La forme d'onde 68 illustre l'occurrence de cycles ISL distants et la forme d'onde 69 illustre une période pendant laquelle la communication est établie entre un fichier distant et un dispositif connecté à une ligne de communication distante. Il est bien entendu que les formes d'ondes représentées à la fig. 6 illustrent des périodes de temps représentatives et non des périodes précises. C'est l'ordre d'occurrence des signaux qui est essentiel, et non leur durée.
Une première ligne de communication locale engendre un signal BSDCNN représenté par une impulsion 65a qui est reçue par un ensemble ISL local relié à la ligne de communication. Si le dispositif d'interface est disponible, l'information fournie par la ligne locale se trouve stockée dans ce dispositif. L'unité ISL locale entame alors un cycle local représenté par l'impulsion 66a pendant la durée de laquelle une réponse au signal BSDCNN peut être engendré afin d'indiquer la disponibilité d'un dispositif d'interface. Lors de l'occurrence d'une impulsion du cycle de transfert, illustré par l'impulsion 67a, une demande de cycle distant est lancée. Pendant un cycle distant illustré par l'impulsion 68a, l'information stockée dans le dispositif d'interface est transféré dans un registre de fichier distant relié à une ligne de communication distante. Une demande de cycle de ligne est ensuite lancée par l'unité ISL distante et un cycle de ligne est mis à la disposition de cette unité dans l'ordre de priorité.
Pendant cette période de temps, illustrée par l'impulsion 69a, un cycle BSDCNN se trouve engendré sur la ligne de communication distante en réponse à l'impulsion 69a afin d'établir un canal de communication entre un dispositif relié à la ligne de communication et le registre de fichier distant. L'information fournie par la ligne locale est alors appliquée sur la ligne de communication distante. Le dispositif adressé par un numéro de canal comprenant l'information peut alors recevoir l'information et lancer un signal ACK ou éventuellement soit un signal NAK, soit un signal WAIT comme décrit précédemment.
La fig. 7 est un schéma fonctionnel illustrant une autre architecture de système de traitement de données, dans laquelle plusieurs lignes de communication peuvent être en liaison avec une seule ligne de communication à laquelle peuvent être reliées toutes les unités de commande de périphérique'd'un système de traitement de données. De plus, si un concept de mémoire virtuel est adopté, les unités mémoire du système distant peuvent être reliées à une ligne de communication tandis que les unités mémoire du système local peuvent être reliées aux lignes de communication communiquant directement avec les processeurs centraux.
Les unités mémoires distantes 70-72 et les unités ISL 73 et 74 sont en communication électrique avec une ligne de communication 75. L'unité ISL 73 est également en communication électrique avec une unité ISL 76 connectée à une ligne de communication 77. En outre, l'unité ISL 74 se trouve en communication électrique avec une unité ISL 78 connectée à une ligne de communication 79. Un processeur central 80, une unité ISL 81 et une unité mémoire locale 82 sont également connectés à la ligne de communication 79. Un processeur central 83, une unité ISL 84 et une unité mémoire locale 85 sont connectés à la ligne de communication 77. L'architecture du système ainsi décrite permet l'utilisation de concept de mémoire virtuel selon lequel le processeur central 83 peut avoir accès non seulement à l'unité mémoire locale 85, mais également aux unités mémoires distantes 70 à 72. D'une manière semblable, le processeur central 80 peut avoir accès à l'unité mémoire locale 82 et aux unités mémoires distantes 70 à 72.
L'unité ISL 81 se trouve également en communication électrique avec une unité ISL 86 connectée à une ligne de communication 87. L'unité ISL 84 est en communication électrique avec une unité ISL 88 connectée à la ligne de communication 87. Plusieurs unités de commande périphériques 89 sont également connectées à la ligne de communication 87 pour permettre aux processeurs centraux 80 et 83 d'avoir accès aux sources d'information communes.
La fig. 8 illustre l'acheminement des données à travers une unité de liaison intersystème. La logique de commande pour cette unité sera décrite plus loin en référence aux fig. 14.
En référence à la fig. 8, un transmetteur-récepteur de données 90 reçoit les données d'une ligne de communication locale et applique ces données à une ligne de données 91 connectée à l'entrée d'un registre de fichier de données 92. La ligne 91a une capacité de transfert de 16 bits et le registre 92 a une capacité de 4 x 16 bits. La ligne 91 est également connectée à une entrée d'un comparateur 93 dont le but est de comparer les données sur la ligne avec les données stockées dans le registre 92. Le conducteur de bit zéro de la ligne 91 est connecté à une entrée d'un générateur de signal de remise à zéro 94. Celui-ci reçoit également une instruction d'initialisation à 16 bits par l'intermédiaire des conducteurs de bits 8 à 16 d'une ligne d'adresse locale à 24 bits 96. En réponse à ces signaux, le générateur génère un signal de remise à zéro sur une ligne 97 afin de remettre à zéro l'unité de liaison intersystème, comme on le verra plus loin en référence aux fig. 14.
La ligne 96 est connectée à la sortie d'un transmetteur-récepteur d'adresse 98 qui reçoit l'information d'adresse de la ligne de communication locale. Ces conducteurs des bits 8 à 16 de la ligne 96 sont connectés à l'entrée d'un comparateur d'adresse 99 et les conducteurs des bits 0 à 9 sont connectés à l'entrée 12 d'un multiplexeur d'adresse de mémoire de 10 bits 100. Des conducteurs des bits 0 et 1 sont connectés à l'entrée 11 du multiplexeur 100 pendant la période de réponse à des ordres de chargement de sortie 1/0. Les conducteurs des bits 8 à 17 de la ligne 96 sont connectés à l'entrée 12 d'un s
10
15
20
25
30
35
40
45
50
55
60
65
640 645
8
registre d'adresse de canal de 10 bits 101 tandis que les conducteurs des bits 18 à 23 sont connectés à l'entrée d'une mémoire morte de décodeur de fonction 102. La ligne 96 est également connectée à un registre de fichier d'adresse de 4 x 24 bits 103 et à une seconde entrée du comparateur 93 afin de comparer les données sur la ligne 96 avec le contenu du registre 92.
Un récepteur d'adresses 104 reçoit l'information d'adresse d'une ligne de communication distante et applique cette information à une ligne d'adresse à trois états de 24 bits 105 qui se trouve connectée à une entrée d'un décodeur de code de fonction 106 par l'intermédiaire d'une ligne de 4 bits 107 comprenant les conducteurs 20 à 23. Les conducteurs des bits 20 à 23 de la ligne d'adresse 105 sont connectés à la sortie de 4 bits de la mémoire morte 102. Des conducteurs de bits 5 à 17 de la ligne 105 sont connectés à la sortie d'un registre de commande de mémoire à accès sélectif de 13 bits 108 et les conducteurs des bits 0 à 23 sont connectés à la sortie de 23 bits du registre d'adresse 103 par l'intermédiaire d'une ligne 110. De plus, la ligne 105 est connectée à une entrée de 24 bits du comparateur 93 tandis que les conducteurs des bits 8 à 23 de la ligne sont connectés à l'entrée 12 d'un registre de multiplexeur d'adresse 111. Les conducteurs des bits 14 à 17 de la ligne sont connectés à l'entrée 11 d'un multiplexeur d'adresse 112. Les conducteurs des bits 14 à 17 de la ligne 105 sont connectés à l'entrée 11 à 4 bits d'une mémoire à accès sélectif de traduction de 16 x 4 bits 113, les conducteurs des bits 14 à 17 sont connectés à une entrée 12 d'un registre d'adresse de processeur central 114, des conducteurs de bits 0 à 23 sont connectés à une entrée de dispositif de commande de sortie d'interface 115 et les conducteurs de bits 8 à 17 sont connectés à une entrée 12 du registre 101.
Les données reçues d'une ligne de communication distante sont appliquées, par l'intermédiaire de récepteurs de données 116, à une ligne de données à trois états de 16 bits 117. Les conducteurs des bits 2 à 15 de cette ligne sont connectés à l'entrée d'un compteur progressif de mémoire à accès sélectif 118. Ce compteur applique un signal de commande de validation d'écriture de 3 bits à une ligne 119 et un signal de comptage de 10 bits aux entrées du registre de commande de mémoire à accès sélectif 108 par l'intermédiaire de la ligne 120. La ligne de données 117 est également connectée à la sortie d'un registre transmetteur de fichier de données de 16 bits 121 qui applique l'information reçue du registre 92 sur la ligne à trois états. L'entrée du registre 121 est connectée à une entrée du comparateur de ligne 93, à la sortie du registre de fichier de données 92 et à une entrée 1/1 du multiplexeur 111. Une troisième entrée 1/3 du multiplexeur 111 est connectée à la sortie du multiplexeur d'adresse 112 dont une seconde entrée 2 est connectée à une ligne de 4 bits 122. La sortie de 16 bits du multiplexeur 111 est connectée à l'entrée de transmetteur-récepteur d'adresse 123. La sortie de ce dispositif est appliquée à la ligne de communication locale.
Le registre de fichier de données 92 fournit les données au comparateur 93 pendant les cycles de transfert de la ligne de communication locale, au multiplexeur d'adresse 111 pendant les cycles de réponse et au registre 121 pendant les cycles internes de l'unité de liaison intersystème.
Les conducteurs de bits 6 à 15 de la ligne 117 sont connectés à l'entrée II d'une mémoire à accès sélectif de traduction d'adresse de mémoire 125 ayant une capacité de 1,0K x 11 bits. Une entrée de validation d'écriture 12 de cette mémoire est connectée au conducteur de bit 5 de la ligne de données 117. Une troisième entrée 13 de la mémoire 125 est connectée à la sortie du multiplexeur 100. La mémoire 125 fournit 10 bits de l'adresse de mémoire traduite soit à l'entrée d'un registre de référence de mémoire 126, soit à l'entrée d'un registre de chargement entrée/sortie (IOLD) 127. La mémoire 125 applique également un signal de commande de bit d'occupation par l'intermédiaire d'une ligne 128 connectée à une entrée d'un multiplexeur de données interne 129. La sortie du registre 126 est connectée par une ligne à trois états 130 ayant une capacité de 10 bits à une seconde entrée du multiplexeur 129 et, par l'intermédiaire du dispositif de commande 115, à la ligne de communication distante.
La sortie du registre 127 est également connectée, par l'intermédiaire de la ligne 130, aux dispositifs de commande 115 et à une troisième entrée du multiplexeur 129.
Les conducteurs de bits 6 à 9 de la ligne 117 sont connectés à l'entrée II du registre 114 dont la sortie est connectée à l'entrée II d'une mémoire à accès sélectif de définition de processeur central 131 ayant une capacité de 16 x 4 bits. L'entrée 12 de la mémoire 131 est connectée aux conducteurs de bits 0 à 3 de la ligne 117 tandis que l'entrée 13 de la mémoire 131 est connectée au conducteur de bits 3 de la ligne 117. La sortie de la mémoire 131 est connectée à l'entrée 15 du multiplexeur 129 et à l'entrée II des dispositifs de commande 115. Les conducteurs de bits 6 à 9 de la ligne 117 sont connectés également à un registre de canal d'interruption 132, les conducteurs de bits 0 à 15 sont connectés à l'entrée d'une unité d'horloge et de logique d'état 133, les conducteurs de bits 10 à 15 sont connectés à l'entrée d'un registre de niveau d'interruption 134 et les conducteurs de bits 0 à 15 sont connectés à l'entrée II du multiplexeur de données 129. Les conducteurs de bits 0 à 4 de la ligne 117 sont connectés à l'entrée d'un registre de commande de mode 135, les conducteurs de bits 0 à 3 sont connectés à l'entrée II d'un registre d'adresse de source de processeur central 136 et à l'entrée II du registre 136, et les conducteurs de bits 6 à 9 sont connectés à l'entrée 12 du registre 136. Le conducteur de bits 3 de la ligne 117 est connecté à l'entrée de validation d'écriture de la mémoire 131.
La sortie du registre 132 est connectée, par l'intermédiaire de la ligne 122, à l'entrée 12 du multiplexeur d'adresse 112 comme décrit plus haut, et à l'entrée 14 du multiplexeur de données 129. L'unité logique 133 applique les bits d'état de l'unité de liaison intersystème à l'entrée 13 du multiplexeur 129, et la sortie du registre 134 est connectée à l'entrée 12 du multiplexeur de données 129. La sortie du registre 135 est connectée à une logique de commande qui sera décrite plus loin en référence aux fig. 14. La sortie du registre 136 est connectée à l'entrée 12 de la mémoire 113 dont la sortie est connectée à l'entrée II d'un multiplexeur de données 137.
L'entrée 12 du multiplexeur 137 est connectée à la sortie du multiplexeur 129, à l'entrée 13 d'un registre de multiplexeur de données 138 et, par l'intermédiaire de dispositifs de commande 139, à la ligne de communication distante. La sortie du multiplexeur 137 est connectée à l'entrée 12 du multiplexeur 138. L'entrée II de celui-ci est connectée à la sortie adresse d'un commutateur rotatif HEX 140 et la sortie du multiplexeur 138 est appliquée à la ligne de communication locale par l'intermédiaire de transmetteurs-récepteurs de données 141.
Le multiplexeur 138 fournit aux transmetteurs-récepteurs 141 un signal à 16 bits. Les bits 6 à 9 sont founis par le multiplexeur 137, les bits 0 à 5 et 10 à 15 sont fournis par le multiplexeur 129. Les bits 0 à 15 du multiplexeur 129 sont appliqués aux dispositifs de commande 139.
Une entrée d'une mémoire à accès sélectif 142 ayant une capacité de 1024 x 1 bit est connectée à la sortie du registre 101. Une entrée de validation d'écriture 12 de la mémoire 142 est connectée au conducteur de bits 4 de la ligne 117 et la sortie de la mémoire 42 est connectée à l'entrée 8 du multiplexeur de données 129. Une logique de commande qui sera décrite plus loin en référence aux fig. 14 applique des signaux de commande aux conducteurs 143-145 aboutissant aux entrées d'un générateur de cycle 146. En réponse à ces signaux de commande, le générateur 446 engendre des signaux de temps, comme on le verra plus loin.
Une brève description du fonctionnement des lignes de communication est donnée dans ce qui suit pour faciliter la compréhension des types et formats d'instructions et autres informations reçues d'une ligne de communication par une unité de liaison intersystème ISL. La description de l'interface unité ISL/ligne de communication sera ensuite suivie d'une description d'une interface entre unités ISL et d'une description du fonctionnement de l'unité de la fig. 8 en réponse à des demandes de cycle de lignes spécifiques.
Une ligne de communication offre un trajet de communication commun à tous les dispositifs connectés à la ligne. La ligne est
5
10
15
20
25
30
35
40
45
50
55
60
65
9
640 645
asynchrone par conception, ce qui permet à des dispositifs ayant des vitesses différentes de fonctionner efficacement dans le même système. La caractéristique bidirectionnelle de la ligne permet à deux dispositifs quelconques de communiquer entre eux à un instant donné. Le transfert d'information entre les dispositifs forme une re- s lation maître/asservi, le dispositif demandant et recevant l'accès à la ligne devenant le dispositif directeur (maître) et le dispositif adressé par le maître devenant le dispositif asservi.
Tous les transferts d'information se font entre maître et dispositif asservi et chaque transfert est appelé cycle de ligne. Le cycle de ligne io est la période de temps durant laquelle le dispositif demandeur (maître) demande l'utilisation de la ligne. Si aucun autre dispositif ayant une priorité supérieure n'a fait une demande de ligne, l'usage de la ligne est accordée à ce dispositif demandeur. Celui-ci transmet alors son information au dispositif asservi qui accuse réception de la 15 communication.
Si la demande du dispositif demandeur requiert une réponse, le dispositif asservi prend le rôle de maître et l'unité appelante, qui était antérieurement le maître, devient le dispositif asservi. La communication entre un dispositif maître et un dispositif asservi requiert 20 une réponse du dispositif asservi lorsque celui-ci transfère une donnée. Dans ce cas, la demande d'information requiert un cycle et le transfert d'information vers le dispositif demandeur requiert un cycle de ligne additionnel pour achever la fonction.
Une unité directrice (maître) peut adresser n'importe quel autre 25 dispositif connecté comme unité asservie en appliquant l'adresse de celle-ci sur les conducteurs d'adresse de la ligne. Il existe 24 conducteurs d'adresse qui peuvent avoir l'une ou l'autre de deux interprétations selon l'état du signal de référence mémoire (BSMREF). Si le signal BSMREF est à un niveau logique 1, le format suivant se 30 trouve appliqué aux conducteurs d'adresse:
0
23
Adresse multiplet mémoire
LSB
Si le signal BSMREF est faux, le format suivant se trouve appliqué aux conducteurs d'adresse:
0
7 8
17 18
23 40
Usages variables Numéro canal destination
Code de fonction
Trois types de communication sont permis sur une ligne: un 45 transfert de mémoire, un transfert entrée/sortie et une interruption. Lorsque les dispositifs connectés à une ligne transfèrent des informations de commande, des données ou des signaux d'interruption, ils s'adressent l'un l'autre par un numéro de canal. En même temps que ce numéro de canal, un code fonction de 6 bits est transféré afin de 50 spécifier les fonctions devant être exécutées.
Lorsqu'une unité directrice exige une réponse d'une unité asservie, l'unité directrice fait passer le signal d'écriture de ligne (BSWRIT) à un niveau logique zéro. En outre, l'unité directrice fournit sa propre identité à l'unité asservie par l'intermédiaire d'un 55 numéro de canal. Celui-ci est codé sur les conducteurs de données de la ligne dans le format suivant:
0 9 10
Numéro canal source
Usages variables
Un numéro de canal existe pour chaque dispositif d'un système sauf pour une mémoire qui est identifiée uniquement par une adresse de mémoire. Le numéro de canal d'une unité asservie apparaît sur la ligne d'adresse pour tous les transferts de dispositif autres qu'une 65 mémoire. Ce dispositif compare ce numéro de canal avec son propre numéro de canal stocké. Le dispositif qui détecte une équivalence est l'unité asservie et il doit répondre à ce cycle. Le cycle de réponse est envoyé à l'unité directrice par un transfert de référence. Un signal de second demi-cycle de ligne (BSSHBC) accompagne un transfert afin d'identifier le cycle de ligne comme étant celui qui est attendu par l'unité directrice.
Les numéros de canaux de processeurs centraux sont limités à la gamme allant de 00016 à OOF16. Les 6 bits de plus fort poids du numéro de canal sont fixés à l'état zéro par la logique de processeur central et les 4 bits de plus faible poids seulement sont disponibles. Les numéros de canaux de processeurs centraux ne sont pas utilisés par d'autres dispositifs.
Les tableaux 2 et 3 résument les types courants de fonctionnement de lignes, chaque type requérant un ou deux cycles de ligne. Les transferts d'information qui sont considérés comme des opérations d'écriture n'exigent qu'un cycle de ligne tandis que les transferts qui sont considérés comme des opérations de lecture exigent un cycle de ligne supplémentaire pour la réponse.
Le tableau 4 donne une liste complète des signaux échangés entre la logique de liaison intersystème ISL et la ligne de communication. Ces signaux sont également illustrés sur la fig. 9 dont la légende est donnée au tableau 15.
Les signaux d'interface mentionnés ci-dessous assurent les fonctions de liaison requises par un dispositif connecté à une ligne de communication pour lancer, accepter ou refuser une requête de cycle de ligne. Il est entendu que, lors de la description de ces signaux, les termes vrai et faux doivent être interprétés en rapport avec les signes -I- et — associés au signal mnémonique. Par exemple, un signal BSREQT— est à un niveau logique zéro lorsqu'il est vrai et à un niveau logique 1 lorsqu'il est faux. Un signal BSAUOK+ est à un niveau logique 1 quand il est vrai et à un niveau logique 0 lorsqu'il est faux.
Le signal de requête de ligne (BSREQT—), lorsqu'il est vrai, indique qu'un ou plusieurs dispositifs connectés à la ligne demandent un cycle de ligne. Lorsque ce signal est faux, aucune demande n'est en suspens. Le signal cycle de données maintenant (BSDCNN—), lorsqu'il est vrai, indique qu'une unité directrice spécifique (par exemple, un processeur central, une mémoire ou une unité de commande) s'est vu accorder un cycle de ligne et a placé l'information sur la ligne à destination d'une unité asservie spécifique. Lorsque ce signal est faux, la ligne n'est pas occupée et peut se trouver dans le cas inactif entre cycles de ligne. Le signal d'accusé de réception (BSACKR—), lorsqu'il est vrai, indique à l'unité directrice que l'unité asservie a reçu et accepté un transfert spécifique de l'unité directrice. Le signal d'accusé de réception négatif (BSNARK-) indique à une unité directrice qu'une unité asservie refuse un transfert spécifique. Par exemple, une unité asservie peut refuser d'accepter un transfert lorsqu'une unité de commande qui est occupée est adressée pour un transfert de données. Le signal WAIT (BSWAIT—), lorsqu'il est vrai, indique à une unité directrice qu'une unité asservie ne peut accepter un transfert spécifique à ce moment. L'unité asservie peut être temporairement occupée, et l'unité directrice doit relancer des demandes successives jusqu'à ce que le transfert soit accepté.
Les signaux suivants effectuent le transfert d'information pendant un cycle de ligne. Les conducteurs de bits BSDT00— à BSDT15 peuvent composer un mot de données unique, un code de numéro de canal, des bits d'adresse d'ordre inférieur ou un niveau de décodage de priorité selon l'opération exécutée. Ainsi, une donnée, une adresse, une information de commande, une information de registre ou une information d'état peut être acheminée sur les 16 conducteurs de données d'une ligne de communication. Les 24 conducteurs d'adresse (BSAD00— à BSAD23—) d'une ligne peuvent composer une adresse de mémoire principale de 23 bits pour sélectionner l'un de 8 millions de mots. Les conducteurs d'adresse peuvent également composer un code de numéro de canal, un code de fonction entrée/sortie sur les conducteurs 18 à 23 ou encore une combinaison des trois pour une opération IOLD (chargement entrée/sortie) que l'on décrira plus loin.
640 645
10
Les signaux suivants servent de signaux de données, d'adresse et de commande qui effectuent le transfert et la commande d'information pendant un cycle de lignes. Le signal BSMREF, lorsqu'il est vrai, indique que les conducteurs d'adresse 0 à 23 de la ligne contiennent une adresse de mémoire principale complète. Lorsqu'il est faux, ce signal indique que les conducteurs d'adresse contiennent un numéro de canal sur les conducteurs 8 à 17 avec ou sans code de fonction sur les conducteurs 18 à 23, ou que les conducteurs d'adresse contiennent un code d'adresse de module de mémoire principale sur les conducteurs 0 à 7.
Le signal BSWRIT—, lorsqu'il est vrai, indique qu'une unité directrice (maître) transfère des données à une unité asservie. Lorsque ce signal est faux, le cycle de ligne initial signale une requête de lecture et les conducteurs de données de la ligne contiennent le numéro de canal de l'unité demanderesse. Si l'unité asservie accepte la demande, cette unité répond par une réponse de lecture au cours du second demi-cycle de ligne (BSSHBC). Le signal BSWRIT — est vrai pour toutes les opérations, sauf une demande de lecture d'une unité de commande ou de mémoire de processeur central, et un ordre de lecture entrée/sortie de processeur central. Ces opérations requièrent une demande de réponse pour fournir une information à l'unité directrice par l'intermédiaire d'un transfert de lignes séparé.
Le signal BSSHBC—, lorsqu'il est vrai, indique à une unité directrice que l'information engendrée par une unité asservie est l'information demandée antérieurement pendant un cycle de lignes initial.
Le signal BSBYTE—, lorsqu'il est vrai, indique qu'un transfert en cours est un transfert de multiplet plutôt qu'un transfert de mot. Ce signal est utilisé uniquement pendant les opérations d'écriture en mémoire.
Le signal BSLOCK—, lorsqu'il est vrai, indique qu'une unité directrice a demandé un changement d'état de la bascule de verrouillage d'unité de mémoire. Ce signal autorise également une opération lecture-modification-écriture qui permet d'effectuer les trois cycles pour une unité appelante sans interruption. Le premier cycle est un cycle de lecture dans lequel les conducteurs d'adresse de la ligne contiennent l'adresse de mémoire, tandis que les conducteurs de données contiennent le numéro de canal du dispositif appelant. Le second cycle est un cycle de réponse pendant lequel les conducteurs d'adresse de la ligne contiennent le numéro de canal du dispositif demandeur, tandis que les conducteurs de données contiennent les données lues dans la mémoire principale. Le troisième cycle est un cycle d'écriture pendant lequel les conducteurs d'adresse contiennent l'adresse de la mémoire, tandis que les conducteurs de données contiennent les données devant être inscrites en mémoire. Un dispositif peut donc lire et modifier un emplacement spécifique dans la mémoire tout en empêchant une interruption quelconque par un autre dispositif connecté à la ligne. La mémoire peut cependant être consultée par d'autres demandes de mémoire après le second des trois cycles décrits ci-dessus.
Le signal BSDBPL—, lorsqu'il est vrai, indique qu'une unité directrice demande un opérande à mot double d'une unité asservie. Pendant le premier demi-cycle de ligne, le signal BSDBPL— est renvoyé à l'unité appelante pour indiquer qu'un autre mot suit.
Les signaux BSREDD — et BSYELO — indiquent une erreur. Le signal BSREDD— est engendré uniquement par une unité mémoire principale qui contient une logique de détection d'erreur. Lorsqu'il est vrai, le signal indique que la mémoire a détecté une erreur pendant le second demi-cycle d'une opération de lecture. Le signal BSYELO— est engendré uniquement par une unité de mémoire principale qui contient une logique de détection d'erreur. Lorsqu'il est vrai, ce signal indique que la mémoire a détecté et corrigé une erreur pendant le second demi-cycle d'une opération de lecture.
Trois signaux sont utilisés pour indiquer la parité des bits d'adresse et des bits de données sur une ligne de cmmunication: le signal de parité d'adresse PSAP00— et les signaux de parité de données BSDP00— et BSDP08 —. Le niveau logique du signal PSAP00— indique la parité impaire des bits d'adresse 0 à 7. Le niveau logique du signal BSDP00— indique la parité impaire des bits 0 à 7 d'un mot de données de 16 bits; ce signal de parité indique donc la parité du multiplet gauche d'un mot. Le niveau logique du signal BSDP08 — indique la parité impaire des bits 8 à 15 du mot de données, c'est-à-dire la parité du multiplet droit de ce mot.
Deux signaux sont utilisés pour indiquer la continuité de la ligne et l'intégrité des tests de logique dans chaque dispositif. Ces signaux de qualité sont les signaux BSQLTO— et BSQLTI —. S'ils sont continuellement vrais, ces signaux indiquent que chaque test a été effectué avec succès. Ces signaux sont relayés de dispositif à dispositif d'un bout de la ligne à l'autre et retour. Ce test assure un contrôle efficace de la continuité pour tous les dispositifs disponibles.
Neuf signaux (BSAUOK+ à BSIUOK+) sont utilisés pour assurer un contrôle des interruptions de liaison. Tous ces signaux doivent être vrais pour valider un dispositif quelconque qui demande un cycle de ligne. Si plusieurs dispositifs demandent simultanément un cycle de ligne, le cycle est accordé à un dispositif seulement selon le niveau de priorité comme décrit plus haut. La mémoire a le niveau de priorité le plus élevé et les processeurs centraux ont le niveau de priorité le plus bas. Lors de demandes simultanées, c'est le dispositif demandeur ayant le niveau de priorité le plus élevé qui reçoit les neuf signaux vrais. Les autres dispositifs en reçoivent huit ou moins selon leur niveau de priorité par ordre décroissant.
Le signal BSMYOK+ indique à un dispositif ayant le niveau de priorité immédiatement inférieur qu'un dispositif générateur et certains autres dispositifs ayant un niveau de priorité supérieur n'ont pas demandé un cycle de ligne dans un intervalle de temps prédéterminé. Un cycle de ligne peut dès lors être accordé à une unité ayant un niveau de priorité inférieur s'il en a fait la demande.
Les quatre derniers signaux d'interface indiqués au tableau 4 sont asynchrones en ce qui concerne les fonctions qu'ils exécutent pendant le lancement et le contrôle normal des cycles de ligne. Le signal BSRINT —, lorsqu'il est vrai, permet à toutes les unités de commande de relancer une interruption qui a été antérieurement refusée par un processeur central par l'intermédiaire d'un signal d'accusé de réception négatif. Le signal BSMCLR— indique que le bouton-poussoir CLR (remise à zéro) sur le panneau de commande du processeur central est enfoncé ou qu'une séquence est effectivement opérationnelle. Si l'une quelconque des conditions existe, une opération d'initialisation est effectivement exécutée dans et pour tous les dispositifs disponibles. Lorsque le signal BSPWON + est vrai, ce signal indique que tous les dispositifs d'alimentation du système fonctionnent correctement. Ce signal est vrai lorsque l'énergie d'alimentation est stabilisée et il devient faux quelques millisecondes avant que l'énergie ne défaille.
Les lignes de communication sont connectées aux unités de liaison intersystème ISL par l'intermédiaire d'un groupe de transmetteurs-récepteurs assurant les caractéristiques électriques équivalentes requises pour toutes les connexions de lignes, permettant ainsi aux signaux de données, d'adresses et à la plupart des signaux de commande d'être acheminés vers les unités ISL et à partir d'elles. La fig. 10 illustre schématiquement les connexions d'interface entre deux unités ISL. Le sens d'acheminement des signaux échangés entre les unités est illustré à la fig. 11 : les 29 flèches d'acheminement de signaux correspondent, de haut en bas, à l'ordre des signaux mentionnés au tableau 16.
L'interface asynchrone entre les deux unités ISL de la fig. 10 comprend deux lignes unidirectionnelles identiques LIO et L20 qui assurent le traitement bidirectionnel parallèle des informations entre les deux unités. La fig. 11 illustre le transfert d'information sur une de ces deux lignes. Les signaux acheminés sur une de ces lignes est décrit brièvement dans ce qui suit.
Lorsqu'une unité ISL locale doit transférer une information à l'unité ISL distante, l'unité locale envoie un signal d'échantillonnage distant RMTSTB+ à l'unité distante. Celle-ci peut identifier le type de cycle de ligne par l'état des quatre signaux de commande qui accompagnent RMTSTR+. Il y a un signal de commande pour
5
10
15
20
25
30
35
40
45
50
55
60
65
11
640 645
chaque type de cycle de ligne (demande de mémoire, réponse de mémoire, demande de relance d'opération et réponse de relance d'opération). L'unité distante utilise le signal RMTSTR+ pour échantillonner les quatre signaux de commande et les introduire dans le réseau de priorité de sa logique de commande, et elle accuse réception de l'information en envoyant à l'unité locale un signal XFRDUN + . Lorsque l'unité locale reçoit ce dernier signal, le cycle de transfert est achevé.
Le signal GENMRQ— (généré demande mémoire), lorsqu'il est vrai, indique que l'unité ISL locale a achevé un cycle de demande de mémoire locale et demande à l'unité ISL distante d'exécuter un cycle de demande de mémoire distant. Le signal GENMRS— (généré réponse mémoire), lorsqu'il est vrai, indique que l'unité locale a achevé un cycle de réponse de mémoire locale et demande à l'unité distante d'exécuter un cycle de réponse de mémoire distante. Le signal généré demande de relance d'opération (GENRRQ—), lorsqu'il est vrai, indique que l'unité locale a achevé un cycle de demande de relance d'opération locale et demande à l'unité distante d'exécuter un cycle de demande de relance d'opération distant. Un signal GENRRS— (généré réponse de relance d'opération), lorsqu'il est vrai, indique que l'unité locale a achevé un cycle de réponse de relance local et demande à l'unité distante d'exécuter un cycle de réponse de relance distant. Un signal de réponse de relance d'opération (RMRESP—), lorsqu'il est vrai, indique qu'une unité ISL distante a reçu une réponse pendant un cycle de demande de relance d'opération distant. Le signal RMRESP— est utilisé par l'unité ISL locale pour échantillonner deux conducteurs de réponse de la ligne de communication distante, à savoir les conducteurs ACK et NAK, et pour lancer un cycle de comparaison. Le signal d'accusé de réception de ligne distante (RMACKR+), lorsqu'il est vrai, indique que l'unité distante a reçu une réponse d'acceptation de la ligne de communication distante. Ce signal est utilisé pendant des cycles de demande de relance d'opération au cours desquels la réponse de l'unité asservie doit être obtenue avant de lancer une réponse à l'unité directrice. Un signal d'accusé de réception négatif de la ligne distante (RMNAKR+), lorsqu'il est vrai, indique que l'unité distante a reçu une réponse d'acceptation négative NAK de la ligne de communication distante. Le signal RMNAKR+ est utilisé pendant des cycles de demande de relance d'opération au cours desquels une réponse d'unité asservie doit être obtenue avant de lancer une réponse vers une unité directrice. Un signal d'accusé de réception de réponse (ANSWAK+), lorsqu'il est vrai, indique qu'une unité locale a transféré une réponse d'acceptation ACK tout en achevant un cycle de demande de relance d'opération locale. Le signal ANSWAK+ est utilisé par l'unité ISL distante comme signal de temps pour le traitement du cycle de réponse de relance d'opération associé.
Un signal traduit numéro de canal (XLATOR+), lorsqu'il est vrai, indique que l'unité ISL locale a détecté un numéro de canal de processeur central sur la ligne de communication locale. A la réception de ce signal, l'unité ISL distante effectue une conversion du numéro de canal sur les bits 6 à 9 présents sur la ligne de communication. Le signal XLATOR+ est utilisé lorsqu'une unité ISL transfère des interruptions de processeur central à processeur central, ou traite soit une instruction de commande d'interruption de sortie, soit une instruction de commande d'interruption d'entrée.
Un signal fonction distante (RMTFUN+), lorsqu'il est vrai, indique qu'une unité ISL locale a reçu un ordre adressé à une unité ISL distante.
Un signal de mise à zéro ISL (MYMCLR—), lorsqu'il est vrai, indique que l'unité ISL locale exécute une séquence de mise à zéro. Un signal (TWINCN—) (unité ISL connecté), lorsqu'il est vrai, indique que l'unité ISL distante est connectée correctement. Un signal d'erreur de parité d'adresse (LCAPER+), lorsqu'il est vrai, indique que l'unité ISL locale a détecté une erreur de parité d'adresse sur la ligne de communication. A la réception de ce signal, l'unité ISL distante engendre une parité d'adresse incorrecte pendant un transfert de ligne de communication distante. De cette manière, l'erreur peut être passée à la destination finale avant d'être signalée.
Un signal d'erreur de parité de données (LCDPER+), lorsqu'il est vrai, indique que l'unité ISL locale a détecté une erreur de parité dans les données présentes sur la ligne de communication. A la réception de ce signal, l'unité ISL distante génère un signal de parité de données incorrecte pendant un transfert de lignes de communication distante. De cette manière, une erreur se trouve transférée à la destination finale avant que l'erreur ne soit signalée.
Un signal mémoire non existante (NOXMEM—), lorsqu'il est vrai, indique qu'une unité ISL distante a reçu une réponse d'acceptation négative NAK'de la mémoire lors d'une demande d'écriture en mémoire. A la réception de ce signal, une unité ISL locale tente d'engendrer une interruption. Un signal (WTIMOT+), lorsqu'il est vrai, indique que le contrôleur distant a dépassé le temps imparti. A la réception de ce signal, l'unité ISL locale tente d'engendrer un signal d'interruption. Un signal (RMTOUT—), lorsqu'il est vrai, indique que l'unité ISL distante n'a reçu aucune réponse, c'est-à-dire ni un signal ACK, ni un signal NAK, ni un signal d'attente WAIT.
Le transfert d'information entre les unités ISL forme une relation locale-distante. L'unité qui a transmis l'information est appelée l'unité locale et l'unité recevant l'information est appelée l'unité distante. Tous les transferts d'information entre unité ISL se font d'unité locale à unité distante et chaque transfert est appelé cycle de transfert. Cette relation locale/distante est semblable à la relation maître/asservi sur les lignes de communication. Lorsqu'une unité directrice (maître) demande un cycle sur une ligne, l'unité ISL qui intercepte le cycle devient une unité locale.
Dans d'autres types de demandes de cycle, une unité asservie doit répondre par un signal ACK, NAK ou WAIT, avec une probabilité élevée que l'une quelconque des trois réponses puisse se produire. Dans ces cas, une unité ISL ne peut donner une réponse significative à une unité directrice avant que l'unité asservie de destination n'ait répondu. Les types suivants de demande de cycle de ligne peuvent se produire: demande de sortie de dispositif entrée/sortie, demande d'entrée de dispositif entrée/sortie, signaux de test et de blocage de demande de lecture de mémoire, interruptions.
Dans le cas où un de ces types de demandes de cycle de ligne est reçu à une unité ISL locale, l'unité ISL répond par un signal d'attente WAIT. L'unité directrice connectée à la ligne locale peut alors procéder au lancement de la demande de cycle de ligne jusqu'à ce qu'une autre réponse soit reçue. Pendant que l'unité directrice est ainsi occupée, l'unité ISL distante adresse une unité asservie afin d'obtenir une réponse ACK ou NAK. Pendant la demande de cycle de ligne suivante de l'unité directrice, l'unité ISL locale fournit la réponse de l'unité asservie. L'unité ISL qui adresse une unité asservie sur une ligne distante devient une unité ISL distante. Lorsque la communication demande une réponse, une unité qui était précédemment asservie devient une unité directrice. En outre, une unité ISL distante lors du cycle précédent devient une unité ISL locale.
Il existe trois cycles de base qui se trouvent engendrés dans une unité ISL: un cycle local, un cycle distant et un cycle de transfert. Un cycle local est généralement lancé pour agir sur l'information dans le registre de fichier d'adresse 103 et le registre de fichier de données 92. Un cycle local peut également être lancé lorsque aucun cycle distant ou cycle d'information de fichier n'est en suspens, mais lorsqu'il y a cependant une interruption de cycle ISL, un dépassement du temps imparti à une mémoire ou un dépassement imparti à un dispositif entrée/sortie. Les cycles locaux peuvent également se produire pendant une séquence de mise à zéro du dispositif directeur afin d'augmenter le contenu du compteur de mémoire à accès sélectif 118 jusqu'à une valeur de 1024, et pour initialiser tous les emplacements de la mémoire à accès sélectif dans l'unité ISL. Lorsqu'une unité ISL entame un cycle local pour traiter l'information du fichier d'adresse ou du fichier de données, aucun cycle de transfert ne peut être en cours.
Un cycle distant est lancé par une unité ISL distante pour recevoir l'information d'une unité locale. Si les demandes de cycle locale
5
10
15
20
25
30
35
40
45
50
55
60
65
640 645
12
et distante sont reçues simultanément, la demande de cycle locale est honorée en premier lieu. Les cycles distants peuvent se produire en réponse à l'une quelconque des quatre instructions distantes suivantes: généré demande de mémoire, généré réponse de mémoire, généré demande de relance d'opération et généré réponse de relance d'opération. Pour lancer un cycle distant, une unité ISL ne doit être engagée ni dans un cycle local, ni dans un cycle de comparaison de ligne.
Un cycle de transfert est lancé pour transférer l'information d'une unité ISL locale à une unité ISL distante. Une unité ISL locale transférant des données à une unité ISL distante engendre un cycle de transfert et occasionne le lancement d'un cycle distant correspondant. Le cycle de transfert se termine à l'initiative de l'unité ISL locale lors de la détection d'un cycle distant dans l'unité ISL distante.
Lorsqu'elle engendre un des cycles décrits ci-dessus, une unité ISL peut être dans l'un des trois états logiques principaux. Plus particulièrement, une instruction de processeur central peut charger le registre de commande de mode 135 avec un signal binaire propre à placer une unité ISL dans l'un des trois états logiques suivants: mise à zéro, arrêt et connexion directe. Les passages d'un de ces états à l'autre se produit en réponse à une instruction de commande sortie de dispositif d'entrée/sortie ou à une séquence alimentation raccordée. Les instructions entrée/sortie peuvent être lancées par la ligne de communication locale ou par la ligne de communication distante.
L'état logique mise à zéro est transitoire. Cet état est établi lorsqu'une instruction de commande demande l'initialisation d'une unité ISL, ou lorsqu'une séquence d'alimentation raccordée est lancée. Dans l'état mise à zéro, un processeur central local peut remettre l'unité ISL locale à zéro en établissant à l'état logique 1 chaque cellule de traduction de la mémoire 125 et en vidant tous les autres emplacements de registre et de mémoire. Il en résulte que l'information relative à la configuration de l'unité ISL se trouve supprimée dans les mémoires 113,125,131 et 142. L'unité ISL ne répond dès lors plus à aucun cycle de ligne, sauf aux cycles relatifs à un numéro de canal.
Une unité ISL se trouve mise à l'état d'arrêt soit automatiquement à partir de l'état de mise à zéro, soit en réponse à une instruction de commande qu'il exige. Lorsque l'unité ISL passe de l'état de connexion directe à l'état d'arrêt, elle retient toute l'information de configuration dans les mémoires 113,125,131 et 142 qui existaient antérieurement à l'état d'arrêt. Pendant qu'elle se trouve à l'état d'arrêt, l'unité ne répond à aucun cycle de ligne, sauf à ceux qui concernent le numéro de canal de cette unité. Ce n'est que pendant un état d'arrêt que l'unité ISL accepte les instructions pour modifier l'information de configuration.
L'état de connexion directe est pris en réponse à une instruction de commande demandant spécifiquement que l'unité ISL soit mise en transfert de données. Dans cet état, l'unité ISL répond aux cycles de ligne concernant le numéro de canal de cette unité à la condition que ce ne soient pas des instructions de commande de configuration, et elle répond aux cycles de ligne visant les emplacements de la mémoire 142 ayant un bit 1 (bit d'occupation de canal) et les emplacements dans la mémoire 125 ayant un bit 1 (bit d'occupation de mémoire). L'unité ISL peut cependant être configurée pour fonctionner en mode d'essai spécial. Ce mode d'essai se rapporte aux réponses de ligne se produisant pendant une phase d'essai et de vérification qui sera décrite plus loin.
Une unité ISL peut également être placée dans l'un quelconque de cinq modes de commande logique indiqué par un mot d'instruction de sortie de dispositif entrée/sortie. Les modes de commande comprennent le mode mise à zéro, le mode arrêt, le mode reprise, le mode circulation et le mode relance d'opération NAK.
Le mode mise à zéro indiqué par le contenu du registre 135 se produit lorsque se présente l'une quelconque des conditions suivantes: 1) une fonction de mise à zéro du dispositif directeur est produite pendant l'application de l'énergie d'alimentation à l'unité ISL, 2) une défaillance d'alimentation se produit, 3) un bit d'initialisation
(conducteur de bit zéro dans les lignes 90 et 116) est à l'état 1 dans une instruction de commande sortie, 4) une fonction de mise à zéro de l'organe directeur est produite pendant qu'un bouton-poussoir de mise à zéro du dispositif directeur est enfoncé sur un panneau de commande d'opérateur.
L'apparition de l'une quelconque des trois premières conditions donne lieu à l'initialisation de toutes les données de configuration dans l'unité ISL.
Lorsqu'une fonction de mise à zéro d'organe directeur de ligne est produite, l'unité ISL reste dans un état logique en cours et la configuration ISL reste inchangée. Une séquence de mise à zéro du dispositif directeur est lancée simultanément dans l'unité ISL locale et dans l'unité ISL distante. La séquence se poursuit jusqu'à ce que les registres ISL (registre de canal d'interruption 132, registre de niveau d'interruption 134, registre de commande de mode 135) sont mis à zéro. Le niveau d'interruption de l'unité ISL est ainsi établi à zéro. Des cycles de relance d'opération locaux sont engendrés pendant la séquence de mise à zéro du dispositif directeur, et le compteur 118 voit son contenu augmenter jusqu'à la valeur 24 (CNTR1K). Lorsque le signal CNTR1K est valable, il met fin à la séquence de mise à zéro. Tous les emplacements de mémoire à accès sélectif dans l'unité ISL sont alors initialisés et l'unité ISL répond uniquement au trafic de ligne destiné à son numéro de canal.
En mode arrêt, une unité ISL répond uniquement aux cycles de ligne qui concerne son numéro de canal propre. Toute instruction qui tente de communiquer par l'intermédiaire de l'unité ISL est négligée et donne lieu à dépassement du temps imparti, comme on le verra plus loin. Tout cycle de lecture mémoire ou de dispositif entrée/sortie qui est accepté avant la réception d'un ordre d'arrêt est achevé avant la mise en mode arrêt.
En mode reprise, l'unité ISL se trouve remise en mode de connexion directe. L'unité répond aux cycles de ligne visant son numéro de canal à la condition qu'il n'y ait aucune instruction de commande de configuration. En outre, l'unité ISL répond à l'occurrence de bits d'occupation aux sorties des mémoires 125 et 142.
La relation entre les états logiques et les modes de commande logiques que peut prendre une unité de liaison intersystème ISL est illustrée à la fig. 12. Les trois états logiques que peut prendre une unité ISL sont l'état de connexion directe 150, l'état d'arrêt 151 et l'état mise à zéro 152. Si une unité est en connexion directe et reçoit un ordre de commande de sortie de dispositif entrée/sortie pour le mettre en mode reprise, l'état connexion directe est repris comme illustré par la boucle 153. Si la décision logique est de passer de l'état connexion directe 150 à l'état arrêt 151, l'unité ISL doit être placée en mode de commande logique d'arrêt pour effectuer ce passage.
Lorsque l'unité ISL reçoit un mode de commande lui ordonnant de se mettre en mode d'arrêt pendant qu'elle se trouve à l'état d'arrêt, l'état d'arrêt se trouve réintroduit comme illustré par la boucle 154. Si l'unité ISL doit passer de l'état d'arrêt 151 à l'état mise à zéro 152, l'unité ISL doit être mise en mode mise à zéro pour effectuer ce passage. L'état mise à zéro 152 est temporaire, c'est ce que symbolisent les traits interrompus sur la fig. 12. Lorsqu'elle est mise en état mise à zéro, l'unité ISL passe automatiquement à l'état d'arrêt 151, comme le symbolise le trait 155 sur la fig. 12. L'état mise à zéro peut également être pris à partir de l'état connexion directe 150 par l'intermédiaire d'un mode de commande de mise à zéro et en réponse à une action de mise sous tension ou de coupure d'alimentation. Si une coupure d'alimentation se produit pendant que l'unité ISL se trouve en état de connexion directe, l'unité restera dans cet état de connexion pendant approximativement 1,5 ms pour permettre une notification d'état entre les lignes de communication.
Lorsqu'un mot de commande se trouve stocké dans le registre de commande de mode 135 de la fig. 8, la sortie du registre indique à la logique de commande le type de réponse requise de l'unité ISL. Lorsque le bit zéro est à l'état logique 1, le mode mise à zéro du dispositif directeur est commandé. Lorsque le bit 1 est à l'état 1, c'est un mode reprise qui est commandé. Un mode arrêt est commandé lorsque le bit 1 est au niveau zéro. Les bits 2 et 3 dans le registre 135
5
10
15
20
25
30
35
40
45
50
55
60
65
13
640 645
commandent le mode circulation et le bit 4 commande le mode relance d'opération NAK. Plus particulièrement, l'unité ISL lance une réponse NAK lorsque le bit 4 est à l'état logique 1, et une réponse d'attente WAIT lorsque le bit 4 est à l'état logique zéro.
Il est entendu que ni le mode circulation ni le mode relance d'opération NAK ne sont représentés dans le diagramme d'état, car ils n'ont aucun effet sur les états logiques de l'unité ISL. Le mode circulation est un mode d'essai durant lequel les unités ISL locales et distantes et la logique d'interface entre les unités ISL se trouvent testés. Le mode relance d'opération NAK permet à une réponse NAK d'être envoyée à un dispositif qui a demandé à être desservi pendant un état d'occupation de l'unité ISL. Ce mode est utilisé pour placer temporairement un dispositif à un niveau de priorité plus élevé à partir d'une ligne de communication pendant que l'unité ISL répond à un processeur central.
Le fonctionnement de l'unité ISL schématisé à la fig. 8 est décrit dans ce qui suit. Pendant le fonctionnement de l'unité, l'information est reçue de la ligne de communication locale par l'intermédiaire de transmetteurs-récepteurs 90 et 98 et se trouve stockée dans les registres 92 et 103. Ceux-ci constituent conjointement quatre emplacements de stockage de 40 bits pour identifier le type de transfert d'information qui doit avoir lieu. Une réponse de mémoire MRS se voit attribuer l'emplacement ayant le niveau de priorité le plus élevé, l'emplacement 3. Le niveau de priorité suivant est accordé à l'emplacement 2 dans lequel est stockée une demande de mémoire MRQ. Une réponse de relance d'opération MRS se trouve stockée dans l'emplacement 1 et une demande de relance d'opération RRQ se trouve stockée dans l'emplacement zéro.
Il y a deux voies de décision logique distinctes prises par une unité ISL pour le traitement des demandes de ligne. Dans une première approche, l'unité ISL répond à une demande de cycle de ligne sans interroger une ligne de communication distante. Dans la seconde approche, la réponse réelle de l'unité de destination doit être obtenue par une unité ISL avant qu'une réponse puisse être faite à une demande de cycle de ligne. Pour chaque demande, il existe trois réponses possibles: une réponse d'acceptation ACK, une réponse d'acceptation négative NAK et une réponse d'attente WAIT.
L'unité ISL fait une réponse d'acceptation ACK si l'emplacement de fichier n'est pas plein, ou une réponse d'attente WAIT si l'emplacement de fichier est plein. L'unité ISL ne répond jamais par une réponse NAK aux demandes de cycles de ligne suivantes: demande de lecture de mémoire, demande d'écriture en mémoire, réponse de lecture de mémoire, demande de lecture de mémoire et remise à zéro, demande d'écriture en mémoire et remise à zéro, et réponse d'entrée de dispositif entrée/sortie.
Il est important que l'unité ISL réponde aux demandes de cycles de ligne et libère la ligne pour éviter une diminution inutile des vitesses de cycles. Si une unité ISL accepte un cycle de demande de mémoire et reçoit une réponse NAK de la ligne distante, l'unité ISL doit lancer une interruption sur la ligne locale pour obtenir un cycle d'écriture, ou engendrer un second demi-cycle de ligne avec priorité incorrecte pour une demande de lecture, comme on le verra plus loin.
Un cycle MRQ local se produit en réponse à un bit d'activité à l'état 1 dans les registres 92 et 103 au moment où se trouve stockée l'information reçue de la ligne locale. La demande de mémoire est engendrée pour lire ou pour écrire dans la mémoire distante. Dans le cas d'une lecture, l'emplacement 2 des registres 92 et 103 reste rempli et ces emplacements ne sont remis à zéro que lorsqu'une réponse est reçue de la mémoire distante. La réponse se présente sous la forme de données MRS chargées dans l'emplacement 3 des registres de l'unité ISL distante, correspondant aux registres 92 et 103 de la fig. 8. L'unité ISL distante demande alors un cycle pour transférer les données dans les récepteurs 104 et 116. Les données sont alors appliquées aux transmetteurs-récepteurs 123 et 141 par l'intermédiaire des lignes 105 et 117, et de là elles sont envoyées à la ligne de communication locale. L'information d'adresse est obtenue du registre 92 pendant un cycle distant dans l'unité ISL locale. A la fin du transfert de données provenant de la ligne de communication distante à travers l'unité ISL de la fig. 8, une nouvelle demande de cycle peut être reçue de la ligne de communication locale.
Il est entendu qu'il existe quatre cycles de ligne de communication qui intéressent une opération de lecture entre lignes de communication interconnectées par une paire d'unités de liaison intersystème ISL. Par contre, une opération de lecture sur une seule ligne de communication n'implique que deux cycles de ligne. Chaque cycle local présenté à une unité ISL doit être doublé sur une ligne distante. Le nombre de cycles requis pour un transfert d'information entre lignes de communication se trouve donc doublé par rapport à celui que requiert le transfert d'information sur une seule ligne.
On décrit à présent deux autres transferts d'informations, à savoir le transfert de requête de relance d'opération RRQ et le transfert de réponse de relance d'opération RRS. Le transfert RRQ ne donne jamais lieu initialement à un signal ACK. Un signal d'attente WAIT doit initialement être lancé jusqu'à ce qu'une réponse soit reçue d'un dispositif connecté à la ligne distante. Une transaction RRQ se produit, par exemple, lorsqu'un emplacement de mémoire doit être lu afin de déterminer s'il est utilisé. Dans la négative, la donnée contenue dans l'emplacement peut être modifiée ou remplacée. Une fois qu'une requête RRQ est faite, un bit plein est établi dans l'emplacement zéro des registres 92 et 103 afin d'indiquer un état d'occupation. Un cycle ISL local est alors engendré et est suivi par un cycle ISL distant et par un cycle de ligne de communication distante comme décrit plus haut. Lorsqu'une réponse est reçue de la ligne distante, la réponse et un signal de commande de réponse distante (RMRESP) sont envoyés à l'unité ISL locale. Il est entendu qu'une réponse d'attente WAIT est indiqué par l'absence d'une réponse ACK ou NAK.
Comme décrit précédemment, lorsqu'une unité ISL reçoit une demande de cycle de ligne, des signaux de commande de ligne sélectifs sont interrogés afin de déterminer lesquels de quatre emplacements dans les registres 92 et 103 sont utilisés pour recevoir l'information codée binaire de la ligne. Chacun des quatre emplacements est associé à un bit d'occupation appelé bit plein. Ce bit est vrai lorsqu'un emplacement associé est chargé et désigné pour être associé à une unité ISL. Une telle désignation se produit en association avec la génération de bits d'occupation par les mémoires 125 et 142 de la fig. 8.
Le bit plein empêche une autre information d'être chargée dans l'emplacement correspondant. Les trois autres emplacements des registres 92 et 103 peuvent être chargés si un bit plein ne s'y trouve pas établi. Un bit plein est remis à zéro, chaque fois que le contenu de l'emplacement correspondant n'est plus nécessaire pour l'usage de l'unité ISL. Par exemple, le bit plein de l'emplacement de demande de mémoire sera remis à zéro lorsque les dispositifs de sortie d'interface 115 et 139 seront chargés pendant un cycle de demande de mémoire MRQ local d'une opération d'écriture de mémoire. Dans le cas d'une opération de lecture de mémoire, cependant, le bit plein ne se trouve pas remis à zéro avant que ne se produise un cycle de réponse de mémoire distante (MRSCYR).
A chaque emplacement des registres 92 et 103 est également associé un bit d'activité locale (bit 2DO) qui excite le générateur de cycle 146. Plus particulièrement, le générateur est excité par les bits d'activité de l'unité ISL locale et par un bit d'activité distant (RMT2D0—). Lorsqu'un cycle local est engendré, le bit d'activité correspondant est mis à zéro.
Lorsque apparaît un état libre dans l'unité ISL locale et une demande de cycle de ligne sur la ligne locale, un cycle de comparaison de ligne est lancé dans l'unité ISL locale. Le comparateur 93 compare les 40 bits d'emplacement zéro des registres 92 et 103 avec l'information reçue des transmetteurs-récepteurs 90 et 98 associés à la ligne locale. Si une équivalence paraît, la réponse reçue de la ligne distante est envoyée au dispositif demandeur sur la ligne de communication locale.
Il est ainsi clair que, lorsqu'un dispositif connecté à la ligne locale demande un cycle de lignes sur la ligne distante, ce dispositif
5
10
15
20
25
30
35
40
45
50
55
60
65
640 645
14
reçoit un signal d'attente de l'unité ISL locale jusqu'à ce qu'une réponse soit reçue de la ligne de communication distante. Si la réponse est un signal ACK ou NAK, le dispositif local continue à demander le cycle de ligne. Aussi longtemps que la réponse est une réponse d'attente, le dispositif local continue à laisser engendrer des signaux de demande RRQ. Les processeurs centraux commandent la génération d'un signal RRQ dans une unité ISL lorsque des ordres entrée/sortie ou une instruction de test de mémoire sont lancés. Les unités de commande de périphérique peuvent également commander la génération de signaux RRQ lorsqu'une instruction d'interruption est envoyée à un processeur central sur une ligne distante.
Lorsqu'une opération d'écriture est demandée, le bit plein dans les registres 92 et 103 est remis à zéro lorsque l'information stockée dans les registres est chargée dans les dispositifs de commande 115 et 139. D'autres demandes de communication peuvent ensuite être faites par la ligne locale. Si l'opération de lecture est demandée, le processeur central prend un état d'attente jusqu'à ce que la donnée soit reçue de la ligne distante. Le bit plein dans les registres 92 et 103 reste par conséquent à l'état 1 jusqu'à ce que la donnée soit reçue de la ligne distante.
Dans un système comprenant plusieurs processeurs centraux, le comparateur 93 peut indiquer qu'une non-équivalence dans le cas où un processeur central ayant un niveau de priorité élevé connecté sur une ligne locale tente d'avoir accès à une unité ISL locale qui a stocké antérieurement une information provenant d'un processeur central ayant un niveau de priorité plus bas. Pour éviter un blocage de processeur central, une logique de relance d'opération d'acceptation négative NAK qui sera décrite plus loin se trouve actionnée par le processeur central ayant la priorité inférieure afin d'envoyer un signal NAK au processeur central ayant le niveau de priorité plus élevé.
Il est entendu que la structure de l'unité ISL illustrée à la fig. 8 procure plusieurs trajets de communication entre les lignes de communication locale et distante. Plus particulièrement, l'unité ISL locale permet d'avoir quatre transactions de transfert d'information en file dans les registres 92 et 103. Une des transactions peut être en cours pendant un cycle ISL local tandis que les trois autres sont en suspens. Pendant cette période, seuls des signaux de commande sélectionnés provenant de l'unité ISL distante sont reçus. Toute autre information fournie par l'unité ISL distante aux récepteurs 104 et 115 est inhibé. Lorsque le cycle local et les autres cycles en suspens sont achevés, l'unité ISL locale entame un cycle distant pendant lequel l'information contenue dans les récepteurs 104 et 116 est envoyé sur les lignes 105 et 117 à destination des transmetteurs-récepteurs 123 et 141, respectivement. Un fonctionnement typique de l'unité ISL locale peut ainsi se dérouler de la manière suivante. La ligne de communication locale peut entendrer un signal BSDCNN qui se trouve envoyé à l'unité ISL locale pour charger les registres 92 et 103. L'unité ISL distante peut alors fournir ou envoyer une information aux récepteurs 104 et 116. Comme un cycle local a la priorité sur un cycle distant, l'information contenue dans les registres 92 et 103 est d'abord envoyée sur les lignes 105 et 107 vers l'unité ISL distante par l'intermédiaire des dispositifs de sortie d'interface 115 et 139. Le niveau logique des lignes 105 et 117 est alors changé pour appliquer les sorties récepteurs 104 et 116 aux transmetteurs-récepteurs 123 et 141 et ainsi à la ligne de communication locale.
Les quatre types de transaction, les niveaux de priorité attribués aux transactions et aux cycles de transfert d'information, et l'architecture des unités ISL servent conjointement à réaliser des transferts d'information sans affecter sensiblement la vitesse de transfert sur les lignes de communication. Dans le mode de réalisation préféré décrit dans le présent mémoire, un cycle de ligne a une durée d'environ 175 à 300 ns. Dans cette gamme de temps approximative, il n'a été détecté aucune influence sur l'acheminement de l'information sur les lignes de communication.
A la lumière de ce qui précède, on va aborder dans ce qui suit une description plus détaillée de l'acheminement des données entre la ligne de communication locale et la ligne de communication distante. Les unités de liaison intersystème ISL travaillent en deux modes: un mode de transfert d'information et un mode de configuration.
Dans le mode de transfert d'information, un signal BSDCNN initial de la ligne locale est reçu par les transmetteurs-récepteurs 90 et 98 (fig. 8) et chargé ensuite dans les registres 92 et 103 si les registres sont trouvés vides. Si une demande de mémoire (MRQ) doit être desservie pendant un cycle ISL local, l'information de la ligne locale est inscrite dans l'emplacement 2 des registres 92 et 103. Si le bit plein des registres n'est pas à l'état 1, l'emplacement 2 est chargé inconditionnellement avec l'information, que l'unité ISL locale soit disponible ou non comme agent pour desservir ce cycle. Pendant que l'information de données est écrite dans les registres 92 et 103, les transmetteurs-récepteurs 90 et 98 adressent la mémoire d'adresse 125 par l'intermédiaire du multiplexeur 100. Si un bit d'activité, qui sera expliqué plus loin, est présent dans l'emplacement adressé, un cycle MRQ est lancé. En outre, l'adresse contenue dans l'emplacement adressé dans la mémoire 125 se trouve chargé dans le registre de référence de mémoire 126. Lorsque l'unité locale subit un cycle local, une adresse de mémoire est donc disponible.
La conversion d'adresse de mémoire apparaît dans les bits 0 à 9 de la sortie de la mémoire 125. Les bits 0 à 9 représentent jusqu'à 1024 modules de mémoire de 8.0K, tandis que les bits 10 à 23 représentent un module de 8.0K. Il existe par conséquent un total de 8.0 mégamultiplets de mémoire qui peuvent être adressés par l'intermédiaire des lignes de communication. La mémoire 125 constitue un moyen pour traduire l'un quelconque des 1024 modules adressés pendant un cycle de demande de mémoire. La traduction permet d'établir des communications entre dispositifs connectés à des lignes de communication séparées, dans lesquelles des dispositifs de mémoire semblables peuvent avoir les mêmes adresses.
Chaque unité ISL contient une mémoire de numéro de canaux ayant une capacité de 1024 bits, telle la mémoire à accès sélectif 142. Chaque bit de la mémoire est appelé bit d'activité et représente un numéro de canal. Plus particulièrement, les bits d'activité représentent les canaux qui n'existent pas réellement sur la ligne locale, mais qui exigent de l'unité ISL qu'elle réponde. L'unité ISL accepte toute référence à un dispositif autre qu'une mémoire dont le numéro de canal correspond à un bit d'activité se trouvant au niveau logique 1.
Lorsque est achevé le chargement de l'emplacement 2 du registre des données 92 et du registre d'adresse 103, un bit plein de demande de mémoire est établi à l'état 1 si chacun des trois éléments suivants se produit: un bit d'activité de mémoire est produit par la mémoire de traduction 125, le signal de référence de mémoire reçu de la ligne locale est vrai, et le signal de blocage de ligne provenant de la ligne locale est faux. Le bit plein à son tour provoque l'établissement à l'état 1 d'un bit d'activité 2D0, par lequel est commandé un générateur de cycle 146 et lancé un cycle de demande de mémoire MRQ local.
Pendant que les dispositifs 115 sont chargés à partir des registres 103 et 126, un mot de données dans le registre 92 se trouve acheminé par le registre transmetteur 121 et la ligne 117 pour être appliqué à l'entrée II du multiplexeur de données 129. La sortie de celui-ci est sélectionnée pour appliquer le signal à son entrée II aux dispositifs de commande 139. Les dispositifs de commande 115 et 139 forment la moitié locale de l'unité d'interface 62a de la fig. 5 comme suggéré par la ligne en trait interrompu. L'autre moitié de l'unité d'interface 62a fait partie de l'unité ISL distante 64.
Lorsque est achevé le cycle local, le système de commande logique lance un signal d'échantillonnage pour valider les dispositifs de commande 115 et 139 et lancer ainsi un cycle de transfert afin d'acheminer l'information de la ligne de communication locale jusqu'à l'unité ISL distante.
Dans l'éventualité où l'unité ISL distante lance une demande de mémoire MRQ, l'unité ISL locale de la fig. 8 entame un cycle distant au cours duquel l'information d'adresse et les données de la ligne de communication distante sont appliquées par l'intermédiaire des ré5
10
15
20
25
30
35
40
45
50
55
60
65
15
640 645
cepteurs 104 et 116 aux lignes 105 et 117, respectivement. Lorsque l'unité ISL locale entame le cycle distant, le système de commande logique de cette unité signale la fin du cycle de transfert à l'unité ISL distante. L'interface entre les unités ISL est alors libre pour exécuter d'autres transferts d'information.
Les bits 0 à 23 de la ligne 105 sont appliqués par le registre de multiplexeur 111 à l'entrée II des transmetteurs-récepteurs 123. Le mot de données sur la ligne 117 est appliqué à l'entrée II du multiplexeur de données 129 dont la sortie est appliquée par l'intermédiaire du registre du multiplexeur de données 138 aux transmetteurs-récepteurs 141. Lorsque le système de commande logique lance un signal d'échantillonnage pour valider les transmetteurs-récepteurs 123 et 141, l'information reçue de la ligne de communication distante est appliquée à la ligne de communication locale afin d'achever le cycle distant. Dans ce qui précède, on a décrit le fonctionnement d'une unité de liaison intersystème ISL au cours d'un cycle local et d'un cycle distant en réponse à une demande de mémoire.
Si une demande de relance d'opération RRQ est reçue de la ligne locale par l'unité ISL locale, l'information de la ligne se trouve appliquée par les transmetteurs-récepteurs 90 et 98 respectivement aux lignes 91 et 96. L'information est chargée dans les registres 92 et 93 comme décrit plus haut. Les bits 8 à 17 de l'adresse, qui identifient un dispositif directeur (dispositif maître ayant lancé un ordre) sur la ligne de communication locale, sont appliqués par la ligne 96 à l'entrée II du registre d'adresses de canal 101. Celui-ci adresse alors la mémoire 142. Si un bit 1 occupe l'emplacement adressé, la sortie de la mémoire 142 passe au niveau logique 1, identifie l'unité ISL locale comme agent pour desservir la demande lancée par le dispositif maître. La logique de commande lit la sortie de la mémoire 142 et établit alors à l'état 1 le bit plein RRQ dans les registres 92 et 103. Aucune autre information ne peut plus dès lors être chargée dans les registres avant qu'une réponse ne soit reçue de la ligne de communication distante. La logique de commande lance également des impulsions d'échantillonnage comme décrit plus haut pour acheminer l'information d'adresse stockée dans le registre 103 sur les lignes 105 et 147 afin d'appliquer cette information à l'entrée 12 des dispositifs 115. Les 16 bits de donnée reçues du fichier 92 sont acheminés par le registre transmetteur 121 et la ligne 117 jusqu'à l'entrée II du multiplexeur 129. Le registre 92, toutefois, peut ou non contenir une donnée valable. Si le dispositif maître a émis un ordre de sortie ou d'écriture, la donnée se trouve transférée à un dispositif adressé connecté à la ligne de communication distante. Si l'ordre lancé par le dispositif maître est un ordre de lecture, la seule information qui doit être transférée à l'unité ISL distante est l'adresse du dispositif maître. Aucune donnée ne doit être transférée.
Si un ordre de lecture a été reçu de la ligne de communication locale, l'adresse du dispositif maître sur la ligne locale se trouve stockée dans le registre de données 92. En outre, l'ordre de lecture se trouve transférée à la logique de commande de l'unité ISL distante comme on le verra plus loin en se référant aux fig. 14. La logique de commande de l'unité ISL distante lit l'ordre de lecture et lance alors l'adresse de l'unité ISL distante en actionnant un commutateur rotatif correspondant au commutateur 140. L'adresse de l'unité ISL se trouve appliquée par l'intermédiaire d'un multiplexeur de données analogue au multiplexeur 138 et par l'intermédiaire de transmetteurs-récepteurs distants analogues aux transmetteurs-récepteurs 141 jusqu'à la ligne de communication distante pendant le cycle de demande de relance d'opération distant. Lorsque les transmetteurs-récepteurs distants ont reçu une réponse de la ligne de communication distante pendant un second demi-cycle de ligne, l'information d'adresse reçue par les transmetteurs-récepteurs distants est comparée au code d'adresse distante par un comparateur d'adresses tel que le comparateur 99. Si une équivalence est détectée, le comparateur le signale à la logique de commande distante. Les bits d'activité 2D0 à l'emplacement 1 des registres d'adresses et de données distants sont alors mis à l'état 1 par la logique de commande distante afin de lancer un cycle de réponse de relance d'opération RRS dans l'unité ISL distante. Les données reçues des registres de fichier distant sont alors transférées aux dispositifs de commande de sortie d'interface distant. Lors du lancement d'un cycle de transfert dans l'unité ISL distante, les données sont acheminées vers les récepteurs 104 et 116 de l'unité ISL locale. En réponse au cycle de transfert, l'unité ISL locale entame un cycle de réponse de relance d'opération RRS afin d'acheminer les données reçues des récepteurs 116 vers les transmetteurs-récepteurs 141 et ensuite les appliquer sur la ligne locale. Plus particulièrement, les données reçues de l'unité ISL distante par les récepteurs 116 se trouvent appliquées par la ligne 117 à l'entrée II du multiplexeur 129 pour être appliquées ensuite à l'entrée 13 du multiplexeur 138. La sortie de celui-ci est appliquée par l'intermédiaire des transmetteurs-récepteurs 141 sur la ligne de communication locale. Pour achever l'opération de lecture, l'adresse du dispositif directeur qui se trouve stockée dans le registre de données 92 se trouve appliquée par le multiplexeur 111 aux transmetteurs-récep-teurs 123 connectés à la ligne de communication locale.
Le transfert d'informations dans les unités ISL est décrit à présent en liaison avec des instructions entrée/sortie spécifiques traversant les unités ISL. Le format de ces instructions est sans importance pour les unités ISL particulières à un dispositif connecté à une ligne de communication distante. Ils apparaissent simplement aux unités ISL sous forme de données qui sont acheminées à travers les unités ISL vers une ligne de communication. Si une instruction entrée/sortie est transférée par l'unité ISL locale vers l'unité distante, un signal ACK reçu de l'unité distante en réponse à l'instruction fait passer le bit plein dans les registres 92 et 103 à l'état 0. Un autre transfert d'informations est ainsi établi à partir de la ligne de communication locale. Dans le cas d'un ordre de lecture lancé par l'unité ISL locale, le bit plein reste au niveau logique 0 jusqu'à ce que les données soient reçues de l'unité ISL distante. De plus, les données provenant de la ligne distante ne peuvent pas être acheminées vers l'unité locale avant qu'un signal ACK du dispositif adressé connecté à la ligne distante ne soit transféré au dispositif appelant connecté à la ligne locale.
Comme l'unité ISL locale doit être à l'état de repos avant qu'un cycle de comparaison de ligne puisse être exécuté, il est concevable que les données demandées de la ligne distante puissent être reçues avant que ne se produise un cycle de repos. Comme la logique de commande distante assure que les données ne soient pas transférées de l'unité distante à l'unité locale avant qu'une réponse ACK n'apparaisse, les données de la ligne distante se trouvent stockées dans le fichier de données distant et dans le fichier d'adresse distant jusqu'à ce qu'une réponse appropriée ait été faite.
Lorsque les données demandées de l'unité ISL distante sont acheminées vers l'unité ISL locale, le bit plein des registres 92 et 103 passe à l'état 0 afin de libérer le trajet de transfert RRQ pour un autre transfert d'informations.
Lorsqu'une instruction d'entrée est acheminée par les unités ISL distante et locale vers la ligne de communication locale, l'unité locale applique l'adresse de canal fixée dans le commutateur rotatif 140 au multiplexeur 138 afin que cette adresse soit appliquée ensuite par les transmetteurs-récepteurs 141 à la ligne de communication locale. En réponse à cette adresse, la ligne locale génère un signal de seconde mi-cycle de ligne (signal BSSHBC) et une adresse de dispositif. Le signal BSSHBC est reçu par le transmetteur-récepteur 90 et l'adresse du dispositif est reçu par le transmetteur-récepteur 98. L'adresse est comparée dans le comparateur 99 avec le code d'identification de l'unité ISL locale. S'il y a équivalence, le comparateur 99 signale le fait à la logique de commande locale. Celle-ci engendre alors un signal ACK qui se trouve lancé sur la ligne de communication locale. Il est entendu que tous les seconds mi-cycles de ligne donnent lieu à une réponse ACK et non à une réponse WAIT ou NAK. Les données de la ligne locale sont immédiatement stockées dans les registres 92 et 103. Un cycle RRS local est alors mis en file par la logique de commande locale, et lors du lancement du cycle, l'information stockée dans le registre de données 92 est acheminé à travers le registre 121 et la ligne 117 vers l'entrée II du multiplexeur de données 129. La sortie de celui-ci est appliquée aux transmet5
10
15
20
25
30
35
40
45
50
55
60
65
640 645
16
teurs-récepteurs de sortie 139. Pendant un cycle de transfert, l'information contenue dans les transmetteurs-récepteurs 115 et 139 est appliquée aux récepteurs de l'unité ISL distante. Lorsque l'information de l'unité ISL distante est reçue au récepteur 116 en réponse à une demande émanant d'un dispositif connecté à la ligne de communication locale, l'adresse de ce dispositif stocké dans le registre de données 92 est appliquée à l'entrée II du multiplexeur 111, puis à l'entrée 12 des transmetteurs-récepteurs 123 pour être appliquée ensuite à la ligne locale. Les données de l'unité ISL distante sont appliquées par la ligne 117 à l'entrée II du multiplexeur 129 et à l'entrée 13 du multiplexeur 138 afin d'être appliquées enfin aux transmetteurs-récepteurs 141.
Les instructions de test de mémoire dans le mode de transfert sont des demandes de mémoire qui utilisent le trajet de relance d'opération interne à l'unité ISL pour vérifier une mémoire distante avant de répondre à un dispositif local. Les trajets de données associés sont identiques à ceux d'un cycle MRQ local sauf que l'adresse est retrouvée dans le registre de référence de mémoire 126. Les autres bits 10 à 23 sont reçus du registre d'adresse 103 par l'intermédiaire de la ligne 105 et appliqués à l'entrée 12 des transmetteurs-récepteurs 115. Le bit 23 est le bit de traduction d'adresse de mémoire pour l'instruction de test. Il est entendu que les entrées 12 et 13 des transmetteurs-récepteurs 115 sont multiplexés. Ainsi, au cours du cycle ISL local, l'adresse est fournie par le registre de référence de mémoire 126 et le registre de fichier 103 aux transmetteurs-récepteurs 115. Les données extraites du registre de données 92 sont appliquées par le transmetteur 121 et le multiplexeur de données 129 aux transmetteurs-récepteurs 139. Aucune traduction n'a lieu dans l'unité ISL distante. Les autres opérations de l'unité ISL distante au cours de l'instruction de test sont les mêmes que pour un cycle entrée/sortie normal.
Avant de décrire le passage des interruptions de ligne de communication dans les unités ISL, il peut être utile de décrire de façon plus détaillée la conversion de numéro de canal de processeur central. En plus de la fonction de reconnaissance du numéro de canal, une unité ISL exécute une conversion du numéro de canal en un numéro de canal de processeur central compris dans la gamme allant de 000lfi à 00F16. Dans l'architecture d'un processeur central, le numéro de canal de processeur central détermine l'emplacement de la mémoire réservée sur une ligne. Le canal 0 utilise les emplacements 0 à 255, le canal 1 utilise les emplacements 256 à 511, etc. Normalement, le processeur central ayant le niveau de priorité le plus bas est affecté au canal 0, et le processeur ayant le niveau de priorité suivant est affecté au canal 1. Lorsque des mêmes affectations de numéro de canal se produisent pour plus d'une ligne, les numéros de canaux doivent être convertis pour éviter des conflits.
La fig. 13 illustre le flux d'informations de reconnaissance et de traduction de numéro de canal pour deux cas. Le premier cas concerne une demande de cycle de ligne lancée par une ligne de communication locale, le second cas concerne une réponse locale à une demande de cycle de ligne distant. Dans le premier cas, un numéro de canal de destination est appliqué par la ligne d'adresse 96, d'après le format indiqué en 156, à la mémoire à accès sélectif 142 et à la mémoire à accès sélectif de conversion de destination 131. La mémoire 131 contient des bits d'activité indiquant si une unité ISL locale va accepter un numéro de canal particulier. Une table de conversion des numéros de canaux est stockée dans deux mémoires à accès sélectif de 16 x 4 bits, une mémoire dans l'unité ISL locale et une mémoire dans l'unité ISL distante. La mémoire localisée dans l'unité ISL locale est appelée mémoire de conversion de numéros de canaux de destination, par exemple la mémoire 131. La mémoire localisée dans l'unité ISL distante est appelée mémoire de conversion de numéros de canaux source, par exemple la mémoire 113.
Dans le second cas dans lequel une réponse locale est faite à une demande de cycle de ligne distant, un numéro de canal source se trouve appliqué par la ligne de données 91 à la mémoire 113 de l'unité ISL distante.
Chaque unité ISL contient également un sélecteur de numéro de canal. L'unité ISL locale comprend un sélecteur de canal 157 et l'unité distante comprend un sélecteur de canal 158. Les numéros de canaux sélectionnés peuvent être soit des numéros de canaux non traduits pour des numéros de canaux de dispositifs autres que des processeurs centraux, soit des numéros de canaux traduits pour les numéros de canaux de processeurs centraux. Un numéro de canal traduit est sélectionné chaque fois qu'une des trois conditions suivantes est satisfaite: 1) les numéros de canaux de processeurs centraux sur la ligne d'adresse sont traduits par la table de conversion de destination, (2) les numéros de canaux de processeurs centraux qui sont sur la ligne de données pendant des interruptions de processeur central à processeur central sont traduits par la table de conversion de source, et 3) les numéros de canaux de processeurs centraux qui sont sur la ligne de données comme partie d'une instruction de commande d'interruption de sortie sont traduits par la table de conversion de source, sauf lorsqu'ils sont destinés à l'unité ISL.
Les formats des numéros de canaux de destination et de source appliqués par l'unité ISL distante sur la ligne de communication distante sont illustrés respectivement en 159 et 160.
Il y a quatre cas dans lesquels se produit une traduction de numéro de canal de processeur central. Dans le premier cas, un dispositif connecté à une ligne de communication locale peut tenter d'interrompre un processeur central connecté à une ligne de communication distante. L'unité ISL locale lance alors un cycle de demande de relance d'opération locale lorsqu'elle détecte un bit d'activité dans la cellule adressée de la mémoire 142, si l'emplacement 0 des fichiers 92 et 103 est vide. Les dispositifs de commande de sortie d'interface 139 sont chargés à partir du multiplexeur de données 129, l'entrée II de ce multiplexeur recevant les données du registre transmetteur 121. Les bits 0àl3etl8à23 des dispositifs de commande de sortie 115 sont chargés à partir du registre d'adresse 103 tandis que les bits 14 à 17 sont chargés à partir de la mémoire de destination 131. Celle-ci à son tour est adressée par le registre d'adresse 114 recevant les bits 14 à 17 des registres 103.
Un second cas est celui dans lequel une instruction entrée/sortie destinée à un dispositif connecté à une ligne de communication distante comprend un code fonction de 03. Un tel code identifie une instruction de commande d'interruption de sortie.
Pendant un cycle RRQ distant, les bits 6 à 9 sur la ligne 117 sont appliqués à la mémoire d'adresse 113 par l'intermédiaire du registre 136. La sortie de la mémoire 113 est appliquée à la ligne locale par l'intermédiaire du multiplexeur de données 137, du registre de multiplexeur 138 et des transmetteurs-récepteurs 141. La sortie de la mémoire 113 remplace donc les bits de données représentant une adresse de canal de processeur central dans l'information de commande d'interruption destinée à être appliquée à un dispositif connecté à la ligne de communication distante.
Dans le troisième cas, le flux d'information est identique à celui du second cas, sauf que la mémoire 113 donne l'adresse de canal de processeur central source dans la zone donnée d'une instruction d'interruption processeur local/processeur distant. La zone donnée dans l'instruction d'interruption contient l'adresse de la source d'interruption et le niveau d'interruption.
Le quatrième cas se produit lorsqu'une instruction entrée/sortie destinée à un dispositif connecté à une ligne de communication distante contient un code fonction de 02 qui identifie une instruction de commande d'interruption d'entrée. Pendant le cycle RRS local dans l'unité ISL distante, qui est généré en réponse à un second demi-cycle de ligne lancé par le dispositif adressé connecté à la ligne de communication distante, les bits de données 6 à 9 du registre 121 sont appliqués par l'intermédiaire du registre d'adresse 114 à la mémoire 131. La sortie de celle-ci est chargée dans les bits 6 à 9 des dispositifs de commande d'interface 139. Les bits 6 à 9 représentent l'adresse d'un processeur central distant devant être interrompu.
Revenant au passage des instructions entrée/sortie dans les unités ISL, il est entendu qu'une interruption est un cycle généré par un processeur central ou une unité de commande de périphérique, et lancé vers un processeur central. Plus particulièrement, pendant un
5
10
15
20
25
30
35
40
45
50
55
60
65
17
640 645
cycle BSDCNN, l'adresse reçue de la ligne de communication locale par les transmetteurs-récepteurs 98 est présentée au registre d'adresse de canal 101 afin d'adresser un des 1024 emplacements de la mémoire 142. Si la sortie de cette mémoire passe à un état logique 1, l'unité ISL locale de la fig. 8 devient un agent pour le cycle de transfert BSDCNN. En particulier, les adresses de processeurs centraux se produisent entre les positions 00 et 0F du commutateur rotatif. Lorsque la sortie de la mémoire 142 passe à un état logique 1 et lorsque les six bits d'ordre supérieur 0 à 5 de l'adresse sur la ligne 96 sont des 0, le dispositif asservi est un processeur central. Comme un tel cas apparaît dans un cycle de ligne autre qu'un second demi-cycle de ligne, le cycle en question est un cycle d'interruption. Ainsi donc, si l'unité ISL locale reçoit l'adresse d'un processeur central pour laquelle l'unité ISL devient un agent, le cycle de ligne doit être un cycle d'interruption. Pendant un cycle d'interruption, les adresses des processeurs centraux sont convertibles.
Lorsqu'il est déterminé que l'unité ISL locale doit devenir un agent pour un cycle d'interruption, la logique de commande de l'unité ISL locale attend un cycle RRQ suivant (cycle de demande de relance d'opération). Lorsque l'unité ISL locale entame un tel cycle, l'unité ISL distante reçoit une adresse et des données converties de l'unité ISL locale. L'adresse convertie est appliquée à la ligne de communication distante afin d'interrompre le processeur central adressé. Celui-ci répond par un signal ACK ou NAK. Ces signaux sont envoyés directement à l'unité ISL locale par l'intermédiaire du comparateur 93 comme décrit plus haut. Si le trajet de relance d'opération de l'unité ISL locale est occupé pour desservir une instruction précédente, une interruption ne peut être traitée. L'unité ISL envoie alors un signal de réponse NAK et génère une instruction de reprise d'interruption destinée à la ligne locale lorsque l'instruction précédente est complètement exécutée. La ligne locale peut alors lancer une demande d'interruption à l'unité ISL adjacente. Si l'interruption n'a pas donné lieu à une réponse NAK, alors l'interruption empêche un processeur central d'acquérir d'autres cycles de ligne. Dans le cas de plusieurs processeurs centraux, une instruction de commande ISL appelée relance d'opération NAK, est lancée pour réaliser la situation dans laquelle un processeur central ayant un niveau de priorité élevé lance une demande après qu'un processeur central ayant un niveau de priorité plus faible a acquis un cycle de ligne attendant une réponse. La réponse à l'instruction de relance d'opération NAK satisfait temporairement le processeur central ayant le niveau de priorité plus élevé pour permettre au processeur central ayant le niveau de priorité plus faible d'achever sa tâche. Cette organisation empêche un blocage qui pourrait geler le trajet de communication entre les lignes de communication.
Il y a deux instructions entrée/sortie de processeur central par lesquelles un processeur central de commande identifie pour une unité de commande de périphérique l'adresse d'un processeur central devant être interrompu et le niveau de priorité de l'interruption. Les deux instructions sont l'instruction de commande d'interruption de sortie et l'instruction de commande d'interruption d'entrée. Ces instructions doivent être traduites si le processeur central de commande est connecté à une ligne de communication et lorsque l'unité de commande de périphérique est connectée sur une autre ligne de communication. La mémoire de conversion source 113 et la mémoire de conversion de destination 131 assurent la conversion de l'information de commande d'interruption. Les trajets pour les flux de données de conversion sont les mêmes que ceux décrits précédemment pour les cas deux et quatre.
On termine la description du fonctionnement en mode transfert d'information de l'unité ISL de la fig. 8 par la description du fonctionnement des autres dispositifs utilisés pendant le transfert de données. A cet effet, on retiendra que les mêmes dispositifs peuvent avoir d'autres fonctions pendant le mode de configuration de l'unité ISL. La mémoire morte de décodeur de fonction 102 décode les instructions de la ligne de communication locale destinée à l'unité ISL apparaissant dans les bits 18 à 23 de l'adresse présente sur la ligne , 96. De telles instructions peuvent être reçues pendant le transfert d'information et durant le mode de configuration. Pendant le mode de transfert d'information, les instructions peuvent contenir l'état d'entrée, le code d'identification d'entrée, le masque rythmeur de remise à zéro/interruption, et les mots de commande de sortie. Toutes les autres instructions sur la ligne reçoivent une réponse dans le mode de configuration, comme on le verra plus loin.
Le tableau 6 est une table de décodage pour la mémoire morte 142.
Le registre de commande de mode 135 est chargé pendant l'exécution d'un mot de commande qui sera décrit plus loin afin d'indiquer un fonctionnement soit en mode de transfert d'information,
soit en mode de configuration d'unité ISL. L'unité rythmeur et logique d'état 133 comprend un rythmeur de contrôle interne à l'unité ISL, une unité de dépassement du temps imparti entrée/sortie, une unité de dépassement du temps imparti au cycle de ligne ISL, et une unité de dépassement du temps imparti au cycle de ligne de communication que l'on rencontre uniquement lorsqu'une unité ISL est connectée à une ligne de communication à laquelle n'est pas raccordé de processeurs centraux. Les unités de rythme valident collectivement l'unité ISL afin d'être transparentes au fonctionnement des lignes de communication. L'unité logique 133 comprend également des générateurs de bits d'état indiquant le mode de fonctionnement de l'unité ISL, les horloges qui sont validées, la présence d'une interruption, le type d'interruption, etc.
Le registre de canal d'interruption 132 et le registre de niveau d'interruption 134 sont chargés pendant une instruction de commande d'interruption de sortie destinée à l'unité ISL. Les registres 132 et 134 sont utilisés par l'unité ISL pendant une génération d'interruption.
Le registre de canal d'interruption 132 est un registre de quatre bits indiquant l'adresse du processeur central devant être interrompu. Le registre de niveau d'interruption 134 est un registre de six bits qui indique le niveau de priorité attribué à l'interruption. Un processeur central connecté à une ligne de communication peut lire le niveau d'interruption afin de commander le déroulement du logiciel interne au processeur central.
Lorsqu'un processeur central doit être interrompu, la sortie du registre 132 est appliquée à l'entrée 12 du multiplexeur d'adresse 112. La sortie de celui-ci est transmise à travers le multiplexeur 111 et les transmetteurs-récepteurs 123 afin de fournir l'adresse du processeur central qui doit être interrompu. A cet effet, les bits 6 à 9 de la ligne d'adresse sont surplantés avec quatre bits provenant du registre 134. La sortie de celui-ci est appliquée à l'entrée 12 du multiplexeur de données 129 et de là aux bits 10 à 15 du multiplexeur de données/registre 138. Les bits 0 à 9 du multiplexeur/registre sont fournis au commutateur rotatif 140 afin de signaler à un processeur central interrompu que l'unité ISL est l'unité ayant provoqué l'interruption.
En réponse à une instruction d'adresse de masque que l'on décrira plus loin, le compteur 118 et le registre de commande 108 sont chargés avec l'adresse et le signal de validation d'écriture pour chaque mémoire à accès sélectif. Une instruction de données de masque de sortie charge les données de traduction dans les emplacements de la mémoire de traduction adressés par les instructions d'adresse de masque de sortie.
Le générateur de cycle 146 comprend une logique de commande de décision pour sélectionner le cycle d'opération et pour engendrer des signaux de temps afin de commander le fonctionnement de l'unité ISL pendant le cycle sélectionné. Le générateur de cycle reçoit deux signaux d'entrée. Le premier est un signal de cycle distant reçu de la ligne 143 provenant de l'unité ISL distante. Le second signal d'entrée est le bit d'activité de registre de fichier 2D0 reçu de la ligne 144 afin d'indiquer une demande de cycle ISL local. En réponse à ces deux signaux d'entrée, le générateur 146 produit des signaux de temps pour commander le fonctionnement de l'unité ISL.
Le registre de chargement entrée/sortie (IOLD) 127 est chargé avec l'adresse traduite du module de mémoire lorsqu'une instruction de chargement entrée/sortie est envoyée à un contrôleur. L'instruction comprend deux sous-instructions: l'adresse de mémoire et la
5
10
15
20
25
30
35
40
45
50
55
60
65
640 645
18
gamme de mémoire. La partie adresse de mémoire requiert une traduction de mémoire. Ainsi, les bits de traduction de la mémoire à accès sélectif 125 se trouvent chargés dans le registre IOLD en réponse à une telle instruction de chargement.
Au cours de la description du fonctionnement d'une unité ISL en réponse à une instruction IOLD, les emplacements de mémoire seront désignés par les adresses des modules de mémoire. Les adresses de module sont des bits traduits d'une adresse de mémoire. Une unité de mémoire locale a 32.0K bits de mémoire et comprend quatre modules de 8.0K emplacements. Une unité de mémoire locale répond dès lors à des adresses de module 0,1,2 et 3. Dans le mode de réalisation préféré décrit, les lignes de communication locales distantes ont des unités de mémoire de quatre modules chacune. En outre, les unités ISL locales et distantes sont considérées pour assurer la visibilité à chaque ligne de communication. Ainsi, chaque ligne a accès à huit modules de mémoire.
Lorsqu'un processeur central connecté à une ligne de communication locale donne instruction à une unité de commande de périphérique connectée à une ligne de communication distante d'entrer en communication avec un module de mémoire en liaison avec la ligne distante, le processeur central local lance une instruction IOLD vers l'unité de commande de périphérique distante. Cette instruction désigne une adresse de module de mémoire ayant un niveau plus élevé que l'adresse de n'importe quel module de mémoire disponible sur la ligne locale. L'unité ISL locale répond à un bit d'activité de canal de la mémoire 142 correspondant à l'unité de commande de périphérique distante et elle utilise des bits d'adresse sur les conducteurs de bits 0 à 7 de la ligne d'adresse 96 et les conducteurs de bits 0 et 1 de la ligne de données 91 afin d'adresser la mémoire de traduction 125. Dans l'emplacement adressé dans la mémoire 125, l'adresse convertie de l'unité de commande de périphérique distante se trouve stockée. Cette adresse convertie est transférée dans le registre IOLD 127 afin d'être transférée à l'unité ISL distante pendant un cycle de demande de relance d'opération RRQ. Recevant l'adresse traduite, l'unité de commande de périphérique distante a directement accès au module de mémoire distant.
Dans le cas où un processeur central local donne instruction à une unité de commande de périphérique distante d'entrer en communication avec un module de mémoire local, le processeur local lance une instruction IOLD à destination de l'unité ISL locale. Cette unité accepte l'instruction et utilise l'adresse de 24 bits présente sur les lignes 91 et 96 afin d'adresser la mémoire à accès sélectif 125. La sortie de celle-ci est stockée dans le registre IOLD 127 et envoyée ultérieurement à l'unité de commande de périphérique distante comme décrit plus haut. L'unité de commande de périphérique distante à son tour adresse un module de mémoire ayant une adresse de niveau plus élevé que l'adresse de n'importe quel module de mémoire connecté à la ligne distante. L'unité ISL distante est configurée afin de convertir l'adresse de module de mémoire fournie par l'unité de commande de périphérique distante en une adresse de module de mémoire sur la ligne locale avec laquelle l'unité de commande de périphérique distante doit entrer en communication. La seule différence entre une instruction IOLD et une instruction entrée/sortie courante réside dans la provenance des signaux appliqués à l'entrée des transmetteurs-récepteurs 115. Dans une instruction IOLD, les bits 0 à 9 sont fournis par le registre 127 au lieu de l'être par le registre 126.
Les instructions IOLD sont acceptées par une unité ISL chaque fois qu'elles adressent un numéro de canal qui est reconnu par la mémoire de masque de canal 142. L'unité ISL exécute une traduction de la partie adresse de l'instruction. Le format de l'instruction est montré au tableau 7. La traduction s'applique aux 10 bits de plus fort poids de l'adresse contenu dans les positions binaires 0 à 7 de la ligne d'adresse 91 et dans les positions binaires 0 et 1 de la ligne de données 96. Les 10 bits de plus fort poids de l'adresse dans l'instruction IOLD sont remplacés par le contenu de l'emplacement adressé dans la mémoire de traduction d'adresse 125.
Pendant l'initialisation de l'unité ISL, la mémoire 125 est chargée avec tous des bits 1. Le logiciel du processeur central connecté à une ligne de communication doit simplement charger les emplacements spécifiques dans cette mémoire qui sont supposés être adressés par les instructions IOLD. Si une adresse IOLD tombe en dehors des emplacements désignés, elle se trouve traduite en une adresse comprise entre 8,0 millions et 8,0 millions moins 8.0K mots. Aussi longtemps que la mémoire adressée n'est pas utilisée avec un système contenant une unité ISL, une erreur de programmation quelconque conduit à un état de ressource non existante signalé par un contrôleur entrée/sortie.
Au cours de la configuration d'une unité ISL afin de traiter les instructions IOLD, deux cas doivent être considérés. Dans le premier cas, un contrôleur consulte un module de mémoire connecté à la ligne distante en réponse à une instruction IOLD lancée sur la ligne locale qui réfère à un module de mémoire de la ligne locale. L'emplacement de traduction d'adresse dans la mémoire 125 correspondant au module de mémoire locale doit être chargé avec les bits de plus fort poids du module de la ligne distante. Le contrôleur recherche ensuite l'adresse de mémoire IOLD sur la ligne distante.
Il est entendu qu'un bit d'activité pour le module de mémoire distant dans la mémoire 125 n'a aucun effet sur la conversion d'adresse IOLD. Si l'emplacement adressé contient un bit d'activité 0, la mémoire existe matériellement sur la ligne locale. Si c'est un bit 1 qui occupe l'emplacement adressé, le module de mémoire est visible pour un processeur central connecté à la ligne locale mais il est matériellement situé sur la ligne distante.
Dans le second cas à considérer, un contrôleur distant consulte un module de mémoire sur la ligne locale en réponse à une instruction IOLD sur la ligne locale. Comme le module de mémoire est réellement sur la ligne locale, la mémoire 125 produit un bit d'activité 0. On voit que dans ce cas deux traductions d'adresse sont requises. Une première traduction pour transférer l'instruction IOLD au contrôleur distant et une traduction pour permettre au contrôleur distant d'avoir accès à la mémoire locale.
En mode de configuration d'unité ISL, l'unité ISL répond à un total de neuf instructions entrée/sortie qui transfèrent des données vers ou à partir d'une unité ISL. Ces instructions entrée/sortie sont indiquées dans le tableau 8. Aucun transfert de données entre lignes de communication ne se produit pendant le mode de configuration. Au contraire, les unités ISL sont chargées pendant ce mode afin d'établir une communication entre les lignes pendant le mode de transfert d'information.
Dans l'unité de liaison intersystème se trouve un commutateur d'état actif/passif qui sera décrit plus loin en référence aux fig. 14. Ce commutateur commande la visibilité de l'unité ISL aux instructions de configuration. L'effet du commutateur sur l'état d'acceptation par les unités ISL des instructions des lignes locale et distante est montré au tableau 9 et décrit ci-dessous. Dans l'état actif, l'unité ISL répond à n'importe quelle instruction de configuration reçue pendant le mode de configuration. Si l'unité ISL est dans l'état passif, elle répond uniquement aux instructions de mode de configuration sélectionnées. Grâce au commutateur d'état actif passif, les unités ISL locale et distante peuvent être configurées à partir d'une ligne ou à partir de lignes indépendantes.
Dans la description qui suit, on appellera «cycle local» un cycle engendré à partir d'une ligne de communication. On appellera «cycle distant» un cycle engendré par l'interface entre unités de liaison intersystème. Lorsqu'une instruction de ligne est émise vers une unité ISL, l'unité ISL détecte son adresse dans le comparateur 99 et décode un code fonction de six bits (sur la ligne 96) dans la mémoire morte 102. La sortie de celle-ci est retenue dans un registre de sortie pour usage interne. Le comparateur d'adresse 99 met à l'état 1 le bit d'activité 2D0 et le bit plein, lançant ainsi un cycle RRQ local qui est utilisé pour commander le flux de données pour toutes les instructions ISL. Le cycle RRQ actionne le décodeur de code fonction 106. Lorsque les bits de sortie de la mémoire morte 102 sont appliqués au décodeur 106 par l'intermédiaire de la ligne
5
10
15
20
25
30
35
40
45
50
55
60
65
19
640 645
d'adresse 105, un des seize conducteurs de sortie possible est activé afin d'indiquer l'instruction spécifique devant être exécutée.
Les instructions ISL provoquent le lancement d'un, de deux ou de trois cycles ISL internes. Ces instructions d'entrée ou de sortie locales lancent un cycle RRQ unique pendant lequel des données sont chargées dans un registre spécifique ou lues dans un registre spécifique. Les instructions d'entrée donnent également lieu à la génération d'un second demi-cycle (BSSHBC) par l'unité ISL locale à destination d'un processeur central maître qui a demandé des données. Les instructions de sortie de dispositifs ISL distants produisent deux cycles. Le premier cycle est un cycle RRQ local pendant lequel des données du registre de données 92 sont transférées dans l'unité ISL distante comme dans un cycle RRQ normal. En outre, l'information sur la ligne 105, qui contient les codes fonctions fournis par la mémoire morte 102 et d'autres informations spécifiques de code fonction sont présentées au dispositif de commande 115 afin d'être transférées à l'unité ISL distante. Le second cycle se produit dans l'unité ISL distante comme cycle RRQ distant pendant lequel des données se trouvent stockées de la même manière que l'information apparaissant sur les lignes 105 et 117 de l'unité ISL locale.
Les instructions d'entrée de dispositifs ISL distants requièrent trois cycles. Le premier cycle est le même que pour les instructions de sortie. Le deuxième cycle est le même que pour les instructions de sortie sauf que les données sont lues dans des registres spécifiques et présentées sur une ligne de données correspondant à la ligne 117 de l'unité ISL distante, et transférées à l'unité ISL locale par l'intermédiaire de dispositifs de commande d'interface correspondant aux dispositifs 139. Dans l'unité ISL locale, les données sont reçues par les récepteurs de données 116 pendant un cycle RRS distant. Le cycle RRS est engendré pour transférer les données de la ligne locale à travers le multiplexeur de données 129 et le multiplexeur/registre 138 pour les appliquer aux transmetteurs-récepteurs de données 141. L'adresse est extraite du registre de données 92 et appliquée par l'intermédiaire du multiplexeur/registre 111 au transmetteur-récepteur 123.
Comme décrit plus haut, chaque unité ISL a un numéro de canal qui est utilisé lorsqu'un processeur central adresse une unité de liaison ISL. Lorsqu'une instruction doit traverser une unité ISL, le numéro de canal de destination de processeur central est utilisé. Un processeur central connecté à une ligne spécifique peut adresser l'unité ISL locale sur la ligne locale ou bien il peut adresser l'unité ISL distante par l'intermédiaire de l'unité ISL locale. Les numéros de canaux de chaque unité ISL sont déterminés par des commutateurs plongeurs. En principe, les instructions ISL du tableau 8 s'appliquent à n'importe quelle unité ISL et elles peuvent être lancées à partir de n'importe quelle ligne. Le commutateur actif/passif dans chaque paire d'unités ISL autorise ou inhibe la possibilité de cette unité ISL d'être commandée à partir de la ligne locale.
Une première instruction que l'on décrit est une instruction de commande de sortie ayant un code fonction 01 comme montré au tableau 8. La zone donnée du mot d'instruction donne la commande de mode comme indiqué au tableau 10 dans lequel un X indique qu'un état binaire 0 ou 1 peut se produire. Il y a deux bits de mode test: les bits 2 et 3. Un bit indique le mode référence mémoire et l'autre bit commande la réponse de l'unité ISL à un cycle de ligne local ou à un cycle de ligne distant.
L'initialisation du système est commandée par le bit 0 de l'instruction. Le bit est lu par le générateur 94 afin de vider les mémoires à accès sélectif de l'unité ISL. Les bits 0 et 1 de l'instruction mettent l'unité ISL en état de transfert d'informations autres que des données lors du service de demandes existantes. Ainsi, si l'unité ISL a accepté d'agir comme agent pour un cycle de ligne de communication, l'unité ISL continuera à desservir cette demande jusqu'à ce que toutes les communications requises pour satisfaire à cette demande soient achevées. N'importe quelle autre demande de transfert de données qui apparaît après le lancement de l'instruction de mode de configuration est négligée. L'instruction place l'unité ISL dans un mode lui permettant de desservir les demandes de ligne de communication courantes. Dans le cas d'un système comportant plusieurs processeurs centraux, la logique NAK/relance peut être actionnée par le bit 4 du mot de commande afin d'envoyer une réponse d'acceptation négative NAK à un processeur central ayant un niveau de priorité plus élevé afin de permettre à un transfert de données dans l'unité ISL de se poursuivre pour un processeur central ayant un niveau de priorité plus faible.
Le mot de commande reçoit le niveau de priorité le plus élevé dans le système ISL, car il commande le mode de fonctionnement. Il peut être lancé uniquement lorsque l'unité ISL est dans un état actif. Lorsqu'elle est dans un état passif, l'unité ISL n'accepte pas l'instruction de commande de sortie. Celle-ci exige deux cycles, comme décrit plus haut, qui chargent le registre de commande de mode 135 à la fois dans l'unité ISL locale et dans l'unité ISL distante.
L'instruction de commande d'interruption de sortie ayant un code fonction 03 charge les registres 132 et 134 avec donnée d'interruption pendant le mode de configuration lorsque l'unité est dans un état actif seulement. Si l'unité ISL se trouve dans un état passif, cette instruction n'est pas acceptée. L'instruction de commande d'interruption de sortie peut être lancée vers l'unité ISL locale ou vers l'unité ISL distante et elle requiert un ou deux cycles comme décrit plus haut.
Cette instruction comprend seize bits qui identifient le numéro de canal de processeur central et le niveau d'interruption qu'aura l'unité ISL lorsqu'elle interrompra le processeur central. L'instruction a le format suivant:
0 5 6 9 10 15
A ignorer
Numéro canal
Niveau processeur central interruption
Le registre 132 est chargé avec l'adresse de quatre bits d'un processeur central que l'unité ISL doit interrompre lorsqu'une condition d'interruption est rencontrée. Les six bits de plus fort poids d'une adresse de processeur central sont toujours des bits 0. Le registre 134 est chargé avec une zone dé six bits qui désigne le niveau d'interruption qu'utilise le processeur central interrompu pour définir le niveau de priorité d'interruption.
L'instruction de remise à zéro du rythmeur, code fonction 27, commande la remise à 0 de tous les bits d'état de rythmeur. Cette instruction commande également la validation du rythmeur du contrôleur de séquence locale ou distant, la validation et le blocage des rythmeurs entrée/sortie et de relance, et la validation ou le blocage des interruptions ISL distantes. Le rythmeur de mémoire est toujours validé. Lorsqu'une des erreurs de rythmeur apparaît, le rythmeur doit être remis à zéro par l'instruction de remise à 0 de rythmeur.
Comme décrit précédemment, les données de rythmeur de sortie et l'information d'état du rythmeur de sortie sont chargées dans l'unité logique 133 qui indique ainsi l'état de chaque opération du rythmeur.
L'instruction de remise à zéro de rythmeur peut également être utilisée pour mettre en service et couper le rythmeur du contrôleur de séquence pendant le mode de transfert de données et le mode de configuration ou pendant les états actif ou passif. Si le rythmeur n'est pas échantillonné dans une période de temps prédéterminée, une interruption ayant un niveau de priorité élevé est traitée au sein de l'architecture d'interruption d'un processeur central. Dans le cas où le déroulement du processus de décision logique est incapable de sortir d'une boucle de commande de processeur central, le rythmeur du contrôleur de séquence est validé pour procurer un moyen de sortie. Dans le mode de réalisation préféré décrit ici, il est prévu un rythmeur de contrôleur de séquence local et un rythmeur de contrôleur de séquence distant. Chaque rythmeur et les interruptions émanant de ce rythmeur peuvent être commandés par le processeur central. Le rythmeur de remise à 0 peut être affecté soit à l'unité ISL locale, soit à l'unité ISL distante, et il peut engendrer un ou deux
5
10
15
20
25
30
35
40
45
50
55.
60
65
640 645
20
cycles comme décrit précédemment. Le format de L'instruction de rythmeur de remise à zéro est défini au tableau 11.
L'adresse de masque de sortie, code fonction 08, et l'instruction de données de masque de sortie, code fonction 11, lancent une configuration d'unité ISL par écriture dans la mémoire de conversion d'adresse de mémoire 125, la mémoire de masque de canal 142 et les mémoires de conversion de processeurs centraux 113 et 131.
L'instruction d'adresse de masque de sortie peut uniquement être envoyée à une unité ISL lorsque celle-ci est dans l'état actif et uniquement à l'unité ISL locale. Ainsi donc, un seul cycle est nécessaire comme décrit plus haut, l'instruction d'adresse de masque de sortie charge dans le compteur 118 l'adresse et l'information de validation d'écriture relative aux mémoires de conversion spécifiques dans lesquelles des données présentées durant une instruction de données de masque de sortie doivent être écrites. Plus particulièrement, le compteur 118 est utilisé pour adresser la mémoire 125, la mémoire 142, la mémoire de destination de processeur central 131 et la mémoire de source de processeur central 113 pendant la période de configuration d'une unité ISL. L'adresse de l'emplacement de mémoire à modifier se trouve stockée dans le compteur 118 et appliquée au registre de commande de mémoire 108. Celui-ci est un dispositif à trois états qui se trouve en liaison avec la ligne d'adresse 105. Le contenu de ce registre est utilisé pour adresser la mémoire de conversion d'adresse 125, les registres d'adresse de canal 101, le registre d'adresse de processeur central 114 et le registre d'adresse de processeur central 136. Les données apparaissant sur la ligne de données 117 se trouvent ainsi écrites dans les emplacements adressés.
Les instructions de données de masque de sortie et d'entrée actionnent le compteur 118. Par l'action du compteur, des emplacements continus dans les mémoires à accès sélectif peuvent être adressés sans avoir à relancer des instructions d'adresse de masque de sortie. Le compteur facilite cette opération en contrôlant l'adressage séquentiel à partir d'un emplacement de départ.
Lorsque l'instruction d'adresse de masque de sortie est envoyé à une unité ISL locale, les données reçues de la ligne locale et stockées dans le registre de données 92 sont appliquées par le registre 121 et la ligne 117 à l'entrée du compteur de mémoire 118.
Comme décrit plus haut, dix bits d'une adresse de mémoire sont utilisés pour adresser 1024 emplacements de mémoire par l'intermédiaire d'un multiplexeur d'adresses de mémoire 100 et d'un registre d'adresse de canal 101. Les treize bits appliqués au compteur 118 comprennent une adresse représentant un des 1024 emplacements dans les mémoires 142 ou 125, et un signal de validation pour autoriser l'écriture de données dans une quelconque ou toutes les mémoires de traduction.
Les quatre bits de plus faible poids sont utilisés pour adresser les mêmoiresl31etll3.Lesbits3,4et5dela ligne 117 représentent les signaux de validation d'écriture.
Lorsque les bits 3, 4 et 5 de la ligne 117 sont appliqués par le compteur 118 et le registre de commande 108 sur la ligne 105, ils deviennent des bits d'adresse 5, 6 et 7, respectivement. Le bit d'adresse 5 autorise l'écriture dans les mémoires 131 et 113. Le bit d'adresse 6 valide la mémoire de masque de canal 142 et le bit d'adresse 7 valide la mémoire de masque de mémoire 125. On voit ainsi qu'en réponse à l'instruction d'adresse de masque de sortie, l'unité ISL stocke dans le compteur 118 les adresses de mémoires à accès sélectif dans lesquelles des données doivent être écrites. A cet effet, les bits 0 à 15 du registre de données 92 sont stockés dans le compteur 118. Parmi les seize bits, dix représentent les adresses des mémoires et trois bits sont des bits de commande d'écriture.
L'instruction de données de masque de sortie, qui peut être lancée uniquement pendant un mode de configuration pendant que l'unité ISL est à l'état actif, présente des données à écrire dans l'emplacement adressé par l'instruction d'adresse de masque de sortie. Les données de masque de sortie peuvent être envoyées à l'unité ISL locale ou à l'unité ISL distante et elle nécessite un ou deux cycles internes comme décrit plus haut. En réponse à cette instruction, les données stockées dans le registre de données 92 sont envoyées sur la ligne de données 117 par l'intermédiaire du registre 121. Le code fonction est fourni par la mémoire morte 102 comme décrit plus haut, et il est décodé par le décodeur de code fonction 106. La sortie de ce décodeur donne instruction à la logique de commande locale s d'acheminer les données présentes sur la ligne 117 vers une des mémoires 142,125,113 et 131 pour une opération d'écriture. L'adresse de départ de l'emplacement dans la mémoire identifiée, dans lequel des données doivent être écrites, est identifiée par le compteur 118. L'adresse est appliquée sur la ligne 105 par l'intermédiaire de l'unité io de commande de mémoire 108 afin d'adresser une des cellules de la mémoire identifiée. Les bits 5, 6 et 7 à la sortie du compteur 118 deviennent des signaux de validation d'écriture pour les mémoires 131, 113, 125 et 142.
Le séquencement spécifique de l'opération d'écriture est com-is mandé par le générateur de cycle 146. Des impulsions d'écriture sont engendrées pour chaque mémoire validée de l'unité ISL locale. Des données peuvent ainsi être écrites dans une ou toutes les mémoires.
L'unité ISL locale aussi bien que l'unité ISL distante peuvent être chargées par une instruction de données de masque de sortie. L'instruction d'adresse de masque de sortie, quant à elle, n'est appliquée qu'à une unité ISL locale. Ainsi, si des données ont été écrites dans une mémoire locale à partir de l'emplacement 0, une autre instruction d'adresse de masque de sortie ne sera point émise pour l'écriture dans les mémoires distantes à partir de l'emplacement 0. Seule une instruction de données de masque de sortie émise pour l'unité ISL distante est requise.
On voit donc que les instructions d'adresse et de données de masque de sortie travaillent par paires afin de charger les quatre mémoires de configuration de l'unité ISL. Le format des instructions so pour charger la mémoire de masque de conversion d'adresse de mémoire 125 est explicité ci-dessous:
35 Adresse masque sortie
Données masque sortie
40
L'instruction d'adresse de masque de sortie établit l'emplacement de départ du compteur de mémoire 118. L'instruction de données de masque de sortie charge une quantité définie par 10 bits dans un em-
45 placement désigné antérieurement, et elle actionne le compteur. Pour charger l'emplacement consécutif suivant, seule l'instruction de données de masque de sortie doit être émise. Les bits d'activité de mémoire (Hm) sont tous initialisés à 0 et les données de masque de mémoire sont initialisés avec des bits 1.
50 Pour le chargement de la mémoire de masque de canal 142, les instructions ont les formats suivants:
j5 Adresse masque sortie
Données masque sortie
L'instruction d'adresse de masque de sortie établit l'emplacement de départ d'un compteur de mémoire 118. L'instruction de données de masque de sortie charge le bit d'activité de canal (HC) pour faire en sorte que l'unité ISL réponde à ce numéro de canal. En outre, 65 l'instruction de données de masque de sortie actionne le compteur 118. Pour charger un bit HC dans un emplacement consécutif suivant, seule l'instruction de données de masque de sortie doit être émise.
20
25
0 4 5 6 15
MBZ
1
Adresse masque mem
A ignorer
H M
Adresse conversion mem
0 3 4 5 6 15
MBZ
1
Adresse masque canal
A ignorer
H
C
A ignorer
21
640 645
5 6
15
Instruction adresse masque sortie
A ignorer
Adresse masque
0 3 4 5 6 15
Numéro canal
Adresse
Afin de charger une mémoire de conversion de processeur central, mémoire 131 ou 113, les instructions d'adresse et de données de masque de sortie ont les formats suivants:
0 2 3 4 11 12 15
Adresse masque sortie
MBZ
1
MBZ
PC traduire depuis
0
3
4 15
Données masque sortie
PC traduire jusqu'à
A ignorer
L'instruction d'adresse de masque de sortie identifie un numéro 15 de canal de processeur central. L'instruction de données de masque de sortie définit la valeur dans laquelle le numéro de canal est converti lorsqu'il traverse l'unité ISL. En outre, l'instruction de données de masque de sortie actionne le compteur 118 pour augmenter son contenu à la valeur consécutive suivante. 20
Les instructions d'entrée sont décrites à présent. L'instruction de commande d'interruption d'entrée, code fonction 02, est semblable à l'instruction de commande d'interruption de sortie. L'instruction exige un ou trois cycles comme décrit plus haut pour les instructions ISL locale et distante, et l'unité ISL doit être en mode configuration 25 et dans l'état actif. Toutefois, au lieu de charger le registre de canal d'interruption 132 et le registre de niveau d'interruption 134, l'instruction achemine les données vers le multiplexeur de données interne 129. Les données sont ensuite acheminées par l'intermédiaire des transmetteurs-récepteurs 138 vers les transmetteurs-récepteurs 30 de données 141. Le contenu du registre de données 92, qui contient l'adresse du dispositif maître, se trouve acheminé vers les transmetteurs-récepteurs d'adresse 123 par l'intermédiaire du multiplexeur/ registre d'adresse 111.
L'instruction de commande d'interruption d'entrée commande à 35 l'unité ISL d'appliquer le contenu des registres d'interruption 132 et 134 au multiplexeur de données 129. Le registre 132 fournit quatre bits qui indiquent un numéro de canal de processeur central, et le registre 134 fournit six bits indiquant le niveau d'interruption. Le format de l'instruction est le même que pour l'instruction de com- 40 mande d'interruption de sortie.
L'instruction de données de masque d'entrée, code fonction 10, commande la lecture du contenu de la cellule de mémoire qui a été adressée antérieurement par une instruction d'adresse de masque de sortie. Plus particulièrement, la logique de commande locale lit 45 l'adresse chargée dans le compteur 118 et lance une lecture de chacune des mémoires 113, 125 et 142. Un bit de masque de canal est lu dans la mémoire 142, dix bits de traduction de mémoire et un bit d'activité sont lus dans la mémoire 125, et quatre bits de définition de processeur central sont lus dans la mémoire 131. Au total, so seize bits sont donc appliqués par les transmetteurs-récepteurs soit à la ligne de communication locale, soit à la ligne de communication distante. Les données de masque d'entrée peuvent être émises à destination de l'unité ISL locale et de l'unité ISL distante, ce qui donne lieu à un ou à trois cycles comme décrit plus haut. 55
L'instruction de données de masque d'entrée assure en outre la possibilité d'augmentation ultérieure du compteur 118 lorsqu'il a été chargé à une valeur initiale. L'emplacement 0 d'une mémoire à accès sélectif est d'abord lu, suivi par 1024 instructions de données de masque d'entrée extraites des 1024 emplacements. Comme les 60
données de la mémoire doivent être un code hexadécimal 03FF lorsqu'elles sont initialisèes, toute autre donnée indique qu'un bit de traduction ou un bit d'activité occupe l'emplacement adressé dans la mémoire. L'unité ISL doit être en mode configuration et à l'état actif. 65
Le format de l'instruction de données de masque d'entrée est donné ci-dessous en comparaison avec le format de l'instruction d'adresse de masque de sortie:
Instruction données masque entrée
L'instruction d'adresse du masque de sortie met à l'état 1 la position de départ d'un compteur 118. L'instruction de données de masque d'entrée fournit le contenu de la position adressée et fait progresser le compteur. Pour lire la position suivante, seule l'instruction de données de masque d'entrée doit être émise. L'instruction de données de masque d'entrée renvoie le contenu de toutes les mémoires de configuration en même temps. Pour une adresse spécifique, l'adresse de traduction de mémoire correspondante, le bit d'activité de mémoire, le bit d'activité de canal et le numéro de canal de traduction du processeur central sont renvoyés. Comme la mémoire de traduction de numéro de canal du processeur central n'a que seize emplacements, une adresse de sortie de 0 renvoie la position identique comme si c'était 01016,02016, etc.
L'instruction de mot d'état d'entrée, code fonction 18, commande la lecture des bits d'état stockés dans l'unité logique 133. L'état des rythmeurs, l'occurrence d'interruption en suspens et l'état logique de l'unité ISL peuvent ainsi être déterminés. L'instruction de mot d'état peut être émise soit pendant le mode de transfert de données, soit pendant le mode de configuration, et quel que soit l'état, actif ou passif, de l'unité ISL. Les bits d'état sont définis au tableau 12.
Une autre instruction d'entrée est l'instruction d'identification de dispositifs d'entrée qui peut être émise pendant le mode de transfert d'information ou pendant le mode de configuration de l'unité ISL, avec cette unité à l'état actif ou passif. L'identification de l'unité ISL est un numéro fixe qui est identique pour chaque unité ISL indépendamment de l'adresse. L'instruction est unique en ce sens que seule l'identification locale est lue, indépendamment du fait que ce soit l'unité ISL locale ou l'unité ISL distante qui se trouve adressée. Si l'unité ISL distante n'est pas connectée électriquement à l'unité ISL locale, le numéro d'identification qui sera lu sur la ligne locale sera, par exemple, un nombre hexadécimal 2400. Si chacune des unités ISL est connectée électriquement et sous tension, le numéro d'identification peut être, par exemple, un nombre hexadécimal 2402. L'instruction d'identification de dispositif d'entrée peut ainsi être utilisé pour un programmeur de diagnostic afin de déterminer si une unité ISL locale et/ou une unité ISL distante est connectée.
On décrit maintenant le fonctionnement de l'unité ISL en mode d'essai. Dans une instruction de mot de commande de sortie, il y a deux bits d'essai comme indiqué plus haut. Le bit 2 est appelé bit de mode d'essai total et le bit 3 est appelé bit de mode d'essai distant. Lorsque le bit 2 est à l'état 1, chacune des unités ISL est mise en mode d'essai. Lorsque le bit 3 est à l'état 1, seule l'unité ISL distante se trouve mise en mode d'essai.
Le fonctionnement en mode d'essai utilise l'un de deux trajets logiques. Lorsque le bit 2 (mode d'essai total) est à l'état 1, le trajet logique utilisé est une boucle mémoire aller-retour. Un trajet logique aller-retour pour un dispositif entrée/sortie nécessite la mise à 1 du bit mode essai local et du bit mode essai distant.
Dans la boucle mémoire aller-retour, l'unité ISL locale et l'unité ISL distante doivent être configurées pour travailler sur des adresses lancées par la ligne de communication locale. Plus particulièrement, lorsqu'un processeur central lance sur une ligne de communication locale une instruction de référence de mémoire dans laquelle une adresse autre qu'une adresse de mémoire locale est indiquée, l'unité ISL locale transfère une traduction de cette information à l'unité
Numéro canal traduction processeur central
H r
H
M
Adresse traduction mem
640 645
22
ISL distante. Si l'adresse indiquée est configurée dans l'unité ISL distante, celle-ci renvoie l'information à l'unité ISL locale. Une boucle aller-retour est ainsi établie afin de convertir de nouveau l'information dans l'unité ISL locale afin de l'appliquer à la ligne locale. Il est entendu que même lorsqu'une adresse de mémoire n'existe pas 5 sur la ligne locale ou la ligne distante, les unités ISL locale et distante peuvent être configurées afin de reconnaître l'adresse de mémoire et servir d'agent pour le cycle mémoire associé. Les unités ISL émettent alors des signaux d'acceptation ACK en réponse à l'adresse de mémoire comme décrit plus haut. io
Une caractéristique importante du mode d'essai est que les unités ISL locale et distante peuvent être vérifiées dynamiquement sans interrompre les opérations exécutées par le système sur une ligne de communication distante. Aucun dispositif connecté à la ligne distante n'est utilisé, et un cycle de ligne seulement est perdu. Une autre 15 particularité de ce mode d'essai est qu'aucune tâche en cours d'exécution ne se trouve interrompue avant d'être achevée.
Lorsqu'une boucle d'essai doit être établie avec un dispositif entrée/sortie, ce sont les mêmes trajets logiques que pour les données qui sont utilisés. Les cycles ISL qui sont générés dans les unités ISL 20 sont cependant différents. De plus, le registre d'adresse de canal 101 et la mémoire de masque de canal 142 sont commandés en lieu et place du registre d'adresse de mémoire 100 et de la mémoire de conversion d'adresse de mémoire 125 qui ont été utilisés pendant l'essai de mémoire. En fonctionnement, une instruction entrée/sortie est 25 lancée pour un numéro de canal. Comme le numéro de canal est porté par une demande entrée/sortie et non par une demande de mémoire, le numéro de canal n'est pas convertible. Au lieu de cela, le numéro de canal qui ne doit pas référer à des numéros de canaux sur la ligne locale ou la ligne distante est converti en une adresse de 30 mémoire sur la boucle allant vers la ligne de communication locale.
Pour une opération de lecture ou d'écriture dans la mémoire locale, la demande de mémoire est transférée à l'unité ISL distante par l'intermédiaire de l'unité ISL locale, puis renvoyée à l'unité distante à travers l'unité ISL locale. Il est entendu que si le numéro de 35 canal sélectionné se trouve soit sur la ligne distante, soit sur la ligne locale, un signal d'acceptation ACK se trouve généré en dehors des unités ISL. Ainsi, un numéro de canal qui n'est pas reconnu par la ligne locale ou par la ligne distante doit être appliqué à la mémoire de masque de canal 142. Comme les mémoires à accès sélectif 40
peuvent être configurées pour reconnaître le numéro de canal, le canal est transféré de l'unité ISL locale à l'unité ISL distante, puis renvoyé à l'unité ISL locale. Le numéro de canal avec le restant de l'adresse doit être converti en une adresse de mémoire réelle sur la ligne locale afin que soit détecté un essai fructueux. 45
Les bits de mode d'essai ayant la valeur propre à lancer un essai de boucle entrée/sortie portent également à l'état 1 la ligne de référence de mémoire dans la logique de commande locale. Lorsque l'in- j formation sur la boucle venant de l'unité ISL distante est reçue dans les récepteurs 104 et 115 et chargée dans les multiplexeurs 111 et 138, so l'adresse contenue dans le numéro de canal devient une adresse de mémoire. Un emplacement de mémoire sur la ligne locale peut ainsi être lu ou écrit pour réaliser un essai logique. Une distinction entre l'essai de boucle mémoire et l'essai de boucle entrée/sortie est que pendant l'essai de boucle mémoire, seuls les cycles de demande de 55 mémoire et de réponse de mémoire intermémoires sont utilisés.
Pendant l'essai en boucle entrée/sortie, les cycles de demande de relance et de réponse de relance sont utilisés. Les cycles de mémoire sont toujours confirmés tandis que les cycles entrée/sortie ne sont pas confirmés initialement. Au lieu de cela, une réponse d'attente se 60 trouve émise avant qu'un cycle de demande de relance local ne soit effectué dans l'unité ISL distante. En réponse à l'établissement d'un cycle RRQ local dans l'unité distante, un cycle RRQ distant se trouve engendré dans l'unité ISL locale. Lorsque se trouve engendré le cycle RRQ distant dans l'unité ISL locale, l'instruction entrée/sor- 65 tie est convertie en une adresse de mémoire provenant de la mémoire locale et transférée de l'unité ISL locale à l'unité ISL distante.
Lorsque le comparateur de l'unité ISL distante, correspondant au comparateur 99, détecte une équivalence, l'unité ISL distante transfère à l'unité ISL locale un signal d'acceptation ACK. Lorsque le comparateur de ligne 93 de l'unité ISL locale détecte une équivalence, le signal d'acceptation ACK est transféré sur la ligne locale. Le processeur central connecté à la ligne locale lançant la demande de relance est ainsi satisfait et cesse de lancer les demandes de relance. Il est clair que deux essais en boucle peuvent être menés afin de vérifier la logique de l'unité ISL locale et la logique de l'unité ISL distante. Un essai se fait en réponse à une demande de relance et un autre essai se fait en réponse à une demande de mémoire.
Revenant au mode de configuration d'unité ISL, il est entendu qu'une unité ISL est configurée par l'utilisation d'instructions de sortie entrée/sortie. Plus particulièrement, l'instruction de commande effectue le chargement du registre de commande de mode 135, le mot de commande d'interruption effectue le chargement du registre de canal d'interruption 132 et du registre de niveau d'interruption 135, et l'instruction de remise à 0 du rythmeur effectue le chargement de l'unité logique 133. En outre, l'instruction d'adresse de masque de sortie effectue le chargement du compteur 118 et du registre de commande 108. L'instruction donnée de masque de sortie est utilisée pour charger les données dans les mémoires à accès sélectif de l'unité ISL. Les données chargées dans l'unité ISL pendant une configuration de l'unité peuvent être vérifiées grâce à l'utilisation des instructions d'entrée entrée/sortie.
Chaque unité ISL comprend 5 rythmeurs qui seront décrits en référence aux fig. 14, ces rythmeurs servant à détecter et lever des états d'arrêt. Les rythmeurs sont remis à zéro par les instructions de remise à 0 décrites précédemment. Si un second demi-cycle de ligne provenant de la mémoire n'arrive pas dans une période prédéterminée indiquée par un rythmeur d'arrêt de mémoire, l'unité ISL achève un cycle de demande de lecture en envoyant au dispositif demandeur un mot données non valable. Dans le mode de réalisation préféré décrit ici, la période de temps prédéterminée est fixée à environ 6 |as.
Si un second demi-cycle de ligne n'est pas reçu d'un contrôleur entrée/sortie dans un délai d'environ 200 ms, par exemple un rythmeur d'arrêt d'unité entrée/sortie lance un signal pour commander l'unité ISL afin qu'elle achève un cycle de demande d'entrée en envoyant au dispositif demandeur un mot données sans signification avec une parité incorrecte et un bit indicateur ROUGE à l'état 1. Le rythmeur d'arrêt se trouve validé par l'instruction de remise à 0 des rythmeurs.
Si un cycle de ligne local n'est pas achevé dans un délai de 7 us, un rythmeur de réponse non reçue émet un signal pour que l'unité ISL lance un signal de confirmation négative NAK. Il s'agit d'un service pour la ligne plutôt que pour l'unité ISL et ce signal est destiné aux configurations dans lesquelles la ligne ne comporte pas de processeur central. Le signal NAK produit les mêmes effets qu'un signal NAK pour resssource inexistante et il peut occasionner d'autres actions dans l'unité ISL si celle-ci est impliquée dans le cycle.
Un rythmeur de contrôleur de séquence est prévu pour faciliter l'utilisation des unités ISL dans des systèmes redondants. Une fois que le rythmeur est actionné par une instruction entrée/sortie, le rythmeur lance un signal logique s'il ne se trouve pas remis à 0 plus fréquemment qu'une fois par seconde à la cadence de 60 Hz.
Lorsque le rythmeur lance un signal logique 1, la ligne locale et la ligne distante sont interrompues. Les interruptions de rythmeur de contrôleur de séquence peuvent être bloquées par une adaptation convenable de l'instruction de remise à 0 des rythmeurs.
Le rythmeur d'arrêt de relance est démarré lorsqu'une unité ISL émet un signal d'attente WAIT à la suite d'une relance d'opération et il est remis à 0 lorsque est émis un signal de confirmation ou de confirmation négative. Si plus de 100 ms, par exemple, se sont écoulées et que le cycle de relance d'opération n'est pas achevé, l'unité ISL ne répond pas à d'autres demandes de cycle de ligne émanant d'un dispositif maître originel. La ligne dépassera le temps qui lui est imparti et le dispositif demandeur sera averti d'un arrêt. Le rythmeur est validé sous la commande d'une instruction de remise à 0.
23
640 645
Chaque rythmeur commande les niveaux logiques des bits d'état, comme indiqué au tableau 12.
Chaque unité ISL comprend un registre d'état dans l'unité logique 133. Le registre d'état local contient l'information relative à l'unité ISL locale ainsi qu'un bit d'état composite représentant certaines conditions dans l'unité ISL distante. Dans l'éventualité où le bit d'interruption distante dans le registre d'état local se trouve à l'état un, l'état détaillé est obtenu par lecture du registre distant par l'intermédiaire de l'unité ISL locale. Trois bits de masque sont produits pour bloquer certaines conditions d'interruption et d'état spécifiques. Ces bits de masque sont mis à 1/0 au cours de l'instruction de remise à 0 des rythmeurs/masque d'interruption (code fonction 27).
Les fig. 14 composent un schéma logique détaillé d'une unité ISL. Il est entendu que les systèmes logiques constituant une unité ISL se trouvent répartis dans toute l'unité et partagent des éléments logiques communs. Les conducteurs d'entrée et de sortie de ces éléments logiques sont connectés à d'autres éléments logiques répartis sur les 29 planches de dessins formant les fig. 14.
Sur ces dessins, les éléments logiques sont désignés par un code comprenant 3 chiffres. Les signaux d'entrée et de sortie sont identifiés par un code de 5 chiffres: les 3 premiers chiffres désignent l'élément logique qui a produit le signal, les 2 derniers chiffres désignent les broches de sortie correspondantes de l'élément logique.
Par exemple, le signal 24102 est produit par un inverseur 241 (fig. 14B3). Il est obtenu à la broche de sortie 02. Le signal d'entrée de l'inverseur 241 est le signal 24006 produit à la sortie 06 du dispositif 240.
Chaque signal est également désigné par un code mnémonique composé de 9 caractères: 6 caractères littéraux formant l'appellation mnémonique, un désignateur (+) ou (—) indiquant l'état pour lequel: est vrai, et 2 chiffres décimaux pour différencier les signaux ayant une même appellation mnémonique. Le signe (+) d'un désignateur indique que le signal doit être à l'état 1, le signe (0) indique que le signal doit être à l'état 0.
La description qui suit est une description fonctionnelle de l'unité ISL.
Le signal de sortie 25103 est appliqué à l'entrée d'une bascule monostable 370 qui engendre un signal de confirmation 37005 et un signal de négation 37012. Le signal de négation 37012 est une impulsion d'allure négative ayant une durée de 1,5 ms.
Le signal de négation 37012 est appliqué à l'entrée d'horloge d'une bascule D 531. Celle-ci répond au front arrière du signal de négation 37012 qui se trouve appliqué environ 1,5 ms après que le flanc avant du signal ligne sous tension 10535 (fig. 14A) est détecté. Le signal de sortie 53109 recueilli à la sortie de la bascule 531 se trouve appliqué à une entrée d'une porte OU-EXCLUSIF 290. Un signal de mise à 0 du dispositif maître connecté à la ligne de communication locale 24305 est appliqué à une autre entrée de la porte 290. Le signal 24305 est la sortie de confirmation d'une bascule D 243. Un bouton de mise à 0 du dispositif maître, prévu sur le panneau de commande, applique à un dispositif de commande/récepteur 242 (fig. 14B) un signal 10407 provenant du connecteur 104. Le dispositif 242 produit un signal de sortie 24214 qui se trouve appliqué à une entrée d'horloge d'une bascule 243 (fig. 14L). Un signal 93213 est appliqué à l'entrée CD de la bascule 243, ce signal provenant de l'unité ISL distante. Le signal 93212 assure que la bascule 243 ne se trouve mise à l'état 1 que s'il n'y a pas de mise à 0 du dispositif maître dans l'unité ISL distante.
Le signal ligne sous tension 53109 ou le commutateur mise à 0 du dispositif maître 24305 démarre une séquence de mise à 0 du dispositif maître en mettant à l'état 1 le signal de sortie 29006 de la porte OU-EXCLUSIF 290.
Le signal de sortie 29006 est appliqué à un dispositif de commande d'inversion 468. Une sortie inversée 46808 est appliquée à une ligne de retard 467 produisant un retard de 200 ns. Le signal de sortie 46707 est appliqué à la borne de remise à 0 de la bascule 243. Cela assure qu'une impulsion de 200 ns soit appliquée à la logique
ISL afin d'exécuter la fonction de remise à 0 quelle que soit la durée du signal ligne à 0 10407 sur la ligne. Une résistance de 100 ß 129 pour la ligne de retard 467 est utilisée pour former la terminaison électrique du signal.
A la fin d'une impulsion de 200 ns, le signal 46707 met la bascule 531 à zéro. La sortie négative de la bascule 531, signal 53108, est appliquée à la borne d'horloge d'une bascule D 511 afin de mettre cette bascule à l'état 1. La mise à l'état 1 de la bascule 511 démarre le processus de mise à 0 interne.
La fonction de mise à 0 du maître pour l'unité ISL est engendrée par un signal parmi 4. Le premier signal 24306 est la sortie complé-mentée de la bascule 243, ce signal étant commandé par le panneau de commande local. Le deuxième signal 93212 est le signal mise à 0 maître produit par un panneau de commande distant. Le troisième signal 91612 est produit par une instruction d'initialisation ou un état de mise sous tension de la ligne de communication distante. Le quatrième signal est l'instruction d'initialisation ou un état de mise sous tension de la ligne de communication locale. Trois des signaux sont appliqués aux entrées d'une porte OU à inversion 734. Un signal de sortie 73406 est appliqué à une entrée d'une porte OU 831. Le quatrième signal, signal 53109, est appliqué à l'autre entrée de la porte 831. Un signal de sortie 83111 de la porte OU 831 est appliqué aux 4 entrées d'une porte NON-ET 830 qui produit le signal de mise à 0 pour les bascules et registres. Le signal 83006 est inversé par un inverseur 448 dont la sortie 44806 sert à mettre à 0 bascules et registres. Certaines bascules et certains registres nécessitent des signaux de confirmation tandis que d'autres bascules et d'autres registres exigent le signal de négation.
Le signal 83006 est appliqué à la borne d'horloge d'une bascule 470. Le signal de sortie 47005 de la bascule 470 démarre la séquence de mise à 0 du maître. Initialement, lorsque l'impulsion 46707 de 200 ns a été engendré, l'impulsion 46712 de 40 ns a été appliquée à une porte NON-ET 512. Le signal 53109 a été appliqué à l'autre entrée de la porte 512. Le signal de sortie 51208 de la porte 512 est appliqué à une porte OU 469. Comme le signal de sortie 46908 de celle-ci est normalement à l'état 1, ce signal de sortie passe à l'état 0 afin de remettre à 0 la bascule 470 lorsque le signal 51208 passe à l'état 0. La séquence qui vient d'être décrite assure que le système soit mis en état initial après que l'impulsion 46707 de 200 ns est ramené à son état 1 normal.
Le signal 58109 produit à la sortie de la bascule JK 581 (fig. 14N) est également appliqué à l'entrée de la porte NI 469 (fig. 14L). Ce signal 58109 est porté à l'état 0 afin de remettre à 0 la bascule 470 lorsqu'une demande de relance d'opération est traitée. La bascule 470 se trouve ainsi remise à 0 40 ns après que le signal 10407 a été reçu sur la ligne. La bascule 470 se trouve rétablie à l'état 1 par le front avant du signal 83006 afin de démarrer la séquence de mise à 0 du maître.
Le signal 53109 est appliqué à un inverseur 868 dont la sortie 86804 est appliquée à une entrée d'un dispositif de commande 870 (fig. 14AB). Un signal de sortie 87014 du dispositif 870 est envoyé sur la ligne distante afin d'indiquer que l'unité logique ISL se trouve en mode de mise à 0 du maître. Un signal 91612 est reçu sur la ligne distante par l'unité logique ISL et appliqué à une entrée d'une porte NI 734 afin d'indiquer qu'une autre unité se trouve en mode de mise à 0 du maître. Un signal de sortie 73406 de la porte 734 est appliqué à l'autre entrée de la porte OU 831, de manière que soit engendré le signal 83111 décrit plus haut afin d'établir alternativement à l'état 1 la bascule 470 lors de la montée du signal 83006.
La bascule de séquence de mise à 0 470 se trouve par conséquent mise à l'état 1 dans l'unité ISL locale et dans l'unité ISL distante. Le signal 47005 est appliqué à une porte ET/OU 388 (fig. 14V). Le signal de sortie 38808 est appliqué à une porte NI 608 dont la sortie est appliquée à l'entrée CD d'une bascule D 464. Un signal 60408 est appliqué à l'entrée d'horloge de la bascule 464, ce signal étant obtenu à la sortie d'une porte ET 604. Un signal 17612 se trouve appliqué à une entrée de la porte ET 604. Le signal 17612 est la sortie
5
10
15
20
25
30
35
40
45
50
55
60
65
640 645
24
d'une porte OU à négation 176. Le signal 38808, qui est la sortie de la porte 388, se trouve appliqué à l'entrée de la porte 176.
Le signal d'horloge 60408 qui commande la bascule 464, comme on vient de le voir, commande également une bascule D de cycle ISL 441. Cette bascule se trouve mise à l'état 1 chaque fois qu'un cycle ISL est produit et la bascule de cycle local 464 se trouve mise à l'état 1 lorsque la condition qui produit un cycle ISL est due à une demande émanant d'une ligne de communication locale. La bascule de cycle distant 572 est mise à l'état 1 lorsqu'un cycle ISL est lancé à partir d'une ligne de communication distante. Lorsque la bascule 441 est mise à l'état 1, sa sortie 44109 est appliquée à l'entrée d'un dispositif de commande d'alimentation 322. Le signal de sortie de celui-ci est appliqué à une ligne de retard 374 produisant un retard de 125 ns. Les divers signaux de sortie de la ligne de retard 374 sont utilisés pour commander les bascules pendant le cycle ISL. En particulier, le signal 37411 qui se trouve produit après un délai de 50 ns remet à 0 la bascule 441. Le signal de sortie 44109 est donc une impulsion de 50 ns. Lorsque la bascule 464 est à l'état 1, son signal de sortie 46405 est appliqué à un registre de 4 bits 490 afin de commander le chargement de celui-ci avec les données d'entrée. Les signaux d'entrée du registre 490 sont le signal de demande de mémoire 48305, le signal de demande de relance d'opération 58109, le signal de réponse de relance d'opération 58810 et le signal de réponse de mémoire 35106.
La logique schématisée à la fig. 14V détermine également la priorité et elle détermine d'autre part si c'est l'opération locale ou l'opération distante qui aura accès au cycle ISL. Les séquences de mise à
0 du maître ont le niveau de priorité le plus élevé bien que le cycle qui exécute cette séquence ait le niveau de priorité le plus bas. Toutefois, les fonctions ayant un niveau de priorité plus élevé sont commandées pour permettre l'opération de mise à 0.
Par exemple, le signal de demande de relance d'opération locale 581Ó9 est engendré à la sortie d'une bascule JK 581 (fig. 14N). Cette bascule est mise à l'état 1 pendant la séquence d'initialisation. Un signal 83006 est appliqué à l'entrée S d'une bascule D 632 qui se trouve mise à l'état 1 si le signal 83006 est à l'état 0. Le signal de sortie 63209 est ainsi porté à l'état 1. S'il n'y a aucune donnée sur la ligne, le signal 21510 est à l'état 1. La sortie de la porte NON-ET 559, c'est-à-dire le signal 55906, passe alors à l'état 0 et ce signal est appliqué à l'entrée S de la bascule 581. Celle-ci se trouve mise à l'état 1. Le signal de sortie 58109 est à l'état 1 et se trouve appliqué à l'entrée CJ d'une bascule JK 584. Celle-ci est également mise à l'état
1 pendant une séquence de mise à 0 par l'intermédiaire du signal 53108 appliqué à une porte OU 605. Le signal de sortie 60506 est appliqué à l'entrée S de la bascule 584, de telle sorte que celle-ci se trouve mise à l'état 1, afin de bloquer toute autre demande venant de la ligne de communication.
Le signal de sortie 58109 produit par la bascule 581 est appliqué, comme indiqué plus haut, à l'entrée du registre 490 (fig. 14V) et chargé dans le registre sous la commande du signal 46405. Le signal correspondant 49010 produit à la sortie du registre 490 est appliqué à la porte ET 5831 qui est une des quatre portes ET qui définissent les quatre cycles ISL de base. Ces portes 583, 590,486 et 493 sont décrites plus loin. En l'occurrence, le signal de sortie 58306 est sélectionné à partir de l'opération de demande de relance d'opération locale.
Pendant la séquence de mise à 0 du maître, un profil binaire prédéterminé se trouve stocké dans les 1024 adresses d'une mémoire à accès sélectif. Les compteurs 744, 745 et 746 sont initialement mis à 0 par le signal de mise à 0 83111 engendré par la porte OU 831 comme décrit plus haut. Les compteurs 744, 745 et 746 sont alors actionnés afin de progresser par leurs 1024 positions avant d'être remis à 0. Le signal de comptage est lancé par la sortie 47006 de la bascule 470 (fig. 14L) qui est appliquée à une entrée d'une porte NI 908 (fig. 14Q). Le signal de sortie 90812 est appliqué à l'entrée d'une porte ET 740. Le signal de demande de relance d'opération locale 90002 est appliqué à une autre entrée de la porte 740. Le signal de sortie 74003 est le signal de progression de comptage qui se trouve appliqué à une entrée d'une porte ET 747 et le signal de sortie 74711 de celle-ci est appliqué à la borne +1 du compteur 746. Le signal 90002 est engendré lorsque le signal 58306 produit par la porte ET 583 (fig. 14V) est appliqué à un inverseur 900 (fig. 14U). La sortie de l'inverseur est le signal 90002. Un signal de fin d'impulsion 37606 est appliqué à une entrée de la porte ET 747. Le signal de 125 ns 37407 reçu de la ligne de retard 37415 (fig. 14V) est appliqué à l'entrée d'un inverseur 377 dont le signal de sortie 37712 est appliqué à l'entrée d'un inverseur 376 engendrant le signal 37606. Ce signal de 125 ns fait avancer les compteurs 746, 745 et 744 (fig. 14Q) par la commande de la sortie de la porte ET 74711. Le signal de sortie 74612 est appliqué à la borne +1 du compteur 747 et le signal de sortie de report 74512 est appliqué à la borne +1 du compteur 744. Les signaux de sortie 74603, 74602, 74606 et 74607 du compteur 746 sont appliqués aux entrées respectives d'un registre 741. Les signaux de sortie 74503, 74502, 74506 et 74507 du compteur 745 sont également appliqués aux entrées respectives du registre 741. Les signaux de sortie 74403 et 74402 du compteur 744 sont appliqués aux entrées d'un registre 929. Les registres 741 et 929 sont des registres à trois états. Ces registres sont validés par un signal de sélection 74808 qui se trouve appliqué aux bornes de validation des registres. Le signal 74808 est engendré par la porte ET 748 lorsque le système ISL est en mode mise à 0 du maître. Les entrées 53910 et 56108 de la porte ET 748 sont à ce moment à l'état 0.
Les signaux de sortie des registres 741 et 929 sont les signaux 92915, 92912, 92916, 92909, 92905, 74105, 74106, 74119, 74102, 74109,74115, 74112 et 74116. Ces signaux sont appliqués aux bits de ligne d'adresse 5 à 17 des portes OU 13701,13801,13901,14001, 14101,14201,14301,14401,14501,14601,14701,14801 et 14901, respectivement (fig. 14F).
Les signaux 8-17 d'adresse 14001, 14101, 14201, 14301, 14401, 14501,14601,14701,14801 et 14901 (fig. 14R) sont appliqués à l'entrée 1 des multiplexeurs 313, 314 et 315. La sortie de ces multiplexeurs, les signaux 0-9 d'adresse de canal, sont appliqués aux bornes d'adresse d'une mémoire à accès sélectif 276. Pendant la séquence de mise à 0 du maître, les 1024 adresses de la mémoire 276 sont par conséquent consultées puisque la borne 1 est sélectionnée par le signal 53910.
D'une manière similaire, les signaux 8-11 d'adresse 14001,14101, 14201 et 14301 sont appliqués à l'entrée 1 d'un multiplexeur 472. Les signaux 12-15 d'adresse 14401, 14501,14601 et 14701 sont appliqués à l'entrée 1 d'un multiplexeur 473 et les signaux 16 et 17 d'adresse sont appliqués à l'entrée 3 des multiplexeurs 474 et 475, respectivement. Les multiplexeurs 474 et 475 reçoivent à leur entrée de sélection 1 un signal 48112 provenant de la porte NON-ET 481. Le signal 48112 est à l'état 1 à ce moment, car les signaux d'entrée 24414, 47006 et 53910 sont tous à l'état 0.
Les sorties des multiplexeurs 472, 473, 474 et 475, c'est-à-dire les signaux 0-9 d'adresse de mémoire 47212, 47209, 47207,47204, 47312,47309,47307,47304,47409 et 47507 sont appliqués aux bornes d'adresse des mémoires de traduction de mémoire 706 à 715 et à la mémoire de bit d'activité 863.
Les signaux 14-17 d'adresse 14601, 14701, 14801 et 14901 sont appliqués à l'entrée 0 d'un multiplexeur 749 (fig. 14W). Les signaux 0-3 d'adresse de traduction de processeur central 74912, 74909, 74907 et 74904 sont appliqués aux entrées d'adresse des mémoires 754 et 757. L'entrée 0 du multiplexeur 749 est sélectionnée, car le signal 92806 appliquée un niveau 0 à l'entrée de sélection du multiplexeur 249 et car le signal 59012 appliqué à l'entrée de la porte ET 928 est à l'état 0.
Le signal de séquence de mise à 0 du maître 47006 est appliqué aux entrées des portes NON-ET 750 à 753. Comme le système ISL est toujours en mode de mise à 0 du maître, le signal 47006 est à l'état 0. Les signaux de sortie 75003, 75108, 75211 et 75306 sont à l'état 1. Ces signaux sont appliqués à la borne d'entrée de données de la mémoire à accès sélectif 754. Comme celle-ci se trouve positionnée successivement sur les seize emplacements d'adresse, des bits
5
10
15
20
25
30
35
40
45
50
55
60
65
25
640 645
0 sont inscrits dans chaque emplacement puisque le signal est inversé à l'entrée de la mémoire 754.
L'entrée de validation d'écriture de la mémoire 754 est excitée par un signal 76003, qui est la sortie de la porte ET 760. Le signal 73811 provenant de la porte ET 638 (fig. 14V) est appliqué à une entrée de la porte NON-ET 760. Une entrée de la porte ET 638 est l'impulsion de 60 ns 32502 provenant de la ligne de retard. Le signal 51105 et le signal 47005 sont appliqués aux entrées d'une porte NON-ET 471 (fig. 14K). Le signal 51105 autorise la mise à 0 de la mémoire 754 pendant une séquence de mise à 0 du maître. La mise à 0 de la mémoire 754 est cependant prohibée lorsque le bouton de mise à 0 est enfoncé sur le panneau de commande. Ces deux signaux sont à l'état 1 pour indiquer une opération d'écriture dans la mémoire. Le signal de sortie 47103 est appliqué à une entrée d'une porte NI 639. Le signal de sortie 63908, à l'état 1, est appliqué à l'entrée de la porte ET 638 (fig. 14V). Le signal de sortie 63811, qui est à l'état 1, est appliqué à l'entrée de la porte NON-ET 760 (fig. 14W), si le signal 5 d'adresse 13701 est également à l'état 1. La sortie de la porte NON-ET 760, c'est-à-dire le signal 76003, passe alors à l'état 0 afin d'autoriser l'opération d'écriture.
Le signal d'écriture de masque de canal d'entrée est appliqué à l'entrée d'autorisation d'écriture de la mémoire 276 (fig. 14R). Le signal 63811 est appliqué à une entrée d'une porte NON-ET 312. Un signal 6 d'adresse 13801 est appliqué à l'autre entrée de la porte NON-ET 312. Le signal 63811 est à l'état 1 comme décrit plus haut. Si le bit d'adresse 6 est à l'état 1, la mémoire 276 exécute l'opération d'écriture. Le signal 47006 est appliqué à une entrée d'une porte ET 275. Comme le signal 47006 est à l'état 0 pendant la première séquence de mise à 0 du maître, le signal de sortie 27505 est à l'état 0. Des bits 0 se trouvent donc inscrits dans la mémoire 276 aux adresses désignées par le bit d'adresse 6.
Le signal 68311 et le signal 7 d'adresse 13901 sont appliqués à une porte NON-ET 859 (fig. 14S). Le signal de sortie 85906 est appliqué aux entrées d'autorisation d'écriture des mémoires 706 à 715 et 863.
Le signal 47006, qui est à l'état 0, se trouve appliqué à la porte ET 862. Le signal 86208, qui est à l'état 0, est appliqué à l'entrée d'écriture de la mémoire 863. Des bits 0 se trouvent donc inscrits dans toutes les positions de cette mémoire.
Les signaux 6-15 de données 33901, 34001, 34101, 34201, 34301, 34401, 34501, 34601, 34701 et 34801 sont appliqués aux entrées de données des mémoires 706 à 715. Comme les signaux 6-15 de données sont normalement à l'état 1, des bits 1 se trouvent donc inscrits dans les 1024 adresses de ces mémoires.
Les réseaux de résistances 648, 649 et 650 (fig. 14M) retiennent les signaux 01-15 de données 33401, 33501, 33601, 33701 et 33801 à un niveau 1 pendant le cycle de mise à 0, aucune donnée n'étant reçue de la ligne de communication par l'intermédiaire des récepteurs 232 à 238 (fig. 14B).
Le signal 86108 est appliqué aux portes OU 759, 737 et 730 (fig. 14Q). Les signaux de sortie 65906, 73706 et 73003 sont appliqués à l'entrée du registre 929. Les signaux de sortie 92912, 92915 et 92916 sont appliqués aux bornes 137, 138 et 139 (fig. 14F) câblés en fonction OU. Les signaux de sortie 13701, 13801 et 13901 sont à l'état 1 afin d'autoriser l'opération d'écriture. Les mémoires à accès sélectif sont initialisées pendant l'opération mise à 0 du maître comme décrit plus haut.
On se réfère maintenant à la fig. 14V. Le signal 37406 est à appliquer à l'entrée d'un inverseur 327 dont la sortie 32712 est appliquée à l'entrée d'un autre inverseur 326. La sortie 32610 de ce dernier est également appliquée à l'entrée d'un inverseur 327. La sortie 32712 de l'inverseur 327 est appliquée à une porte NON-ET 323. L'autre entrée de cette porte est le signal fin d'impulsion 37712.
La bascule 470 de la fig. 14L reste à l'état 1 jusqu'à ce que l'adresse 1024 des diverses mémoires ait été vidée comme décrit plus haut.
On se réfère maintenant à la fig. 14Q. Lorsque le contenu des compteurs 746, 745 et 744 atteint 1024, le signal 74406 à la sortie du compteur 744 est à l'état 1. Le signal est appliqué à l'entrée d'un inverseur 316 (fig. 14L). Le signal de sortie 31608 est appliqué à l'entrée remise à 0 de la bascule 511 afin de remettre celle-ci à 0. Le signal 31608 est également appliqué à l'entrée d'une porte NON-ET 540 (fig. 14N). Le signal de sortie 54008, à l'état 1, est appliqué à une entrée d'une porte NON-ET 582. Dans le 1024e cycle, lorsque le signal fin d'impulsion 37712 et le signal demande de relance locale 58306 sont à l'état 1, les deux signaux sont appliqués à l'entrée de la porte NON-ET 582. Le signal de sortie de cette porte passe alors à l'état 0 qui se trouve appliqué à l'entrée de remise à 0 de la bascule 581. Le signal 58109 qui est appliqué à l'entrée de la porte OU 469 de la fig. 14L est alors à l'état 0. Comme le signal 46908 est appliqué à l'entrée de remise à 0 de la bascule 470, celle-ci se trouve mise à 0. La séquence mise à 0 du maître se trouve ainsi achevée.
Lorsque cette séquence est achevée, la bascule 584 de la fig. 14N se trouve remise à 0 afin de permettre à des demandes distantes d'être reçues dans le système ISL par l'intermédiaire des lignes de communication. Les signaux 74406, 47005 et 76208 sont appliqués aux entrées d'une porte ET/OU 286. Le signal de sortie 28608 est appliqué à une entrée d'une porte OU 293 dont la sortie 29308 est appliquée à l'entrée de remise à 0 de la bascule 584. Le signal 76208 est la sortie de l'inverseur 762 de la fig. 14V et ce signal est l'inverse du signal 32610 qui se trouve appliqué à l'entrée de l'inverseur 762.
Le fonctionnement de l'unité ISL en réponse à une instruction de commande de sortie va être fait en référence à la fig. 14A. Des instructions sont reçues du connecteur 105 sous forme de signaux d'adresse de ligne 10503 à 10510,10512 à 10519,10521,10523 à 10525,10530 et 10532. Les signaux 0-23 d'adresse sont appliqués aux récepteurs 181 à 205 de la fig. 14C. Les signaux 8-16 d'adresse 18900,19010, 19103, 19214,19306, 19410, 19603, 19703 et 19810 (fig. 14J) sont appliqués aux comparateurs 302 à 310, respectivement. Les comparateurs 302 à 310 constituent le comparateur d'adresse 99 de la fig. 8. Ces comparateurs reçoivent également les signaux 10307, 10306,10314, 10315,10207,10206, 10214, 10215, 10107 et 10114, qui sont les sorties des commutateurs 101, 102 et 103. Les commutateurs sont établis manuellement sur une adresse prédéterminée. Les signaux de sortie des comparateurs 302 à 310, à savoir les signaux 30208, 30303, 30411, 30506, 30611, 30703, 30806, 30911 et 31008, sont appliqués à l'entrée d'une porte NON-ET 439. Le signal de sortie 43909 est appliqué à l'entrée CD d'une bascule 440.
Le signal 24512 indique que le transfert d'information n'est pas un transfert d'information de ligne de référence de mémoire. Le signal est appliqué à l'entrée d'une porte ET 439. Le signal 10444 est reçu sur le connecteur 104 de la fig. 14A et se trouve appliqué au récepteur 244 de la fig. 14B. Le signal de sortie 24414 est appliqué à l'entrée d'un inverseur 245 dont la sortie est appliquée à l'entrée de la porte ET 439. Un signal données de ligne 21401 est reçu sur le connecteur 105 et appliqué à la porte OU câblée 214. Le signal 21815 est appliqué au récepteur 218 dont la sortie est appliquée à un inverseur 215 (fig. 141). Le signal de sortie 21510 est appliqué à un dispositif de commande 216. La sortie 21606 de celui-ci est appliquée à l'entrée d'une ligne de retard 358. Le signal de sortie 35811 ayant un retard de 60 ns est appliqué à la porte ET 360 afin de produire le signal 36008 qui se trouve appliqué à l'entrée d'horloge de la bascule 440 de la fig. 14J. Cela assure que les signaux de ligne ont atteint un état permanent et peuvent être échantillonnés. Le signal d'adresse 44006 passe à l'état 1 et le signal 44005 passe à l'état 0.
Les signaux 18-23 d'adresse de ligne 20006, 20103, 20206, 20314, 20410 et 20510 sont appliqués aux bornes de sélection d'adresse d'une mémoire morte 399 (fig. 14K). Le signal actif 10115 et le signal opérationnel 53910 sont également appliqués aux bornes de sélection d'adresse de la mémoire morte 399. Le signal actif 10115 est la sortie du commutateur 101 de la fig. 14J. Chaque unité ISL dans le système peut être à l'état actif ou passif. L'état actif permet à l'unité ISL d'exécuter certaines fonctions additionnelles. Le signal opérationnel 53910, défini comme le mode transfert de données s'il est vrai et comme le mode de configuration ISL s'il est faux, est commandé
5
10
15
20
25
30
35
40
45
50
55
60
65
640 645
26
par un signal bit 1 de données 33310 de la fig. 141. Ce signal sera décrit plus loin.
Se référant à la fig. 14L, les signaux 18-20 d'adresse de ligne 20006,20103,20206,20314 et 20410 sont appliqués à l'entrée d'une porte NON-ET 131. Si les signaux 18-22 d'adresse sont tous à l'état 0, le signal de sortie 13106 est à l'état 1 et se trouve appliqué à une entrée d'une porte ET 405. Le signal 23 d'adresse 20510 est appliqué à une autre entrée de la porte ET 405. Le signal actif 10105 et le signal d'adresse ISL 44006 sont appliqués aux autres entrées de la porte 405. Le signal de sortie 40508 est le signal de commande de sortie.
Le signal code fonction 01 40508 est appliqué à une entrée d'une porte NON-ET 394 qui engendre un signal d'initialisation de fonction 39408. Le signal bit 0 de données 22203 est appliqué à l'autre entrée de la porte 394 afin d'indiquer que la commande de sortie effectue l'instruction d'initialisation de sous-instruction. Le signal 39408 est appliqué à l'entrée S de la bascule 531 et établit celle-ci à l'état 1 afin d'initier la séquence mise à 0 du maître comme décrit plus haut. La seule différence est que la fonction mise à 0 du maître est lancée à partir d'une ligne de communication locale au lieu d'une séquence mise sous tension.
Le signal 53109 (mise à 0 mémoire maître) est appliqué à une entrée de la porte OU 438 (fig. 14H). Le signal de sortie 43808 qui est à l'état 1 se trouve appliqué à une entrée d'un registre 631. Le signal 35809 obtenu de la sortie 135 ns de la ligne de retard 358 est appliqué à l'entrée d'horloge du registre 631. Le signal de sortie 63116 se trouve ainsi porté à l'état 1. Le signal 63116 est appliqué à une entrée d'une porte NI 130. Le signal de sortie est appliqué à l'entrée S de la bascule 433 de manière à engendrer un signal d'acceptation 43305 qui se trouve appliqué aux récepteurs 178 et 179 de la fig. 14C. Le signal est transféré à la ligne de communication afin d'accuser réception de l'information provenant de la source émet-trice. L'instruction d'initialisation de commande de sortie est toujours acceptée.
La sous-instruction arrêt met l'unité ISL en mode configuration et la sous-instruction reprise met l'unité ISL en mode de transfert d'information. Se référant à la fig. 14L, on voit que si le signal de données 22203 n'est pas à l'état 1, le signal de sortie 39404 est à l'état 0 et la séquence décrite plus haut n'est pas exécutée. Au lieu de cela, la sortie de la mémoire morte 399 de la fig. 14K est utilisée.
Les signaux de sortie 39909 à 39912 de la mémoire morte 399 sont appliqués aux bornes d'entrée d'un registre 400. Un signal d'échantillonnage 36204 est appliqué à l'entrée d'horloge du registre 400. La mémoire 399 est la mémoire morte 102 de la fig. 8.
Le signal 35805 obtenu à la sortie 90 ns de la ligne de retard 358 est appliqué à une entrée d'une porte NON-ET 361 (fig. 141). Le signal unité ISL prête 44512 et le signal de validation de ligne d'écriture 64405 sont appliqués aux autres entrées de la porte 361.
Le signal d'adresse ISL 44006 est appliqué à une entrée d'une porte ET 445 (fig. 14K). Cette porte reçoit également le signal 26012 indiquant une réponse de données à une demande de lecture. Le signal second demi-cycle de ligne 10412 est appliqué au récepteur 259 de la fig. 14B à partir du connecteur 104 de la fig. 14A. Le signal de sortie est le signal 25914. Le signal d'essai distant 53914 est à l'état 1 puisque l'instruction n'est pas une instruction mode essai.
Se référant à la fig. 14N, on voit que le signal 36008 obtenu à la sortie 60 ns de la ligne de retard 360 se trouve appliqué à l'entrée d'horloge d'une bascule D 644. Le signal de validation d'écriture de fichier 39607 est appliqué à l'entrée CD de la bascule 644. Un multiplexeur 396 sélectionne l'indication selon laquelle le registre, fichier d'adresse 103 ou fichier de données 92 de la fig. 8, dans lequel l'information doit être inscrite, n'est pas plein. Dans ce cas, le signal 58406 appliqué à une entrée du multiplexeur 396 indique que le registre demande relance complète est vide puisque la bascule 584 n'est pas à l'état 1. Les signaux de sélection de fichier 40903 et 41106 sont appliqués aux entrées de sélection du multiplexeur 396. A ce moment, les deux signaux de sélection sont à l'état 0 et l'entrée 0 du multiplexeur 396 se trouve ainsi sélectionnée.
Le signal second demi-cycle de ligne 25914 est appliqué à une entrée d'une porte NON-ET 565, à une porte ET 409 et à une porte NON-ET 478 (fig. 140). Le signal 24102 est appliqué aux entrées de la porte ET 409 et de la porte NON-ET 476. Le signal 24414 est appliqué aux entrées des portes NON-ET 476 et 565. Le signal 18 d'adresse de ligne 20006 est appliqué à l'entrée de la porte NON-ET 478. Les signaux 47808, 56506 et 47603 sont appliqués aux entrées d'une porte NI 411 afin de générer le signal d'écriture de fichier 41106. Le signal de sortie 40903 est le signal écrire un fichier.
Comme ce signal n'est pas un second demi-cycle de ligne ou un cycle de mémoire de ligne, le signal 25914 est à l'état 0. Les signaux de sélection d'écriture 40903 et 41106 sont alors également à l'état 0.
Le signal 10410 (fig. 14B) est appliqué au récepteur 240 à partir du connecteur 104 de la fig. 14A. Le signal de sortie 24006 est appliqué à l'entrée d'un inverseur 241 qui produit le signal 24102. Le signal de référence de mémoire 10444 est appliqué au récepteur 244 à partir du connecteur 104 de la fig. 14A et engendre le signal 24414.
Toutefois, si la bascule 584 de la fig. 14N est à l'état 1, l'unité ISL est occupée. L'unité ISL n'accepte alors pas une instruction. Le signal 64405 est donc appliqué à l'entrée d'horloge d'une bascule D 404 de la fig. 14H. Le signal 58406 appliqué à l'entrée CD de la bascule est à l'état 0. La bascule 404 reste donc à l'état 0. Le signal d'acceptation de fonction 40409 est à l'état 0 et appliqué aux entrées d'une porte ET 401 et d'une porte NON-ET 421. Le signal de sortie 42103 est appliqué à une entrée d'une porte ET 447. Le signal de comparaison 31808 est appliqué à une autre entrée de la porte ET 447. Comme il ne s'agit pas ici d'un cycle de comparaison, le signal 31808 est à l'état 1. Le signal 58506 obtenu à la sortie de la porte ET 585 de la fig. 14N se trouve appliqué à une entrée de la porte ET 447. Les signaux d'entrée 40802 et 41008 sont à l'état 1. Le signal 40903 est appliqué à l'entrée d'un inverseur 410 (fig. 140). Le signal 41106 est appliqué à l'entrée d'un inverseur 410 dont la sortie est 41008.
Un signal de relance 56608 est appliqué à une entrée de la porte ET 585 de la fig. 14N. Se reportant à la fig. 14K, les signaux 40712, 33006 et 44512 sont appliqués aux entrées d'une porte ET 442. Le signal unité ISL prête 44512 est à l'état 1. Le signal d'erreur de parité de données 33006 est à l'état 1 puisqu'il n'y a pas d'erreur de parité dans les données. Le signal de relance 56608 est obtenu à la sortie de la porte NI 566 de la fig. 14N. Le signal 31704 est appliqué à l'entrée de la porte NI 566 et ce signal se trouve à l'état 0 puisque le signal 44208 à l'entrée de la porte NI 317 est à l'état 1.
Le signal 40712 (fig. 14K) est un décodage de la sortie de la mémoire morte 399. Les 4 signaux de sortie 39909 à 39912 sont appliqués à une porte NI 406. Aussi longtemps qu'un de ces signaux est à l'état 1, le signal de sortie 40606 est à l'état 0. Le signal 40606 est appliqué à l'entrée d'un inverseur 407 dont la sortie est le signal 40712 qui se trouve à l'état 1.
Se référant à la fig. 14H, on voit que le signal 44706 est appliqué à une entrée d'une porte OU 629. Le signal de sortie 62906 est appliqué à l'entrée du registre 631 dont la sortie 63102 est appliquée à un inverseur 630. Le signal de sortie 63006 est appliqué à la borne S d'une bascule D 453. Le signal de sortie 45301 est à l'état 1 et se trouve appliqué au côté commande d'un dispositif de commande-récepteur 263 (fig. 14B). Le signal de sortie 26302 est appliqué à une porte OU câblée 262 qui est reliée au connecteur 104 afin d'envoyer sur la ligne un signal BSWAIT-00.
Le signal 58406 est appliqué aux bornes CD et aux bornes R de la bascule 404 (fig. 14H). Le signal 84405 est appliqué à l'entrée d'horloge de cette bascule et établit celle-ci à l'état 1 lors de l'occurrence du front avant du signal 84405. La bascule 404 est alors à l'état 1 de manière à signaler un signal d'acceptation sur la ligne comme décrit plus haut.
Les mémoires à accès sélectif 161 à 166 (fig. 140), qui constituent le registre de fichier d'adresse 103 de la fig. 8, emmagasinent les signaux 0-23 d'adresse de ligne. Les mémoires à accès sélectif 364, 177, 647, 365, 366 et 389, qui constituent le registre de fichier de
5
io
15
20
25
30
35
40
45
50
55
60
65
27
640 645
données 92 de la fig. 8, emmagasinent les signaux 0-15 de données et les signaux de commande de ligne.
Les signaux de sélection d'écriture 40903 et 41106 sélectionnent un des 4 emplacements dans chaque mémoire et dans les emplacements sélectionnés se trouve emmagasinés les signaux apparaissant aux entrées des mémoires. Le signal d'autorisation de ligne d'écriture 64406 est appliqué à l'entrée d'horloge de chaque mémoire afin de pointer les données à l'entrée de chaque mémoire.
Au moment où une information est écrite dans les mémoires, la bascule 644 et la bascule 584 de la fig. 14N sont à l'état 1. Cela provient du fait que la bascule 581 est mise à l'état 1 lors de la montée du signal 64405 pendant la durée du signal 36008. La bascule 584 se trouve alors mise à l'état 1 par le signal 35602 puisque le signal 58109 est à l'état 1.
Les signaux 92306, 27108, 83006 et 58109 du générateur de cycle 146 de la fig. 8 sont appliqués aux entrées de la porte ET/OU 388 (fig. 14V). Le signal 92306 est à l'état 1 puisque l'unité ISL n'effectue pas un transfert vers la ligne distante. Le signal 63006 est à l'état 1 puisque la séquence exécutée n'est pas une séquence de mise à 0 du maître. En outre, le signal 27108 est à l'état 1 puisque l'opération n'est pas une opération de registre de ligne et le signal 58109 est à l'état 1.
Le signal de sortie 38808 est appliqué à la porte OU 608 dont la sortie 60808 est appliquée à l'entrée CD de la bascule 464. Le signal de sortie 60408 est appliqué à l'entrée d'horloge de la bascule 464. Des signaux 37606,17612, 57206 et 46406 sont appliqués comme décrit précédemment aux entrées de la porte ET 604. Les signaux 37606,46406 et 57206 sont à l'état 1 si l'unité ISL est libre. Comme le signàl 38808 appliqué à l'entrée de la porte OU 176 est à l'état 0, le signal de sortie 17612 appliqué à l'entrée de la porte ET 604 est à l'état 1. Les bascules 464 et 441 sont ainsi à l'état 1 afin de démarrer un cycle ISL comme décrit précédemment.
Se reportant à la fig. 140, on voit que les signaux 47005 et 46406 sont appliqués aux entrées d'une porte ET 369. Ces deux signaux sont à l'état 0. Lorsque le signal 46406 passe à l'état 1, le signal de sortie 36903 dans le registre 121 de la fig. 8 passe à l'état 1. Le signal 36903 est appliqué à l'entrée de validation des registres 367 et 368 qui composent le registre 121 de la fig. 8. Le registre produit alors les signaux de sortie 36702, 36705, 36706, 36709, 36712, 36715, 36716, 36719, 36802, 36805, 36806,36809,36812, 36815, 36816 et 36819. En outre, le registre produit les signaux 39102, 39105, 39106 et 39109. Ces signaux sont appliqués aux portes OU câblées 332, 334 à 348 (fig. 14F).
Les signaux de sélection de lecture de fichier 40211 et 40312 (fig. 140) sélectionnent l'emplacement dans la mémoire à accès sélectif contenant l'information devant apparaître à la sortie de la mémoire. Les signaux 49014 et 90704 sont appliqués aux entrées d'une porte NI 402, ces signaux étant à l'état 1 pendant le cycle de demande de relance d'opération locale. Les signaux 49404,49014 et 48502 sont appliqués aux entrées d'une porte NI 403. Les entrées sont à un niveau 1 puisque l'unité ISL ne se trouve pas dans l'un des cycles spécifiés par les signaux appliqués à la porte NI 403. Le signal de sortie 40312 est à l'état 0.
Les deux signaux de sélection d'écriture 40211 et 40312, qui sont à l'état 0, sélectionnent l'emplacement 0 de la mémoire. L'emplacement 0 est le registre de demande de relance d'opération RRQ. Lorsque les signaux de sélection d'écriture de fichier 40903 et 41106 sont à l'état 0 pendant le transfert sur la ligne de communication, l'information est inscrite dans l'emplacement 0 des mémoires à accès sélectif.
Se reportant à la fig. 141, on voit que le signal de données 33401 se trouve appliqué à un inverseur 333. La sortie 33310 de celui-ci est appliquée à l'entrée d'un registre 539. Le signal de temps 32610 et le signal 39702 sont appliqués à une porte NON-ET 547. Sur la fig. I4K, on voit que les signaux 41810 et 58306 sont à l'état 1 et appliqués aux entrées de la porte ET/OU 363. Le signal de sortie 36308 est appliqué à l'entrée de validation d'un décodeur 397 qui constitue le décodeur de code fonction 106 de la fig. 8. Comme le signal 36308
est à l'état 0, le décodeur 397 est validé. Les signaux 20-23 d'adresse 15301, 15401, 15501 et 15601 sont appliqués à l'entrée du décodeur 397. Dans ce cas, le signal de commande de sortie 39702 se trouve sélectionné puisque le signal 21 d'adresse 15401 est à l'état 1 et que les signaux 20, 22 et 23 d'adresse sont à l'état 1. Sur la fig. 141, on voit que lorsque le signal de temps 32610 passe à l'état 0, le signal de sortie 54713 appliqué à l'entrée d'horloge du registre 539 fait passer le signal 53910 à l'état 0 si le signal de données 33401 est à l'état 1. L'unité ISL se trouve alors dans l'état logique d'arrêt. Si le signal 53910 était à l'état 1, l'unité ISL serait en état de connexion directe.
Se reportant à la fig. 14F, on voit que les signaux 40006, 40003, 40004 et 40005 sont appliqués aux fonctions OU câblées 153 à 156. Les signaux 40003 à 40006 sont les sorties du registre 400 de la fig. 14K. Le registre 400 est validé par les signaux 41811 et 60306 appliqués à ces entrées de validation. Le signal 41811 est engendré à la sortie du registre 418. Le signal 44208 est appliqué à l'entrée du registre 418 comme décrit plus haut.
Les signaux 64508 et 57205 sont appliqués aux entrées d'une porte ET 603. Ces deux signaux sont à l'état 0 et seront décrits plus loin. Le signal de sortie 60305 est appliqué à une seconde entrée de validation du registre 400, de manière à y charger la sortie de la mémoire morte 399. Cette mémoire est codée pour l'opération de sélection avec le signal 40003 à l'état 1. Le signal 40003 est appliqué à la jonction OU câblée 154 de la fig. 14F et le signal de sortie 15401 est appliqué au décodeur 397 comme décrit plus haut.
Le signal 17 d'adresse de ligne 19914 est appliqué à une entrée du registre 418 si le signal 19914 est à l'état 1. Le signal d'adresse distante 41807 est alors sélectionné comme à la sortie du registre 418 afin d'indiquer qu'une unité ISL distante se trouve adressée. Si le signal 19914 est à l'état 0, le signal d'adresse locale 41806 se trouve sélectionné afin d'indiquer qu'une unité ISL locale est adressée. L'ordre de commande de sortie est traité à la fois par les unités ISL locale et distante quel que soit l'état du signal 17 d'adresse de ligne 19914.
Le signal de commande 41815 produit à la sortie du registre 418 est à l'état 1 pour le code fonction 01. Le signal 41814 est appliqué à une porte ET 387. Lorsque ce signal est à l'état 0, le signal de sortie 38706 appliqué à l'entrée d'une porte NON-ET 545 passe à l'état 0. Le signal 41802 est également appliqué à l'entrée de la porte NON-ET 545. Ce signal sera décrit plus loin mais on notera simplement qu'il est à l'état 0. Le signal de sortie 54513 est appliqué à une entrée d'une porte NON-ET 906 (fig. 14U). Le signal 58306 est appliqué à une autre entrée de la porte NON-ET 906. Les deux signaux d'entrée 54513 et 58306 sont à l'état 1. Le signal de sortie 90611 est. appliqué à une entrée d'une porte OU 763. Le signal de sortie de cette porte passe à l'état 1 et se trouve appliqué à l'entrée CJ d'une bascule JK 923. L'entrée CK de cette porte reçoit le signal 86011 qui se trouve à l'état 0 puisque le cycle de mise à 0 du maître n'est pas achevé.
Le signal 76208 est appliqué à un inverseur 761. Le signal de sortie 76108 est appliqué à l'entrée d'horloge de la bascule 923. Ce signal d'horloge est appliqué 100 ns après le début du cycle ISL. La bascule 923 à l'état 1 indique qu'une opération de transfert est en cours entre l'unité ISL locale et l'unité ISL distante. La bascule reste à l'état 1 jusqu'à ce que le transfert soit achevé.
Le signal 92305 est appliqué à l'entrée d'horloge d'une bascule D 919, celle-ci se trouvant alors mise à l'état 1. Le signal de sortie 91909 est appliqué à l'entrée d'une porte NON-ET 920. Le signal de sortie 92008 est appliqué à l'entrée d'une ligne de retard 917 produisant un retard de 125 ns.
Le signal 91703 qui apparaît après un retard de 37,5 ns se trouve appliqué à l'entrée d'une porte OU 918. Le signal de sortie 91808 est appliqué à l'entrée de remise à 0 de la bascule 919 qui se trouve ainsi remise à 0 après avoir été à l'état 1 pendant 37,5 ns.
Le signal de cycle de transfert 91908 est appliqué à une entrée d'une porte NON-ET 897. Le signal 86106 est appliqué à l'autre entrée de la porte 897 et se trouve à l'état 0 pour cette opération. Le signal d'échantillonnage distant 89701 est utilisé dans l'unité ISL
5
10
15
20
25
30
35
40
45
50
55
60
65
640 645
28
distante pour échantillonner les données envoyées par l'unité ISL locale.
On se reporte maintenant à la fig. 14Z qui illustre les dispositifs de commande d'interface 115 et les récepteurs d'adresse distante 104 de la fig. 8. Le signal 92306 est appliqué aux entrées d'horloge des multiplexeurs/registres 832, 835, 836, 838, 840, 842 et 846. Les signaux 82610, 86404 et 87311 sont appliqués aux bornes d'entrée d'une porte OU 911, ces signaux étant à l'état 1. Le signal de sortie 91108 est appliqué aux entrées de sélection des multiplexeurs/registres 832 et 835, ces signaux se trouvant à l'état 1. Les signaux d'entrée appliqués à la borne d'entrée 1 se trouvent donc sélectionnés.
Les signaux 86404 et 87311 sont appliqués aux entrées d'une porte OU 912. Le signal de sortie 91203 est appliqué à l'entrée de sélection du multiplexeur/registre 836. Comme dans ce cas les signaux 86404 et 87311 sont à l'état 1, c'est l'entrée 1 du multiplexeur/registre 836 qui se trouve sélectionnée.
Les signaux 43009 et 58306 sont appliqués aux entrées d'une porte NON-ET 910. Le signal de sortie 91003 est appliqué à l'entrée de sélection du multiplexeur/registre 840. Comme dans ce cas les deux signaux 43009 et 58306 sont à l'état 0, c'est l'entrée 1 du multiplexeur/registre 840 qui se trouve sélectionnée.
Les multiplexeurs/registres 838, 840 et 842 sont câblés en sorte de sélectionner l'entrée 1 sous toutes les conditions. Les signaux 0-23 d'adresse 13201,13301,13401,13501,13601,13701,13801,13901, 14001,14101,14201,14301, 14401, 14501,14601, 14701,14801, 14901,15001,15101,15301,15401,15501 et 15601 sont stockés dans les multiplexeurs/registres 832, 835, 836, 838,840,842 et 846.
On se reportera maintenant à la fig. 14AA qui illustre les dispositifs de commande d'interface 139 et les récepteurs de données distants 116 de la fig. 8. Le signal 92306 est appliqué à l'entrée d'horloge des multiplexeurs/registres 849, 851, 853 et 855. Le signal 92806 est appliqué aux entrées de sélection des registres 851 et 853. Les entrées de sélection des registres 849 et 855 sont câblées pour sélectionner les entrées 1. Le signal de sélection 92806 est la sortie de la porte ET 928 de la fig. 14W. Les signaux 59012 et 92505 sont appliqués aux entrées de la porte 928. Comme ces deux signaux d'entrée sont à l'état 0 pour cette opération, c'est l'entrée 1 des multiplexeurs/registres 851 et 853 qui se trouve sélectionnée.
Les signaux 0-15 de données multiplexées 78307, 78409, 78507, 78609,78707, 78809, 78907,79009, 79107,79209, 79307, 79409, 79509, 79607, 79709 et 79807 sont appliqués aux entrées des multiplexeurs/registres 849, 851, 853 et 855.
On se reporte maintenant à la fig. 14T. Les signaux 78011 et 78208 sont appliqués à une première entrée de sélection des multiplexeurs 783 à 798 qui constitue le multiplexeur de données interne 129 de la fig. 8. Les signaux 42410 et 80108 sont appliqués à une porte OU 781 qui engendre le signal de sélection 78111. Les signaux 82010 et 80108 sont appliqués aux entrées d'une porte OU 782 qui engendre le signal de sélection 78208. Comme les entrées des portes 781 et 782 sont à l'état 0, ce sont les entrées 0 des multiplexeurs 783 à 798 qui sont sélectionnées. Les signaux 2-15 de données 33501, 33601, 33701, 33801, 33901, 34001, 34101, 34201, 34301, 34401, 34501, 34601, 34701 et 34801 sont appliqués à l'entrée 0 des multiplexeurs 785 à 798, respectivement. Les signaux 93012 et 93009 sont appliqués à l'entrée 0 des multiplexeurs 783 et 784, respectivement. Les signaux 93012 et 93009 sont les sorties d'un multiplexeur 930. Les signaux 0 et 1 de données 33201 et 33401 sont appliqués à l'entrée 0 du multiplexeur 930. Le signal 82706 est appliqué à l'entrée de sélection du multiplexeur 930 et il est à l'état 0 pour cette opération. Le signal de validation 80108 est appliqué à l'entrée de validation des multiplexeurs 783 à 788, ce signal étant à l'état 0 de manière à valider les multiplexeurs 783 à 788. Les multiplexeurs 789 à 798 sont toujours validés.
A ce moment, les informations d'adresse et de données ont été reçues par l'unité ISL locale par l'intermédiaire de la ligne de communication et sont stockées dans les registres. Les signaux d'adresse et de données sont envoyés sur la ligne de communication interne afin d'être acheminés vers l'unité ISL distante par l'intermédiaire des dispositifs de commande d'interface 115 et 139 de la fig. 8.
On se référera par exemple à la fig. 14AA. La sortie du multiplexeur registre 849 envoie des signaux 84912 à 84915 à l'entrée d'un dispositif de commande 848. Les signaux de sortie 84803, 84805, 84807 et 84809 sont appliqués à un jeu de résistances de terminaison 651 (fig. 14AC). A la sortie de ce jeu de résistances 651, des signaux 65111 à 65114 sont appliqués aux bornes d'un connecteur 660 qui constitue la ligne de communication interne. Les sorties des multiplexeurs 851, 853 et 855 (fig. 14AA) sont envoyées vers le connecteur 860 par l'intermédiaire des dispositifs de commande 850, 852 et 854 (fig. 14AA) et des jeux de résistances 651, 652 et 653 (fig. 14AC).
Les lignes de signaux des connecteurs 660 et 663 transmettent l'information à l'unité ISL distante. Les lignes de signaux des connecteurs 661 et 662 reçoivent l'information de l'unité ISL distante.
Se reportant à la fig. 14U, on voit que le signal 92305 est appliqué à l'entrée d'horloge d'un registre 813. Les signaux d'entrée 86404, 90002, 86712 et 90910 représentent les 4 cycles ISL, la demande de mémoire la demande de relance d'opération, la réponse de mémoire et la réponse de relance d'opération, comme décrit plus haut. Dans le cas du cycle de demande de relance d'opération locale RRQCYL décrit ici, le signal 90002 est à l'état 0. Le signal de sortie 81307 est alors à l'état 0, ce signal étant appliqué à l'entrée d'un dispositif de commande 814 (fig. 14AB) pour être transmis à l'unité ISL distante.
On se reporte maintenant à la fig. 14AB. Le signal de masse 67708 est appliqué à la borne F d'un récepteur-dispositif de commande 733. Ce dispositif 733 est toujours validé si les câbles entre l'unité ISL locale et l'unité ISL distante sont connectés aux unités ISL respectives. Le signal 67708 est la sortie d'un inverseur 677 (fig. 14AC). Un condensateur 667 et une résistance 668 sont connectés à l'entrée de l'inverseur. Un potentiel de 5 V est appliqué à l'autre borne de la résistance 668 tandis que la masse est connectée à l'autre borne du condensateur 667.
Dans l'unité ISL distante, un signal de masse 66201 est appliqué à la broche 1 du connecteur 662, par l'intermédiaire du câble, à la broche 1 du connecteur 663 de l'unité ISL locale, cette broche 1 étant elle-même connectée à la masse. Lorsque les câbles sont connectés, la masse présente à la broche 1 du câble 663 apparaît à l'entrée de l'inverseur 677 et fait passer le signal 67708 à l'état 1, ce qui valide le récepteur 733 (dans l'unité ISL distante). Si le câble est déconnecté entre les 2 unités ISL, le signal de masse 66201 présent à la broche 1 du connecteur 662 est porté à l'état haut par la résistance 668 et porte le signal de masse 67708 à l'état 0. Ce dernier signal inhibe les sorties du récepteur distant 733 (fig. 14AB). Par conséquent, si les câbles sont connectés, le signal d'échantillonnage distant 73307 est appliqué à l'entrée d'horloge d'une bascule JK 874 (fig. 14V) qui se trouve mise à l'état 1 par le front avant du signal d'échantillonnage.
Dans l'unité ISL distante, le signal de sortie 87409 est appliqué à l'entrée d'une porte ET 799. Le signal 62088 est appliqué à l'autre entrée de cette porte. Comme le signal 62008 est à l'état 1, le signal de sortie 79911 est à l'état 1. Le signal 79911 est appliqué à une entrée d'une porte ET 612 (fig. 14AB). Le signal 97708 est à l'état 1 puisque les câbles sont connectés, et par conséquent le signal 81208 est à l'état 1. Ce signal est appliqué à la borne de validation du récepteur-dispositif de commande 815. Le signal d'entrée 66222 ayant été engendré dans l'unité ISL locale, le signal de sortie 81509 se trouve appliqué à l'entrée d'un inverseur 816 qui envoie un signal de sortie 81606 à une entrée d'une porte ET/NI 578 (fig. 14V).
La porte 578 reçoit également les signaux 93214 et 92306 qui sont à l'état 1.
Le signal de sortie 57808 est appliqué à une entrée d'une porte ET 558. L'autre entrée de cette porte reçoit le signal 87407 qui est à l'état 0. Le signal de sortie 58803 est donc à l'état 0 et ce signal est appliqué à une entrée d'une porte ET 571 qui reçoit à son autre entrée le signal de comparaison 29709 qui est à l'état 0 puisque le cycle en cours d'exécution n'est pas un cycle de comparaison. Le
5
10
15
20
25
30
35
40
45
50
55
60
65
29
640 645
signal 57106 est appliqué à l'entrée d'une porte NI 176 dont le signal de sortie est à l'état 0 et se trouve appliqué à une entrée de la porte ET 604. Le cycle ISL se trouve ainsi exécuté comme décrit plus haut. Dans le cas présent, toutefois, c'est la bascule de cycle distant 572 qui se trouve mise à l'état 1 au lieu de la bascule de cycle local 464. De plus, comme la bascule 464 n'est pas à l'état 1, le registre 490 reste vide et les signaux de cycle 58306, 59012, 48603 et 49303 restent à l'état 0. Au lieu de cela, c'est le signal de cycle distant 90201 (fig. 14U) qui se trouve engendré.
Les signaux 81509 et 57206 sont appliqués à l'entrée d'une porte NON-ET 902. Le signal de sortie 90201 est le signal RRQCYR qui désigne le cycle de demande de relance d'opération distante dans l'unité ISL distante.
Si le processus n'est pas en mode de transfert d'information, la porte ET 573 de la fig. 14V produit un signal de sortie 57304 à l'état 1 et ce signal se trouve appliqué à une entrée d'une porte ET 880 (fig. 14AB). Le signal de masse 67708 est appliqué à l'autre entrée de cette porte. Le signal de sortie 88006 est appliqué à la borne de validation du récepteur 808 (fig. 14V). Le signal 56108 est appliqué à l'entrée d'un inverseur 876 dont le signal de sortie 87602 est appliqué à une entrée d'une porte ET 878 (fig. 14AB). Le signal de masse 66201 est appliqué à l'autre entrée de cette porte. Le signal de sortie 67803 est appliqué à l'entrée de validation des dispositifs de commande 882 et 884 (fig. 14Z). Les récepteurs de commande 889, 890, 891, 892, 818 et 817 de la fig. 14AA et le récepteur de commande 809 de la fig. 14AB sont validés d'une manière similaire. De plus, les récepteurs de commande 881 à 886 de la fig. 14Z sont validés pour recevoir l'information de la ligne de communication interne.
Les signaux d'adresse et de données et certains signaux de commande ont été transférés de l'unité ISL locale à l'unité ISL distante et un cycle ISL a été lancé dans l'unité ISL distante.
On se reportera maintenant à la fig. 14K. Le signal distant 56108 est appliqué à l'entrée d'une porte ET/NI 363. Le signal 93214 est appliqué à l'autre entrée de la porte 363. Comme décrit précédemment, le décodeur 397 qui constitue le décodeur de code fonction 106 de la fig. 8, se trouve validé. Le signal de commande de sortie 39702 est sélectionné comme précédemment puisque les signaux d'adresse 15301,15401,15501 et 15601 ont été reçus sur la ligne de communication interne de l'autre unité ISL.
On se reporte maintenant à la fig. 14V. La ligne de retard 374 engendre le signal fin de cycle 37407 qui se trouve appliqué à l'inverseur 377. Le signal de sortie 37712 est appliqué à la porte NON-ET 323. Le signal 32712 est également appliqué à la porte 323. Le signal de sortie 32306 est appliqué à l'entrée d'une porte OU 463 dont le signal de sortie 46306 se trouve appliqué à une porte OU 291 qui engendre le signal mise à 0 distant 29111. Ce signal remet à 0 la bascule 572 de manière à mettre fin à la partie de cycle distant de l'instruction de commande de sortie. La terminaison finale de l'instruction a lieu dans l'unité ISL locale. Le signal transfert effectué 92206 est engendré dans l'unité ISL distante par le signal CYC100 76208 et le signal cycle distant 57205 à la porte ET 922 est reçu dans l'unité ISL locale par l'intermédiaire des récepteurs mentionnés précédemment.
Dans l'unité ISL locale, le signal 73303 se trouve appliqué à l'entrée d'une porte NI 739 (fig. I4U). Le signal de sortie 73913 est appliqué à la borne de remise à 0 de la bascule 923, celle-ci se trouvant ainsi remise à 0. La bascule 923 a été originellement mise à l'état 1 lorsque le transfert d'information a démarré entre l'unité ISL locale et l'unité ISL distante.
Le signal 92306 est de nouveau appliqué aux portes ET/NI 388 et 578 (fig. 14V) afin d'autoriser un autre cycle ISL dans l'unité ISL locale, ce qui permet à celle-ci d'accepter une autre instruction venant de la ligne.
L'instruction de commande d'interruption de sortie charge l'information d'interruption dans l'unité ISL de sorte que lorsqu'une interruption est lancée, le processeur central peut être interrompu au niveau désigné.
La bascule 581 (fig. 14N) est à l'état 1 comme décrit précédemment. Le signal 64405 qui met cette bascule à l'état 1, charge également les informations d'adresse, de données et de commande reçues sur la ligne dans les fichiers d'adresse et de données de la fig. 14Q, comme décrit précédemment. Le signal 58109 est appliqué à l'entrée du registre 490 (fig. 14V) comme indiqué précédemment.
Sur la fig. 14K, les signaux 41810 et 58306 appliqués à la porte 363 autorisent la génération du signal de sortie 36308 qui valide le décodeur 397. Comme précédemment, la mémoire morte 399 est adressée et l'information contenue dans l'emplacement adressé se trouve stockée dans le registre 400. La sortie de celui-ci est appliquée aux jonctions OU câblées de la fig. 14F et appliquée au décodeur 397. Dans ce cas, le signal de commande d'interruption de sortie 39710 se trouve sélectionné, ce signal étant appliqué à une entrée d'une porte ET 551. Le signal 57508 est appliqué à l'autre entrée de la porte 551, ce signal étant à l'état 0. Le signal de sortie 55106 est appliqué à une entrée d'une porte NON-ET 825 (fig. 14M). Le signal de temps 32610 est appliqué à l'autre entrée de la porte NON-ET 825. Le signal de sortie 82504 est appliqué aux bornes d'horloge des registres 819 et 857, du registre de canal d'interruption 132 et du registre de niveau d'interruption 134 de la fig. 8.
Les signaux 6-8 de données 33901, 34001 et 34101 sont appliqués aux entrées du registre 819 et les signaux 10-15 de données 34301, 34401, 34501, 34601, 34701 et 34801 sont appliqués aux entrées du registre 857, ce qui met fin à cette partie de cycle de l'instruction. La bascule de cycle locale 464 (fig. 14V) se trouve remise à l'état 0 comme décrit précédemment.
Si cette instruction a été lancée par l'unité ISL locale, la bascule 584 (fig. 14N), qui indique que le cycle de demande de relance d'opération est complet, se trouve remise à 0 comme décrit précédemment.
Si l'unité ISL distante doit traiter l'instruction de commande d'interruption de sortie, alors dans l'unité ISL locale le signal 19914 qui se trouve appliqué à l'entrée du registre 418 (fig. 14K), à l'état 1, porte à l'état 1 le signal d'adresse distante 41807 et à l'état 0 le signal d'adresse locale 41806. La sortie de la porte ET 387, c'est-à-dire le signal 38706, est à l'état 0 et porte à l'état 1 la sortie 54513 de la porte NON-ET 545. Le signal 57508 apparaissant à la sortie de la porte ET 575 se trouve ainsi porté à l'état 1. La sortie 55106 de la porte ET 551 se trouve également porté à l'état 1.
Se reportant à la fig. 14M, le signal 55106 à l'état 1 porte à l'état 0 la sortie 52504 de la porte NON-ET 825, ce qui empêche d'autres informations d'être chargées dans les registres 819 et 857. Dans ce cas, l'unité ISL locale transfère l'information dans l'unité ISL distante. Le signal 54513 à l'état 1 porte à l'état 0 la sortie 90611 de la porte NON-ET 906, ce qui porte à l'état 1 le signal 76308. Ce dernier signal met la bascule 923 à l'état 1 comme décrit précédemment, ce qui a pour effet d'engendrer le cycle de transfert d'information entre l'unité ISL locale et l'unité ISL distante.
L'instruction mettre à 0 les rythmeurs valide un certain nombre de rythmeurs dans l'unité ISL locale. Le signal 39717 est engendré à l'état 0 par le décodeur 397 (fig. 14K) et se trouve appliqué à une entrée d'une porte ET 553. Comme il s'agit ici d'une opération locale, le signal fonction distante 57508 appliqué à l'autre entrée de la porte 553 est à l'état 0. Le signal de sortie 55311 est donc à l'état 0 et se trouve appliqué à l'entrée d'un inverseur 554 à la sortie duquel apparaît un signal 55404 à l'état 1. Ce signal se trouve appliqué à l'entrée d'une porte NON-ET 280 (fig. 14X). Le signal de sortie de la ligne de retard 325 est appliqué à l'autre entrée de la porte 280. Le signal de sortie 28008 est appliqué à l'entrée d'horloge d'un registre 914 qui fait partie du registre de commande de mode 535 de la fig. 8. Les signaux de sortie du registre 914 autorisent un certain nombre de conditions. Lorsqu'une de ces conditions dure au-delà d'un temps imparti, l'instruction sortie rythmeur est utilisée pour remettre les rythmeurs à zéro afin d'empêcher toute nouvelle erreur.
Le signal de sortie 91407 est un signal de validation du rythmeur du contrôleur de séquence. Ce rythmeur est un rythmeur d'une seconde qui est utilisé conjointement au logiciel afin de déterminer si un dispositif ne répond pas à un signal provenant de l'unité ISL. Le
5
10
15
20
25
30
35
40
45
50
55
60
65
640 645
30
signal de sortie 91402 remet ce rythmeur à 0. Le signal 91410 est le signal de validation de rythmeur. Le signal de validation de dépassement de temps vérifie si un dispositif présente un défaut matériel. Le signal de sortie 91415 est le signal de remise à 0 de validation d'interruption qui vérifie si des ressources sont non existantes. Cette interruption est détectée pendant une opération d'écriture en mémoire ou après dépassement du temps imparti à la mémoire.
Pendant la séquence mise à 0 du maître ainsi que pendant une des opérations de rythmeur mentionnées ci-dessus, le signal sortie à 0 55208 est à l'état 1 lorsque le signal 28008 ou le signal 47006 appliqué à l'entrée d'une porte NI 552 est à l'état 0. Ce signal autorise la remise à 0 de tous les rythmeurs dans l'unité ISL.
On se réfère maintenant à la fig. 14Y. Le signal 3 de données 33601 et le signal sortie à 0 55203 sont appliqués à l'entrée d'une porte NON-ET 600. Tous les signaux 9-15 de données sont à l'état 1 pendant la séquence de mise à 0 du maître. Le signal 60006 est appliqué à l'entrée de remise à 0 d'une bascule D 599, qui est la bascule de dépassement du temps imparti à une relance d'opération. Le fonctionnement de la bascule 599 sera décrit plus loin.
D'une manière similaire, le signal 55203 et le signal 0 de données 33201 sont appliqués aux entrées d'une porte NON-ET 506. Le signal de sortie 50608 est appliqué à la borne de remise à 0 d'une bascule D 505 afin de remettre cette bascule à 0. La bascule 505, lorsqu'elle est à l'état 1, indique qu'aucune réponse n'est reçue de la mémoire. Ce fonctionnement sera décrit plus loin.
Le signal 55203 et le signal 1 de données sont appliqués aux entrées d'une porte NON-ET 460. Le signal de sortie 46011 est appliqué à la borne de remise à 0 d'une bascule D 459 afin de remettre cette bascule à l'état 0. La bascule 459, lorsqu'elle est à l'état 1, indique un dépassement du temps imparti à un dispositif entrée/sortie.
Se référant à la fig. 14X, on voit que le signal 55203 et le signal 2 de données 33501 sont appliqués aux entrées d'une porte ET 635. Le signal de sortie 63503 est appliqué à la borne de remise à 0 des compteurs 636 et 637 afin de mettre ces compteurs à 0. Ces compteurs font partie de la commande de rythmeur de contrôleur de séquence. Le fonctionnement de ce dispositif de commande est décrit plus loin.
L'instruction d'adresse de sortie, contrairement aux instructions décrites précédemment, n'affecte pas l'unité ISL distante. Les instructions d'adresse de sortie sont émises uniquement à l'intention de l'unité ISL locale car toutes les adresses sont commandées par l'unité ISL locale. L'instruction de sortie charge une adresse dans l'unité ISL locale. Cette information d'adresse contient une adresse de canal et/ou une adresse de mémoire. L'instruction d'adresse de sortie sélectionne un des emplacements d'adresse.
Les instructions d'adresse de sortie sélectionnent le signal 39706 produit à la sortie du décodeur de code fonction 397 (fig. 14K). Sur la fig. 14Q, qui illustre le compteur de mémoire à accès sélectif 118 et le registre de commande de mémoire à accès sélectif 108 de la fig. 8, on voit que les signaux 39706 et 32404 sont appliqués à l'entrée d'une porte NON-ET 743. Le signal de sortie 74310 est appliqué à l'entrée d'horloge du registre 758 et à l'entrée d'un inverseur 742. Le signal de sortie 74212 de cet inverseur est appliqué à la borne Gl des compteurs 744,745 et 746, autorisant ainsi l'introduction de données dans les compteurs. Le registre 758 est chargé avec les signaux 3-5 de données 33601, 33701 et 33801 qui sont les signaux de validation d'écriture des trois mémoires à accès sélectif (mémoire de conversion de processeur central, mémoire de conversion de mémoire et mémoire de bit de canal).
Le compteur 744 est chargé par les signaux 6 et 7 de données 22901 et 34001. Le compteur 745 est chargé avec les signaux 8-11 de données 34101, 34201, 34301 et 34401. Le compteur 746 est chargé avec les signaux 12-15 de données 34501, 34601, 34701 et 34801.
L'instruction d'adresse de sortie est complètement exécutée lorsque les compteurs 744, 745 et 746 sont chargés avec les adresses des emplacements qui doivent être lus ou modifiés et lorsque le registre 258 emmagasine les bits de validation d'écriture pour la sélection d'adresse dans les mémoires à accès sélectif.
L'instruction de données de sortie est utilisée conjointement à l'instruction d'adresse de sortie. Grâce aux emplacements adressés et aux mémoires désignées dans l'instruction d'adresse de sortie, les données reçues de la ligne de communication pendant cette instruction se trouvent emmagasinées dans les mémoires à accès sélectif à l'adresse désignée.
Le signal de sortie 39715 du décodeur 397 est porté à l'état 0. Comme décrit précédemment, le signal 39715 et le signal fonction distante 57508, qui sont tous deux à l'état 0, sont appliqués à l'entrée de la porte ET 643. Le signal de sortie 64303, qui est le signal d'écriture en mémoire à accès sélectif, est à l'état 0 et se trouve appliqué à l'entrée de la porte NI 639. Le signal de validation d'écriture 63908 est à l'état 1. Sur la fig. 14V, on voit que le signal 63908 et le signal 32502 sont appliqués aux entrées de la porte ET 638. Le signal 63811 se trouve ainsi porté à l'état 0.
Les signaux 53910 et 56108 sont appliqués à l'entrée de la porte ET 748 (fig. 14Q). Le signal de sortie 74808 est appliqué à la borne de validation des registres 741 et 929, ce qui a pour effet de faire apparaître à la sortie de ces registres l'adresse stockée dans les compteurs 744, 745 et 746. Les signaux de sortie du registre 108 de la fig. 8, à savoir les signaux 74102, 74105, 74106, 74109, 74112, 74115, 74116, 74119, 92905, 92906,92909,92912,92915 et 92916 sont appliqués aux jonctions OU câblées 137 à 149 de la fig. 14F.
La sortie du registre 758 (fig. 14Q) est appliquée aux portes OU 730,737 et 759. Les signaux de sortie 73003,73706 et 75906 déterminent la mémoire à accès sélectif dans laquelle est inscrite l'adresse stockée dans les registres 741 et 929. Le signal 73003 est le signal de validation d'écriture de conversion de mémoire. Le signal 73706 est le signal d'autorisation d'écriture de canal et le signal 75906 est le signal d'écriture de conversion de processeur central. Il est par conséquent possible d'inscrire une information dans n'importe quelle combinaison de mémoires à accès sélectif. Les signaux 73003,73706 et 75906 sont tous emmagasinés dans le registre 929.
Les signaux 75906, 73706 et 73703 apparaissent sur la ligne d'adresse dans l'unité ISL sous forme de signaux d'adresse 13701, 13801 et 13901, respectivement. Le signal 13701 est appliqué à l'entrée de la porte NON-ET 760 (fig. 14W). Le signal 63811 est appliqué à l'autre entrée de la porte 760 et le signal de sortie 76003 est appliqué à la borne de validation d'écriture des mémoires 757 et 754, c'est-à-dire les mémoires processeurs central source 131 et processeur central destination 113 de la fig. 8.
Sur la fig. 14R, on voit que les signaux 13801 et 63811 sont appliqués aux entrées de la porte NON-ET 312. Le signal de sortie 31206 est appliqué à la borne d'autorisation d'écriture de la mémoire à accès sélectif 276, qui est la mémoire de bit d'activité de canal 142 de la fig. 8.
Se reportant à la fig. 14S, on peut voir que les signaux 13901 et 63811 sont appliqués aux entrées de la porte NON-ET 859. Le signal de sortie 85906 est appliqué aux bornes de validation d'écriture des mémoires 706 à 715 et 883, qui sont la mémoire 125 de la fig. 8.
A la fin de l'instruction, les compteurs 744, 745 et 746 sont actionnés par le signal 74711 qui se trouve appliqué à l'entrée +1 du compteur 746. Le signal 39715 appliqué à l'entrée de la porte NI 908 est à l'état 0, de sorte que le signal de sortie 90812 est à l'état 0. Comme le signal 90002 est également à l'état 0, le signal de sortie 74003 est à l'état 0. Comme le signal fin d'impulsion 37606 est à l'état 0, le signal de sortie 74711 est à l'état 0 et actionne le compteur 746 à la fin du cycle ISL lorsque le signal 97606 passe à l'état 1.
Sur la fig. 14N, on voit que la bascule 584 est remise à 0 par les signaux d'entrée 76208, 56803,47006 et 57611 à l'état 1.
Pour le fonctionnement distant en réponse à l'instruction de données de masque de sortie, seule l'adresse de masque de sortie est émise par l'intermédiaire de la ligne locale de sorte que si une instruction de données de masque de sortie doit être envoyée à une ligne distante, l'adresse sera envoyée sur la ligne distante de la même manière que décrit plus haut sur la ligne d'adresse et les données et
5
10
15
20
25
30
35
40
45
50
55
60
65
31
640 645
autres fonctions proviendront du fichier de données comme décrit précédemment.
Pour une opération d'écriture dans les mémoires à accès sélectif de l'unité ISL distante, les informations d'adresse et de données provenant de l'unité ISL locale sont envoyées à l'unité ISL distante et le compteur dans celle-ci ne se trouve pas utilisé pour commander l'adresse des mémoires, l'information pour l'adressage provenant toujours de l'unité ISL locale.
La commande d'interruption d'entrée est reçue de la ligne de communication intérieure exactement comme les instructions de sortie, mais le signal de sortie 39909 à la sortie de la mémoire morte 399 (fig. 14K.) est à l'état 1. Le signal 39910 est appliqué à l'entrée du registre 400. Le signal de sortie 40005 est appliqué à la jonction OU câblée 156 de la fig. 14F. Le signal 15601, à l'état 1, est appliqué à l'entrée du décodeur 397. Le signal de sortie 39709 est à l'état 0. Les signaux 19914, 44208 et 44508 sont appliqués aux entrées du registre 418. Les signaux de sortie 41806,41810 et 41814 sont à l'état 1. Ces signaux sont appliqués à l'entrée de la porte ET 387. Le signal de sortie 38706, à l'état 1, est appliqué à l'entrée de la porte NON-ET 545. Le signal de sortie 54513, à l'état 0, est appliqué à l'entrée de la porte NI 613 dont la sortie est portée à l'état 1.
Les bascules 581 et 584 (fig. 14N) sont une nouvelle fois mises à l'état 1 et un cycle ISL local est lancé comme décrit précédemment. Les informations d'adresse et de données sur la ligne de communication sont stockées dans les registres de fichiers de l'unité ISL locale.
Le but de l'instruction est de lire les contenus des deux registres 819 et 857 (fig. 14M). Le registre 819 contient l'adresse de canal de processeur central et le registre 857 contient un niveau auquel l'interruption est contrôlée. L'information extraite du registre 819, qui constitue le registre de canal d'interruption 132 de la fig. 8, et l'information extraite du registre 857, qui constitue le registre de niveau d'interruption 134 de la fig. 8, sont placés sur la ligne de communication.
Les signaux 81902, 81907, 81910, 81915, 85715, 85702, 85710, 85707, 85705 et 85712 sont appliqués à l'entrée 3 des multiplexeurs de données 789 à 798, respectivement (fig. 14T). Des signaux de masse sont appliqués aux entrées 3 des multiplexeurs 783 à 788. Les signaux 39709 et 42708 sont appliqués aux entrées d'une porte NI 801. Le signal 39709 est à l'état 0. Le signal de sortie 80108 est à l'état 1 et se trouve appliqué aux entrées des portes OU 781 et 782. Les signaux de sortie 78111 et 78208, à l'état 1, sont appliqués aux entrées de sélection 1 et 2, respectivement, des multiplexeurs 783 à 798, de manière à sélectionner l'entrée 3 de ces multiplexeurs.
Les signaux 78907,79009, 79107 et 79209 sont appliqués à l'entrée 0 du multiplexeur 780 (fig. 14W), qui constitue le multiplexeur de données 137 de la fig. 8. Les signaux de sortie 78004, 78007, 78009 et 78012 sont appliqués à l'entrée 1 du multiplexeur 526 (fig. 14G). Les signaux de sortie 78609, 78307, 78507, 78409, 78809, 78707, 79307, 79509,79607,79709 et 79807 sont appliqués à l'entrée 1 des registres 525, 527 et 528 (fig. 14G) qui constitue le registre multiplexeur de données 138 de la fig. 8. Le signal 52408 obtenu à la sortie de la porte ET/NI 524 se trouve appliqué, à l'état 1, à l'entrée de sélection des registres 525, 526 et 527 de manière à sélectionner l'entrée 1. Les signaux 52408 et 42709 sont à l'état 1 et se trouvent appliqués aux entrées d'une porte ET 372. La sortie de cette porte passe à l'état 1 qui se trouve ainsi appliqué à l'entrée de sélection du registre 528.
La porte NON-ET 465 (fig. 14G) reçoit les signaux 15202,61306 et 58306. Le signal 20 d'adresse 15202 indique que l'instruction d'entrée est en cours d'exécution. Le signal 46508 produit à la sortie de la porte 465 se trouve appliqué, à l'état 0, à l'entrée de la porte NI 378. La sortie 37806 de celle-ci est à l'état 1.
Se reportant à la fig. 14D, on voit que les signaux 76208 et 37806, à l'état 1, sont appliqués aux entrées d'une porte ET/NI 278. Le signal de sortie 27808 est appliqué aux entrées d'horloge des registres 525 à 528 (fig. 14G). Les signaux de sortie 52514, 52512, 52513, 52515, 52613, 52612, 52614, 52615, 52712, 52714, 52713, 52715, 52814, 52815, 52813 et 52812 sont appliqués aux générateurs de parité 521 et 522 qui engendrent les signaux de parité 52109 et 52209.
Les signaux 27808 et 56406 sont appliqués aux entrées de la porte OU 562. Le signal de sortie 56211 est appliqué à l'entrée d'un inverseur 563 dont la sortie 56308 est appliquée à l'entrée d'horloge d'une bascule de demande ISL 450. Le signal 45009 et le signal ligne occupée 20804 sont appliqués aux entrées d'une porte NON-ET 533. Si la ligne n'est pas occupée, le signal de sortie 53303 qui se trouve appliqué à la bascule de demande de mémoire 534, met celle-ci à l'état 1.
Le signal 56211 est également appliqué à la borne d'horloge de la bascule 446. Le signal de sortie 44609 est alors porté à l'état 1 et valide le réseau de priorité de ligne par son application à la porte NON-ET 520. Si toutes les conditions d'entrée de la porte 520 sont satisfaites, le signal de sortie 52009 se trouve appliqué à l'entrée d'établissement de la bascule 517, indiquant ainsi que l'unité ISL est en train de recueillir des informations de la ligne de communication.
Les signaux de sortie des registres 525 à 528 et des générateurs de parité 521 et 522 sont appliqués aux entrées des dispositifs de commande-récepteurs 219, 220, 222 à 238 (fig. 14B). Les autres entrées des récepteurs reçoivent le signal canal de données de mémoire qui transfèrent maintenant les informations sur la ligne.
Le cycle ISL se termine comme décrit précédemment par la remise à 0 de la bascule 584 (fig. 14N) lorsque les signaux 76208, 56803,47006 et 57611 appliqués aux entrées de la porte ET-NI286 sont à l'état 1 et par la remise à l'état 0 de la bascule 581 lorsque les signaux 37712, 58306 et 54008 appliqués aux entrées de la porte NON-ET 582 sont à l'état 1.
L'instruction de commande d'interruption distante est semblable à l'instruction de commande d'interruption locale sauf que le signal 19914 appliqué à l'entrée du registre 418 (fig. 14K) est à l'état 1. Le signal de sortie 41806 est appliqué à l'état 0 à l'entrée de la porte ET 387. Le signal de sortie 38706 est à l'état 0, ce qui porte à l'état 1 le signal 45413, et à l'état 0 le signal 61306.
Le signal 61306 appliqué à l'entrée de la porte NON-ET 465 (fig. 14G) porte le signal 46508 à l'état 1, ce qui a pour effet de porter à l'état 0 le signal de validation 37806. Les signaux 37806 et 76208 sont appliqués à l'entrée de la porte ET/NI 278 (fig. 14D). Le signal 37806, à l'état 0, porte à l'état 1 le signal de sortie 27808, ce qui a pour effet de bloquer l'entrée d'horloge des registres 525 à 528.
L'unité ISL distante engendre un cycle ISL et renvoie les données à l'unité ISL locale comme spécifié par les instructions.
Comme au cours des cycles ISL distants, le décodeur 397 (fig. 14K) engendre le signal 39790 qui à son tour engendre le cycle de demande distante dans l'unité ISL distante. Toutefois, l'unité ISL distante renvoie les données à l'unité locale de la marnière suivante. On se reporte à la fig. 14U. Les signaux 15301 et 90112 sont appliqués aux entrées d'une porte NON-ET 905. Le signal de sortie 90504 est appliqué à l'état 1 à l'entrée de la porte ET 822. Le signal 93214 est appliqué à l'autre entrée de la porte 822. Comme celle-ci se trouve dans l'unité ISL distante, le signal 93214, à l'état 1, a été engendré par l'unité ISL locale et envoyé à l'unité ISL distante afin d'indiquer qu'il s'agissait d'un code fonction distant.
Le signal de sortie 82208 est appliqué à l'entrée d'une porte NON-ET 924, Le signal fin d'impulsion 37606 est appliqué à l'entrée d'un inverseur 800 dont la sortie 80002 est appliquée à l'autre entrée de la porte 924. Le signal de sortie 92408 passe à l'état 0 à la fin du cycle distant, établissant ainsi la bascule 923 à l'état 1. Cette bascule lance alors le cycle de transfert d'information entre l'unité ISL distante et l'unité ISL locale comme décrit précédemment.
Le signal 82208 est appliqué à une entrée d'une porte NI 909. Le signal 59012 est appliqué à l'autre entrée de la porte 909 dont la sortie 90910 est appliquée à une entrée du registre 813. Le signal 92305 est appliqué à l'entrée d'horloge du registre 813. Le signal 81314 est renvoyé à l'unité ISL locale. Le signal 81503 (fig. 14V) est engendré et appliqué à une porte NI 269 dont la sortie 26912 est appliquée à l'entrée de la porte ET/NI 578. Le signal 27108 est appli5
10
15
20
25
30
35
40
45
50
55
60
65
640 645
32
qué à l'autre entrée de la porte 578, ce qui lance le cycle distant dans l'unité ISL locale comme décrit précédemment.
Le cycle initial dans l'unité ISL locale est un cycle d'entrée distante. Le cycle ayant pris son origine dans l'unité ISL locale est envoyé à l'unité ISL distante pour lancer un cycle de demande de réponse dans l'unité ISL distante. Ce cycle dans l'unité distante engendre un cycle de réponse dans l'unité ISL locale. L'unité locale lance alors un cycle de réponse afin d'envoyer sur la ligne les données reçues de l'unité distante pendant le cycle de réponse dans l'unité locale.
Dans l'unité locale, le signal 81503 reçu de l'unité ISL distante et le signal 57206 sont appliqués aux entrées d'une porte NON-ET 597 (fig. 14N). Le signal de sortie 59710 est appliqué à une entrée d'une porte OU 592. L'autre entrée de cette porte reçoit le signal 46108 à l'état 0. Le signal de sortie 59211, à l'état 1, indique le cycle de réponse distante.
Comme décrit précédemment, la ligne de données et la ligne d'adresse dans l'unité ISL locale donnent une image des récepteurs d'adresse et de données distants de l'autre unité ISL. Ainsi, dans le cas décrit, les données qui se trouvent présentées sur la ligne de données sont le canal d'interruption et le niveau d'interruption provenant de l'unité ISL distante.
La ligne de données porte les données correctes pendant ce cycle distant dans l'unité ISL locale. Ces données sont transmises à travers les multiplexeurs de données 783 à 798 de la fig. 14T, qui constituent le multiplexeur de données 129 de la fig. 8. Contrairement à la commande d'interruption d'entrée locale, la sortie du décodeur de code fonction est à ce moment non valable puisqu'il s'agit d'un cycle de réponse.
Les signaux 29709 et 42708 sont à présent à l'état 1 et appliqués à l'entrée de la porte NI 801 (fig. 14T). Les signaux de sélection 78111 et 78208 sont par conséquent à l'état 0, ce qui a pour effet de sélectionner l'entrée 0 des multiplexeurs 789 à 798. Se trouvent ainsi sélectionnés les signaux 6-15 de données 33901, 34001, 34101, 34201, 34301, 34401, 34501, 34601, 34701 et 34801, ces signaux représentant les informations de canal d'interruption et de niveau d'interruption envoyées de l'unité ISL distante à l'unité ISL locale.
Tous les cycles décrits jusqu'à présent sont des cycles ISL qui valident les décodeurs de code fonction. Le cycle de réponse de relance d'opération distante ne valide aucun décodeur de code fonction. Se reportant à la fig. 14K, on voit que le signal 36308 appliqué à l'entrée du décodeur 397 est à l'état 1. Par conséquent, un code fonction distant ne se trouve pas engendré pour ce cycle. Les informations de données et d'adresse sont envoyées sur la ligne comme décrit précédemment.
Se référant à la fig. 14N, on voit que la bascule 584 est à l'état 0 et que la bascule 581 est à l'état 0 pendant le cycle de demande de réponse originelle comme pendant une instruction de sortie ou l'instruction d'entrée initiale par l'intermédiaire de la porte 582. Pendant le cycle de demande de réponse, la bascule 581 se trouve remise à 0 au moment de la fin d'impulsion. La bascule 584 est la fonction qui maintient ce trajet occupé, et par conséquent la remise à 0 à ce moment de la bascule 581 n'affecte pas le fonctionnement puisqu'elle ne peut être remise à l'état 1 avant que les signaux 58405 et 58406 aient repris leur état normal lorsque la bascule 584 n'est pas à l'état 1.
Le registre 418 (fig. 14K) n'est pas remis à 0 par le signal 56011 produit par la porte OU 560. Le registre 418 est par conséquent mis à 0 en même temps que la bascule 584 (fig. 14N), ce qui libère toutes les fonctions de commande qui se trouvaient placées dans le registre 418 lors du lancement de cette instruction.
L'instruction de données de masque d'entrée fondamentalement lit le bit d'activité de la mémoire 142 de la fig. 8. Elle lit la traduction d'adresse de mémoire et le bit d'activité de la mémoire 125 de la fig. 8. Elle lit la traduction d'adresse de destination du processeur central de la mémoire 131 de la fig. 8. L'instruction de données d'entrée est toujours précédée d'une instruction d'adresse de sortie sauf lorsque des emplacements contigus doivent être lus. Une instruction de données d'entrée est suivie d'une autre instruction de données d'entrée. Mais quelquefois il y a une instruction d'adresse de sortie qui charge l'adresse de l'emplacement de départ à lire dans le compteur 118 de la fig. 8. C'est ce compteur qui charge le registre de commande 108 dont la sortie est utilisée pour adresser les mémoires à accès sélectif désignées dans les mémoires 142, 125 et 131 mentionnées plus haut. L'information d'adresse est utilisée pour adresser les mémoires à accès sélectif et les données extraites de ces mémoires sont transférées sur la ligne de données à destination de l'unité ISL, locale ou distante, à laquelle l'instruction est destinée. Le cycle complet exécuté par une instruction de données d'entrée locale comprend un cycle de ligne de communication pour présenter l'instruction, puis un cycle ISL interne qui, en l'occurrence, est un cycle de demande de relance d'opération, et enfin un autre cycle de ligne de communication. Ainsi, il n'y a qu'un seul cycle ISL interne pour une instruction de données d'entrée locale. L'instruction de données d'entrée distante requiert trois cycles ISL internes. Le premier cycle est un cycle de demande de relance qui envoie à l'unité ISL distante l'adresse de l'emplacement à lire dans la mémoire à accès sélectif. Pendant ce cycle, l'adresse de mémoire est envoyée à l'unité ISL distante en même temps que le code fonction qui a été décrit plus haut, afin d'engendrer le second cycle, un cycle de demande de relance, dans l'unité ISL distante. Ces données à leur tour sont collectées dans les mémoires de l'unité ISL distante, analogues aux mémoires 142, 125 et 131 de la fig. 8. Les données sont ensuite renvoyées à l'unité ISL locale où se trouve engendré un troisième cycle. Après ce cycle, les données sont placées sur la ligne de communication afin d'être transférées au processeur central qui a demandé les données. La majeure partie des opérations logiques exécutées par l'instruction ont été couvertes par la description de l'instruction de commande d'interruption d'entrée. La différence principale se situe au niveau de la sortie du décodeur de code fonction qui sélectionne les entrées convenables des multiplexeurs afin de diriger les données vers la ligne de données de manière à envoyer les données à la ligne de communication sélectionnée soit à partir de l'unité ISL locale, soit à partir de l'unité ISL distante.
Les bascules 584 et 581 (fig. 14N) sont à l'état 1 comme décrit plus haut. Le signal 58506 est à l'état 1 et se trouve appliqué à l'entrée CJ de la bascule 581 et le signal d'horloge 66405 met la bascule 581 à l'état 1. Le signal 58109 est appliqué à l'entrée CJ de la bascule 584 qui se trouve ainsi mise à l'état 1 lors de la retombée du signal d'horloge 35602. Cela empêche d'autres instructions d'être acceptées par l'unité ISL pendant le trajet de relance.
Comme décrit précédemment, l'unité ISL engendre un cycle ISL lorsqu'elle détecte une demande de relance d'opération. Le cycle ISL démarre la séquence des temps dans la ligne de retard 374 (fig. 14V) et établit un cycle ISL local indépendamment du fait qu'à ce moment il s'agit d'une instruction locale ou distante. Le cycle local engendre, si l'instruction est adressée à l'unité ISL locale, les circuits de temps et de données pour envoyer les données au dispositif de commande de ligne de communication. Le décodeur de code fonction 397 (fig. 14K) engendre un signal 39714 pour l'instruction de données d'entrée. Le code de fonction de données d'entrée sur la ligne de communication est un code fonction 10 et est appliqué à la mémoire morte 399 en même temps que la configuration de bits de contrôle convenable. La sortie de la mémoire morte 399 est un code fonction codé qui se trouve emmagasiné dans le registre 400. La sortie de ce registre, comme décrit précédemment, est présentée sur la ligne d'adresse pendant le cycle de demande de relance locale, et le code fonction à l'entrée du décodeur 397 valide la fonction de données d'entrée 39714. Cette fonction, si elle est destinée à l'unité ISL locale, tente de lire les données dans les registres désignés.
Pendant l'introduction des données, les multiplexeurs de données de la fig. 14T collectent toutes les données appropriées par l'intermédiaire des divers registres. Le signal 39714 est appliqué à l'entrée d'un inverseur 820 dont la sortie 82010 est appliquée à l'entrée d'une porte OU 782. Le signal 78208 produit à la sortie de la porte 782 est le signal 2 de sélection et se trouve à l'état 1. Le signal 1 de sélection
5
10
15
20
25
30
35
40
45
50
55
60
65
33
640 645
de multiplexeur 78111 est à l'état 0 puisque les deux entrées de la porte 781 sont à l'état 0 étant donné qu'il ne s'agit pas d'un cycle d'interruption. En conséquence, ce sont les entrées 2 des multiplexeurs 783,784, 785 et 786 qui sont sélectionnées. Les données d'entrée sont les signaux de fonction 75411, 75409, 75407 et 75405 obtenus à la sortie de la mémoire 754 de la fig. 14W.
Les signaux 74904, 74907, 74909 et 74912 obtenus à la sortie du multiplexeur 749 (fig. 14W) sont appliqués aux bornes de sélection d'adresse de la mémoire de destination de processeur central 754.
Les signaux 59012 et 92505 sont appliqués à la porte ET 928. Comme il ne s'agit pas d'un cycle de réponse locale, le signal de sortie 62806 est à l'état 0 et se trouve appliqué à l'entrée de sélection du multiplexeur 749. Les signaux 14-17 d'adresse 14601,14701, 14801 et 14901 se trouvent dès lors sélectionnés.
On se reporte maintenant à la fig. 14Q. La sortie des compteurs 744, 745 et 746 est appliquée aux entrées des registres 741 et 929 qui constituent le registre de commande 108 de la fig. 8. Comme le fonctionnement est en mode de configuration ISL et concerne une opération locale, les signaux 53910 et 56108 qui sont appliqués à l'entrée de la porte ET 748 sont à l'état 0. Le signal de sortie 74808 est à l'état 1 et valide les registres 741 et 929. Les sorties sélectionnées de ces registres se trouvent réfléchies aux bornes de sélection d'adresse d'entrée de la mémoire 754 (fig. 14W) comme décrit précédemment. Les compteurs 744, 745 et 746 ont été chargés précédemment à partir d'une instruction d'adresse de sortie.
La mémoire de masque de canal 276 (fig. 14R), qui emmagasine le bit d'activité de canal, a ses entrées de sélection d'adresse sélectionnées par les multiplexeurs 313, 314 et 315. Le signal 53911 est appliqué à l'entrée de sélection des multiplexeurs 313, 314 et 315. Comme le cycle décrit est en mode configuration, le signal 53911 est à l'état 1, ce qui a pour effet de sélectionner l'entrée 1. Il s'agit des signaux 8-17 d'adresse 31509, 31504, 31512, 31507, 31412, 31409, 31404,31407,31304 et 31312.
La sortie 27607 de la mémoire 276 est appliquée à l'entrée 2 du multiplexeur 787 (fig. 14T). Le signal 86307 est appliqué à l'entrée 2 du multiplexeur 788. Il s'agit de la sortie de la mémoire 863 de la fig. 14S. Les signaux de sélection 0-9 d'adresse d'entrée 47507, 47409, 47307,47312, 47309, 47304,47204, 47209, 47212 sont engendrés comme les sorties des multiplexeurs 472 à 475 (fig. 14R). Les signaux 1 et 2 de sélection d'entrée 48112 et 53911 sont à l'état 1. Comme il ne s'agit pas d'un cycle de référence de mémoire et que l'unité ISL n'est pas en mode de transfert de données, les signaux d'entrée 24414 et 53910 appliqués à la porte 481 sont à l'état 0. La sortie de cette porte NON-ET est donc à l'état 1. En conséquence, les signaux 8-17 d'adresse 14001,14101,14201,14301,14401, 14501,14601, 14701,14801 et 14901 sont sélectionnés. Le signal de sortie 86307 de la mémoire 863 (fig. 14S) est donc sélectionné. Il s'agit du bit d'activité de mémoire. '
Les mémoires de traduction de mémoire 706 à 715 ont leurs signaux de sortie 70607, 70707, 70807, 70907, 71007, 71107, 71207, 71307, 71407 et 71507 qui sont appliqués aux entrées 2 des multiplexeurs de données 789 à 798, respectivement (fig. 14T). Les mémoires 706 à 715 sont adressées par les signaux adressant la mémoire 863 de la fig. 14S.
Pour une instruction de données d'entrée locale, les données reçues des multiplexeurs 783 à 798 sont transférées à l'entrée 1 des registres 525 à 528 (fig. 14G) qui sont les registres multiplexeurs d'interface de lignes 138 de la fig. 8.
Comme décrit précédemment, le signal de sélection 52408 sélectionne les signaux à l'entrée 1 des registres 525 à 527 et le signal de sélection 37208 sélectionne les signaux à l'entrée 1 du registre 528. Les autres opérations exécutées pour une instruction de données d'entrée locale sont les mêmes que celles qui ont été décrites plus haut pour le transfert d'informations sur la ligne de communication à la fin du cycle de demande de relance locale.
L'exécution d'une instruction de données d'entrée distante est identique au fonctionnement décrit plus haut pour la commande d'interruption d'entrée. Pendant le cycle de demande de relance local, un cycle de transfert se trouve engendré pour envoyer une impulsion d'échantillonnage distante à l'unité ISL distante. Celle-ci utilise ce signal pour engendrer un cycle distant. Ce cycle distant est un cycle de demande de relance distant comme décrit plus haut et les principales différences résident dans le fait que le multiplexeur de données et les mémoires de traduction d'adresse de canal et de mémoire, au lieu de recevoir leurs adresses d'un compteur de commande comme décrit plus haut, l'unité ISL distante reçoit son adresse des récepteurs d'adresse distants 104 de la fig. 8.
Ainsi, les informations d'adresse appliquées à la mémoire de bit d'activité de canal de la fig. 14R, aux mémoires de traduction de mémoire de la fig. 14S et aux mémoires de traduction de processeur central de la fig. 14W proviennent toujours des bits d'adresse comme décrit précédemment, et les sorties de ces mémoires alimentent le multiplexeur de données comme pour l'unité locale. Mais la sortie du multiplexeur de données, au lieu d'être appliquée aux registres multiplexeurs de données de la fig. 14G, se trouve cette fois appliquée aux dispositifs de commande de données locaux de la fig. 14AA. Les registres multiplexeurs 849, 851, 853 et 855 reçoivent les sorties des multiplexeurs et ces données sont emmagasinées dans ces registres au moment du signal transfert complet, qui a été décrit précédemment. Ce signal, obtenu à la sortie de la porte 924 de la fig. 14U, est le signal qui apparaît à l'expiration du délai de 100 ns dans le cycle distant si les données sont destinées à l'unité ISL locale. Les données doivent être renvoyées à l'unité ISL locale et, par conséquent, les quatre multiplexeurs reçoivent les données qui sont renvoyées à l'unité ISL locale. Celle-ci, comme décrit plus haut, reçoit un signal pour engendrer un cycle de réponse distante. Ce cycle a été décrit plus haut et a pour fonction d'envoyer les données reçues de l'unité ISL distante au registre de ligne de communication, d'engendrer ensuite un cycle de ligne de communication et de renvoyer les données au processeur central qui a demandé initialement les données.
On décrit maintenant l'instruction d'état d'entrée de l'unité ISL. Cette instruction est identique, en ce qui concerne le cycle logique et le séquencement, aux autres instructions d'entrée de l'unité ISL. Seul le cycle de demande de relance local est effectué si l'instruction est destinée à l'unité ISL locale. Si l'instruction est destinée à l'unité ISL distante, 3 cycles sont exécutés, le cycle de demande de relance local dans l'unité ISL locale, le cycle de demande de relance distante dans l'unité ISL distante et le cycle de réponse de relance distante dans l'unité ISL locale. Les seules différences sont les suivantes.
Le signal 39711 est sélectionné à la sortie du décodeur 397 (fig. 14K). Ce signal est appliqué à l'entrée d'un inverseur 424 dont la sortie 42410 est à l'état 1 et appliqué à l'entrée de la porte OU 781 (fig. 14T). Le signal 78111 est alors à l'état 1 et sélectionne l'entrée 1 des multiplexeurs 783 à 798. Le signal 78208 est à l'état 0. En conséquence, les signaux à l'entrée 1 des multiplexeurs se trouvent sélectionnés pour être transférés sur la ligne de communication et ensuite au processeur central demandeur. Ces signaux d'entrée appliqués aux multiplexeurs 783 et 798 sont résumés au tableau 12. Le bit 0 (signal 87203) est le bit opérationnel, c'est-à-dire le bit 0 qui indique si l'unité ISL est en mode de transfert de données ou en mode configuration. Le bit 1 (signal 89309) indique s'il y a eu une interruption demandée par une unité ISL distante. Ce signal indique à la fois un dépassement du temps imparti au contrôleur de séquence et une erreur de ressource non existante.
Au lieu d'expliquer tous les bits d'état individuels à ce stade, on complétera la description du flux de données exécutées pendant l'instruction et après cela on montrera que chacun de ces bits d'état individuels se trouve indiqué à la fig. 14T.
Comme indiqué précédemment, les données à la sortie des multiplexeurs 783 à 798 (fig. 14T) sont appliqués aux registres 848, 851, 853 et 855 (fig. 14AA) pour l'instruction d'état d'entrée ISL locale. Un cycle de ligne de communication se trouve engendré et l'information d'état envoyée au processeur central demandeur.
L'instruction d'état d'entrée distante est identique aux instructions de données d'entrée distante et de commande d'interruption
5
10
15
20
25
30
35
40
45
50
55
60
65
640 645
34
d'entrée. L'information est envoyée sur la ligne à partir de l'unité ISL distante à destination de l'unité ISL locale d'où elle est envoyée sur la ligne de communication à destination du processeur central demandeur.
Ici après se trouvent décrites les fonctions que les bits d'état exécutent dans l'unité 133 de la flg. 8. Le premier bit d'état est le bit opérationnel 87203 (fig. 14T). Les signaux 62806 et 53910 (fig. 141) sont appliqués aux entrées d'une porte ET 872. Le signal 62806 est à l'état 1 et indique que l'autre unité ISL, distante ou locale, est en liaison avec le système et sous tension.
Le signal 66243 est connecté à la ligne d'interface ISL par le connecteur 662 de la fig. 14AB et se trouve appliqué à une entrée du dispositif de commande 736 (fig. 14AB) et à une résistance 665 connectée d'autre part au potentiel + 5 V. En conséquence, si une unité ISL quelconque se trouve déconnectée ou non alimentée, le signal 63243 se trouve à l'état 1.
Le signal de sortie 63612 est appliqué à l'entrée d'un inverseur 628 (fig. 14J). Le signal de sortie 62806 est appliqué à l'entrée d'une porte ET 872. Le signal 53910 est à l'état 1 et le signal de sortie 87203, à l'état 1, est appliqué à l'entrée 1 du multiplexeur 783 de la fig. 14T.
Le dispositif de commande 913 (fig. 14 AB) reçoit un signal de masse à son entrée. Le signal de sortie 91318 est appliqué au connecteur 663 et ensuite à l'autre unité ISL, de manière à appliquer le signal de masse aux deux unités ISL interconnectées.
Le deuxième bit d'état est le bit 89309 appliqué à l'entrée 1 du multiplexeur 784 (fig. 14T). Le signal 78409 est engendré à la sortie du multiplexeur.
Se reportant à la fig. 14X, on voit que le signal 87112, le signal 91616, le signal 91402 et le signal 91415 sont appliqués aux entrées d'une porte ET/NI 895. La sortie 89508 de cette porte est à l'état 0 et indique qu'il y a eu une interruption distante ou un dépassement de temps imparti dans l'unité distante, ce signal étant appliqué à l'entrée d'établissement d'une bascule D 893.
Le signal 37712 et le signal d'état 42410, à l'état 1, sont appliqués aux entrées d'une porte NON-ET 609 (fig. 14Y). Le signal de sortie 60906 est appliqué à l'entrée d'une porte OU 295. Un signal mise à 0 du maître 83006 est appliqué à l'autre entrée de la porte 295. Le signal de sortie 29506 est à l'état 0 et se trouve appliqué à l'entrée de remise à 0 de la bascule 893 (fig. 14X), remettant ainsi cette bascule à 0 après que le bit d'état a été lu.
Sur la fig. 14T, on voit que l'entrée 1 du multiplexeur 785 est reliée à la masse, c'est-à-dire qu'un 0 logique se trouve appliqué à cette entrée. Le signal 78507 est par conséquent à l'état 0. Le signal 78609 est engendré par le signal actif 10115 appliqué au multiplexeur 786. Le signal 10115 est le signal de sortie du commutateur rotatif hexadécimal 101 de la fig. 14J, qui indique que l'unité ISL locale est active lorsque l'état est 1 ou que l'unité locale est passive lorsque son état est 0.
Le signal 78707 produit à la sortie du multiplexeur 787 et le signal 78809 produit à la sortie du multiplexeur 788 sont tous deux à l'état 0 puisque les entrées 1 de ces deux multiplexeurs sont à l'état 0.
Le bit 6 de données est le signal 78907 produit à la sortie du multiplexeur 789. Celui-ci reçoit à son entrée 1 le signal 91502. Se reportant à la fig. 14X, le signal 10435 provenant du connecteur 104 de la fig. 14A se trouve appliqué à l'entrée d'une résistance 112 (fig. 14X). L'autre borne de cette résistance, à laquelle est présente le signal 11202, est connectée à un condensateur de 0,01 (j,F 113 par lequel le signal 11202 se trouve appliqué à l'entrée d'un inverseur à bascule de Schmitt 261. L'autre borne du condensateur 113 est connectée à la masse. La sortie de l'inverseur 261 est appliquée à l'entrée d'une porte ET 634. Le signal 91407 et le signal 63712 sont appliqués aux autres entrées de la porte ET 634. Le signal 91407 est à l'état 1 pendant l'exécution de l'instruction décrite plus haut. Le signal 63712 empêche un cycle de dépassement de temps imparti si le cycle précédent a dépassé le temps qui lui est imparti. Le signal de sortie 63406 est appliqué à la borne de validation G2 et à la borne d'horloge du compteur 636. Le signal de sortie 63602 est appliqué aux entrées de validation et d'horloge du compteur 637. Le signal de sortie 63712 est appliqué à l'entrée d'une porte ET 634 comme décrit plus haut et à l'entrée d'un inverseur 915. Le signal de sortie 91502 est appliqué à l'entrée 1 du multiplexeur 789. Le rythmeur de contrôleur de séquence est remis à 0 par le signal 63503 à l'état 1 dans un délai d'environ 1 s après le démarrage du fonctionnement des compteurs 736 et 737, ensuite le signal 91502 se trouve engendré. La remise à 0 des compteurs 736 et 737 a été décrite précédemment.
Le bit d'état 7 est le signal 79009 produit par le multiplexeur 790. Il est relié à la masse et est donc à l'état 0.
Le bit d'état 8 est le signal 79107 produit par le multiplexeur 791. Le signal 59905 est appliqué à l'entrée 1 de ce multiplexeur. Le signal 59905 est porté à l'état 1 si, pendant une instruction entrée/ sortie destinée à un contrôleur relié à la ligne distante, un signal d'acceptation 16001 ou un signal d'acceptation négative 24901 n'est pas reçu dans un délai de 120 ms après le début de l'instruction, indiquant ainsi au processeur central ayant lancé l'instruction qu'il existe un défaut dans un dispositif. La génération du signal 59905 a été décrite précédemment.
Le bit 9 de données est le signal 79209 produit à la sortie du multiplexeur 792. L'entrée 1 de celui-ci reçoit le signal 45909 qui est à l'état 1 lorsqu'une instruction entrée/sortie envoyée à un contrôleur sur une ligne distante a donné lieu à une réponse de confirmation et lorsque le second demi-cycle de ligne n'est pas reçu dans un délai de 250 ms. C'est-à-dire que le signal de validation pour les rythmeurs a été mis dans l'état vrai comme décrit précédemment.
Le bit 10 de données est le signal 79307 produit à la sortie du multiplexeur 793. L'entrée 1 de ce multiplexeur reçoit le signal 50509 qui se trouve à l'état 1 si un second demi-cycle de ligne n'est pas reçu dans un délai d'environ 6 |is lorsque le premier demi-cycle de ligne a été confirmé. Le fonctionnement de la bascule 505 de la fig. 14Y a été décrit précédemment.
Le bit 11 de données est le signal 79409 produit à la sortie du multiplexeur 794 et le bit 12 de données est le signal 79509 produit à la sortie du multiplexeur 795. Ces deux signaux sont à l'état 0 puisque les entrées 1 de ces multiplexeurs sont reliés à la masse.
Le signal 13 de données est le signal 79607 produit à la sortie du multiplexeur 796. La borne 1 de ce multiplexeur reçoit le signal 86905 qui est à l'état 1 si, pendant une opération d'écriture de mémoire, l'emplacement adressé n'existe pas dans le système. Se reportant à la fig. 141, on voit que le signal 24814 est appliqué à l'entrée d'un registre 413. Le signal de sortie 41307 est appliqué à l'entrée d'une porte NON-ET 544. Le signal d'écriture de mémoire 52306 et le signal de demande de mémoire 51505 sont également appliqués aux entrées de la porte 544. Le signal de sortie 54408 est à l'état 0 et appliqué à l'entrée d'établissement d'une bascule D 869 (fig. 14T), ce qui a pour effet de mettre cette bascule à l'état 1 afin d'indiquer que l'emplacement de mémoire adressée par l'unité ISL distante n'existe pas.
Le bit 14 de données est le signal 79709 produit à la sortie du multiplexeur 797. L'entrée 1 de ce multiplexeur reçoit le signal d'erreur de parité 44409. Ce signal est à l'état 1 chaque fois qu'une instruction envoyée à l'unité ISL contient une parité incorrecte. Se référant à la fig. 14B, on voit que les signaux 0-15 de données sont appliqués aux entrées des générateurs de parité 232 et 239. Les signaux de parité impaire 23206 et 23906 sont appliqués aux entrées d'une porte NI 221. Le signal de sortie 22108 est appliqué à l'autre entrée de la porte OU 331. Le signal 25403 indique que la source a détecté une parité incorrecte avant d'envoyer les données sur la ligne. Le signal 33108 est appliqué à l'entrée CD d'une bascule D 444 (fig. 14Y) qui se trouve ainsi mise à l'état 1 au moment d'occurrence du signal d'horloge 36204 si la parité incorrecte a été détectée.
Le bit 15 de données est le signal 79807 produit à la sortie du multiplexeur 798. Ce signal est à l'état 0 puisque l'entrée 1 de ce multiplexeur est relié à la masse.
L'instruction d'identification d'entrée est différente dans son processus de lancement des autres instructions d'entrée en ce sens qu'elle ne fait aucune différence en ce qui concerne le dispositif ISL,
5
10
15
20
25
30
35
40
45
50
55
60
65
35
640 645
local ou distant, qui l'a émise. Le cycle est le même. Un seul cycle est indiqué, un cycle local. L'identification qui est renvoyée pour une unité ISL est soit un signal hexadécimal 2402 dans le cas où l'unité ISL locale et l'unité distante sont toutes deux connectées et sous tension et, si l'unité ISL distante n'est pas connectée électriquement, le signal d'identification renvoyé est un nombre hexadécimal 2400.
La sortie de la mémoire morte 399 est appliquée à l'entrée d'une porte ET 419 (fig. 14K). Le signal de sortie 41906 est appliqué à l'entrée du registre 418 dont la sortie 41802 est appliquée à l'entrée d'une porte NON-ET 545. Le signal 41802, à l'état 1, inhibe le signal de sortie 54513 et l'empêche d'engendrer un cycle distant. Egalement, le décodeur 397 engendre le signal de sortie 39716 qui se trouve appliqué aux entrées de sélection des multiplexeurs 435 et 436 (fig. 14J) afin de sélectionner le code fonction d'identification 24 en hexadécimale.
Les signaux 42304 et 62806 sont appliqués aux entrées d'une porte ET 417. Le signal 42304 est à l'état 1. Le signal 62806 a été décrit précédemment comme étant à l'état 1 lorsque l'unité ISL distante est connectée et sous tension. Le signal de sortie 41711, à l'état 1, donne un chiffre hexadécimal 2 pour le dernier chiffre hexadécimal. En conséquence, le code d'identification est le nombre hexadécimal 2400 pour une unité ISL locale opérationnelle et un nombre hexadécimal 2402 lorsque les deux unités ISL, locale et distante,
sont opérationnelles.
Se référant à la fig. 14G, le signal 42304, à l'état 1, est appliqué à l'entrée d'une porte ET/NI 524. Le signal de sortie 52408, à l'état 0, est appliqué à l'entrée de sélection des registres 525, 526 et 527, de manière à sélectionner les entrées 0 de ces registres. Le signal de sélection 52408 est appliqué à l'entrée d'une porte ET 372 qui constitue le registre multiplexeur de données 138 de la fig. 8. Le signal de sortie 37208, à l'état 0, est appliqué à l'entrée de sélection du registre 528 de manière à sélectionner la sortie de celui-ci.
Les signaux 43504,43410 et 43507 appliqués à l'entrée du registre 525 sont à l'état 0 et le signal d'entrée 43509 est à l'état 1. Le signal 43512 appliqué à l'entrée du registre 527 est à l'état 0 et le signal d'entrée 43604 est à l'état 1. Les signaux 43609,43612 et 43607 appliqués à l'entrée du registre 526 sont à l'état 0. Le signal de sortie 52615 est à l'état 0 puisque sa borne d'entrée est mise à la masse. Les signaux 52908 et 86606 sont appliqués à l'entrée d'une porte OU 513. Les deux signaux sont à l'état 0 puisqu'ils sont associés à un cycle de transfert de fonction autre qu'une fonction d'identification. Le signal de sortie 51303 qui est appliqué à l'entrée du registre 527 est à l'état 0.
La sortie de la porte OU 514, le signal 51406, est appliquée à l'état 0 à l'entrée du registre 527. Le signal 53006 appliqué à l'entrée de la porte 514 est à l'état 0. Les signaux de sortie 52814 et 52815 sont à l'état 0 puisque les entrées respectives du registre 528 sont à la masse, c'est-à-dire à l'état 0. Le signal 41711 décrit soit une opération ISL locale d'une unité ISL locale et une opération ISL distante, comme décrit précédemment.
Le signal de sortie 52812 est à l'état 0 puisque l'entrée du registre 528 est à la masse pendant le cycle de demande de relance. Le signal 27808 est engendré comme décrit précédemment afin de charger le code d'identification dans les registres 735 à 738, engendrant ainsi un cycle de ligne de communication et envoyant le code d'identification au processeur central demandant les données. C'est ce que montre la fig. 8 sur laquelle l'information présente sur le commutateur rotatif 140 est envoyée directement au registre 138. Cela achève en substance le fonctionnement en mode configuration.
On se réfère maintenant à la fig. 14K. Les signaux de sortie 40003 à 40006 sont appliqués aux jonctions OU câblées 153-156 de la fig. 14F afin de transmettre les signaux 20-23 d'adresse 15301, 15401, 15501 et 15601. Le registre 400 est validé par les signaux 41811 et 60306 qui sont à l'état 0. Le signal 41811 a été décrit précédemment.
Les signaux 64508 et 57205 sont appliqués à une porte ET 603. Ces signaux sont à l'état 0 puisque le fonctionnement n'est pas un cycle distant ni un cycle de transfert. Le signal de sortie 60306 est appliqué à l'entrée de validation du registre 400 et ce signal se trouve à l'état 0.
En mode de transfert d'information, l'unité ISL utilise toutes les données de configuration qui ont été chargées pendant le fonctionnement en mode configuration. Les premiers cycles exécutés ont pour but d'établir un trajet de demande de mémoire, ce qui prend 4 cycles. Le cycle initial MRQCYL suit la détection du cycle mémoire par l'unité ISL, ensuite est exécuté le cycle MRQCYR qui a lieu dans l'unité ISL distante. A ce moment, si l'instruction est une instruction d'écriture de mémoire, le cycle s'arrête. Il n'y a donc que ces deux cycles si les données doivent être inscrites dans une mémoire reliée à la ligne de communication distante. Mais s'il faut une opération de lecture de mémoire, alors l'unité ISL reste en état d'occupation pour le trajet de demande de mémoire et attend un cycle de réponse de mémoire. Se trouve alors effectué un cycle de réponse de mémoire locale dans l'unité ISL distante, suivi par un cycle de réponse de mémoire distante dans l'unité locale qui a lancé l'instruction originale. Le cycle de demande de mémoire lance l'instruction de demande initiale, puis attend une réponse de la mémoire. Cette réponse vient par l'intermédiaire de l'unité ISL distante. Le transfert de base comprend donc 2 cycles pour une opération d'écriture et 4 cycles pour une opération de lecture. Pendant le cycle BSDCNN, l'unité ISL répond comme agent pour la demande de mémoire qui est présentée à la ligne de communication à partir d'un dispositif local. Se référant à la fig. 140, la logique de sélection pour une opération d'écriture dans un registre fichier se fait par l'intermédiaire d'une porte NON-ET 476. Celle-ci reçoit à ses entrées le signal 24414 qui est un signal engendré par la ligne de communication, et un signal de fonction 24102, qui est un autre signal engendré par la ligne de communication. Le signal 24102 indique qu'il n'y a pas d'essai ni d'instruction d'essai pour une mémoire, tandis que le signal 24414 indique que l'instruction est une instruction de mémoire.
Le signal 24414 et le signal 24102, tous deux à l'état 1, sont appliqués à l'entrée d'une porte NON-ET 476. Le signal de sortie 47603 est appliqué à l'entrée d'une porte NI 411 dont la sortie 41106 est à l'état 1. Ce signal de sortie est appliqué à l'entrée de l'inverseur 410 dont la sortie 41008 est à l'état 0. Le signal 25914, à l'état 0, est appliqué à l'entrée de la porte ET 509. La sortie de celui-ci, à l'état 0, est appliquée à l'entrée de l'inverseur 408 dont la sortie 40802 est à l'état 1. En conséquence, pour une demande de mémoire, l'emplacement 2 des mémoires à accès sélectif de la fig. 140 se trouve sélectionné. Antérieurement, c'est l'emplacement 0 qui a été sélectionné pour le mode configuration.
Le signal 48706 est appliqué à l'entrée du multiplexeur 396 (fig. 14N). Les signaux de sélection 40903 et 41106 sont appliqués aux entrées de sélection du multiplexeur 396 de manière à sélectionner l'entrée 2 de celui-ci. Le signal de sortie 39607 est appliqué à la borne CD de la bascule 644 et, lorsque le signal d'horloge 36008 se trouve appliqué, la bascule 644 se trouve mise à l'état 1 et son signal de sortie 64405 est appliqué à l'entrée d'horloge d'une bascule JK 483. Les signaux 54808,40802 et 41106, à l'état 1, sont appliqués à l'entrée d'une porte ET 489. Le signal 54808 est obtenu à la sortie de la porte ET 548 de la fig. 141. Le signal 86307, obtenu à la sortie de la mémoire 863 de la fig. 14S, et le signal 62606 sont à l'état 1 puisque le fonctionnement est en mode transfert d'opération et non en mode test.
Le signal de sortie 48912 est appliqué à la borne CJ d'une bascule 483. Le signal de sortie 48305 est appliqué à l'entrée CD d'une bascule D 487. 135 ns après le début du cycle, le signal 35712, qui se trouve appliqué à l'entrée d'horloge de la bascule, établit la bascule 487 à l'état 1, et le signal de sortie 48705 inhibe tout nouveau mouvement intéressant cet emplacement du fichier de données. Le signal de sortie 48706 est appliqué à l'entrée d'établissement de la bascule 487 afin de maintenir celle-ci à l'état 1 lorsque d'autres signaux 35712 se trouvent appliqués à l'entrée d'horloge.
Se référant à la fig. 14S, on voit que les signaux 70607 à 71507 obtenus à la sortie des mémoires de traduction 706 à 715 sont appli5
10
15
20
25
30
35
40
45
50
55
60
65
640 645
36
qués aux entrées des registres 717 et 716. Les entrées d'horloge de ces registres reçoivent le signal 48305 et lorsque ce signal passe à l'état 1, les signaux des mémoires se trouvent chargés dans les registres.
Les signaux 86307, 24414 et 41106, à l'état 1, sont appliqués aux entrées d'une porte ET 477 (fig. 14H). Le signal de sortie 47706 et le signal 46209 sont appliqués aux entrées d'une porte ET 484. Le signal 64406 est appliqué à l'entrée d'horloge d'une bascule JK 462. Le signal de sortie 46209 est à l'état 1. Le signal 48408 est appliqué à l'entrée du registre 631 qui se trouve actionné par le signal 35809 135 ns après le début du cycle. Le signal de sortie 63115 est appliqué à l'entrée de la porte NI 130. Le signal de sortie 13005, à l'état 0, est appliqué à la borne d'établissement de la bascule D 433 qui se trouve ainsi mise à l'état 1. Un signal de confirmation est alors envoyé sur la ligne de communication afin d'achever le cycle.
Au début de l'opération de demande de mémoire pour une opération de lecture, le rythmeur d'un cycle de mémoire se trouve démarré. Se référant à la fig. 14Y, le signal 48305 est appliqué à l'entrée d'horloge d'une bascule D 617. Comme il s'agit d'une opération d'écriture, le signal 26610 est à l'état 0 et la bascule 617 ne se trouve pas à l'état 1. Pour une opération de lecture, la bascule 617 est à l'état 1 et le signal 61706 est appliqué à une entrée à négation d'un vibrateur à un coup de 6 us. Le signal 48603, à l'état 1, est appliqué d'un vibrateur à un coup 611.
Le cycle de demande de mémoire est démarré de la manière suivante. Le signal 48306 est appliqué à une entrée d'une porte NI 645 (fig. 14V). Le signal de sortie 64508, à l'état 1, est appliqué à une entrée d'une porte ET/NI 388. Comme le signal 92306 est à l'état 1, le signal de sortie 38808 se trouve à l'état 0 et met à l'état 1 la bascule de cycle local 464 ainsi que la bascule de cycle ISL 411 comme décrit précédemment. Le signal 46405 introduit le signal 48305 dans le registre 490. Le signal 49002 passe à l'état 1 et le signal 49003 passe à l'état 0. Le signal 49002 est appliqué à l'entrée d'une porte ET 486 et, si le cycle en cours n'est pas un cycle de réponse de mémoire, le signal 49014 est à l'état 1, ce qui porte à l'état 1 le signal 48603 et à l'état 0 le signal 48502. Le cycle de demande de mémoire, comme tous les cycles intervenant dans le fonctionnement en mode configuration, actionne la ligne de retard 374 et le cycle se poursuit de la manière décrite précédemment.
La logique pour mettre fin au cycle de demande de mémoire pour divers états du dispositif local suit à présent en référence à la fig. 14N. Afin de remettre à 0 la bascule 487, le signal 48502, à l'état
0, et le signal de temps 32610 sont appliqués aux entrées d'une porte NON-ET 482. Le signal de sortie 48201 applique un état 1 à l'entrée d'une porte ET/NI 488. Le signal d'écriture de fichier 36609 applique un état 1 à l'autre entrée de la porte 488. Le signal de sortie 48808 applique un état 0 à l'entrée d'une porte OU 283. Le signal de sortie 28306 est alors à l'état 0 et remet à 0 la bascule 487. L'autre entrée de la porte 283 reçoit le signal 83006 (mise à 0 du maître) à l'état 1. La bascule 487 se trouve remise à 0 si l'unité ISL effectue une opération d'écriture de mémoire. La bascule 487 ne se trouve pas remise à 0 si l'unité ISL effectue une opération de lecture.
Le signal 48201 est appliqué à l'entrée de la porte NI 282. Le signal de sortie 28204 est appliqué à la borne de remise à 0 de la bascule 483 et celle-ci se trouve ainsi remise à 0, ce qui met fin au cycle de demande de mémoire uniquement s'il s'agit d'une opération d'écriture. Si au contraire il s'agit d'une opération de lecture, la bascule reste à l'état 1. Afin de transmettre l'information à l'unité ISL distante, une bascule JK transfert complet se trouve mise à l'état
1. Comme décrit précédemment, le signal 86404 applique un état 0 à l'entrée d'une porte NI 763 (fig. 14U). Le signal de sortie 76308 est appliqué à l'entrée CJ de la bascule 923 qui se trouve mise à l'état 1 lors de la retombée du signal d'horloge 76108 chargeant toutes les données et informations d'adresse dans les dispositifs de commande d'adresse et de données locaux afin d'envoyer les données à l'unité ISL distante.
Le trajet de données s'établit de la manière suivante. Les signaux qui ont été inscrits dans l'emplacement 2 du registre de fichier sont sélectionnés par les signaux de sélection de lecture 40312 et 40211. Le signal de cycle de réponse de mémoire 49014 et le signal de réponse de relance 40704 appliquent tous deux un état 1 aux entrées de la porte NI 402 (fig. 140). Le signal 1 de sélection de lecture 40211 est appliqué à l'entrée de lecture 1 du fichier. Le signal de cycle de demande de mémoire 48502 applique un état 0 à l'entrée de la porte NI 403. Le signal 2 de sélection de lecture 40312 applique un état 1 à l'entrée de lecture 2 de l'emplacement 2 du fichier et emmagasine les signaux d'adresse, de données et de commande appartenant aux cycles de demande de mémoire.
Les signaux de sélection d'entrée 78111 et 78208 sont à l'état 0, ce qui a pour effet de sélectionner l'entrée 0 des multiplexeurs 783 à 798 (fig. 14T). Le signal de sélection 82706 est appliqué à l'entrée de sélection du multiplexeur 930. Comme le signal de sélection 82706 est à l'état 0, c'est l'entrée 0 du multiplexeur 930 qui se trouve sélectionnée.
Se référant à la fig. 140, on voit que les signaux DFIL0-15 obtenus à la sortie des fichiers 364,177, 647, 365, 366 et 389 sont appliqués aux entrées des registres 367 et 368. Les signaux DFIX 0-15 obtenus à la sortie de ces registres sont transférés sur la ligne de données.
Le signal 16803 est appliqué à l'entrée de validation des fichiers 162 et 161 et se trouve engendré à la sortie de la porte OU 168. Le signal 58305 est appliqué à l'entrée d'une porte NON-ET 169. Comme il ne s'agit pas d'un cycle de demande de réponse, le signal 58305 est à l'état 0; en conséquence, le signal de sortie 16908 appliqué à l'entrée de la porte OU 168 se trouve à l'état 1. Le signal 54906 est appliqué à l'autre entrée de la porte OU 168, ce signal étant à l'état 1 puisqu'il ne s'agit pas d'un cycle libre. Le signal de sortie 16803 à l'état 1 empêche les signaux de sortie des fichiers 161 et 162 d'être sélectionnés.
Le signal 48502 est appliqué à l'entrée d'une porte OU 167. Comme il s'agit d'un cycle de demande de mémoire, ce signal est à l'état 0 et le signal de sortie 16708 se trouve à l'état 0. Le signal 16708 est appliqué aux entrées de validation des fichiers 163,164, 165 et 166, ce qui autorise l'apparition des signaux de sortie AFIL08-23. Les signaux de sortie AFILO-7 ne sont pas autorisés.
Le registre 716 emmagasine les signaux 0-7 d'adresse de traduction de mémoire qui sont obtenus aux sorties des mémoires de traduction 705 à 713 (fig. 14S). Le registre 717 emmagasine les signaux 8-9 d'adresse de traduction qui sont obtenus aux sorties des mémoires 714 et 715. Par suite, pendant le cycle de demande de mémoire, les signaux ADXLMO-9 se trouvent appliqués aux entrées 0 des multiplexeurs 832, 835 et 836 (fig. 14Z). Les registres 832, 835, 836, 838, 840, 842 et 846 sont tous commandés par la retombée du signal transfert complet 92306. Le signal de sélection 91108 est à l'état 0 puisque le signal 86404 appliqué à l'entrée de la porte OU 911 est à l'état 0, ce qui a pour effet de sélectionner l'entrée 0 des multiplexeurs 832 et 835. D'une manière similaire, le signal 91203 sélectionne l'entrée 0 du multiplexeur 836 puisque le signal 86404 appliqué à l'entrée de la porte OU 912 est à l'état 0. Les signaux 72001 à 72901 sont sélectionnés par les registres 832, 835 et 836 et appliqués aux entrées des dispositifs de commande 833, 834 et 837 sous forme de signaux d'adresse LCAD0-9 afin d'être transférés sur la ligne de communication. Les signaux de sortie 83612 et 83613 sont appliqués aux entrées des dispositifs de commande 847 et 844 (fig. 14AB) respectivement, pour être transférés sur la ligne de communication.
Les entrées de sélection des registres 838, 842 et 846 sont à l'état 1, ce qui a pour effet de sélectionner les entrées 1 de ces registres. L'entrée de sélection du registre 840 est également à l'état 1 puisqu'il ne s'agit pas d'un cycle de demande de réponse et, par conséquent, le signal 58306 appliqué à une entrée de la porte NON-ET 910 est à l'état 0.
Les signaux d'adresse 14201,14301,14401,14501,14601,14701, 14801,14901, 15001, 15101, 15301, 15401,15501 et 15601 sont appliqués aux entrées 1 des registres 838, 840, 842 et 846. Egalement, le signal 36407 et le signal d'écriture de fichier 36609 sont appliqués aux entrées 1 du registre 846. Les signaux d'adresse de sortie
5
10
15
20
25
30
35
40
45
50
55
60
65
37
640 645
LCAD 10-23 sont appliqués aux entrées des dispositifs de commande 837, 839, 841 et 843 afin d'être transférés à l'unité ISL distante par l'intermédiaire de la ligne d'interface. Les signaux 84613 et 84615 sont appliqués aux entrées du dispositif de commande 844 afin d'être transférés sur la ligne interface.
Le registre 813 (fig. 14U) est à l'état 1 lors de la montée du signal transfert complet 92305. Le signal de cycle de demande de mémoire 86404 applique un état 0 à l'entrée du registre 813. Les signaux de sortie 81302 appliquent un état 0 à l'entrée du dispositif de commande 814 (fig. 14AB). Le signal de sortie 81409 est appliqué à l'entrée du réseau de résistances 655 (fig. 14AC). Le signal de sortie 65515 est appliqué au connecteur 663 afin de transférer le signal à l'unité ISL distante. Le signal 66220 arrive dans l'unité ISL distante sur le connecteur 662 et ce signal se trouve appliqué à l'entrée du récepteur/dispositif de commande 815 de la fig. 14AB. Le signal de sortie 81507 est appliqué à l'entrée de la porte OU 269 de la fig. 14V. Le signal de sortie 26912 applique un état 1 à l'entrée de la porte ET/NI 578. Supposant que le signal ligne complète 27108 à l'état 1 à ce moment, le signal de sortie 57808 se trouve à l'état 0. Ce signal se trouve appliqué à l'entrée de la porte ET 558. Le signal de sortie 55803 est appliqué à l'entrée de la porte ET 571. Le signal de sortie 57106 est appliqué à l'entrée de la porte NI 176 dont la sortie 17612 se trouve appliquée à l'entrée de la porte ET 604. Le signal de sortie 60408 est appliqué à la borne d'horloge de la bascule 441 qui se trouve ainsi mise à l'état 1. La bascule cycle distant 572 se trouve également mise à l'état 1.
Se référant à la fig. 14V, on voit que les signaux 81507 et 57206 se trouvent appliqués aux entrées d'une porte NON-ET 865. Le signal 86513 est à l'état 1. Le signal 57205 applique un état 1 à l'entrée de la porte OU 561. Le signal de sortie 56108 applique un état 1 aux dispositifs de commande 881 à 886 (fig. 14Z), aux dispositifs de commande 803 et 809 (fig. 14AB) et aux dispositifs de commande 889 à 892 (fig. 14AA). L'information provenant de l'unité ISL locale est reçue dans l'unité ISL distante par ces dispositifs de commande.
Les informations d'adresse et de données de l'unité ISL locale ont été reçues par l'unité ISL distante. Les informations d'adresse comprennent les dix premiers bits du traducteur de mémoire dans l'unité ISL locale. Les autres bits d'adresse ont été reçus par l'unité ISL locale en provenance du processeur central et envoyés ensuite à l'unité ISL distante. Les informations de données, les signaux 33401 à 34801 sont reçus de l'unité ISL locale par l'unité ISL distante et transférés aux entrées 0 des multiplexeurs 783 à 798 de la fig. 14T. Les sorties des portes OU 781 et 782, à savoir les signaux 78711 et 78206, sont à l'état 0 pour ce cycle. Les bits 1 et 2 de données sont sélectionnés par l'intermédiaire de l'entrée 0 du multiplexeur 930.
Les signaux DTMX0-15 obtenus à la sortie des multiplexeurs 783 à 798 réfléchissent les données transférées par l'unité ISL locale. Se reportant à la fig. 14C, on voit que les signaux 8-11 d'adresse reçus de l'unité ISL locale, à savoir les signaux 14001,14101, 14201 et 14301 se trouvent appliqués aux entrées 0 du multiplexeur 157. Les signaux 12, 13, 18 et 19 d'adresse 14401, 14501, 15001 et 15101 sont appliqués aux entrées 0 du multiplexeur 158. Les signaux 20-23 d'adresse 15301, 15401, 15501 et 15601 sont appliqués aux entrées 0 du multiplexeur 160. Les signaux 14-17 d'adresse 14601, 14701, 14801 et 14901 sont appliqués à l'entrée 1 du multiplexeur 731 de la fig. 14M. Les signaux de sortie 73107, 73109, 73112 et 73104 sont appliqués aux entrées 0 du multiplexeur 159. Comme il ne s'agit pas d'un cycle d'interruption, le signal 42709 se trouve à l'état 0, ce qui valide les multiplexeurs 157 à 160 (fig. 14E), les sorties de ces multiplexeurs réfléchissant les signaux appliqués à leurs entrées. Les entrées 0 se trouvent sélectionnées car il ne s'agit pas d'un second demi-cycle de ligne et le signal de sélection 37806 se trouve à l'état 0. Les sorties des multiplexeurs 157-160 sont connectées aux entrées des registres 508 et 509. Le registre 507 reçoit les signaux 0-7 d'adresse directement de la ligne d'adresse et, comme il ne s'agit pas d'un cycle d'interruption, le signal de remise à 0 42708 se trouve à l'état 1.
Les signaux DTMX0-15 obtenus aux sorties des multiplexeurs 783 à 798 (fig. 14T) sont appliqués aux entrées 1 des multiplexeurs 525, 527 et 528 de la fig. 14G et à l'entrée 0 du multiplexeur 780 de la fig. 14W. Sur la fig. 14G, on voit que le signal 86513 et le signal 39310 sont appliqués aux entrées de la porte ET/NI 524. Le signal de sortie 52408 se trouve à l'état 1 et sélectionne les entrées 1 des multiplexeurs 525, 526 et 527. Le signal 37208 sélectionne l'entrée 1 du registre 528. Le signal d'écriture de fichier 80701 applique un état 1 à l'entrée de l'inverseur 393 dont la sortie 39310 se trouve à l'état 0. Les signaux de sortie du multiplexeur 780 de la fig. 14W, à savoir les signaux 78004, 78007,78009 et 78012 sont appliqués à l'entrée 1 du registre 526 de la fig. 14G.
Si l'unité distante effectue une. opération de lecture et si le signal d'écriture de fichier 80701 est à l'état 0, le signal 39310 se trouve à l'état 1. Le signal de sortie 52408 se trouve à l'état 0, ce qui a pour effet de sélectionner les entrées 0 des registres 525, 526, 527 et 528. Le signal de sélection 37208 est à l'état 0.
Se reportant à la fig. 14J, on voit que les signaux de sortie des commutateurs rotatifs 101,102 et 103 se trouvent réfléchis aux entrées 0 des registres 525 à 528 de la fig. 14G.
Le signal 51303 est engendré à la sortie de la porte OU 513. Le signal 86606 est appliqué à l'entrée de la porte 513. Le signal 80701 applique un état 0 à l'entrée d'un inverseur 806. Le signal de sortie 80612 est appliqué à l'entrée d'une porte ET 868 dont l'autre entrée reçoit le signal 86573 à l'état 1. Le signal de sortie 86606 se trouve dès lors à l'état 1 pour une opération de lecture et à l'état 0 pour une opération d'écriture qui se trouve réfléchie par le signal 51303 appliqué à l'entrée du registre 527. En conséquence, pour une opération de lecture, le signal 52615 est à l'état 0. Le signal 52713 est à l'état 1, le signal 52715 est à l'état 0, le signal 52814 est à l'état 0, le signal 52815 est à l'état 0, le signal 52812 est à l'état 0.
Le signal d'horloge 76208 et le signal MRQCYR (fig. 14D), à l'état 1, sont appliqués aux entrées de la porte ET/NI 278. Après un retard de 100 ns, le signal 27808 applique un état 0 à l'entrée de l'inverseur 279 dont la sortie 27908 applique donc un état 1 aux entrées d'horloge des registres 507, 508 et 509 (flg. 14E) et aux registres 525 à 528 (fig. 14G). Le signal 27908 met également à l'état 1 la bascule D 271. On voit sur la fig. 14V que le signal 27108 appliqué à l'entrée de la porte ET/NI 578 empêche le démarrage d'un autre cycle ISL distant.
Si aucun processeur central n'est connecté à la ligne distante,
c'est l'unité ISL qui engendre la réponse négative pour le compte du dispositif inexistant.
Il y a deux procédés pour engendrer la réponse de confirmation négative (réponse NAK). Le premier procédé est exécuté si c'est l'unité ISL qui engendre la réponse ou si l'unité ISL voit sur la ligne un signal DCN qui n'est pas son propre signal. La bascule D 268 (fig. 14Y) est à l'état 1. Le signal 36008 est appliqué à l'entrée d'une bascule à un coup 612. Si celui-ci ne se trouve pas remis à 0 avant 7 |is par le signal 21306, alors un signal 61204 est appliqué à la bascule 268 pour mettre celle-ci à l'état 1 si le signal 36008 de communication est appliqué. Dans la logique de ligne de communication, il est prévu une fonction de dépassement de temps imparti sur la ligne. Si le cycle est affecté à un dispositif inexistant, il n'y a pas de réponse. Dans les 5 us, le processeur central connecté à cette ligne répond alors en lieu et place du dispositif inexistant par l'envoi d'un signal de confirmation négative. La ligne se trouve alors libérée pour desservir un autre transfert d'information. Le processeur central connecté à cette ligne engendre un bouclage interne sur ce cycle et commande le déroulement d'un sous-programme.
Il a été dit plus haut ce qui se passe lorsque tout est normal dans le système et lorsque le cycle de demande de mémoire a été confirmé sur la ligne distante. Diverses choses peuvent cependant se passer si le cycle de demande de mémoire n'est pas confirmé, c'est-à-dire lorsque est émise une réponse de confirmation ou d'acceptation négative. Une telle réponse peut être occasionnée soit par un dispositif inexistant, soit par une erreur de parité, soit par une mémoire défaillante. La réponse négative pourrait être générée par la mémoire elle-
5
10
15
20
25
30
35
40
45
50
55
60
65
640 645
38
même ou par un dépassement de temps imparti quelconque sur la ligne à l'entrée CD de la bascule 268 qui est toujours à l'état 1. Sur la fig. 14H, on voit que le signal 26806 est appliqué à l'entrée d'une porte OU 274. Le signal de sortie 27411, à l'état 0, met la bascule D 449 à l'état 1. Le signal de sortie 44909 est appliqué à l'entrée d'un dispositif transmetteur-récepteur 247 (fig. 14B), ce qui provoque la génération du signal 24901.
Le second procédé de génération d'une réponse négative est expliqué en référence à la fig. 14Y. Les signaux 36008 et 51707 sont appliqués aux entrées d'un dispositif à un coup de 3 (is 100. Le signal de sortie 10012 est appliqué à l'entrée d'horloge d'une bascule D 535. Si le signal 36008 qui est appliqué à l'entrée CD de la bascule est à l'état 1 à l'expiration des 3 us, la bascule 535 est mise à l'état 1. La fig. 14H montre que le signal 53508, à l'état 0, se trouve appliqué à l'autre entrée de la porte OU 274 et le signal de confirmation négative est alors engendré comme décrit plus haut. Le signal de confirmation négative 24814 reçu de l'unité ISL distante est appliqué à l'entrée du registre 413 dont la sortie 41307 est appliquée à une entrée de la porte NON-ET 544. Une autre entrée de celle-ci reçoit le signal 51505, ce qui occasionne la génération du signal mémoire inexistante 54408. Lorsqu'il est à l'état 0, ce signal indique que l'unité ISL distante a dépassé le temps qui lui est imparti. Le signal 54408 met à l'état 1 la bascule 869 (fig. 14T). Le signal de sortie 86905 est le signal d'état qui indique une erreur pour ressource inexistante. Le signal 54408 (fig. 14X) est appliqué à l'entrée d'une porte NI 824 dont la sortie 82406 est appliquée à l'entrée d'horloge de la bascule D 823. L'entrée CD de cette bascule reçoit le signal 82106. Celui-ci est engendré comme suit (voir fig. 14M). Le signal 10 de données 34301 est appliqué à l'entrée du registre 857. Ce signal est à l'état 1 pour une opération d'inhibition d'interruption. Le signal 85715 est appliqué à l'inverseur 856 dont la sortie 85606 est appliquée à l'entrée d'une porte NON-ET 821. Les signaux 1-5 de niveau 85702, 85705, 85707, 85710 et 85712 sont appliqués aux entrées de la porte NON-ET 858. Le signal 85806 est appliqué à l'entrée de la porte NON-ET 821. Le signal 82106 est commandé par les signaux 10-15 de données appliqués au registre 857. Si le signal 82106 est à l'état 1, indiquant ainsi que l'interruption n'est pas inhibée, la bascule 823 (fig. 14X) est à l'état 1. Le signal de sortie 82309 est appliqué à une porte NON-ET 607 et la sortie de celle-ci est appliquée à l'entrée S d'une bascule D 427 qui produit un cycle d'interruption dans l'unité ISL qui interrompt la ligne de communication sur laquelle a été trouvée la ressource inexistante.
L'unité ISL locale, elle aussi, a la faculté d'interrompre l'unité ISL distante. Se référant à la fig. 14AB, on voit que le signal mémoire inexistante 54408 se trouve appliqué à l'entrée du transmetteur 870. Le signal 87018 produit par celui-ci est placé sur la ligne d'intercommunication pour être envoyé à l'unité ISL distante où le signal 66137 est reçu dans le récepteur 916. Le signal de sortie 91616 est appliqué à l'entrée d'un inverseur 871. Le signal de sortie 87112 est appliqué à une entrée de la porte ET/NI 895 (fig. 14X). L'autre entrée de cette porte reçoit le signal 91415 qui se trouve à l'état 1 si l'instruction rythmeur sortie a été émise avec le bit 6 de données à l'état 1. Le signal 89508, à l'état 0, met la bascule 893 à l'état 1. Ce signal 89508 commande également la porte OU 824 pour qu'elle produise un signal de niveau 1 qui met la bascule 823 à l'état 1 comme décrit précédemment.
Dans ce qui précède a été décrit le fonctionnement par lequel une instruction d'écriture a été envoyée à une mémoire distante. Celle-ci a été supposée soit inexistante, soit non opérationnelle de sorte que l'intervalle de temps de 3 us s'est trouvé expiré. La fonction mémoire inexistante dans l'unité ISL distante a donné lieu à l'envoi d'une indication de mémoire inexistante à l'unité ISL distante. La bascule 823 (interruption à faire) dans l'unité ISL distante et la bascule 823 (interruption à faire) dans l'unité ISL locale ont été mises à l'état 1. Les signaux 10-15 de données ont été lus à l'état 1 par le processeur central afin de permettre l'interruption. Il est possible pour une unité ISL d'inhiber l'interruption et à l'autre unité ISL de permettre l'interruption.
Une seconde demi-réponse de lecture normale est le résultat d'une demande de lecture fructueuse, confirmé sur la ligne distante. Le cycle DCN, qui est engendré par la mémoire en réponse à la demande de lecture de mémoire, est d'abord envoyé à l'unité ISL contenant l'adresse ISL. L'adresse est placée sur la ligne d'intercommunication pendant le second demi-cycle de réponse de mémoire.
Sur la fig. 14J, on voit que les signaux 8-16 d'adresse de ligne appliqués aux portes OU-EXCLUSIF 302 à 310 sont comparés aux signaux 8-13 d'adresse ISL et, si les signaux comparés sont dans des états égaux, alors les portes 302 à 310 appliquent un état 1 aux entrées de la porte ET 439. Comme l'opération exécutée est une opération de lecture de mémoire, le signal 24512 est à l'état 1 et le signal de sortie 43909 se trouve appliqué à l'entrée CD de la bascule 440. Le signal de temps 36008 est appliqué à l'entrée d'horloge de cette bascule et celle-ci se trouve ainsi mise à l'état 1.
Se référant à la fig. 140, le signal 25914 et le signal 18 d'adresse 20006, à l'état 1, sont appliqués à l'entrée de la porte NON-ET 478. Le signal de sortie 47808, à l'état 1, indique que le second demi-cycle de ligne se produit en réponse à une demande de mémoire. Le signal de sortie 47808, à l'état 0, est appliqué à l'entrée de la porte NI 411, ce qui autorise le signal 2 de sélection d'écriture de fichier 41106. Le signal 1 de sélection d'écriture de fichier 40903 est à l'état 1 puisque le signal de blocage 24102 est à l'état 1. En conséquence, l'emplacement 3 des fichiers de données et d'adresse se trouve sélectionné.
Les signaux 40903,41106 et 44006 appliquent un état 1 aux entrées d'une porte ET 500 (fig. 14N). Le signal de sortie 50008 est appliqué à l'entrée d'une porte ET 496. Comme il ne s'agit pas d'une opération de double extraction, le signal 21104 qui se trouve appliqué à l'autre entrée de la porte ET 496 est à l'état 1. Le signal de sortie 49611 est appliqué à l'entrée CJ d'une bascule JK 492 (réponse mémoire à faire). Le signal de validation d'écriture 24405 est appliqué à l'entrée d'horloge qui établit la bascule 492 à l'état 1 lors de l'occurrence du front avant de l'impulsion.
Le signal de sortie 49206 est appliqué à l'entrée de la porte NI 351 (fig. 14V). Le signal de sortie 35106 est appliqué au registre 490. Le signal de sortie 49206 est également appliqué à l'entrée de la porte NI 645 dont la sortie 64508 est appliquée à l'entrée de la porte ET/NI 388. L'autre entrée de cette porte reçoit le signal transfert complet 92306, à l'état 1. Comme décrit précédemment, cela établit la bascule cycle local 464 à l'état 1 ainsi que la bascule cycle ISL 441. Le signal de sortie 49015 est appliqué à l'entrée d'une porte ET 493. Comme il ne s'agit pas d'une opération double cycle, le signal 35206 appliqué à l'autre entrée de la porte ET 493 est à l'état 1. Le signal de sortie 49303 est donc à l'état 1. Le but du cycle de réponse de mémoire est d'extraire des données de la mémoire par l'intermédiaire de l'unité ISL distante et de les envoyer à l'unité ISL locale afin de les présenter à la source qui a demandé les données sur la ligne de communication locale. En conséquence, la bascule 923 est mise à l'état 1 afin de charger les registres d'interface. Le signal 49309 est appliqué à l'entrée d'un inverseur 867 dont la sortie 86712 est connectée à l'entrée de la porte NI 763. Le signal de sortie 76308 est appliqué à l'entrée CJ de la bascule 923 et celle-ci se trouve mise à l'état 1 lors de la retombée du signal 76108. Comme décrit plus haut, les registres d'interface sont chargés et les données transférées à l'unité ISL locale par l'intermédiaire de la ligne de communication interne. On notera que les informations d'adresse sont sans importance à ce moment car elles seront remplacées dans l'unité ISL locale par l'adresse de la source.
La fig. 14T montre que le signal 80101 est à l'état 0 puisque l'opération en cours n'est pas une opération de commande d'interruption d'entrée, ni une opération de cycle d'interruption. Les signaux 78111 et 78208 sont à l'état 0 puisqu'il ne s'agit pas d'une opération d'état d'entrée, ni d'une opération données d'entrée. Par conséquent, les entrées 0 des multiplexeurs 783 à 798 se trouvent sélectionnées.
Les informations de données sont emmagasinées dans les registres 367 et 368 (fig. 140). L'information de commande est emmagasinée dans le registre 391 dont les sorties sont toujours validées. La s
10
15
20
25
30
35
40
45
50
55
60
65
39
640 645
sortie de la porte ET 369 est à l'état 0 car il s'agit d'une opération cycle local et non d'une opération mise à 0 du maître. Les signaux 47005 et 46406 sont à l'état 0. Les signaux de sortie des registres 367 et 368 sont alors appliqués aux portes OU câblées 332 à 348 de la fig. 14F. Les sorties de ces portes réfléchissent alors les données emmagasinées dans les fichiers 364-366, 177, 647 et 389 (fig. 140). Par suite, les données acheminées par les multiplexeurs 783 à 798 de la fig. 14T se trouvent emmagasinées dans les registres 849, 851, 853 et 855 de la fig. 14AA. Les signaux de sortie des dispositifs transmetteurs 848, 850 et 852 se trouvent réfléchis sur les récepteurs dans l'unité ISL locale. Le signal de pointage provenant de l'unité ISL distante provoque dans ce cas la génération dans l'unité ISL locale d'un cycle de réponse de mémoire distant.
Le signal 86712 est appliqué à l'entrée du registre 813 (fig. 14U). Lorsque le signal 92305 est à l'état 1, le signal de sortie 81310 est placé sur la ligne d'intercommunication et transmis à l'unité ISL locale comme signal 81403 (fig. 14AB). Le signal est reçu dans l'unité ISL locale comme signal 66219 et se trouve ensuite réfléchi à la sortie du dispositif transmetteur 815 comme signal 81505. Ce dernier signal est appliqué à l'entrée de la porte NI 269 (fig. 14V). Le signal de sortie 26912 indique un cycle distant dans l'unité ISL locale par la mise à 0 de la bascule 441 et de la bascule 572.
Les signaux 81505 et 57206 appliquent des états 0 aux entrées de la porte NON-ET 499 de la fig. 14N. Le signal de sortie 49901 applique un état 1 à la sortie de la porte OU 495 dont la sortie 49511 est appliquée à l'entrée d'un inverseur 494. La sortie de celui-ci est à l'état 0.
Le signal 49404 produit à la sortie de l'inverseur 494 remet à 0 le rythmeur de mémoire 611 (fig. 14X), un des rythmeurs 133 de la fig. 8. Comme le signal 49404 est appliqué à l'entrée CD d'une bascule D 502, le signal 50509 reste à l'état 0 et le signal 50508 reste à l'état 1. Le signal 49404 est appliqué à l'entrée de la porte NI 378 de la fig. 14G. Le signal de sortie 37808 est appliqué à une entrée de la porte ET/NI 278 (fig. I4D). Lorsque le signal 76208 est à l'état 1 (au temps 100 du cycle), le signal d'horloge 27808 est à l'état 0 et le signal d'horloge 27908 est à l'état 1.
Comme décrit plus haut à propos d'un cycle ISL distant en référence à la fig. 14T, les signaux de sélection 78111 et 78208 sont tous deux à l'état 0, sélectionnant ainsi les entrées 0 des multiplexeurs 783 à 798. Les sorties de données de ces multiplexeurs apparaissent sur la fig. 14G comme signaux d'entrée des registres 525 à 528. Le signal d'horloge 27808 est appliqué aux registres 525 à 528, chargeant ainsi les données dans les registres. Le signal 27908 met également la bascule 271 à l'état 1, empêchant de la sorte tout nouveau transfert provenant de l'unité ISL distante de produire un cycle ISL dans l'unité locale afin d'avoir accès à la ligne de communication locale.
L'adresse de la source qui a demandé les données est emmagasinée dans les mémoires à accès sélectif de fichier de données 364-366, 177, 389 et 647 (fig. 140). Dans ce cas, c'est l'emplacement 2 qui est lu. Comme il s'agit d'un cycle de réponse de mémoire distante, les signaux 49014 et 90704 à l'entrée de la porte NON-ET 402 sont à l'état 1, et le signal de sortie 40211 (signal de sélection de lecture de sortie) est à l'état 0. Le signal 49404 est à l'état 0 à l'entrée de la porte NON-ET 403 et le signal de sortie 40312 (signal 2 de sélection de lecture de sortie) est à l'état 1. L'adresse de la source a originellement été inscrite dans l'emplacement 2 pendant le premier demi-cycle de demande de mémoire. Pendant le second demi-cycle, l'adresse de la source est extraite des mémoires 364-366, 389 et 647 et placée sur la ligne d'adresse à travers les registres 367, 368 et 391 (fig. 140), les multiplexeurs 157 à 160 et les registres 507 à 509 (fig. 14E) comme décrit plus haut pour un cycle distant.
La bascule cycle de demande de mémoire complet 487 a été mise à l'état 1 durant le premier demi-cycle de demande de mémoire de manière à empêcher toute nouvelle donnée de ligne d'être inscrite dans l'emplacement de mémoire. La bascule 487 (fig. 14N) est remise à 0 puisque les signaux 76208, 49511 et 39006, qui sont à l'état 1,
sont appliqués à l'entrée de la porte ET/NI 488. Le signal de sortie 48808 applique un état 0 à l'entrée de la porte OU 283 dont la sortie
28306 remet la bascule 487 à 0. Le signal 39006 est à l'état 1 puisqu'il ne s'agit pas d'un cycle de mémoire double. Un cycle de ligne est alors engendré, qui envoie les données à la source demanderesse et met fin au cycle de lecture. La remise à 0 de la bascule 487 permet d'exécuter un nouveau cycle de demande de mémoire.
Si le premier demi-cycle de lecture donne lieu à une réponse de confirmation négative, la bascule monostable locale de 6 us 611 établit à l'état 1 la bascule de dépassement de temps imparti 502. Comme le premier demi-cycle a déjà été demandé et comme le demandeur attend une seconde demi-réponse, un second demi-cycle se trouve engendré, mais avec les indicateurs de parité incorrecte et de lecture de mémoire incorrigible à l'état 1. Cela indique au dispositif demandeur qu'il ne doit pas utiliser les données reçues durant le second demi-cycle et, dans certains cas, de faire une nouvelle tentative^
Lorsque la bascule 502 se trouve mise à l'état 1, il se passe un certain nombre de choses. Les signaux 50209 et 43705 sont appliqués à l'entrée d'une porte ET 501. Comme l'unité ISL concernée est libre, le signal 43705 est à l'état 1. Le signal de sortie 50108 est appliqué à l'entrée d'horloge d'une bascule D 505 et cette bascule se trouve mise à l'état 1. Le signal de sortie 50509, comme décrit plus haut, est le bit d'état qui indique un dépassement du temps imparti à la mémoire. Les signaux 50209 et 50509 sont appliqués à l'état 1 aux entrées de la porte NON-ET 503 dont la sortie 50306 est appliquée à l'entrée de la porte OU 620. Par suite, le signal générateur de temps imparti 62008 se trouve à l'état 0. Le signal 50306 est inversé par le dispositif 504 dont la sortie 50408 est appliquée à l'entrée de la porte OU 495 (fig. 14N). Le signal de sortie 59511 engendre un cycle ISL local. Ce cycle est une seconde demi-réponse de mémoire distante.
Sur la fig. 14V, on voit que le signal 62008 est appliqué à l'entrée d'une porte ET 799. Cela empêche la bascule récepteur plein de mettre le signal 79911 à l'état 1 de manière à empêcher la validation du récepteur 815 de la fig. 14AB. L'initiation de cycles ISL distants se trouve ainsi empêchée. Le signal 62008 est appliqué à l'état 0 à une porte OU 412 dont la sortie 41206 est connectée à l'entrée de la porte NI 176. Le signal de sortie 17612 lance la séquence qui met à l'état 1 la bascule cycle local 464 et la bascule cycle ISL 441. Le signal 41206 appliqué à la porte NI 608 met le. signal de sortie 10808 à l'état 1, ce qui porte à l'état 1 l'entrée de la bascule 464. Cela assure que la bascule 464 se trouve mise à l'état 1, de façon à empêcher la bascule 572 de se trouver mise à l'état 1.
Le signal 46405 est appliqué à l'entrée d'horloge du registre 490. Toutefois, le signal 41206 se trouve appliqué à l'état 1 à l'entrée de la porte OU 287. Le signal de sortie 28708 remet le registre 490 à 0, prenant ainsi la priorité sur le signal d'horloge 46405. En conséquence, aucune des fonctions cycle local n'est valable.
Même si une réponse de confirmation négative avait été reçue de la mémoire, il serait toujours nécessaire de répondre à la source. Toutefois, afin d'indiquer à la source que les données reçues par la source ne sont pas valables, l'unité ISL engendre un état de parité incorrecte.
Se référant à la fig. 14G, on voit que le signal 62008 est appliqué à l'entrée d'un inverseur 621. Le signal de sortie 62112 applique un état 1 à l'entrée de la porte OU 349. Le signal erreur de parité de données 34911 applique un état 1 à l'entrée d'un registre 523. Lorsque le signal d'horloge 27908 passe à l'état 1, le signal 52302 se trouve appliqué aux entrées des générateurs de parité 521 et 522, engendrant ainsi un signal de parité paire. Le signal de sortie 34911 est appliqué à l'entrée d'une porte OU 392 dont la sortie est connectée à l'entrée du registre 523. Le signal de sortie 52309 est appliqué au transmetteur 254 de la fig. 14B qui le transmet ensuite sur la ligne de communication comme signal 10338 qui indique une erreur incorrigible. Le signal 49404 appliqué à l'entrée de la porte NI 378 engendre le signal validation de second demi-cycle de ligne 37806 qui se trouve appliqué à l'entrée de la porte ET/NI 278. Celle-ci reçoit également le signal 76208 qui engendre le signal d'horloge 27808 destiné à introduire les données et l'adresse dans les registres de ligne de communication comme au cours du cycle de réponse de mémoire
5
10
15
20
25
30
35
40
45
50
55
60
65
640 645
40
distante normal, qui donne lieu à une demande de ligne de communication.
Le trajet de demande de relance d'opération est utilisé pour la lecture de mémoire de demande entrée/sortie avec essai et verrouillage, interruption et une fonction unique de chargement entrée/sortie. La réception d'une instruction de demande de relance d'opération à partir de la ligne de communication locale peut amener l'unité ISL à engendrer jusqu'à quatre cycles. Le cycle initial est le cycle de demande de relance local qui transfère l'information de l'unité ISL locale à l'unité ISL distante. Le cycle de demande de relance distante engendre ensuite un cycle de ligne d'intercommunication distant. Dans le cas d'une instruction de sortie ou d'une interruption, cela achève l'exécution d'une instruction. Comme le trajet de relance est utilisé pour les instructions qui requièrent une réponse réelle de la ligne de communication distante, l'unité ISL locale répond pour le compte de la ligne d'intercommunication distante par un signal d'attente de ligne 26201 (fig. 14B). Ensuite la réponse réelle est obtenue de la ligne distante et envoyée à l'unité ISL locale d'où elle est envoyée à la source demanderesse pendant un cycle de comparaison. Dans le cas d'une instruction de lecture, une fois que le premier de-mi-cycle de demande se trouve engendré sur la ligne de communication distante, l'unité ISL locale attend le second demi-cycle de réponse distante comme pour une demande de lecture de mémoire.
Comme cela a été décrit pour le cycle de demande de mémoire, les mémoires à accès sélectif sont adressées pendant le temps DCN qui a lancé le cycle de demande de réponse distante. Si cette instruction est une instruction de lecture de mémoire, une instruction d'essai et verrouillage ou une instruction de chargement entrée/sortie, elle requiert la traduction des données extraites des mémoires 706 à 715, qui doivent être chargées dans les registres 718 et 719. Ces registres sont synchronisés avec le signal 73806 obtenu à la sortie de l'inverseur 738. Le signal d'entrée 28106 est engendré à la sortie de la porte ET/NI 281 (fig. 141). Les entrées sont les signaux 53910 et 58405. En conséquence, l'impulsion d'horloge est engendrée pendant le mode transfert de données lorsque la bascule demande de relance complète 584 (fig. 14N) est à l'état 1. Cela pointe les données à l'entrée des registres 718 et 719.
Le trajet de données est décrit ci-après en référence à la fig. 14R. Les entrées 1 des multiplexeurs 474 et 475 sont sélectionnées puisque le signal de référence de mémoire 24414 est à l'état 0 à l'entrée de la porte NON-ET 481. Comme il s'agit d'un mode transfert de données, le signal 53911 est à l'état 0 et en conséquence c'est l'entrée 0 des multiplexeurs 472 et 473 qui sont sélectionnées. Se trouvent ainsi sélectionnés les bits de données de plus fort poids 0 et 1 et les bits d'adresse de plus fort poids 0 à 7. Les multiplexeurs 472 à 475 produisent des signaux qui sont appliqués aux entrées d'adresse des mémoires 863 et 706 à 715 de la fig. 14S.
Les signaux d'adresse de masque de canal sont sélectionnés par les multiplexeurs 313, 314 et 315. Les entrées 0 de ces multiplexeurs sont sélectionnées. Les signaux 8 à 17 d'adresse de ligne sont appliqués à la borne 0. La mémoire 276 est adressée avec ces signaux et le signal bit de masque de canal 27607 est appliqué à l'état 1 à l'entrée d'une porte ET 546. Comme il ne s'agit pas d'une fonction mode essai, le signal 62203 est à l'état 1. Le signal opérationnel 53910 et le signal 48112 sont appliqués aux entrées d'une porte ET 550. Comme il s'agit d'une fonction opérationnelle, les deux signaux 53910 et 48112 sont à l'état 1 et le signal de sortie 55011 se trouve également à l'état 1. Le signal de sortie 54608 est appliqué à l'état 1 à l'entrée de la porte OU 317 (fig. 14N). Le signal de sortie 31704 est appliqué à l'état 0 à la porte NI 566, ce qui porte le signal de sortie 56608 à l'état 1.
Comme décrit précédemment, les signaux de sélection de fichier 40802 et 41008 sont appliqués à l'état 1 à l'entrée de la porte ET 585. Le signal 56608 est également appliqué à l'état 1 à l'entrée de la porte 585. La bascule 581 se trouve ainsi mise à l'état 1 lors de la montée du signal de validation d'écriture 64405.
Les signaux de sélection d'écriture de fichier 41106 et 40903 (fig. 140) sont à l'état 0 puisqu'il ne s'agit pas d'un second demi-
cycle de ligne, ni d'un cycle de référence de mémoire. Les signaux 25914 et 24414 sont à l'état 0. Les signaux 56506 et 47808 sont également à l'état 0. Par conséquent, l'emplacement 0 des fichiers de données et d'adresse, 92 et 103 sur la fig. 8, se trouve sélectionné et lorsque le signal de validation d'écriture 64408 se trouve appliqué, l'information présente sur la ligne de communication locale se trouve inscrite dans les mémoires à accès sélectif.
La bascule 584 est mise à l'état 1 par le signal 35602,135 ns après le début du cycle de ligne de communication. Le signal 58405 est appliqué à l'entrée d'horloge d'une bascule D 615 (fig. 14Y). Le signal 41811 est appliqué à l'entrée CD de la bascule 615 qui se trouve mise à l'état 1 lors de la montée du signal d'horloge 58405. Le signal de sortie 61505 est appliqué à une entrée de la porte ET 614. Le signal de validation de rythmeur 91410 est à l'état 1 puisqu'il n'avait pas été mis à l'état 1 avec le bit 7 de données pendant l'instruction de rythmeur de sortie. Le signal rythmeur de ligne 26102 produit 60 impulsions de cycle. Le signal de sortie 61412 est appliqué à l'entrée de validation G2 et à l'entrée +1 d'un compteur 619 qui compte 60 impulsions de cycle. Cela a été décrit précédemment. Ce compteur est utilisé pour détecter l'apparition d'un mauvais fonctionnement dans l'unité ISL distante. Si ce décodeur n'était pas utilisé, la ligne de communication locale resterait en mode d'attente.
Comme on l'a décrit plus haut, le signal 58109 engendre un cycle de demande de réponse distante qui prend le contenu des lignes de données et d'adresse et au moment où le transfert est complet, le signal transfert complet 92305 pointe les données et les informations d'adresse dans les transmetteurs de l'unité ISL locale. Les données sont ensuite acheminées vers les multiplexeurs 783 à 798 de la fig. 14T comme il a été décrit.
Le cheminement de base de l'information est décrit d'abord dans ce qui suit, ensuite seront décrites les différences par rapport à ce cheminement de base pour les opérations de lecture de mémoire et de chargement entrée/sortie.
Se référant à la fig. 14U, le signal cycle de demande de relance local 90002 se trouve appliqué au registre 813. Le signal de sortie 81307 est transmis comme décrit plus haut à l'unité ISL distante. Dans celle-ci, le signal 81606 se trouve appliqué à l'entrée de la porte ET/NI 578 (fig. 14V). Les signaux 57410 et 27108 sont appliqués à la porte 578 et sont à ce moment à l'état 1. Le signal de sortie 57808 est donc à l'état 0. La ligne de retard 374 est mise en fonctionnement et les signaux d'horloge se trouvent engendrés. La porte ET/NI 278 (fig. 14B) reçoit le signal fonction distante 57410, le signal cycle 100 76208, le signal opérationnel 53910 et le signal cycle de demande de relance distant 90201 sont à l'état 1 pour le cycle distant, ce qui génère les signaux 27808 et 27908. Ces signaux démarrent la synchronisation du cycle de ligne de communication distante et, comme décrit plus haut, pendant ce cycle, l'unité ISL distante adresse le dispositif désigné sur la ligne d'adresse.
La porte ET 447 (fig. 14H) reçoit les signaux 42103, 58506 et 31808, tous à l'état l. Le signal de sortie 44706 est appliqué à l'entrée de la porte OU 629 dont la sortie est connectée à l'entrée du registre 631. Le signal de sortie 63102 se trouve appliqué à l'entrée d'un inverseur 630 dont la sortie 63006 est connectée à l'entrée d'établissement de la bascule 452 de manière à mettre cette bascule à l'état 1. Le signal 45309 est appliqué au dispositif transmetteur-récepteur 263 et place le signal 26201 sur la ligne de communication locale. L'unité ISL locale poursuit la génération d'une réponse d'attente de cette manière jusqu'à ce que soit engendré un cycle de comparaison.
Le signal de confirmation 17803 reçu de la ligne de communication distante, le signal de confirmation négative 24814 ou un signal d'attente 26303 se trouvent chargés dans le registre 413 (fig. 141). Les signaux de sortie 41303 et 41306 sont appliqués à une porte OU 415 dont la sortie est connectée à l'entrée d'une porte ET/NI 570. Pendant la durée du signal 51515 qui a été emmagasiné dans le registre 515, lorsque la demande a été placée sur la ligne de communication distante, il se trouve à l'état 1. Le signal de sortie 57008 est appliqué à l'entrée d'une porte OU 270, de manière que se trouve en5
10
15
20
25
30
35
40
45
50
55
60
65
41
640 645
gendré un signal 27006 qui met à l'état 0 la bascule ligne pleine 271 (fig. 14G).
Le signal réponse distante 57008 est appliqué à l'entrée du dispositif transmetteur 894 de la fig. 14AB. Le signal de sortie 89409 est appliqué au jeu de résistances 658 de la fig. 14AC. Le signal 65802 est appliqué au connecteur 663 afin d'être transmis sur la ligne d'intercommunication. Le signal 66237 est reçu dans l'unité ISL locale à l'entrée du dispositif transmetteur 733 (fig. 14AB). Le signal de sortie 73305 est appliqué à l'entrée d'horloge du registre 768 de la fig. 14P qui emmagasine les signaux 73614 et 736Î6 qui ont été engendrés sur la ligne de communication distante.
Les signaux 73614 et 73616 sont appliqués aux entrées d'une porte NON-ET 579. Le signal de sortie 57913 est appliqué au registre 568. Si ni une réponse de confirmation, ni une réponse de confirmation négative n'a été reçue, alors c'est la réponse d'attente qui se trouve emmagasinée dans le registre 568.
On se réfère maintenant à la fig. 141. Pendant le cycle de ligne de communication distante, le registre 577 reçoit le signal de confirmation distante, le registre 577 reçoit le signal de confirmation 17803 et le signal de confirmation négative 24814. Le registre 413 emmagasine également le signal 17803 et le signal 24814. La sortie du registre 577, c'est-à-dire les signaux 57710 et 57707, sont appliqués à l'entrée d'un dispositif transmetteur 913 (fig. 14AB). Celui-ci transmet les signaux 91312 et 91314 à l'unité ISL locale où ils sont appliqués aux entrées d'un dispositif transmetteur 736 comme signaux 66241 et 66242. Les signaux de sortie 73614 et 73616 sont appliqués aux entrées de la porte NI 579 (fig. 14P). Si ces deux signaux sont à l'état 0, le signal de sortie 57913 est à l'état 1 qui est la réponse attente régénérée. Les trois signaux de réponse distante 57913, 73614 et 73616 sont emmagasinés dans le registre 568 lorsque le signal réponse distante 73305 est reçu et passe à l'état 1 à l'entrée C du registre 568. Le signal de réponse doit être envoyé à la source demanderesse sur la ligne de communication locale et c'est pourquoi un cycle de comparaison se trouve engendré, utilisant le comparateur de ligne 93 de la fig. 8. Le signal d'échantillonnage distant 89610, le signal 55604 et le signal récepteur plein 87407 se trouvent appliqués aux entrées d'une porte ET 543. Comme les trois signaux sont à l'état 1 à ce moment, le signal de sortie 54312 est à l'état 1, indiquant ainsi qu'il n'y a aucun cycle en cours dans l'unité ISL locale.
Le signal de sortie 54312 est appliqué à l'entrée d'une porte ET 311 qui reçoit également le signal pas de cycle 54312, le signal essai distant 53914 et le signal validation comparaison 30108, tous ces signaux étant à l'état 1. Comme le signal réponse distante valable 56803 appliqué à l'entrée d'une porte NI 301 est à l'état 0, le signal 30108 est à l'état 1. Le signal 31106 est appliqué à l'entrée d'horloge d'une bascule D 297 qui se trouve ainsi mise à l'état 1. Le signal de sortie 29709 est appliqué à l'entrée d'une porte ET 299. Les signaux 41008,40802 et 43705 sont tous à l'état 1 également aux entrées de la porte ET 299. Les signaux 41008 et 40802, à l'état 1, indiquent que l'emplacement demande de relance dans le fichier de données se trouve sélectionné. Le signal de sortie 29908 est appliqué à l'entrée CD d'une bascule D 318 qui se trouve ainsi mise à l'état 1 60 ns après le démarrage dù cycle DCN par le signal 36008 et 60 ns après la mise à l'état 1 de la bascule 437.
Pendant le cycle de comparaison, l'unité ISL locale lit l'information emmagasinée dans les fichiers de données et d'adresse (fig. 140) et elle compare cette information dans les comparateurs 380 à 398 de la fig. 14P, qui constitue le comparateur de ligne 93 de la fig. 8, avec l'information reçue de la ligne d'intercommunication. Les signaux 0-23 d'adresse de ligne sont appliqués à l'entrée B des comparateurs 384 à 386 et les signaux 0-23 d'adresse sont appliqués à l'entrée A de ces comparateurs. Les signaux 0-15 de données sont appliqués aux entrées B et les signaux 0-15 sont appliqués aux entrées A.
Les signaux de sortie 38009, 38109, 38209,38309, 38409,38509 et 38609 sont appliqués à l'entrée de la porte OU câblée 379 qui est terminée dans une résistance 115 de 330 ß, cette résistance étant d'autre part connectée au potentiel + 5 V. Si l'information reçue de la ligne d'intercommunication est la même que celle qui se trouve emmagasinée dans les fichiers de l'unité ISL, le signal de sortie 37901 est à l'état 1. Si les deux informations ne sont pas les mêmes, le signal 37901 est à l'état 0, indiquant par là que cette information ne provient pas de la source qui a lancé le cycle originel ou que cette information provient d'un cycle différent de celui qui a été originellement lancé.
Les signaux 37901 et 31808 appliquent des états 1 aux entrées d'une porte ET 273. Le signal de sortie 27308 est appliqué à un inverseur 272 dont la sortie 27204 applique un état 0 à l'entrée d'une porte ET 542. Si les deux signaux d'entrée sont égaux, le signal de sortie 54212 est à l'état 0.
Sur la fig. 14H, on voit que le signal de comparaison, à l'état 1, est appliqué à l'entrée d'une porte ET 170. Celle-ci reçoit également les signaux 56807 et 59906 qui sont à l'état 1. Le signal de sortie 17012 est appliqué au registre 631 et emmagasiné dans celui-ci au moment d'occurrence du signal 35809 (135 ns). Le signal de sortie 63112 est appliqué à l'entrée d'une porte NI 130 dont la sortie, à l'état 0, établit la bascule 433 à l'état 1. Celle-ci engendre un signal de confirmation ACK comme décrit précédemment.
Dans le cas d'une confirmation négative NAK, le signal 56815 est à l'état 1 à l'entrée de la porte NON-ET 171, ainsi que les signaux 17208 et 27308. Le signal desortie 17112 est alors à l'état 0 à l'entrée de la porte OU 526 et le signal 53806 est à l'état 1 à l'entrée du registre 631. La sortie 63105 est appliquée à l'entrée d'horloge d'une bascule D 449 qui se trouve mise à l'état 1. Le signal 44909 est envoyé sur la ligne de communication comme décrit précédemment. Dans le cas où l'unité ISL a emmagasiné une réponse attente, le signal 56810 se trouve appliqué à l'entrée d'une porte ET/NI 174 qui reçoit également les signaux 27308 et 59906 qui sont à ce moment à l'état 1. Le signal de sortie 17408 est appliqué à l'entrée d'un inverseur 175 dont la sortie 17506 se trouve appliquée à l'entrée du registre 631. La sortie 63109 du registre est connectée à l'entrée d'horloge de la bascule 453 et celle-ci se trouve ainsi mise à l'état 1. Un signal d'attente se trouve ainsi placé sur la ligne de communication.
Si les signaux comparés ne sont pas égaux et que le signal 37901 (fig. 14P) est à l'état 0, le signal 27308 se trouve à l'état 0 et le signal 27204 se trouve à l'état 1, ce qui a pour effet de porter le signal 54212 à l'état 1.
A l'entrée de la porte ET/NI 174 (fig. 14H), les signaux 54212, 53903 et 31910 sont à ce moment à l'état 1. En conséquence, le signal de sortie 17408 se trouve à l'état 0. Cela a pour effet de mettre la bascule 453 à l'état 1 comme décrit précédemment et le signal d'attente se trouve placé sur la ligne de communication.
Si l'opération est une opération de relance suite à une réponse de confirmation négative ou une opération d'interruption d'adresse de processeur central, les signaux 53902 et 32008 se trouvent à l'état 1 à l'entrée d'une porte ET/NI 541. Comme le signal 54212 applique un état 1 à une autre entrée de cette porte 541, le signal de sortie 54106 se trouve à l'état 1 à l'entrée de la porte NI 538. La sortie de celle-ci est appliquée à l'entrée du registre 631. Le signal de sortie 63105 met la bascule 449 à l'état 1, appliquant ainsi un signal d'indication sur la ligne de communication.
La fin du cycle de demande de relance local pour une instruction d'écriture se déroule de la manière suivante. Dans le cas d'une réponse de confirmation ACK provenant de l'unité distante, le signal 56807 (fig. 14H) se trouve à l'état 1. Comme décrit plus haut, ce signal porte le signal 17012 à l'état 1, ce qui provoque l'envoi du signal de confirmation à la source demanderesse sur la ligne d'intercommunication. Le signal 17012 est à l'état 1 ainsi que le signal d'écriture 36609 (fig. 14N). La porte ET/OU 286 a son signal de sortie 28608 à l'état 0 et la sortie 29308 de la porte OU 293 se trouve dès lors également à l'état 0. La bascule JK 584 se trouve remise à 0, interrompant le circuit de demande de relance pour desservir une autre instruction.
Dans le cas d'une réponse de confirmation pour une instruction de lecture, le signal 17012 se trouve appliqué à une entrée de la porte
5
10
15
20
25
30
35
40
45
50
55
60
65
640 645
42
ET 732 qui reçoit également le signal d'écriture de fichier 80504 (fig. 14AB). Le signal de sortie 73203 est envoyé à l'unité ISL distante. Le signal 73309 reçu dans l'unité distante (fig. 14N) met la bascule 593 à l'état 1, ce qui permet l'envoi à l'unité locale du second demi-cycle.
L'opération prend également fin pendant une instruction de lecture ou d'écriture par l'apparition d'une réponse de confirmation négative NAK. Dans ce cas, le signal de sortie 17112 (fig. 14H) se trouve à l'état 0 à l'entrée de la porte OU 536. Le signal de sortie 53603 se trouve appliqué à l'entrée de la porte OU 293 (fig. 14N), ce qui a pour effet de remettre la bascule 584 à 0 comme décrit plus haut.
Pendant le cycle de comparaison, le signal d'attente 17508 se trouve appliqué à l'entrée du registre 631 (fig. 14H). Le signal de sortie 63109 est appliqué à l'entrée d'horloge d'une bascule D 632 (fig. 14N). Le signal de sortie 63209 est appliqué à l'autre entrée de la porte NON-ET 559. Le signal de sortie 55906 met la bascule 581 à l'état 1, de sorte que se trouve lancé un autre cycle de demande de relance comme décrit plus haut.
Le cycle de demande de relance d'opération est répété jusqu'à ce qu'une réponse de confirmation ou de confirmation négative soit envoyée à la source.
L'effet de l'émission d'une réponse d'attente est de relancer l'instruction pour maintenir la bascule 584 (fig. 14N) à l'état 1 à ce moment. Se reportant à la fig. 14Y, on voit que le signal 58406 est à l'état 0, ce qui valide le compteur 619 qui fait partie de l'unité de rythmeur et de logique d'état 133 de la fig. 8. Le signal 61412 applique des impulsions de 60 Hz aux entrées +1 et G2 du compteur. Si la réponse attente subsiste pendant plus de 120 ms, alors le signal 61907 se trouve porté à l'état 1, ce qui a pour effet de mettre la bascule 599 à l'état 1. Le signal 61608 est à l'état 1 puisque le signal de confirmation n'a pas été reçu. Le signal 59906 (fig. 14H) se trouve à l'état 0 à l'entrée de la porte ET 170. La sortie de celle-ci est donc à l'état 0, ce qui inhibe la réponse de confirmation.
D'une manière similaire, le signal 59906 se trouve appliqué à l'entrée d'une porte OU 172. Le signal de sortie 17208 est à l'état 0 à l'entrée de la porte NON-ET 171. Le signal de sortie 17112, à l'état 1, inhibe le signal de confirmation négative. Le signal 59906 à l'entrée de la porte ET/OU 174 inhibe une réponse d'attente et, par conséquent, il n'y a pas de réponse du tout. Cela provoque un dépassement du temps imparti au cycle de ligne dans l'unité ISL locale et le processeur central local se trouve informé qu'il n'y a aucune ressource pour le numéro de canal. Même si l'unité ISL est configurée pour cette adresse, la décision de dépassement du temps imparti est prise et le logiciel a alors à investiguer pourquoi le dispositif est non opérationnel à ce moment ou pourquoi l'unité ISL a été initialement configurée de manière incorrecte pour engendrer une telle erreur ayant donné lieu à une réponse négative pour le cycle de demande de relance. Sur la fig. 14G, on voit que le signal 39310 était à l'état 1 comme s'il s'agissait d'une demande de lecture. Le signal de sortie 52408 était à l'état 0, sélectionnant ainsi les entrées d'adresse des registres 525 à 528. Egalement, le signal 10 de données 51303 était à l'état 0 puisqu'il n'y avait pas de cycle d'interruption ou de cycle de demande de lecture de mémoire. Le signal 51303 est reçu comme bit 18 d'adresse à l'état 0 lorsque le cycle de réponse est reçu du dispositif extérieur. Cela porte le signal 47808 à la sortie de la porte 478 (fig. 140) à l'état 1.
Lorsque le second demi-cycle de ligne est reçu, le signal 25914 se trouve à l'état 1. Le blocage de ligne n'est pas établi et par conséquent le signal 24102 est à l'état 1, ainsi que le signal 1 de sélection d'écriture de fichier 40903. Les signaux 47603, 56506 et 47808 sont à l'état 1, de sorte que le signal 2 de sélection d'écriture de fichier 41106 se trouve à l'état 0. En conséquence, l'information est inscrite dans l'emplacement 1, qui est l'emplacement de réponse de relance des fichiers d'adresse et de données de la fig. 140, qui correspondent aux registres de fichier 92 et 103 de la fig. 8.
Sur la fig. 14N, on voit que les signaux 41008,40903 et 44006 appliquent des états 1 aux entrées de la porte ET 598. Le signal de sortie 59808 est appliqué à l'état 1 à l'entrée CJ d'une bascule JK 595. Le signal validation de ligne d'écriture 64405 est appliqué à l'entrée d'horloge de cette bascule, de sorte que celle-ci se trouve mise à l'état 1. Lorsque l'unité ISL locale renvoie un signal de confirmation ACK à l'unité ISL distante, la bascule 593 se trouve mise à l'état 1 puisque le signal d'horloge 73309 est porté à l'état 1 comme décrit plus haut. Les signaux 59509 et 59305 sont appliqués à une porte NON-ET 587 dont la sortie 58703 est appliquée à un inverseur 588.
On se reporte maintenant à la fig. 14V qui illustre le générateur de cycle 146 de la fig. 8. Le signal 58703 est appliqué à l'entrée de la porte NI 645 dont la sortie 64508 se trouve appliquée à une entrée de la porte ET/NI 388. L'autre entrée de cette porte reçoit le signal 92306 à l'état 1. Le signal de sortie 38808, à l'état 0, engendre le cycle local et le cycle ISL en mettant à l'état 1 les bascules 464 et 441 comme décrit plus haut. Le signal 58810 est pointé à l'entrée du registre 490 dont la sortie 49007 est appliquée à une entrée de la porte ET 590, ce qui a pour effet d'engendrer le signal de cycle de réponse de relance local 59012. A ce moment, le cycle ISL engendre les signaux de temps qui apparaissent à la sortie de la ligne de retard 374 comme décrit précédemment. Le trajet de données est identique à celui qui se trouve établi pour le cycle de réponse de mémoire. Comme dans n'importe quel cycle distant, les données sont envoyées à l'unité ISL locale lorsque la bascule transfert complet 923 de la fig. 14U se trouve à l'état 1. Le signal 59012 est appliqué à l'entrée de la porte NI 909 dont la sortie 90910 se trouve appliquée à l'entrée du registre 813. La sortie 81315 est le signal généré réponse de relance d'opération qui se trouve transmis à l'unité ISL locale. Le signal 66221 est reçu par le dispositif 815 de la fig. 14AB. Le signal de sortie 81503 lance le cycle distant dans l'unité ISL locale comme décrit précédemment, le trajet de données est identique à celui qui se trouve établi pour le cycle de réponse de mémoire distante comme cela a été décrit plus haut.
Dans l'unité ISL locale, la bascule 584 se trouve remise à 0 de la manière suivante (voir fig. 14N). Les signaux 59211 et 76208 sont appliqués aux entrées de la porte ET/OU 286. La sortie de celle-ci est appliquée à l'état 0 à une entrée de la porte OU 293. Le signal de sortie 29308 remet la bascule 584 à 0.
Dans l'unité ISL distante, le cycle de réponse de relance local est exécuté à ce moment. La bascule 595 et la bascule 593 se trouvent remises à 0 (fig. 14N). Les signaux 59012 et 32712 sont appliqués aux entrées d'une porte NON-ET 596 dont la sortie 59603 applique un état 0 à l'entrée d'une porte OU 294. Le signal de sortie 29411 remet les bascules 593 et 595 à 0.
Pour une instruction de lecture, la bascule 616 (fig. 14Y) dans l'unité ISL locale se trouve à l'état 1 puisqu'un signal de confirmation ACK est reçu, ce qui porte le signal 56807 à l'état 1. Le signal 27308 est également à l'état 1 après un cycle de comparaison ayant révélé une identité. Le signal 61608 applique un état 0 à l'entrée CD de la bascule 599, ce qui empêche la bascule d'être mise à 0. Le compteur 619 se trouve remis à 0 lorsque le signal 58406 est à l'état 1. Pendant une opération de lecture, après réception de la confirmation de la demande, l'unité ISL attend environ 240 ms. Le signal 61912 produit à la sortie du compteur 619 est appliqué à l'entrée d'un inverseur 618 dont la sortie 61808 est appliquée à l'entrée d'horloge de la bascule D 456. Cette bascule se trouve ainsi mise à l'état 1. Le signal de sortie 45605 est appliqué à l'état 1 à l'entrée de la porte ET 455.
Lorsque l'unité ISL devient libre comme décrit plus haut, le signal 43705 se trouve appliqué à l'état 1 à l'autre entrée de la porte ET 455. Le signal de sortie 45511 met alors la bascule 459 à l'état 1. Le signal de sortie 45909 est le bit d'état de rythmeur entrée/sortie.
Les signaux 45909 et 45606 sont appliqués aux entrées d'une porte NON-ET 457. Le signal de sortie 45711 est appliqué à l'entrée d'un inverseur 458. Le signal 45811 se trouve appliqué à l'entrée d'une porte OU 620 dont la sortie 62008, à l'état 0, est le signal de dépassement de temps de l'unité 133 de la fig. 8. La fonction de ce
5
10
15
20
25
30
35
40
45
50
55
60
65
43
640 645
signal est de simuler une erreur de parité comme décrit précédemment.
Se référant à la fig. 14N, on voit que le signal 46108 est appliqué à l'entrée de la porte OU 592 qui engendre un signal de cycle de réponse de relance distante de remplacement.
La séquence décrite dans ce qui précède est engendrée par l'intermédiaire du compteur 619 de la fig. 14Y. La terminaison normale de l'instruction remet ce compteur à 0 lorsque la bascule 615 (demande de relance achevée) est mise à l'état 0. Cela se produit sous la commande du signal 29308. A l'entrée de la porte ET 614, le signal 61505, à l'état 0, inhibe les impulsions de temps de 60 Hz 26102.
Le signal 59211 (réponse de relance distante) et le signal fin d'impulsion 37712 sont appliqués aux entrées de la porte ET 594. Le signal de sortie 59406 est appliqué à l'entrée de la porte NI 432 dont la sortie 43201 remet la bascule 456 à 0. Cette bascule ne se trouve pas remise à 0 avant qu'ait été émise une instruction mise à 0 sortie afin de remettre à 0 le bit de séquenceur.
L'instruction chargement entrée/sortie requiert deux cycles. Le premier cycle, un cycle de demande de relance d'opération locale se déroule dans l'unité ISL locale et le second cycle, cycle de demande de relance d'opération distante, se déroule dans l'unité ISL distante. Cette instruction est unique en ce sens que les données d'adresse de mémoire font partie à la fois des zones adresse et données. L'instruction chargement entrée/sortie comprend deux parties. La première partie est la portion registre de sortie. Les signaux 0-7 d'adresse représentent l'adresse de mémoire utilisée par le contrôleur pendant une opération. Les signaux 8-23 d'adresse sont les signaux 0-15 de données. La seconde portion de l'instruction est identique à n'importe quelle autre instruction entrée/sortie.
Comme on l'a décrit précédemment, pendant un cycle DCN les mémoires de traduction de mémoire 706 à 715 (fig. 14S), qui correspondent à la mémoire de traduction d'adresse de mémoire 125 de la fig. 8, voient leur contenu chargé dans les registres de référence de mémoire 716 et 717 qui correspondent au registre de référence de mémoire 126 de la fig. 8. Pendant le chargement d'une instruction entrée/sortie normale dans le fichier de données, cette instruction doit être une instruction de trajet de relance d'opération. On va voir que les bits de traduction de mémoire sont chargés dans les registres 718 et 719, qui correspondent au registre 127 de la fig. 8, au lieu de l'être dans les registres 716 et 717. Le signal 73806 exécute cette sélection. Se reportant à la fig. 141, on voit que les signaux 53910 et 58405 sont appliqués à l'état 1 aux entrées d'une porte ET/OU 281. Le signal de sortie 28106 est appliqué à l'inverseur 738 de la fig. 14S. La sortie de celui-ci est connectée aux entrées d'horloge des registres 718 et 719 de manière à pointer à l'entrée de ces registres les données provenant des mémoires 706 à 715. Pendant le cycle de demande de relance d'opération locale qui suit le chargement des mémoires de données et d'adresse de la fig. 140, le signal 48603 se trouve à l'état 0 aux bornes de validation des registres 718 et 719, ce qui valide les sorties des registres 718 et 719.
Egalement, pendant le cycle de demande de relance d'opération locale, les signaux 18,19, 21 et 22 d'adresse et le signal 64706 se trouvent appliqués aux entrées de la porte NON-ET 829 (fig. 14L). Lorsque toutes ces entrées sont à l'état 0, le signal de sortie 82906 est à l'état 1 et la sortie de la porte ET 828 applique un état 1 à une entrée de la porte ET 827. Les autres entrées de cette porte reçoivent deux signaux d'adresse, à savoir le signal 20 d'adresse 15301 et le signal 23 d'adresse 15601. Si ces deux signaux sont à l'état 1, le signal de sortie 82706 est à l'état 1 à l'entrée de l'inverseur 826 dont la sortie 82610 est par conséquent à l'état 0 et indique qu'un nombre hexadécimal 9 est indiqué par les signaux 20 à 23 d'adresse 15301, 15401, 15501 et 15601.
Se reportant à la fig. 14R qui illustre le multiplexeur d'adresse de mémoire 100 de la fig. 8, on voit que le signal de référence de mémoire 24414, le signal mise à 0 du maître 47006 et le signal opérationnel 53910 se trouvent appliqués aux entrées d'une porte NON-ET 481. Comme le signal 24414 est à l'état 0, l'entrée de sélection des multiplexeurs 474 et 475 se trouvent à l'état 1. Le signal de sélection 53911 est à l'état 0, de sorte que les entrées 1 des multiplexeurs 474 et 475 se trouvent sélectionnées. En conséquence, les signaux 0-1 de données de ligne 18905 et 19010 sont sélectionnés comme signaux 8-9 d'adresse 47507 et 47409. Les signaux 0-7 d'adresse de ligne sont appliqués à l'entrée 0 des multiplexeurs 472 et 473, ces signaux étant sélectionnés comme signaux 0-7 d'adresse 47212,47209,47207, 47204, 42312, 47309, 47307 et 47304.
Sur la fig. 14S, on voit que les signaux 0-9 d'adresse sont appliqués aux entrées de sélection d'adresse des mémoires de traduction d'adresse de mémoire 706 à 715. Les signaux 6-15 de données 33901 à 34801 ont été inscrits dans les mémoires 706 à 715 à l'adresse désignée pendant le mode configuration. Les signaux de sortie 70607 à 71507 sont appliqués aux entrées des registres 718 et 719.
En se référant à la fig. 14T, on voit que le signal 82706 est appliqué à l'entrée de sélection du multiplexeur 930, sélectionnant ainsi les signaux 8-9 de traduction d'adresse 72801 et 72901.
Sur la fig. 14Z, on voit que le signal 82610 a été appliqué à l'état 0 à l'entrée de la porte OU 911. La sortie 91108 de celle-ci est appliquée aux entrées de sélection des registres 832 et 835, sélectionnant ainsi les entrées 0. Les signaux 0-7 de traduction d'adresse 72001 à 72701 sont les huit bits restants des mémoires de traduction d'adresse. Le restant du cycle est identique à n'importe quel autre cycle d'instruction entrée/sortie. Les données sont transférées à l'unité ISL distante et les trajets normaux de données et d'adresse sont établis pour présenter l'information sur la ligne de communication distante.
Le seul trajet qui reste à établir au cours du cycle de demande de relance d'opération locale est le trajet pour l'exécution des instructions d'essai de mémoire. Une telle instruction a pour but de vérifier un bit sur la carte mémoire reliée à la ligne de communication. Ce bit doit être vérifié avant qu'il soit déterminé si l'instruction peut être exécutée ou non. Même si le système est configuré pour lire chaque emplacement de mémoire, on sait si le bit verrouillage est à l'état 1 ou non. La réponse correcte est engendrée et renvoyée d'une manière similaire à celle d'une instruction de sortie entrée/sortie. Comme il s'agit d'une instruction de mémoire, elle requiert le trajet de traduction d'adresse de mémoire pour adresser correctement la mémoire et inscrire l'information dans les emplacements corrects du fichier.
Pour la logique de sélection d'écriture de fichier, l'instruction d'essai a une fonction unique sur la ligne de communication. Cette fonction est une instruction de référence de mémoire et de verrouillage de ligne. Cette instruction n'est pas un second demi-cycle de ligne. Le signal 25914 est à l'état 0, le signal 24102 est à l'état 0 et le signal 24414 est à l'état 1. De cette manière, l'emplacement 0 du fichier se trouve sélectionné pour le trajet d'information.
Sur la fig. 141, on voit que les signaux 62606 et 86307 sont appliqués aux entrées d'une porte ET 548. Le signal 86307 est le bit d'activité de mémoire extrait de la mémoire 863 de la fig. 14S qui correspond à la mémoire 125 de la fig. 8. Le signal 62606 est le signal d'opération d'essai. Le signal de sortie 54308 est appliqué à une entrée d'une porte NON-ET 480 (fig. 14N). Le signal 24414 applique un état 1 à l'autre entrée de la porte 480. Le signal de sortie 48011 est appliqué à une entrée de la porte NI 566 dont la sortie 56608 est appliquée à une entrée de la porte ET 585. Les signaux 40802 et 41008 sont à l'état 1. Le signal de sortie 58506 conditionne la bascule 581 à l'état 1 lorsque le signal d'horloge 64405 passe à l'état 0, ce qui a pour effet de lancer le cycle de demande de relance d'opération locale pour l'instruction d'essai. Comme au cours des cycles de demande de relance d'opération antérieurs, les données de traduction d'adresse de mémoire partagées dans les mémoires 125 de la fig. 8 doivent être chargées dans les registres 718 et 719 comme décrit plus haut. L'instruction d'essai doit transférer les données dans les registres locaux de la fig. 14Z de la même manière que pour une instruction chargement entrée/sortie.
Comme il s'agit d'un cycle de demande de relance d'opération locale, les signaux 58306 et 64706 (fig. 14Z) sont à l'état 1 aux entrées de la porte NI 873. Le signal de sortie 87311 applique donc
5
10
15
20
25
30
35
40
45
50
55
60
65
640 645
44
un état 0 à une entrée de la porte OU 911 dont la sortie 91108 est à l'état 0. Ce même état 0 se retrouve aux entrées de sélection des registres 832 et 835, ce qui a pour effet de sélectionner les signaux de traduction d'adresse 72001 à 72701. Le signal 87311 est appliqué à une entrée de la porte OU 912, sélectionnant ainsi les signaux de traduction d'adresse 72801 et 72901 ainsi que le signal de référence de mémoire 64706 et le multiplet de fichier 38910. La partie données de cette instruction chemine le long du trajet de données normal vers les transmetteurs registres et dispositif d'excitation. Les autres bits d'adresse proviennent de la ligne d'adresse normale. Pendant le cycle distant qui suit dans l'unité ISL distante, qbelques lignes de commande spéciales doivent être à l'état 1 sur la ligne distante.
Se reportant à la fig. 14G, on voit que le signal de verrouillage de fichier 80401, qui a été engendré dans l'unité ISL locale, se trouve appliqué à l'état 1 à une entrée d'une porte OU 466. Le signal de sortie 46603 est appliqué à l'entrée d'une porte ET 443. Comme il ne s'agit pas d'un mode essai, l'autre entrée de la porte 443 reçoit le signal 53906 à l'état 1. Le signal de sortie 44311 applique donc un état 1 à l'entrée du registre 523. La fonction de verrouillage de ligne est une clef pour lire le bit d'essai dans la mémoire. Le bit est vérifié avec la ligne bloquée. Le bit est vérifié et s'il a été précédemment mis à l'état 1 dans la mémoire et est inutilisable à ce moment, une réponse de confirmation négative NAK est lancée, ce qui met fin à l'instruction. La réponse est envoyée à l'unité ISL locale pour être utilisée par le logiciel. Si le bit n'a pas été mis à l'état 1, alors il se trouve mis à l'état 1 à ce moment et une réponse de confirmation ACK est envoyée à l'unité ISL locale et l'instruction opérationnelle spécifique peut être exécutée.
Il existe divers types d'instructions d'essai pendant lesquelles certaines choses sont faites, qui n'affectent point le fonctionnement de l'unité ISL. Il y a un cas dans lequel si l'instruction d'essai reçoit une réponse d'attente parce que la mémoire est occupée à desservir un autre transfert d'information ou parce que la mémoire est en cycle de rafraîchissement. Le signal de réponse d'attente 26303 obtenu d'un cycle distant est chargé dans le registre 413 (fig. 141) comme décrit précédemment. Le signal de sortie 41310 est appliqué à l'entrée de la porte NON-ET 328 (fig. 14D). Les signaux 52305 et 51515 appliquent des états 1 aux entrées de la porte ET 602 et le signal de sortie 60203 est appliqué à une entrée d'une porte OU 633. Le signal de sortie 63303 est appliqué à l'autre entrée de la porte NI 328. Le signal de sortie 32806 est appliqué à l'entrée d'horloge de la bascule D 564. Le signal de sortie 56406 est appliqué à l'entrée de la porte OU 562, ce qui a pour effet de lancer un cycle de demande de ligne de communication.
Le signal d'interruption qui est envoyé d'un contrôleur à un processeur central sur la ligne distante commande l'établissement du trajet de relance d'opération locale de la manière suivante. L'instruction d'interruption est une instruction de sortie entrée/sortie normale. Il s'agit d'une instruction qui traverse l'unité ISL et qui requiert une attention spéciale par le fait que la demande d'interruption peut être lancée par un dispositif ayant un niveau de priorité plus élevé que celui qui utilise déjà le trajet de relance d'opération dans l'unité ISL. Par suite, si le trajet est occupé, l'information doit être traitée avant que l'interruption ne soit effectuée. C'est pourquoi, la demande d'interruption doit être détectée et il doit y être fait une réponse après 135 ns dans le cycle lorsque le signal de confirmation, de confirmation négative ou d'attente est envoyé sur la ligne.
Se référant à la fig. 14M, on voit que les signaux 8-12 d'adresse de ligne sont appliqués à une entrée d'une porte NON-ET 277. Le signal 13 d'adresse est appliqué à un inverseur 195 dont la sortie 19504 est appliquée à une entrée de la porte ET 321 qui reçoit d'autre part le signal 27705. Comme il ne s'agit pas d'une instruction de référence de mémoire, le signal 24414 est à l'état 1. Si les bits 8-13 d'adresse sont à l'état 0, la sortie de la porte 321 est à l'état 1. Le signal 32106 est appliqué à une entrée de la porte ET 320, l'autre entrée de cette porte recevant le signal de masque de canal 54608. Ce dernier signal provient de la porte ET 546 de la fig. 14R. Une entrée de cette porte 546 reçoit à l'état 1 le signal 27607 obtenu à la sortie de la mémoire 276. Le signal de sortie 32008 est appliqué à l'entrée CD d'une bascule D 430 qui se trouve mise à l'état 1 lors de la montée du signal 58405 à l'instant 135 ns du cycle. Cette bascule à l'état 1 indique que la demande d'interruption est acceptée par l'unité ISL. Si, à ce moment, le signal 54212 (fig. 14H) est à l'état 1, cet état 1 se trouverait appliqué à une entrée de la porte ET 422 dont l'autre entrée reçoit le signal 32008. Le signal de sortie 42203 est appliqué à l'entrée du registre 631. Les signaux 54212 et 32008 sont également appliqués aux entrées de la porte ET/NI 541 dont le signal de sortie 54106 est appliqué à une entrée de la porte NI 538. Le signal de sortie 53806 est appliqué à l'entrée du registre 631, ce qui donne lieu, comme décrit plus haut, à l'émission d'une réponse de confirmation négative NAK sur la ligne de communication. Le signal 63119 est appliqué à l'entrée d'un inverseur 537 dont la sortie 53702 applique un état 0 à l'entrée S de la bascule D 429 (fig. 14X), cette bascule se trouvant ainsi mise à l'état 1. Le signal de sortie 42905 se trouve appliqué à une entrée de la porte ET 395 dont l'autre entrée reçoit le signal 58406. Lorsque le trajet devient libre, le signal 58406 est mis à l'état 1. Le signal de sortie 39503 est appliqué à l'entrée d'une bascule monostable 451 et la sortie 45113 de celle-ci est appliquée à l'entrée d'un dispositif d'excitation récepteur 258 (fig. 14B) qui applique un signal 10406 de 30 ns sur la ligne de communication, indiquant ainsi au dispositif source, c'est-à-dire le dispositif demandeur qui a reçu la réponse de confirmation négative, qu'il a à relancer la demande d'interruption à cette unité ISL maintenant que le trajet n'est plus occupé. Si le trajet pour la demande d'interruption n'est pas occupé, la réponse envoyée au dispositif source est une réponse d'attente comme décrit plus haut. Ce signal indique au dispositif source qu'il a à poursuivre l'émission de sa demande jusqu'à ce qu'il reçoive une réponse différente. Dans l'entre-temps, la demande d'interruption est traitée dans l'unité ISL distante.
Sur la fig. 14M, on voit que le signal d'interruption de processeur central 32106 et le signal d'écriture de ligne 26510 sont appliqués aux entrées d'une porte NI 640. Le signal de sortie 64013 est appliqué à l'entrée d'un inverseur 641 dont la sortie 64104 se trouve appliquée comme signal d'écriture de fichier, à l'entrée de la mémoire 366 de la fig. 140.
Sur la fig. 14W, le multiplexeur d'adresse de destination 749 a son entrée 0 sélectionnée. En conséquence, les signaux 14-17 d'adresse 14601 à 14901 se trouvent sélectionnés. Les signaux d'adresse de canal de processeur central 74912, 74909, 74907 et 74904 sont appliqués aux entrées de sélection d'adresse de la mémoire 754. Celle-ci emmagasine l'adresse de traduction pour le processeur central, qui a été antérieurement chargé par une instruction de configuration lorsque l'unité ISL était en mode configuration. Les signaux de sortie 75411,75409, 75407 et 75405 sont appliqués à la borne 0 du registre 840. Les signaux 43008 et 58306 sont appliqués à l'état 1 aux entrées de la porte NON-ET 910. Le signal de sortie 91003, à l'état 0, sélectionne l'entrée 0 du registre 840. Les signaux de sortie 84015, 84014, 84013 et 84012 sont appliqués aux entrées des dispositifs d'excitation 839 et 841 qui constituent les dispositifs d'interface 115 de la fig. 8, à partir desquels ces signaux sont envoyés à l'unité ISL distante. Ces signaux représentent l'adresse du processeur central qui a originellement chargé l'unité ISL.
Le signal 91003 est appliqué à une entrée d'une porte NON-ET 904 (fig. 14M). L'autre entrée de la porte 904 reçoit le signal 2 de données 33501. Les signaux 0,1 et 3-5 de données 33401 à 33801, quant à eux, sont appliqués aux entrées d'une porte NON-ET 903. Les bits 0-5 de données sur la ligne 117 de la fig. 8 sont à l'état 0 afin d'indiquer qu'un processeur central interrompt un autre processeur central.
Les signaux de sortie 90305 et 90413 appliquent des états 1 à des entrées d'une porte ET 755. Une autre entrée de cette porte reçoit le signal 58306. Le signal de sortie 75506 applique un état 1 à une entrée d'une porte OU 927 dont le signal de sortie 92711 est appliqué à l'entrée du registre 845 (fig. 14AA). Le signal de sortie 84505 est appliqué à l'entrée du dispositif d'excitation 844 (fig. 14AB). Le signal de sortie 84407 est appliqué sur la ligne d'interface et est reçu
5
10
15
20
25
30
35
40
45
50
55
60
65
45
640 645
à l'entrée du dispositif d'excitation 803 dans l'unité ISL distante comme signal 66244. Le signal de sortie 80303 est appliqué à la porte OU câblée 926 de la fig. 14AA.
Le signal de sortie 92601 est appliqué à l'entrée CD d'une bascule D 925 (fig. 14W). Pendant le cycle de demande de relance distante dans l'unité ISL distante, le signal 90201 est à l'état 1 à l'entrée de la porte ET 899. Au temps 100 du cycle, le signal 76208 passe à l'état 1 et se trouve appliqué à l'autre entrée de la porte 899. Le signal de sortie 89911 est appliqué à l'entrée d'horloge d'une bascule D 925 qui se trouve ainsi mise à l'état 1 jusqu'au cycle de demande de relance distant suivant. La fonction de la bascule 925 a été décrite précédemment.
Les signaux 6-9 de données 33901 à 34201 sont appliqués aux entrées 1 du multiplexeur 756 qui constitue le registre d'adresse de source 136 de la fig. 8. Ces entrées sont sélectionnées car le signal 53910 qui se trouve appliqué à l'entrée de sélection du multiplexeur 756 est à l'état 1. Les signaux de sortie 75604, 75607, 75609 et 75612 sont appliqués aux entrées d'adresse de la mémoire 757 qui emmagasine l'information de traduction pour sélectionner l'adresse source de processeur central convenable. Cette mémoire correspond à la mémoire 113 de la fig. 8.
Le signal 92601 qui se trouve appliqué à l'état 1 aux entrées de sélection du multiplexeur 780, qui constitue le multiplexeur de données 137 de la fig. 8, sélectionne les signaux de traduction d'adresse source 75705, 75707, 75709 et 75711.
Les signaux 90201 et 39310 sont appliqués aux entrées de la porte ET/NI 524 (fig. 14G). Comme le signal d'écriture de fichier 80701 était à l'état 1, comme décrit plus haut, le signal de sortie 39310 est à l'état 0. Le signal 52408 à la sortie de la porte 524 sélectionne par conséquent l'entrée 1 du registre 526, qui constitue le multiplexeur/registre de données 138 de la fig. 8, de sorte que se trouvent sélectionnés les signaux 6-9 de données 78007, 78004, 78009 et 78012. Les signaux de sortie du multiplexeur 526 ainsi que les sorties des autres multiplexeurs dans le cycle se retrouvent sur la ligne de communication, ce qui met fin à l'exécution de l'instruction d'interruption.
Les registres d'adresse 507 à 509 de la fig. 14E, qui constituent le registre multiplexeur d'adresse 111 de la fig. 8, emmagasinent l'adresse telle qu'elle a été envoyée par l'unité ISL locale. Quant aux signaux multiplex de données, ils sont appliqués aux entrées 1 des registres 525, 527 et 528 de la fig. 14G. Pendant une opération d'écriture, comme décrit plus haut, les signaux 6-9 de données se trouvent appliqués aux entrées 1 du registre 526. Pendant une opération de lecture, les entrées 0 des registres 525, 526 et 527 sélectionnent l'adresse de canal de cette unité ISL. Il s'agit des signaux provenant des commutateurs rotatifs hexadécimaux 101 à 104 de la fig. 14J. Comme on l'a décrit plus haut, le signal 51303 est à l'état 1 pour une opération de lecture et à l'état 0 pour une opération d'écriture.
Sur la fig. 14D, on voit que les signaux 57410, 76208, 53910 et 90201 sont appliqués à l'état 1 aux entrées de la porte ET/NI 278, ce qui a pour effet de générer les signaux d'horloge 27808 et 27908. Le signal 27908 pointe les signaux 0-31 d'adresse dans les registres 507, 508 et 509 de la fig. 14E, les signaux 0-15 de données dans les registres 525 à 528. Le signal 27908 met également la bascule 271 à l'état 1, inhibant ainsi toute autre unité ISL distante.
Les instructions de commande d'interruption de sortie et d'entrée traversant l'unité ISL sont détectées en sorte qu'une traduction spéciale de l'adresse du processeur central puisse être effectuée. L'architecture effectuant la détection d'une commande d'interruption entrée/sortie à laquelle sont associés respectivement les codes fonctions 02 et 03 est illustrée à la fig. 14M. La porte ET 811 détecte les signaux 18-21 d'adresse à l'état 0 pendant l'instruction de commande d'interruption. Le signal 64706 est à l'état 0 puisqu'il ne s'agit pas d'un cycle de référence de mémoire. Le signal de sortie 81101 est appliqué à l'état 1 à une entrée de la porte ET 810. Le signal 53910 est à l'état 1 et si le signal 22 d'adresse 15501 est à l'état 1, le signal de sortie 81012 est à l'état 1 pour le code fonction hexadécimal 02 et 03. Le signal de sortie 81012 est appliqué à une entrée de la porte OU 927 qui engendre le signal de traduction 92711 envoyé à l'unité ISL distante en même temps que l'information de données et d'adresse pendant le cycle de demande de relance locale. Ce processus a été décrit plus haut. Pour une instruction d'interruption de sortie, le cycle de demande de relance locale est identique au cycle de n'importe quelle autre instruction de sortie et les informations d'adresse et de données cheminent par les mêmes trajets. La seule différence est que le signal de traduction 92711 est envoyé à l'unité ISL distante. Dans celle-ci, pendant l'exécution du cycle de demande de relance distante, les données suivent un trajet légèrement différent pour les signaux 6-9 de données 33901 à 34201.
Se référant à la fig. 14W, on voit que les signaux de sortie du multiplexeur 756, c'est-à-dire les signaux 0-3 d'adresse source de processeur central 75604, 75607, 75609 et 75612 sont appliqués pour adresser la mémoire 757 qui emmagasine les données de traduction. Comme décrit plus haut, les signaux de sortie de la mémoire 757 sont sélectionnés par le multiplexeur 780 car le signal 92601 se trouve à l'état 1. Les signaux de sortie 78004, 78007, 78009 et 78012 sont appliqués aux entrées 1 du multiplexeur 526 de la fig. 14G. A la sortie de ce multiplexeur est obtenue l'information contenant l'adresse de processeur central traduite qui permet au contrôleur de savoir quel processeur central doit être interrompu. Si ce processeur central est configuré dans l'unité ISL, celle-ci sert d'agent pour cette interruption lorsqu'elle est lancée. Pour une instruction de commande d'interruption d'entrée, le cycle de demande de relance locale est sélectionné dans l'unité ISL locale, ce cycle étant suivi du cycle de demande de relance distante dans l'unité ISL distante.
Comme décrit plus haut pour le cycle de demande de relance distante dans l'unité ISL distante, la bascule 925 de la fig. 14W se trouve à l'état 1, engendrant ainsi le signal 92505 qui se trouve appliqué à l'entrée de la porte ET 928. Pendant le cycle de demande de relance distante, la première moitié de la demande est transmise sur la ligne de communication comme décrit plus haut. Lorsque le contrôleur envoie la seconde demi-réponse, cette unité ISL distante engendre le cycle de réponse de relance locale. Le signal de sortie 92806 est à l'état 1, sélectionnant ainsi l'entrée 1 du multiplexeur 749. La bascule 925 reste à l'état 1 jusqu'à ce qu'un cycle de demande de relance distante soit engendré sans que le signal 92601 soit à l'état 1. Mais cela ne peut se produire avant qu'il n'y ait eu une réponse dans le cas d'une instruction d'entrée. Les signaux de sortie du multiplexeur 749 adressent la mémoire 754 dont le contenu contient la traduction inverse de la mémoire 757 de telle sorte que les données originelles obtenues au cours de l'exécution de l'instruction de commande d'interruption de sortie sont renvoyées au processeur central.
Le signal 92306 à la fig. 14AA sélectionne les entrées 1 des registres 851 et 853. Le registre 851 sélectionne les signaux 0-1 de destination processeur central 75411 et 75409 qui sont appliqués aux sorties des signaux 6 et 7 de données, respectivement les signaux 85114 et 85113. Le registre 853 sélectionne les signaux 2-3 de destination processeur central 75407 et 75405 qui sont appliqués aux sorties des signaux 8 et 9 de données, respectivement les signaux 85312 et 85313. Les registres 851 et 853 reçoivent également à leurs entrées les signaux 5,4, 10-11 de données 78707, 78807, 79307 et 79409. Les sorties des registres 851 et 853 sont appliquées aux dispositifs d'excitation qui renvoient les signaux à l'unité ISL locale avec le restant des données envoyées par le processeur central source lorsque l'instruction de commande d'interruption de sortie a été lancée. Par suite, le dispositif demandeur de l'interruption d'entrée reçoit les données pendant le cycle de ligne de communication résultant.
Le système mémoire peut être configuré pour envoyer deux secondes demi-réponses (deux mots de données) pour une seule demande de mémoire afin d'accroître la capacité de transfert. Le premier mot est émis avec le signal double extraction 10404 à l'état 0 pendant un premier second demi-cycle de ligne de communication. Environ 300 ns plus tard, un deuxième second demi-cycle est lancé avec le signal 10404 à l'état 1.
5
10
15
20
25
30
35
40
45
50
55
60
65
640 645
46
Se référant à la fig. 14N, on voit que les signaux 40903, 41106 appliquent des états 1 à la porte ET 500 qui reçoit également le signal 44006 à l'état 1. Le signal de sortie 50008 se trouve appliqué à une entrée de la porte NON-ET 373 dont une autre entrée reçoit le signal double extraction 21006. Le signal de validation de ligne d'écriture 64405 applique un état 1 à une autre entrée de la porte 373. Le signal de sortie 37308 est alors à l'état 0 et met la bascule D
352 à l'état 1.
Le signal de sortie 35206 applique un état 0 à l'entrée de la porte NI 351 (fig. 14V). Le signal de sortie 35106 est appliqué à l'entrée du registre 490 dont les signaux de sortie 49014 et 49015 définissent le cycle réponse de mémoire. Les signaux 35205 et 35308 sont appliqués aux entrées de la porte ET/NI 388. Comme le signal 35308 est à l'état 1 à ce moment, le signal de sortie 38808 à l'état 0 provoque la mise à l'état 1 des bascules 464 et 441 comme décrit précédemment, ce qui a pour effet de générer les cycles ISL et local.
Sur la fig. 14N, on voit que les signaux 32502 et 49015 appliquent des états 1 aux entrées de la porte ET 354. Le signal de sortie 35411 est appliqué à l'entrée d'horloge d'une bascule D 353 qui se trouve ainsi mise à l'état 1 lors de la montée du signal 35411 puisque le signal 35205 appliqué à la borne CD de cette bascule se trouve à l'état 1. La mise à l'état 1 de la bascule 353 provoque la mise à 0 de la bascule 352 si le signal transfert complet 64602 est à l'état 0, ce qui est le cas normal. Le signal 35308 est appliqué aux entrées d'horloge des registres 367, 368 et 391 (fig. 140), de sorte que les signaux de sortie des mémoires 364, 365, 366, 177, 647 et 389 se trouvent emmagasinés comme décrit précédemment. Les données sont introduites dans les registres 367, 368 et 391 pour le premier cycle de réponse de mémoire, ce qui libère l'emplacement de réponse de mémoire dans les mémoires 364 à 366,177,647 et 389 pour le second cycle de réponse de mémoire.
Pendant le premier cycle de réponse de mémoire locale, les signaux 49303 et 37712 sont appliqués à l'état 1 aux entrées de la porte NON-ET 375 (fig. 14N). Le signal de sortie 37511 est appliqué à l'état 0 à l'entrée de la porte OU 350 dont le signal de sortie 35007 se trouve appliqué à la borne de remise à 0 de la bascule 353, celle-ci se trouvant ainsi remise à 0 à la fin du premier cycle de réponse. Pendant le second cycle de réponse de mémoire, le signal de sortie 50008 se trouve toujours à l'état 1 et il se trouve appliqué à une entrée de la porte ET 496 qui reçoit à son autre entrée le signal 21104 à l'état 1. Le signal de sortie 49611 est alors à l'état 1 et met la bascule 492 à l'état 1 lors de la retombée du signal de validation d'écriture 64405.
Comme on peut le voir à la fig. 14V, le signal 49206 applique un état 0 à la porte NI 351, ce qui produit un autre cycle de réponse de mémoire comme décrit précédemment. Le signal de sortie 35411 est alors porté à nouveau à l'état 1, mais comme la bascule 352 est à l'état 0, le signal 35205 se trouve à l'état 0. La bascule 353 ne se trouve donc pas à l'état 1. La circulation des données et des signaux d'adresse dans l'unité ISL est identique à celui qui est réalisé lors du premier cycle de réponse de mémoire.
Pendant ce premier cycle de réponse, les données ont été emmagasinées dans les registres 367, 368 et 391. Le signal d'horloge 35308 a été porté à l'état 0 à la fin de ce cycle. Pendant le second cycle, les registres sont chargés avec les données obtenues lorsque la bascule
353 se trouve mise à l'état 1 et lorsque le signal 35308 est à l'état 1.
L'unité ISL peut engendrer des interruptions pour son propre compte dans certains cas si le registre de niveau d'interruption est chargé avec une information non nulle et lorsque l'adresse de processeur central correcte se trouve chargée dans les registres de canal. Le registre de canal d'interruption 819 et le registre de niveau d'interruption 857 contiennent les données qui sont utilisées par l'unité ISL pour engendrer les interruptions. Les cycles d'interruption sont générés par l'unité ISL et ne sont pas des interruptions qui traversent l'unité ISL.
S'il a été détecté une erreur pour mémoire inexistante ou un dépassement du temps imparti au contrôleur de séquence dans l'unité ISL distante et si la fonction d'autorisation d'interruption a été mise
à l'état 1 pour la mémoire inexistante ou le séquenceur du contrôleur de séquence, alors la sortie de la porte ET/NI 895 (fig. 14X) se trouve portée à l'état 0. De même, si une erreur pour mémoire inexistante ou un dépassement du temps imparti au contrôleur de séquence se trouve détectée dans l'unité ISL locale, alors la sortie de la porte NI 824 est portée à l'état 1, ce qui met la bascule 823 à l'état 1. Le signal d'inhibition 82106 est à l'état 1 comme décrit plus haut. La bascule 823 est mise à l'état 1 et le signal de sortie 82309 se trouve appliqué à l'entrée de la porte ET 607. Lorsque l'unité ISL devient libre, le signal 43705 se trouve à l'état 1 tandis que le signal de sortie 60708 se trouve à l'état 0, ce qui met la bascule 427 à l'état 1. Les signaux 43108 et 42504 sont à l'état 1. Le signal 42708 se trouve appliqué à l'état 0 à l'entrée de la porte OU 412 (fig. 14V). Le signal de sortie de eette porte applique un état 0 à la porte 287 dont le signal de sortie 28708, à l'état 0, maintient le registre 490 à l'état 0. Le signal 41206 se trouve appliqué à la porte NI 608 et la sortie 60808 de cette porte est appliquée à l'entrée CD de la bascule 464. Le signal 41206 est également appliqué à la porte NI 176 dont la sortie 17612 est appliquée à la porte ET 604. La montée du signal de sortie 60408 met les bascules 464 et 441 à l'état 1, engendrant ainsi les cycles local et ISL et les signaux de temps à la sortie de la ligne de retard 374. On notera cette fois encore qu'aucun cycle local particulier ne se trouve engendré car le registre 490 est maintenu à l'état 0.
Les signaux 42709 et 76208 appliquent des états 1 aux entrées de la porte ET/NI 278 (fig. 14D). Le signal de sortie 27808 engendre un cycle de ligne de communication et transmet les informations de données et d'adresse sur la ligne. Le signal 42708 est appliqué à l'état 0 à l'entrée de sélection du multiplexeur 731 (fig. 14M), sélectionnant ainsi les entrées 0. Les signaux de sortie 73107, 73109, 73112 et 73104 représentent le numéro de canal de processeur central à interrompre; ces signaux sont appliqués à l'entrée du multiplexeur 159 de la fig. 14E. Les entrées 0 du multiplexeur 159 sont sélectionnées puisqu'il ne s'agit pas d'un second demi-cycle de ligne, le signal 37806 étant à l'état 0. Les multiplexeurs 157, 158 et 190 ne sont pas validés et leurs sorties sont à l'état 0 puisque le signal de validation 42709 est à l'état 1. Le signal 42708 est également appliqué à l'état 0 à-la borne de remise à 0 du registre 507, mettant ainsi les bits 0-8 d'adresse à l'état 0. Les autres bits d'adresse sont à l'état 0 sauf les bits 14 à 17 qui sont les seuls bits mis à l'état 1 aux entrées des registres 508 et 509.
Sur la fig. 14T, on voit que le signal 42708 est également appliqué à la porte NI 801. Comme ce signal est à l'état 0, le signal de sortie 80108 est à l'état 1, sélectionnant ainsi les entrées 3 des multiplexeurs 783 à 798. Les signaux 0-5 de données sont à l'état 0. Les signaux 6-9 de données indiquent les signaux 6-9 de canal d'interruption. Les signaux 10-15 de données indiquent les signaux 0-5 de niveau d'interruption, c'est-à-dire que ces signaux indiquent le niveau auquel l'unité ISL doit interrompre le processeur central.
Sur la fig. 14G, on voit que le signal 42709 applique un état 1 à l'entrée de la porte ET/NI 524. Le signal de sortie 52408, à l'état 0, sélectionne les entrées 0 des registres 525, 526 et 527. Toutefois, l'entrée 1 du registre 528 se trouve sélectionnée puisque le signal 42709 est à l'état 1 à l'entrée de la porte ET 372. En conséquence, le registre 528 sélectionne les signaux 12-14 de données 79607, 79509, 97909 et 79809.
Le registre 527 sélectionne les signaux 10-11 de données 51303 et 51406. Les signaux 42709 et 79307 sont appliqués à l'entrée de la porte ET 529. Comme le signal 42709 est à l'état 1 et comme le signal 86606, appliqué à la porte OU 513, est à l'état 0, le signal 51406 reflète l'état du signal 10 de données 79307. D'une manière similaire, les signaux 42709 et 79409 sont appliqués à l'entrée de la porte ET 530. Le signal de sortie de celle-ci est appliqué à la porte OU 514 dont la sortie 51406 reflète l'état du signal 11 de données 79409.
Se reportant à la fig. 14J, on voit que les signaux 10307 et 39716 sont appliqués à la porte NON-ET 437. Le signal 10307 reflète l'état du signal 8 d'adresse de canal puisque le signal 39716 est à ce moment à l'état 0.
5
10
15
20
25
30
35
40
45
50
55
60
65
47
640 645
Les commutateurs rotatifs 101, 102 et 103, qui correspondent au commutateur rotatif 140 de la fig. 8, ont leurs seuls signaux de sortie 9-16 appliqués aux entrées 1 des multiplexeurs 435 et 436. Les signaux de sortie 1-8 de ces commutateurs sont appliqués aux entrées 0 des registres de données 525 à 527 de la fig. 14G.
L'information présentée sur la ligne de communication lorsque le cycle de ligne de communication se trouve généré donne donc l'adresse du processeur central à interrompre et l'adresse de canal de l'unité ISL ainsi que le niveau auquel l'interruption du processeur central doit avoir lieu.
Sur la fig. 14G, on voit que les signaux 42709 et 80701 sont appliqués aux entrées de la porte OU 454. Le signal d'écriture 45411 est appliqué à l'entrée du registre 523 dont la sortie 52306 est envoyée sur la ligne de communication afin d'indiquer que l'interruption concerne un cycle d'écriture.
L'unité ISL reçoit du processeur central soit une réponse de confirmation, soit une réponse de confirmation négative. Dans le cas d'une réponse de confirmation négative, le processeur central envoie le signal 10406 sur la ligne et dans ce cas la demande d'interruption doit être régénérée. Le signal de réponse négative 24814 se trouve appliqué à l'entrée du registre 413 (fig. 141) à la fin du signal 51608. Le signal de sortie 41307 est appliqué à l'entrée d'horloge de la bascule D 431 (fig. 14X), ce qui a pour effet de mettre cette bascule à l'état 1. Cette bascule inhibe ainsi toute autre interruption provenant de l'unité ISL jusqu'à ce que le signal 10406 soit reçu du processeur central sur la ligne de communication locale. Le signal 10406 est le signal reprise de fonction d'interruption qu'engendre le processeur central lorsqu'il peut accepter une interruption. Lorsque le signal 10406 se trouve engendré, tous les dispositifs ayant antérieurement enregistré une interruption (suite à un signal de confirmation négative) régénèrent leurs demandes d'interruption. Le signal 10406 est reçu par le dispositif d'excitation récepteur 258 de la fig. 14B. Le signal de sortie 25806 est appliqué à la porte NI 428 (fig. 14X) dont la sortie 42801 est à l'état 1 et met donc la bascule 431 à l'état 0.
Si une réponse de confirmation est reçue, le signal 41302 est appliqué à l'entrée de la porte NI 426. Le signal de sortie 42610 remet la bascule 823 à l'état 0. Toutefois, la bascule 623 reste à l'état 1. Par suite, les signaux 43705, 43108, 42504 et 82309 sont appliqués à l'état 1 aux entrées de la porte ET 607. Le signal de sortie 60708 met la bascule 427 à l'état 1, ce qui a pour effet de lancer le cycle d'interruption comme décrit plus haut. La séquence se poursuit jusqu'à ce qu'une réponse de confirmation soit reçue. Le signal mise à 0 du maître 44806 appliqué à l'entrée de la porte NI 426 remet la bascule 823 à l'état 0.
Il reste encore à décrire diverses fonctions logiques. Se référant à la fig. 14H, on voit que les signaux 44512, 33108 et 21710 sont appliqués à l'état 1 aux entrées d'une porte NON-ET 555. Ces signaux indiquent que durant une instruction ISL, une erreur de parité de données a été détectée. Le signal de sortie 55508 est appliqué à l'état 0 à une entrée de la porte OU 536. Le signal de sortie 53603 est appliqué à l'entrée d'une autre porte OU 293 (fig. 14N), ce qui a pour effet de remettre la bascule 584 à 0 au moyen du signal 29308. Le signal 55508 est également appliqué à l'entrée de la porte NI 538 (fig. 14H), ce qui a pour effet de produire le signal de confirmation négative comme décrit plus haut.
Les signaux 44006 et 25914 sont appliqués à l'entrée de la porte ET 606. Le signal de sortie 60606 engendre un signal de confirmation en indiquant que durant le second demi-cycle de ligne l'adresse ISL a été détectée.
On se reporte maintenant à la fig. 14J. Les signaux 93212 et 10114 sont appliqués aux entrées d'une porte NON-ET 610. Le signal de sortie 61010, à l'état 1, autorise une fonction mise à 0 du maître lancée sur la ligne locale à destination de l'unité ISL distante. Le signal 61010 est appliqué à l'entrée du dispositif d'excitation récepteur 242 de la fig. 14B en vue d'être transmis sur la ligne de communication.
Sur la fig. 14Y, la bascule D 601 à l'état 1 remet la bascule 584 de la fig. 14N à l'état 0. La bascule 601 est mise à l'état 1 lors de l'apparition d'une erreur par dépassement du temps imparti. Le signal 17208 est appliqué à l'inverseur 173 dont la sortie 17310 se trouve appliquée à l'entrée CD de la bascule 601 de manière à mettre celle-ci à l'état 1 lors de la montée du signal 27204.
Un inverseur 557 sur la fig. 14P reçoit le signal 87407. Lorsque ce signal est à l'état 0, il indique qu'une impulsion d'échantillonnage distant a été reçue et qu'un cycle distant doit être effectué. Le signal de sortie 55712 est appliqué à une entrée de la porte NON-ET 285 dont l'autre entrée reçoit le signal 21510. Lorsque ce signal est à l'état 1, il indique qu'il ne s'agit pas d'un cycle de ligne. Le signal de sortie 28503 est appliqué à une entrée de la porte OU 296 dont une autre entrée reçoit le signal 29803. Lorsque ce dernier signal est à l'état 0, il indique que le cycle de comparaison est achevé. Le signal de sortie 29608, à l'état 0, remet la bascule 297 à l'état 0. Les signaux 32712 et 27308 sont appliqués aux entrées de la porte NON-ET 300. Au temps 135 ns dans le cycle de comparaison lorsque cette comparaison a détecté une égalité, le signal de sortie 30011 est porté à l'état 0 et appliqué à l'entrée de la porte OU 298. L'autre entrée de cette porte reçoit le signal 83006 qui est le signal mise à 0 du maître ISL. Le signal de sortie 29803, à l'état 0, indique la fin du cycle de comparaison.
Sur la fig. 14G, on voit que le signal 86513 et le signal 44311 sont appliqués à une porte ET 642. Le signal de sortie 64206 est appliqué à une autre entrée d'une porte OU 452 dont l'autre entrée reçoit le signal 37806. Le signal de sortie 45206 est appliqué à l'entrée du registre 515 et la sortie 51507 de celui-ci engendre le signal de second demi-cycle de ligne 10402 qui est envoyé sur la ligne de communication. Pendant l'instruction d'écriture, le signal 51507 indique que la mémoire doit remettre à 0 le bit d'essai.
On décrit maintenant le mode d'essai et le cycle de mode d'essai de l'unité ISL. Il existe deux cas de mode d'essai: la boucle mémoire et la boucle entrée/sortie. La boucle mémoire utilise la configuration des mémoires à accès sélectif. Le cycle normal est contrôlé fondamentalement par la configuration chargée dans l'unité ISL locale et dans l'unité ISL distante. L'unité ISL est configurée de manière telle qu'elle réponde aux adresses lancées sur la ligne. L'unité ISL distante reçoit l'adresse de l'unité ISL locale et renvoie cette adresse à cette dernière. C'est pourquoi, dans le cas de la boucle mémoire, les cycles mémoires associés à une instruction boucle mémoire sont identiques à ceux qui ont été décrits précédemment pour le mode transfert d'information de l'unité ISL. Les bits de mode d'essai s'ils sont à l'état 1 permettent au cycle de mémoire d'être effectué dans l'unité ISL. Lorsqu'elle reçoit une demande de mémoire, l'unité ISL locale engendre un cycle demande de mémoire locale qui provoque la génération d'un cycle demande de mémoire distante dans l'unité ISL distante. Comme celle-ci est configurée pour accepter l'adresse qui a été envoyée sur la ligne de communication, elle engendre à son tour un cycle de demande de mémoire locale comme si elle avait reçu cette adresse d'une unité extérieure. Dans l'unité ISL locale se trouve alors engendré un cycle de demande de mémoire distante. En somme, le cycle de ligne locale engendre un cycle allant de l'unité ISL locale à l'unité ISL distante et retour à l'unité ISL locale. Une opération d'écriture ou une opération de lecture peut être engendrée. Pour une opération d'écriture, les données sont inscrites dans l'emplacement de mémoire qui a été adressé par l'unité ISL locale. L'adresse originale n'est valable que pour l'unité ISL locale. Cette adresse est alors traduite par l'unité ISL locale en une adresse qui n'est pas valide sur la ligne de communication distante. L'unité ISL distante répond à cette adresse et la retraduit en une adresse utilisable sur la ligne locale. Si le cycle de demande de mémoire impliqué est une demande de données, la mémoire locale envoie ces données à l'unité ISL locale. Cette réponse engendre un cycle de réponse de mémoire locale dans l'unité ISL locale, cycle qui est confirmé comme décrit précédemment, puis se trouve engendré le cycle de réponse de mémoire distante dans l'unité ISL distante et celle-ci envoie l'adresse ISL sur la ligne de communication. L'unité ISL distante reçoit l'adresse et engendre le cycle de réponse de mémoire locale qui à son tour engendre le cycle de réponse de mémoire distante dans l'unité
5
10
15
20
25
30
35
40
45
50
55
60
65
640 645
48
ISL locale et renvoie les données au processeur central qui a demandé les données. Les données ont été demandées à la mémoire, envoyées à l'unité ISL locale, puis envoyées par l'unité ISL locale à l'unité ISL distante, renvoyées ensuite à l'unité ISL locale afin d'engendrer huit cycles et établissement de tous les trajets de données et 5 d'adresse normaux. Cela achève la boucle mémoire.
L'établissement de la boucle entrée/sortie se fait d'une manière similaire sauf que le trajet de relance d'opération est utilisé et que les bits mode d'essai doivent être mis à l'état 1. Le bit mode d'essai doit être mis à l'état 1 dans l'unité ISL locale et dans l'unité ISL distante, io le bit mode d'essai distant doit être mis à l'état 1. Contrairement à la boucle mémoire, le bit de mode d'essai distant ne doit pas être mis à l'état 1 mais il peut l'être pour éviter un autre transfert de données provenant de la ligne de communication distante d'atteindre l'unité ISL. Le bit mode d'essai distant inhibe toutes les réponses sauf la is propre réponse de l'unité ISL. Pour une instruction entrée/sortie normale, l'adresse de canal et le code fonction sont utilisés pour adresser un emplacement de mémoire dans l'unité ISL locale après que la demande a été transférée de l'unité locale à l'unité distante et renvoyée à l'unité ISL locale. L'adresse de l'emplacement de 20
mémoire est utilisé aussi bien pour une opération de lecture que pour une opération d'écriture. Pour une opération de lecture, les données demandées cheminent dans l'unité ISL locale par le trajet de relance d'opération, sont envoyées à l'unité ISL distante, puis renvoyées à l'unité ISL locale comme pour une boucle mémoire. 25 Toutefois, un cycle de demande de relance d'opération est utilisé. Un cycle de demande de relance locale est d'abord traité comme une instruction entrée/sortie normale. Cette demande est transférée à l'unité ISL distante dans laquelle le cycle de demande de relance distante est engendré. Il en résulte un cycle de ligne de communication 30 pour une adresse de canal qui n'est pas présente sur la ligne distante, mais est configurée dans la mémoire de bit d'activité de canal de l'unité ISL distante. L'unité ISL distante engendre une réponse d'attente et un cycle de demande de relance d'opération locale. La réponse d'attente engendre une réponse qui est envoyée à l'unité ISL 3s locale et celle-ci tente alors de relancer la même instruction comme décrit plus haut pour une instruction entrée/sortie normale. Le cycle de demande de relance d'opération locale engendré par l'unité ISL distante donne lieu à la génération d'un cycle de demande d'opération distante dans l'unité ISL locale. Ce cycle replacé sur la ligne 40 locale modifie l'instruction de demande de canal en une instruction de référence de mémoire. Le signal de référence de mémoire est porté à l'état 1 de telle sorte que les données accompagnant cette instruction sont en réalité envoyées à une mémoire s'il s'agit d'une opération d'écriture et, s'il s'agit d'une demande de lecture, la mémoire 45 fournit les données. Dans le cas d'une opération d'écriture, les données sont inscrites dans un emplacement que le processeur central peut lire en engendrant une instruction de comparaison afin de vérifier si les données reçues sont les mêmes que celles qui ont été envoyées. Comme cette instruction est confirmée par la mémoire, le so signal de confirmation est renvoyé à l'unité ISL distante par l'intermédiaire du signal de réponse distante comme décrit précédemment. En lançant le cycle de demande de relance d'opération à partir de l'unité ISL locale, l'instruction reçoit une réponse de confirmation qui est renvoyée au processeur central local qui a demandé le cycle 55 de lecture ou d'écriture. Le signal de confirmation envoyé de la mémoire locale à l'unité ISL locale est ensuite envoyé à l'unité ISL distante, puis renvoyé à l'unité ISL locale. Les données sont envoyées de l'unité ISL locale à l'unité ISL distante, puis renvoyées à l'unité ISL locale. Le cycle se déroule essentiellement comme un 60 cycle de demande de mémoire sauf qu'il utilise le trajet de relance d'opération et l'adresse de canal et le code fonction comme emplacement de mémoire. Les données utilisent tous les trajets de données de canal. Pendant la boucle entrée/sortie, le bit 10 de données est à l'état 0 et par conséquent pour une opération de lecture, le bit 18 d'adresse est à l'état 0 pour le cycle de réponse de la mémoire. La réponse de la mémoire se trouve chargée dans l'emplacement réponse de relance et engendre un cycle de réponse de relance d'opération locale. Ce cycle est confirmé car il s'agit d'un second demi-cycle de ligne et il engendre un cycle de réponse de relance d'opération distante dans l'unité ISL distante qui, à son tour, engendre le cycle de réponse de relance d'opération locale comme pour une réponse de mémoire. Ce cycle est de nouveau confirmé et engendre un cycle de réponse de relance d'opération distante dans l'unité ISL distante. Ce dernier cycle envoie les données au processeur central qui en a fait la demande et cela met fin à l'exécution de l'instruction boucle entrée/sortie.
Pour voir les portes qui commandent les fonctions d'essai spécifiques, on se référera à la fig. 14G. Le signal 53906 est appliqué à l'état 0 à la porte ET 443. Cela inhibe le signal de verrouillage 44311 et invalide ainsi la fonction. Comme décrit précédemment, ce signal commande certaines fonctions lors du lancement d'instructions intéressant la mémoire. Le signal 53907 est appliqué à la porte ET 627. Le signal de sortie 62708 est appliqué à la porte OU 625 et le signal de sortie 62508 est appliqué à l'entrée du registre 523. La sortie 52305 du registre est envoyée sur la ligne afin d'indiquer qu'il s'agit d'un cycle de mémoire de ligne. La porte 627 reçoit le signal 53914. Dans l'unité ISL locale, ce signal est à l'état 1 et dans l'unité ISL distante, il est à l'état 0, bloquant ainsi la référence de mémoire dans l'unité ISL distante. Cela permet de modifier une instruction entrée/ sortie en une instruction de référence de mémoire. Le signal 90201 permet une référence de mémoire pendant l'exécution d'un cycle de relance d'opération distante lorsque le signal 90101 est à l'état 1.
Sur la fig. 14R, on voit que le signal 53915 à l'entrée de la porte 622 est à l'état 0 dans l'unité ISL locale et à l'état 1 dans l'unité ISL distante. L'autre entrée de la porte 622 reçoit le signal 51707 qui est à l'état 1 lorsque l'unité ISL distante n'engendre pas un cycle de ligne de communication. Lorsque l'unité ISL distante reçoit une demande de trajet de relance d'opération d'une source extérieure, la porte 622 produit un signal à l'état 0. Ce signal est appliqué à la porte 546 dont la sortie 54608 est portée à l'état 0, inhibant ainsi l'unité ISL distante.
Le signal 62203 est appliqué à l'état 0 à une entrée de la porte ET 626 (fig. 141). Le signal de sortie 62606, à l'état 0, inhibe la sortie de la porte ET 548, ce qui inhibe la détection d'un bit d'activité de mémoire. Une source extérieure se trouve ainsi empêchée de lancer un cycle de demande de mémoire.
Pendant un mode boucle entrée/sortie, le signal 90201 se trouve appliqué à l'état 1 à une entrée de la porte NON-ET 623 (fig. 14P). Le signal 56802, qui est à l'état 1 lorsque la réponse distante est détectée à partir de l'unité ISL distante, est appliqué à une autre entrée de la porte 623. Le signal 53907 est appliqué à la dernière entrée de la porte 623. Le signal de sortie 62308, à l'état 0, met la bascule 297 à l'état 1. Lorsque l'unité ISL devient libre, le signal 29908 est porté à l'état 1, conditionnant ainsi la mise à l'état 1 de la bascule 318 lors de la montée du signal d'horloge 36008. Un cycle de comparaison se trouve ainsi lancé, qui envoie sur la ligne locale la réponse distante reçue par l'unité ISL locale. Le signal 53914 est appliqué à l'état 0 à l'entrée de la porte ET 445 (fig. 14K). Le signal de sortie 44512, à l'état 0, inhibe l'unité ISL connectée à l'une ou l'autre ligne de communication et l'empêche de répondre à une instruction.
49
640 645
Tableau 1
Types de cycles de transfert sur lignes et utilisation des fichiers
Registre
Registre
Type cycle entrées réserves
mnémonique mnémonique
Demande lecture mémoire
MRQ
MRS
Demande écriture mémoire
MRQ
Réponse lecture mémoire
MRS
Demande sortie I/O
RRQ
Demande entrée I/O
RRQ
R RS
Interruption
RRQ
Réponse entrée I/O
RRS
Lecture mémoire, test et posi
tionnement
RRQ
R RS
Lecture mémoire, blocage à
zéro
MRQ
MRS
Ecriture mémoire, blocage à
zéro
MRQ
Tableau 2A
Signaux
Commande clavier
Opération
Nombre
Primaire
Secondaire
BSWRIT
BSSHBC
BSMREF
cycles
T
F
T
Ecriture mémoire
1
CPU + eu
MEM
F T
F T
T F
Lecture mémoire réponse
1 1
CPU+eu MEM
MEM CPU+eu
T
F
T
Ecriture mémoire
1
CPU+eu
MEM
F T
P
T
F F
Lecture I/O et réponse
1 1
CPU
eu eu
CPU
T
F
F
Sortie adresse I/O
1
CPU
eu
T
F
F
Sortie données IOLD
1
CPU
eu
T
F
F
Interruption
1
eu
CPU
Tableau 2B
Lignes d'adresses
Lignes de données
0 23 Adresse
0 15 Données
0 23 Adresse
0 7 8 17 18 23 Numéro Usage canal variable secondaire
0 9 10 15 Numéro Usage canal variable primaire
0 15 Données
640 645
50
Tableau 2B (suite)
Lignes d'adresses
Lignes de données
0 23 Adresse multiplet
0 7 8 15 Données Données
0 7 8 17 18 23 Numéro canal secondaire
0 7 8 17 18 23 Numéro Usage canal variable secondaire
0 9 10 15 Numéro Usage canal variable primaire
0 15 Données
0 7 8 17 18 23 Adresse Numéro Code module canal ' fonc-secondaire tion
0 15 Adresse
0 7 8 17 18 23 Numéro Code canal fonc-secondaire tion
0 15 Données
0 7 8 17 18 23 Numéro MBZ canal secondaire
0 9 10 15 Numéro Niveau canal source primaire
Tableau 3
Opérations sur lignes de communications
Type d'opération
Source
Destination
Nombre de cycles
Recherche instruction
CPU
Mémoire
2
Recherche opérande
CPU
Mémoire
2
Mémorisation opérande
CPU
Mémoire
1
Lecture mémoire
Contrôleur
Mémoire
2
Ecriture mémoire
Contrôleur
Mémoire
1
Ordre sortie I/O
CPU
Contrôleur
1
Ordre entrée I/O
CPU
Contrôleur
2
Interruption
Contrôleur
CPU
1
CPU = Processeur central.
Tableau 4
Signaux d'interface de lignes de communications
Type de signal
Lignes
Fonction
Mémonique
Synchronisation
1
Demande de ligne
BSREQT-
1
Cycle données maintenant
BSDCNN-
1
Confirmation
BSACKR—
1
Confirmation négative
BSNAKR—
1
Attente
BSWAIT—
Information
16
Données
BSDT00— à
BSDT15-
51 640 645
Tableau 4 (suite)
Type de signal
Lignes
Fonction
Mémonique
24
Adresse
BSAD00— à
BSAD23 —
Commande information
1 1 1 1 1 1
Référence mémoire Multiplet Ecriture ligne
Seconde moitié du cycle de ligne Blocage
Double extraction
BSMREF-BSBYTE— BSWRIT— BSSHBC-BSLOCK— BSDBPL-
Etat/Erreur
1 1 1 1 1 1 1
Erreur mémoire (rouge) Erreur mémoire (jaune) Parité donnée gauche Parité donnée droite Parité adresse (bits 0-7) Test logique Sortie Test logique Entrée
BSREDD-
BSYELO-
BSDP00—
BSDP08 —
BSAP00—
BSQLTO—
BSQLTI—
Interruption de mobilisation
1 1 1 1 1 1 1 1 1 1
Réseau d'interruption de mobilisation Réseau d'interruption de mobilisation
BSAUOK+
BSBUOK+
BSCUOK+
BSDUOK+
BSEUOK+
BSFUOK+
BSGUOK+
BSHUOK+
BSIUOK+
BSMYOK+
Divers
1 1 1 1
Primaire (maître) à zéro Alimentation EN Reprise interruption Horloge 50-60 Hz
BSMCLR— BSPWON+ BSRINT— BSTIMR—
Tableau 5 Signaux d'interface d'unité ISL
Type
Fonction
Nombre de lignes
Indicatif local
Indicatif distant
Adresse
24
LCAD00+ à
LCAD23 +
RMAD00+ à
RMAD23 +
Données
16
LDAT00+ à
LDAT15+
RMDT00+ à
RMDT15+
Erreur mémoire réparable (jaune)
Transfert multiplet
Ecriture ligne
Référence mémoire
Blocage
Double extraction Primaire à zéro Reprise interruption
1 1 1 1 1 1 1 1
LCYELO +
LCBYTE+
LCWRIT+
LCMREF+
LCLOCK+
LCDBLE+
BSMCLR—
BSRINT+
RMYELO+
FILBYT+
FILWRT+
FIMREF+
FILOCK+
FILDBG+
BSMCLR—
BSRINT+
ISL
Echantillonnage distant Transfert effectué Engendrer demande mémoire Engendrer réponse mémoire
1 1 1 1
RMTSTB + XFRDUN+ GENMRQ — GENMRS —
RMTSTB + XFRDUN+ GENMRQ— GENMRS-
640 645
52
Tableau 5 (suite)
Type
Fonction
Nombre
Indicatif
Indicatif de lignes local distant
Engendrer demande relance d'opé
ration
1
GENRRQ—
GENRRQ-
Engendrer réponse relance d'opé
ration
1
GENRRS—
GENRRS-
Accusé de réception ligne distante
1
RMACKR+
RMACKR+
Accusé de réception négatif ligne
distante
1
RMNAKR+
RMNAKR+
Réponse relance
1
RMRESP+
RMRESP+
Réponse confirmée
1
ANSWAK+
ANSWAK+
Traduire numéro canal
1
XLATOR—
XLATOR—
Fonction distante
1
FMTFUN+
RMTFUN+
ISL à zéro
1
MYMCLR—
MYMCLR—
Connecté en paire
1
TWINCN—
TWINCN—
Erreur parité adresse
1
LCAPER+
LCAPER+
Erreur parité donnée
1
LCDPER+
LCDPER+
Mémoire non existante
1
NOXMEN—
NOXMEM—
Dépassement du temps imparti au
Contrôleur de séquence distant
1
WTIMOT+
WTIMOT+
Dépassement du temps imparti
pour une réponse
1
RMTOUT—
RMTOUT—
Tableau 6 en page suivante
Tableau 7 Format d'instruction IOLD
I. Ligne d'adresse 7 8 17 18
23
Bits d'adresse 0 à 7
MBZ
Numéro canal destination
FC = 09
2. Ligne de données 0 15
Bits d'adresse 8 à 23
3. Ligne d'adresse
17 18
23
Numéro canal destination
FC = OD
Tableau 8 Instructions entrée/sortie ligne-ISL
Type
Code fonction
Instruction
Sortie I/O
01
Mot de commande
03
Commande interruption
27
Remise à zéro masque rythmeurs/
interruption
OB
Adresse masque sortie
11
Données masque sortie
Entrée I/O
02 10 18 26
Commande interruption Données masque entrée Mot d'état
Identification dispositif
4. Ligne de données 0 15
Gamme
53
640 645
Tableau 6
MOT NO. DEC
MOT NO. MEM
E 5<
UT
aOS DFÏÏ
. E
MOT NO DEC
MOT NO. MEM
5
3IT. =OS 0FÏÏIF
MOT NO. DEC
MOT NO. MEM
BIT POS SOTIE
MOT NO. DEC
MOT NO. MEM
BIT
POS SORTIE
MOT NO-DEC
MOT NO. MEM
BIT. POS 50RT1F
3
2
1
0
3
2
1
0
3
2
1
0
3
2
1
0
32
1
0
0
0
52
34
103
67
1
1
1
1
154
9A
205
CU
1
53
35
104
G8
155
98
206
CE
2
2
54
36
105
69
156
9C.
207
CF
3
3
55
,37
106
6A
157
90
208
DO
4
4
56
38
107
6B
158
9E
209
ni
5
5
57
39
108
6C
159
9F
210
D2
6
6
58
3A
109
6D
160
AO
211
03
7
7
59
3B
110
6E
161
Al
212
D4
8
8
60
3C
111
6F
162
A2
213
05
9
9
61
30
112
70
163
A3
214
06
10
A
62
3E
113
71
164
A4
215
D7
11
B
63
3F
114
72
165
A5
216
D8
H
1
0
12
C
64
40
115
73
166
A6
1
1
1
0
217
D9
13
D
65
41
0
0
0
1
116
74
167
A7
1
1
1
1
218
DA
14
E
66
42
1
0
0
0
117
75
168
A8
219
DB
15
F
67
43
1
0
a
1
118
76
169
A9
220
DC
16
10
68
44
119
77
170
AA
221
00
17
11
69
45
120
78
171
AB
222
DE
18
12
70
46
121
79
172
AA
223
DF
19
13
71
47
122
7A
173
AD
224-
FO
20
14
72
48
123
78
174
AE
225
F1
21
IS
73
49
124
7C
175
AF
226
E2
22
Ifa
74
4A
125
7D
178
RO
227
F3
23
17
75
4B
0
1
p
1
126
7E
177
C1
223
F4
24
10
1
0
1
ç
75
4C
127
7F
178
C?
229
F5
25
19
77
40
128
80
179
RI
230
Ffi
1
1
n
26
1A
78
4E
129
81
180
B4
231
F7
1
1
i
27
1B
79
4F
130
82
181
B5
232
Ffl
28
1C
8p
50
1
1
D
0
131
83
182
B6
233
E9
29
1D
81
51
1
1
0
1
132
84
B3
B7
234
EA
30
1E
82
52
133
85
184
B8
235
EB
31
1F
83
53
134
86
185
B9
236
EC
32
20
84
54
135
87
186
BA
237
ED
33
21
85
55
136
88
W
BB
238
EE
34
22
85
56'
137
89
188
BC
239
FF
35
23
87
57
138
8A
189
BD
240
F0
36
88
58
1
0
1
0
139
8B
190
BE
241
FI
37
25
89
59
140
8C
191
BF
242
F?
38
26
1
1
1
0
90
5A
141
8D
192
C0
243
F3
39
27
1
1
1
1
91
5B
142
8E
193
CI
D
0
P
1
244
F4
40
28
92
5C
143
8F
194
C2
245
F5
41
29
93
5D
144
90
195
C3
246
F6
42
2A
94
5E
145
91
196
C4
247
F7
43
2B
95
5F
146
92
197
C5
248
F8
44
2C
96
60
147
93
198
C6
249
F9
45
2D
97
61
148
94
199
C7
250
FA
46
2E
S8
62
149
S5
200
C8
251
FB
47
2F
99
63
150
96
201
C9
252
FC
48
30
100
64
151
97
202
CA
253
FD
49
31
101
65
152
98
1
0
1
0
203
CB
254
FE
50
32
102
66
1
1
1
0
153
99
204
CC
255
FF
51
33
640 645
54
Tableau 9 Commutateur d'état actif,(passif
Ordre
Actif
Passif
En réserve
En connexion
Arrêt
Essai
Dénomination
01
x
x x
x x
Mot de commande
03
x
x
x x
Commande d'interruption ri x
x x
x x
x
Remise à zéro masque rythmeurs/interruption
OB
x
x
x x
Adresse masque sortie
11
X
x
x x
Donnée masque sortie
02
X
x
x x
Commande d'interruption
10
X
x
x x
Donnée masque entrée
18
X
x x
x x
x
Mot d'état
26
X
x x
x x
x
Identification dispositif
Tableau 10
Tableau 12 Bits d'état ISL
BitO
Bit 1
Bit 2
Bit 3
Bit 4
1
X
X
X
X
Initialiser
0
1
X
X
X
Arrêt
0
0
X
X
X
Reprise
0
X
X
X
1
NAK/relance
0
X
1
X
X
Renvoi références non mémoire comme référence de mémoire
0
X
X
1
X
Unité ISL distante répond uniquemement à ses propres cycles de ligne
Tableau 11
Bit 0 = 1
Remise à zéro état rythmeur arrêt mémoire
Bit 1 = 1
Remise à zéro état rythmeur arrêt E/S
Bit 2 = 2
Remise à zéro bit état et rythmeur de con
trôleur de séquence
Bit 3 = 1
Remise à zéro état rythmeur relance
Bit 4 = 0
Blocage rythmeur de contrôleur de séquence
local et interruptions
Bit 4 = 1
Validation rythmeur de contrôleur de
séquence local et interruptions
Bit 5 = 0
Blocage interruptions rythmeur de contrô
leur de séquence distant
Bit 5 = 1
Validation interruptions rythmeur de con
trôleur de séquence local
Bit 6 = 0
Blocage interruptions distantes
Bit 6 = 1
Validation interruptions distantes
Bit 7 = 0
Mise hors service rythmeurs E/S et arrêt
relance
Bit 7 = 1
Validation rythmeurs E/S et arrêt relance
Bit 8-15
RFU
Bit
Identification
Définition
0
En connexion directe
Les deux unités ISL
sont opérationnelles
sous tension
1
Interruption distante
Ce bit est un bit d'état
composé représentant
trois bits d'état dis
tants et soumis à
deux bits de masque.
Ce bit est vrai si:
masque de rythmeur
de contrôleur de sé
quence distant à
l'état 1 (bit 5 de code
fonction 27)
ET
temps du rythmeur de
contrôleur de sé
quence distant
dépassé (bit 6 d'état
distant)
OU
masque d'erreur distant
à l'état 1 (bit 6 de
code fonction 27)
ET
ressource distante non
existante (bit 13
d'état distant)
3
Commutateur actif
L'unité locale est dans
l'état actif
6
Rythmeur du con
Cette condition est
trôleur de sé
soumise au masque
quence local:
de rythmeur de con
temps dépassé
trôleur de séquence
local (bit 4 de code
fonction 27)
8
Arrêt relance
Le rythmeur d'arrêt de
relance d'opération a
expiré
55
640 645
Tableau 12 (suite) Bits d'état ÎSL
Bit
Identification
Définition
9
Arrêt entrée/sortie
Le rythmeur d'arrêt d'entrée/sortie a expiré
10
Arrêt lecture mémoire
Le rythmeur d'arrêt de lecture de mémoire a expiré
13
Ressource non existante
L'unité ISL a reçu un signal NAK de la mémoire pour une de ses opérations de mémoire non bloquées
14
Parité ligne
L'unité ISL a détecté une parité incorrecte pour un transfert qui lui est destiné
2
4
5 7
11
12 15
RFU
Tableau 13
Tableau de concordance entre les blocs fonctionnels de la fig. 8 et les schémas des fig. 14
Figure
Titre
N° référence sur fig. 8
14A
Interface ligne de communication
14B
Transmetteurs-récepteurs de données et de commande
90/141
14C
Transmetteurs-récepteurs d'adresse et de commande
98/123
14D
Commande ligne de communication
14E
Multiplexeur et registre d'adresse de ligne
111
14F
Ligne d'intercommunication données et adresse
105/117
14G
Multiplexeur et registre de données
138
14H
Logique de commande de réponse de ligne
141
Registre de commande de mode (539)
Logique de réponse distante
135
I4J
Commutateur rotatif hexadécimal et comparateur d'adresse
140/99
14K
Mémoire morte et décodeur de code fonction
102/106
14L
Générateur de mise à zéro maître
94
Figure
Titre
N° référence sur fig. 8
14M
Registres de canal et de niveau d'in
132/134
terruption
Multiplexeur d'adresse pour bits 14-17
112
14N
Commande fichier complet et cycle
140
Fichiers de données et d'adresses
103/92
Transmetteur-registre de fichier de
121
données (367-368)
14P
Comparaison ligne
93
14Q
Compteur de mémoire à accès sélec
108/118
tif et commande
14R
Adresse de canal et mémoire
100/101
Mémoire de masques de canaux
142
(276)
14S
Mémoires de traduction d'adresses
125
mémoire
Registre de référence de mémoire et
126/127
de changement entrée/sortie
14T
Multiplexeur de données interne
129
14U
Logique cycle de transfert
14V
Générateur de cycle
146
14W
Registre d'adresses destination pro
114/131
cesseur central et mémoire de tra
duction
Registre d'adresses source proces
136/113
seur central et mémoire de traduc
tion
Multiplexeur de données (780)
137
14X
Rythmeur de contrôleur de séquence
133
et commande d'interruption
14Y
Etat mémoire et rythmeur entrée/
133
sortie
14Z
Dispositif d'excitation/récepteurs
104/115
d'adresse de ligne d'intercommu
nication
14AA
Dispositif d'excitation/récepteurs de
116/139
données de ligne d'intercommuni
cation
14AB
Dispositif d'excitation/récepteurs de
commande ISL
14 AC
Connecteurs et termineurs de ligne
d'intercommunication
Tableau 14
Nom générique
Modèle
Planche dessin
N° référence
T ransmetteur-récepteur
26S10 *1
14B
263
Mémoire morte pro
5603A *2
14K
399
grammable
Inverseur à bascule de
7414
14X
261
Schmitt hexadécimal
Décodeurs/démulti
74154
14K
397
plexeur 4/16 lignes
Registres type D 4 bits
74173
14K
400
5
10
15
20
25
30
35
40
45
50
55
60
65
640 645
Tableau 14 (suite)
Nom générique
Modèle
Planche dessin
N° référence
Bascules type D hexadé
74174
14G
515
cimal
Multivibrateurs mono
74221
14Y
611
stables doubles
Bascules type D octal
74273
14G
523
Porte NON-ET positive
74H21
14V
583
4 entrées double avec
sorties à collecteur
ouvert
Portes NON-ET positi
74LS00
14R
622
ves 2 entrées quadru
ples
Portes NI positives
74LS02
14N
482
2 entrées quadruples
Inverseurs hexadécimaux
74LS04
140
408
Porte ET positive
74LS08
14H
606
2 entrées quadruple
Porte NON-ET positive
74LS10
14G
465
3 entrées triple
Bascules type D quadru
74LS175
14P
568
ples
Compteurs réversibles
74LS193
14X
636
synchrones (binaire
avec mise à zéro)
Portes NON-ET positi
74LS20
14X
607
ves 4 entrées doubles
Portes ET positives
74LS21
14X
634
4 entrées doubles
Sélecteurs/multiplexeurs
74LS258
14J
436
de données quadruples
Multiplexeurs 2 entrées
74LS298
14G
526
quadruples avec
mémoire
Portes à inversion ET/
74LS51
141
570
OU
Fichiers à registres 4x4
74LS670
140
365
Bascules type D doubles
74LS74
14N
487
déclenchées par front
positif avec établisse
ment préalable et mise
à zéro
Portes NON-ET positi
74S00
140
476
ves 2 entrées quadru
ples
Portes NI positives
74S02
14D
292
2 entrées quadruples
Inverseurs hexadécimaux
74S04
14B
241
Portes ET positives
74S08
140
409
2 entrées quadruples
Portes NON-ET positi
74S10
140
411
ves 2 entrées triples
Bascules J-K doubles dé
74S112
14D
534
clenchées par front
négatif avec établisse
ment préalable et mise
à zéro
Portes ET positives
74S11
14D
256
3 entrées triples
Nom générique
Modèle
Planche dessin
No référence
Portes NON-ET positi
74S133
14D
520
ves 13 entrées
Excitateurs de ligne
74S140
141
216
50 ohms à fonction
NON-ET positive
4 entrées doubles
Sélecteurs/multiplexeurs
74S153
14N
396
de données doubles
4 lignes/1 ligne
Sélecteurs/multiplexeurs
74S157
14E
159
de données 2/1 ligne
quadruples (sorties
données sans inver
sion)
Bascules type D qua
74S175
14K
418
druples
Portes NON-ET positi
74S20
14V
645
ves 4 entrées doubles
Portes NI positives
74S260
14H
130
5 entrées doubles
Portes OU positives
74S32
14G
513
2 entrées quadruples
Bascules type D octal
74S373
140
367
Portes ET/OU/NON
74S51
141
281
Portes ET/OU/NON 4-
74S64
14D
278
2-3-2 entrées
Bascules type D doubles
74S74
14H
433
déclenchées par front
positif avec établisse
ment préalable et
mise à zéro
Portes OU-exclusif
74S86
14L
251
2 entrées quadruples
Générateur de parité
86S62 *3
14B
232
Mémoire à accès sélectif
93425A *4
14R
276
à 1024 adresses
Comparateur
93S47 *5
14P
384
Ligne de retard 125 ns
DLY125T*6
14V
374
Ligne de retard 150 ns
DLY150T*6
141
358
Ligne de retard 200 ns
DLY200T *6
14L
467
Ligne de retard 40 ns
DLY6040 *6
14D
255
Fabricants :
*1 - Advanced Micro Devices, Sunnyvale, California. *2 - Intersil, Sunnyvale, California.
*3 - Signetics, Sunnyvale, California.
*4 - Fairchild, Mountain View, California.
*5 - Fairchild, Mountain View, California.
* Honeywell
Spécialement fabriqué pour utilisation dans l'unité de liaison intersystème. Ces dispositifs sont décrits dans les publications suivantes, à disposition du public:
1. Document N° 11040109, Rev. A.
2. Spécification N° 60067122, Rev. A.
3. Spécification N° 04550072, Rev. C.
4. Spécification N° 04550075, Rev. C.
5. Spécification N° 04550079, Rev. B.
6. Spécification N° 04550081, Rev. B.
56
5
10
15
20
25
30
35
40
45
50
55
60
65
57
640 645
Tableau 15
1
Adresse (24 lignes)
2
Données (16 lignes)
3
Multiplet
4
Erreur de mémoire non réparable (rouge)
5
Erreur de mémoire réparable (jaune)
6
Référence mémoire
7
Accusé de réception négatif
8
Attente
9
Accusé de réception
10
Demande de ligne
11
Cycle données maintenant
12
Reprise interruption
13
Mémoire primaire vide
14
Ecriture
15
Blocage
16
Second demi-cycle ligne
17
Parité donnée (multiplet droit)
18
Parité donnée (multiplet gauche)
19
Tension branchée
20
Test logique out
21
Test logique in
22
Double extraction
23
Interruption liaison (10 lignes)
24
Parité adresse
25
Synchronisation temps
Tableau 16
Légende fig. 11
1
Adresse (24 lignes)
2
Données (16 lignes)
3
Erreur de mémoire réparable (jaune)
4
Transfert multiplet
5
Ecriture ligne
6
Référence mémoire
7
Blocage
8
Double extraction
9
Mémoire primaire à zéro
10
Interruption reprise
11
Echantillonnage distant
12
Transfert effectué
13
Générer demande mémoire
14
Générer réponse mémoire
15
Générer demande relance opération
16
Générer réponse relance opération
17
Confirmation ligne distante
18
Confirmation négative ligne distante
19
Réponse relance d'opération
20
Confirmation de réponse
21
Convertir numéro canal
22
Fonction distante
23
ISL à zéro
24
Connecté parité adresse
25
Erreur parité adresse
26
Erreur parité donnée
27
Mémoire inexistante
28
Contrôleur distant - temps dépassé
29
Unité distante morte - temps dépassé
R
74 feuilles dessins

Claims (9)

  1. 640 645
    2
    REVENDICATIONS
    1. Unité de transfert de données permettant, à l'aide d'une seconde unité identique mais éloignée, un transfert d'information entre des bus bidirectionnels, l'un local, l'autre éloigné, auxquels sont couplés des dispositifs de traitement de données, ces unités fonctionnant pour établir une voie de transfert série et chaque transfert d'information étant accompagné par une information d'adresse identifiant au moins la destination propre de l'information et, dans le cas du transfert d'information exigeant une réponse, aussi par une information d'adresse identifiant le dispositif utilisant l'information demandée, caractérisée en ce que, pour être transparente aux transferts d'information entre le bus local (12) et le bus éloigné (21) auquel l'unité de transfert de données éloignée (ISL-11) est reliée et pour permettre des transferts bidirectionnels d'information entre les bus, elle comprend:
    a) des moyens d'acquisition comprenant une première interface unidirectionnelle du bus local (90, 91, 96, 98) et plusieurs registres (92,103) qui lui sont reliés et qui définissent des emplacements de mémorisation attribués pour l'information reçue depuis le bus local, ces emplacements étant ordonnés selon un principe de priorité, les moyens d'acquisition saisissant l'information de façon asynchrone sur le bus local (12) lors d'un premier cycle de fonctionnement, dit cycle d'acquisition,
    b) des moyens de détection d'information (100,101,125,142) pour détecter, dans l'interface du bus local de l'information adressée à l'unité de transfert de données ou à un dispositif couplé au bus éloigné (21) et permettant ainsi aux moyens d'acquisition d'acquérir cette information, les moyens de détection fonctionnant durant le cycle d'acquisition,
    c) des moyens de traduction d'adresse (100,113,114,125,131, 136) couplés aux registres, qui convertissent sélectivement de l'information d'adresse mémorisée dans les registres en une information d'adresse se rapportant au bus éloigné (21), la conversion étant effectuée durant le cycle d'acquisition,
    d) une première interface unidirectionnelle pour l'unité de transfert éloignée (105,115,117, 121,126,127,129,139) qui, durant un cycle suivant, le cycle d'acquisition transmet les informations mémorisées et toute information d'adresse traduite correspondante à l'unité de transfert éloigné,
    e) une seconde interface unidirectionnelle pour l'unité de transfert (105,116,117) pour recevoir de l'information d'un dispositif couplé au bus éloigné (21) au travers de l'unité de transfert de données éloignée (11), en réponse à une demande de cette information effectuée au préalable par un dispositif couplé au bus local (12),
    f) une seconde interface unidirectionnelle du bus local (111,123, 138, 141) pour transférer cette information de réponse au bus local (12) en même temps que de l'information d'adresse se rapportant au dispositif couplé au bus local, ayant formulé la demande, et g) un appareil de commande logique, relié électriquement avec les première et seconde interfaces unidirectionnelles du bus local, les moyens de détection d'information, les moyens de traduction d'adresses, et les première et seconde interfaces unidirectionnelles pour l'unité de transfert de données éloignée, réagissant, grâce aux moyens d'acquisition, à la détection de premiers signaux de commande sur le bus local pour former la configuration des moyens de détection et des moyens de traduction et à la détection de seconds signaux de commande sur le bus local pour exécuter un transfert bidirectionnel d'information depuis et vers le bus local.
  2. 2. Unité de transfert de données selon la revendication 1, caractérisée en ce que les registres comprennent un registre de fichier de données (92) et un registre de fichier d'adresses (103), chacun ayant plusieurs emplacements de mémorisation attribués communs et chacun étant couplé à l'appareil de commande logique, de telle façon que, dans l'ordre de priorité, un premier des emplacements attribués dans chaque registre mémorise de l'information se rapportant à une réponse de mémoire, un second des emplacements attribués dans chaque registre mémorise de l'information se rapportant à une demande de mémoire, un troisième des emplacements attribués dans chacun des registres mémorise de l'information se rapportant à une réponse d'un dispositif non mémorisant et un quatrième des emplacements attribués mémorise de l'information se rapportant à une demande d'un dispositif non mémorisant.
  3. 3. Unité de transfert de données selon l'une des revendications 1 ou 2, caractérisée en ce qu'elle comporte un emplacement de bit d'occupation associé avec chaque emplacement de mémorisation et couplé à l'appareil de commande logique, l'état de ce bit définissant envers l'appareil de commande logique si l'emplacement de mémorisation respectif est occupé ou libre.
  4. 4. Unité de transfert de données selon l'une des revendications précédentes, caractérisée en ce qu'elle est agencée de manière que, lorsque des transferts à effectuer au travers de l'unité sont identifiés, les moyens de détection d'information (100,101,142,145) émettent vers l'appareil de commande logique des signaux qui identifient des premier et second demi-cycles se rapportant au transfert d'information et en ce qu'un comparateur (93), qui est couplé à l'appareil de commande logique, à la seconde interface pour l'unité de transfert de données éloignée et aux registres, compare de l'information reçue par la seconde interface pour l'unité de transfert de données éloignée avec de l'information reçue du bus local et mémorisée dans les registres durant un cycle d'opérations préalable, le comparateur permettant à la seconde interface du bus local de transférer l'information contenue dans la seconde interface pour l'unité de transfert de données éloignée vers le bus local.
  5. 5. Unité de transfert de données selon les revendications 2 et 4, caractérisée en ce que les moyens de détection d'information comprennent un décodeur d'adresses de voies (142) et un décodeur d'adresses de mémoire (125), le décodeur d'adresses de voies réagissant seulement aux informations d'adresse qui ne se rapportent pas à la mémoire de façon à obliger l'appareil de commande logique de traiter l'information acquise comme un transfert ne se rapportant pas à la mémoire et le décodeur d'adresses de mémoire réagissant seulement aux informations d'adresse de mémoire de façon à obliger l'appareil de commande logique de traiter l'information acquise comme un transfert de mémoire.
  6. 6. Unité de transfert de données selon l'une des revendications précédentes, caractérisée en ce que les moyens de traduction d'adresse comprennent:
    a) une mémoire à accès sélectif (RAM, 125) pour traduire de l'information d'adresse reçue du bus local en adresses de mémoire pour le bus éloigné,
    b) une mémoire à accès sélectif (RAM, 131) de traduction d'adresse de processeur central (CPU) destinataire, pour convertir sélectivement de l'information d'adresse locale de processeur central (CPU) apparaissant sur des lignes d'adresse en adresses pour des processeurs centraux (CPU) couplés au bus éloigné, et pour convertir sélectivement de l'information d'adresse de processeur central (CPU) éloigné apparaissant sur des lignes d'adresses en adresses de processeurs centraux (CPU) couplés au bus local, et c) une mémoire à accès sélectif (RAM, 113) de traduction d'adresse de processeur central (CPU) source, pour convertir sélectivement de l'information d'adresse de processeur central (CPU) apparaissant sur des lignes de données en adresses de processeur central (CPU) éloigné pour la mémorisation dans l'unité de transfert éloignée et pour convertir sélectivement de l'information d'adresse de processeur central (CPU) éloigné fournie sur les lignes de données en adresses de processeur central (CPU) local pour la mémorisation dans l'unité de transfert locale.
  7. 7. Unité de transfert de données selon l'une des revendications précédentes, caractérisée en ce que l'appareil de commande logique comprend:
    a) des moyens de commande d'état réagissant à des moyens de mémorisation dans l'unité et aux moyens d'acquisition pour placer l'unité dans un des états logiques suivants:
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    65
    3
    640 645
    i) en ligne,
    ii) effacement,
    iii) arrêt,
    les moyens d'acquisition comprenant des moyens de décodage (94) réagissant à de l'information apparaissant à l'interface du bus local de façon à générer des signaux d'arrêt et de remise à zéro, le signal de remise à zéro effaçant les registres de mémoire dans l'unité de transfert,
    b) des moyens générateurs de cycle (146) réagissant aux moyens de détection d'information et aux moyens de commande d'état pour générer sélectivement des signaux de synchronisation internes, asynchrones par rapport au rythme des cycles du bus local, de façon à commander le passage d'information au travers de l'unité de transfert,
    c) un appareil de synchronisation et de logique d'état (133) réagissant à l'état de moyens de mémorisation pour détecter et contourner des impasses pour le passage d'information et indiquant de telles situations, et d) des moyens d'interruption (132, 134) réagissant à l'appareil de synchronisation et de logique d'état, à l'état des moyens de mémorisation et aux moyens d'acquisition pour identifier l'apparition d'interruptions extérieures.
  8. 8. Unité de transfert de données selon les revendications 6 et 7, caractérisée en ce qu'elle comprend des moyens de décodage de code de fonctionnement (102, 106) réagissant aux moyens d'acquisition, aux moyens générateurs de cycle et à l'appareil de commande logique, pour communiquer aux moyens de commande d'état, à l'appareil de synchronisation et de logique d'état et aux moyens d'interruption un ordre choisi parmi plusieurs ordres internes, et des moyens de reconfiguration (108, 118) couplés aux mémoires à accès sélectif (RAM) de traduction d'adresse, à l'appareil de commande logique, aux moyens d'acquisition et aux moyens de décodage de code de fonctionnement pour reconfigurer l'information mémorisée dans les moyens de traduction d'adresse lors de l'apparition des premiers signaux de commande.
  9. 9. Unité de transfert de données selon les revendications 5 et 8, caractérisée en ce que le décodeur d'adresses de voies comprend une mémoire à accès sélectif (RAM) de masquage de voie (142) et en ce que les moyens de reconfiguration (108, 118) sont couplés à la mémoire à accès sélectif (RAM) dé masquage de voie de façon à reconfigurer l'information mémorisée en elle à l'apparition des premiers signaux de commande.
CH971479A 1978-10-31 1979-10-30 Data transfer unit CH640645A5 (en)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US95638678A 1978-10-31 1978-10-31
US95638878A 1978-10-31 1978-10-31
US95638378A 1978-10-31 1978-10-31
US95638778A 1978-10-31 1978-10-31
US95638178A 1978-10-31 1978-10-31
US05/956,384 US4236208A (en) 1978-10-31 1978-10-31 Test mode control logic system
US05/956,385 US4234919A (en) 1978-10-31 1978-10-31 Intersystem communication link
US05/956,389 US4236209A (en) 1978-10-31 1978-10-31 Intersystem transaction identification logic
US05/956,382 US4231086A (en) 1978-10-31 1978-10-31 Multiple CPU control system

Publications (1)

Publication Number Publication Date
CH640645A5 true CH640645A5 (en) 1984-01-13

Family

ID=27578915

Family Applications (1)

Application Number Title Priority Date Filing Date
CH971479A CH640645A5 (en) 1978-10-31 1979-10-30 Data transfer unit

Country Status (2)

Country Link
CH (1) CH640645A5 (fr)
DE (1) DE2943564A1 (fr)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1151351B (it) * 1982-01-19 1986-12-17 Italtel Spa Disposizione circuitale atta a realizzare lo scambio di dati tra una coppia di elaboratori operanti secondo il principio master-slave
NL8202060A (nl) * 1982-05-19 1983-12-16 Philips Nv Rekenmachinesysteem met een bus voor data-, adres- en besturingssignalen, welke bevat een linkerbus en een rechterbus.
DE3632997C2 (de) * 1986-09-29 1995-09-07 Siemens Ag Schaltungsanordnung zur Steuerung des Datentransfers zwischen miteinander verbundenen Steuereinrichtungen
DE10119472A1 (de) * 2001-04-20 2002-10-31 Harman Becker Automotive Sys Schnittstelle für die Datenübertragung zwischen zwei Bussystemen und Betriebsverfahren dafür

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1080318A (fr) * 1975-10-14 1980-06-24 Daren R. Appelt Coupleur de bus de communication

Also Published As

Publication number Publication date
DE2943564A1 (de) 1980-06-04

Similar Documents

Publication Publication Date Title
EP0003493B1 (fr) Système de transmission de données entre des stations connectées en boucle
FR2480460A1 (fr) Dispositif pour transferer des informations entre des unites principales d&#39;un systeme de traitement de donnees et un sous-systeme central
US4038644A (en) Destination selection apparatus for a bus oriented computer system
FR2519441A1 (fr) Systeme de selection de priorite pour l&#39;acces a un bus utilise en mode partage
US4683564A (en) Matrix switch system
EP0167193B1 (fr) Système d&#39;arbitrage des demandes d&#39;accès de plusieurs processeurs à des ressources communes, par l&#39;intermédiaire d&#39;un bus commun
FR2500187A1 (fr) Unite centrale de traitement de donnees
FR2480458A1 (fr) Dispositif pour transferer des informations entre des unites d&#39;un systeme de traitement de donnees
FR2630839A1 (fr) Procede et dispositif de controle de l&#39;acces a un bus dans un systeme informatique
FR2547082A1 (fr) Systeme de traitement par multiprocesseurs
EP0063071A1 (fr) Procédé et dispositif de transmission de données numériques
CH616251A5 (fr)
JPS60500195A (ja) デイジタル通信リンクに円滑に割込む方法と装置
FR2671206A1 (fr) Adaptateur de bus bidirectionnel.
FR2472234A1 (fr) Protocoles de communication geres par les modules de communication utilises dans un systeme de traitement de donnees reparti
FR2486682A1 (fr) Systeme de traiteme
FR2546354A1 (fr) Circuit d&#39;interface de canal de commande dans un systeme de telecommunication
FR2519443A1 (fr) Systeme d&#39;attribution de l&#39;acces a une ressource utilisee en mode partage a la demande
FR2519440A1 (fr) Procede et dispositif d&#39;attribution de l&#39;acces a un bus utilise en mode partage
FR2680256A1 (fr) Appareil et procede de transfert de donnees permettant la communication entre un peripherique et un dispositif de commande de bus.
EP0005722A1 (fr) Système de sélection de circuit d&#39;interface prioritaire
FR2528195A1 (fr) Systeme de communication entre ordinateurs
CA2006831C (fr) Systeme d&#39;emission de trames hdlc sur canal de type mic, a circuit hdlc unique et memoire tampon de transposition
EP0120495B1 (fr) Dispositif d&#39;échange de messages codés entre stations
FR2647923A1 (fr) Processeur de donnees

Legal Events

Date Code Title Description
PL Patent ceased