CH632350A5 - Data processing assembly - Google Patents

Data processing assembly Download PDF

Info

Publication number
CH632350A5
CH632350A5 CH1201077A CH1201077A CH632350A5 CH 632350 A5 CH632350 A5 CH 632350A5 CH 1201077 A CH1201077 A CH 1201077A CH 1201077 A CH1201077 A CH 1201077A CH 632350 A5 CH632350 A5 CH 632350A5
Authority
CH
Switzerland
Prior art keywords
lcp
processor
data
state
memory
Prior art date
Application number
CH1201077A
Other languages
English (en)
Inventor
Darwen John Cook
Donald Alexander Ii Millers
Original Assignee
Burroughs Corp
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
Application filed by Burroughs Corp filed Critical Burroughs Corp
Publication of CH632350A5 publication Critical patent/CH632350A5/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/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Information Transfer Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

La présente invention a pour objet un ensemble de traitement de données selon le préambule de la revendication 1. La structure générale d'un système de traitement de données comporte de façon caractéristique un ou plusieurs processeurs, une mémoire principale et un ensemble de types différents de périphériques ou de terminaux (souvent appelés unités I/O) qui peuvent être de façon plus caractéristique des lecteurs de cartes, des unités à bande magnétique, des perforatrices de cartes, des imprimantes, des disques, des terminaux de contrôle, etc. Les systèmes optimaux présentent généralement une structure dans laquelle les dispositifs périphériques sont traités par des unités de commande d'interface indépendantes, de sorte que le processeur est libre d'accéder aux données et de traiter celles contenues dans la mémoire principale. Dans des structures comportant des moyens de commande distincts pour les dispositifs périphériques entrée/sortie, il est possible d'effectuer un traitement parallèle ou simultané se produisant en même temps que les opérations entrée/sortie (I/O). Ces opérations de traitement concurrent I/O se produisent dans le même programme que celui de l'un des processeurs et qui commence toutes les opérations entrée/sortie. En plus du programme, il faut des moyens pour déterminer si les opérations I/O sont inactives ou ont été terminées.
A titre d'exemple, si un programme demande qu'un dossier de données soit chargé dans la mémoire principale, il faut pouvoir déterminer si l'opération a été terminée avant que l'on ne puisse utiliser les données. Ainsi, on commence ou on démarre, par le programme, une opération entrée/sortie comme pour certains types d'instructions d'initiation qui fournissent de façon caractéristique une adresse indiquant un descripteur I/O, qui est stocké dans la mémoire principale. Ce descripteur identifie le périphérique qui a envoyé ou transmis les données, le type d'opérations telles que lecture ou inscription; il identifie le domaine des positions de la mémoire principale à utiliser pour l'opération entrée/sortie. De façon générale, ce descripteur I/O est transféré à un moyen de commande (moyen de commande I/O) pour commander le transfert des données entre le terminal périphérique et la mémoire principale.
Lorsque l'opération entrée/sortie est terminée, par exemple par le transfert des données de l'unité périphérique à la mémoire principale pour charger la mémoire principale, il faut une déclaration d'achèvement qui est appelée de façon caractéristique descripteur de résultat. Généralement, ce descripteur est transféré de la commande I/O à une position caractéristique dans la mémoire principale connue pour le programme utilisé. De façon caractéristique, le descripteur de résultat comporte des informations identifiant le terminal périphérique particulier et des informations quant au résultat ou à l'état de l'opération entrée/sortie particulière, pour donner une information indiquant si le transfert était complet et correct ou si des conditions exceptionnelles se sont produites et si une quelconque erreur ou une situation quelconque particulière s'est produite pour la transaction concernant le terminal périphérique particulier.
2
5
10
15
20
25
30
35
40
45
50
55
60
65
3
632350
Ainsi, lorsqu'un programme commence une opération entrée/ sortie, il faut que le programme comporte des moyens pour déterminer si l'opération entrée/sortie a été terminée. Une technique classique pour cela est que le programme comporte des instructions pour interroger périodiquement le descripteur de résultat, pour déterminer quand et si une opération entrée/sortie particulière a été effectuée. Cependant, il est beaucoup plus simple qu'un moyen de commande entrée/sortie indique si l'opération de transfert a été terminée. Pour effectuer cela, il est généralement nécessaire d'interrompre l'opération que le processeur est en train d'exécuter et de l'obliger à examiner le descripteur de résultat pour prendre une décision adéquate. Cet arrêt ou interruption des activités du processeur est généralement appelé interruption.
Lorsqu'une interruption se produit, il faut que le processeur arrête le programme sur lequel il travaille et qu'il fasse une notation fixe du point dans le programme d'exécution où l'interruption s'est produite et il doit alors emmagasiner les contenus de certains registres et flip-flops de commande pour avoir des informations lorsqu'il doit revenir dans le programme à la fin du cycle d'interruption; puis le processeur doit transférer son attention et son fonctionnement sur le programme destiné à traiter et à entretenir la condition d'interruption.
Certains systèmes tels que le système décrit ci-après ont un programme pour traiter les conditions d'interruption; ce programme est souvent appelé programme de commande principal ou programme MCP. Il faut que ce programme conserve un enregistrement des opérations de courant entrée/sortie et qu'il associe l'interruption particulière à l'opération entrée/sortie particulière dont il est l'origine. Puis il faut analyser les résultats de ce cycle d'interruption pour voir si aucune circonstance inhabituelle ou exception ne s'est produite ou si aucune condition d'erreur n'a été trouvée, nécessitant une intervention de correction ou une intervention adéquate. Le programme d'interruption doit prendre les résultats de l'opération entrée/sortie et les rendre disponibles au programme qui a démarré les opérations entrée/sortie, puis déterminer si les autres opérations entrée/sortie attendent de débuter et, dans l'affirmative, prendre les mesures pour débuter les autres opérations entrée/sortie nécessaires.
Dans de nombreuses structures de systèmes connus ainsi que dans le système présent, de nombreux appels ou demandes d'accès de mémoire viennent dans le dispositif mémoire mais, étant donné la bande passante et le temps disponible, limités pour les diverses unités périphériques, de nombreux transferts I/O sont incomplets et engendrent des erreurs d'accès.
De nombreuses structures de systèmes connus donnent seulement un ou deux chemins de communication ou canaux pour un grand nombre d'unités de terminaux périphériques, de sorte que les transferts I/O d'une unité terminale périphérique particulière doivent attendre leur tour en accès partagé et utiliser un bus de communication. Il en résulte une congestion du système ainsi que des retards. On a également des difficultés dans les systèmes à programmations multiples puisque des efforts sont faits pour adapter un travail à plusieurs demandes importantes entrée/sortie avec un autre travail qui est lié au processeur et qui a seulement des demandes limitées entrée/sortie.
De nombreux systèmes de traitement de données actuels ont un seul chemin de commutation ou un nombre limité de chemins de communication entre l'unité de traitement centrale et les unités périphériques. De façon générale, il y a, dans un chemin de communication, un ou plusieurs moyens de commande entrée/sortie. Lorsqu'un processeur demande un chemin entrée/sortie, le chemin sera généralement disponible si: l'unité périphérique ne commence pas une opération de transfert; l'unité périphérique n'est pas active dans une opération de transfert ou toute autre opération avec un moyen de commande entrée/sortie; l'unité périphérique ou le moyen de commande entrée/sortie n'est pas actif avec d'autres opérations.
La vitesse de transfert de données du moyen de commande entrée/sortie est un facteur qui limite le fonctionnement du système puisque la vitesse de transfert souvent lente de certaines unités périphériques (qui ont traversé le moyen de commande entrée/sortie) lie inutilement l'activité du processeur et de la mémoire à la vitesse faible de l'unité terminale périphérique.
Ainsi, de nombreux systèmes de traitement de données ont eu un ensemble de moyens de commande entrée/sortie comportant des mémoires tampons, pour permettre à un périphérique particulier ou à un groupe de périphériques de communiquer avec le système principal. Lorsqu'il y a un ensemble de moyens de commande entrée/sortie (à travers lesquels passent les canaux de communication vers les unités périphériques individuelles ou les groupes de telles unités), certains systèmes connus ont utilisé le procédé de transfert de données en mode séquentiel, pour que les divers moyens de commande entrée/sortie prennent leur tour pour l'attribution des périphériques qui leur sont associés.
Une difficulté se présente lorsqu'un certain nombre d'unités périphériques et leurs moyens de commande entrée/sortie sont plus actifs que d'autres et qu'un certain nombre de canaux concernés nécessitent en fait un temps de communication plus important que celui qui leur est attribué. Un canal peut être verrouillé comme chemin de communication entre le système principal par le moyen de commande entrée/sortie, sur une unité périphérique. Ainsi, on peut rencontrer des cas dans lesquels certains canaux sont modifiés rapidement d'une façon telle que cela engendre un grand nombre d'erreurs d'accès. Les erreurs d'accès concernent les situations dans lesquelles les bytes de données transférés par le moyen de commande entrée/sortie ne comportent pas les unités de message complètes,
mais consistent uniquement en des fractions non utilisables d'unités de message. Il en résulte que l'unité de traitement centrale ne reçoit ou ne transfère pas d'information utile et se fixe sur une demande permanente des mêmes opérations entrée/sortie, et cela de façon répétée. Ainsi, lorsque les unités périphériques sont placées dans une situation dans laquelle elles sont incapables d'envoyer ou de recevoir un enregistrement ou une unité de message complets, il se présente un risque d'erreur d'accès qui aboutit à des cycles incomplets sur le plan du canal particulier et à des transferts incomplets des données d'information demandées.
Il est souhaitable que le maximum de données soit transféré par l'ensemble des moyens de commande entrée/sortie et sans de telles erreurs d'accès qui se traduisent par des cycles incomplets de transfert de données (qui sont inutilisables et qui constituent une perte de temps coûteuse).
Ainsi, dans une telle structure de système, on rencontre des problèmes quant à la durée attribuée à chacun des divers canaux pour les opérations de transfert de données ainsi que le problème de l'état prioritaire attribué à tel ou tel canal parmi l'ensemble des canaux.
Actuellement, dans les systèmes de traitement de données, comportant de multiples unités périphériques (dont de nombreuses se trouvent en des sites différents), il est nécessaire d'avoir des groupages des moyens de commande entrée/sortie pour traiter les multiples unités périphériques dans chaque site donné.
Ainsi, les problèmes de priorité concernent non seulement la priorité qui doit être attribuée entre les unités périphériques en un site local donné, mais aussi les problèmes d'attribution de priorité entre les divers sites, chacun d'entre eux étant pourvu de leur propre moyen de commande entrée/sortie.
Dans le but de remédier aux problèmes mentionnés, l'ensemble de traitement de données selon l'invention comprend les caractéristiques formant partie constituante de la revendication 1.
Avec l'ensemble de traitement de données décrit ci-après, il est possible d'atteindre les buts suivants:
— Eviter que l'unité de traitement centrale ne soit concernée par le contrôle et le réglage des transferts de données entre la mémoire principale du système et un grand nombre d'unités périphériques.
— Augmenter la vitesse de transfert des données entre un grand nombre de périphériques différents qui sont tous reliés au système principal et qui ont une mémoire principale et un processeur. Cela concerne le transfert de la mémoire principale vers n'importe quel périphérique, dans le sens d'échange ou dans le sens inverse.
5
10
15
20
25
30
35
40
45
50
55
60
65
632350
4
— Réaliser une unité de commande d'interface I/O, intelligente, qui libère le processeur central de nombreuses charges et qui répond aux besoins de divers périphériques, demandant l'accès de la mémoire principale.
— Assurer une unité de commande d'interface I/O, intelligente, qui peut recevoir une instruction I/O d'une unité de traitement centrale, puis assurer à partir de ce moment la commande, le contrôle et l'exécution de cette instruction pour effectuer le transfert de données entre la mémoire du système principal et toute unité périphérique choisie. Cela se fait de façon asynchrone, en fonction des besoins et des demandes. L'unité d'interface traite ainsi le contrôle des erreurs de transmission de tous les mots et blocs-messages et, de plus, informe le système principal de l'état de tout cycle de transfert de données, quant à l'état de son exécution, et l'état d'erreur. L'unité d'interface contrôle ainsi les demandes d'une unité périphérique ou d'accès à la mémoire principale et informe le système principal de l'activité de l'unité périphérique, c'est-à-dire de son indisponibilité.
— Permettre une extension facile du système de type modulaire. Le sous-système I/O de l'unité de traitement centrale qui dessert un ensemble de terminaux est organisé de façon que les unités d'interface (processeurs de commande de ligne) soient regroupées en module de base à huit unités. Chaque module comporte une unité de carte de distribution qui assure l'interface du groupe de huit processeurs de commande de ligne et du système principal par l'intermédiaire de l'unité IOT du système principal. L'unité de distribution peut ainsi définir les propriétés entre n'importe lequel des huit processeurs de commande de ligne du module de base. De plus, lorsqu'il y a un ensemble de modules de base dans le système, l'unité de distribution de chaque module de base peut avoir un rang de priorité (appelé priorité globale) tel que les rangs de priorité d'un module de base donné, parmi un jeu de modules de base. Ainsi, un autre objet du sous-système I/O concerné est de prévoir des moyens pour régler une priorité globale (priorité entre les modules de base du système) et la priorité locale.
— Supprimer les erreurs d'accès de façon que toutes les données demandées à un instant déterminé par le système principal (c'est-à-dire une longueur d'un bloc-message de données) soient toujours transmises et vérifiées quant aux erreurs dans un cycle complet sans interruption (sauf en cas d'urgence).
— Permettre de terminer rapidement une opération de transfert de données entre la mémoire principale du système et une unité périphérique donnée, sans interruption ou transfert incomplet de données, lorsqu'un canal de communication est établi (sauf pour certaines urgences).
— Alimenter le système principal de l'état variable de n'importe quel processeur de commande de ligne en tous instants, et des résultats (complets, incomplets ou erreurs) de n'importe quel cycle de transfert de données.
— Fournir des blocs de construction modulaires pour faciliter le développement du système en augmentant le nombre de périphériques que peut comporter le système, de façon simple et économique.
— Créer un sous-système I/O dans lequel le processeur central est libéré de l'exécution des cycles de transfert de données I/O et dans lequel cette charge de travail est distribuée dans le système par l'intermédiaire des unités de commande I/O, LCP regroupées en unités de bloc modulaire. Des formes de réalisation de l'objet de l'invention seront décrites, à titre d'exemple, en se référant aux dessins annexés dans lesquels:
la fig. 1A est un schéma d'un ensemble de traitement central de données ayant deux types différents de sous-systèmes I/O; les deux sous-systèmes I/O étant appelés: a) sous-système de commande central (CC) avec des contrôleurs entrée/sortie (IOC), et b) sous-système entrée/sortie à processeur de commande de ligne (LCP);
les fig. 1B, IC, 1D, 1E sont des schémas des divers composants de la commande centrale du sous-système I/O;
la fig. 2 est un schéma d'une unité modulaire du sous-système I/O,
LCP, appelé module de base LCP, montrant la liaison avec les divers périphériques;
la fig. 3 est un schéma de l'unité principale centrale;
la fig. 4A est un schéma simplifié de la liaison de base entre l'unité principale centrale, le processeur de commande de ligne et une unité périphérique dans le sous-système I/O à processeur de commande de ligne;
la fig. 4B est un tableau indiquant les divers codes des diverses instructions susceptibles d'être exécutées par un processeur de commande de ligne LCP;
la fig. 4C est un tableau montrant comment quatre digits d'information (ABCD) sont organisés pour qu'un processeur de commande de ligne puisse informer l'unité principale des résultats opérationnels par l'intermédiaire d'un descripteur de résultat;
la fig. 5 A est un tableau d'une information numérique (descripteur) utilisée pour le translateur entrée/sortie (IOT) pour créer des messages de commande (C/M) ;
la fig. 5B est un schéma des frontières des champs de données des descripteurs de la fig. 5A;
la fig. 5C est un schéma bloc du traducteur entrée/sortie (IOT) lié à l'unité principale (processeur et mémoire) et au processeur de commande de ligne (LCP) ;
la fig. 5D est un tableau montrant la répartition des informations dans le registre descripteur IOT ;
la fig. 5E représente l'interface de niveau de message entre l'unité IOT et l'unité de carte de distribution du module de base LCP;
la fig. 5F est un schéma de la mémoire bloc-notes IOT ;
la fig. 5G est un schéma de la mémoire d'adresse de type bloc-notes de l'unité IOT (traducteur entrée/sortie);
la fig. 6A est un schéma logique de l'interface entre l'unité principale et le processeur de commande de ligne LCP;
la fig. 6B est un schéma bloc généralisé d'un processeur de commande de ligne;
la fig. 6C est un autre schéma bloc généralisé d'un processeur de commande de ligne, avec des détails concernant la mémoire tampon de données;
la fig. 6D est un schéma bloc fonctionnel, détaillé du processeur de commande de ligne;
la fig. 6E est un schéma delà logique d'intercoopération et des signaux de commande entre le traducteur entrée/sortie (IOT) de l'unité principale et l'unité de carte de distribution des processeurs de commande de ligne dans un module de base;
la fig. 6F est un tableau montrant la répartition d'un bloc de message et la composition d'un mot numérique;
la fig. 7A est un schéma logique d'un processeur de commande de ligne qui traite une unité périphérique, montrant les états de comptage à la réception d'instructions;
la fig. 7B est un schéma du traitement d'une opération inscription par le processeur de commande de ligne;
la fig. 7C est un schéma du traitement de l'opération lecture par un processeur de commande de ligne;
la fig. 7D est un schéma du traitement logique du descripteur de résultat par le processeur de commande de ligne;
les fig. 7E-1 et 7E-2 forment un schéma logique global du processeur de commande de ligne.
Description du mode de réalisation préférentiel:
Le système numérique décrit ci-après se compose d'un processeur, d'une mémoire, d'une série de contrôleurs entrée/sortie (IOC) formant un premier sous-système I/O et un système de processeurs de commande de ligne LCP qui constituent un second sous-système I/O. Les processeurs de commande de ligne traitent fondamentalement les opérations entrée/sortie pour des périphériques particuliers avec une interférence minimale pour les opérations du processeur principal. En outre, aucun périphérique n'est raccroché pour attendre un accès à la mémoire, puisque le processeur LCP de ce périphérique est toujours disponible pour traiter avec ce périphérique.
Un nombre important de systèmes de traitement de données
5
10
15
20
25
30
35
40
45
50
55
60
65
5
632 350
selon l'art antérieur utilisent un système hiérarchique de la mémoire principale, système dans lequel il faut transférer des informations entre une mémoire de grande capacité, lente, et une petite mémoire de processeur travaillant à grande vitesse, avant de pouvoir disposer de l'information. Le système permet au processeur et au sous-sys-tème I/O d'accéder directement à n'importe quel emplacement de la mémoire et, comme la dimension de la mémoire peut aller jusqu'à un million de bytes, on dispose d'une quantité beaucoup plus grande d'informations pour le processeur, sans introduire une liaison I/O supplémentaire. Ce système peut comporter une mémoire bipolaire à grande vitesse (durée du cycle: 250 ns) ainsi qu'un système de correction d'erreurs. Une mémoire bipolaire est non seulement rapide, mais elle est beaucoup plus insensible au type d'erreur qui crée des défaillances de programme. Lorsqu'une erreur est détectée, la correction de l'erreur s'effectue pendant le cycle de mémoire normal et aucun temps supplémentaire n'est nécessaire pour le cycle de correction.
Diverses relations de fonctionnement entre la mémoire principale des processeurs et les autres unités du présent système se trouvent dans la publication de la société Burroughs intitulée «Burroughs B2800/B3800/B4800, MS-2, Reference Manual, catalogue 1090560, 1976».
Normalement, les cycles de mémoire I/O correspondent seulement à une faible fraction du nombre total de cycles de mémoire disponibles. Cependant, pendant les périodes de forte activité I/O, la probabilité que deux dispositifs demandent le même cycle de mémoire augmente. Si, par suite de demandes simultanées, un dispositif ne peut accéder à la mémoire dans la période de temps qui est attribuée par le système, on perd un temps précieux par la réitération de l'opération. De plus, pendant les périodes de faible activité I/O, de nombreux cycles de mémoire ne sont pas utilisés.
Les problèmes de l'activité I/O sont résolus dans le système décrit par distribution du traitement I/O à un groupe de processeurs de commande de ligne LCP. En procédant de la sorte, il suffit que le processeur central débute l'activité I/O, puis il ne participe plus à l'opération entrée/sortie (I/O). Le processeur central commence l'activité I/O par un dispositif appelé traducteur entrée/sortie (IOT).
Le processeur LCP, une fois qu'il a commencé, peut recevoir une grande quantité de données et, dans la plupart des cas, tout un bloc-message. A certains points de fonctionnement, le processeur LCP demande l'accès à la mémoire et, lorsque cet accès est attribué, le processeur LCP transfère l'information de sa mémoire intermédiaire de mot à la mémoire, à la vitesse maximale de fonctionnement de la mémoire. Si, à ce moment, l'accès demandé à la mémoire n'est pas attribué, le processeur LCP continue d'introduire le mot dans la mémoire intermédiaire et d'attendre une possibilité pour accéder à la mémoire. Ainsi, le périphérique est protégé contre l'absence d'activité, puisque les données sont transférées à la mémoire tampon du processeur LCP qui transfère ces données dans la mémoire principale sans perdre une période d'accès de mémoire.
Le résultat de ce procédé et de ce système est la suppression des maximums de charge imposés à la mémoire par les demandes d'activité I/O; au lieu de cela, le sous-système I/O utilise les cycles de mémoire qui seraient perdus. Comme ce procédé de traitement I/O est plus efficace, le système permet des vitesses de transfert de données entrée/sortie (I/O) plus importantes et peut également recevoir plus de dispositifs I/O.
Dans le présent système de calculateur, il y a deux catégories de sous-systèmes entrée/sortie, c'est-à-dire que le second sous-sys-tème I/O assure la commande et le premier sous-système d'un traducteur entrée/sortie coopère avec un groupe de processeurs de ligne de commande, la commande du système étant facilitée par l'utilisation d'une information de descripteur, qui traverse les diverses unités.
Un résultat de descripteur est un rapport pour le système de traitement principal, qui décrit comment l'opération a été terminée ou la raison pour laquelle l'opération n'a pu être terminée. Les descripteurs de résultat du processeur et des systèmes de commande I/O sont des mots d'une longueur de 16 bits. Les descripteurs de résultat LCP peuvent être plus longs qu'un mot, et chaque bit du descripteur de résultat représente l'état d'une certaine condition qui doit être rapportée au système principal.
Les processeurs de commande de ligne et les contrôleurs I/O écrivent toujours les descripteurs de résultat à la fin d'une opération; le processeur écrit un descripteur de résultat seulement en cas d'erreur. Les descripteurs de résultat sont inscrits dans des endroits prédéterminés de la mémoire; pour le processeur, l'endroit est pas exemple l'adresse 80.
Les descripteurs de résultat des processeurs de commande de ligne et des contrôleurs I/O sont inscrits dans des positions qui commencent à l'adresse indiquée par l'équation (CH x 20) + 200, CH étant le numéro du canal du dispositif qui a été mis en œuvre. Le descripteur de résultat IOT est inscrit à l'adresse 260. Après inscription du descripteur de résultat, le système crée une interruption.
Descripteur de résultat LCP, R/D:
A la fin de l'opération qui lui est attribuée, le processeur LCP enregistre un descripteur de résultat qui décrit pour le processeur la manière suivant laquelle l'opération a été effectuée. Un descripteur de résultat LCP peut être composé d'un, de deux ou de trois mots à 16 bits. Le premier descripteur de résultat R/D est enregistré dans la mémoire à l'endroit indiqué par l'équation (CH x 20) + 108, CH étant le numéro du canal du processeur LCP. Si plus d'un mot d'information de descripteur de résultat doit être inscrit (descripteur de résultat développé), les mots additionnels sont stockés dans la mémoire d'adresse du circuit IOT.
Comme indiqué dans le tableau I, le premier mot de descripteur de résultat LCP est précédé par un maillon à un mot et le canal du descripteur de résultat (IOT). De façon caractéristique, le maillon est utilisé par le système opérationnel comme adresse pour le prochain descripteur de résultat qui doit être examiné. Le tableau II représente le format du mot de base d'un mot de données à 4 digits A, B, C, D, chaque digit ayant 4 bits et chaque caractère ayant 8 bits. On utilise des symboles pour désigner les parties de chaque digit telles que A8, A4, A2, Al, etc.
Tableau I: Descripteur de résultat
Descripteur de résultat
Maillon
Descripteur de résultat LCP 16 bits canal IOT 16 bits
16 bits t
(CH x 20) + 100 1
(CH x 20) + 108
Position du descripteur de résultat LCP / canal dans la mémoire
Tableau II: Mot de donnée
Digit
A
B
C
D
A8
B8
C8
D8
A4
B4
C4
D4
A2
B2
C2
D2
Al
B1
Cl
D1
un caractère =
8 bits = AB
Y
un mot = ABCD = 16 bits
5
10
15
20
25
30
35
40
45
50
55
60
65
632350
6
Le tableau III indique le format du descripteur I/O qui est normalement stocké dans la mémoire principale et auquel on accède pour régler un type particulier d'opérations entrée/sortie. Comme indiqué, il y a quatre syllabes et chaque syllabe est composée de 6 digits. Ces digits sont numérotés D1-D6, D7-D12, D13-D18, D19-D24 pour indiquer les positions relatives de chaque digit. Dans la syllabe 1, les digits Dl et D2 indiquent toujours le type d'opération entrée/sortie à réaliser et sont généralement appelés code-OP. Les digits D3-D6 sont appelés digits variants en ce qu'ils indiquent les différentes options que peut englober une opération caractéristique entrée/sortie.
La syllabe 2 contient l'adresse du digit le plus signficatif (MSD) de la partie de la mémoire principale qui est utilisée dans cette opération particulière entrée/sortie comme zone de mémoire tampon. Cette zone de mémoire tampon est utilisée comme début d'adresse. La syllabe 3 contient l'adresse du digit le moins significatif augmentée de 1 (LSD +1) de la zone de mémoire tampon entrée/sortie, et qui est appelée adresse de terminaison. L'adresse la plus significative et l'adresse la moins significative augmentée de 1 représentent les limites maximales de la mémoire de l'enregistrement qui est à transmettre. La longueur de l'enregistrement peut ou non utiliser toute la surface à l'intérieur de cette limite. Néanmoins, toute tentative pour dépasser cette limite provoque la fin de la transmission des données vers cette zone.
La syllabe 4 est utilisée uniquement pour les descripteurs de dossier de disque et contient l'adresse de disque.
La longueur de l'enregistrement peut ou non utiliser toute la surface dans les limites entre le début de l'adresse et la fin de l'adresse. Comme indiqué, toute tentative pour dépasser ces limites provoque la fin de la transmission des données vers cette zone. Par exemple, on peut lire des cartes perforées dans une zone supérieure à 80 caractères, c'est-à-dire avec MSD et LSD+1 à 80 caractères; on peut également lire dans cette zone moins de 80 caractères; par exemple, la surface d'enregistrement définie dans un programme particulier correspond à 40 caractères dans un enregistrement sur carte. Les données des colonnes 1 à 40 de la carte perforée sont stockées dans la surface d'enregistrement de la mémoire attribuée à MSDetLSD + 1.
( Tableau en page suivante)
Description générale du système:
Le système I/O fait partie d'un environnement de système numérique pour fournir des moyens de communication entre un système de traitement central de données et une diversité de périphériques qui sont reliés au système et coopèrent avec celui-ci. Les périphériques qui travaillent avec le système numérique global vont des dispositifs de stockage de masse, tels que des disques ou des ensembles de disques, à des dispositifs de commande de système tels que le terminal de contrôle de l'opérateur ou encore une grande diversité d'autres dispositifs périphériques tels que des imprimantes, des lecteurs de cartes, des perforatrices, des dispositifs de stockage de bande magnétique, etc.
Le système I/O décrit ci-après peut se diviser en deux catégories de sous-systèmes principaux en fonction du procédé de commande des divers périphériques. La première catégorie utilise un procédé ayant des contrôleurs I/O (IOC) coopérant avec le processeur et la commande centrale pour traiter l'activité I/O. La seconde catégorie utilise un traducteur entrée/sortie (IOT) dans l'unité de traitement générale, qui coopère avec les diverses unités appelées processeurs de commande de ligne (LCP). Les unités connues sous le nom de processeurs de commande de ligne sont des dispositifs qui établissent une communication entre le système (mémoire principale et processeur) et un dispositif périphérique déterminé. Dès que le chemin de communication est établi, le processeur LCP peut recevoir ou laisser passer des données vers un périphérique déterminé, pour une transmission ultérieure au système principal. Comme chaque processeur LCP comporte une mémoire tampon propre, on peut échanger les données avec un certain périphérique, à une vitesse relativement faible. Cependant, si la mémoire tampon du processeur LCP est branchée de façon à échanger des informations avec la mémoire principale du système et le processeur, on peut transférer ces données au système principal, à la plus grande vitesse autorisée par la mémoire du système central.
La première catégorie de sous-systèmes I/O, qui utilise les contrôleurs I/O comme interfaces entre un périphérique et la mémoire principale et le processeur, comporte une unité de commande centrale (CC) qui relie le canal I/O et le contrôle I/O avec le processeur central et la mémoire. Ces contrôleurs entrée/sortie acceptent des instructions du processeur et ramènent les informations de données concernant le résultat de ce qui s'est produit, et qui concernent l'instruction particulière. Cette information de résultat est placée dans un endroit déterminé de la mémoire principale.
Dans la seconde catégorie de sous-systèmes I/O, on a le système dans lequel le processeur et la mémoire principale communiquent par l'intermédiaire d'un traducteur entrée/sortie (IOT) avec un groupe de modules de base de processeur LCP; chaque module constitue une unité d'un groupe de huit processeurs de commande de ligne (LCP). Ainsi, une instruction du processeur est traduite par le traducteur I/O en un ensemble déterminé d'ordres acceptables par chaque processeur LCP particulier. Après qu'un processeur LCP a accepté des instructions du traducteur I/O, il ramène certaines informations de résultat qui sont stockées dans un endroit déterminé de la mémoire principale.
Ainsi, dans ce second sous-système I/O, toutes les communications entre le processeur principal du système et la mémoire, par l'intermédiaire d'un périphérique déterminé, sont commandées par un processeur LCP qui est uniquement prévu pour ce périphérique particulier.
Lorsqu'un processeur de commande de ligne (LCP) ou un moyen de commande entrée/sortie comporte une commande centrale, il comporte un nombre unique appelé numéro de canal. Pour les contrôleurs I/O, ce numéro correspond à un mot d'une mémoire bloc-notes du processeur. Pour les processeurs de commande de ligne (LCP), ce numéro de canal correspond à un mot de la mémoire bloc-notes du traducteur entrée/sortie (IOT).
Pour effectuer l'opération entrée/sortie du système, on commence une demande I/O par une instruction de démarrage I/O qui indique au processeur l'endroit où se trouve le descripteur I/O adéquat dans la mémoire principale, et le numéro de canal correspondant. Le descripteur I/O contient le code OP ainsi que les variantes du type d'opérations I/O choisies ainsi que le début A et la fin B de l'adresse de la zone de mémoire dans la mémoire principale.
Le processeur accède à ce descripteur I/O, puis envoie le code OP et ses variantes au contrôleur I/O choisi (premier sous-système) ou au traducteur I/O (second sous-système). Le contrôleur I/O ou le traducteur I/O vérifie le code OP et indique l'acceptation ou le rejet de la demande.
Dans le premier sous-système, le processeur charge alors les adresses de début (A) et de fin (B) dans le registre local et informe le contrôleur I/O que les adresses sont disponibles. Ces adresses particulières sont transférées par le contrôleur I/O à l'endroit de la mémoire bloc-notes destiné à ce canal I/O.
Dans le second sous-système, le traducteur IOT accède directement aux adresses A et B à partir des lignes d'adresse de mémoire aboutissant au registre local du processeur (fig. 3) à l'instant du transfert de la mémoire principale, et ainsi le traducteur IOT charge sa propre mémoire bloc-notes locale.
L'accès à la mémoire principale est partagé par le traducteur IOT, la commande centrale et le processeur. La priorité la plus élevée est partagée par le traducteur IOT et la commande centrale. La chronologie peut être prévue de façon que chaque commande centrale soit garantie et limitée à chaque quatrième cycle de mémoire (pour, par exemple, une fréquence de 8 MHz). Le traducteur IOT est garanti pour les autres cycles. Lorsque la commande centrale ne demande pas la mémoire, le traducteur IOT peut occuper tous les
5
10
15
20
25
30
35
40
45
50
55
60
65
Tableau III: Format de descripteur I/O
Syllabe 1
v
Syllabe 2
_a_
d1
D2
d3
d4
d5
D6
d7
d8
D9
dio
Dil
84 2184 218421842184218421842184218421842184218421
Code d'opération
Différents digits comme indiqué par chaque instruction I/O
MDS - Adresse du digit le plus significatif
Grandeur binaire
"A/
Syllabe 3
_a_
J\.
V
V
Syllabe 4
d13
d14
d15
d16
d17
d18
d19
d2o d21
d22
d23
d24
84 2184 218421842184218421842184218421842184218421 \ m k _/
V
LSD +1 - Adresse du digit le moins significatif augmenté de un v
Adresse des dossiers de disque
Grandeur binaire
632350
8
cycles de mémoire. Le processeur prend tous les cycles de mémoire disponibles sur la base de la priorité la plus faible.
Ainsi, les communications I/O du système exigent que le processeur exécute une instruction d'initiation I/O (qui peut être par exemple appelée OP=94). Cette instruction d'initiation caractérise le numéro de canal du dispositif demandé et la position du descripteur I/O dans la mémoire principale. Le descripteur I/O indique l'action que le périphérique doit effectuer et spécifie les limites dans la mémoire du champ de données. Les descripteurs et la manière de leur exécution varient en fonction du procédé selon lequel le périphérique est commandé.
Lorsqu'une instruction d'initiation I/O est exécutée pour un canal contenant une commande I/O (premier sous-système I/O), le processeur émet un mot de code OP de descripteur, des variantes et l'adresse C (le cas échéant) pour la commande I/O. Les adresses A (début) et B (fin) du descripteur sont stockées dans la mémoire d'adresse de canal I/O du processeur. La commande I/O vérifie que le code OP est valide, puis signale au périphérique que le transfert de données doit commencer.
Comme indiqué précédemment, le mode de réalisation du système numérique actuel concerne le dédoublement des sous-systèmes entrée/sortie. Le second de ces systèmes concerne le système central avec le traducteur entrée/sortie (IOT), le processeur de commande de ligne (LCP) et l'ensemble des unités périphériques; le premier sous-système I/O concerne, comme indiqué à la fig. 1 A, l'unité de commande centrale 12 qui assure l'interface avec un ensemble de commandes I/O, 13a et 13b, assurant l'interface avec un ensemble de périphériques 14a et 14b, etc.
La description suivante concerne le premier sous-système I/O comportant les contrôleurs I/O et les organes de commande centrale CC.
La fig. 1B montre le système de liaison des canaux I/O et du processeur 10p ainsi que de la mémoire principale 10m par l'intermédiaire de la commande centrale 12. Les niveaux logiques sont créés dans chaque canal I/O 100,101 (fig. 1C) et sont combinés par la commande centrale 12 avant d'être envoyés au processeur 10p et à la mémoire principale 10m. D'autres niveaux logiques sont créés par le processeur et dans la mémoire et sont répartis par la commande centrale 12 à chaque commande I/O telle que la commande 13a (fig. 1A et 1 B). On a ainsi des niveaux logiques qui traversent la commande centrale 12 qui joue le rôle de bloc de liaison entre le processeur 10p et les canaux I/O. La logique de priorité 10^ de la fig. 1C détermine celui des canaux I/O qui accédera à la mémoire principale 10m si plus d'un canal demandait l'accès en même temps.
Comme indiqué à la fig. 1C, il est prévu, pour la commande centrale 12, un traducteur susceptible de traduire les données BCL (langage commun Burroughs) et le code d'échange binaire en codage décimal étendu (EBCDIC), avec le noyau de la mémoire 10m. Les unités de commande I/O, 13a, 13b (fig. 1A) demandent à la commande centrale 12 d'utiliser le traducteur 12t (fig. 1C) ou de le court-circuiter. La traduction se fait lorsque la donnée est échangée entre l'unité de commande I/O telle que 13a et la mémoire principale 10m. Un temps supplémentaire n'est pas nécessaire pour le fonctionnement I/O, même s'il faut une traduction. La logique du traducteur traduit la donnée BCL d'entrée en donnée en EBCDIC ou la donnée EBCDIC de sortie en donnée BCL. Les codes EBCDIC auxquels ne sont pas attribués les codes BCL créent un code correspondant aux symboles *?* en code BCL.
La commande centrale 12 joue le rôle d'une interface entre un canal I/O et la mémoire principale 10m pendant le fonctionnement du système, comme représenté aux fig. 1B et 1C. Cette commande détermine la priorité des accès à la mémoire, si plus d'un canal demandait l'accès, et traduit les données d'entrée pour le canal I/O, tel que le canal 100, de la mémoire 10m, ou du canal I/O vers la mémoire. La commande centrale assure la corrélation des diverses fonctions des canaux. La séquence des événements est commencée par le processeur 10p lorsqu'il faut un canal I/O.
Lorsqu'un programme qui doit être effectué nécessite une unité périphérique, telle que 14a ou 14^, à la fig. 1 A, le processeur 10p exécute l'instruction d'initiation I/O. Cette instruction lit un descripteur I/O de la mémoire 10m et envoie l'information nécessaire au canal I/O 100 par l'intermédiaire de la commande centrale 12. Cette information contient le type d'opération (code OP) et l'information de variante. La partie restante du descripteur I/O contenant les adresses de début (A) et de fin (B) est stockée dans la mémoire d'adresse 10pam (fig. 1C) du processeur 10p. Le canal est choisi par le niveau d'attribution de canal (CDL) comme cela apparaît à la fig. 1B, provenant du processeur 10p.
Lorsque toute l'information est disponible, le canal I/O 100 est libéré du bus de démarrage de canal (STCB), fig. 1B, pour travailler indépendamment. Lorsque le canal I/O a été libéré, il fonctionne comme un autre processeur et partage la mémoire principale 10m avec le processeur principal 10p ou les autres canaux (fig. 1 C).
Si l'opération à effectuer concerne une unité périphérique 14j de type entrée telle qu'un lecteur de carte, la donnée est reçue par le canal I/O 100 selon la fig. 1C et la donnée est stockée dans la mémoire tampon C0, dans le canal I/O 100. Le canal I/O demande alors l'accès à la mémoire principale 10m par l'intermédiaire de la commande centrale 12. Cette demande est traitée par la logique de priorité 10^ qui commande les autres demandes en même temps. Dès que l'accès à la mémoire a été attribué au canal, l'information est transférée à la mémoire 10m. L'information peut ou non être traduite en fonction du descripteur I/O. L'information est alors inscrite dans la mémoire principale 10m à l'endroit indiqué par les adresses de début (A) et de fin (B) dans la mémoire d'adresse 10pam.
Le cas échéant, en un certain point, la donnée ou l'information à transférer du terminal périphérique se fait par une opération de sortie (fig. 1D). Si une opération de sortie doit être effectuée, il se produit comme précédemment une séquence analogue d'événements, sauf que les données partent de la mémoire principale 10m vers un canal I/O tel que le canal 102 à la fig. 1D. Puis, lorsqu'une unité périphérique, telle que par exemple une imprimante 14p, nécessite des données, la requête d'accès à la mémoire est appliquée à la commande centrale 12 par l'intermédiaire du canal I/O 102. Lorsque la priorité est attribuée au canal, la donnée est lue de la mémoire principale 10m à l'adresse spécifiée par les adresses de début et de fin, dans la mémoire d'adresse 10pam; cette donnée est alors transférée à la mémoire intermédiaire C2 du canal I/O par l'intermédiaire du traducteur 12t (ou shunte le traducteur en fonction du descripteur I/O). Comme cela apparaît à la fig. 1D, la donnée est alors transférée à l'unité périphérique telle que l'unité 14p.
Comme le montre la fig. 1E, la commande centrale 12 assure l'interface pour l'échange avec les canaux I/O, le processeur 10p et la mémoire 10m. L'information de commande du processeur 10p est envoyée à la commande centrale 12 dans laquelle elle est distribuée à chacun des canaux I/O 100,101, etc. La commande centrale 12 traite toutes les demandes de mémoire faites par les unités de commande I/O dans ce premier sous-système I/O. Les données de chaque canal I/O qui doivent être inscrites dans la mémoire 10m sont placées dans le bus d'inscription de mémoire par la commande centrale 12 et la donnée qui doit être lue de la mémoire 10m est placée sur le bus de lecture de mémoire et est distribuée à chaque canal I/O.
Lorsqu'une demande est faite par une unité de canal I/O, la commande centrale 12 obtient l'adresse de la mémoire de la position de mémoire d'adresse réservée à ce canal I/O, caractéristique. Cette adresse est utilisée pour accéder à la mémoire principale 10m et le cycle de mémoire est alors commencé. Le cycle de mémoire doit être un cycle d'inscription ou de lecture en fonction de l'opération I/O caractéristique.
Lorsque le processeur 10p demande un accès à la mémoire, l'adresse de mémoire concernée s'obtient de la mémoire d'adresse lOpam dans le processeur 10p. Cette adresse est utilisée pour accéder à la mémoire principale 10m et le cycle de mémoire commence (soit une inscription, soit une lecture).
5
10
15
20
25
30
35
40
45
50
55
60
65
9
632350
Comme un seul accès à la mémoire est possible à un instant donné, il faut traiter séparément les demandes multiples de mémoire; ce traitement est fait automatiquement par la commande de priorité lOp,. (fig. IC, 1D) par la commande centrale 12, comme indiqué précédemment. Chaque commande centrale 12 contient une logique de priorité 10^ qui est établie ou modifiée par une adaptation au domaine technique. Comme les canaux I/O sont ajoutés à la commande centrale 12, ils sont également ajoutés au réseau de priorité. Le processeur 10p, dans ces conditions, a une priorité plus faible que la commande centrale 12. La demande de priorité la plus élevée est attribuée en premier lieu et, dès qu'elle est terminée, la demande ayant la seconde priorité est attribuée automatiquement. Cette opération se répète jusqu'à ce que toutes les demandes multiples soient traitées. Les demandes sont attribuées alternativement à chaque unité de commande centrale lors des commandes centrales multiples, en fonction de la commande qui a eu la dernière demande. Si une commande centrale ne reçoit pas d'accès, elle est attribuée au processeur 10p.
Pendant l'opération de transfert de données, dans le sous-système de la première catégorie, le contrôleur entrée/sortie (I/OC) peut effectuer diverses fonctions suivant le code OP, les variantes et le type de périphériques utilisés. De façon caractéristique, les contrôleurs I/O peuvent stocker seulement un byte ou, au plus, un mot. Puis, lorsque la mémoire tampon de donnée d'un contrôleur est chargée, il faut que le contrôleur I/O, ou l'unité de canal I/O 100,101,102, demande un accès à la mémoire; c'est pourquoi la vitesse de transfert ou d'échange des données avec le système est commandée d'abord par la vitesse à laquelle le périphérique peut écrire ou lire. Le second sous-système I/O utilisant les modules de base dans les processeurs de commande de ligne ne présente pas cette limite de vitesse.
Lorsque le contrôleur I/O demande un accès à la mémoire, il demande en fait au processeur d'effectuer une série d'opérations; ces opérations sont les suivantes:
a) transférer les données du champ d'adresse de la mémoire d'adresse de canal I/O du processeur dans le registre local d'adresse;
b) débuter un cycle de mémoire;
c) rétablir les données du champ d'adresse de la mémoire d'adresse du canal.
Le contrôleur I/O indique également au processeur la quantité suivant laquelle l'adresse doit être augmentée pour arriver à l'endroit du champ d'adresse de données suivant. A la fin de l'opération, le contrôleur I/O établit un descripteur de résultat (R/D) indiquant comment l'opération a été effectuée, puis le contrôleur I/O stocke le descripteur de résultat dans une position de mémoire réservée, puis il bascule l'interrupteur du processeur.
Dans la seconde catégorie d'activités de contrôle I/O, on utilise un traducteur entrée/sortie (ou translateur) (IOT) comme unité d'interface, qui se trouve dans l'unité de processeur centrale 10. Le translateur IOT assure l'interface avec un groupe de processeurs de commande de ligne (LCP) installés dans les modules de base LCP. On peut loger jusqu'à huit processeurs LCP dans un module de base LCP. Le module de base des processeurs LCP peut recevoir jusqu'à huit processeurs LCP. Le processeur LCP est une unité d'interface intelligente qui établit un chemin de communication entre le périphérique concerné et le processeur et la mémoire du système principal. Cette communication est établie par le processeur LCP à la réception d'un descripteur d'ordre (C/D) du translateur IOT, qui a traduit le descripteur I/O d'origine en un descripteur d'ordre, spécialisé pour le processeur LCP.
Comme chaque processeur LCP comporte une mémoire de données intermédiaire importante, par exemple de 256 mots, on peut échanger les données avec un périphérique déterminé, à la vitesse relativement faible de ce périphérique; cependant, lorsqu'une mémoire tampon de données est pleine, on peut transférer les données du système principal, à la vitesse la plus grande permise par la vitesse de la mémoire principale, ce qui constitue une vitesse très importante.
Le module de base LCP qui comporte jusqu'à huit processeurs LCP coopère avec le traducteur IOT pour établir une communication et commencer le fonctionnement d'un processeur LCP particulier. Le module de base LCP fournit également des signaux de temps, assure la maintenance logique, l'alimentation et le refroidissement pour chaque groupe de processeurs LCP particuliers.
Le traducteur IOT qui fait partie de l'unité de traitement centrale, et qui, à la réception d'un descripteur I/O, coopère avec le module de base LCP pour établir une liaison avec un processeur LCP particulier dans le canal, est défini par l'instruction d'initiation I/O. Le traducteur IOT traduit le descripteur I/O en une forme (ordre/descripteur) que peut reconnaître le processeur LCP et, lorsque la liaison est établie, le descripteur ainsi traduit est appliqué au processeur LCP; puis la transmission des données peut commencer. Pendant que les données sont transférées entre le processeur LCP et le système principal, le traducteur IOT, lors d'une demande du processeur LCP, demande des accès de mémoire, accède alors à la mémoire et modifie et compare les adresses de données. De plus, le traducteur IOT commande le cheminement des données entre le processeur LCP choisi et le système principal et exécute les traductions (ASCII/EBCDIC) des données, si cela est nécessaire. A la fin d'une opération, le traducteur I/O accepte l'information R/D (descripteur de résultat) du processeur LCP et stocke le descripteur de résultat à un endroit prédéterminé.
La structure du système LCP permet jusqu'à 68 canaux I/O.
Dans le sous-système de commande I/O, on peut avoir deux commandes centrales CC avec huit contrôleurs I/O chacun pour un total de seulement 16 canaux. Cependant, dans le sous-système LCP, on peut avoir jusqu'à huit modules de base LCP par traducteur I/O. Chaque module de base peut traiter et porter jusqu'à huit processeurs LCP. Un traducteur I/O peut desservir jusqu'à 64 processeurs LCP. Un adaptateur de multiplexage peut être utilisé pour relier deux traducteurs I/O à un module de base LCP commun. Cette structure peut servir à améliorer la bande passante I/O vers la mémoire principale.
L'ensemble du système I/O comporte des adresses de canaux qui doivent être uniques en elles-mêmes. L'accès à la mémoire principale est partagée par le traducteur I/O, la commande centrale ainsi que le processeur.
A la fig. 1 A, on a un schéma global du système montrant les deux catégories de sous-systèmes I/O. Le premier sous-système I/O est une commande centrale 12 qui porte les commandes I/O 13a et 13b et qui est reliée respectivement aux dispositifs périphériques 14a et 14b. Ce premier sous-système I/O utilisant une commande centrale est relié au système principal 10 par l'intermédiaire d'un bus d'interconnexion 11.
Le système principal 10 se compose de la mémoire principale 10m, du processeur central 10p, de la commande de mémoire 10c et du traducteur entrée/sortie 10t. Une interface PCC (boîtier de commande périphérique) 10; est reliée par l'intermédiaire du bus 5 à un boîtier de commande périphérique 6 qui contient la commande centrale et les unités de commande I/O du premier sous-système I/O.
Le traducteur entrée/sortie 10t du système principal (fig. 1 A) forme un second sous-système I/O par l'utilisation des boîtiers tels que les boîtiers LCP numérotés 0,1,2 portant les références 160,161( 162. Chacun des boîtiers LCP comporte trois modules de base LCP, 0-8; par exemple, le boîtier de base 160 porte les modules de base 20o, 20ls 202; le boîtier LCP 16, porte les modules de base LCP 203, 204 et 205. De la même manière, le boîtier LCP 162 porte le module de base LCP 206 et 20?. Chacun des divers modules de base LCP est relié au traducteur I/O 10t par l'intermédiaire de câbles d'interface de niveau de message (MLI) 15, chacun étant constitué de 25 lignes.
La fig. 2 montre de façon plus détaillée le module de base LCP 20„. Le module de base 20o est composé de huit processeurs de commande de ligne (LCP) 20oo ... 207O en plus d'une carte de distribution commune 20od, d'une carte d'entretien commune 20om et d'une carte de terminaison commune 20ot. La carte de distribution 20od relie un ensemble de câbles d'interface de niveau de message 15 au traducteur I/O 10t (voir également fig. 5E).
5
10
15
20
25
30
35
40
45
50
55
60
65
632350
10
Chaque processeur de commande de ligne est relié aux lignes de sortie d'un périphérique particulier qui, comme représenté à la fig. 2, relie respectivement les processeurs LCP 2000... 2007 aux périphériques 50,51,52,53,54,55,56,57.
Alors que chaque processeur LCP du module de base peut être légèrement différent pour s'adapter au particularisme de chaque périphérique correspondant au processeur LCP, chaque processeur LCP est essentiellement identique sur le plan de la réalisation et des possibilités de fonctionnement. A la fig. 2, on a représenté un exemple caractéristique d'un tel processeur LCP tel que le processeur LCP 2006 qui comporte un système d'interface 21si, un dispositif d'interface 22^ et une mémoire tampon de mots 2506 qui peut contenir de façon caractéristique 256 mots.
La fig. 3 montre de façon plus détaillée le schéma bloc du système principal lié aux sous-systèmes I/O. Le système principal 10 comporte une mémoire principale 10m dans laquelle il est prévu une partie de réserve 10,^ pour chacun des descripteurs I/O, ainsi qu'une autre partie de réserve 10mr pour les descripteurs de résultat. En plus de la mémoire principale 10m, il est prévu une autre partie de réserve 10nc pour stocker les numéros de canal. Les descripteurs I/O, les descripteurs de résultat et les numéros de canaux sont des informations utilisées par le système pour la commande et la reconnaissance de l'état des opérations. Une description détaillée sera donnée ultérieurement.
Le processeur 10p comporte un registre local 10pr, utilisé pour stocker des informations pour le traducteur I/O. Le traducteur entrée/sortie 10t comporte un canal de mémoire bloc-notes 10ps.
Le registre local 10pr du processeur 10p est utilisé pour enregistrer les adresses de début (A) et de fin (B) du descripteur I/O adéquat. Dans le cas du premier sous-système I/O utilisant une commande centrale (fig. 1 A), le circuit I/O assure le transfert des adresses dans une position de stockage temporaire appelée canal de mémoire bloc-notes ou canal de mémoire d'adresses. Dans le cas du second système utilisant le traducteur I/O, celui-ci accède directement aux adresses A et B à partir des lignes d'adresse de mémoire aboutissant au registre local 10pr du processeur. Le canal de mémoire bloc-notes de tous les 64 processeurs LCP est contenu dans le traducteur I/O. Le canal des mémoires bloc-notes contient également les numéros voulus des canaux.
Selon la fig. 4A et le transfert de l'information comme entre le système principal 10 et le processeur LCP caractéristique 2000, un court examen des mots d'information et leurs fonctions indique la nature de la relation fonctionnelle.
Descripteur d'ordre (fig. 4D):
Le descripteur d'ordre (C/D) est une forme modifiée du descripteur I/O. Le descripteur I/O est l'information qui réside dans la mémoire principale 10m (fig. 1) ainsi que dans la mémoire 10mi (fig. 3) et qui fournit des données des informations quant au type d'opérations entrée/sortie à effectuer. La modification du descripteur I/O est faite par le traducteur I/O 10t (traducteur entrée/sortie, fig. 1) qui reçoit le descripteur I/O de la mémoire 10m du système, retient une partie de l'instruction et transmet la partie applicable au processeur LCP 20^ comme descripteur d'ordre.
Le descripteur d'ordre est un mot de 17 bits A, B, C, D (fig. 4B) formé d'un digit de code OP (A), de digits variables 1 (B) 2 (C) et 3 (D) et d'un bit de parité. Cependant, le processeur LCP 2000 utilise seulement le digit de code OP et le digit variable 1 pour assurer les instructions. Les digits variables 2 et 3 sont toujours égaux à 0. Le digit de code OP (A) définit l'opération de base que doit effectuer le processeur LCP 20oo et le digit variable 1 (B) indique les modifications à l'opération de base. Aucune information d'adresse de mémoire n'est envoyée au processeur LCP; les fonctions d'adresse de mémoire du système sont assurées par le traducteur I/O 10t. La fig. 4B contient les codes de descripteur d'ordre pour toutes les opérations que peut effectuer le processeur LCP. Ces opérations sont les suivantes: inscription, lecture, inscription avec lecture, test, test d'autorisation, suppression conditionnelle et écho. Ces opérations seront décrites ultérieurement.
Maillon de description (fig. 4A) :
Le maillon de descripteur (D/L) se compose de deux mots d'information à 16 bits accompagnés par un mot de parité longitudinal (LPX). Le maillon de descripteur est échangé entre le traducteur I/O 10t (fig. 1) et le processeur LCP 20flo à des instants déterminés pendant la communication entre les deux unités. Le contenu du maillon de descripteur est représenté dans le tableau suivant. Les bits de données qui ne sont pas indiqués sont réservés pour une utilisation ultérieure:
Tableau IV
Maillon de descripteur
Bits de données
Désignation
AS
Interdiction de l'accès à la mémoire du système
A2
Demande de traduction ASCII
Cl
Adresse du module de base
4 bits
Cl
Adresse du module de base
2 bits
D8
Adresse du module de base
1 bit
D4
Adresse LCP 4 bits
D2
Adresse LCP 2 bits
D1
Adresse LCP 1 bit
Données (transmissions) (fig. 4A) :
Il s'agit de lignes de communication bidirectionnelles pour transférer les données du système 10 par le processeur LCP, tel que le processeur LCP 2000 pour un éventuel transfert à un périphérique tel que le périphérique 50; par ailleurs, il peut également s'agir du transfert des données du périphérique 50 par le processeur LCP 20flo et ainsi au système 10 pour être stockées dans la mémoire 10m. Aux fig. 1 et 3, ces canaux sont l'interface de niveau de message (MLI) 15. La transmission des données entre le système 10 et le processeur LCP 2000 se fait sous la forme de mots (tableau II), sauf pour certaines transmissions qui sont limitées à un seul caractère ou pour des transmissions qui se terminent par un nombre de caractères d'ordre impair. Chaque mot de données est composé de deux caractères à 7 bits ASCII et d'un seul bit de parité. Les bits de données A8 et C8 ne sont pas utilisés (tableau II).
Il est à remarquer pour le descripteur d'ordre que, après la réception d'un descripteur d'ordre et avant l'exécution d'une opération, le processeur LCP 2000 reçoit le maillon de descripteur du traducteur I/O 10t et le stocke dans la mémoire tampon du processeur LCP 2500 (fig. 2). Lorsque le processeur LCP 20flo se coupe du système 10, il se reconnecte pour une autre communication et le maillon de descripteur est ramené sur le traducteur I/O 10, pour identifier le processeur LCP et le déroulement de l'opération.
Descripteur de résultat (fig. 4A) :
Le processeur LCP 2O00 crée un descripteur de résultat qui est appliqué au système 10 après l'exécution de l'instruction contenue dans le descripteur d'ordre (C/D) ou lorsqu'une erreur se produit pendant la réception d'un descripteur d'ordre ou d'un maillon de descripteur. Le descripteur de résultat est appliqué au système 10 par le processeur LCP sous la forme d'un format de mot à 16 bits avec un bit de parité. La fig. 4C montre un formant de 16 bits pour le descripteur de résultat, les digits A, B, C, D ayant chacun 4 bits.
Mot de parité longitudinale (fig. 4A ) :
Le mot de parité longitudinale (LPW) est un mot de 16 bits représentant la parité longitudinale de chaque transmission entre le système 10 et le processeur LCP 2000. Le mot LPW est stocké à la fois dans le traducteur I/O 10t et le processeur LCP 2000 pendant le transfert d'une information entre deux unités. Un registre de mot
5
10
15
20
25
30
35
40
45
50
55
60
65
11
632 350
LPW est prévu dans le processeur LCP 20oo dans lequel l'accumulation du mot LPW par le processeur LCP 2000 consiste à appliquer chaque mot à transférer à l'entrée du registre LPW et à effectuer une opération d'addition binaire sans report (fonction OU-EXCLUSIF). Puis à la fin du transfert des données, la fonction OU-EXCLUSIF est de nouveau effectuée entre les mots LPW de l'unité d'émission et de l'unité de réception. Lorsqu'aucune erreur ne s'est produite, les deux mots LPW sont identiques et la valeur résultante dans le registre LPW est un ensemble de 0.
Traducteur entrée!sortie (IOT) (fig. 5C) :
Le traducteur I/O 10t traduit les descripteurs I/O du système en des messages opérationnels, adéquats destinés à chaque processeur LCP. En retour, les messages de résultat des processeurs LCP sous la forme de descripteurs de résultat ne sont pas traduits par le traducteur I/O, mais sont stockés directement dans la mémoire 10mr sous la forme dans laquelle ils sont transmis par les processeurs LCP. Le traducteur I/O effectue tous les transferts d'information entre les processeurs LCP et la mémoire principale 10ra, transferts nécessaires pour renforcer les possibilités entrée/sortie du second sous-système I/O LCP.
Les descripteurs I/O qui sont appliqués au traducteur I/O par la mémoire 10m sont représentés à la fig. 5A. La partie 1A de cette figure montre les descripteurs utilisés par le traducteur I/O pour créer des messages d'ordre C/M pour le processeur LCP. On peut également les appeler descripteurs d'ordre C/D. La partie 1B indique les descripteurs utilisés par le traducteur I/O. Les opérations 40 à 58 sont traduites en code OP, LCP et sont appliquées aux processeurs LCP en formant message. Les digits L de l'information de report de champ variable, utilisés pour les digits variables (B, C et D) de l'information du descripteur, sont appliqués aux processeurs LCP. Le digit S est utilisé par le traducteur I/O comme le montre la note de la partie 1A de la fig. 5A.
Chaque opération représentée à la fig. 5A présente deux codes OP; la différence est le nombre d'adresses utilisées par le processeur LCP. Le premier digit du code OP désigne le nombre d'adresses requises. Par exemple, une grandeur égale à 4 désigne deux opérations d'adresses (à l'exception du test qui n'en a qu'une); une grandeur égale à 5 pour le premier digit du code OP désigne une opération à trois adresses. Le second digit du code OP est indiqué dans les codes OP réellement envoyés aux processeurs LCP sous la forme d'un digit A.
La fig. 5B montre les limites du champ de données des opérations dans le sens direct et dans le sens inverse (direct=échange entre le système et le processeur LCP).
La fig. 5 A montre également quatre types de messages opérationnels classiques utilisés pour la commande des processeurs LCP, à savoir;
1.lecture
2. inscription
3. test
4. écho
L'information de descripteur caractéristique se recueille sous la forme de variantes qui accompagnent les codes OP. Les instructions de lecture et inscriptions nécessitent l'accès à la mémoire du système. Toutes les opérations qui ne transfèrent pas de données sont considérées comme des tests. Ainsi, un test est défini comme étant une opération qui résulte, dans le traducteur I/O, en la seule réception d'une information de résultat. L'opération écho est un test de confiance qui entraîne que le processeur LCP accepte une charge d'information tampon du système 10 et retourne cette charge au système 10 pour vérification.
Toutes les communications entre le système principal 10 et le processeur LCP se font par une interface de niveau de message standard 15 (MLI). Cette communication entre le traducteur I/O et les divers processeurs LCP se fait par une discipline d'écoulement standard qui est commune à tous les processeurs LCP.
A la fig. 5C, le traducteur I/O 10t reçoit les descripteurs I/O du processeur 10p. Le traducteur I/O se branche alors par l'intermédiaire de l'unité de distribution 20od au canal LCP demandé et envoie l'information de descripteur, traduite (descripteur d'ordre C/D) en format de message indiquant le travail du processeur LCP. Le traducteur I/O passe alors à l'état entraîné LCP. Cela signifie que le traducteur I/O répond aux divers états LCP (y compris les demandes de mémoire) comme cela est indiqué par les lignes de commande entre le processeur LCP et le traducteur I/O à la fig. 4A. Le traducteur I/O assure le transfert de l'information entre la mémoire principale et les processeurs LCP. Les demandes de mémoire des processeurs LCP commandent le traducteur I/O pour tous les transferts de données, sauf celui de l'initiation.
Le traducteur I/O ou le processeur LCP peuvent initier la connexion à la mémoire principale 10m. Le traducteur I/O initie une connexion de la mémoire principale à un processeur LCP (à son périphérique correspondant), en effectuant un algorithme qui est appelé test Poil. Par ailleurs, le processeur LCP commence une connexion sur le traducteur I/O et la mémoire principale par un algorithme appelé demande Poil. Dès que le processeur LCP est connecté, il indique son état par les lignes de commande de la fig. 4A. Le processeur LCP qui initie une demande Poil doit se mesurer aux autres processeurs LCP du système; une connexion à la mémoire principale 10m est attribuée sur une base priorité qui sera décrite ultérieurement. Pendant une opération, le traducteur I/O 10t peut se couper d'un processeur LCP pour desservir un autre processeur LCP.
Les transmissions de message entre le traducteur I/O et le processeur LCP concernent les données et les messages de commande qui sont transmis par 16 bits à la fois avec un bit de parité impaire verticale. A la suite du dernier message, un mot de parité impaire longitudinale à 16 bits (LPW) est transmis avec un bit de parité impaire verticale. La parité est vérifiée à la fois par le traducteur I/O et le processeur LCP. Si le processeur LCP détecte une erreur de parité, le processeur indique cela dans la transmission de l'information de résultat (descripteur de résultat) et arrête le fonctionnement. Si le traducteur I/O détecte une erreur de parité, il l'introduit dans le descripteur de résultat LCP.
Le traducteur entrée/sortie 10t (IOT) se compose de quatre sections fonctionnelles principales, chacune concernant un aspect particulier de l'opération entrée/sortie. Ces sections fonctionnelles sont représentées à la fig. 5C. En outre, les relations fonctionnelles entre le traducteur I/O et le système principal (processeur et mémoire principale) ainsi que le processeur LCP et le périphérique sont également représentées.
A la fig. 5C, le traducteur entrée/sortie 10t communique avec le processeur 10 et la mémoire principale 10m. Le traducteur I/O 10t communique également avec un processeur LCP choisi comme processeur de commande de ligne 20oo et le périphérique 50. Une série de lignes de commande de la fig. 5C relie le processeur 10 au module d'initiation 10ta au module de connexion 10tb et au module de transfert de données 10lc ainsi qu'au module de reconnexion 10td.
Module d'initiation:
Le module d'initiation 10ta accepte l'information du descripteur contenant les adresses du processeur 10 et traduit le code OP de descripteur et assemble l'information sous une forme utilisable par le processeur LCP 20oo- Les adresses A et B du descripteur sont stockées dans la mémoire bloc-notes 10ps du traducteur I/O (fig. 3) ayant des endroits réservés à chaque canal désigné; la partie restante de l'information de descripteur est assemblée dans un registre (comme représenté à la fig. 5D) pour être ultérieurement transmise au processeur LCP 20oo- Dès que l'information est assemblée dans ce registre d'information de descripteur et que les adresses sont enregistrées, les contenus du premier registre sont décalés vers un second registre identique. De cette façon, on peut effacer le premier registre et le module d'initiation 10ta est ainsi libre d'accepter un second descripteur.
s
10
15
20
25
30
35
40
45
50
55
60
65
632350
12
L'information contenue dans le registre de descripteur de la fig. 5D se compose d'un certain nombre d'éléments:
a) code OP LCP : il s'agit de quatre bits s'excluant mutuellement et qui sont traduits par le traducteur I/O du code OP de descripteur I/O; ces bits indiquent au processeur LCP le type d'opérations qui doit commencer;
b) les variantes LCP : il s'agit de trois digits utilisés pour faire passer les informations complémentaires au processeur LCP et qui concernent l'opération qui doit être effectuée;
c) digit IOT : ce digit indique si les transferts de données doivent être interdits ou si une donnée doit ou non être traduite;
d) repère arrière: lorsque ce repère est mis, il indique qu'une opération inverse s'effectue;
e) adresse LCP: cette adresse est décodée du BF (numéro de canal) de l'instruction I/O d'initiation de processeur; ce domaine contient trois bits qui déterminent l'un des huit modules de base LCP et les autres trois bits qui sont utilisés en combinaison pour choisir un processeur LCP particulier dans le module de base déterminé;
f) adresse C: il s'agit d'un domaine d'adresses C à six digits (adresses de dossier) du descripteur I/O.
La combinaison du digit IOT, du repère arrière et de l'adresse LCP constitue le maillon de descripteur (D/L) qui est utilisé par le processeur LCP pour rétablir la connexion du système après une coupure précédente. Lorsque le processeur signale au traducteur I/O que tout le descripteur I/O a été envoyé, le traducteur I/O se coupe du processeur et le module d'initiation 10la fait passer la commande sur le module de connexion 10tb.
Module de connexion:
Le module de connexion 10tb de la fig. 5C a pour but d'établir un chemin de communication entre un processeur LCP déterminé tel que le processeur LCP 20oo et le traducteur entrée/sortie 10t. Le module de connexion 10tb décode le numéro de canal qui apparaît dans l'instruction d'initiation de processeur et qui, avec la valeur décodée, choisit un chemin de communication pour le module de base LCP tel que le module 20o (fig. 1 A) dans lequel se trouve le processeur LCP choisi. Le module de connexion 10tb envoie alors l'adresse LCP au module de base LCP choisi, puis indique au module de base tel que le module 20„ de commencer le test Poil.
Test Poil:
Le test Poil est un algorithme utilisé par le module de base LCP pour établir la connexion entre le module de base et un processeur LCP particulier; l'algorithme du test Poil est une connexion qui est initiée par le traducteur I/O (contrairement à un algorithme appelé demande Poil qui est une connexion initiée par le processeur LCP). Dès que la connexion entre le module de base LCP et le processeur LCP caractéristique est établie, le module de base tel que le module 20o des fig. 1A et 2 devient transparent pour le transfert des données entre le processeur LCP et le traducteur I/O. L'algorithme test Poli vérifie également la priorité, les erreurs de transmission et les états d'occupation, et l'une de ces vérifications, en cas de contrôle positif, peut faire échouer la tentative de connexion.
Si la tentative de connexion réussit, le processeur LCP reste relié au traducteur I/O 10t jusqu'à ce que la connexion soit terminée par le traducteur I/O. Le module de base LCP ne joue aucun autre rôle dans les communications entre le processeur LCP choisi et le traducteur I/O.
Au cours de l'essai de connexion, certaines conditions peuvent être détectées, qui arrêtent ou font échouer la tentative de connexion, si bien que la condition existante est indiquée dans le descripteur de résultat IOT. La liste suivante indique les types de conditions qui peuvent être détectés et indiqués:
a) le canal adressé ne contient pas de processeur LCP ou le processeur LCP du canal est coupé;
b) le processeur LCP du canal particulier, adressé, est occupé (c'est-à-dire l'état LCP n'est ni 2 ni 3; l'utilisation d'état de comptage sera décrite ultérieurement);
c) la sortie est occupée, c'est-à-dire que certains autres processeurs LCP du module de base sont reliés au système 10;
d) l'adresse LCP présente une erreur de parité.
Lorsque le traducteur I/O et le moyen de commande de distribution du module de base utilisent le test Poil pour le branchement d'un processeur LCP particulier, si le test Poil se traduit par la connexion de ce processeur LCP, le traducteur I/O 10t transmet le maillon de descripteur (D/L), le code OP LCP et les variantes et l'adresse C pour le processeur LCP choisi. Après réception de cette information, le processeur LCP indique au traducteur I/O 10t qu'il est soit en train de se couper, soit en train de se préparer à commencer un transfert de données. De façon caractéristique, l'opération inscription (données de la mémoire principale 10m vers un périphérique tel que le périphérique 50) fait que le processeur LCP choisit une demande de transfert de données; par ailleurs, ime opération lecture se traduit de façon caractéristique par une coupure.
Si un transfert de données est demandé, le module de connexion 10tb passe la commande par le module de transfert de données 10te. Si le processeur LCP 20oo est coupé, la communication entre le processeur LCP 2000 et le traducteur I/O 10t se termine jusqu'à ce que le processeur LCP demande un rétablissement de la communication par l'intermédiaire du module de reconnexion 10td.
Module de transfert de données :
A la fig. 5A, le module de transfert de données 10tc est utilisé par le traducteur I/O 10t pour commander et diriger le flot de données entre le processeur LCP 20oo qui est connecté et la mémoire principale 10m. Le processeur LCP peut être à l'état connecté comme résultant directement de l'effet du module de connexion 10tb ou comme résultant de l'effet du module de reconnexion 10td; dans chaque cas, le fonctionnement du module de transfert de données 10tc est le même. Lorsqu'une commande passe par le module de transfert de données 10tc, les adresses A et B du descripteur sont récupérées de la mémoire bloc-notes 10ps du traducteur I/O (fig. 3), car ces adresses ont été stockées dans cette mémoire soit par le module d'initiation 10ta soit par le module de transfert de données 10tc (fig. 5C) à la fin d'une opération de transfert de données antérieure. Le système fait une demande d'accès de mémoire et l'adresse A est transférée du traducteur I/O 10t par le registre d'adresse de mémoire de processeur 10pam dans le système principal 10 (fig. 3).
En supposant qu'une opération inscription est en cours (fig. 5C), la donnée de la position de mémoire indiquée par l'adresse A est' envoyée par Bm au module de transfert de données 10to du traducteur I/O. Dès que cette donnée est dans le module, elle est traduite (suivant les indications du descripteur) et elle est utilisée pour créer une parité longitudinale. Puis, cette donnée passe par le bus Bg dans le processeur LCP choisi, tel que le processeur LCP 20oo, en même temps qu'une impulsion de déclenchement. Lorsque le processeur LCP 20oo reçoit la donnée, il accuse réception en retournant l'impulsion de déclenchement au traducteur I/O 10t.
Pendant que le transfert de données s'effectue de la mémoire 10m par le processeur LCP 20oo, le traducteur I/O 10t incrémente l'adresse A et la compare à l'adresse B. Aussi longtemps que l'adresse A est inférieure à l'adresse B, l'impulsion d'accusé de réception du processeur LCP 20oo demande un autre accès de mémoire et permet à la séquence de transfert de données de se poursuivre.
Si la mémoire tampon du processeur LCP tel que le processeur LCP 250o (fig- 2) est remplie de données de la mémoire 10m, le processeur LCP indique au traducteur I/O 10t qu'il est en train de se déconnecter; le traducteur I/O 101 rétablit alors l'adresse A incrémentée dans la mémoire bloc-notes 10ps du traducteur I/O (fig. 3), puis la connexion entre le traducteur I/O et le processeur LCP se termine. Le processeur LCP tel que le processeur LCP 20flo commence alors la transmission de la donnée par l'intermédiaire du bus Bp vers le périphérique 50; le traducteur I/O 10t peut alors établir librement une connexion sur un autre processeur LCP.
5
10
15
20
25
30
35
40
45
50
55
60
65
13
632 350
Lors du transfert du contenu de la mémoire tampon de données 2500 vers le périphérique 50, le processeur 20oo demande un rétablissement du chemin de données vers la mémoire principale 10m. Ce rétablissement est traité par le module de base LCP 20o et le module de reconnexion 10t du traducteur I/O.
Pour augmenter la vitesse globale de l'activité entrée/sortie (I/O), le traducteur I/O 10t peut comporter en variante un multiplexeur IOT. Ce multiplexeur permet au traducteur I/O de traiter un autre processeur LCP pendant les cycles de mémoire qui seraient par ailleurs perdus lorsque le traducteur I/O est occupé avec une quelconque fonction ne recourant pas à la mémoire.
Module de reconnexion:
Après avoir été connecté sur le traducteur I/O 10t et avoir reçu le descripteur d'ordre (C/D) et le maillon de descripteur (D/L), le processeur LCP 20oo peut se couper du système pour communiquer avec son périphérique correspondant tel que le dispositif 50. Si, dans ces conditions, le processeur LCP demande ultérieurement un accès à la mémoire 10m, il envoie une demande au module de base 20o. L'algorithme appelé demande Poil est le procédé selon lequel le module de base LCP (à la suite d'une demande du processeur LCP) tente de connecter de nouveau le processeur LCP sur le traducteur I/O 10t. La raison d'être du module de reconnexion 10td est de recevoir la demande Poil et de rétablir un chemin de données par l'intermédiaire du traducteur I/O 10t.
Pendant la tentative de reconnexion et la coopération avec le module de base tel que 20o, le module de reconnexion 10td résout tout conflit de priorité qui peut se présenter entre diverses demandes de processeur LCP. Lorsque le problème des priorités est résolu, le module de reconnexion établit le chemin de données pour les processeurs LCP par l'intermédiaire du traducteur I/O 10t. Il est à remarquer que la carte de distribution du module de base comporte une logique câblée pour effectuer les tentatives de reconnexion du processeur LCP sur le traducteur I/O 10t.
Dès que le chemin des données est rétabli, le processeur LCP ramène le maillon de descripteur sur le traducteur I/O 10t. Le maillon de descripteur a initialement passé dans le processeur LCP 20Oo pendant la séquence de connexion initiale. Le module de base 20o ne joue aucune autre rôle dans la communication LCP-IOT. A la suite du transfert du maillon de descripteur, le module de reconnexion 10td passe la commande au module de transfert de données 10tc.
Le traducteur I/O 10t doit pouvoir accepter, stocker et modifier les adresses du champ de données pour transférer les données vers ou en provenance des positions de mémoire correctes. Etant donné que la mémoire principale 10m peut avoir jusqu'à 2 millions de digits (adresses comprises entre 0 et 1999 999) et comme les divers dispositifs entrée/sortie peuvent adresser directement la mémoire 10m, les adresses du champ de données du descripteur I/O doivent avoir une longueur de 7 digits. Une adresse du champ de données du descripteur I/O doit être MOD 2 ou MOD 4 (MOD est l'abréviation de module); aucune adresse impaire n'est permise. Etant donné que les adresses impaires ne sont pas permises, il n'est pas nécessaire d'avoir le dernier bit significatif du digit le moins significatif. De plus, comme le digit le plus significatif peut seulement être 1 ou 0, il suffit d'un bit pour la position de digit. Etant donné ce qui précède, il est possible de réaliser une adresse à sept digits en utilisant 24 bits. Le format d'une adresse du champ de données du descripteur I/O est donné dans le tableau V.
( Tableau en tète de la colonne suivante )
Dans l'adresse, le digit G peut être égal à 1 ou à 0, les digits G... F peuvent avoir n'importe quelle valeur numérique (0 à 9) et le digit A peut avoir n'importe quelle valeur décimale paire (0 à 8).
Comme indiqué à la fig. 3, le traducteur I/O 10t comporte une mémoire bloc-notes 10ps. Cela est représenté de façon détaillée à la fig. 5F. Le traducteur I/O contient 256 mots d'une mémoire bloc-notes, chaque mot ayant une longueur de 24 bits. Comme le montre la fig. 5F, la mémoire bloc-notes est divisée en cinq zones principales.
Tableau V
Position du digit
Valeur du bit
Adresse du champ de données du descripteur I/O.
Remarque: H indique un bit non utilisé qui doit être nul.
Les zones référencées A et B servent à stocker les adresses de début (A) et de fin (B) du champ de données de mémoire; ces deux adresses ont une longueur de 24 bits. Les zones repérées EXRDW 1 et EXRDW 2 servent à stocker les descripteurs de résultat développés, dans lesquels chacun des mots a une longueur de 16 bits. La zone référencée stockage temporaire sert à stocker les repères indiquant les erreurs détectées pendant le fonctionnement IOT.
Lorsque le descripteur de résultat est assemblé, l'information de la zone de stockage temporaire est ajoutée à n'importe quelle information de descripteur de résultat existante. Chacune des cinq zones principales est subdivisée en 64 zones individuelles, une pour chaque canal.
Les positions de bloc-notes sont adressées par une combinaison de huit bits représentée par le numéro du module de base et le numéro LCP, le repère de fin d'adresse (adresse B) et le repère de descripteur de résultat, développé (EXRDW 1). Les six bits les moins significatifs de l'adresse de bloc-notes (numéro de module de base et numéro LCP) sont dérivés de la partie BF de l'instruction d'initiation de processeur (BFA=numéro de base, BFB=numéro de processeur LCP). Le signal EXRDW 1 est créé par le traducteur I/O 10t chaque fois qu'un accès est demandé soit au mot de descripteur de résultat développé ou à la zone de stockage temporaire.
L'expression ADDRESB est créée par le traducteur I/O chaque fois qu'un accès est demandé à l'adresse B ou à la seconde zone de descripteur de résultat développée.
Les éléments de la mémoire bloc-notes 10ps sont constitués par 24 éléments RAM (256 x 1) répartis en 64 x 4 x 24 (64 canaux, 4 mots par canal et 24 bits par mot). Comme cela apparaît à la fig. 5G, le bus d'adresses à huit bits Bad passe à toutes les mémoires RAM 600, 60!... 6024 de la répartition, comme le fait la ligne d'autorisation d'inscription 68. Chaque élément de mémoire RAM comporte une ligne d'entrée de données et une ligne de sortie de données; ces diverses lignes de données sont combinées pour former l'entrée de données (RAMIN) 70; et la sortie de données (RAMOUT) 70o.
Lorsque l'adresse bloc-notes est appliquée à la répartition et que l'ordre autorisation d'inscription est rendu actif, les données du bus d'adresses IOT sont inscrites dans les éléments RAM. Pour lire à partir du bloc-notes, il faut indiquer la position voulue par l'adresse du bloc-notes et l'ordre autorisation de lecture doit être mis en œuvre. La donnée demandée est alors transférée du bloc-notes au bus d'adresses IOT.
Enregistrement d'une adresse:
Pendant l'exécution de l'instruction d'initiation I/O, le processeur 10p assemble l'adresse de début (A) et l'adresse de fin (B) du champ de données. Puis le processeur transfère l'adresse A complète du registre de processeur 10pr au bus d'adresses IOT. A l'endroit adéquat de la séquence d'initiation IOT, le traducteur I/O crée les signaux adéquats, puis commande par porte les bits du module de
5
10
15
20
25
30
35
40
45
50
55
60
65
632 350
14
base et ceux de l'adresse du processeur LCP vers la mémoire bloc-notes 10ps. Lorsque la position du canal du bloc-notes est adressée et que l'ordre autorisation d'inscription est actif, l'adresse A peut s'inscrire dans le bloc-notes. Puis le processeur 10p place l'adresse de fin (B) dans le bus d'adresses IOT, puis de nouveau le traducteur I/O crée les signaux de commande adéquats ainsi que le module de base et l'adresse du processeur LCP. Cependant, à ce moment, le traducteur IOT crée également ADDRESB, si bien que l'adresse du bus s'inscrit dans la zone d'adresse B de la mémoire bloc-notes (fig. 5F). Les adresses de début et de fin du champ de données sont alors stockées à l'adresse du canal dans la mémoire bloc-notes 10ps. Lorsque l'opération de transfert de données commence, on a accès aux positions de la mémoire bloc-notes par le module de transfert de données 10tc(fig. 5C).
Interface de niveau de message:
Comme décrit précédemment en relation avec la fig. 2, le module de base LCP 20o est caractéristique des modules de base en ce que chaque module de base distinct comporte une carte de distribution 20od qui dessert jusqu'à huit processeurs LCP. En outre, chaque module de base LCP comporte une carte d'entretien telle que 20om et une carte de terminaison 20ot.
La carte de distribution de chaque module de base LCP assure l'interface entre le module de base LCP et le traducteur entrée/sortie 10t du système principal 10. Comme cela ressort de la fig. 2, l'interface de niveau de message 15 donne un canal au traducteur I/O 10t à partir de chaque module de base LCP par l'intermédiaire de 25 lignes. Ces lignes sont représentées à la fig. 5E. Les fonctions de chacune des lignes identifiées de façon distincte sont consignées dans le tableau VI.
TABLE A U VI ( voir également fig. 5E)
Nom du signal Description
ADDSEL Sélection d'adresse. Ce signal, lorsqu'il est mis en
œuvre, indique que le traducteur I/O est connecté ou tente d'être connecté à un processeur LCP particulier. Dès que la connexion est faite, le processeur LCP reste branché jusqu'à ce que le traducteur IOT chute ADDSEL.
AG+ SIO L'accès est garanti ou déclenché I/O. Si le proces seur LCP n'est pas connecté, ce signal indique que les processeurs LCP demandent qu'une nouvelle connexion soit attribuée et ils commencent l'algorithme demande Poil. Si un processeur LCP est connecté, ce signal est l'accusé de réception de l'information du traducteur I/O ou le déclenchement de la transmission d'information.
TRM+MC Fin ou évacuation Maître. Si aucun processeur LCP n'est connecté, ce signal évacue tous les processeurs LCP qui sont en ligne. Si un processeur LCP est connecté, ce signal termine le processeur LCP connecté.
LCPST Déclenchement LCP. Si un processeur LCP est connecté, ce signal est l'accusé de réception d'information du processeur LCP ou le déclenchement de la transmission de l'information. Ce signal est également utilisé par la carte de distribution comme accusé de réception pendant le test Poil ou la demande Poil.
ER+ST8 Demande d'urgence ou état 8 LCP. Lorsque ce signal est activé par un processeur LCP non connecté, il indique que ce processeur LCP demande l'accès immédiat au traducteur I/O. S'il est activé par le processeur LCP connecté, ce signal indique que le bit 8 de l'état LCP est mis.
IP+ST4 Demande d'interruption, test Poil d'erreur de parité ou état 4 LCP. Lorsque ce signal est activé
par un processeur LCP non connecté, il indique que le processeur LCP demande l'accès à la mémoire, c'est-à-dire que le processeur LCP demande une nouvelle connexion. S'il est activé pendant une séquence de connexion d'un système initié (test Poil), ce signal indique qu'une erreur de parité a été détectée pendant le test Poil. S'il est activé par un processeur LCP connecté, IP+ST4 indique que le bit 4 de l'état du processeur LCP est mis.
PB+ST2 Orifice occupé ou état LCP 2. Lors de la détec tion pendant le test Poil, ce signal indique que le processeur LCP de base est actif. S'il est activé par un processeur LCP connecté, PB+ST2 indique que le bit 2 de l'état LCP est mis.
CS+STI Sélection canal ou état LCP 1. Lorsqu'il est activé
par le traducteur I/O et est transmis à un processeur LCP de base, ce signal indique sélection de canal et qu'une connexion ou qu'une tentative de reconnexion a été commencée. S'il est activé par un processeur LCP connecté, CS+STI indique qu'un bit 1 de l'état LCP est mis.
PARITÉ Parité. Cette ligne bidirectionnelle porte la parité
adéquate (impaire) pour l'information sur des lignes à 16 données.
DONNÉES xn Lignes de données (x=A, B, C, D; n= 1,2,4, 8).
Dans cet état non connecté, les 16 lignes bidirectionnelles servent pour l'adressage et la résolution de priorité dans la connexion ou les tentatives de reconnexion. Dans cet état connecté, les lignes servent pour le transfert des données entre le traducteur I/O et le processeur LCP.
L'interface de niveau de message 15 (MLI), qui est formée de 35 25 lignes de signaux reliant la carte de distribution telle que la carte 20od d'un module de base LCP particulier tel que 20o au traducteur I/O 10t, assure que la discipline de signal présentée au traducteur I/O est une discipline classique quelles que soient les variations de logique et d'opération rencontrées dans les divers types 40 de processeurs LCP. Il est à remarquer que certaines des lignes de signaux MLI 15 représentées à la fig. 5E sont des lignes bidirectionnelles et sont attribuées à des fonctions multiples en fonction de la source du signal et de l'état (connecté ou déconnecté) du processeur LCP.
45 La carte de distribution 20od d'un module de base LCP donné est utilisée pour fournir une partie de l'interface de niveau de message entre le traducteur I/O et les divers processeurs LCP du module de base. Cette carte de distribution joue également le rôle, en combinaison avec le module de connexion IOT 10tb, qui consiste à établir un so chemin de données vers un processeur LCP déterminé (test Poil) et, lors de la demande par un processeur LCP, elle coopère avec le module de reconnexion IOT 10td pour établir un chemin de ce processeur LCP particulier au traducteur I/O (demande Poil).
55 Comptages d'états LCP:
Pendant qu'un processeur particulier LCP est connecté, on a une procédure de communication classique avec le traducteur I/O. Bien que la séquence des événements suivis au cours de la procédure de communication puisse ne pas être identique pour tous les processeurs 60 LCP, les événements qui se produisent en un point de la séquence seront identiques. Les phases de la séquence qui sont numérotées 0 à 15 sont appelées états de comptage et sont transmises au traducteur I/O. Le traducteur I/O examine les états de comptage chaque fois qu'il reçoit une impulsion de déclenchement d'un processeur 65 LCP et, en fonction de l'état de comptage, il assure l'opération adéquate. Une description plus détaillée de la séquence et de l'utilisation des états de comptage sera donnée ultérieurement. La fig. 6A est un diagramme montrant les divers états de comptage et le
15
632 350
déroulement logique correspondant. Des explications détaillées de cette logique et des états de comptage seront données ultérieurement.
Arrière-plan de module de base LCP:
Un arrière-plan commun local est prévu dans chacun des modules de base LCP 20o, 2QU 202, etc. Chaque arrière-plan relie tous les huit processeurs LCP du module de base. Cet arrière-plan est réalisé de façon que toutes les lignes de signaux se trouvent sur la longueur de cet élément, pour que toutes les lignes soient disponibles pour tous les processeurs de ce module de base. De chaque position d'un processeur LCP, ces lignes d'arrière-plan se répartissent en deux types généraux:
a) celles allant vers la carte de distribution et vers le traducteur I/O,
b) celles allant vers les cartes d'entretien et de terminaison.
A l'exception des diverses lignes de tension et d'horloge, celles qui sont reliées à la carte d'entretien (telle que par exemple 20om de la fig. 2) servent pour les fonctions de maintenance locales et celles hors lignes.
Parmi les lignes qui vont à la carte de distribution, et celles qui vont vers le traducteur I/O, certaines, telles que les lignes de données de parité, doivent passer par des portes pour aller aux divers processeurs LCP. Cette fonction de porte est autorisée seulement lorsque le processeur LCP est à l'état connecté; lorsque le processeur LCP est déconnecté, la porte est interdite. Le processeur LCP est à l'état connecté lorsqu'il peut transférer des données entre le traducteur I/O et lui-même. L'état déconnecté du processeur LCP est celui dans lequel le processeur LCP est déconnecté du traducteur I/O, mais peut transférer des données entre lui-même et son unité périphérique.
En plus des lignes de porte, il y a des lignes qui sont attribuées à chaque processeur LCP distinct, par exemple la ligne qui va de la carte de distribution à un seul processeur LCP. Les lignes qui ne nécessitent pas de portes servent pour les signaux tels que les demandes de reconnexion LCP ou les lignes d'adresse LCP.
Pendant qu'un processeur LCP est connecté à un traducteur IOT, ce processeur LCP accède exclusivement à l'arrière-plan du module de base. Cela se fait pendant le temps de connexion, lorsqu'il y a un transfert de données IOT-LCP. A la fin du transfert de données, le processeur LCP se coupe à la fois du traducteur IOT et de l'arrière-plan du module de base pour les libérer ainsi et permettre leur utilisation par d'autres processeurs LCP du système. Une fois déconnecté, le processeur LCP est libre de communiquer, par l'intermédiaire du plan avant, avec le périphérique correspondant tel que le dispositif 50. Lorsqu'un processeur LCP déconnecté exige le rétablissement de la connexion du traducteur I/O, ce processeur LCP envoie un signal de demande par l'intermédiaire des lignes de l'arrière-plan qui sont attribuées à la carte de distribution telle que la carte 20^. La réception de la demande LCP fait que la carte de distribution commence l'algorithme demande Poil et initie le module de reconnexion IOT 10td (fig. 5C).
Processeur de commande de ligne:
Un processeur de commande de ligne LCP est un dispositif qui sert d'unité d'interface entre un dispositif périphérique déterminé et le système principal. Il existe divers types de processeurs LCP,
chacun étant prévu pour coopérer avec un type particulier de dispositifs périphériques. Comme les dispositifs périphériques sont différents sur le plan de leurs caractéristiques de fonctionnement, le processeur LCP est réalisé de façon à traiter, à commander et à être en particulier adaptable à son propre dispositif périphérique. Cependant, il existe certaines caractéristiques générales d'une unité d'interface LCP qui sont communes à tous les processeurs LCP. Fondamentalement, les caractéristiques communes de chaque processeur LCP sont les suivantes: la possibilité de transformer les données série en des données parallèles ou de transformer les données parallèles en des données série, la possibilité de transformer un format d'un caractère en un format de mot ou de transformer un format d'un mot en un format de caractère; de reconnaître et de prendre les mesures adéquates en réponse à certains caractères de commande normale ou de signaux.
La fig. 6B représente un schéma bloc généralisé d'un processeur de commande de ligne, cette figure montrant également la relation entre l'unité de carte de distribution 20od et le traducteur I/O 10t. Si le processeur LCP est supposé à l'état connecté et si une opération d'inscription a été commencée, les données du traducteur I/O 10t pénètrent dans le processeur LCP par les récepteurs d'arrière-plan 23r. Puis le multiplexeur 24xl sert à choisir la source de données de fonctionnement qui, dans ce cas, est le traducteur I/O 10t.
La sortie du multiplexeur 24xl passe par des conducteurs à la fois au circuit LPW (mot de parité longitudinale) 24w ainsi qu'au multiplexeur 24x2 qui laissent passer par des portes les données du multiplexeur 24xl dans la mémoire tampon de données 2500- Le processeur LCP continue de recevoir des données du traducteur I/O 10t jusqu'à ce que la mémoire tampon de données 2500 soit remplie.
Dans la période où le processeur LCP reçoit des données, le circuit LPW 24w crée la somme LPW ; puis, à la fin de la transmission, le traducteur I/O 10t envoie un mot de parité longitudinale (LPW) qui, s'il n'y a pas d'erreur dans la transmission, efface le circuit LPW 24w. Si le circuit 24w ne s'efface pas, cela correspond à une erreur.
Lorsque la mémoire tampon de données 2500 est remplie, le processeur LCP se coupe du système principal (IOT) en interdisant ses circuits de commande de transmetteur d'arrière-plan 23x et les récepteurs d'arrière-plan 23r; puis le processeur LCP établit un chemin de données vers le périphérique, tel que le dispositif 50, en autorisant ses circuits de commande de transmetteur de plan avant 28x et les récepteurs de plan avant 28r. Dès que ce chemin est établi, le processeur LCP utilise le multiplexeur 27x pour choisir les données (données traduites ou non traduites) de la mémoire tampon de données 2500 pour les transmettre au dispositif périphérique 50. La transmission se poursuit jusqu'à ce que le circuit tampon de données 2500 soit vide et, à ce moment, le processeur LCP demande une reconnexion (pour le traducteur I/O) soit pour stocker un descripteur de résultat soit pour demander d'autres données.
Si l'opération lecture est en cours et que le processeur LCP est coupé du système principal (IOT), les données du dispositif périphérique 50 pénètrent dans le processeur LCP par l'intermédiaire du récepteur de plan avant 28r. La sortie du récepteur 28r passe dans le multiplexeur 24xl qui choisit alors le dispositif périphérique 50 (par l'intermédiaire du récepteur de plan avant 28r) comme source de données. La sortie du multiplexeur 24xI court-circuite le circuit LPW 24w et passe sur le multiplexeur 24x2 qui choisit le multiplexeur 24x| comme signal d'entrée de la mémoire tampon 2500. Lorsque la mémoire tampon de données 2500 est remplie, les récepteurs de plan avant 28r et les circuits de commande de plan avant 28x sont interdits; puis le processeur LCP se reconnecte sur le traducteur I/O 10t; les récepteurs 23r et les circuits de commande 23x de l'arrière-plan sont alors autorisés.
Le processeur LCP commence alors la transmission (vers le système principal 10) pour les données de la mémoire intermédiaire 2500 par l'intermédiaire du multiplexeur 27x et du circuit de commande 23x, vers le traducteur I/O 10t. Pendant cette transmission, le signal de sortie du multiplexeur 27x passe alors à travers le multiplexeur 24xi dans le circuit LPW 24w. Puis la mémoire intermédiaire de données 2500 se vide, le processeur LCP envoie un signal au traducteur I/O 10t indiquant que le mot de parité longitudinale LPW arrive, puis il commande les portes pour la somme finale LPW par l'intermédiaire du multiplexeur 27x et du circuit de commande 23x, vers le traducteur I/O 10t.
Après la transmission du mot de parité longitudinale LPW, le processeur LCP peut soit se déconnecter du système principal IOT pour recevoir des données supplémentaires du dispositif périphérique 50 ou, s'il n'y a pas d'autres données, le processeur LCP peut stocker un descripteur de résultat et passer à l'état libre.
5
10
15
20
25
30
35
40
45
50
55
60
65
632350
16
Dans les opérations décrites ci-dessus, les données d'information peuvent avoir été transférées entre le processeur LCP et le dispositif périphérique sous la forme de bits, de caractères ou de mots, en fonction du dispositif périphérique concerné. Le procédé de transmission de données est commandé de façon caractéristique par le type de dispositifs périphériques utilisés.
De façon caractéristique, les données d'information sont transférées entre le processeur LCP et le traducteur I/O 10t sous la forme de mots avec, dans certains cas, des transferts de caractères comme, par exemple, le premier et le dernier caractère d'une transmission. Ces données se transfèrent entre le traducteur I/O 10t et le processeur LCP de la fig. 6B et sont commandées par l'échange d'impulsions de déclenchement, et la reconnaissance se fait par le traducteur I/O 10t du processeur LCP d'état de comptage.
Comme indiqué précédemment en relation avec la fig. 6A, l'état de comptage du processeur LCP donne une information normalisée qui est transmise au traducteur I/O 10t et qui permet à ce traducteur I/O de prendre les mesures adéquates suivantes en fonction de l'information concernant l'état de comptage.
Pendant qu'un processeur LCP est connecté par le système principal, il suit une procédure de communication normale avec le traducteur I/O 10t. Même si la séquence d'événements suivie dans les procédures de communication peut ne pas être identique pour tous les processeurs LCP, les événements particuliers qui se produisent en n'importe quel point de la séquence de la procédure de communication sont tous similaires. Les phases de la séquence de communication, numérotées 0 à 15, sont appelées états de comptage et sont référencées STC. Ces états de comptage sont transmis au traducteur I/O 10t qui examine l'état de comptage (STC) chaque fois qu'il reçoit une impulsion de déclenchement du processeur LCP et, en fonction de l'état de comptage, le traducteur I/O peut prendre les mesures adéquates.
Selon la fig. 6A et le tableau VII, on voit que chaque état de comptage a une fonction particulière et, en outre, suivant le type de processeur LCP et de descripteur concernés, l'état de comptage présente des sorties différentes. Le tableau VII décrit brièvement les divers états de comptage LCP.
TABLEAU VII Etat de comptage Description STC=0 Effacement Maître.
STC = 1 Déconnexion. Le processeur LCP communique avec son dispositif périphérique. STC=2 N'est pas prêt. Le processeur LCP est libre. Le périphérique n'est pas prêt. Le processeur LCP peut recevoir une information de description du système.
STC=3 Prêt. Le processeur LCP est libre. Le périphéri que est prêt. Le processeur LCP peut recevoir l'information de descripteur du système. STC=4 Prêt. Le processeur LCP transmet les données de sa mémoire tampon vers le système. STC=5 Emission du maillon de descripteur. Le proces seur LCP émet le maillon de descripteur vers IOT pour rétablir la connexion. STC=6 Réception du maillon de descripteur. Le proces seur LCP reçoit le maillon de descripteur du traducteur I/O pendant la séquence de connexion I/O.
STC=7 Descripteur de résultat. Le processeur LCP trans met son descripteur de résultat au traducteur I/O. STC=8 Inscription. Le processeur LCP reçoit les données du système.
STC=9 Etat codé. Un caractère est transmis; le proces seur LCP met le bit Dl (fig. 4C, descripteur de résultat) comme repère pour le traducteur I/O. Le traducteur I/O décrémente l'adresse de 2.
TABLEAU VII (suite)
Etat de comptage Description
STC = 10 Inscription d'un mot de plus. La mémoire tam pon de données du processeur LCP peut conserver seulement un mot de plus. STC = 11 Descripteur I/O LPW. Le processeur LCP reçoit et contrôle LPW pour le descripteur I/O reçu en STC=2 ou STC=3.
Le descripteur I/O, après avoir été traduit par le traducteur I/O, devient le descripteur d'ordre. STC=12 Interruption. Il n'y a plus de données à transférer.
Le processeur LPW est transmis et est vérifié. STC=13 Autorisation de rupture. Les données transférées ont été retenues; le processeur LCP demande un retour sur STC=8 (inscription) ou STC=4 (lecture).
STC =14 Transfert de caractère. La dernière communica tion consistait en un caractère au lieu d'un mot. STC = 15 Descripteur de résultat LPW. Le processeur LCP
envoie le LPW pour le descripteur de résultat vers le traducteur I/O.
Selon la fig. 5C, le processeur 10p commence les opérations en chaîne entrée/sortie par l'exécution d'une instruction d'initiation I/O. Dans ces conditions, le processeur passe certaines informations comportant le numéro de canal du processeur LCP par le module d'initiation I/O 10m de la fig. 5C. Le numéro de canal est décodé pour déterminer le numéro du module de base et l'adresse du processeur LCP qui passe alors par le module de connexion 10tb. Le module de connexion choisit alors le module de base LCP adéquat et envoie un signal (sélection de canal) vers la carte de distribution adéquate, telle que la carte 20od pour le module de base tel que 20o, demandant qu'une tentative de connexion soit faite. L'opération décrite ci-dessus est appelée test Poil et constitue un moyen, pour le système principal, de rechercher la connexion sur un processeur LCP; en outre, cela constitue un procédé par lequel la carte de distribution 20od, en réponse à la demande de connexion, tente également une connexion sur un processeur LCP particulier.
A la suite de la transmission d'un ordre sélection de canal, le traducteur I/O 10t envoie l'adresse du processeur LCP voulu vers la carte de distribution du module de base choisi. En même temps, le traducteur I/O envoie l'ordre sélection d'adresse à tous les modules de base du système. La carte de distribution qui reçoit à la fois la sélection d'adresse et la sélection de canal commence un test Poli et répond au traducteur I/O par un déclenchement LCP; les cartes de distribution qui reçoivent seulement l'ordre sélection d'adresse la considèrent comme signal d'occupation et sont empêchées de communiquer avec le traducteur I/O. Lorsque le traducteur I/O 10t reçoit le signal de déclenchement LCP, il fait tomber l'ordre sélection de canal.
Lorsque la carte de distribution reçoit un ordre sélection d'adresse et sélection de canal, il crée un signal qui autorise l'adresse LCP à être placée dans le registre d'adresse LCP de la carte de distribution. Le signal de sortie BCD (signal binaire en codage décimal) du registre d'adresse LCP est décodé pour autoriser l'une des huit lignes. Chaque ligne représente un processeur LCP du module de base. Lorsqu'un processeur LCP constate que sa ligne d'adresse est active, ce processeur LCP répond à la carte de distribution, le signal LCPON signifiant LCP connecté. Lorsque ce signal est reçu dans la carte de distribution, un flip-flop (bascule bistable) connecté (CONF) est mis à l'état. Puis en fonction de l'état de la ligne d'émission I/O (IOSND/fig. 6C) du processeur LCP connecté, il en résulte l'activation des lignes de commande soit pour la réception des données, soit pour l'émission des données, comme entre le processeur LCP et le traducteur I/O (fig. 6C).
Lorsqu'une carte de distribution détecte l'absence de l'ordre sélection de canal, il répond au traducteur I/O par l'état LCP accompagné par un signal de déclenchement. Le processeur LCP est
5
10
15
20
25
30
35
40
45
50
55
60
65
17
632 350
alors connecté au traducteur I/O et reste connecté jusqu'à ce que le traducteur I/O coupe l'ordre sélection d'adresse. La carte de distribution ne participe plus aux autres communications IOT/LCP.
Les événements ci-dessus montrent les phases aboutissant à une tentative réussie de connexion; cependant, la tentative de connexion peut avoir échoué pour l'une des raisons suivantes:
a) il n'y a pas de processeur LCP à l'endroit adressé ou encore le processeur LCP de l'endroit adressé est coupé;
b) le processeur LCP est actif, c'est-à-dire que l'état de comptage LCP n'est pas 0 ou 2 ou 3 ;
c) le canal est actif, c'est-à-dire qu'une seconde carte de distribution du module de base est active;
d) une erreur de parité a été détectée dans l'adresse.
La détection de l'une de ces erreurs fait échouer la tentative de connexion et un descripteur de résultat correspondant à cette défaillance est envoyé au système principal 10mr pour être inscrit dans la mémoire 10m (fig. 3).
Au cours de la description suivante, on se reportera, le cas échéant, à des flip-flops particuliers et des niveaux de signal, qui ne sont pas indiqués de façon particulière dans les schémas blocs. Comme la réalisation et l'utilisation de tels éléments sont connues, la description ne sera pas répétée, dans un but de simplification.
Demande Poil:
Un processeur LCP, après avoir été connecté à un traducteur I/O 10, et avoir reçu le descripteur d'ordre et le maillon de descripteur, peut se couper du système principal 10, pour communiquer avec son dispositif périphérique correspondant tel que le dispositif 50. Si, ultérieurement, le processeur LCP demande l'accès à la mémoire 10m, il envoie une demande (LCPRQ) par l'intermédiaire de la carte de distribution. La demande Poil est un procédé permettant à la carte de distribution de tenter de reconnecter le processeur LCP sur le traducteur I/O, en réponse à une demande LCP. Un certain nombre d'événements se produit pendant ce mode de fonctionnement en demande Poil.
Lorsque plusieurs processeurs LCP du module de base 20o demandent simultanément l'accès, la carte de distribution 20,^ détermine celui d'entre eux qui aura accès, en vérifiant leur niveau de priorité; ainsi, le processeur LCP qui demande et qui a le niveau de priorité le plus élevé (cette priorité est choisie comme temps d'installation) accède à la carte de distribution. Ce niveau de priorité est appelé priorité de base puisqu'il concerne le processeur LCP dont le niveau de priorité parmi les huit processeurs LCP du module de base est le plus grand.
Dès que l'opération priorité de base est traitée, la carte de distribution attribue une priorité globale (qui a également été attribuée et choisie au moment de l'installation) au processeur LCP qui effectue la demande. La priorité globale établit le rang de priorité entre les différents modules de base de l'ensemble du système, par rapport aux rangs de priorité des processeurs LCP d'un seul module de base. La carte de distribution 20od contient une série de broches ou de connexions à douille qui sont reliées à chaque processeur LCP. Ces connexions par broches et douille peuvent être reliées à un codeur de priorité qui attribue un numéro de priorité de base interne allant de 0 (niveau inférieur) à 7 (niveau supérieur) pour chaque processeur LCP. Ainsi, lorsqu'il y a plusieurs processeurs LCP du même module de base qui demandent simultanément la connexion, la carte de distribution contrôle et choisit le processeur LCP ayant la plus grande priorité.
Un autre jeu de connexions par broches de la carte de distribution est relié à chaque processeur LCP. Ces connexions sont traitées par un spécialiste de façon que chaque processeur LCP reçoive un numéro de priorité externe ou global pour permettre à l'interface de traduction entrée/sortie du système principal de choisir, parmi les processeurs LCP, celui qui se trouve dans différents modules de base du système. Ainsi, lorsqu'un numéro de priorité global est reçu par le traducteur I/O, et qu'il y a des demandes simultanées provenant d'autres processeurs LCP et d'autres modules de base, le traducteur I/O choisit celui des processeurs LCP ayant le numéro de priorité global le plus élevé; cela se fait seulement après avoir résolu le problème de la priorité de base interne à l'aide de la carte de distribution.
Ces cartes de distribution qui reçoivent les demandes de leur processeur LCP associé envoient chacune un signal d'interruption (IP+ST4) pour le traducteur I/O 10, (voir l'interface de niveau de message FE et le tableau VI, fig. 5E). Puis le traducteur I/O 10, détecte le signal IP+ST4 et commence la séquence de reconnexion et envoie un signal accès garanti à tous les modules de base du système. Le signal accès garanti fait que les cartes de distribution qui envoient le signal IP+ST4 au traducteur I/O 10, commencent leur algorithme demande Poil.
En réponse au signal accès garanti, les cartes de distribution qui effectuent la demande envoient leur priorité globale individuelle vers le traducteur I/O 10,. Le traducteur I/O compare les priorités globales des cartes de distribution qui effectuent la demande (c'est-à-dire envoie le signal de sélection de canal par la carte de distribution qui effectue la demande et qui présente la priorité globale la plus élevée, à un instant de cadence postérieur) et le traducteur I/O envoie un signal de sélection d'adresse à toutes les cartes de distribution du système. La carte de distribution qui reçoit à la fois le signal sélection de canal et sélection d'adresse répond au traducteur I/O par le signal de déclenchement LCP, puis met à l'état son flip-flop d'adresse LCP en commandant ainsi la ligne d'adresse particulière du processeur LCP qui effectue la demande. Lorsque le processeur LCP constate que sa propre ligne d'adresse est active, il répond à la carte de distribution par le signal LCP connecté (LCPCON).
Lors de la réception de l'impulsion de déclenchement LCP, le traducteur I/O 10, coupe le signal accès garanti et le signal sélection de canal; lorsque la carte de distribution détecte l'absence du signal accès garanti et sélection de canal, et lorsqu'elle détecte la présence du signal LCPCON, elle suppose alors qu'une connexion doit être établie et répond au traducteur I/O par une impulsion de déclenchement LCP accompagnée par l'état de comptage LCP et le maillon de descripteur.
La demande Poil est alors terminée; la carte de distribution ne participe plus outre mesure à la communication LCP-IOT. Le processeur LCP et le traducteur I/O poursuivent la séquence de reconnexion jusqu'à ce que le processeur LCP soit connecté et, après cela, la commande passe sur le module de transfert de données 10,c du traducteur I/O. Le processeur LCP reste connecté jusqu'au moment où le traducteur I/O coupe le signal sélection d'adresse.
Vérification des erreurs:
Chaque transmission entre le traducteur I/O et un processeur LCP particulier est contrôlée pour rechercher les erreurs. Les procédés de contrôle des erreurs utilisés sont les suivants:
a) vérification de la parité verticale de chaque mot transmis;
b) vérification de la parité longitudinale de chaque bloc transmis.
a) Parité verticale:
Dans les opérations lecture, le processeur LCP envoie une information au traducteur I/O 10t sur 16 lignes de données d'interface de niveau de message (MLI) (fig. 5E) accompagnée par un bit de parité sur la ligne de parité MLI (fig. 5E). Les lignes de données et de parité vont vers le contrôleur-générateur de parité de la carte du circuit de commande de base IOT. Dans les opérations lecture, le contrôleur-générateur de parité sert à compter le nombre de bits 1 sur les lignes de données et de parité MLI. Si le nombre total de bits 1 (contenant le bit de parité) est impair, alors la parité est correcte et on crée un terme de signal PAROK (fig. 6D). Si le nombre total de bits est pair, le signal PAROK n'est pas créé; l'absence du signal PAROK à l'instant de la réception de la donnée fait que le traducteur I/O met à l'état le flip-flop d'erreur de parité verticale (VPERRF).
De la même manière, les opérations inscription des 16 lignes de données du système principal 10 passent dans un contrôleur-
5
10
15
20
25
30
35
40
45
50
55
60
65
632350
18
générateur de parité de la carte du circuit de commande de base IOT. Les données des 16 lignes sont examinées et, s'il y a un nombre pair de bits 1, le circuit crée le signal PARGEN. Ce signal PARGEN est alors utilisé pour forcer un bit d'état 1 dans la ligne de parité d'interface de niveau de message pour accompagner la donnée vers le processeur LCP. Sur la carte de distribution de base LCP, l'état du bit de parité commande le circuit contrôleur-générateur de parité. Le circuit contrôleur-générateur de parité examine les états des 16 lignes de données et crée un signal PAROK, si le nombre total de bits d'état 1, y compris le bit de parité, est un nombre impair.
b) Vérification de la parité longitudinale :
La vérification de la parité longitudinale est un procédé de détection d'erreur dans lequel un mot de vérification, créé par une unité d'émission, est comparé à un mot de vérification créé de la même manière par une unité de réception. Les mots de vérification sont créés en traitant chaque mot de la transmission comme numéro à 16 bits, puis en préformant une opération OU-EXCLUSIF (par addition binaire sains report) de chaque mot de la transmission. A la fin de la transmission, le dispositif émetteur ou transmetteur envoie le mot de vérification qu'il a assemblé par le dispositif de réception. S'il n'y a pas d'erreur dans la transmission, l'addition du mot de vérification par le dispositif de transmission vers le mot de vérification du dispositif de réception donne une somme de 0. Ainsi, si la somme n'est pas égale à 0, un flip-flop d'erreur de parité longitudinale est repéré (LPERRF).
Comme indiqué en relation avec la fig. 6B, le processeur LCP comporte un circuit LPW 24w. De la même manière, il y a un circuit de vérification de parité longitudinale dans le traducteur I/O 10t. Ce circuit relie un chemin parallèle au bus de données représenté par les 16 lignes inférieures à la fig. 5E.
Le processeur de commande de ligne (LCP), tel que l'élément 20Oo, se comprend mieux si l'on se reporte à la fig. 6C qui représente un schéma bloc de base des éléments principaux concernés par l'addition de certains détails caractéristiques pour la mémoire tampon RAM telle que 2500 du processeur LCP 20oo-
La mémoire tampon LCP 250 est une mémoire vive (RAM) qui comprend 256 bits (0-255) et une profondeur de 18 bits. On peut ainsi inscrire 256 mots de 18 bits. Selon un mode de réalisation caractéristique, la mémoire tampon 2500 peut avoir une section tampon A 25a ayant 90 mots longitudinaux de 18 bits chacun; une autre section est désignée par 25xl ; la section du descripteur d'ordre C/D porte la référence 25c; une zone tampon B 25b peut avoir, de façon caractéristique, une longueur de 90 mots (c'est-à-dire de l'adresse 128 à l'adresse 218); une autre zone tampon porte la référence 25x2; la zone de descripteur de résultat R/D porte la référence 25r; une autre zone porte la référence 25x3; la zone du maillon de descripteur D/L porte la référence 25d.
La mémoire tampon RAM 2500 est adressée par un registre d'adresse de mémoire 36 ayant une section de registre d'adresse de système 36s et une section de registre d'adresse de dispositif 36d qui communiquent avec la mémoire tampon 2500 par l'intermédiaire d'un bus d'adresses à 8 bits B8. La mémoire tampon RAM 2500 est composée fonctionnellement dans la direction verticale (fig. 6C) de 16 bits et d'un bit de parité avec un dix-huitième bit appelé bit de repère de fin, les bits de repère de fin se trouvant dans la section de stockage portant la référence 25e.
Un bus de données 47 fournit le canal d'entrée et de sortie de données pour la mémoire tampon 2500 pour communiquer avec le système principal 10 par l'intermédiaire de la logique d'interface du système 21si; la mémoire tampon 2500 communique avec son unité périphérique par l'intermédiaire de l'interface 22di. La logique d'interface 21si du système, la logique d'interface 22di du dispositif et la logique commune 22c sont représentées schématiquement par des blocs qui se rapportent à des éléments plus particuliers décrits en relation avec la fig. 6D.
La fig. 6F représente un bloc-message du type utilisé dans la mémoire tampon LCP 2500 de la fig. 6C. Comme indiqué dans le cadre de la description de la fig. 6C, pour la mémoire tampon RAM 2500, il s'agit d'un bloc-message caractéristique de n mots; ce bloc assure 90 mots (ou encore n=90) de stockage de données; on peut également avoir trois mots pour le descripteur de résultat R/D; on peut avoir trois positions de mot pour les descripteurs d'ordre C/D ainsi qu'une position de mot pour les messages d'ordre C/M.
La fig. 6F montre également un format de mot de base, dans lequel un mot est composé de quatre digits à savoir: A, B, C et D,
plus un bit de parité référencé VPB (bit de parité verticale), ce qui fait un total de 17 bits par mot.
Comme représenté à la fig. 6F, les quatre digits A, B, C, D sont chacun formés de 4 bits appelés bit 8, bit 4, bit 2 et bit 1.
A la fig. 6C, la mémoire tampon 2500 présente également un dix-huitième bit ou bit de repère de fin, qui est placé à l'endroit référencé 25e à la fig. 6C.
Le système principal ou central 10 communique avec l'unité terminale périphérique par l'intermédiaire du processeur LCP. Le processeur LCP donne des moyens pour transférer des informations de commande de transfert et des données du système principal 10 vers les unités terminales périphériques telles que 50 et inversement. Le processeur LCP examine le descripteur d'ordre C/D provenant du système principal 10 et se met lui-même en état pour effectuer les opérations nécessaires, s'il détecte un ordre particulier. Il transfère également le même descripteur d'ordre C/D, non modifié, vers l'unité périphérique. L'unité périphérique agit sur le descripteur d'ordre C/D et ramène les descripteurs de résultat R/D sur le système principal 10 par l'intermédiaire du processeur LCP. Le bloc-message et les formats de mot sont représentés à la fig. 6F. Les descripteurs d'ordre caractéristiques C/D et les descripteurs de résultat R/D seront décrits ultérieurement.
Le processeur LCP accepte le descripteur d'ordre C/D transmis par le système principal 10. Le descripteur C/D contient un digit d'un code OP, 3 digits de variante et 6 digits d'adresse C. Le descripteur d'ordre C/D est reçu par le processeur LCP par l'intermédiaire de 4 digits par transmission pour un total de 3 mots (4 digits par mot). Les deux digits les moins significatifs contiennent tous des zéros.
Pour chaque mot, il y a un bit de parité verticale (VPB) et l'ensemble du descripteur C/D est suivi par un mot de parité longitudinale (LPW). Si une erreur de parité est détectée dans la transmission du descripteur C/D, le processeur LCP se branche sur le mode de descripteur de résultat R/D et rapporte une description de l'erreur au système principal 10.
La mémoire tampon à accès aléatoire (mémoire vive) 25O0 (RAM du processeur LCP) constitue une mémoire intermédiaire pour l'ensemble du descripteur d'ordre, le bit de parité verticale et le mot de parité longitudinale du processeur LCP, le processeur de commande de ligne.
Le processeur LCP examine le premier mot du descripteur d'ordre C/D et détermine si l'on est en opération appelée par convention ECHO OP, HOSTLOAD OP, ou OP (FIN) READ NO. S'il y a une de ces opérations, un repère approprié est mis.
Maillon de descrip teur (D/L) :
Après la réception du descripteur d'ordre C/D, le processeur de commande de ligne LCP accepte le maillon de descripteur D/L. Il s'agit d'une transmission de deux mots suivie par un mot de parité longitudinale LPW. S'il y a une erreur, le processeur LCP se branche sur le mode de descripteur de résultat R/D et indique l'erreur de descripteur au système 10.
La mémoire vive intermédiaire RAM 2500 agit comme mémoire intermédiaire pour l'ensemble du maillon de descripteur D/L, le bit de parité verticale (VPB) et le mot de parité longitudinale LPW.
Mode de déconnexion:
Après la réception du maillon de descripteur D/L, le processeur LCP passe en mode déconnecté.
5
10
15
20
25
30
35
40
45
50
55
60
65
19
632 350
Mode reconnecté:
S'il y a une opération ECHO OP, le processeur de commande de ligne LCP passe en mode reconnecté et commence à fonctionner en ECHO OP, ce qui signifie la réception de deux ensembles de données intermédiaires (chacun de 180 bytes, ou 90 mots de 16 bits) et retransmet ces mêmes données à la mémoire du système 10m.
S'il y a eu une opération autre qu'ECHO OP, le processeur LCP examine si l'unité terminale périphérique est prête. Si l'unité terminale périphérique est à l'état non prêt, le processeur LCP se branche sur le descripteur de résultat R/D et rend compte de cela au système 10.
Si le dispositif terminal périphérique est prêt, le processeur LCP commence à communiquer le descripteur d'ordre C/D au périphérique pendant qu'en même temps il se branche sur l'état libre pour se rendre lui-même disponible pour une possible opération de suppression conditionnelle. Le processeur de commande de ligne LCP s'arrête dans cet état libre jusqu'à ce que l'un des deux événements suivants se produise:
1. Le dispositif terminal périphérique met à l'état le processeur de commande de ligne LCP pour l'état transfert de données.
2. Le système 10 communique un ordre opération de suppression conditionnelle ou suppression non conditionnelle.
Si la situation 2 ci-dessus se produit, le processeur de commande de ligne LCP accepte un mot du système 10, suivi par le mot de parité longitudinale LPW et le processeur LCP détermine s'il y a une opération de suppression conditionnelle, valide. Dans tous les cas, le processeur LCP communique l'information au dispositif terminal périphérique. Si la situation correspond au cas 1 ci-dessus, le processeur LCP passe de nouveau à l'état déconnecté; dans cet état, le transfert des données peut se faire entre le processeur LCP et son dispositif terminal périphérique.
Après la transmission du descripteur d'ordre C/D vers le terminal périphérique, le processeur LCP est commandé par l'état du terminal périphérique qui définit le mode de fonctionnement et les exigences de la mémoire. La donnée est transférée en blocs-messages avec un mot de parité longitudinale (LPW) de 16 bits suivant chaque bloc et un bit de parité pour chaque mot (à l'exception de la situation de contrôleur de paquet de disques, le bloc-message est formé par un segment). Lorsque le processeur de commande de ligne LCP détecte une erreur dans la donnée reçue en provenance du terminal périphérique ou en provenance du système principal 10, il rend compte de cette information au terminal périphérique et se met sur le mot de descripteur de résultat R/D et en informe le système principal 10.
En mode lecture, le transfert de données entre le processeur de commande de ligne LCP et le dispositif périphérique dépend des exigences du dispositif périphérique. Le transfert de données entre le processeur LCP et la mémoire principale 10m dépend de la vitesse d'accès à la mémoire du système principal 10. Comme le périphérique peut travailler en mode de flux et que le processeur LCP doit entrer en compétition avec d'autres processeurs LCP pour accéder à la mémoire, le processeur LCP ci-dessus alterne entre ces deux zones tampons pour adapter la vitesse de transfert du terminal périphérique.
Le tableau VIII indique certains types de descripteurs d'ordre C/D utilisés pour le processeur LCP. Tous les autres descripteurs C/D sont transparents pour le processeur LCP et le traversent pour aller au terminal périphérique:
TABLEAU VIII
Descripteurs d'ordre:
Le processeur LCP est transparent à tous les descripteurs d'ordre sauf aux descripteurs suivants déterminés par le test du premier mot du descripteur C/D:
1. ECHOOP (bit Al est vrai).
2. HOSTLOAD (A4 et B8 sont vrais).
3. READ NO T/O (fin de temps) (A8 et B8 sont vrais).
4. OP DE SUPPRESSION CONDITIONNELLE (A2 et B8 sont vrais).
5. OP DE SUPPRESSION INCONDITIONNELLE
Les digits de code OP du descripteur C/D sont définis comme suit: Lecture (A8) : Toute opération dans laquelle la donnée est transmise de la mémoire tampon LCP au système principal (1000).
Inscription (A4): Toute opération au cours de laquelle les données sont transférées de la mémoire du système principal à la mémoire tampon du processeur LCP (0100).
Test (A2) : T oute opération au cours de laquelle aucun trans fert de données ne se produit entre le processeur LCP et la mémoire du système, mais se traduit par le stockage R/D dans la mémoire du système (0010).
Echo (Al): Opération qui se traduit par la réception d'un bloc-message de la mémoire du système et la transmission du même bloc à la mémoire du système (0001).
Normalement, les descripteurs de résultat R/D sont créés par l'unité périphérique et sont acceptés par le processeur LCP sous la forme d'un, deux ou trois mots. Lorsque le processeur LCP crée seulement un descripteur R/D, un mot est envoyé au système principal 10. Le tableau IX montre les conditions appliquées au processeur LCP pour créer un descripteur de résultat:
TABLEAU IX
Descripteurs de résultat:
Bits
Condition
A8
Non prêt
A4
Erreur de descripteur
A2
Erreur de parité verticale du système
Al
Erreur LPW du système
B8
Fin de temps
B4
Erreur de parité verticale du dispositif à distance
B2
Erreur LPW du dispositif à distance
B1
(Vide)
Selon la fig. 6C, pour les lignes entre l'interface 22di et le terminal périphérique, on peut avoir, sur le terminal périphérique, une interface de canal réalisée sous forme d'interface dépendant du canal (appelée interface DDP) 50d qui est adaptée aux spécifications de chaque terminal périphérique donné.
Le processeur LCP communique avec le terminal périphérique par l'intermédiaire du dispositif DDP, en mode asynchrone. L'opération inscription est un transfert dans lequel le processeur LCP inscrit dans le terminal périphérique. L'opération lecture est un transfert au cours duquel le processeur LCP lit dans le terminal périphérique.
Selon la fig. 6C, la ligne référencée HTCL/ est la ligne de niveau de commande de transfert hôte; lorsque le processeur LCP inscrit dans le terminal périphérique, le signal est celui d'un niveau asynchrone qui signifie la présence de données dans les lignes de données. Ce niveau est désactivé par le terminal périphérique qui envoie un ordre DML/ (niveau de message périphérique) ou DINTL/ (niveau d'interruption de terminal périphérique) vers le processeur LCP.
Lorsque le processeur LCP lit des données dans le descripteur de résultat R/D du périphérique, ce signal HTCL/ est le signal asynchrone envoyé par le processeur de commande de ligne LCP indiquant qu'il a reçu les données par les lignes de données. A la réception de ce niveau, le terminal périphérique doit être désactivé suivant les ordres DML/ ou DINTL/. Lorsque le terminal périphérique crée la désactivation DML/ ou DINTL/, le processeur LCP assure la désactivation HTCL/.
5
10
15
20
25
30
35
40
45
50
55
60
65
632350
20
Lorsque le terminal périphérique commande le processeur LCP en mode de message d'ordre C/M, le niveau de commande de transfert hôte HTCL/ est envoyé au terminal périphérique lorsque les mémoires tampons du processeur LCP sont vides et qu'aucune fin de système n'a été détectée. Le terminal périphérique doit répondre au signal HTCL/ par DINTL/ et un changement d'état.
La ligne de la fig. 6C qui est référencée HINTL/ est la ligne d'interruption hôte et est utilisée par le processeur LCP pour indiquer au périphérique que le processeur LCP souhaite interrompre le fonctionnement. La réponse à ce niveau par le périphérique doit être DINTL/ et un changement d'état; le processeur LCP répond à ce signal en désactivant son niveau de commande de transfert hôte HINTL/. A la suite de la détection du flanc arrière du signal HINTL/, le processeur LCP répond au nouveau mode de fonctionnement décrit par la ligne d'état représentée à la fig. 6C sous les références ST-4/, ST-2/, ST-1/.
Lorsqu'une interruption du système 10 est activée eri mode inscription, le niveau d'interruption hôte HINTL/ signifie que le dernier mot de données a été transmis et que le signal LPW est dans la ligne de données du bus 47. Il n'est pas nécessaire que le terminal périphérique réponde à l'interruption par un signal DINTL/ ou un changement d'état.
En mode lecture, lorsque le processeur LCP détecte l'ordre de fin de lecture, il active le niveau d'interruption d'hôte HINTL/. Dans le mode message d'ordre C/M, le processeur LCP active le niveau d'interruption d'hôte HINTL/ lors de la détection d'un ordre de fin de lecture.
La ligne de la fig. 6C qui porte la référence HCL/ concerne l'effacement d'hôte qui indique au terminal périphérique que le processeur LCP a été effacé par le système principal 10 ou qu'une erreur de parité s'est produite pendant la lecture.
La combinaison du niveau de commande de transfert d'hôte et du niveau d'interruption d'hôte (HTCL/-HINTL/) indique à l'unité périphérique la présence d'un descripteur d'ordre de charge d'hôte C/D. Le terminal périphérique répond en activant la ligne référencée DINTL/ (niveau d'interruption périphérique) et l'état de comptage ST=2; le processeur LCP accuse réception en désactivant les deux niveaux de HTCL/-HINTL/. A la suite du flanc arrière du signal DINTL/, le processeur LCP transfère les données en mode d'inscription.
A la fig. 6C, il est prévu un bus de données bidirectionnel Bd ayant 16 lignes de données et une ligne de parité entre le processeur LCP et le terminal périphérique. Lorsque ces lignes sont commandées par le processeur LCP, elles sont à l'état actif aussi longtemps que le niveau de commande de transfert d'hôte HTCL/ est actif. Lorsque la commande est assurée par le terminal périphérique, ces lignes sont activées aussi longtemps que le niveau de message du terminal périphérique DML/ est actif. Le sens du transfert est déterminé par l'état du terminal périphérique. La ligne référencée DML/ concerne le niveau de message du terminal périphérique et est une ligne unidirectionnelle. Lorsque le processeur LCP lit des données ou un descripteur de résultat R/D du terminal périphérique vers le processeur LCP, le niveau de message du terminal périphérique DML/ est utilisé comme signal de transit pour indiquer la présence d'une donnée stable dans les lignes de données. Lorsque le terminal périphérique reçoit un descripteur d'ordre C/D ou une donnée du processeur LCP, ce signal DML/ est utilisé comme niveau d'accusé de réception des données.
Le terminal périphérique (par l'intermédiaire du canal d'interface) utilise le signal DINTL/ (niveau d'interruption périphérique) pour demander au processeur LCP de changer de mode de fonctionnement. Cela se fait en activant le signal DINTL/ et en présentant l'état adéquat dans les lignes d'état ST-4/, ST-2/ et ST-1/. Les lignes d'état doivent être stables pendant le temps d'activation du signal DINTL/.
Mode d'inscription:
Le niveau DINTL/ est un niveau d'accusé de réception pour le niveau de commande de transfert d'hôte HTCL/ et le mot de donnée LPW ; par ailleurs, il constitue la réponse aux signaux HTCL/ ou HINTL/ dans le mode de message d'ordre C/M. Le signal DINTL/ produit un changement d'état. Lorsque le processeur LCP inscrit dans le terminal périphérique, le niveau d'interruption du terminal périphérique DINTL/ est basé sur le flanc avant du signal HTCL/ ou HINTL/. Le signal DINTL/ est désactivé par le flanc arrière de ces signaux (HTCL/-HINTL/).
Mode de lecture:
Le niveau d'interruption périphérique DINTL/ est un déclenchement de transfert sans données, utilisé exclusivement pour modifier les états; le signal DINTL/ est reçu par le niveau de commande de transfert d'hôte HTCL/ en mode lecture. Lorsque le processeur LCP lit dans le terminal périphérique, ce terminal active DINTL/ à la place du niveau de message périphérique DML/ et désactive DINTL/ lorsque le terminal périphérique détecte le flanc avant du niveau de commande de transfert d'hôte HTCL/.
Mode de chargement d'hôte:
Ce mode concerne le transfert ou le chargement de données du terminal périphérique tel que 50 (fig. 6C) dans le processeur LCP (hôte) pour le mode lecture et inversement pour le mode inscription.
Le niveau d'interruption du terminal périphérique DINTL/ est le niveau d'accusé de réception des signaux HTCL/-HINTL/ comme ordre de charge d'hôte. Le terminal périphérique active DINTL/ et passe à l'état 2 (tableau X). Le processeur LCP accuse réception en désactivant à la fois HTCL/-HINTL/, et cela en mode inscription ; il commence l'inscription dans la mémoire du terminal périphérique. Pour interrompre ce mode de fonctionnement, le terminal périphérique 50 active DINTL/ de la même manière qu'en mode d'inscription normale.
Etat des lignes:
A la fig. 6C, les lignes unidirectionnelles ST-4/, ST-2/ et ST-1/ indiquent au processeur LCP l'état du terminal périphérique et, partant de là, le processeur LCP détermine le type de mode de fonctionnement qui est demandé. Par exemple, selon un mode de réalisation caractéristique, il est prévu huit états 0-7 comme le montre le tableau X, que le terminal périphérique peut utiliser pour indiquer les conditions suivantes: le terminal périphérique n'est pas en ligne; opération de lecture; opération d'inscription; descripteur de résultat ; message d'ordre C/M ; remise de l'horloge du processeur , LCP, (RT); prêt ou descripteur d'ordre d'inscription (C/D); dernier mot d'un bloc ou descripteur de résultat et mot de parité longitudinale (R/D-LPW) à transmettre tout de suite.
Un système de codage caractéristique pour les lignes d'état d'un terminal périphérique caractéristique est représenté dans le tableau X. f Tableau en tête de la page suivante)
La discipline d'interface entre le processeur LCP et le terminal périphérique par l'intermédiaire de l'interface de canal de terminal (DDP 50d, fig. 6C) peut de nouveau être verrouillée en mode lecture ou mode d'inscription.
Mode lecture:
Lorsque le processeur de commande de ligne LCP lit dans le terminal périphérique (état = 1 +7), le terminal périphérique (tel que le terminal 50 de la fig. 6C) place un mot dans les lignes de données et active le niveau de message de terminal périphérique DML/. Le processeur LCP accuse réception de cette situation en activant le niveau de commande de transfert hôte (HTCL/). Le terminal périphérique désactive alors le signal DML/ et le processeur LCP désactive HTCL/. Cette opération se continue jusqu'à l'état= 1.
1. Le processeur LCP active le niveau d'interruption hôte (HINTL/). Le terminal périphérique accuse réception de cela en désactivant le niveau de message périphérique (DML/) s'il est actif et il active le niveau d'interruption de terminal périphérique (DINTL/)
5
10
15
20
25
30
35
40
45
50
55
60
65
21
Tableau X
632350
Etat des lignes
Condition
Sens des données dans la ligne
ST=
ST-4/
ST-2/
ST-1/
0
0
0
0
Terminal périphérique non en ligne
1
0
0
1
Lecture
Partant du terminal périphérique
2
0
1
0
Inscription
Vers le terminal périphérique
3
0
1
1
R/D
Partant du terminal périphérique
4
1
0
0
Message d'ordre
Aucun transfert de données
5
1
0
1
Remise de l'horloge HD (RT)
Aucun transfert de données
6
1
1
0
Prêt ou inscription C/D
Vers le terminal périphérique
7
1
1
1
Dernier mot d'un bloc ou R/D-LPW à suivre
Vers le ou en provenance du terminal
périphérique par un changement d'état. Cela indique au terminal périphérique que le processeur LCP a un message d'ordre C/M à envoyer vers le terminal périphérique.
2. Le terminal périphérique active le niveau d'interruption de terminal périphérique (DINTL/) au lieu du niveau de message 20 périphérique DML/, par un changement adéquat des lignes d'état. Le processeur LCP accuse réception en activant le niveau de commande de transfert hôte (HTCL/) et, à la suite de la désactivation de DINTL/, il désactive le niveau de commande de transfert d'hôte HTCL/ et passe à l'état adéquat. Le signal DINTL/ ne transfère pas 25 de données dans les lignes de données.
3. Lorsque le terminal périphérique détecte la transmission du dernier mot d'un bloc, il passe à l'état ST=7 avec le flanc avant du signal DML/. Le processeur LCP répond au terminal périphérique par le niveau de commande de transfert hôte (HTCL/) et attend que 30 le transfert suivant soit un mot de parité longitudinale LPW. Le signal LPW est transmis avec le niveau de message périphérique DML/ et il lui est répondu par un niveau de commande de transfert d'hôte (HTCL/).
4. Si le processeur LCP détecte une erreur de parité verticale ou 35 longitudinale, le processeur LCP n'accuse pas réception du niveau de message périphérique DML/ provenant du terminal périphérique.
Au lieu de cela, le processeur LCP crée un niveau d'effacement d'hôte (HCL/).
40
Mode d'inscription:
Si le processeur LCP inscrit des données dans le terminal périphérique (état=2+7), les opérations suivantes ont lieu:
Le processeur LCP place un mot sur les lignes de données et active le niveau de commande de transfert d'hôte (HTCL/). Le 45 terminal périphérique accuse réception de cette situation en activant le niveau de message du terminal périphérique (DML/). Le processeur LCP désactive alors le niveau de commande de transfert d'hôte (HTCL/), puis le terminal périphérique désactive le niveau de message périphérique (DML/). 50
Cette opération se poursuit (tableau X) à l'état ST=2 jusqu'à ce que:
1. Le terminal périphérique passe à l'état ST=7, puis active le niveau de message périphérique DML/ qui repère le processeur LCP
en indiquant que le dernier mot du bloc a été reçu. Le mot suivant ss des lignes de données doit être un mot de parité longitudinale LPW lorsque le niveau de commande de transfert d'hôte HTCL/ est de nouveau mis en œuvre. Puis, le terminal périphérique active le niveau d'interruption périphérique DINTL/ au lieu du niveau de message du terminal périphérique DML/, accompagné par un changement des lignes d'état.
2. Pour ST=2 ou ST=7, le processeur LCP active le niveau d'interruption d'hôte HINTL/ au lieu du niveau de commande de transfert d'hôte HTCL/. Dans ce mode, HINTL/ représente une interruption et indique qu'il n'y a plus de mot de parité longitudinale 65 LPW sur les lignes de données. Le terminal périphérique accuse réception de cette situation en activant le niveau d'interruption périphérique DINTL/ et un changement d'état. Le processeur LCP
désactive le niveau d'interruption d'hôte HINTL/ et passe en mode adéquat après désactivation de DINTL/.
Lorsque le processeur LCP se trouve dans le mode de descripteur de résultat R/D, il lit un descripteur de résultat R/D du terminal périphérique (état = 3+7). Lorsqu'il est en mode R/D, le processeur LCP lit le descripteur de résultat sur les lignes de données du terminal périphérique. Le descripteur de résultat R/D peut avoir une longueur de 1 à 3 mots avec un mot de parité longitudinale LPW. Le premier et le second mot du descripteur de résultat R/D à trois mots sont lus à l'état ST=3. Le dernier mot du descripteur de résultat R/D est lu à l'état ST=7. Le niveau de message du terminal périphérique DML/ signifie qu'il y a une donnée stable sur les lignes de données. Chaque mot de descripteur de résultat R/D transféré est reçu par le niveau de commande de transfert d'hôte HTCL/. Si un descripteur de résultat à un mot R/D est reçu par le processeur LCP, le transfert de données se produit après message de l'état ST=3 à ST=7 en même temps qu'un niveau de message de terminal périphérique DML/ qui correspond à un descripteur de résultat à un mot R/D. Le mot suivant des lignes de données est un mot de parité longitudinale R/D LPW qui est déclenché par le niveau de message de terminal périphérique DML/. Après que le processeur LCP a terminé la lecture, un descripteur de résultat complet R/D ainsi que son mot de parité longitudinale LPW adéquat, le terminal revient à l'état ST=6. Il peut alors accepter un descripteur d'ordre C/D.
Mode de message d'ordre C/M:
Cela concerne le cas dans lequel le processeur LCP inscrit un message d'ordre dans le terminal périphérique (état ST=4). Lorsque le processeur LCP est en mode lecture et est dirigé sur le mode de message d'ordre C/M (DINTL/+ ST=4), le processeur LCP poursuit l'émission des données vers le système principal 10 jusqu'à ce que:
1. la détection du signal fin de lecture du système soit détectée, ce qui se traduit par l'activation du niveau d'interruption d'hôte HINTL/, ou
2. les zones de tampon de données A et B (ou mémoire tampon 2500, fig. 6C) soient vides et le signal fin de lecture de système ne soit pas détecté; il en résulte que le processeur LCP active le niveau de commande de transfert d'hôte HTCL/ indiquant que le système principal 10 attend encore des données.
Mode de remise d'horloge (R/T):
Cela se produit lorsque le terminal périphérique remet l'horloge du processeur LCP (état ST=5). Un changement d'état sur ST = 5 remet l'horloge du processeur LCP. Ce changement d'état se produit avec un déclenchement. Le terminal périphérique doit rester à l'état ST=5 pour au moins 500 ns.
Mode de descripteur d'ordre d'envoi (C/D):
Dans ce cas, le processeur LCP inscrit un descripteur d'ordre C/D dans le terminal périphérique (état=6). Dans ce mode de descripteur d'ordre d'envoi C/D, le processeur LCP inscrit trois mots suivis par un mot de parité longitudinale LPW. Le niveau de commande de
632350
22
transfert d'hôte HTCL/ qui accompagne le descripteur C/D et le mot LPW est reçu par le niveau d'interruption de terminal périphérique DINTL/ et un changement à l'état adéquat.
Mode dernier mot d'un bloc:
Dans cet état ST=7 (tableau X) et pendant l'opération lecture, avec ST=7, le processeur LCP lit le dernier mot du bloc de données (ou encore descripteur de résultat R/D) du terminal périphérique. Le dernier mot sera le mot LPW. Pendant une opération inscription, avec ST=7, le processeur LCP inscrit le dernier mot d'un bloc dans le terminal périphérique. Le mot suivant sera un mot de parité longitudinale LPW.
Suppression conditionnelle :
Après que le processeur LCP a inscrit le descripteur d'ordre C/D dans le terminal périphérique et avant que ce terminal périphérique ne change en partant de l'état ST = 6, avec le niveau d'interruption périphérique DINTL/, le système principal 10 peut terminer l'opération (OP) en envoyant un signal suppression conditionnelle. Dans ce cas, le processeur LCP désactive le niveau de commande de transfert d'hôte HTCL/, puis active le niveau d'interruption d'hôte HINTL/ aussi longtemps que l'état ST=6 et DINTL/ n'est pas actif.
Suppression inconditionnelle :
Le système principal 10 peut créer un signal suppression inconditionnelle. Il en résulte que le processeur LCP crée un niveau d'effacement d'hôte HCL/ pour le terminal périphérique. Aucun accusé de réception n'est nécessaire pour le terminal périphérique.
Le sous-système LCP (processeur de commande de ligne) se compose d'un certain nombre de processeurs LCP distincts qui communiquent avec le système principal 10 par l'intermédiaire du traducteur I/O 10t. Alors que chacun des processeurs LCP présente essentiellement la même structure de base et joue les mêmes fonctions du système de base, il y a des variantes très légères entre les divers types de processeurs LCP, puisque chaque processeur LCP est adapté aux conditions de fonctionnement du terminal périphérique particulier qu'il dessert.
La description suivante concerne la description de fonctionnement d'un mode de réalisation préférentiel d'un processeur LCP destiné à un terminal périphérique tel qu'un terminal de supervision.
Les éléments fonctionnels nécessaires du processeur LCP sont des registres, des compteurs, des codeurs, des décodeurs, des bus, des éléments logiques, etc. En plus, il y a un transmetteur/récepteur réalisé par intégration à grande échelle (appelé en abrégé LSI) pour la communication entre le processeur LCP et son terminal périphérique. Dans le processeur LCP, il y a, sur le plan fonctionnel, deux divisions servant pour la communication entre le processeur LCP et le système principal 10. Ces deux fonctions sont désignées par module de lecture et module d'inscription. Ces modules existent sur le plan fonctionnel, mais ne constituent pas des éléments matériellement distincts, puisque de nombreux niveaux logiques qui les composent sont communs aux deux modules. Le module lecture est utilisé pour transférer des données du processeur LCP vers le système principal 10 et il est mis en œuvre lorsque le flip-flop de transmission (XMITF) du processeur LCP est mis à l'état. Le module d'inscription est utilisé pour transférer les données du système principal 10 vers le processeur LCP et il est mis en œuvre lorsque le flip-flop de réception (RECVF) est mis à l'état.
Sur le plan fonctionnel, les composants du processeur LCP se répartissent en trois sections principales: A) commande de terminal; B) écoulement des données; C) section logique du système. Pour comprendre comment le processeur LCP communique avec le système principal 10 et avec le terminal périphérique associés tel que le terminal 50, on examinera les caractéristiques fonctionnelles des composants suivants:
A. Section de commande du terminal périphérique:
1. Transmetteur/récepteur asynchrone universel (UART).
2. Multiplexeur UART.
3. Registre de caractère de vérification de bloc (BCCR).
4. Décodeur de caractère de vérification de bloc.
5. Décodeur de code de fin.
6. Registre d'adresse de mémoire.
B. Section d'écoulement des données:
1. Multiplexeur d'entrée.
2. Registre de code OP.
3. Registre variante.
4. Codeur OP valide.
5. Tampon LCP (RAM).
6. Multiplexeur de bus de terminal.
7. Bus de terminal.
8. Vérificateur/générateur de parité verticale.
9. Registre de verrouillage de données.
10. Registre de mot de parité longitudinale LPW.
11. Codeur LPW.
12. Décodeur de code de fin.
C. Section logique du système:
1. Registre d'état de comptage (STC).
2. Décodeur STC.
Les composants fonctionnels indiqués ci-dessus sont représentés aux fig. 6B, 6C, 6D, 6E et 6F et en particulier à la fig. 6D.
Selon la fig. 6D et la commande du terminal périphérique (section A) décrite précédemment, le transmetteur/récepteur asynchrone universel UART 31 est utilisé comme interface entre le canal de données série asynchrone de l'interface du terminal périphérique 22di et le canal de transmission de données parallèle du processeur LCP. La partie transmetteur du dispositif UART 31 transforme un caractère de donnée de type parallèle et les niveaux de commande en des informations de type série contenant un bit de départ, la donnée, un bit de parité et un bit d'arrêt. La partie récepteur du dispositif UART 31 transforme l'information série contenant un bit de départ, la donnée, un bit de parité et un bit d'arrêt en un caractère de donnée de type parallèle. Le dispositif UART 31 crée un bit de parité pour l'information transférée à l'interface du terminal 22di et il vérifie également la parité verticale de l'information reçue par l'interface de terminal 22di.
Le dispositif UART 31 comporte des moyens pour sélectionner différentes longueurs de caractère, vérifier et créer des parités d'ordre pair ou impair et choisir l'un des deux bits d'arrêt. Pour l'utilisation avec un processeur LCP particulier, le dispositif UART 31 peut avoir des options pour présenter les caractéristiques suivantes:
a) un caractère contenant sept bits de donnée;
b) la création ou la vérification de la parité verticale paire;
c) un bit d'arrêt.
Le multiplexeur UART 27x accepte un caractère de huit bits, soit des digits AB (deux premiers) du bus de terminal 47 ou du registre de caractère de vérification de bloc (BCCR) 33. L'entrée sélectionnée est envoyée pour l'entrée de données de type parallèle du dispositif UART 31. Le multiplexeur UART 27x est utilisé seulement pour le transfert des données ou pour un caractère de vérification de bloc du processeur LCP par l'interface de terminal 22di.
Le registre de caractère de vérification de bloc (BCCR) 33 est un registre qui se compose de huit flip-flops distincts fonctionnant en mode de basculement bistable, les entrées étant reliées aux digits AB du bus de terminal 47. Lorsque le processeur LCP transfère des données vers l'interface de terminal périphérique 22dj, le dispositif BCCR 33 accumule un caractère de vérification de bloc (BCC) pour l'envoyer à l'interface de terminal 22di. Lorsque le processeur LCP reçoit les données de l'interface de terminal 22di, le dispositif (BCCR) 33 accumule également un caractère de vérification de bloc pour être de nouveau vérifié en comparaison avec un autre caractère de vérification de bloc (BCC) envoyé par l'interface de terminal 22di. L'accumulation de caractères de vérification de bloc est démarrée à la
5
10
15
20
25
30
35
40
45
50
55
60
65
23
632 350
réception du premier caractère qui suit un signal STX (début de texte) ou d'un caractère SOH (début d'en-tête) ou se poursuit jusqu'à la réception d'un caractère TEX (fin de texte). Seuls les messages et les séquences de commande contenant un caractère STX ou SOH assurent l'accumulation d'un caractère de vérification de bloc (BCC).
L'accumulation d'un caractère BCC consiste à appliquer chaque caractère à transférer à l'entrée du dispositif BCCR 33 et à effectuer une addition binaire sans report (fonction OU-EXCLUSIF). Avant chaque opération au cours de laquelle un caractère BCC sera accumulé dans le dispositif BCCR 33, le registre est vidé. A la fin d'un transfert de données, la fonction OU-EXCLUSIF est de nouveau effectuée entre les caractères BCC des unités d'émission et de réception. S'il n'y a pas d'erreur, les deux caractères BCC seront identiques et le résultat dans le dispositif BCCR 33 sera constitué par uniquement des zéros.
Le décodeur de caractère de vérification de bloc 34 reçoit le signal de sortie du dispositif BCCR 33. A la fin de la transmission du terminal périphérique 50, un caractère BCCR est reçu et est vérifié en comparaison avec le contenu du dispositif BCCR 33. Si les deux caractères BCC sont identiques, le signal de sortie du dispositif BCCR 33 est égal à un signal composé de zéros et le décodeur 33 crée le niveau BCCOK (caractère de vérification de bloc en ordre) qui est utilisé dans la logique d'erreur BCC.
Des exemples d'interconnexion entre des périphériques et des interfaces I/O sont notamment décrits dans les brevets US Nos 3510843,3514785 et 3526878. Des exemples de circuits concernés par la communication entre les unités éloignées et les registres tampons correspondants sont décrits notamment dans le brevet US N° 3390399.
Le registre d'adresse de mémoire 36 est un registre à huit bits qui crée des adresses pour une mémoire tampon 250o du processeur LCP à 256 mots. Le registre 36 est commandé de façon à donner l'adressage sélectif ou séquentiel de la mémoire intermédiaire, comme l'exige l'opération de transfert de données qui doit être effectuée.
La carte de terminaison 20ot (fig. 2) assure une période de 1 s qui est autorisée pour une opération uniquement pendant une lecture, lorsque le processeur LCP est conditionné de façon à recevoir les données du terminal périphérique tel que le terminal 50. Lorsque les entrées d'autorisation sont actives, l'horloge autorise le terminal périphérique à une période de 1 s pour commencer la transmission ou poursuivre une transmission interrompue vers le processeur LCP. Si la période de 1 s s'écoule sans transmission en provenance du terminal périphérique, le flip-flop de décomptage de temps (TIMOUTF) est mis à l'état et crée un niveau de fin de temps (TIMOUTL) et le processeur LCP commence une fin de l'opération de lecture en réglant un flip-flop de fin (ENDF). Cependant, cette horloge peut être interdite de fonctionnement par le programme en plaçant un code adéquat dans le digit variant 1 dans le descripteur d'ordre (fig. 4B).
Selon les fig. 6B et 6D et la description précédente concernant la section d'écoulement des données du processeur LCP (section B), le multiplexeur d'entrée 24xl assure la séelction d'un mot à 17 bits à partir de trois sources: les lignes d'entrée de données B,; les lignes de sortie de la mémoire tampon de données B25 RAM 2500 et les niveaux d'interface périphériques 24m qui sont créés par la carte d'entretien ou de maintenance (telle que 20om fig. 2) à partir des sorties des commutateurs à bouton-poussoir du tableau de maintenance. Les niveaux choisis reçus par le multiplexeur d'entrée 24xl sont transférés au code OP 42 et au registre variant 43, au multiplexeur 24x2 ou au codeur OP 44 valide, comme cela est exigé par les opérations à effectuer.
Le registre de code OP 42 reçoit le code OP numérique du descripteur d'ordre C/D et en combinaison avec la sortie du registre variant 43, il indique l'opération que doit effectuer le processeur LCP. Le registre variant 43 reçoit les digits variants contenus dans le descripteur d'ordre C/D et, en combinaison avec la sortie du registre de code OP 42, il spécifie d'autres détails de fonctionnement que doit réaliser le processeur LCP.
Le codeur OP valide 44 est un réseau qui reçoit l'information de descripteur d'ordre C/D à son entrée; puis, si les digits de code OP et les digits variants 1,2,3 coïncident avec les valeurs représentant l'opération valide pour le processeur LCP, ce codeur développe un niveau OP valide (VOP) qui autorise le descripteur d'ordre C/D à être chargé dans le registre de code OP 42 et le registre variant 43.
La mémoire tampon RAM 2500 du processeur LCP est formée par un réseau de 18 mémoires vives RAM, chacune ayant une capacité de 256 bits d'information. La fig. 6C représente de façon plus détaillée la mémoire tampon RAM 2500. Le réseau tampon peut stocker 18 bits dans chacune des 256 positions d'adresse; il y a 16 bits de données, un bit de parité et un bit de repère de fin 25e (fig. 6C) pour identifier une position de mot contenant un code de fin.
Selon la fig. 6D, le réseau multiplexeur de bus de terminal 24x2 assure la sélection d'un mot à 17 bits à partir de quatre sources: le multiplexeur d'entrée 24xl ; la ligne de sortie de données parallèle du dispositif UART 31 ; la sortie de registre LPW 24w et les niveaux de descripteur de résultat 24rd. La sortie du réseau de multiplexeur de bus de terminal 24x2 passe sur le bus de terminal 47. Des niveaux de tension adéquats sont fournis aux composants LCP (tels que le registre de verrouillage de données 49, le contrôleur/générateur de parité verticale 48, la mémoire tampon 2500, le registre LPW 24w, le décodeur 52 et le décodeur de fin de code 35, etc.) dont les entrées sont reliées en provenance du bus de terminal 47.
Le bus de terminal 47 relie la sortie du réseau de multiplexeur de bus de terminal 24x2 par les composants suivants: le registre de verrouillage de données 49, la mémoire tampon RAM 2500 du processeur LCP, le registre LPW 24w, le contrôleur/générateur de parité verticale 48, le registre BCC 33, les décodeurs de fin de code 52 et 35 et le multiplexeur UART 27x.
Le contrôleur/générateur de parité verticale 48 crée une parité impaire pour chaque mot transféré par le processeur LCP vers le système principal 10. Le contrôleur/générateur 48 vérifie la parité impaire de chaque mot transféré par le système principal vers le processeur LCP. Chaque mot à transférer du processeur LCP particulier vers le système principal 10 est d'abord placé dans le registre à 17 bits appelé registre de verrouillage de données 49.Le registre de verrouillage de données 49 transfère alors le mot vers le système principal 10. L'utilisation du registre à verrouillage de données augmente la vitesse de transfert de données en permettant un accès plus rapide aux données stockées dans la mémoire intermédiaire RAM 25 oo du processeur LCP.
Le registre 24w du mot de parité longitudinale LPW est formé de 16 bascules bistables (flip-flops) distinctes travaillant en mode de basculement bistable. Ce registre reçoit, comme signaux d'entrée, ceux fournis par le bus de terminal 47. Lorsque le système principal 10 envoie un descripteur d'ordre C/D, un maillon de descripteur D/L ou des données vers le processeur LCP, le registre 24w de mot de parité longitudinale LPW accumule un mot de parité longitudinale LPW pour le vérifier en comparaison avec le mot LPW du système principal 10. Lorsque le processeur LCP envoie des données ou un descripteur de résultat R/D vers le système principal 10, le registre 24w du mot de parité longitudinale LPW accumule également un mot de parité longitudinale LPW à envoyer vers le système principal 10. L'accumulation du mot LPW consiste à appliquer chaque mot à envoyer ou à recevoir à l'entrée du registre 24w LPW, et à effectuer une addition binaire sans report (fonction OU-EXCLUSIF).
Le registre 24w du mot LPW est démarré sur des états qui sont tous égaux à un, avant chaque opération au cours de laquelle un mot LPW sera accumulé dans ce registre 24w. A la fin d'un transfert de données du système principal 10, la fonction OU-EXCLUSIF est effectuée entre le mot LPW accumulé et le mot LPW provenant du système principal 10. S'il n'y a pas eu d'erreur, les deux mots LPW sont identiques et la valeur résultante du registre 24w LPW sera formée par des zéros.
A la fig. 6D, les décodeurs de fin de code 52 et 35 sont utilisés pour déterminer la réception d'un caractère de code final. Le
5
10
15
20
25
30
35
40
45
50
55
60
65
632350
24
décodeur 52 traite les digits AB et le décodeur 35 traite les digits CD. Le décodeur de fin de code 52 pour le digit AB est utilisé pour identifier un code final dans la première position de caractère d'un mot provenant du système principal. Ce décodeur est également utilisé pour identifier un code final de n'importe quel caractère 5
envoyé par l'interface de terminal de périphérique 22di. Si le décodeur 52 reçoit un tel code final, il crée le niveau EDCODE et le niveau SYSEND. Le décodeur 35 pour le digit CD est utilisé pour identifier un code final dans la dernière position de caractère d'un mot du système. La réception d'un tel code final par le décodeur 35 crée le io niveau de tension SYSEND.
La description ci-dessus concerne la seconde section B du processeur LCP. On examinera ci-après la troisième section C, la section logique du processeur LCP, en se reportant à la fig. 6D.
Le registre d'état de comptage 53 (STC) est un registre à quatre 15 bits. Ce registre crée des niveaux d'état de comptage (STCnL)
destinés à être utilisés par le processeur LCP et des niveaux référencés LCSTUn (niveaux d'état LCP) pour la transmission au système principal 10. En combinaison avec les niveaux logiques flottants, qui existent, le registre STC 53 commande également la séquence des 20 opérations du processeur LCP. Chaque état de comptage développé par le registre STC 53 définit une phase différente de fonctionnement dans l'exécution d'un descripteur d'ordre C/D comme indiqué précédemment en relation avec la fig. 6A. Le décodeur 54 est un décodeur pour transformer un codage décimal binaire (BCD) en un 25 code décimal avec des modifications des grandeurs BCD du registre STC 53 en des grandeurs décimales demandées par le processeur LCP.
Selon la fig. 6E, on examinera les relations de système entre les éléments principaux LCP concernés et les signaux de commande de traitement de ces éléments. La fig. 6E montre les lignes logiques et de 30 commande principales entre le traducteur I/O entrée/sortie 10t, la carte de distribution 20od (du module de base 20oo) et le processeur de commande de ligne particulier LCP 20O0 ainsi que le terminal périphérique 50.
En se reportant tout d'abord au groupe inférieur des lignes de 35 commande du processeur LCP 20oo et à sa carte de distribution 20od, la référence LCPREQ (n) est un groupe de huit lignes de demande; la lettre n représente l'un des chiffres 0-7 pour chaque processeur caractéristique LCP du module de base 20oo- Chacun de ces signaux est commandé par un processeur LCP particulier par l'intermédiaire 10 de la carte de distribution 20od. Ce signal est utilisé par un processeur LCP particulier pour demander une connexion avec le système principal 10; ce signal met la carte de distribution 20od sur demande Poil.
La désignation suivante LCPCON est la désignation pour 45
processeur LCP connecté. Cette ligne est commandée par le processeur LCP connecté (0-7) sur la carte de distribution 20od. Ce signal est commandé par le processeur LCP lorsqu'il détecte sa propre adresse LCP et qu'il n'est pas en état hors ligne. Le signal est une réponse à l'adresse LCP et indique à la carte de distribution 20od la 50 présence du processeur LCP qui a été adressé.
La dénomination LCPSTL signifie niveau de déclenchement de processeur LCP. Cette ligne est commandée par le processeur LCP connecté par la carte de distribution. Il s'agit d'une dénomination du processeur LCP particulier pour l'émission ou l'accusé de réception 55 en fonction du sens d'envoi des données.
La référence IOSND désigne l'émission I/O. Cette ligne est commandée par le processeur LCP, connecté sur la carte de distribution 20od. Cette ligne définit la direction des lignes des données bidirectionnelles repérées DATA (xn). Lorsque cette ligne 60 est activée au niveau bas, les lignes de données sont commandées par la carte de distribution 20od sur le système principal 10 par l'intermédiaire du traducteur I/O 10t.
La référence LCSTU (n) désigne l'état d'un processeur LCP particulier, n désignant l'un des processeurs LCP 0 à 7. Cette ligne est 65 commandée par le processeur LCP particulier branché sur la carte de distribution 20od et indique l'état du processeur LCP comme représenté à la fig. 6A.
Selon la fig. 6E, on a un certain nombre de connexions entre le processeur LCP tel que le processeur 20oo et la carte de distribution 20od. DATA (xn) représente l'interface de niveau de message (comme indiqué précédemment à la fig. 5E dans laquelle les 16 lignes inférieures sont des lignes de données pour les digits ABCD). La ligne supérieure directement suivante est la ligne de PARITÉ, qui assure le transfert des bits de parité. Ces 17 lignes constituent l'interface de niveau de message; ces lignes sont bidirectionnelles, c'est-à-dire que la transmission se fait dans l'une ou l'autre direction en fonction des lignes de commande logiques utilisées pour déterminer la direction de la transmission.
La dénomination EMRREQ à la fig. 6E correspond à la ligne de demande d'urgence. Cette ligne est commandée par un ou plusieurs processeurs LCP sur les cartes de distribution. Les processeurs LCP peuvent commander à n'importe quel moment la ligne de demande d'urgence. L'expression demande d'urgence signifie qu'un processeur LCP demande rapidement l'accès au système pour éviter une défaillance de transfert de données. Seuls les processeurs LCP, dont un défaut d'accès au système nécessite une intervention de l'opérateur ou une récupération difficile en cas d'erreur, peuvent commander la demande d'urgence en combinaison avec leur demande LCP. Les processeurs LCP qui ne demandent pas l'urgence interdisent leur demande LCP par cette ligne. Une carte de distribution détectant une demande d'urgence assure la transmission d'une priorité globale égale à sept pour le système principal 10 pendant une demande Poil.
La dénomination TERM à la fig, 6E concerne un niveau de tension de terminaison. Ce niveau est créé sur la carte de distribution et est envoyé au processeur LCP pour la fin d'une opération.
La dénomination LCP AD n à la fig. 6E concerne une adresse LCP (n pouvant être égal à 0-7) pour désigner les processeurs LCP particuliers. L'une des huit lignes de signaux est commandée par la carte de distribution pour chaque processeur LCP particulier. Le récepteur du processeur LCP est mis sur la ligne adéquate. Ce signal correspond fonctionnellement à une connexion de ligne pour le processeur LCP. Un processeur LCP qui reçoit son adresse LCP est connecté sur le système principal 10 par la carte de distribution.
La référence STIOL à la fig. 6E correspond au signal niveau de déclenchement I/O. Cette ligne est commandée par la carte de distribution, connectée. Ce signal représente l'émission ou l'accusé de réception du système en fonction du sens de passage des données.
La ligne ARQOUT à la fig. 6E est la sortie de la carte de distribution dont l'entrée est désignée ARQIN. Ces signaux représentent entrée de la demande d'accès et sortie de la demande d'accès. Ces signaux sont commandés et reçus seulement par les cartes de distribution et correspondent à de courtes lignes entre les cartes de distribution adjacentes. Ils sont utilisés pendant le test Poil pour résoudre la priorité de la carte de distribution. Les lignes DCB 1 et DCB 2 représentent les niveaux d'activité d'une carte de distribution. Ces niveaux sont créés sur chaque carte de distribution active dans un module de base pour résoudre la priorité de carte de distribution dans le module pendant une séquence demande Poil.
La ligne PTALB désigne niveau actif de test Poil. Il s'agit d'un niveau de signal bidirectionnel entre les cartes de distribution du même module de base. Une carte de distribution effectuant une opération test Poil envoie ce niveau aux autres cartes de distribution leur interdisant d'effectuer un test Poil ou une demande Poil.
La ligne REQACC désigne accès demandé. Cette ligne est commandée et est reçue seulement par les cartes de distribution. La ligne est utilisée pour indiquer qu'une demande d'interruption est mise en œuvre par les cartes de distribution.
La ligne BUSY de la fig. 6E indique qu'un module de base est au niveau actif. Cela correspond au niveau du signal bidirectionnel créé sur une carte de direction, lorsque cette carte a effectué la connexion avec le système principal 10. Le niveau est envoyé aux autres cartes de distribution du même module de base pour indiquer que l'on utilise le plan arrière LCP.
Selon la fig. 6E, les relations entre le traducteur I/O 10t et la carte
25
632350
de distribution 20od seront examinées ci-après. Dans la partie gauche supérieure de la fig. 6E, la dénomination LCPST concerne une impulsion de déclenchement de processeur LCP. Cette impulsion est créée sur la carte de distribution par le niveau de déclenchement LCP et est envoyée au système principal par l'intermédiaire du traducteur I/O 10t.
La référence PB/ST 2 désigne canal actif ou la ligne d'état 2 du processeur LCP. Cette ligne correspond à l'interface de niveau de message comme représenté à la fig. 5E. A l'état non connecté, cette ligne indique qu'un canal est actif pendant un algorithme test Poil. A l'état connecté, cette ligne porte un bit 2 correspondant à l'état du processeur LCP vers le système 10.
Chaque module de base peut non seulement desservir un système principal 10 par l'intermédiaire de sa carte de distribution (20od, fig. 2), mais également coopérer avec des cartes de distribution multiples et desservir d'autres systèmes principaux hôtes. Chaque carte de distribution du module de base peut desservir un système hôte différent et chaque système hôte peut avoir la même organisation de base que celle représentée à la fig. 3.
La référence IP/ST 4 désigne une demande d'interruption ou erreur de parité de test Poil ou encore une ligne d'état 4 de processeur LCP. A l'état non connecté, cette ligne est utilisée pour effectuer une demande d'interruption par le processeur LCP ou pour indiquer une erreur de parité d'adresse pendant une tentative de connexion test Poil. Une demande d'interruption indique qu'un processeur LCP demande l'accès à la mémoire. A l'état connecté, cette ligne porte un bit 4 correspondant à l'état du processeur LCP pour le système principal.
La référence ER/ST 8 désigne une demande d'urgence ou une ligne d'état 8 pour le processeur LCP. A l'état non connecté, cette ligne représente une demande d'urgence du processeur LCP. La demande d'urgence indique que le processeur LCP nécessite l'accès immédiat au système principal. A l'état connecté, cette ligne porte un bit 8 de l'état du processeur LCP vers le système principal. Dès qu'il est connecté, le processeur LCP indique par son état ses exigences à la mémoire du système. L'état du processeur LCP est commandé par porte, en continu, et peut seulement être considéré comme valide par le système à l'instant envoi/accusé de réception du processeur LCP.
De plus, on décrira ci-après, selon la fig. 6E, les connexions entre le traducteur I/O 10t et la carte de distribution 20od, les connexions appelées parités et DATA xn concernant les lignes d'interface de niveau de message décrites précédemment. La référence CS/ST 1 concerne l'expression sélection de canal ou ligne d'état 1 du processeur LCP. A l'état déconnecté, ces lignes portent le signal sélection de canal du système 10 à la carte de distribution. L'expression sélection de canal est utilisée en combinaison avec l'expression sélection d'adresse dans les deux algorithmes de connexion.
Cependant, à l'état connecté, cette ligne passe le bit 1 de l'état de processeur LCP vers le système principal 10. Cette ligne est bidirectionnelle. Le récepteur sur la carte de distribution peut être n'importe quel dispositif classique en technique TTL. Le circuit de commande de la carte de distribution est un circuit de commande à trois états tel que le circuit 8097/8098 (National Semiconductor Corp.) ou un circuit équivalent qui est mis en œuvre seulement à l'état connecté.
L'expression TRM concerne le niveau final. Ce signal est envoyé par le système principal 10 à la carte de distribution à la fin d'une opération de transfert de données.
La ligne ADDSEL de la fig. 6E concerne la sélection d'adresse. Cette ligne de signal indique que le système principal est connecté ou qu'une tentative de connexion est faite sur un processeur LCP particulier. Cette ligne est utilisée en combinaison avec le signal sélection de canal pour que les deux algorithmes de connexion effectuent la connexion. Dès qu'une connexion sur le processeur LCP est assurée, le système et le processeur LCP restent connectés jusqu'à ce que la ligne de signal soit mise hors service par le système. Lorsque la ligne est activée, le système peut être considéré comme étant à l'état actif.
Selon la fig. 6E, l'expression AG/SIO concerne l'expression accès assuré ou déclenchement I/O. Lorsque l'interface est à l'état non connecté, cette ligne assure le passage d'un signal accès assuré. Le signal accès assuré est utilisé pour accuser réception d'une demande d'interruption de connexion et pour commencer un algorithme de demande Poil.
Lorsque l'interface est à l'état connecté, cette ligne assure le passage d'un signal déclenchement I/O. Ce signal correspond à la ligne envoi/accusé de réception du système, dans le transfert des informations entre le système 10 et le module de base LCP. Le signal réel est une impulsion minimale de 100 ns envoyée par le système et qui est verrouillée par la carte de distribution. La carte de distribution se déclenche les 50 premières nanosecondes à partir du signal pour permettre au câble de se reposer.
Selon la fig. 6E, les signaux de commande tels que ceux entre le processeur LCP 20oo et le terminal périphérique 50 désignent une ligne RMDTLN. Cela concerne le niveau de ligne de données éloigné. Il s'agit d'un niveau de signal bidirectionnel qui permet le transfert de données de type série entre le processeur LCP et le terminal périphérique, dans une direction ou dans deux directions, en fonction de ce qui est choisi par le niveau.
On décrira ci-après les séquences de fonctionnement du processeur LCP. Les expressions «logique» concernées sont les états actifs et non actifs, pour éviter toute ambiguïté qui pourrait résulter de l'utilisation d'expressions telles que vrai ou faux.
Réception d'instructions par le processeur de commande de ligne:
Précédemment, selon la fig. 6A, on a examiné le passage logique concernant les états de comptage (STC) entre le processeur LCP 20O0 et le système principal 10. Selon la fig. 7A, on examinera de façon plus détaillée un schéma de passage, simplifié, montrant la réception d'instructions par le processeur LCP. Ce schéma de passage montre les actions de base du processeur LCP pendant la réception d'instructions ainsi que les actions qui peuvent se produire par suite de modifications d'instruction initiale, la réception du niveau de sortie de temps ou la présence de conditions d'erreur.
Avant la réception de n'importe laquelle des sept instructions possibles du système principal 10, le processeur LCP est normalement à l'état libre, à l'état de comptage 3. Cependant le processeur LCP peut également être à l'état STC 3 pendant l'opération lecture en attendant soit une instruction de suppression conditionnelle du système principal 10 ou une transmission donnée du terminal périphérique 50.
La description suivante concerne les actions du processeur LCP pendant la réception d'instructions du système 10 et pendant la préparation pour l'exécution d'instructions. Ces actions portent les références a), b) et c).
a) Connexion système-LCP. Lorsque le processeur LCP est à l'état STC 3, le système établit une connexion avec le processeur LCP par l'intermédiaire d'une séquence test Poil; le processeur LCP reçoit son unique niveau d'adresse LCPAD (n) comme représenté à la fig. 6E. La réception du niveau LCPAD (n) fait que le processeur LCP envoie le niveau de connexion LCP (LCPCON, fig. 6E), vers la carte de distribution 20od associée et il crée le niveau LCPADL (niveau d'adresse du processeur LCP) qui autorise les parties de la section logique LCP. Le niveau d'adresse LCPAD (n) autorise également le réseau d'arrière-plan du processeur LCP en créant un niveau de système de porte (GATSYS). Puis un signal de déclenchement (STIOL) est reçu par la carte de distribution (20od, fig. 6E) mettant à l'état le signal STIOF (flip-flop de déclenchement synchrone). La mise à l'état du niveau STIOF active le module droit du processeur LCP en mettant en œuvre le signal RECVF (flip-flop de réception), en autorisant la mise à l'état du registre 24w LPW (fig. 6D) à l'état logique 1 et en mettant les flio-flops choisis à l'état initial. Le descripteur de commande C/D est reçu dans le processeur LCP et est placé dans le registre de code OP 42 et le registre variant 43 (fig. 6D). La réception du descripteur C/D se traduit par l'envoi d'un caractère LPW dans le registre 24w LPW. Le descripteur C/D est vérifié quant à la validité et le flip-flop OP de validité (VOPF) est mis
5
10
15
20
25
30
35
40
45
50
55
60
65
632350
26
à l'état. Le processeur LCP passe alors de l'état STC 3 à l'état STC 11 (fig. 7A) pour recevoir le caractère LPW du système 10.
b) Réception d'un caractère LPW par le processeur LCP. A la fig. 7A, à l'état STC 11, un mot de parité longitudinale (LPW) est reçu par le système 10 et est vérifié par rapport au contenu du registre 24w LPW pour vérifier la parité longitudinale du transfert C/D. La parité verticale est également vérifiée, puis le niveau vertical d'accord (VLOK) ainsi que le niveau de parité verticale d'accord (VPAROK) sont mis à l'état. L'adresse de la mémoire tampon du processeur LCP est préréglée à 253 dans le registre d'adresse de mémoire MADR 36 (fig. 6D) et le réglage du registre 24w LPW à l'état logique 1 est de nouveau autorisé; puis le processeur LCP passe à l'état STC 6 pour recevoir le maillon de description D/L du système 10.
c) Réception du maillon de descripteur et maillon descripteur LPW. A l'état STC 6, le processeur LCP reçoit deux mots du maillon de descripteur D/L du système 10 et un caractère LPW est accumulé dans le registre 24w LPW. Un caractère LPW est alors reçu du système principal 10 et est vérifié par rapport au contenu du registre 24w LPW. Le maillon descripteur D/L et le caractère LPW sont stockés dans les positions d'adresse de la mémoire tampon, positions indiquées par le registre d'adresse de mémoire MADR 36 aux adresses 253,254 et 255 (fig. 6C). A partir de l'état STC 6, le processeur LCP dérive vers l'état STC 8 pour une opération inscription ou vers l'état STC 1 pour une opération lecture ou encore vers l'état STC 7, s'il s'est produit une erreur de maillon de descripteur.
Il y a des situations de chemin de passage alternées par exemple; a) lorsqu'une instruction suppression conditionnelle est reçue par le système 10, ou b) lorsqu'une transmission de données est reçue par le terminal périphérique 50, ou c) lorsqu'un niveau de fin de temps est créé, ou encore d) à la réception d'instructions de test. La fig. 7A donne d'autres détails de telles situations alternatives.
a) Réception d'une instruction de suppression conditionnelle. A l'état STC 3, lorsqu'une instruction de suppression conditionnelle est reçue du système 10, comme le processeur LCP attend la transmission d'un terminal périphérique 50, un flip-flop de suppression (CANCF) est mis à l'état et le processeur LCP passe à l'état STC 11 pour recevoir un mot de parité longitudinale de descripteur d'ordre LPW. De l'état STC 11, le processeur LCP passe à l'état STC 7 et envoie un descripteur de résultat au système 10, indiquant la fin de l'opération de suppression.
b) Réception d'une transmission d'un terminal périphérique. A l'état STC 5, pendant l'opération lecture, si un flip-flop de terminal actif (TRMBSYF) est mis à l'état indiquant qu'un terminal a commencé à transmettre, le processeur LCP passe à l'état STC 1 pour recevoir les données du terminal périphérique. Le processeur LCP continue de recevoir les données et termine les opérations de lecture restantes en fonction des instructions contenues dans le descripteur d'ordre C/D.
c) Réception d'un niveau de fin de temps. Pendant l'opération de lecture par le processeur LCP à l'état STC 3, attendant la transmission du terminal périphérique (et si une horloge de 1 s n'est pas interdite) il y a un retard de 1 s dans la réception de la transmission et le niveau de fin de temps (TIMOUTL) est créé. Lorsque le niveau TIMOUTL est actif, le flip-flop final (ENDF) est mis à l'état et le niveau de fin de terminal (TMCNP) est créé; le processeur LCP passe à l'état STC 1. A l'état STC 1, une demande de reconnexion du système est mise en œuvre et le processeur LCP passe à l'état STC 5 (fig. 7B). A l'état STC 5, avec le signal ENDF mis à l'état, l'opération de lecture se termine et le processeur LCP passe à l'état STC 7 pour envoyer un descripteur de résultat R/D au système 10. On peut également recevoir un niveau de fin de temps lorsque le processeur LCP est à l'état STC 1.
d) Réception d'instructions de test. A l'état STC 11 (fig. 7A), si un signal TESTF (flip-flop test) est mis en œuvre, indiquant la réception d'une instruction de test, le processeur LCP termine l'opération de test en passant à l'état STC 7 et en envoyant un descripteur de résultat R/D au système 10.
Condition d'erreur. La présence de deux types de condition d'erreur (ea) et (eb) pendant la réception d'instructions agit par le processeur LCP comme suit:
(ea) : Erreur de parité de descripteur d'ordre. A la fig. 7 A, à l'état STC 11, si le niveau VLOK (niveau de validité en ordre) n'est pas actif ou si VOPF (flip-flop d'opération de validité) n'est pas mis à l'état, le processeur LCP passe à l'état STC 7 et envoie un descripteur de résultat R/D contenant une erreur de descripteur au système.
(eb): Erreur de parité de maillon de descripteur. A l'état STC 6, si le niveau VLOK n'est pas actif, le processeur LCP passe à l'état STC 7 et envoie un descripteur de résultat R/D contenant une erreur de maillon de descripteur au système 10.
Opération d'inscription:
Selon la fig. 7B, on a un diagramme logique séquentiel simplifié pour montrer les phases concernées par l'opération inscription. On suppose que l'on transfère les données d'une mémoire intermédiaire du système 10 vers le terminal périphérique 50, suivi par un stockage partiel des données contenant un caractère de code final dans la dernière position de caractère (digits CD) d'un mot.
Les phases suivantes (a... i) décrivent le fonctionnement du processeur LCP tel que 20oo pendant le transfert des données du système 10 vers le processeur LCP et du processeur LCP vers le terminal périphérique 50.
a) Réception d'une donnée du système. A l'état STC=6, lorsqu'une opération inscription est donnée par le descripteur d'ordre C/D, le processeur LCP autorise la mise à l'état du registre 24w LPW à l'état logique 1, puis passe à l'état STC=8 pour recevoir les données du système 10. Lorsqu'on utilise un niveau IOSF (flip-flop d'émission I/O) et qu'on le remet à l'état initial, à ce moment, pour autoriser les lignes de données bidirectionnelles, les données passent du système 10 au processeur LCP. On a des niveaux de commande de multiplexeur SLAIN (sélection de l'entrée A du multiplexeur) et SLBIN (sélection de l'entrée B du multiplexeur). Les deux sont inactifs et relient les lignes de données au réseau de multiplexeur 24xl des fig. 6B et 6D. Il y a d'autres niveaux de commande de multiplexeur SLARAM (sélection du niveau A du bus de terminal du multiplexeur) et SLBRAM (sélection du niveau B du bus de terminal du multiplexeur). Ces deux éléments sont également inactifs et relient le réseau multiplexeur d'entrée 24xl à l'entrée du réseau 24x2.
A l'état STC=8, le flip-flop de réception (RECVF) est mis à l'état et active le module d'inscription du processeur LCP. La mise à l'état de RECVF fait que le niveau d'autorisation d'inscription de la mémoire tampon LPC (WESYS) se met en œuvre. Ainsi, la donnée est transférée de la mémoire principale 10m du système par la mémoire tampon 2500 du processeur LCP, un mot à la fois, par l'intermédiaire du bus de terminal 47 du processeur LCP. Un signal de déclenchement asynchrone (STIOL) de la carte de distribution 20od correspondante (fig. 6E) accompagne le transfert de chaque mot, lorsque celui-ci est reçu par le processeur LCP; le processeur LCP émet un niveau de déclenchement (LCPSTL) vers le système 10 pour accuser réception du mot. Comme chaque mot est placé dans le bus de terminal 47 tout en étant envoyé à la mémoire intermédiare 2500, il est également appliqué à l'entrée du contrôleur/générateur de parité verticale 48, au registre 24w de caractère LPW et aux décodeurs de fin de code 52 et 35. La parité verticale est vérifiée et le mot de parité longitudinale est accumulé dans le registre 24w de caractère LPW. Le transfert des mots se poursuit jusqu'à ce que l'adresse de mot de données 251 suivante soit atteinte dans le registre d'adresse de mémoire 36. Le processeur LCP passe alors à l'état STC 10 de la fig. 7B pour recevoir un mot final du système. A l'état STC 10, le processeur LCP reçoit le mot final pour remplir la mémoire intermédiaire, puis passe à l'état STC 12 pour recevoir le caractère LPW du système 10.
b) Réception d'un caractère LPW et déconnexion du système 10. A l'état STC= 12, le processeur LCP reçoit un caractère LPW du système 10 et le vérifie par rapport au caractère LPW accumulé dans le registre 24w de caractère LPW pendant le transfert des données. Le
5
10
15
20
25
30
35
40
45
50
55
60
65
27
632 350
processeur LCP autorise alors la mise à l'état du registre 24w de caractère LPW à l'état logique 1, puis passe à l'état STC= 1, se coupant du système 10 pour transférer les données vers le terminal périphérique 50. Le multiplexeur de bus de terminal contrôle les niveaux SLARAM et SLBRAM (sélection de A et sélection de B de l'élément 24x2) qui sont tous deux inactifs pour relier la sortie de la mémoire intermédiaire 2500 à l'entrée du réseau 24x2 du multiplexeur de bus de terminal. Le multiplexeur d'entrée 24x2 présente des niveaux de contrôle SLAIN (sélection du niveau A de l'entrée de multiplexeur) et SLBIN (sélection de niveau B de l'entrée du multiplexeur) qui sont contrôlés, pendant le transfert des données, par l'état du flip-flop pair (EVNF) pour accéder à un caractère, de façon alternée entre les digits AB et les digits CD d'un mot de la mémoire intermédiaire 2500.
c) Transfert des données vers le terminal périphérique. Selon la fig. 7B, à l'état STC = 1, le flip-flop de réception (REVCF) est remis à l'état et autorise le module de réception du processeur LCP. Le niveau de démarrage de terminal (TERST) est créé pour préparer le processeur LCP pour travailler avec le terminal périphérique. Le niveau TERST autorise la mise à l'état du flip-flop UART Maître (MCUARTF) pour effacer le dispositif UART 31 (fig. 6D). La mise à l'état d'un flip-flop actif de terminal (TRMACTF), un flip-flop d'émission (SENDF) et le flip-flop d'activité de terminal (TRMBSYF) sont également autorisés, en activant la logique de commande de terminal pour l'opération d'inscription et en indiquant que le terminal périphérique est à l'état actif. Le registre d'adresse de mémoire 36 (fig. 6D) est mis à l'état MADR 0 pour accéder au premier mot de la mémoire tampon 2500. Dans le dispositif UART
31, le niveau vide de registre de maintien de transmetteur (THRE) est actif et la mise à l'état du flip-flop d'évacuation UART (UARTETF) est autorisée pour fournir un niveau de déclenchement au multiplexeur UART 27x.
Le dispositif UART 31 accepte un caractère à la fois en provenance de la mémoire intermédiaire 2500 du processeur LCP. Le flip-flop pair (EVNF) est utilisé en combinaison avec le registre d'adresse de mémoire 36 pour commander l'accès au caractère. Lorsque le dispositif UART 31 est chargé par un caractère, il transfère en série le caractère par le terminal périphérique 50.
Lorsque chaque caractère de la mémoire intermédiaire 2500 est placé sur le bus de terminal 47, il est également appliqué à l'entrée du registre de caractère de vérification de bloc (BCCR) 33 qui (après réception de STX/SOH, départ de test/départ d'en-tête de caractère) commence à accumuler un caractère de vérification de bloc pendant le transfert de données. Le dispositif UART 31 continue d'accepter les caractères de la mémoire intermédiaire 2500, puis transfère ces caractères au terminal périphérique 50 jusqu'à ce que le niveau d'adresse de mémoire MADR 252 soit atteint dans le registre de mémoire 36, indiquant l'accès au dernier mot de la mémoire intermédiaire.
d) Demande de reconnexion sur le système 10. Le niveau d'adresse de mémoire MADR 252 met à l'état le flip-flop de transfert de mémoire intermédiaire (BFXFRF), indiquant que la mémoire intermédiaire 2500 demande du service et le processeur LCP initie une demande de reconnexion sur le système en autorisant la mise à l'état du flip-flop de demande LCP, LCPRQF. La mise à l'état de IOSF (flip-flop d'émission I/O, qui indique la direction du passage des données à l'interface de niveau de message) est autorisée pour conditionner les lignes de transfert de données du système 10 et la mise à l'état du niveau MADR 253 est autorisée pour permettre l'accès au maillon de descripteur D/L (fig. 6C). Le processeur LCP passe alors à l'état STC=5 (fig. 7B) pour envoyer le maillon de descripteur D/L au système 10. Puis les niveaux logiques flottants créent le niveau LCPADL (niveau d'adresse LCP) lorsque les niveaux d'adresse LCP (0-7), LCPADn sont reçus par la carte de distribution correspondante, pendant la séquence de reconnexion, et le processeur LCP crée un système de porte appelé niveau (GATSYS) pour autoriser le réseau d'arrière-plan. Le niveau LCP connecté
(LCPCON) est envoyé à la carte de distribution 20od pour indiquer que le processeur LCP est connecté.
e) Transfert du maillon de descripteur et maillon de descripteur LPW. A la fig. 7B, à l'état STC = 5, le flip-flop de transmission (XMITF) est mis à l'état et il active le module rouge du processeur LCP. Le processeur LCP transfère le maillon de descripteur D/L et le caractère LPW (précédemment reçus à l'état STC=6) pour les renvoyer au système 10. Le processeur LCP autorise la mise à l'état du registre 24w de caractère LPW à l'état logique 1 et passe de nouveau à l'état STC=8 pour recevoir les données supplémentaires du système 10.
I) Réception de données supplémentaires et code final du système 10. A l'état STC = 8, les actions du processeur LCP qui reçoit la seconde charge tampon des données du système 10 sont les mêmes que celles effectuées pendant la réception de la première charge de tampon, jusqu'au point auquel le code final est reconnu par le bus de terminal 47. Lorsqu'un code final d'au moins une position de caractère (digits CD) d'un mot est placé dans le bus de terminal 47, le niveau de fin de système (SYSEND) est créé. Le niveau SYSEND active l'entrée de données du repère final 25e de la fig. 6C (RAM 18 L) et le bit de repère final (ENDFG) ainsi que le caractère de code final, qui sont tous deux enregistrés dans l'adresse de mémoire intermédiaire courante. Le processeur LCP passe alors à l'état STC 12 pour recevoir un caractère LPW du système 10.
g) Réception d'un caractère LPW et déconnexion par rapport au système 10. A l'état STC = 12 de la fig. 7B, le processeur LCP reçoit le mot de parité longitudinale LPW et le compare au caractère LPW accumulé dans le registre 24w de caractère LPW. Le processeur LCP passe alors à l'état STC= 1, se déconnecte du système 10 et transfère les données restantes ainsi que le code final au terminal périphérique.
h) Transfert des données du code final au terminal périphérique. A l'état STC= 1, les actions de transfert des données restantes vers le terminal périphérique sont les mêmes que celles pendant le transfert de la première charge de mémoire intermédiaire, jusqu'au moment où le code final est reconnu dans le bus de terminal 47. Lorsqu'un code final est placé dans le bus de terminal 47 par la sortie de la mémoire intermédiaire 2500, le code final est transféré et le flip-flop final (ENDF) est émis. Le caractère de vérification de bloc accumulé dans le dispositif BCCR 33 (si un signal BCC a été créé) est alors transféré à l'unité de terminal périphérique 50. Le signal SENDF (flip-flop d'émission) et TRECF (flip-flop de réception de terminal) sont tous deux remis à l'état, si bien que le niveau de fin de terminal (TMCMP) est actif. Le niveau de fin de terminal fait que le processeur LCP commence une demande de connexion sur le système 10.
i) Demande de reconnexion pour l'opération de fin d'écriture. Le processeur LCP demande une reconnexion sur le système en autorisant la mise à l'état du signal LCPRQF (flip-flop de demande LCP). En combinaison avec cette reconnexion, le processeur LCP passe à l'état STC 5 de la fig. 7B, émet un maillon de descripteur D/L pour le système 10, puis passe à l'état STC 7 pour envoyer un descripteur de résultat R/D au système 10.
La description ci-dessus complète les explications du chemin de passage général pour une opération d'inscription au cours de laquelle on transfère plus d'une charge de données de mémoire intermédiaire, et dont l'opération s'est terminée par la réception d'un code final. Cela correspond à la description d'une situation normale. Cependant, il peut également y avoir des chemins de passage alternés et des conditions d'erreur qui peuvent se produire dans les situations suivantes, rapportées à la fig. 7B: les éléments a... c concernent l'action du processeur LCP lorsque des modifications des instructions d'inscription initiales sont faites par le système 10 ou le processeur LCP.
a) Demande d'accès d'urgence au système 10. Pendant le transfert de données du processeur LCP vers le terminal périphérique 50, lorsque la mémoire intermédiaire 2500 LCP est complètement vide, un flip-flop BFXFRF est mis à l'état. Il s'agit du flip-flop de transfert
5
10
15
20
25
30
35
40
45
50
55
60
65
632350
28
de mémoire intermédiaire qui est placé sur la carte de terminal ; ce flip-flop est mis à l'état lorsque la mémoire intermédiaire LCP est chargée de données à partir du terminal ou lorsqu'elle est vide de données pendant le transfert des données en partant du processeur LCP vers le terminal périphérique. Lorsque BFXFRF est mis à l'état, cela autorise la mise à l'état de LCPRQF (flip-flop de demande LCP, qui, lorsqu'il est mis à l'état, indique que le processeur LCP demande l'accès à la mémoire 10m du système principal). La mise à l'état de LCPRQF initie une demande de reconnexion du système 10 pour envoyer les données vers le système principal ou pour obtenir plus de données lorsque la mémoire intermédiaire est vide. Si une reconnexion n'est pas établie avant le moment où le registre de maintien de transmetteur du dispositif UART 31 est prêt à accepter un autre caractère, le processeur LCP crée le niveau de demande d'urgence (EMRREQ). Le niveau EMRREQ est envoyé à la carte de distribution correspondante 20od pour initier une demande d'urgence pour être reconnecté au système.
b) Réception d'un code final ( digits AB). Lorsqu'un code final est identifié dans la première position de caractère (digits AB) du mot du système 10, le signal EDCODE (niveau de fin de code) est alors créé. Ce signal EDCODE est créé sur la carte de commande de terminal lorsqu'un caractère de fin de code est dans les digits A et B du bus de terminal 47. On crée également le signal SYSEND (niveau de code final de système). Lorsque ce signal SYSEND est mis en œuvre, il indique qu'un caractère de fin de code est sur le bus de terminal 47. A l'état STC 8, le niveau EDCODE autorise la mise à l'état du flip-flop de fin de caractère (CHARENF) et le niveau SYSEND crée le dix-huitième bit du niveau de repère final d'inscription (RAM 18 L). Le niveau de repère final d'inscription est créé sur la carte de commande de terminal du niveau EDCODE. Il s'agit du niveau d'entrée de données du repère final RAM de la mémoire intermédiaire 2500 du processeur LCP. Le code final et le signal ENDFG (niveau de repère final créé sur la carte de passage de données sur RAM 18 L; lorsqu'il est actif, ce niveau identifie l'adresse d'un code final dans la mémoire intermédiaire du processeur LCP) sont stockés dans l'adresse de mémoire intermédiaire courante du processeur LCP ; le processeur LCP passe alors à l'état STC= 12 (fig. 7B) pour recevoir un mot de parité longitudinale LPW. A l'état STC = 12, le processeur LCP reçoit un caractère LPW du système 10 et le vérifie par rapport au caractère LPW, accumulé dans le registre 24w. Le processeur LCP passe alors à l'état STC=9 pour initier la diminution de l'adresse de mémoire de système (l'adresse doit être décrémentée par deux digits pour traduire de façon précise l'adresse du code final de la mémoire du système). De l'état STC 9, le processeur LCP passe à l'état STC 1 pour transférer les données et le code final au terminal périphérique 50. A l'état STC 1, la reconnaissance du code final sur le bus de terminal 47 fait que le processeur LCP effectue les mêmes actions que pendant l'opération d'inscription précédente à l'état STC 1, lorsque les données, le code final et les caractères de vérification de bloc ont été transférés au terminal périphérique 50; le processeur LCP se déconnecte du terminal périphérique 50 et se reconnecte sur le système 10 et termine l'opération inscription.
c) Réception du signal de terminaison du système 10. Un signal de terminaison (niveau TERM, fig. 6C, 6E) est envoyé par le système 10 au processeur LCP chaque fois que l'emplacement de mémoire du système destiné aux opérations de processeur LCP est sur le point d'être dépassé. Pendant l'opération inscription, le niveau TERM peut être reçu aux états STC=8, STC = 10 ou STC= 12 (fig. 7B). L'action sur le processeur LCP à la réception du niveau TERM (niveau de terminaison) dépend de l'état de comptage dans lequel le processeur LCP fonctionne et si la réception du niveau TERM est précédée ou non par la réception d'un code final du système dans les conditions suivantes:
1) Réception d'un signal de terminaison avant le code final. Si le niveau TERM est reçu à l'état STC=8 ou STC = 10, le processeur LCP passe à l'état STC= 14. A l'état STC= 14, que le niveau TERM reste actif ou soit maintenant inactif, le processeur LCP passe à l'état STC= 12, reçoit et vérifie un mot de parité longitudinale
LPW, puis passe à l'état STC 7 pour envoyer un descripteur de résultat R/D au système 10. Si un code final est reçu dans les digits CD (dernier caractère) d'un mot à l'état STC=8 ou STC=10, et si le niveau TERM est également reçu, le processeur LCP passe à l'état STC= 14. A l'état STC=14, si le niveau TERM est toujours actif, le code final n'est pas dans la mémoire tampon 2500 du processeur LCP. Le processeur LCP passe alors à l'état STC= 12, reçoit et vérifie un caractère LPW, puis passe à l'état STC 7 pour envoyer un descripteur de résultat R/D au système 10.
2) Réception d'un signal de terminaison après le code final. A la réception d'un code final dans les digits CD d'un mot à l'état STC=8 ou STC= 10, le processeur LCP passe à l'état STC= 12 pour recevoir le caractère LPW. A l'état STC= 12, lorsque le niveau TERM est alors reçu, le code final est transféré à la mémoire intermédiaire 2500 du processeur LCP; le processeur LCP passe alors à l'état STC=1 pour transférer les données restantes et le code final au terminal périphérique 50. A l'état STC = 1, la reconnaissance du code final sur le bus terminal 47 met à l'état l'élément ENDF (flip-flop final: lorsqu'il est mis à l'état, ce flip-flop indique que la section de commande de terminal du processeur LCP a terminé son travail). La mise à l'état de ENDF indique qu'il n'y a plus de données à transférer; après les données, on transfère au terminal périphérique 50 le code final et le caractère de vérification de bloc; le processeur LCP se coupe du terminal 50 et se reconnecte sur le système 10 pour terminer l'opération d'inscription.
Comme décrit ci-après, à l'état STC 1, la reconnaissance du code final sur le bus de terminal 47 met à l'état le signal ENDF (flip-flop final). La mise à l'état de ENDF indique qu'il n'y a plus de données à transférer. Après les données, on transfère au terminal périphérique 50 le code final et le caractère de vérification de bloc et le processeur LCP se reconnecte sur le système 10 pour terminer l'opération inscription.
Si un code final est reçu dans les digits AB d'un mot à l'état STC=8 ou STC= 10, et si le niveau TERM est également reçu, le processeur LCP passe à l'état STC= 14. Dans cet état STC=14, si le niveau TERM est inactif, l'ensemblè du mot contenant le code final du digit AB est transféré à la mémoire intermédiaire 2500 du processeur LCP. Il est nécessaire d'effectuer une correction de l'adresse de mémoire du système. Le processeur LCP passe à l'état STC= 12, reçoit et vérifie le caractère LPW, puis passe à l'état STC=9 pour initier la diminution (décrémentation) de l'adresse de la mémoire du système. Le processeur LCP passe alors à l'état STC = 1 pour transférer les données et le code final au terminal périphérique 50.
Si le niveau TERM est toujours actif à l'état STC= 14, alors on transfère seulement le caractère de code final à la mémoire intermédiaire 2500 du processeur LCP et aucune correction de l'adresse de mémoire du système n'est nécessaire. Le processeur LCP passe à l'état STC =12, reçoit et vérifie le caractère LPW, puis passe directement à l'état STC= 1 pour transférer les données et le code final au terminal périphérique 50.
Conditions d'erreur:
Pendant l'opération inscription, les conditions d'erreur (a, b, c, d) suivantes agissent sur le processeur LCP:
a) Erreur d'accès. Après transmission du niveau EMRREQ à la carte de distribution associée, si le processeur LCP ne reçoit pas de reconnexion sur le système 10 avant que le dispositif UART 31 soit complètement vide, le processeur LCP autorise la mise à l'état du flip-flop d'erreur d'accès (ACCERF). La mise à l'état du signal ACCERF autorisela mise à l'état du signal ENDF (flip-flop final) et le processeur LCP initie une demande de reconnexion pour le système 10, pour terminer l'opération inscription et envoie un descripteur de résultat d'erreur R/D au système 10.
b) Erreur de parité verticale du système. Pendant le transfert d'une donnée du système 10 vers le processeur LCP, si une parité verticale n'est pas en ordre et si le niveau VPAROK n'est pas actif après chaque vérification de parité verticale, le flip-flop d'erreur de
5
10
15
20
25
30
35
40
45
50
55
60
65
29
632350
parité verticale (VPERF) est mis à l'état pour indiquer l'existence d'une erreur de parité verticale. L'absence de niveau VPAROK évite également que le niveau d'accord longitudinal vertical (VLOK) ne soit créé et qu'à l'état STC = 12, le processeur LCP passe à l'état STC=7 et envoie un descripteur de résultat d'erreur R/D au système 10.
c) Erreur de parité longitudinale (fig. 7B). Lorsqu'un mot de parité longitudinale est vérifié après un transfert de données du système 10 vers le processeur LCP, si un niveau d'accord de parité longitudinale (LPOK) n'est pas actif, le flip-flop d'erreur de parité longitudinale (LPERF) est mis à l'état pour indiquer l'existence d'une erreur de parité longitudinale. L'absence de niveau LPWOK (l'accord sur le niveau LPW est créé par la carte de passage des données du bus de terminal 47 ; lorsqu'il est actif, il indique que la section logique du système du processeur LCP a un caractère LPW correct) évite que le niveau VLOK ne soit créé et qu'à l'état STC= 12 le processeur LCP ne passe à l'état STC=7 pour envoyer un descripteur de résultat d'erreur R/D au système 10.
d) Erreur de parité verticale de terminal. Pendant le transfert de données de la mémoire intermédiaire 2500 du processeur LCP vers le dispositif UART 31, si le niveau d'accord de parité verticale (VPAROK) ne reste pas actif pour chaque caractère qui a été transféré, le flip-flop d'erreur de parité verticale de terminal (TVPERF) est mis à l'état pour indiquer l'existence d'une erreur de parité verticale. Lorsque le processeur LCP se reconnecte sur le système 10 et termine l'opération inscription, le descripteur de résultat R/D met le système 10 à l'état STC=7 indiquant l'erreur de parité.
Opération de lecture:
Selon la fig. 7C, on a un tableau logique simplifié montrant l'opération de lecture. L'opération lecture est effectuée de façon générale en combinaison avec une certaine forme d'opération inscription. A titre d'exemple, on suppose qu'une opération inscription s'est achevée et que le terminal périphérique 50 a répondu par un caractère d'accusé de réception (ACK) indiquant que le terminal périphérique 50 peut maintenant envoyer une information. On suppose également qu'il n'y a pas de retard à la réception de la donnée du terminal périphérique 50 et qu'une charge tampon de données sera reçue en étant suivie par une mise en stockage partiel des données contenant un code final. On suppose également que le code final est reçu de façon qu'il soit placé dans la dernière position de caractère (digits CD) d'un mot dans la mémoire intermédiaire 25oo du processeur LCP (fig. 6C).
Passage général: les paragraphes a à 1 suivants décrivent les actions du processeur LCP pendant le transfert des données du terminal périphérique 50 vers le processeur LCP ainsi que du processeur LCP vers le système 10.
a) Déconnexion par rapport au système principal 10. En se référant à la fig. 7C, à l'état STC 6, lorsqu'une instruction lecture est spécifiée dans le descripteur d'ordre C/D du système, le signal READF (flip-flop de lecture prévu sur la carte de passage de données; l'état logique du flip-flop de lecture est commandé par les niveaux de sortie du registre de code OP; la mise à l'état du signal READF indique qu'une opération lecture est effectuée par le système) est mis à l'état. Le processeur LCP autorise la mise à l'état du registre 24w de caractère LPW à la position logique 1, puis passe à l'état STC 1 en se déconnectant du système 10 pour recevoir les données du terminal périphérique 50. Le niveau de sélection A du multiplexeur 24^ (flg. 6D) du bus de terminal (SLARAM) est actif, et les niveaux SLBRAM, SLAIN et SLBIN sont inactifs et forment un chemin pour les données passant du dispositif UART 31 vers la mémoire intermédiaire 2500 du processeur LCP.
b) Réception et stockage de données du terminal périphérique. Selon la fig. 7C, à l'état STC 1, lorsque le signal READF est mis à l'état, le niveau de démarrage de terminal (TERST) est actif. Ce niveau TERST fait que le dispositif UART 31 se vide et autorise la mise à l'état de TERMACTF (flip-flop de terminal actif prévu sur la carte de commande du terminal; l'état logique de ce flip-flop est commandé par TERST, TRECF et SENDF ; la mise à l'état du signal TRM ACTF indique que la section de commande de terminal du processeur LCP a été activée pour l'opération lecture ou inscription) pour la logique de commande du terminal actif. Le signal READF autorise également la mise à l'état du flip-flop de réception de terminal (TRECF) pour permettre la réception des données du terminal périphérique 50. La mémoire tampon 2500 a une adresse préréglée pour la position MADR 255 et, au cas où le flip-flop (EVNF) n'est pas déjà mis à l'état, cette mise à l'état est autorisée pour commencer la commande de l'adressage de la mémoire intermédiaire. Les caractères de données sont transférés en série du terminal périphérique 50 vers le dispositif UART 31 du processeur LCP; le dispositif UART vérifie chaque caractère pour constater que la parité verticale est paire.
b-1) Réception d'un premier caractère et génération de la parité verticale. Lorsque le flip-flop de réception de terminal (TRECF) est mis et que le flip-flop de stockage de données (DATASTF) est remis à l'état initial, la réception du premier caractère rend actif le niveau de réception de données (DR). Le niveau (DR) autorise la mise à l'état du flip-flop UART (RSUARTF) ainsi que le flip-flop d'activité de terminal (TRMBSYF). Le flip-flop pair EVNF est mis à l'état, si bien que l'adresse de la mémoire tampon augmente pour la position 0 MADR. La mise à l'état du flip-flop de stockage de données DATASTF et la remise à l'état initial de EVNF sont alors autorisées en préparation du stockage du premier caractère dans la mémoire intermédiaire. Lorsque RSUARTF est mis, le niveau SLARAM est créé et il place le premier caractère sur les digits AB ainsi que sur les digits CD du bus de terminal 47, en formant ainsi un mot complet. Ce mot ne contient pas de bit de parité. Le contenu du bus de terminal 47 est appliqué au contrôleur/générateur de parité verticale 48 de la fig. 6D. La parité du mot sur le bus de terminal 47 est créée et un flip-flop utilisé pour désigner la parité verticale impaire est mis à l'état ou est remis à l'état initial, pour indiquer la parité, jusqu'à la réception d'un second caractère du terminal périphérique 50.
b-2) Stockage d'un premier caractère dans la mémoire intermédiaire. Lorsque le flip-flop de stockage de données DATASTF est mis à l'état, la remise à l'état initial de EVNF fait que la mémoire intermédiaire rend actif le niveau d'autorisation d'inscription A (ERWA). Le niveau d'autorisation d'inscription du système (WESYS) est également actif et ces deux niveaux donnent l'entrée d'autorisation d'inscription pour les digits AB et CD du réseau de la mémoire intermédiaire. Le premier caractère est alors stocké dans les deux positions de digits AB et CD de la position 0 MADR du registre d'adresse de mémoire 36. Le transfert du premier caractère de UART 31 dans la mémoire intermédiaire 2500 se traduit par la remise à l'état initial du flip-flop UART (RSUARTF). Le niveau de réception de données (DR) est alors rendu inactif; cette opération est suivie par la remise à l'état initial de DATASTF (flip-flop de stockage de données). Cette combinaison d'états logiques prépare le dispositif UART 31 à accepter le second caractère du terminal périphérique 50.
b-3) Réception et stockage du second caractère. Lorsque le second caractère est reçu par le dispositif UART 31, le niveau de réception de données (DR) est de nouveau rendu actif et RSUARTF est mis à l'état. Cette logique de la combinaison avec la remise à l'état du flip-flop pair EVNF interdit toute incrémentation de l'adresse de la mémoire intermédiaire. La mise à l'état du flip-flop de stockage de données DATASTF et la remise à l'état initial du flip-flop pair EVNF sont autorisées en préparation du stockage du second caractère dans la mémoire intermédiaire. Le niveau de sélection A du multiplexeur de bus de terminal SLARAM est toujours actif et ce caractère est placé à la fois dans les digits AB et CD du bus de terminal 47. Le contenu du bus de terminal 47 est de nouveau appliqué au contrôleur/générateur de parité verticale 48. La parité est créée pour le mot du bus de terminal 47 et est comparée à la parité créée pendant la réception du premier caractère. Les résultats de la
5
10
15
20
25
30
35
40
45
50
55
60
65
632350
30
comparaison entraînent la création d'un seul bit de parité pour le premier et le second caractère.
Lorsque le flip-flop de stockage de données DATASTF et le flip-flop pair EVNF sont mis à l'état, le niveau ERWB (niveau d'autorisation d'inscription pour les digits CD de la mémoire intermédiaire du processeur LCP) est créé et le second caractère est stocké dans la dernière position de caractère (digits CD) de la mémoire intermédiaire 2500 à la position d'adresse MADR 0, en surimprimant sur le caractère précédemment inscrit à cet endroit. Le caractère sur les digits AB du bus de terminal 47 n'est pas stocké dans la mémoire intermédiaire 2500, car le niveau ERWA n'est pas actif (ERWA est le niveau d'autorisation d'inscription pour les digits AB de la mémoire intermédiaire du processeur LCP). Un bit de parité du contrôleur/générateur de parité verticale 48 est ajouté au mot complet qui se trouve maintenant dans le registre d'adresse de mémoire à la position MADR 0.
b-4) Réception de caractères supplémentaires et démarrage de l'accumulation du caractère de vérification de bloc (BCC). Le processeur LCP accepte des caractères supplémentaires. A la réception de chaque caractère, l'état logique du flip-flop pair EVNF est complémenté pour commander l'augmentation du registre d'adresse de mémoire 36, de façon à placer les données dans la mémoire intermédiaire 2500 en format de mot. A la réception du caractère démarrage de l'en-tête (démarrage du texte) (SOH/STX) du terminal périphérique 50, le registre de caractère de vérification de bloc 33 de la fig. 6D est autorisé et chaque caractère qui suit le caractère SOH/STX est appliqué au BCCR 33 pour accumuler un caractère de vérification de bloc BCC pour le message en cours de réception. L'accumulation du caractère BCC se poursuit par la réception de la première charge de données de la mémoire intermédiaire et par la réception de charges de données de mémoire intermédiaire successives, jusqu'à la réception du code final (caractère ETX). Les opérations qui se produisent à la réception du code final seront décrites ultérieurement.
c) Mémoire intermédiaire complète. Lorsque la mémoire intermédiaire 2500 du processeur LCP est complètement chargée de données, le flip-flop pair EVNF et le niveau d'adresse de mémoire MADR 252 sont mis, ce qui autorise la mise à l'état du flip-flop de transfert de mémoire intermédiaire (BFXFRF). La mise à l'état de BFXFRF indique que la mémoire intermédiaire 2500 du processeur LCP demande du service et le processeur LCP commence une requête pour la reconnexion sur le système 10.
d) Demande de reconnexion sur le système 10. Après la déconnexion, état STC 1, le processeur LCP commence une requête de reconnexion sur le système en autorisant la mise à l'état du flip-flop de demande LCPRQF du processeur LCP. La mise à l'état du flip-flop d'émission I/O (IOSF) est également autorisée pour conditionner les lignes de données en vue du transfert des données vers le système 10; la mise à l'état de l'adresse de mémoire MADR 253 (flg. 6C) est autorisée pour permettre l'accès au maillon de descripteur D/L. Le processeur LCP passe alors à l'état STC 5 et envoie le maillon de descripteur D/L et le caractère LPW au système 10.
L'expression MADR concerne les niveaux d'adresse de mémoire. Ces niveaux sont créés sur la carte de commande de terminal à partir des sorties du registre d'adresse de mémoire 36. Ces niveaux représentent les positions d'adresse (tableau XI) dans la mémoire intermédiaire 2500 du processeur LCP (fig. 6C) et qui sont prévus comme suit:
TABLEAU XI
Position
Description
251
Avant-dernier mot de données
252
Dernier mot de données
253
Mot d'information du maillon de descripteur
254
Mot d'information du maillon de descripteur
255
Maillon de descripteur LPW.
Lorsque l'un des huit niveaux d'adresse de processeur LCP, à savoir le niveau LCPADn, est reçu de la carte de distribution 20od correspondante pendant la séquence de reconnexion, le niveau d'adresse LCPADL du processeur LCP est actif. Le niveau d'adresse LCPADL est créé sur la carte de commande de terminal lorsque le niveau LCPADn applicable est actif. Le niveau LCPADn crée également le niveau du système de porte GATSYS pour autoriser le réseau d'arrière-plan du processeur LCP. Le niveau de connexion LCPCON du processeur LCP est envoyé à la carte de distribution 20od pour indiquer que le processeur LCP est reconnecté. Le niveau SLAIN est actif et les niveaux SLBIN, SLARAM et SLBRAM sont inactifs, pour permettre au maillon de descripteur D/L d'être transféré au registre de verrouillage 49 (fig. 6D).
e) Transfert du maillon de descripteur D/L et maillon de descripteur LPW. A la fig. 7C, à l'état STC 5, le flip-flop de transmission (XMITF) est mis à l'état. Le flip-flop de transmission est prévu sur la carte logique du système et la mise à l'état indique que le processeur LCP transfère des données vers le système 10, activant ainsi le module lecture du processeur LCP. Le processeur LCP transfère le maillon de descripteur D/L et le mot de parité longitudinale LPW (précédemment reçu à l'état STC 6) pour le renvoyer de nouveau au système 10. Le processeur LCP autorise alors la mise à l'état du registre 24w de caractère LPW à l'état logique 1 et passe à
l'état STC=4 pour transférer les données vers le système 10.
f) Transfert des données vers le système 10. A l'état STC=4 selon la fig. 7C, le flip-flop de transmission XMITF et le flip-flop d'émission I/O IOSF sont toujours mis à l'état à partir de l'opération correspondant à l'état STC=5. Le flip-flop de déclenchement asynchrone (ASYNCF) est mis à l'état pour autoriser le transfert asynchrone des données vers le système 10. Les données sont transférées de la mémoire intermédiaire 2500 du processeur LCP par l'intermédiaire du registre de verrouillage de données 49 (fig. 6D)
vers le système 10 (par l'intermédiaire de l'interface 22si du système selon la fig. 6C). Le transfert se fait avec un mot à la fois (avec, en plus, un bit de parité). Le niveau de déclenchement LCPSTL de processeur LCP accompagne le transfert de chaque mot et, à la réception de chaque mot par le système 10, celui-ci envoie une impulsion de déclenchement pour accuser réception du mot. Chaque mot du bus de terminal 47 (fig. 6D) pour le transfert sur le système 10 est appliqué simultanément au registre de verrouillage 49 et au registre 24w de caractère LPW. Le registre 24w accumule le mot de parité longitudinale LPW pendant le transfert des données. Lorsque l'adresse du dernier mot de données de la mémoire intermédiaire 2500 (MADR 252) du processeur LCP est atteinte, le flip-flop synchrone (SF, qui est chargé sur la carte de commande de terminal et est mis à l'état lorsque le processeur LCP transfère les données vers le terminal périphérique) est mis à l'état, ce qui se traduit par la création d'un niveau synchrone SFL, puis le processeur LCP passe à l'état STC 12 pour envoyer un caractère LPW au système 10.
g) Transmission d'un mot de parité longitudinale vers le système 10. A la fig. 7C, à l'état STC=12, le caractère LPW, accumulé dans le registre 24w pendant l'opération à l'état STC=4, est envoyé au système 10. Le processeur LCP autorise alors la mise à l'état du registre 24w de caractère LPW pour passer au niveau logique 1 et avancer à l'état STC= 1 pour recevoir des données supplémentaires du terminal périphérique 50 (par l'intermédiaire de l'interface de terminal 22di, fig."6C). Après cette opération, le processeur LCP passe à l'état STC=5 et envoie un maillon de descripteur du système principal 10.
h) Réception de données supplémentaires et code final du terminal périphérique. Lors de la seconde entrée à l'état STC 1, un flip-flop de terminal actif (TRMACTF) et un flip-flop de réception de terminal (TRECF) sont tous deux mis à l'état à partir de l'opération précédente à l'état STC 1. Le flip-flop de réception de terminal TRECF se trouve sur la carte de commande de terminal; ce flip-flop est mis à l'état lorsque le processeur LCP reçoit des données du terminal périphérique; le flip-flop de terminal actif TRMACTF est également prévu sur la carte de commande de terminal et, lorsqu'il est à l'état, il indique que la section de commande de terminal du processeur LCP a été active pour une opération de lecture ou s
10
15
20
25
30
35
40
45
50
55
60
65
31
632350
d'inscription. L'adresse de la mémoire intermédiaire du processeur LCP est de nouveau mise au niveau MADR 255 en préparation de la réception des données du terminal périphérique 50. A l'état STC 1, les actions du processeur LCP pendant la réception de la seconde charge de données de la mémoire intermédiaire en provenance du terminal périphérique 50 sont les mêmes que celles effectuées lors de la réception de la première charge de mémoire intermédiaire,
jusqu'au moment de la réception du code final sur le bus de terminal 47.
On suppose que, avant la réception du code final, à l'état STC = 1, on se trouve dans les deux conditions suivantes :
1) EVNF est remis à l'état initial, ce qui indique que le caractère suivant à recevoir sera placé dans la dernière position de caractère (digits CD) d'un mot;
2) les deux signaux RSUARTF (flip-flop UART de remise à l'état initial) et le flip-flop de stockage de données (DATASTF) sont remis à l'état initial. De la réception du caractère de code final, RSUARTF est mis à l'état, ce qui donne le niveau logique nécessaire pour créer le niveau d'autorisation d'inscription (ERW 18) pour le code final RAM. La réception d'un code final est reconnue par le processeur LCP lorsque le caractère est sur le bus de terminal 47. La reconnaissance du code final entraîne la création du niveau de code final EDCODE qui crée le niveau d'entrée de données (RAM 18 L) pour le code final RAM ; le bit de repère final (ENDFG) est alors stocké à l'adresse correspondante de la mémoire intermédiaire 2500-La mise à l'état EVNF et DATASTF est alors autorisée, ce qui conditionne le processeur LCP à stocker le code final dans la mémoire intermédiaire 2500- Lorsque EVNF est mis à l'état, le niveau ERWB est actif (niveau d'autorisation d'inscription pour les digits CD) et le caractère est stocké dans la dernière position de caractère de la même adresse de mot dans laquelle est stocké le niveau de repère final ENDFG.
i) Vérification du caractère BCC et demande de reconnexion pour le système 10. Lorsque DATASTF est mis à l'état, le niveau EDCODE autorise la mise à l'état du flip-flop final (ENDF). Le processeur LCP reçoit alors un caractère de vérification de bloc (BCC) du terminal périphérique 50 et contrôle celui-ci par rapport au caractère BCC accumulé dans le registre de caractère de vérification de bloc 33. La mise à l'état du flip-flop final ENDF entraîne la remise à l'état initial du flip-flop de réception de terminal TRECF et l'activation du niveau correspondant à un terminal complet (TMCMP), et la fin des actions de la section de contrôle de terminal du processeur LCP. Le processeur LCP commence alors une demande de reconnexion sur le système et passe de l'état STC 1 à l'état STC 5 pour envoyer le maillon de descripteur D/L au système 10.
j) Transfert du maillon de descripteur D/L et maillon de descripteur LPW. Comme dans la reconnexion précédente sur le système, à l'état STC 5, le processeur LCP envoie le maillon de descripteur D/L et le caractère LPW au système, puis passe à l'état STC 4 (lecture) pour transférer les données vers le système 10.
k) Transfert des données vers le système 10. A l'état STC 4, les actions du processeur LCP sont les mêmes que celles décrites précédemment pour l'état STC 4, jusqu'à ce que le mot contenant le caractère de code final soit placé sur le bus de transfert pour être transféré au système 10. La reconnaissance du code final fait que le niveau final du système (SYSEND) est créé et le processeur LCP passe à l'état STC =12 pour envoyer un caractère LPW au système 10.
1) Transmission d'un caractère LPW et descripteur de résultat R/D vers le système 10. Le processeur LCP envoie le caractère LPW accumulé dans le registre 24w vers le système 10. Après l'envoi du caractère LPW, comme le niveau complet de terminaison (TMCMP) est maintenant actif, indiquant qu'il n'y a plus d'autres données à transférer, le processeur LCP passe à l'état STC=7 pour envoyer un descripteur de résultat R/D au système 10.
A l'état STC=7, le processeur LCP envoie un descripteur de résultat R/D au système 10, puis passe à l'état STC= 15 (fig. 7D),
puis envoie un caractère LPW et revient librement à l'état STC=3 pour attendre d'autres instructions du système 10.
La description ci-dessus concerne le chemin général pour une opération lecture au cours de laquelle plus d'une charge de données de mémoire intermédiaire a été transférée d'un périphérique au système principal, et dont le fonctionnement a été terminé par la réception d'un code final.
Cependant, lors d'une opération lecture, on peut avoir d'autres situations qui créent des variantes de chemins logiques et le traitement d'éventuelles conditions d'erreur. Les sections suivantes a à d indiquent l'effet du processeur LCP lorsqu'on modifie les instructions lecture initiales, soit par le système 10, soit par le processeur LCP:
a) Réception d'un niveau de fin de temps. Selon la fig. 7E, à l'état 1, lorsque le fonctionnement de l'horloge à 1 s n'est pas interdit et qu'une donnée est reçue par le processeur LCP en provenance du terminal périphérique 50, si l'émission de données est interrompue pendant une période de 1 s, il en résulte la création d'un niveau de fin de temps (TIMOUTL). Lorsque le niveau TIMOUTL est actif, le flip-flop final (ENDF) est mis à l'état et le niveau de terminaison complète (TMCMP) est créé. Une demande de reconnexion est créée pour le système 10 et le processeur LCP passe à l'état STC 5. A cet état STC 5, lorsque le flip-flop finale (ENDF) est mis à l'état, l'opération de lecture se termine et le processeur LCP passe à l'état STC 7 pour envoyer un descripteur de résultat R/D au système 10. Lorsque le processeur LCP est à l'état STC 3, il peut également recevoir un niveau de fin de temps comme représenté à la fig. 7E, à l'état STC = 3 état libre.
b) Transmission toujours en attente en provenance du terminal périphérique. A la fig. 7E, à l'état STC = 1, lorsque le processeur LCP est conditionné de façon à recevoir les données du terminal périphérique 50, si aucune donnée n'est reçue dans ces conditions, le processeur LCP passe immédiatement à l'état STC=3 pour être en condition de recevoir une instruction de suppression conditionnelle du système 10. Le processeur LCP revient alors de l'état STC = 3 à l'état STC= 1 lorsque la transmission des données commence.
c) Demande de reconnexion d'urgence. Pendant le transfert des données du terminal périphérique 50 vers le processeur LCP, lorsque la mémoire intermédiaire 2500 est complètement pleine, un flip-flop de transfert de mémoire intermédiaire (BFXFRF) est mis à l'état, et cela initie une demande de reconnexion sur le système 10 pour stocker des données (le flip-flop de transfert intermédiaire BFXFRF est mis à l'état lorsque la mémoire intermédiaire 2500 du processeur LCP est remplie de données en provenance du terminal périphérique 50 ou lorsqu'elle a été vidée pendant le transfert des données en provenance du processeur LCP vers le terminal périphérique). Si une reconnexion n'est pas réalisée avant que le dispositif UART 31 reçoive un autre caractère, le circuit crée un niveau de demande d'urgence (EMRREQ). Le niveau EMRREQ est envoyé à la carte de distribution 20ocj correspondante pour commencer une demande d'urgence de reconnexion sur le système 10.
d) Réception d'un code final ( digits AB). Les actions du processeur LCP concernant la réception d'un code final, qui est placé sur les digits AB (premier caractère) d'un mot, sont plus modifiées que celles concernant la réception d'un code final destiné à être placé dans les digits CD d'un mot. Cette condition existe du fait de la transmission du terminal périphérique qui peut être composé de données et suivi par un code final ou encore par le code final lui-même. De plus, la diminution (décrémentation) de l'adresse de mémoire du système peut ou non être demandée lors du stockage du code final, pour traduire la position précise du code final dans la mémoire 10m du système. Les actions suivantes du processeur LCP correspondant aux diverses conditions seront décrites ci-après dans les paragraphes dl et d2.
dl) Réception du code final suivant des données. Si le code final suit une série de caractères de données et est reçu sur le bus de terminal 47 lorsque le flip-flop pair (EVNF) est mis à l'état, le caractère, lorsqu'il est stocké, est placé dans la position de digits AB d'un mot de la mémoire intermédiaire 2500 du processeur LCP.
5
10
15
20
25
30
35
40
45
50
55
60
65
632350
32
Lorsque le caractère est reçu, le niveau de code final (EDCODE) est créé, si bien que la mémoire RAM 18 L (niveau de repère final d'inscription) est active et le niveau de repère final (ENDFG) est stocké dans l'adresse de la mémoire intermédiaire courante. Le niveau de code final (EDCODE) est créé sur la carte de commande de terminal lorsqu'un caractère de code final est contenu dans les digits A et B du bus de terminal 47. Le niveau de repère final ENDFG est créé sur la carte de passage de données de la mémoire RAM 18 L et, lorsque ce niveau est actif, il identifie l'adresse d'un code final dans la mémoire intermédiaire 2500 du processeur LCP. Le niveau de repère final d'inscription (RAM 18 L) est le niveau d'entrée de données de la mémoire RAM de repère final de la mémoire intermédiaire 2500 du processeur LCP. La mise à l'état du flip-flop pair (EVNF) fait alors passer l'adresse de la mémoire intermédiaire à l'adresse de mot suivante. La mise à l'état du flip-flop de stockage de données (DATSTF) et l'opération de complément sur le flip-flop pair (EVNF) sont alors autorisées. Lorsque le flip-flop EVNF est remis à l'état initial, le niveau d'autorisation A d'inscription (ERWA) est créé et le code final est stocké dans les digits AB de l'adresse de mémoire intermédiaire, en suivant celle du stockage du niveau de repère final (ENDFG). Le processeur LCP commence alors une demande de reconnexion sur le système pour transférer les données et le code final au système 10.
Pendant le transfert final des données de la mémoire intermédiaire 250o du processeur LCP vers le système 10 à l'état STC 4, un code final contenu dans les digits AB d'un mot sera reconnu lorsque le niveau ENDFG (niveau de repère final) est actif et que le niveau de code final du système (SYSEND) est inactif. Cette combinaison logique indique que le mot suivant à transférer contient un code final dans les digits AB. A la fig. 7E, le processeur LCP passe à l'état STC= 14 pour transférer un seul caractère. A l'état STC= 14, la mise à l'état du flip-flop de commande de transfert de mot (WTCF) est autorisée de façon inconditionnelle. La mise à l'état du flip-flop de transfert de caractère (CTSF) est autorisée pour indiquer que l'on se trouve à l'état de transfert de caractère. Le code final est stocké dans la mémoire 10m du système et le processeur LCP passe d'abord à l'état STC= 12 pour envoyer un mot de parité longitudinale LPW au système 10, puis à l'état STC=7 pour envoyer un descripteur de résultat R/D au système 10.
d2) Réception du code final seul. Comme à la fig. 7E, à l'état STC = 1, si la transmission du terminal périphérique 50 est un seul caractère (code final), ce caractère sera reçu sur le bus de terminal 47, le flip-flop pair EVNF étant mis à l'état; ce signal sera placé dans la position de digits AB d'un mot de la mémoire intermédiaire 2500 du processeur LCP. Le caractère est stocké et le processeur LCP commence une demande de reconnexion sur le système pour transférer le caractère comme le montre le troisième bloc de la fig. 7E à l'état STC=5. Le système passe à l'état STC=4 et, lorsque le niveau de code final (EDCODE) est actif, la mise à l'état du flip-flop de fin de caractère (CHARENF) est autorisée. Le caractère est transféré au système 10 (état STC= 14) et le processeur LCP passe à l'état STC = 12 pour envoyer un mot de parité longitudinale LPW au système 10. A l'état STC= 12, l'état CHARENF (flip-flop de fin de caractère) fait passer le processeur LCP directement à l'état STC=9 pour initier la diminution de l'adresse de mémoire 10m du système.
Puis le processeur LCP passe à l'état STC=7 pour envoyer un descripteur de résultat R/D au système 10.
e) Réception d'un signal de terminaison du système. Un signal de terminaison (niveau TERM) est envoyé du système au processeur LCP pendant une opération de lecture, chaque fois que de l'emplacement de mémoire est disponible, pour indiquer que l'opération du processeur LCP est dépassée. Pendant une opération de lecture, le niveau TERM peut être reçu (fig. 7E) aux états STC=4, STC = 14 ou STC= 12. Les actions du processeur LCP à la réception du niveau TERM dépendent de l'état de comptage dans lequel le processeur LCP travaille lorsqu'il reçoit le niveau TERM et comment ou non la réception du niveau TERM est traitée par la réception d'un caractère de code final du terminal périphérique 50. Dans ces conditions, les actions du processeur LCP sont examinées dans les paragraphes el et e2 suivants.
el) Réception d'un signal de terminaison avant la réception d'un code final. Si le processeur LCP reçoit le niveau TERM (signal de terminaison) du système avant qu'il n'ait eu un temps suffisant pour recevoir et stocker un code final, le processeur LCP fonctionne comme suit:
el (a) La réception du niveau TERM pendant que le processeur LCP transfère des données vers le système à l'état STC=4met à l'état le flip-flop de terminaison (TERMF) et le processeur LCP passe à l'état STC =12. Un mot de parité longitudinale LPW est envoyé au système 10 et la mise à l'état du niveau de terminaison (TERMF) fait que le processeur LCP termine l'opération de lecture et passe à l'état STC=7 pour envoyer un descripteur de résultat R/D au système 10.
el (b) A la fig. 7E, le processeur LCP passe de l'état STC=4 à l'état STC = 12 après transfert d'un mot contenant un code final dans les digits CD pour le système 10. Si le niveau TERM est alors reçu à l'état STC = 12, la mise à l'état du flip-flop de commande de transfert de mot (WTCF) est autorisée et le processeur LCP reste à l'état STC= 12 pour un temps de déclenchement supplémentaire. Si, pendant le second temps de déclenchement, le niveau TERM est toujours actif, cela indique que le code final n'a pas été transféré. La mise à l'état du niveau TERMF (flip-flop de terminaison) est autorisée et le processeur LCP passe à l'état STC=7 pour envoyer un descripteur de résultat R/D au système 10.
el (c) Le processeur LCP passe de l'état STC=4 à l'état STC= 12 si le dernier mot de la mémoire intermédiaire 2500 a été transféré. Le niveau TERM est alors reçu à l'état STC= 12, et le processeur LCP reste à l'état STC= 12 pour un temps de déclenchement supplémentaire. Le flip-flop de commande de transfert de mot (WTCF) est mis à l'état et, quel que soit l'état logique du niveau TERM pendant le second temps de déclenchement, le processeur LCP termine l'opération de lecture et passe à l'état STC=7 pour envoyer un descripteur de résultat R/D au système 10.
el (d) Le processeur LCP est à l'état STC= 14, si le dernier mot de données transféré à l'état STC=4 doit être suivi par un code final dans les digits AB du mot suivant. Si le niveau de terminaison TERM est alors reçu à l'état STC = 14, le code final n'est pas stocké et le processeur LCP passe à l'état STC= 12; il envoie un caractère LPW au système, puis passe à l'état STC=7 pour envoyer un descripteur de résultat R/D au système 10.
e2) Réception d'un signal de terminaison après la réception du code final. Si le processeur LCP reçoit le niveau de terminaison (TERM) du système 10 après avoir reçu un code final du terminal périphérique 50, le processeur LCP agit comme indiqué aux paragraphes e2 (a), e2 (b), e2 (c).
e2 (a) A la fig. 7E, le processeur LCP passe de l'état STÇ=4 à l'état STC = 12 après avoir transféré un mot contenant un code final dans les digits CD vers le système 10. Si le niveau TERM est alors reçu à l'état STC = 12, la mise à l'état du flip-flop de commande de transfert de mot (WTCF) est autorisée et le processeur LCP reste à l'état STC = 12 pour un temps de déclenchement supplémentaire. Si, pendant le second temps de déclenchement, le niveau TERM n'est plus actif, cela indique que le code final a été transféré. Le processeur LCP passe alors à l'état STC=7 et envoie un descripteur de résultat R/D au système 10.
e2 (b) Le processeur LCP passe de l'état STC=4 à l'état STC = 14 si le dernier mot transféré à l'état STC=4 doit être suivi par un code final dans les digits AB d'un mot. Si le processeur LCP passe à l'état STC= 14 sans recevoir de niveau TERM, le code final est transféré au système 10 et le processeur LCP passe à l'état STC= 12 pour envoyer un mot de parité longitudinale LPW. Si le niveau TERM est maintenant reçu à l'état STC= 12, le processeur LCP n'effectue aucune opération lors de la réception, mais passe à l'état STC=7 pour envoyer un descripteur de résultat R/D au système 10.
e2 (c) Si la transmission du terminal périphérique 50 est un seul caractère (code final), si le processeur LCP est à l'état STC=4, il s
10
15
20
25
30
35
40
45
50
55
60
65
autorise la mise à l'état du flip-flop de fin de caractère (CHARENF) et passe à l'état STC= 12 pour envoyer un mot de parité longitudinale LPW. A l'état STC = 12, si le niveau TERM est maintenant reçu, le processeur LCP reste à l'état STC = 12 pour un temps de déclenchement supplémentaire. Si, pendant le second temps de déclenchement, le niveau TERM est toujours actif, cela indique que seulement la première moitié du mot contenant le code final a été transférée et l'adresse de mémoire du système n'a pas été augmentée pour passer à l'adresse de mot suivante. Le processeur LCP passe à l'état STC=7 pour envoyer un descripteur de résultat R/D au système 10. Si le niveau TERM est inactif pendant le second temps de déclenchement, cela indique que l'adresse de mémoire du système a été augmentée et est passée à l'adresse de mot suivante, nécessitant ainsi une diminution. La mise à l'état du flip-flop de fin de caractère (CHARENF) et l'état inactif au niveau de terminaison (TERM) fait que le processeur LCP passe à l'état STC=9 et commence à diminuer l'adresse de mémoire du système. Partant de l'état STC=9, le processeur LCP passe à l'état STC=7 et envoie un descripteur de résultat R/D au système 10.
Conditions d'erreur. Pendant le déroulement d'une opération lecture, certaines conditions d'erreur peuvent se produire auxquelles le processeur LCP réagit comme suit:
a) Erreur d'accès. Après transmission du niveau de demande d'urgence (EMRREQ), si le processeur LCP n'a pas eu de reconnexion sur le système 10 avant la réception d'un second caractère dans le dispositif UART 31, le dispositif UART 31 crée un niveau d'erreur de dépassement (OE). Le niveau OE autorise le flip-flop d'erreur d'accès (ACCERF) et le flip-flop final (ENDF). Le processeur LCP initie alors une demande de reconnexion sur le système 10 pour terminer l'opération de lecture et envoyer un descripteur de résultat d'erreur R/D au système 10.
b) Erreur de parité verticale de terminal. Pendant le transfert de données du dispositif UART 31 à la mémoire intermédiaire 2500 du processeur LCP, si le niveau d'erreur de parité (PE) est créé par le dispositif UART 31, le flip-flop d'erreur de parité verticale de terminal (TVPERF) est mis en œuvre pour indiquer l'existence d'une erreur de parité verticale. Ce flip-flop TVPERF présente un état logique qui est commandé par le signal de sortie du contrôleur/générateur de parité verticale 48 du processeur LCP ou par la sortie d'erreur de parité du dispositif UART 31 (fig. 6D). La mise à l'état du flip-flop indique qu'une erreur de parité verticale s'est produite pendant le transfert des données entre le processeur LCP et le terminal périphérique 50. Ce flip-flop est placé sur la carte de contrôle de terminal.
c) Erreur de caractère de vérification de bloc. Pendant le transfert de données (flg. 6D) du dispositif UART 31 vers la mémoire intermédiaire 250o du processeur LCP, si le niveau d'accord de caractère de vérification de bloc (BCCOK) n'est pas actif après la vérification d'un caractère de vérification de bloc, le flip-flop d'erreur de caractère de vérification de bloc (BCCERF) est mis à l'état et indique l'existence d'une erreur de caractère de vérification de bloc. Le niveau BCCOK est fourni par le décodeur 34 du registre de caractère de vérification de bloc 33 à la fig. 6D.
Opération inscription-lecture:
Cette opération est essentiellement une opération d'inscription suivie par une opération de lecture. En principe, la description précédente concernant l'opération d'inscription et l'opération de lecture selon les fig. 7B et 7C est applicable dans ce cas. La réception d'un descripteur d'ordre C/D de l'opération passage d'inscription à la lecture dans le code OP et les registres de variante 42 et 43 (fig. 6D) assure l'initiation d'une opération inscription et la création d'un niveau FLIP (niveau de basculement). Les données sont transférées du système 10 au terminal périphérique 50 pendant la partie inscription de l'opération. Lorsqu'un code final est reconnu sur le bus de terminal 47 pendant un transfert de données du processeur LCP vers le terminal périphérique 40 à l'état STC = 1, le circuit crée le niveau de code final (EDCODE). Le niveau EDCODE autorise la mise à l'état du flip-flop final (ENDF) indiquant que le transfert de
33 632 350
données est achevé. La mise à l'état du flip-flop final (ENDF) et la création du niveau FLIP autorisent la mise à l'état du flip-flop de lecture (READF), du flip-flop de réception de terminal (TRECF) et le flip-flop pair (EVNF), la remise à l'état initial du flip-flop 5 d'inscription (WRITF), du flip-flop d'activité de terminal (TRMBSYF) et le préréglage de l'adresse de mémoire intermédiaire à l'état MADR 255. Du fait de ces opérations, le processeur LCP est conditionné et peut recevoir les données du terminal périphérique 50 sans être reconnecté sur le système 10 pour recevoir d'instructions io supplémentaires.
Pour initier la partie lecture de l'opération basculement de lecture, le processeur LCP ne se reconnecte pas sur le système 10. Comme à la flg. 7E, le processeur LCP passe de l'état STC= 1 à l'état STC = 3 pour attendre une transmission du terminal périphérique 50. 15 La réception du premier caractère en provenance du terminal périphérique 50 rend actif le niveau DR (réception de données) du dispositif UART 31 et autorise la mise à l'état du flip-flop UART (RSUARTF) et du flip-flop d'activité de terminal (TRMBSYF). La mise à l'état du flip-flop d'activité de terminal fait que le processeur 20 LCP revient à l'état STC=1 pour recevoir la donnée. L'opération lecture se poursuit jusqu'à l'achèvement, en étant soumise aux mêmes conditions que celles indiquées précédemment pour une opération usuelle de lecture.
Opération de test:
25 L'opération de test permet au système 10 de déterminer l'état de fonctionnement du processeur LCP sans demander un échange de données avec la mémoire 10m du système. Un flip-flop de test (TESTF) est prévu sur la carte de passage de données. L'état logique de ce flip-flop est commandé par les niveaux de sortie du registre 42 30 de code OP (fig. 6D). La mise à l'état indique qu'une instruction de test a été reçue par le système 10. A la fig. 7E, à l'état STC =11, lorsque le flip-flop de test (TESTF) est mis à l'état, le processeur LCP n'a pas de demande pour passer à l'état STC = 6 et recevoir un maillon de descripteur D/L. Il passe, au lieu de cela, à l'état STC=7 35 pour retourner à un descripteur de résultat R/D au système 10. De l'état STC=7, le processeur LCP passe à l'état STC = 15, puis à l'état STC=3 (état libre), dans lequel il reste jusqu'à la réception d'un autre descripteur d'ordre C/D. Dans les conditions normales, le descripteur de résultat R/D envoyé au système 10 pour une opération 40 de test présente des zéros à toutes les positions de bits. Le système 10 constate alors que le processeur LCP est opérationnel.
La réception d'un descripteur d'ordre C/D contenant une instruction autorisation de test conditionne le processeur LCP de façon que le terminal périphérique 50 puisse commencer une communication 45 avec le système 10. Le terminal périphérique 50 commence une demande de communication en envoyant un caractère d'enquête (ENQ) au processeur LCP. A la réception du caractère d'enquête (ENQ) l'opération autorisation de test se termine et le système commence une opération lecture pour recevoir les données du so terminal périphérique 50. Si le terminal envoie tout autre caractère à l'exception d'un caractère d'enquête ENQ, le caractère ne sera pas reconnu et le processeur LCP ne prend aucune mesure. L'opération autorisation de test se déroule comme suit (voir fig. 7E):
A l'état STC=3, à la réception d'une instruction autorisation de 55 test, le flip-flop numéro 3 du registre de variante (VAR3F) est mis à l'état. L'expression VAR(1-4)F représente 4 niveaux de registre de variante. Ces niveaux sont créés par la carte de passage de données, par les sorties du registre de variante 43 (fig. 6D). L'état logique de ces niveaux dépend de la valeur numérique contenue dans le digit de «> variante 1 du descripteur d'ordre C/D. La mise à l'état de VAR3F interdit la mise à l'état du flip-flop de test (TESTF) mais permet la mise à l'état du flip-flop de lecture (READF). Le processeur LCP passe à l'état STC = 11 pour recevoir le descripteur d'ordre du mot de parité longitudinale LPW du système 10, puis il passe à l'état STC=6 65 pour recevoir le maillon de descripteur D/L du système. A l'état STC=6, comme le flip-flop lecture (READF) est mis à l'état, le processeur LCP se déconnecte du système 10 et passe à l'état STC= 1 pour recevoir un caractère d'enquête (ENQ) du terminal périphéri
632350
34
que 50. A l'état STC=1, à moins qu'un caractère d'enquête (ENQ) soit reçu immédiatement, le processeur LCP passe à l'état STC=3 pour attendre la transmission du terminal périphérique 50. Lorsque le terminal périphérique transmet, le flip-flop d'activité de terminal (TRMBSYF) est mis à l'état, si bien que le processeur LCP passe à l'état STC= 1 pour recevoir le caractère d'enquête (ENQ). Lorsque le caractère ENQ est reçu, la mise à l'état du niveau de registre de variante VAR3F interdit au processeur LCP de passer à l'état STC=4; elle interdit également le transfert du caractère au système 10. Au lieu de cela, le processeur LCP passe à l'état STC—1 et retourne un descripteur de résultat R/D pour indiquer au système 10 que l'opération d'autorisation de test est achevée.
Opération de suppression conditionnelle:
L'opération de suppression conditionnelle permet au système 10 de supprimer un descripteur d'ordre C/D envoyé précédemment et contenant une opération lecture. Selon la fig. 7E, lorsque le processeur LCP a commencé une opération lecture ou lecture/passage/ins-cription, mais que le transfert de données prévu, en provenance du terminal périphérique 50, n'est pas en cours, le processeur LCP reste à l'état STC=3 en attendant une instruction possible de suppression conditionnelle. S'il reçoit alors une instruction de suppression conditionnelle, l'opération lecture est supprimée et le flip-flop de suppression (CANCF) est mis à l'état. Cette suppression ne sera pas effectuée avant que le processeur LCP ne soit à l'état STC=3. Le processeur LCP passe alors à l'état STC = 11 pour recevoir un mot de parité longitudinale LPW du descripteur d'ordre en provenance du système 10. La mise à l'état du flip-flop de suppression CANCF interdit au processeur LCP de passer à l'état STC=6. Au lieu de cela, le processeur LCP passe à l'état STC=7 pour retourner un descripteur de résultat R/D au système 10, indiquant que l'opération de suppression conditionnelle est achevée.
Opération écho:
L'opération écho est une aide à l'entretien, pour rechercher des incidents dans le processeur LCP. Cette opération commence par l'opération inscription dans laquelle la donnée est transférée de la mémoire 10ra du système vers la mémoire intermédiaire 2500 du processeur LCP. Cette opération est suivie par une opération lecture, au cours de laquelle la même donnée est transférée en retour à la mémoire 10m du système. On suppose par exemple que moins d'une charge de données d'une mémoire intermédiaire complète sera transférée et que l'opération se termine par la réception d'un code final dans au moins une position de caractère d'un mot; comme l'opération écho est essentiellement une opération d'inscription suivie par une opération de lecture, la description suivante concerne seulement les actions du processeur LCP qui sont propres à cette opération écho (les opérations lecture et inscription ont été examinées précédemment en relation avec les fig. 7B et 7C). Selon la fig. 7E à l'état STC=6, et lorsque le flip-flop écho (ÉCHOF) est mis à l'état le processeur LCP passe à l'état STC=8 et accepte les données du système 10. En commençant à l'état STC=8, le processeur LCP fonctionne comme décrit précédemment pendant une opération inscription normale, jusqu'au moment où le processeur LCP reçoit un code final, puis passe à l'état STC= 12. A l'état STC= 12, bien qu'aucune donnée ne soit transférée du processeur LCP au terminal périphérique 50, le processeur LCP se coupe du système 10 en passant momentanément par STC = 1. S'il est connecté à l'état STC = 1, le processeur LCP initie une demande de reconnexion pour le système 10 en autorisant la mise à l'état du flip-flop de demande LCP (LCPRQF) du flip-flop d'envoi I/O (IOSF) et en préréglant l'adresse de mémoire intermédiaire à l'état MADR 253. Le processeur LCP passe alors à l'état STC=5 et envoie le maillon de descripteur D/L au système 10. A l'état STC=5, le processeur LCP transfère le maillon de descripteur D/L au système 10. La mise à l'état du flip-flop d'écho (ÉCHOF) ramène alors le processeur LCP à l'état STC=4 pour retourner les données de la mémoire intermédiaire 2500 à la mémoire 10m du système. En commençant à l'état STC=4, la donnée est transférée du processeur LCP au système 10. Les actions à effectuer par le processeur LCP sont celles précédemment décrites pendant une opération normale de lecture, jusqu'au moment où le processeur LCP identifie un code final sur le bus de terminal 47, puis passe à l'état STC=12. A l'état STC= 12, l'opération lecture est terminée et la mise à l'état du flip-flop d'écho (ÉCHOF) fait que le processeur LCP passe à l'état STC=7 et retourne un descripteur de résultat R/D au système 10.
Retour du descripteur de résultat R/D:
La fig. 7D est un schéma logique simplifié concernant le retour du descripteur de résultat R/D. Le processeur LCP passe à l'état STC=7 pour retourner un descripteur de résultat R/D au système 10 dans n'importe laquelle des conditions suivantes a, b, c, d:
a. A l'état STC=12 ou STC=9, lorsqu'une opération lecture ou écho est terminéee.
b. A l'état STC=5, lorsqu'une opération inscription est achevée.
c. A l'état STC= 11, lorsque l'une quelconque des conditions suivantes se produit:
cl ) Erreur de descripteur.
c2) Une opération de test est exécutée comme précisé par le descripteur d'ordre C/D.
c3) Le flip-flop de suppression conditionnelle (CANCF) est mis à l'état.
d. A l'état STC=6, si une erreur de parité longitudinale ou verticale s'est produite.
A l'état STC=7, si le flip-flop de transmission (XMITF) n'est pas mis à l'état, il est mis en œuvre à ce moment-là pour activer le module de lecture du processeur LCP. Le niveau de sélection A du multiplexeur de bus de terminal (SLARAM) et le niveau de sélection B du multiplexeur de bus de terminal (SLBRAL) sont tous deux actifs, ce qui permet au réseau du multiplexeur de bus de terminal (24x2, flg. 6D) de choisir un mot formé des niveaux de descripteur de résultat pour la transmission au système 10. Lorsque le mot de descripteur de résultat est placé dans les circuits de verrouillage de données, il est également appliqué au registre 24w de caractère LPW pour créer un caractère LPW pour le transfert de descripteur de résultat. Le processeur LCP passe alors à l'état STC= 15 et envoie le descripteur R/D du caractère LPW au système 10.
A l'état STC= 15, le niveau de sélection A de multiplexeur de bus de terminal (SLARAM) est inactif et le niveau de sélection B de multiplexeur de bus de terminal (SLBRAM) est actif, ce qui permet au circuit de multiplexeur de bus de terminal (24x2, fig. 6D) de choisir les sorties du registre 24w pour la transmission au système 10. (Le niveau SLBRAM est utilisé en combinaison avec le niveau SLARAM pour choisir l'une des quatre entrées du multiplexeur de bus de terminal.) Ces niveaux sont créés sur la carte logique du système à partir des signaux de sortie du décodeur STC=54 de la fig. 6D. Le processeur LCP transfère le caractère LPW, remet les niveaux logiques choisis à l'état initial et passe à l'état STC=3. Le processeur LCP reste à l'état STC=3 jusqu'à la réception d'un autre descripteur d'ordre C/D.
En résumé, le processeur LCP fonctionne suivant deux modes: le mode hors ligne et le mode en ligne.
Mode hors ligne:
Le fonctionnement de la combinaison processeur LCP/ terminal périphérique en mode hors ligne sert à l'entretien. Dans chaque domaine, on peut effectuer de multiples opérations pour vérifier la situation du processeur LCP ou simplement pour rechercher les défauts. Ces opérations peuvent se faire sans mettre en œuvre normalement les autres processeurs LCP du même module de base.
Mode en ligne:
En résumé, les deux opérations de base commandées par le processeur LCP en mode en ligne sont :
1) l'opération d'inscription au cours de laquelle une donnée est reçue du système par le processeur LCP; cette donnée est transférée au terminai périphérique;
2) une opération de lecture au cours de laquelle une donnée est reçue du terminal périphérique par le processeur LCP et est transférée à la mémoire 10m du système.
5
10
15
20
25
30
35
40
45
50
55
60
65
35
632350
En plus de ces deux opérations de base, le processeur LCP peut passer d'une opération inscription à une opération lecture par une simple instruction; il peut également effectuer des opérations de test choisies. Les points suivants représentent les opérations caractéristiques que le processeur LCP peut effectuer à l'aide d'un programme d'instruction du système principal 10. Cela est réalisé par les descripteurs d'ordre (C/D); un résumé de ces opérations est donné dans le tableau XII.
Tableau XII
a. Inscription e. Test d'autorisation b. Lecture f. Suppression conditionnelle c. Lecture passage inscription g. Echo d. Test
Descripteurs d'ordre:
Les descripteurs d'ordre (C/D) sont des instructions du système principal 10 pour le processeur LCP et qui concernent certaines opérations à effectuer. Les éléments suivants résument les descripteurs d'ordre associés à chacune des instructions (tableau XII) du système principal 10:
a) Inscription:
Le descripteur d'ordre inscription est une instruction pour transférer les données de la mémoire 10m du système à un terminal périphérique choisi, par exemple le terminal périphérique 50. Le processeur LCP accepte la donnée du système 10 jusqu'à ce que la mémoire intermédiaire 2500 du processeur LCP soit par exemple complète ou jusqu'à ce que le transfert de données soit arrêté par la réception d'un code final ou d'un signal de terminaison du système principal 10. Si la mémoire intermédiaire 2500 du processeur LCP est complète en cas de réception du code final, le processeur LCP transfère le contenu de la mémoire intermédiaire 2500 au terminal périphérique 50. Le descripteur d'ordre inscription est identifié comme indiqué dans le tableau XIII.
Tableau XIII: (inscription CjD)
Lignes de données
Valeur numérique
A8
0 ï
A4
1 |
A2
0 > Digit OP
Al
0 J
B8
0 Ì
B4
0 j
B2
0 f Digit de variante 1
Bl
0 J
b) Lecture:
Le descripteur d'ordre lecture est une instruction pour transférer des données du terminal périphérique concerné tel que le terminal 50 par l'intermédiaire de la mémoire 10m du système. Le processeur LCP accepte d'abord les données du terminal périphérique 50 jusqu'à ce que la mémoire intermédiaire 2500 du processeur LCP soit complète ou jusqu'à ce que le transfert de données soit arrêté par la réception d'un code final du terminal périphérique. Lorsque la mémoire intermédiaire 2500 du processeur LCP est complète (ou à la réception du code final), le processeur LCP transfère le contenu de la mémoire intermédiaire 2500 par la mémoire 10m du système à moins que le système principal 10 n'envoie un signal de terminaison pour arrêter l'opération de lecture puisqu'il n'y a plus d'emplacement de mémoire disponible pour stocker des données supplémentaires. Si, après l'initiation d'une opération lecture, le processeur LCP ne reçoit pas de données pour une période correspondant à 1 s, le processeur LCP décompte le temps et envoie un descripteur de résultat R/D au système principal 10. L'intervalle de temps de 1 s peut être interdit par la mise à l'état d'un bit (Bl) du digit de variante 1 du descripteur d'ordre égal à 1. Le tableau XIV correspond à l'opération lecture C/D.
Tableau XIV: (lecture CjD)
Lignes de données
Valeur numérique
A8
1
•)
A4
0
(
A2
0
r Digit OP
Al
0
J
B8
0
"1
B4
0
1
B2
0
r Digit variant
Bl voir note
J
(Si Bl est égal à 1, la période de décomptage de 1 s attribuée à un terminal pour répondre est interdite.)
c) Passage inscription-lecture:
Le descripteur d'ordre passage inscription-lecture est une instruction pour le processeur LCP, qui doit effectuer une opération d'inscription et, immédiatement après cette opération, une opération de lecture sans aucune intervention du système principal 10. La donnée est acceptée en provenance du système principal 10 et est transférée au terminal périphérique jusqu'à la réception d'un code final. A la réception du code final du système principal 10, le processeur LCP transfère le code final au terminal périphérique, puis passe en mode lecture. Le processeur LCP accepte alors les données du terminal périphérique et les transfère à la mémoire 10m du système jusqu'à la réception d'un code final en provenance des terminaux périphériques ou jusqu'à l'envoi d'un signal de terminaison en provenance du système principal 10. Si, après le début de la partie de lecture de cette opération, le processeur LCP ne reçoit pas de données pendant une période de 1 s, le processeur LCP décompte le temps et envoie un descripteur de résultat (R/D) au système principal 10. Il est évident que l'intervalle de temps de 1 s peut être interdit le cas échéant en mettant le bit Bl du digit de variante 1 du descripteur d'ordre à l'état 1. Le tableau XV correspond au descripteur d'ordre passage inscription-lecture.
Tableau XV: (passage inscription-lecture C/D)
Lignes de données
Valeur numérique
A8
0
A4
1
1
A2
0
)" Digit OP
Al
0
J
B8
1
B4
0
1
B2
0
f Digit variant
Bl voir note
J
(Si Bl est égal à 1, la période de décomptage de temps de 1 s attribuée au terminal pour répondre est interdite.)
d) Test:
Le descripteur d'ordre test est une instruction pour le processeur LCP afin de lui indiquer son état de fonctionnement en retournant un descripteur de résultat R/D au système principal 10. Si le processeur LCP est présent et disponible, le descripteur de résultat est formé de 0. Le tableau XVI concerne le descripteur d'ordre de test.
Tableau XVI: (test CjD)
Lignes de données
Valeur numérique
A8
0 ")
A4
0 1
A2
1 >• Digit OP
Al
0 J
B8
0 "Ì
B4
0 Ì
B2
0 f Digit de variante 1
Bl
0 J
5
10
15
20
25
30
35
40
45
50
55
60
65
632350
36
e) Test d'autorisation:
Le descripteur d'ordre test d'autorisation est une instruction pour le processeur LCP pour contrôler les données d'entrée provenant du terminal périphérique; à la réception d'un caractère d'enquête (ENQ), le processeur forme et transmet un descripteur de résultat R/D au système 10. Cette instruction est utilisée pour permettre au terminal périphérique d'initier une communication avec le système principal 10. Le tableau XVII montre ce descripteur d'ordre.
Tableau XVII: (autorisation de test C/D)
Tableau XVIII: (suppression conditionnelle CjD)
Lignes de données
Valeur numérique
A8
0 1
A4
0 (
A2
j r Digit OP
Al o J
B8
0 Ì
B4
1 l •
B2
0 r Digit variant
Bl voir note
Lignes de données
Valeur numérique
A8
0 1
A4
0 1
A2
j > Digit OP
Al
0 J
B8
1 1
B4
0 I
B2
0 r Digit de variante 1
Bl
0 J
(Si Bl est égal à 1, la période de décomptage de 1 s attribuée au terminal pour répondre est interdite.)
f) Suppression conditionnelle:
Le descripteur d'ordre suppression conditionnelle est une instruction envoyée au processeur LCP pour commencer la suppression d'un autre descripteur d'ordre dans certaines conditions. Lorsque le descripteur d'ordre de suppression conditionnelle est reçu par le processeur LCP, et si la donnée n'est pas reçue du terminal périphérique pendant la partie applicable d'une opération de lecture, alors le descripteur d'ordre précédent sera supprimé. Ce descripteur C/D est représenté dans le tableau XVIII.
g) Echo:
Le descripteur d'ordre écho est une instruction pour le processeur LCP pour accepter une mémoire intermédiaire complète de données (ou moins) du système principal 10 et à les retourner au système principal 10 pour être stockées. Cela constitue une vérification d'entretien et un cycle de diagnostic de recherche d'incidents pour le fonctionnement système-LCP. Le tableau XIX représente ce descripteur d'ordre écho.
Tableau XIX: (écho C/D)
30
Lignes de données
Valeur numérique
A8
0 Ì
A4
0 (
A2
q > Digit OP
Al i 3
B8
0 Ì
B4
0 1
B2
q r Digit de variante 1
Bl
0 3
23 feuilles dessins

Claims (5)

632 350 REVENDICATIONS
1. Ensemble de traitement de données comprenant plusieurs terminaux périphériques éloignés, chaque terminal périphérique étant relié à son propre contrôleur périphérique spécifique (20oo à 20O7), caractérisé en ce que plusieurs de ces contrôleurs périphériques sont organisés en groupes désignés comme modules de base, tels que chaque module de base présente son propre bus d'interface (15) de niveau message le reliant par une interface principale (10t) désigné comme traducteur entrée/sortie, à une unité principale centrale (10), présentant un processeur principal (10p) et une mémoire principale (10m) et en ce que le traducteur entrée/sortie (10t) comporte des moyens pour connecter et déconnecter les contrôleurs périphériques, sélectionnés, avec la mémoire principale sans interrompre le processeur principal ainsi que des moyens pour formuler des ordres de transfert de données entrée/sortie et pour former un maillon de descripteur identifiant chaque ordre de transfert de données pour chaque contrôleur périphérique particulier, un contrôleur périphérique de traitement (20oo) dans cet ensemble comprenant:
a) des moyens (24xl, 23r, 28r) pour recevoir des données d'information et des données d'instruction de son terminal périphérique (50) et de l'unité principale (10);
b) une mémoire tampon (250o) pour stocker temporairement les données d'information et les données d'instruction, la mémoire tampon comprenant:
b 1 ) un espace mémoire (25a, 25b) pour le stockage d'au moins un bloc de message complet;
b2) un espace mémoire (25c) pour le stockage d'un mot d'instruction reçu de l'unité principale;
b3) un espace mémoire (25d) pour le stockage du maillon de descripteur propre au contrôleur périphérique;
c) un moyen logique pour l'exécution de données d'instruction reçues de l'unité principale;
d) des moyens registres (53) et décodeurs (54) pour développer des signaux d'état commandant la séquence d'instruction devant être développée par le contrôleur périphérique conformément à une séquence prédéterminée et pour convoyer à l'unité principale (10) des signaux représentant les étapes complétées dans l'exécution des données d'instruction;
e) des moyens de débit logique pour fournir un signal d'information aux moyens registres et décodeurs, lesdits moyens de débit logique détectant chaque étape opérationnelle dans l'exécution d'une instruction et convoyant les signaux détectés aux moyens registres (53) et décodeurs (54).
2. Ensemble conforme à la revendication 1, caractérisé en ce qu'il comporte un contrôleur périphérique pourvu:
— de moyens (22di) pour interchanger les données avec son terminal périphérique à la vitesse de traitement autorisée par ce terminal périphérique tandis que le contrôleur périphérique est déconnecté de l'unité principale et connecté au terminal périphérique (50);
— de moyens (21 sî) pour interchanger indépendamment les données avec l'unité principale à la vitesse de traitement autorisée par la mémoire principale tandis que le contrôleur périphérique est déconnecté du terminal périphérique (50) et connecté à l'unité principale (10).
3. Ensemble conforme à la revendication 1, caractérisé en ce que le contrôleur périphérique de traitement (20oo) comprend:
— des moyens (24XI, 24X2,47,2500) pour convoyer un mot instruction reçu de l'unité principale au moyen logique pour l'exécution sans autre attention de l'unité principale (10), et
— des moyens (34,44,51,48) pour produire des signaux descripteurs de résultat à transmettre à l'unité principale (10) quand le mot instruction a été complètement exécuté, ces moyens comprenant une logique descripteur de résultat (24rd) répondant à un caractère de fin de bloc de message transmis quand chaque bloc est complet.
4. Ensemble conforme à la revendication 3, caractérisé en ce qu'il comporte un contrôleur périphérique (20oo) pourvu en outre de moyens (22di; 21si) répondant aux signaux provenant de l'unité principale, aux signaux provenant du terminal périphérique, et aux signaux produits par le contrôleur périphérique lui-même pour détecter une exécution incomplète d'un mot d'instruction ou un transfert incomplet de données et pour signaler ce fait à l'unité principale.
5. Ensemble conforme à la revendication 3, caractérisé en ce que la mémoire tampon (2500) du contrôleur périphérique comprend un espace mémoire (25r) pour le stockage d'un mot descripteur de résultat produit par la logique descripteur de résultat (24rd) pour le transfert ultérieur à l'unité principale (10).
CH1201077A 1976-09-30 1977-09-30 Data processing assembly CH632350A5 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US72845876A 1976-09-30 1976-09-30

Publications (1)

Publication Number Publication Date
CH632350A5 true CH632350A5 (en) 1982-09-30

Family

ID=24926936

Family Applications (1)

Application Number Title Priority Date Filing Date
CH1201077A CH632350A5 (en) 1976-09-30 1977-09-30 Data processing assembly

Country Status (6)

Country Link
JP (1) JPS594045B2 (fr)
BE (1) BE859169A (fr)
CA (1) CA1112324A (fr)
CH (1) CH632350A5 (fr)
FR (1) FR2371730A1 (fr)
GB (1) GB1574470A (fr)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6067633A (ja) * 1983-09-20 1985-04-18 Katsusato Fujiyoshi 焼結貴金属およびその製造方法
JPS6112189U (ja) * 1984-06-27 1986-01-24 一衛 松田 移動及び簡易型火災警報装置
JPS6133136U (ja) * 1984-07-30 1986-02-28 俊博 土居 フアンクシヨンキ−の機能表示カ−ド
JPS6177053U (fr) * 1984-10-24 1986-05-23
JPS61120295A (ja) * 1984-11-16 1986-06-07 日本鋼管工事株式会社 防災システム用制御装置
JPH0645836B2 (ja) * 1990-03-05 1994-06-15 株式会社トーキン TiPd系形状記憶合金
JPH089747B2 (ja) * 1990-04-03 1996-01-31 株式会社トーヤマ貴金属 生体用機能合金

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3702462A (en) * 1967-10-26 1972-11-07 Delaware Sds Inc Computer input-output system
US3833930A (en) * 1973-01-12 1974-09-03 Burroughs Corp Input/output system for a microprogram digital computer

Also Published As

Publication number Publication date
JPS594045B2 (ja) 1984-01-27
FR2371730B1 (fr) 1984-08-10
BE859169A (fr) 1978-01-16
GB1574470A (en) 1980-09-10
CA1112324A (fr) 1981-11-10
JPS5343443A (en) 1978-04-19
FR2371730A1 (fr) 1978-06-16

Similar Documents

Publication Publication Date Title
FR2458957A1 (fr) Concentrateur teleinformatique pour reseau de transmission et de commutation de donnees par paquets
EP0349371B1 (fr) Système informatique à interconnexion centrale
FR2472234A1 (fr) Protocoles de communication geres par les modules de communication utilises dans un systeme de traitement de donnees reparti
FR2547082A1 (fr) Systeme de traitement par multiprocesseurs
BE897030A (fr) Montage pour installation de telecommunication,en particulier central telephonique avec deux calculateurs au moins pour la commande alternee des operations de commutation
CH616251A5 (fr)
EP0048781B1 (fr) Adaptateur de lignes de communication destiné à un contrôleur de communications
FR2476349A1 (fr) Systeme de traitement de donnees reparti
FR2546354A1 (fr) Circuit d'interface de canal de commande dans un systeme de telecommunication
EP0005722A1 (fr) Système de sélection de circuit d'interface prioritaire
FR2737030A1 (fr) Procede de transfert de messages dans un systeme informatique multinodal
FR2657482A1 (fr) Methode et systeme de lissage et de controle de debits de communications temporelles asynchrones.
CA2006831C (fr) Systeme d'emission de trames hdlc sur canal de type mic, a circuit hdlc unique et memoire tampon de transposition
FR2712411A1 (fr) Système de communication avec un réseau incluant un ensemble d'administration.
EP0102434A1 (fr) Dispositif pour signaler à l'unité de commande centrale d'un équipement de traitement de données, les erreurs se produisant dans les adaptateurs
CH632350A5 (en) Data processing assembly
CA2250999A1 (fr) Dispositif d'echange entre unites de traitement d'informations a processeurs interconnectes par un bus commun
EP0344035B1 (fr) Réseau de transmission d'informations numériques entre plusieurs stations
EP0129487A1 (fr) Installation de calcul à commutation automatique de périphériques et périphérique propre à de telles commutations
CA1073546A (fr) Systeme d'articulation et de gestion pour central de telecommunications
EP2278466A1 (fr) Dispositif et procédé pour l'exécution distribuée de traitements de données numériques
FR2650412A1 (fr) Dispositif passerelle de connexion d'un bus d'ordinateur a un reseau fibre optique en forme d'anneau
JPS5994155A (ja) 端末ファイルの保守方式
BE1003811A3 (fr) Systeme de test integre pour test de conformite de systemes de communication.
FR2766937A1 (fr) Protocole et systeme de liaison par bus entre elements d'un microcontroleur

Legal Events

Date Code Title Description
PFA Name/firm changed

Owner name: BURROUGHS CORPORATION (A DELAWARE CORPORATION)

PUE Assignment

Owner name: BURROUGHS DELAWARE INCORPORATED (A DELAWARE CORPOR

PL Patent ceased