Brevet FR2674045A1 — publié le 19920918

La présente invention concerne en général les circuits d'interface pour bus d'ordinateurs Plus particulièrement, elle concerne un circuit d'interface, pour relier un bus d'une multitude sélectionnée de bus différents d'un ordinateur à un bus d'interface d'un petit système informatique (IPSI) Le circuit convient bien à une mise en oeuvre sur une seule puce Des tampons doubles, Premier Entré-Premier Sorti (PEPS), sont utilisés pour fournir un circuit qui supporte tant le mode asynchrone que le mode synchrone. L'Interface du Petit Système Informatique (IPSI) est un bus d'entrée/sortie parallèle qu'on utilise souvent pour connecter à un bus d'ordinateur des unités de disques, des mémoires mortes CD, des dispositifs d'entraînement de bandes magnétiques, et autres périphériques Le bus IPSI est un bus multi- maître, bidirectionnel, qui peut tenir compte des communications d'égal à égal parmi de multiples unités centrales de traitement et de multiples périphériques A cause de cette souplesse, le bus IPSI devient de plus en plus important dans le domaine des micro-ordinateurs. Il y a plusieurs architectures courantes de micro-ordinateurs actuellement utilisées, et pour leur majeure partie, ces architectures ne sont pas compatibles les unes avec le autres Par exemple, les ordinateurs PC XT et AT d'IBM, et ce qu'on appelle leurs compatibles, utilisent un bus d'ordinateur qu'on appelle maintenant en général architecture standard de l'industrie (ISA en américain) Certains micro- ordinateurs plus récents d'IBM de la famille PS/2 utilisent un bus différent appelé architecture à micro- canal (MCA en américain) L'architecture à micro-canal n'est généralement pas compatible par fiche avec l'architecture standard antérieure de l'industrie Cela a provoqué certains problèmes dans l'industrie des périphériques d'ordinateurs, car les constructeurs qui veulent supporter deux lignes de produits doivent concevoir des circuits différents pour les deux architectures Cela augmente considérablement le coût du développement et du support des produits périphériques. Pour l'ingénieur qui désire concevoir une interface IPSI dans un produit devant être utilisé par l'intermédiaire de la famille des microordinateurs IBM, il n'y a traditionnellement aucune solution facile. L'architecture standard de l'industrie et l'architecture micro-canal sont suffisamment différentes pour qu'on n'ait pu jusqu'ici concevoir un produit pouvant être utilisé sur les deux Beaucoup de temps d'ingénierie a été consacré à la mise au point des matériels, et ce temps se reflète dans le coût du produit Ce dont on a eu besoin jusqu'ici, et qui n'a pas été encore mis à disposition, est un contrôleur IPSI simple, facile à utiliser et bon marché, qui puisse être facilement configuré pour travailler soit avec l'architecture standard de l'industrie, soit avec l'architecture micro- canal. La présente invention met en oeuvre une puce IPSI multifonctionnelle complète pou emploi soit avec l'architecture ISA soit avec l'architecture MCA Les principes peuvent être également utilisés pour étendre le circuit IPSI à des architectures additionnelles telles que l'Architecture Standard Etendue de l'Industrie (Extended Industry Standard Architecture en américain) Dans ce mode de réalisation ayant actuellement la préférence, les seules exigences externes concernent le décodage des adresses aux bits d'adresses d'ordre élevé de la mémoire, un oscillateur approprié et une mémoire statique externe à accès direct (RAM) La mémoire RAM statique est de préférence une RAM statique 8 Kx 8 qu'on emploie pour mettre en oeuvre le tampon principal PEPS du contrôleur IPSI En utilisant la technologie dont on dispose actuellement, le tampon principal PEPS externe est plus facile à fabriquer sous forme d'un composant séparé, par opposition à son intégration avec le reste de la puce IPSI Cependant, avec les améliorations apportées à la technologie de la 3 2674045 fabrication des puces et avec des économies appropriées d'échelle, l'ensemble de la puce IPSI comprenant le tampon PEPS principal pourrait être fabriqué sous forme d'une seule puce. Le contrôleur IPSI de la présente invention supporte des protocoles asynchrones et synchrones en conformité avec la spécification IPSI appelée spécification SCSI-II proposée par l'American National Standards Institute (ANSI) et décrite en outre dans le projet X 3 131-198 x; X 3, 503-D préparé par le Technical Committee X 3 T 9 du Comité accrédité des Standard sur les interfaces E/S, X 3-Information Processing Systems. Le circuit comprend l'ensemble des circuits logiques pour le traitement des arbitrages des bus IPSI, la génération automatique des messages d'établissement des liaisons pour accusé de réception, les interruptions sur la commande IPSI/signaux de données, les interruptions sur le signal de sélection IPSI, l'interruption sur le signal complet d'arbitrage et l'interruption sur le signal de remise à l'état initial IPSI Le circuit fournit une mise en mémoire tampon Premier Entré-Premier Sorti des données avec une génération des interruptions basée sur les niveaux de plénitude PEPS. Le circuit comprend un générateur d'adresses et des commandes de base de temps pour la mémoire à accès direct statique externe 8 Kx 8 utilisée pour mettre en oeuvre le tampon PEPS principal qui supporte les opérations du dispositif IPSI synchrones et asynchrones à haute vitesse Le trajet des données PEPS est mappé E/S sur le bus des données à 16 bits de l'ordinateur principal Cela permet des transferts des données à haute vitesse entre le bus de l'ordinateur et le tampon PEPS principal L'information sur les ordres IPSI, l'état des puces, les paramètres d'établissement et les trajets des données sont mappés en E/S. La mise en oeuvre actuellement préférée pour les puces supporte un espace BIOS ROM de 7936 4 2674045 (décimales), l FOO (hex) multiplets La logique interne des puces comprend une capacité de validation de mémoire morte programmable effaçable ainsi que la mise en tampon et l'enclenchement des données Une mémoire interne de 256 x 8 multiplets de mémoire RAM statique mappée en mémoire est fournie pour emploi par le logiciel BIOS ROM pour stockage variable, les registres de zones de travail etc. Dans l'un de ses aspects, l'invention comprend une interface d'installation informatique pour connexion entre un bus IPSI d'entrée/sortie et un type sélectionné d'au moins deux types différents d'architectures de bus pour ordinateur principal. L'interface de la présente invention est donc utile pour l'interconnexion d'un ordinateur principal avec un dispositif périphérique Le dispositif comprend un bus interne de données, un premier moyen d'interface pour accoupler le bus IPSI au bus interne de données interne et un second moyen d'interface pour accoupler le bus de l'ordinateur principal au bus interne de données Des moyens de déclenchement logiques pour commande sont prévus pour amener des données transmises entre le bus IPSI et le premier moyen d'interface à communiquer avec le bus interne de données Ce moyen de déclenchement a en outre pour effet que les données transmises entre le bus de l'ordinateur et le second moyen d'interface communiquent avec le bus interne de données. Des moyens logiques de génération de signaux de commande sont prévus pour couplage au bus de l'ordinateur principal Ces moyens logiques comportent une première partie destinée à engendrer des signaux de commande d'un premier type, correspondant à un ordinateur principal d'un premier type Ces moyens logiques comprennent en outre une seconde partie destinée à engendrer des signaux de commande d'un second type, correspondant à un ordinateur principal d'un second type Un moyen constitué par l'utilisateur est prévu pour sélectivement valider l'un et invalider l'autre des première et seconde parties de la logique de génération des signaux de commande. De préférence, le moyen constitué par l'utilisateur définit au moins un premier état et un second état, chacun correspondant à des types différents de l'architecture du bus de l'ordinateur principal Le moyen constitué par l'utilisateur peut être placé sélectivement dans l'un ou l'autre des deux états par une configuration prédéfinie du matériel Dans le mode de réalisation ayant actuellement la préférence, un fil conducteur externe, ou borne, est prévu à cet effet. Lorsque cette borne est placée à un premier état logique, il y a configuration de la puce du contrôleur IPSI en dispositif ISA compatible, alors que la soumission de la borne à un second état logique a pour effet de configurer la puce en dispositif compatible MCA. Dans un autre aspect, l'invention comprend une interface d'installation informatique pour montage entre un bus prédéfini de l'ordinateur principal et un bus IPSI d'entrée/sortie, pour l'interconnexion d'un ordinateur avec un dispositif périphérique Le dispositif comprend un bus interne de données auquel est accouplé un tampon PEPS principal Un premier moyen d'interface est prévu pour accoupler le bus IPSI au bus interne de données et un second moyen d'interface pour accoupler le bus de l'ordinateur principal au bus interne de données Des moyens de déclenchement logiques de commande sont prévus pour faire en sorte que les données communiquées entre le bus IPSI et le premier moyen d'interface circulent sur le bus interne de données et circulent en outre entre le bus interne de données et le tampon PEPS principal Des moyens de surveillance sont prévus afin de surveiller la quantité des données dans le tampon PEPS principal et pour générer une information pour placement sur le bus de l'ordinateur principal comme indication de la plénitude du tampon PEPS principal. 6 2674045 Le moyen de surveillance engendre de préférence une donnée de comptage qui indique la quantité de la donnée stockée dans le tampon PEPS principal et peut également comprendre un moyen pour générer un signal d'interruption pour placement sur le bus de l'ordinateur principal dans le cas o la quantité de la donnée stockée dans le tampon PEPS principal atteint un niveau prédéfini De cette façon, le logiciel opérant sur l'ordinateur principal peut accéder à la donnée de comptage afin de déterminer la taille correcte du bloc de données devant être envoyé ou reçu Le signal d'interruption peut servir de sentinelle automatique pour alerter l'ordinateur principal lorsqu'il existe certaines conditions prédéfinies de plénitude (ou de vide) dans le tampon PEPS principal. Dans le mode de réalisation ayant actuellement la préférence, la première interface comprend un tampon PEPS d'entrée/sortie qui peut comporter son propre moyen pour surveiller la plénitude. En fonction du mode de fonctionnement choisi par l'utilisateur, la communication des données entre le bus de l'ordinateur principal et le bus IPSI peut appeler tant le tampon PEPS principal que le tampon PEPS d'entrée/sortie, le tampon PEPS principal seulement, ou aucun des tampons. Le contrôleur IPSI de la présente invention est donc très souple et bien adapté pour emploi dans une vaste variété d'applications IPSI Le mécanisme de sélection de l'architecture de l'ordinateur pouvant être constituée par l'utilisateur simplifie grandement la conception du circuit de l'interface IPSI, car l'ingénieur peut maintenant concevoir les périphériques tant ISA que MCA en utilisant la même puce IPSI multi- fonctions La conception du matériel est facilitée car l'ingénieur est en mesure d'appliquer la familiarité acquise dans le développement d'une interface IPSI ISA à une interface IPSI MCA, et vice-versa La conception du logiciel est également facilitée car la puce IPSI multi- 7 2674045 fonctions fournit une interface matérielle/logicielle relativement transparente La tâche des ingénieurs de logiciel est ainsi grandement facilitée car le logiciel du système d'exploitation peut être écrit avec un minimum de soucis quant à l'architecture de l'ordinateur qui est en place. La présente invention sera bien comprise lors de la description suivante faite en liaison avec les dessins ci-joints dans lesquels: La figure 1 est un diagramme fonctionnel sous forme de blocs de la présente invention, donnant une vue d'ensemble du système; La figure 2 est un schéma fonctionnel plus détaillé de la présente invention; La figure 3 décrit un mode de réalisation d'une puce, indiquant la désignation des broches; La figure 4 est un schéma d'un circuit diviseur d'horloge 40 M Hz; La figure 5 est un schéma de la logique d'arbitrage interne; La figure 6 est un schéma de la logique de décodage de base des adresses; La figure 7 est un schéma du déclenchement tampon DIO/données de lecture; La figure 8 est un schéma du déclenchement logique CHRDY/données de lecture; La figure 9 est un schéma du générateur d'adresses PEPS; La figure 10 est un schéma du registre de commande PEPS et des horloges PEPS; La figure 11 est un schéma du compteur de données PEPS; La figure 12 est un schéma des sorties de commande IPSI; La figure 13 est un schéma du registre de commande IPSI et de décodage des adresses de port; La figure 14 est un schéma de la commande de circulation IPSI asynchrone; 8 2674045 La figure 15 est un schéma du registre d'identification ID (multiplet haut) et d'un tampon d'extension; La figure 16 est un schéma du registre ID (multiplet bas); La figure 17 est un schéma des registres de commande du mode IPSI et de rebouclage; La figure 18 est un schéma du trajet des données IPSI synchrones et du contrôleur de parité; La figure 19 est un schéma du trajet des données IPSI asynchrones, de l'arbitrage et du générateur de parité; La figure 20 est un schéma des circuits d'attaque de sortie des données IPSI; La figure 21 est un schéma du compteur de demandes synchrones; La figure 22 est un schéma de l'accusé de réception IPSI synchrone; La figure 23 est un schéma du registre des interruptions PEPS et de commande des interruptions; La figure 24 est un schéma des interruptions; La figure 25 est un schéma du déclenchement des données IPSI; La figure 26 est un schéma de la commande de la circulation IPSI synchrone; La figure 27 est un schéma de l'accusé de réception IPSI; La figure 28 est un schéma des tampons de remise à l'état initial et d'entrée d'adresses; La figure 29 est un schéma des tampons des bus de données et d'une mémoire RAM interne; La figure 30 est un schéma de l'interface des adresses et de commande; La figure 31 est un schéma du décodage P 52/AT; La figure 32 est un schéma du décodage pour la sélection de la puce; 9 2674045 La figure 33 est un schéma de la sélection des interruptions; La figure 34 est un schéma de l'entrée/sortie d'établissement P 52; La figure 35 est un schéma d'un autre mode de réalisation de l'entrée/sortie d'établissement P 52; La figure 36 est un schéma du registre des masques d'interruption du port 9; La figure 37 est un schéma de la génération des adresses basses PEPS; La figure 38 est un schéma de la génération des adresses hautes PEPS; La figure 39 est un schéma du compteur de données PEPS; La figure 40 est un schéma des drapeaux d'état PEPS d'entrée; La figure 41 est un schéma du séquenceur de charge PEPS d'entrée; La figure 42 est un schéma du séquenceur de décharge PEPS d'entrée; La figure 43 est un schéma des registres 0-3 PEPS d'entrée; La figure 44 est un schéma des registres 4-7 PEPS d'entrée; La figure 45 est un schéma des registres 8- 11 PEPS d'entrée; La figure 46 est un schéma des registres 12- PEPS d'entrée; La figure 47 est un schéma des drapeaux d'état PEPS de sortie; La figure 48 est un schéma du séquenceur de charge PEPS de sortie; La figure 49 est un schéma du séquenceur de décharge PEPS de sortie; La figure 50 est un schéma des registres 0-3 PEPS de sortie; La figure 51 est un schéma des registres 4-7 PEPS de sortie; La figure 52 est un schéma des registres 8- 11 PEPS de sortie; et La figure 53 est un schéma des registres 12- PEPS de sortie. On procédera maintenant à la description du mode de réalisation préféré de l'invention et tout d'abord à une vue d'ensemble du système général. En liaison avec la figure 1, on décrit le contrôleur IPSI par un schéma fonctionnel sous forme de blocs qui permettra de comprendre les diagrammes plus détaillés qui suivent Le circuit du contrôleur IPSI, représenté dans ses grandes lignes par la référence 102, est destiné à une interconnexion entre le bus de l'ordinateur principal, représenté dans ses grandes lignes par la référence 104, et le bus IPSI, représenté dans ses grandes lignes par la référence 106 A titre de commodité, on a divisé le bus de l'ordinateur principal dans les composants suivants: bus principal de données 108, commande 110 du bus principal et interruption principale 112 De même, le bus IPSI est illustré comme comprenant: un bus 114 de données IPSI et un bus 116 de commande IPSI Le circuit 102 du contrôleur IPSI comporte un bus interne 118 de données. Le bus principal de données 108 est connecté au bus interne de données 118 par l'intermédiaire d'un tampon 120 Le bus de données IPSI 114 est de même équipé d'un tampon de données 122 Ce tampon est accouplé au bus interne 118 de données par l'intermédiaire de deux trajets alternés, un port 124 de données IPSI et un tampon Premier Entré-Premier Sorti d'entrée/sortie, ou PEPS E/S 126 Ce tampon est commandé par la logique 128 de commande de la circulation des données Cette logique est à son tour commandée par la logique 130 de commande IPSI, qui répond aux signaux présents sur le bus 116 de commande IPSI Dans le mode de réalisation ayant actuellement la préférence, le tampon PEPS 126 est un tampon de 16 multiplets pour traiter le décalage ou le temps d'attente pouvant se produire pendant les transferts des données synchrones. Dans le mode synchrone, il y a une négociation qui a lieu avant la transmission des données, durée pendant laquelle la cadence de transfert et le décalage sont établis Le décalage de 16 permet une file d'attente atteignant 16 demandes de données sans qu'il soit nécessaire d'accuser réception La capacité du tampon PEPS E/S 126 doit être suffisante pour tenir compte du décalage maximum permis Bien qu'on emploie dans le présent mode de réalisation un tampon PEPS de 16 multiplets, des capacités PEPS différentes sont possibles et envisagées par la présente invention. Le circuit du contrôleur IPSI comprend aussi un tampon principal PEPS 132, qui est accouplé au bus interne de données par l'intermédiaire d'un circuit 134 de support et de commande PEPS Dans le mode de réalisation ayant actuellement la préférence, le tampon principal PEPS est un tampon de 8 Kx 8 bits qui peut être mis en oeuvre en utilisant une mémoire à accès direct statique Comme on l'illustrera en outre, le volume du circuit du contrôleur IPSI de la présente invention peut être fabriqué comme une seule micro-puce Dans sa forme ayant actuellement la préférence, le tampon PEPS principal 132 est conditionné séparément du reste de l'ensemble des circuits de la micro-puce afin de réduire les coûts On trouve facilement des puces de mémoire à accès direct 8 Kx 8 bits et celles-ci sont actuellement plus économiques que la fabrication d'un seul circuit de contrôleur IPSI avec une mémoire RAM suffisante à bord pour accepter le tampon principal PEPS Naturellement, des perfectionnements apportés à la technologie de fabrication des puces ou des économies d'échelle pourraient rendre souhaitable l'incorporation du tampon principal PEPS dans le reste du circuit dans un seul boîtier de puce En outre, alors qu'un tampon principal PEPS 8 Kx 8 bits est actuellement employé, on peut utiliser des capacités de stockage et des largeurs de 12 2674045 données différentes (par exemple 16 bits ou plus) pour satisfaire les besoins futurs en matière de circuits. Le circuit comprend un compteur de données PEPS 136 qui est accouplé à la logique 128 de commande de la circulation des données ainsi qu'au bus interne de données 118 Ce compteur surveille la plénitude du tampon principal PEPS 132 et fournit une valeur numérique représentative de cette plénitude à laquelle l'ordinateur principal peut accéder pour déterminer la taille appropriée des blocs pour les transferts des données Le compteur est accouplé à la logique d'interruption 138 et donc en mesure d'envoyer une interruption à l'ordinateur principal sur son bus principal d'interruptions. La logique d'interruption est capable de supporter les protocoles d'interruption tant MCA que ISA Cette possibilité est décrite schématiquement par les références 138 a et 138 b Le circuit comprend aussi une logique de commande 140, accouplée au bus interne de données et aussi aux lignes 110 de commande du bus principal La logique de commande est également configurée avec une partie 140 a pour l'interface avec l'architecture MCA et avec une seconde partie 140 b pour l'interface avec l'architecture ISA. Une broche de sélection de mode sur le mode de réalisation à une puce fournit un moyen constitué par l'utilisateur pour configurer la puce sous forme soit d'un dispositif MCA soit d'un dispositif ISA Cette broche, désignée par la référence 142 dans la figure 1, est accouplée tant à la logique d'interruption 138 qu'à la logique de commande 140. La puce IPSI multifonctions du mode de réalisation ayant actuellement la préférence, communique avec des cibles IPSI utilisant le même protocole d'interface de l'installation informatique (IPSI), mettant en oeuvre un arbitrage, les protocoles de déconnexions/resélection et asynchrones, synchrones et synchrones rapides Les fonctions suivantes de mémorisation et E/S peuvent être exécutées par la puce: Lire mémoire ROM Lire/Ecrire Mémoire Ram Interne de l'Installation PEPS Principale d'Entrée/Sortie Port des Données IPSI d'Entrée/Sortie ( 8 Bits) Information sur la Commande IPSI de Sortie ( 8 Bits) Information sur l'Interruption de Sortie ( 8 Bits) Commande Synchrone IPSI de Sortie ( 8 Bits) Commande de l'Adaptateur de Sortie ( 8 Bits) Registre de rebouclage d'Entrée/Sortie ( 8 Bits) Etat du Bus IPSI d'Entrée ( 8 Bits) Comptage Tampon PEPS Principal d'Entrée ( 16 Bits) ID de l'Adaptateur d'Entrée, bits de poids faible ( 8 Bits) ID de l'Adaptateur d'Entrée, bits de poids fort ( 8 Bits) Masque d'Interruption d'Entrée ( 8 Bits) Sélection de l'Option Entrée ( 8 Bits). Pour obtenir une grande souplesse, le mode de réalisation à une puce qui a actuellement la préférence peut être configuré par l'utilisateur pour résider à des adresses de base E/S et de mémoire différentes Quatre broches désignées SWO-SW 3 en figure 3 sont fournies pour sélectionner les adresses de base de mémoire et E/S Dans une mise en oeuvre à micro- canal, ces quatre broches correspondent aux bits 4-7 POS (Sélection d'Option Programmable) du micro-canal. L'adresse de base E/S est indiquée dans le tableau I ci- dessous et l'adresse de base de mémoire est donnée dans le tableau II ci-dessous Un 1 dans les tableaux ci- dessous correspond à une broche SWO-SW 3 à la masse et un O à une broche ouverte ou de charge 17 bits d'adresse et plus sont décodés par la logique externe à la puce IPSI multifonction. TABLEAU I SW 1/PO 55 SWO/PO 54 Adresse de départ O O 0140 O 1 0150 1 O 0160 1 1 0170 14 2674045 TABLEAU II SW 3/PO 57 SW 2/PO 56 Adresse de base de mémoire (Hex) O O OC 8000 O 1 OCAOOO 1 O OCEOOO 1 1 ODEOOO Les 7936 multiplets (l FOO h) du superviseur de sortie d'entée de base (BIOS) de mémoire morte (ROM) ou de mémoire morte programmable effaçable (EPROM) sont mappés sur le bus de l'ordinateur principal, commençant à l'adresse de base de la mémoire sélectionnée en conformité avec les indications précédentes Cet espace mémoire peut être lu par l'intermédiaire du connecteur du bus de l'ordinateur à octets et supportera les opérations EPROM mappées en mémoire La puce IPSI comprend en outre 256 x 8 de la mémoire RAM statique qui est représentée et sera en outre identifiée dans la discussion suivante de la figure 2 Cette mémoire RAM est utilisée pour les opérations variables de stockage et de zone de travail Elle est mappée au décalage l FOO h par rapport à l'adresse de base de la mémoire En dehors des opérations de lecture ROM BIOS et des opérations de lecture/écriture de la mémoire 256 x 8 RAM (qui sont mappées en mémoire), les autres fonctions du présent mode de réalisation sont mappées E/S. Le tampon PEPS principal 132, la mémoire RAM statique externe 8 Kx 8 utilisée pour tamponner les données dans et à partir du port des données IPSI, est lue ou écrite en utilisant soit un fonctionnement E/S à 8 bits soit à 16 bits Le tampon PEPS principal est situé au décalage O Ch par rapport à l'adresse de base E/S Ainsi, l'ordinateur principal peut accéder au tampon principal PEPS en exécutant une opération E/S sur le port E/S situé à O Ch par rapport à l'adresse sélectionnée de base E/S. L'invention fournit une multitude de registres d'état et de commande 8 bits, qui comprennent divers signaux de commande, signaux d'état et ports de données IPSI Comme le tampon PEPS principal, ces 2674045 registres sont mappés à des décalages par rapport à l'adresse de base E/S Certains des registres fournissent des fonctions à la fois de lecture et d'écriture, d'autres registres ne fournissent que des fonctions de lecture et d'autres encore seulement des fonctions d'écriture A titre de commodité, le tableau III ci-après énumère chaque registre d'état et de commande, donnant le décalage affecté par rapport à l'adresse de base E/S Le port du tampon PEPS principal au décalage O Ch est également donné dans le tableau En- dessous du tableau, il y a une brève description de chaque fonction qui est appelée lorsque le décalage E/S donné est adressé par l'ordinateur principal lors du cycle approprié de lecture et/ou d'écriture. TABLEAU III Déca Lecture Déca Ecriture lage lage E Comptage PEPS E C PEPS Principal C PEPS Principal A Sélection d'Option A Programmable POS 9 Masque d'Interruption 9 8 Port de Données IPSI 8 Port de Données IPSI (Pas de Génération (Pas de Génération d'Accusé de Réception) d'Accusé de Réception) 7 Registre d'Echo 7 Registre d'Echo 6 Code ID (bits de poids 6 fort) Code ID (bits de poids 5 faible) 4 4 Commande PEPS 3 3 Commande Synchrone IPSI 2 Etat d'Adaptateur 2 Commande d'Interruption 1 Etat du Bus IPSI 1 Commande IPSI O Port des Données IPSI O Port de Données IPSI (Avec Génération (Avec Génération d'Accusé de Réception) d'Accusé de Réception) Décalage O, Lecture/Ecriture Port de données IPSI Il s'agit de la lecture ou de l'écriture directes au port de données IPSI à 8 bits Si la demande IPSI est confirmée, un Accusé de Réception IPSI automatique est produit Seuls les transferts asynchrones sont supportés par ce port. Décalage 1, Lecture Etat du bus IPSI Il s'agit d'une lecture directe des niveaux courants des 16 2674045 signaux de commande IPSI Les signaux sont lus sous forme de 1 lorsqu'ils sont confirmés ou sous forme de O lorsqu'ils sont annulés. Bit O IPSI Occupé Bit 1 Message IPSI Bit 2 Entrée/Sortie IPSI Bit 3Ordre/Donnée IPSI Bit 4 Demande IPSI et Pas d'Accusé de Réception Bit 5 Sélection IPSI Bit 6 Accusé de Réception IPSI Bit 7 Attention IPSI Décalage 1, Ecriture Actions de commande IPSI Les bits 0-6 attaquent les signaux de commande IPSI L'écriture d'un 1 pour le bit excite le signal, alors qu'un O le libère. Bit O Remise à Zéro du Bus IPSI Bit 1 Sélection IPSI Bit 2 IPSI Occupé Bit 3 Attention IPSI Bit 4 Entrée/Sortie IPSI Bit 5 Ordre/Donnée IPSI Bit 6 Message IPSI Bit 7 Validation du Bus IPSI Le bit 7 doit être initialisé toutes les fois que l'adaptateur est utilisé pour attaquer le bus IPSI (à l'exception de la phase d'arbitrage). Décalage 2, Lecture Etat de l'Adaptateur. Le bit O indique si oui ou non une source d'interruption validée est active, quel que soit le fait que le bit d'Interruption de Validation dans le registre d'écriture 4 est initialisé Le bit 1 indique que l'adaptateur a perdu le contrôle du bus IPSI Il est effacé en initialisant "Initiate Bus Arbitration"' (Initialiser Arbitrage du Bus) dans les registres d'écriture 4 à O. Le bit 2 indique qu'une erreur de parité s'est produite sur la donnée lue à partir du bus IPSI Il est effacé en écrivant un 1 dans le registre d'écriture 4 bit O Le bit 3 indique le niveau courant du signal de Remise à Zéro IPSI ( 1 pour exciter, ou O pour inversion). Bit O Interruption Bit 1 Arbitrage Terminé Bit 2 Erreur de Parité du Bus IPSI Bit 3 Remise à Zéro IPSI Bit 4 Direction PEPS (Registre d'Ecriture 4 bit 6) Bit 5 Validation PEPS (Registre d'Ecriture 4 bit 7) Bit 6 Validation Parité IPSI (Registre d'Ecriture 4 bit 3) Bit 7 Validation Bus IPSI (Registre d'Ecriture 1 bit 7) Décalage 2, Ecriture Commande d'Interruption Les bits 4-7 valident les sources d'interruption correspondantes lorsqu'ils sont initialisés à 1 Dans les bits 0-3, lorsque le tampon PEPS atteint cette valeur x 512, une interruption est produite La valeur O est interprétée comme un tampon PEPS plein si la donnée est lue dans le dispositif IPSI et vide si la donnée est écrite dans le dispositif IPSI, alors que 1 est pour 512 multiplets, 2 pour 1024, etc. Bits 0-3 Comptage d'Interruption PEPS Bit 4 Interruption sur Comptage PEPS Bit 5 Interruption sur Arbitrage Terminé Bit 6 Interruption sur Sélection IPSI Bit 7 Interruption sur C/D IPSI et Demande Décalage 3, Ecriture Commande Synchrone IPSI La fréquence des impulsions d'Accusé de Réception peut être commandée pour un fonctionnement synchrone La période de commande pour l'adaptateur est 50 nanosecondes La période de base est 200 nanosecondes, c'est-à-dire avec ce champ initialisé à O Si le champ est initialisé à 1, la période s'élève à 250 nanosecondes; s'il l'est à deux, à 300 nanosecondes, etc, jusqu'à 950 nanosecondes La période sera soit une valeur établie, ou plus élevée, ce qui peut être le cas si la synchronisation avec le tampon PEPS est nécessaire L'Accusé de Réception (Acknowledge) est toujours excité pendant 100 nanosecondes avec le temps restant à l'état désexcité Le mode synchrone rapide est validé en initialisant le bit 6 à 1 Ce mode ignore la période d'Accusé de Réception précédente et utilise toujours un cycle de 100 nanosecondes avec l'Accusé de Réception excité pendant 50 nanosecondes et désexcité pendant 50 nanosecondes Le bit 6 doit être validé en même temps que le bit synchrone de validation Le bit 7 valide le mode synchrone lorsqu'il est initialisé à 1. Bits 0-3 Période d'Accusé de Réception Bit 4 Réservé, Doit Toujours Etre Ecrit Comme Zéro Bit 5 Réservé, Doit Toujours Etre Ecrit Comme Zéro Bit 6 Validation Mode Synchrone Rapide Bit 7 Validation Mode Synchrone Décalage 4, Ecriture Commande PEPS Ecrire un 1 pour le bit O efface toutes les données dans le tampon PEPS, remet à zéro le Drapeau Erreur de Parité IPSI, et efface l'Interruption de Remise à Zéro IPSI Il s'agit d'une impulsion momentanée et cette donnée n'est pas sauvegardée Le bit 2 initialise un arbitrage du bus IPSI (voir Section 4 7) Le bit 3 valide la génération de la parité des données IPSI Le bit 4 valide l'attaque externe pour les interruptions et la bascule d'interruption pour la Remise à Zéro IPSI Dans le bit 6 O est égal à Lecture et 1 à Ecriture La Lecture s'effectue entre la cible IPSI et le bus principal et l'Ecriture entre le bus principal et la cible IPSI Le bit 7 valide le tampon PEPS pour les opérations en phase des données Le mode de fonctionnement, asynchrone, synchrone ou synchrone rapide est déterminé par le Registre de Commande Synchrone Si le tampon PEPS n'est pas validé, la donnée peut être lue comme un simple multiplet à la fois à partir du port IPSI en utilisant PIO. Bit O Efface PEPS et l'Etat d'Erreur de Parité IPSI Bit 1 Reservé, Doit Toujours Etre Ecrit Comme Zéro Bit 2 Initialiser l'Arbitrage du Bus Bit 3 Valider la Parité IPSI Bit 4 Valider les Interruptions Bit 5 Réservé, Doit Toujours Etre Ecrit Comme Zéro Bit 6 Direction PEPS Bit 7 Validation PEPS Il est important de remarquer que la ligne de Remise à Zéro IPSI peut aussi provoquer une 19 2674045 interruption si les interruptions sont validées Une interruption est produite lors de chaque transition de la ligne de Remise à Zéro IPSI Lorsque cette ligne est excitée, une interruption est produite, et lorsque cette ligne est désactivée, une interruption est produite. Cela peut être utilisé par le logiciel pour détecter tout changement de l'état de la ligne d'interruption IPSI Cette caractéristique n'est nécessaire que dans le mode de fonctionnement avec cible. Décalage 5, Lecture Code ID (bits de poids faible) Les 8 bits inférieurs du code ID sont lus. C'est le ID du micro-canal qui serait affecté Cet ID est lu que la puce soit dans le mode AT ou dans le mode de micro-canal Si la broche ALTADR est ouverte, l'ID renvoyé est 60 E 9, et si elle est à la masse, l'ID est 6127 Cela permet l'identification de deux contrôleurs séparés si l'on souhaite installer deux adaptateurs séparés Ce registre est destiné à être utilisé pour aider à trouver la carte dans un système mappé en mémoire, ou pour identifier le fait que l'adaptateur primaire ou secondaire a été localisé. Décalage 6, Lecture Code ID (bit de poids faible) Les 8 bits supérieurs du code ID sont lus. Décalage 7, Lecture et Ecriture Registre d'écho C'est un registre de lecture et d'écriture Il peut être utilisé pour l'établissement de sémaphores, ou pour quelque autre type de communication entre utilisateurs multiples ou circuits d'attaque pour l'adaptateur Ce qui est écrit dans le port est relu à partir du même port. Décalage 8, Lecture et Ecriture Ce décalage est le même que le Décalage 0, sauf qu'un Accusé de Réception IPSI n'est pas produit Cela permet l'examen d'un multiplet d'entrée de message sans Accusé de Réception, de sorte qu'il peut être rejeté Si le message n'est pas rejeté, une lecture ultérieure au Décalage O produira l'Accusé de Réception. 2674045 Décalage 9, Lecture Masque d'Interruption Bits 2-0 Réservé Bit 3 Validation d'Interruption (Registre d'Ecriture 4 bit 4) Bits 7-4 Masque d'Interruption (Registre d'Ecriture 2 bits 7-4) Décalage A, Lecture, Option Sélection C'est une relecture directe du registre de sélection d'option POS à micro-canal Les champs sont tels que donnés dans la Section 4 2 On remarquera que, dans le mode AT, les champs d'adresse et d'interruption sont déterminés par les cavaliers d'entrée comme cela est décrit dans les Sections 4 3 et 4 4 Le champ de validation de carte est également lu ici, mais il n'est pas approprié car l'accès à ce registre implique que la carte soit validée (dans le mode AT, la carte est toujours validée). Décalage E, Lecture Comptage PEPS Ce registre de 16 bits contient le comptage du nombre des multiplets généralement dans le tampon PEPS. Une vue d'ensemble plus détaillée de l'invention est donnée en figure 2 Lorsque cela est applicable, les blocs individuels de la figure 2 se sont vus affecter les numéros de référence correspondant à ces blocs dans la figure 1 La figure 2 représente le but d'adresse 144 de l'ordinateur principal, qui est accouplé aux tampons d'adresse et au circuit de décodage 146 On se rappellera que le circuit décode les bits d'adresse 0-16, laissant les bits d'adresse 17 et plus pour être décodés par une logique externe. De façon à être compatible avec l'architecture MCA, le circuit comprend un circuit 148 de sélection d'option programmable de micro-canal (POS). La caractéristique de sélection d'option programmable ne figure pas dans l'architecture ISA Elle fournit des commutateurs configurables par logiciel au lieu de commutateurs actionnés mécaniquement pour l'initialisation des options de matériel tels que les adresses de base E/S et de mémoire. Le bloc 134 de support et de commande PEPS de la figure 1 est représenté plus en détail en figure 2, comprenant la logique 150 de commande PEPS, le générateur 152 d'adresses PEPS, et le tampon 154 du bus de données PEPS Le générateur d'adresses et le tampon de données communiquent avec le bus d'adresses et le bus de données, respectivement, du tampon principal PEPS 132 (non représenté) La logique 150 de commande PEPS fournit les signaux de sélection de puce PEPS principale et de lecture/écriture sur le fil 156 Le tampon de données PEPS 154 communique avec le bus interne 118 de données, comme cela est représenté Communiquant également avec le bus interne de données il y a la mémoire RAM statique 158 de 256 x 8 Cette mémoire est utilisée pour les registres de stockage variables et de zone de travail L'ordinateur principal peut accéder à la mémoire RAM 158 d'état via le bus de données principal, le tampon 120 du bus de données et le bus interne 118 de données. Le tampon PEPS 126 est représenté davantage en détail en figure 2, comme comprenant un tampon PEPS 160 de sortie 16 x 8 et un tampon PEPS 162 d'entrée 16 x 8. Ces deux tampons PEPS sont accouplés au bus interne de données pour communication dans la direction indiquée. La logique 128 de commande de la circulation des données commande les deux tampons PEPS 160 et 162 par le fil 164 de charge/décharge PEPS d'entrée/sortie L'état des deux tampons PEPS est fourni à la logique de commande de la circulation des données via le fil 166 d'état PEPS d'entrée/sortie L'état PEPS principal est fourni à la logique de commande de la circulation des données via le fil 168 d'état PEPS principal. La logique de commande de la circulation des données est responsable de la coordination des demandes IPSI entrant avec les signaux d'accusé de réception IPSI sortants Le bloc logique 170 de demande IPSI reçoit les signaux de demande (REQ) provenant du bus 116 de commande IPSI et fournit une indication de ceux-ci à la logique 128 de commande de la circulation des données. En fonction du mode de communication choisi, la logique de commande de la circulation des données peut ordonner à la logique 172 d'accusé de réception IPSI de placer un accusé de réception (ACK) sur le bus 116 de commande IPSI De manière à traiter la situation dans laquelle plusieurs dispositifs IPSI essaient d'avoir accès au bus, le circuit comprend une logique 174 d'arbitrage IPSI Cette logique répond à la situation des tampons 122 de données IPSI On fournira ci-dessous d'autres détails des blocs logiques précédents. Etant une mise en oeuvre à mappage E/S, le circuit de la présente invention fournit une multitude de ports de commande et de ports d'état, auxquels l'ordinateur principal peut accéder pour exécuter les fonctions désirées et obtenir certaines informations Le tableau II indique les ports de commande et les ports d'état du mode de réalisation ayant actuellement la préférence En figure 2, les ports de commande sont désignés généralement par la référence 176 et les ports d'état par la référence 178. La disposition des broches du mode de réalisation à une puce ayant actuellement la préférence est représentée en figure 3 Plus spécialement, la figure 3 représente le mode de réalisation 180 à une puce, comportant des broches ou fils acheminant les divers signaux identifiés L'énumération de ces signaux et d'autres signaux internes est indiquée dans le tableau IV ci-dessous A titre de commodité, certains des signaux sur les fils représentés en figure 3 ont été regroupés sous des références communes Par conséquent, le fil 182 est le fil d'entrée d'horloge sur lequel est appliquée une horloge externe de 40 M Hz Les fils 185 forment les fils de données DIO-7 de l'interface ROM/PEPS principal Les fils 186 comprennent les fils d'adresses RA pour les bits 0-12 de l'interface ROM/PEPS principal Les fils 188 comprennent les fils d'interruption pour connexion au bus d'interruption principal, alors que les fils 190 et 192 sont connectés au but de données DB de l'ordinateur principal Le bus de données IPSI est relié aux fils 194, alors que les fils de commande IPSI sont reliés en 196. TABLEAU IV Scin Al Sianification Signal de Remise à Zéro (niveau bas vrai) Entrée d'horloge 40 M Hz Horloge 20 M Hz interne Horloge 20 M Hz interne Phase 1 d'horloge Phase 2 d'horloge Phase 3 d'horloge Phase 4 d'horloge Phases 1-3 d'horloge Phases 1-2 d'horloge Phases 2-3 d'horloge Phases 3-4 d'horloge Phase 4-1 d'horloge I Axx IBHE GACSA, ICSGA, LCSGA MEMCY, MEMCYL IOSELECT, PORTI, PORTIM PORTL, PORTLO PORTH, PORTHI IMEMW IMEMR IMRW ACMD FIFOB PTRQ PTGNT SCSIRQ SCGNT Lignes d'adresses tamponnées internes Validation multiplet haut de bus interne Décodage interne de sélection de puce Décodage interne de cycle de mémoire Décodage interne de cycle E/S Décodage interne de cycle E/S (ports 0-7) Décodage interne de cycle E/S (ports 8-15) Décodage interne du cycle d'écriture principal Décodage interne du cycle de lecture principal Décodage interne du cycle de lecture ou d'écriture principal Phase d'ordre MCA Premier multiplet du cycle d'accès PEPS 16 bits Demande de cycle de données pour le bus principal Octroi du cycle du bus principal Demande pour cycle de données pour trajet IPSI Octroi du cycle IPSI RESET- ICLK 40 CLKO CLK 1 Tl T 2 T 3 T 4 T 123 DECCLK ARBCLK- DECCLK- ARBCLK Signal FIFOCLR-, CTRCLR- FIFOENA FIFODIR FIFODIR- SCSYNC SYNCFAST ASY BOT 512- FCNT 12,, FCNTO 9 FIFINT- BEMPTY- BFULL- IEMPTY- OFULL- OEMPTY- ISREQ REQCNT SYNACK- SACK BIGWT BIGRD SCSIRQA- ACKHOLD OLDCK OUNCK LITFIFR TABLEAU IV (Suite) Signification Signaux de remise à zéro PEPS et compteur (niveau bas vrai) Validation des transferts PEPS principal vers/à partir de IPSI La direction PEPS est vers sortie IPSI La direction PEPS est à partir de l'entrée IPSI Mode de données IPSI synchrone Mode de données IPSI synchrone rapide Période d'Accusé de Réception IPSI synchrone PEPS contient moins de 512 multiplets (niveau vrai bas) Quatre bits de poids fort du comptage des données PEPS Interruption PEPS (niveau bas vrai) PEPS principal vide (niveau bas vrai) PEPS principal plein (niveau bas vrai) PEPS d'entrée vide (niveau bas vrai) PEPS de sortie plein (niveau bas vrai) PEPS de sortie plein (niveau bas vrai) Demande IPSI et non Accusé de Réception IPSI) Comptage positif de demandes IPSI synchrones non traitées Accusé de Réception IPSI synchrone (niveau bas vrai) Accusé de Réception IPSI Ecrire donnée IPSI asynchrone dans PEPS principal Lire donnée de PEPS principal dans IPSI asynchrone Demande de donnée IPSI asynchrone Maintien du cycle d'entrée IPSI pendant l'Accusé de Réception synchrone Horloge de charge de PEPS de sortie Horloge de décharge de PEPS de sortie Cycle de lecture de PEPS d'entrée 9 ug 99 -ld u T 9 uie T Tgnqoe e Tnb que A Tns uo Te STI Tea ep Gpo U np a 991 TT Tep uo Tqd T-O Sep e Za TO Ae anod g S-t seanb Tj saane xnre ze;ode es uueuq-u I nagd u O UOT Ill T 54 UT, I ap egl IT Teq 9 P UO Tdd T Zaosa OW ealnq Doe Tqoa,l znod aini Touemou O a U n aun qu-ea u O Ti 4 u 6 T Sp eae D ' Sda ea 9 Ub 6 Ts P ueme 169 e qse eaqooq ae'; VSI znqoe;Tqoae,l ep q Tos vo N an Dao T Mqoal ep q Tos suo T-in B Tg UOD sel qu Ie A Tq De T Gs a PTTFA inod inas ST Tl Fn,l z 2 d enq T-suoo ua Aoui a pu Iedwo D Tnb Zt e 1 q Dooq 1 $ss a Iq;eou UO Tq Tppe eun 'VSI O no/qa VON seqooaq sal inod senb Tssl;o suo Tqueb TS Gp sei queqjod e Gpueuiioo ap suo Touo; sjn-e, p luess Tu Jno; s Tj S a;ne sei 'SSA 1 a QUA anb T O Da IE 9 UO Tqe 4 Ue 1 IT Ie,l ap snld ua o OZsl T; xne eqoeuuoo qse 1 ed TOUT Zd an 1 l u TP Zo,I ap s Pssepe,p snqi'861 ua ST Fzogp Sg uos a-TOIUIUI ap qe s/ as 2 q ep asse p-e,-1 Ian 5 T;UOQ anod sgs 1 TI Tn'-OMS sanaennuioo sa 5 r 2 d TOUT Fd saga wvf inod essaip z T Ed T O UT Zd saaa 1 te ae 1 T Omam q WO O 8 t TOUGUI inod seauuop ap S/S sns OIG (seq Te A& nfe ATU) I Sa I seuuop ep sns - DS ISI e Trr OS ep se Guuop sep qe IóL GS Z (T-e A seq N 2 e A Tu) I Sa I 99 aque,p seauuop sep qe Cwe A DSI I 56 I seauuop ap qe Ceal anod sa Guuo p a Tp e T Wp Pg IZUT sng I O Z Sla eanqoe T ap qzod anod saauuop ap au au T snq np UOTSU Gqx S ca saauuop p a u a Gu T sns a Sd TOUT Id sa Guuop ep sng 9 G 51 I Sa I G Tqos ap saguuop laqou GIOGG MOXDCLDS (eu Otou J Ks apou) I Sa I e G Tqos ep e Guuop zeqou 9 TOGU -ELúUS 01 (a sze A SI inod seq) SI snq/a snq uodmr np UOT 4 De ITG -asgz DS SI snq/a snq Iauuo Toa F Tp Tq uodmup T Ie;e A -09 tz DS s I snq zns DSI snq -ep T Ie A -soo O S 9 UOTÉ 4 Ta FU 5 TS A Tu BTS ({s Tn S) AI fl Vz Ia VL st O tz 9 Z En liaison tout d'abord avec la figure 4, le circuit diviseur d'horloge de 40 M Hz est représenté dans ses grandes lignes en 202 le signal d'horloge CLK 40 qui a été entré sur le fil 182 est divisé par le circuit 202 en une horloge 10 M Hz de quatre phases Les signaux d'horloge ainsi engendrés sont utilisés dans tout le reste du circuit et servent à établir la logique 128 de commande de la circulation des données, figure 2. * En figure 5, le circuit logique d'arbitrage interne est décrit dans ses grandes lignes en 204 Ce circuit décide si oui ou non le bus interne de données 118 est partagé, et indique l'opération qui donne accès au bus interne de données, par exemple entre opérations du bus principal et transferts IPSI La logique d'arbitrage interne peut également être considérée comme une partie de la logique 128 de commande de la circulation des données, figure 2. A la fréquence d'horloge de base de 10 M Hz, chaque cycle de 100 nanosecondes est consacré soit à une phase du processeur principal soit à une phase IPSI Le circuit de la logique interne d'arbitrage fournit deux sorties, l'une désignée PT GNT et l'autre SC GNT la première sert de signal d'octroi du processeur et la seconde de signal d'octroi SCI Les signaux sont mutuellement exclusifs de sorte que seule l'une de ces deux fonctions peut avoir accès à un moment donné au bus interne de données La borne désignée SCSI RQ est la demande provenant de la logique IPSI pour accéder au bus, alors que le signal désigné par PT RQ est la demande provenant du processeur pour cyclage La priorité est donnée au cycle du processeur. Le circuit logique d'arbitrage interne comprend un circuit de détection de front de sorte qu'il peut détecter les demandes du processeur pour cyclage. Le circuit comprend la génération d'états de bases de temps, selon qu'un cycle de 8 bits ou qu'un cycle de 16 bits est appelé Le circuit détecteur de front comprend une bascule qui fournit un signal de maintien évitant un 27 2674045 double déclenchement du détecteur de front Le circuit fournit aussi une PT 2 qui étend le cycle du bus pour les transferts ROM, car des ROM sont des dispositifs généralement plus lents et nécessitent le temps prolongé du cycle du bus. La figure 6 décrit le circuit 206 de décodage des adresses de base Ce circuit ventile les gammes des adresses générales et détecte si oui ou non l'ordinateur principal accède à la mémoire ROM, au tampon PEPS principal, ou à la mémoire statique interne RAM 158 Pour cela, il décode une partie des bits supérieurs d'adresses. L'accès au tampon PEPS principal n'est pas une opération directe de décodage d'adresses, car certaines autres conditions doivent être remplies avant que le processeur puisse accéder au tampon PEPS principal Plus spécialement, pour accéder au tampon PEPS principal, le signal de sélection de puce PEPS doit être excité ainsi que le signal de validation de sortie PEPS ou le signal de validation d'écriture Si le bus est dans un cycle IPSI, une opération similaire est nécessaire, bien qu'il ne soit pas utile de décoder des adresses. Le circuit 206 fournit des signaux FIFO B et FIFO B (PEPS B et PEPS B-) qui servent à mettre en oeuvre un cycle de 16 bits nonobstant le fait que le bus interne de données a une largeur de 8 bits Le signal FIFO B est utilisé pour fractionner un cycle de 16 bits en deux cycles de 8 bits sur le bus interne de données, le signal FIFO B indiquant qu'il est le premier de ces deux cycles Le signal FIFO B assure que le cycle suivant sera utilisé pour accéder à la seconde moitié de 8 bits d'un accès à 16 bits. La figure 7 comprend une certaine logique supplémentaire de décodage d'adresses, représentée dans ses grandes lignes en 208, ainsi que le tampon de données PEPS, et la mémoire ROM représentés dans leurs grandes lignes en 210 Le circuit de la figure 7 28 2674045 commande les cycles de lecture et enclenche les données dans les tampons des bus de données. La figure 8 comprend un ensemble similaire de circuits spécialisé à la commande des cycles d'écriture et à l'enclenchement des données dans les tampons d'écriture L'ensemble des circuits des figures 7 et 8 peut être considéré comme faisant partie des tampons d'adresses et du bloc de décodage 146 de la figure 2 La donnée est maintenue sur le bus interne de données pendant environ 50 nanosecondes, ce qui rend nécessaire l'enclenchement de la donnée pendant les cycles de lecture Le circuit logique 208 de décodage d'adresses de la figure 7 produit des signaux de commande d'enclenchement DBRDHI et DBRDLO, ainsi que les versions Booléennes NON de ces signaux Le circuit de la figure 8 comprend une partie désignée dans son ensemble par la référence 212 qui produit le signal IOCHRDY utilisé par le bloc logique 140 de décodage des commandes MCA et ISA, figure 2 Ce signal est un signal standard dans les architectures MSA et ISA Il est utilisé pour insérer un état d'attente. En liaison maintenant avec la figure 9, le circuit générateur d'adresses PEPS est représenté dans ses grandes lignes en 214 Une représentation plus détaillée du générateur d'adresses PEPS est donnée en figures 37 et 38 Le circuit générateur d'adresses PEPS produit soit une adresse de lecture soit une adresse d'écriture Il emploie deux compteurs qu'il multiplexe, en fonction du fait que l'opération est une lecture ou une écriture Chaque fois qu'il se produit une opération de lecture, le compteur de lecture est incrémenté, et chaque fois qu'une opération d'écriture a lieu, le compteur d'écriture est incrémenté De fait, le circuit 214 fait en sorte que le tampon PEPS principal se comporte comme un tampon circulaire avec un comportement premier entré, premier sorti La lecture se produit dans la même séquence que l'écriture. 29 2674045 On se rappellera que le tampon PEPS principal apparaît comme un dispositif à un seul port pour l'ordinateur principal Le circuit générateur d'adresses PEPS est nécessaire car l'ordinateur principal ne peut produire directement des adresses pour accéder au tampon PEPS principal. La figure 10 décrit le registre de commande pour le tampon PEPS principal Les circuits de la figure produisent aussi des signaux d'horloge qui servent de signaux de commande pour le circuit 214 générateur d'adresses PEPS Ces signaux d'horloge sont désignés INCLK et OUTCLK- L'ensemble des circuits fournit aussi le signal de sélection pour l'adressage de lecture ou d'écriture, désigné WRADEN- Le registre de commande PEPS comprend l'un des ports de commande qui peut être accédé par l'ordinateur principal Dans le mode de réalisation ayant actuellement la préférence, ce port réside au décalage 04 h Comme on l'a décrit ci-dessus, le port 4 est un registre d'écriture comprenant l'un des ports de commande 176 de la figure 2 Le registre de commande PEPS fournit des signaux internes de commande qui commandent l'incrémentation et la décrémentation du générateur d'adresses PEPS. Grâce à la construction du circuit, l'ordinateur principal peut toujours accéder au tampon PEPS principal pendant le cycle approprié Des dispositifs du côté IPSI n'auront accès au tampon PEPS principal que si ce tampon est validé Le circuit est à même de procéder à plusieurs sortes différentes de transferts, de transferts asynchrones non tamponnés, de transferts asynchrones tamponnés et de transferts synchrones tamponnés La validation du tampon PEPS principal permet à l'un des transferts tamponnés de se produire L'invalidation du tampon PEPS principal permet au transfert asynchrone non tamponné d'avoir lieu Les transferts synchrones sont toujours tamponnés. Le circuit de la figure 10 fournit un signal d'effacement PEPS, désigné FIFOCLR-, qui remet à zéro 2674045 tous les compteurs de la totalité de la puce 180 de l'interface. La figure 11 décrit les circuits du compteur de données représenté dans ses grandes lignes en 216 Ce circuit est utilisé pour conserver une trace de la plénitude dans le tampon PEPS principal Une représentation plus complète de ce compteur est donnée en figure 39. En liaison maintenant avec la figure 12, les circuits du port de commande IPSI sont décrits en 218. En liaison avec le tableau III ci-dessus, le port de commande IPSI réside au décalage Olh, valable pour les opérations d'écriture Les fils 196 de commande IPSI comprennent plusieurs signaux de commande engendrés par les circuits 218 Par exemple, si l'on souhaite un signal de remise à zéro IPSI, ce signal SRST est excité par écriture au port 1 avec le bit approprié initialisé qui correspond au signal de remise à zéro Chaque bit du port 1 est mappé dans un signal sélectionné parmi les signaux de commande IPSI Certains des signaux de commande tels que SBSY et SACK ont d'autres signaux de commande enclenchés avec eux et sont donc engendrés d'une façon différente. La figure 13 fournit l'ensemble des circuits, représenté dans sa généralité en 220, nécessaire pour lire l'état du bus IPSI L'ensemble des circuits comprend les lignes de commande devant être lues pour déterminer quel est l'état du bus Par exemple, il est possible de déterminer s'il y a une demande active ou s'il y a en vigueur une phase message ou une phase données Les conditions de la phase bus, ainsi que d'un autre bus asynchrone peuvent être décodées en utilisant l'ensemble des circuits 220 Le port sur l'état du bus IPSI réside au décalage Olh pour les opérations de lecture. La figure 14 décrit l'ensemble des circuits 222 pour la commande de l'écoulement IPSI asynchrone. Cette partie de la logique de commande de l'écoulement 31 2674045 des données détermine le moment o le circuit exécute une lecture PEPS ou une écriture PEPS à partir du tampon PEPS principal directement sur le port de données IPSI. Comme il s'agit d'une opération asynchrone, les PEPS d'entrée/sortie ne sont pas impliqués L'ensemble des circuits 222 produit aussi une demandeIPSI et engendre le signal de cycle réel pour provoquer une lecture ou une écriture dans le tampon PEPS principal Ces signaux sont désignés BIGWT et BIGRD, pour les signaux d'écriture et de lecture, respectivement Des signaux Booléens NON tant des signaux d'écriture que de lecture sont également fournis. Les figures 15 et 16 représentent l'ensemble des circuits qui fournit le multiplet ID de puce utilisé par l'architecture MCA Ce multiplet ID peut également être lu par l'ordinateur principal si l'architecture ISA est sélectionnée Plus spécialement, la partie du circuit représenté en figure 15 produit le multiplet haut ou partie de poids fort de l'identificateur ID, alors que la figure 17 représente le multiplet bas ou partie de poids faible En liaison avec le tableau III, ces codes ID sont lus aux ports 5 et 6 (décalages 5 et 6). Un autre registre de commande utilisé pour la commande du mode IPSI et l'opération de rebouclage est supporté par l'ensemble des circuits de la figure 17 Ce registre de commande sert spécialement à sélectionner le fait que des transferts synchrones ou asynchrones doivent être exécutés, et à sélectionner la fréquence des données synchrones pour les transferts synchrones L'ensemble comprend un registre d'écho 224 qui fait partie des blocs 176 et 178, figure 2, du port de commande et d'état Le registre d'écho est un port unique auquel on peut écrire ou lire Lorsqu'une valeur donnée est écrite dans le registre d'écho, elle fait l'objet d'un renvoi ou d'une répétition pour lecture Le registre d'écho est ainsi utile pour l'auto-test de l'intégrité du système ou comme port de drapeau pour 32 2674045 acheminer des drapeaux de logiciel ou analogue Dans le tableau III, le registre d'écho réside au décalage 7. La figure 18 décrit le trajet des données IPSI et l'ensemble des circuits de contrôle de parité. On donne en figures 40-46 une description plus détaillée des circuits En se reportant à la figure 18, le tampon PEPS d'entrée 162 et le tampon PEPS de sortie 160 sont représentés On a également représenté dans son ensemble en 122 les tampons de données IPSI représentés également en figure 2 L'ensemble des circuits comprend un circuit de contrôle de parité qui est utilisé pour déterminer s'il y a une condition d'erreur de parité PERROR Cet ensemble du circuit est représenté en 226 Les PEPS d'entrée et de sortie ont tous deux une largeur de seulement 8 bits Le 9 ème bit de parité qu'on rencontre normalement sur le bus de données n'est pas acheminé au droit des tampons d'entrée Par conséquent, on fournit comme séparé l'ensemble des circuits de contrôle de parité. En liaison maintenant avec la figure 19, on a représenté l'ensemble des circuits pour le trajet des données IPSI asynchrones Cet ensemble de circuits comprend une logique d'arbitrage qui est mise en oeuvre en utilisant deux circuits logiques à réseau programmable (PALS), désignés en 228 et 230 Les équations pour le circuit PALS sont fournies dans l'Annexe A la gauche des circuits PALS 228 et 230, il y a un circuit 232 de codage de priorité qui détermine le dispositif IPSI qui gagnera pendant la phase d'arbitrage IPSI Chaque dispositif IPSI a un identificateur ID qui lui est affecté Lorsque le dispositif souhaite faire un arbitrage pour le bus, il tire le bit sur le bus des données IPSI correspondant à son ID pendant la phase d'arbitrage dans le cycle Si plusieurs dispositifs ont fait la même chose pendant cette phase d'arbitrage, celui ayant la priorité la plus haute qui lui a été affectée aura accès au bus Le codeur de priorité compare son ID affecté à toutes les autres demandant 33 2674045 l'accès au bus Le codeur de priorité choisit simplement la priorité la plus élevée de tous les ID actuellement sur le bus et fournit cette information au circuit PAL 228 Ce circuit procède alors à la détermination concernant le fait que lui ou quelque autre dispositif a gagné le contexte de priorité de l'arbitrage. Les tampons 122 des données IPSI (figure 2) sont représentés plus en détail en figure 20 Comme cela est illustré, ces circuits fournissent le circuit d'attaque pour les sorties des données du côté IPSI du circuit Des commutateurs d'attaque collecteurs ouverts sont utilisés pour satisfaire la spécification IPSI. La figure 21 décrit le compteur des demandes synchrones Dans le mode synchrone, il est nécessaire de conserver un comptage du nombre des demandes qui entrent Lorsque ces demandes sont servies, le comptage est décrémenté L'ensemble des circuits de la figure 21 conserve ce comptage des demandes synchrones La sortie REQCNT indique qu'il y a un comptage non zéro Ce signal est utilisé comme partie de la logique de commande de l'écoulement des données pour indiquer qu'un transfert de données est nécessaire à cause de demandes actives. La logique d'accusé de réception synchrone est représentée en figure 22 Cet ensemble de circuits fait partie du circuit logique 172 d'accusé de réception synchrone, figure 2 Il fournit un circuit de base de temps pour engendrer des signaux d'accusé de réception qui dépendent de l'état du transfert des données et de la longueur réelle du cycle synchrone Le bus ASY fournit des bits qui sont utilisés pour signifier la longueur réelle du cycle synchrone telle qu'elle est fournie par le registre de commande synchrone Le débit des données est établi de manière à être adapté à celui qui était négocié au commencement du cycle de transfert synchrone Ce débit détermine l'écartement des signaux d'accusé de réception ACK Les accusés de réception sont envoyés sur la base par multiplet La cible excite une demande pour un multiplet et le circuit excite à la fois 34 2674045 un accusé de réception ACK pour chaque demande de sorte qu'il y a une correspondance univoque entre les multiplets transférés et les demandes excitées par la cible et les accusés de réception excités par le circuit de l'invention La différence entre transfert synchrone et transfert asynchrone est qu'avec le transfert synchrone il y a un décalage entre les demandes entrant et les accusés de réception sortant Dans le mode asynchrone, les demandes sont entremêlées avec les accusés de réception de sorte qu'il se produit un fonctionnement univoque solidarisé direct Dans le mode synchrone, les demandes peuvent être tamponnées et faire l'objet d'un accusé de réception ultérieur Le mode de réalisation ayant actuellement la préférence fournit un temps d'attente de 16 de sorte qu'une cible peut envoyer jusqu'à 16 demandes avant qu'un accusé de réception doive être fait L'ensemble des circuits de la figure 22 maintient une trace de cette information relative aux nombres des demandes reçues et du fait qu'un accusé de réception a été envoyé Les accusés de réception ne se produisent pas tant que la donnée n'est pas déchargée dans le tampon PEPS principal à partir du tampon PEPS d'entrée Dans l'autre direction de circulation, les accusés de réception des données de sortie ne se produisent pas tant que la donnée ne sort pas réellement sur le bus, ce qui peut tenir compte d'un certain retard. Le circuit supporte la logique d'interruption nécessaire à un fonctionnement sur une architecture MCA ou sur une architecture ISA L'ensemble des circuits logiques d'interruption est représenté en figures 23 et 24 Dans le circuit de la figure 23 est inclus un registre 234 de commande des interruptions qui contient 4 bits auxquels le comptage du tampon PEPS principal est comparé Lorsque le comptage de ce tampon atteint le nombre stocké dans le registre 234 de commande des interruptions, une interruption est envoyée à l'ordinateur principal Le registre de commande des 2674045 interruptions contient également 4 bits de masque qui sont utilisés à masquer des conditions individuelles d'interruption. Le circuit comprend aussi un registre 236 d'état d'interruption qui peut être interrogé par l'ordinateur principal pour déterminer la nature des diverses conditions d'interruption pouvant s'être produites Alors qu'il est principalement utilisé pour l'état des interruptions, ce registre peut également être employé pour stocker d'autres conditions d'état qui peuvent alors être lues par l'intermédiaire du port du registre des états des interruptions Dans le tableau III, l'état des interruptions est lu par le port d'accès 02 h Le masque d'interruption comprenant une partie du registre 234 de commande des interruptions est situé au port 09 h. Il y a cinq conditions d'interruption auxquelles le présent mode de réalisation répondra. L'une est l'interruption de la plénitude du tampon PEPS principal Les comparateurs et la logique pour déterminer la plénitude PEPS principal sont représentés dans leurs grandes lignes en 238 Les autres conditions d'interruption comprennent l'interruption de remise à zéro IPSI, une interruption de demande d'ordre (pour désigner le fait que la cible demande un multiplet d'ordre à l'ordinateur principal), l'interruption de phase de sélection IPSI (utilisée par le dispositif qui a gagné l'arbitrage dans la sélection du dispositif avec lequel il - désire communiquer) et l'interruption de l'achèvement de la phase d'arbitrage (excitée par le vainqueur de la phase d'arbitrage). La figure 25 décrit l'ensemble des circuits de déclenchement des données IPSI qui fait partie de la logique de commande de la circulation des données Cet ensemble de circuits valide les différents tampons dans le trajet des données IPSI pour avoir l'assurance de la circulation des données dans la bonne direction. 36 2674045 La figure 26 décrit une logique de commande de la circulation des données IPSI synchrones pour la commande de l'écoulement des données IPSI synchrone Ce circuit permet le transfert des données entre le tampon PEPS principal et le tampon PEPS E/S, tenant compte de l'état du tampon PEPS E/S. La logique d'accusé de réception IPSI est représentée en figure 27 L'ensemble des circuits est lié à l'ensemble des circuits d'accusé de réception IPSI synchrone de la figure 22, mais comprend également les accusés de réception asynchrones qui sont produits soit dans des transferts non tamponnés par lecture et écriture du port O et dans des transferts tamponnés qui sont lus et écrits dans le tampon PEPS principal Par la lecture par le port O, le circuit engendre automatiquement un accusé de réception En lisant par le port 8, la caractéristique d'accusé de réception automatique est invalidée pour permettre à l'ordinateur principal d'inspecter un multiplet de message, pour déterminer si ce multiplet doit être traité et prendre alors une action ou non En d'autres termes, le circuit fournit deux ports de données IPSI, le port O qui fournit la génération automatique des accusés de réception et le port 8 qui ne le fait pas Le bit 3 d'adresse (IA 03) est utilisé pour désigner le port 8 ou le port 0. La figure 28 représente les tampons d'adresses provenant du bus principal Ces tampons comprennent des inverseurs qui transforment la polarité logique des signaux. La figure 29 représente les tampons du bus de données en 240 et la mémoire interne RAM 258 le circuit comprend en outre une bascule 242 pour enclencher l'adresse lorsqu'il est configuré dans le mode MCA Cette bascule est nécessaire car l'adresse n'est pas enclenchée sur le bus dans l'architecture MCA. La figure 30 représente une autre bascule d'adresses pour des bits d'adresses supplémentaires Le circuit de la figure 30 comprend aussi un ensemble de circuits de décodage qui sont employés pour décoder les signaux de commande MCA et ISA En général, cet ensemble de circuits détecte la sorte de cycle du bus qui est désirée, décode ces signaux et excite les signaux appropriés de lecture ou d'écriture en mémoire pour les commandes internes de la puce. La figure 31 représente d'autres circuits de décodage de signaux de commande au même effet. En liaison avec la figure 32, on a représenté l'ensemble des circuits de décodage pour la sélection de la puce Pour déterminer si la puce (c'est- à-dire la puce 180) a été sélectionnée, ce circuit décode les bits de poids fort de l'adresse entrant dans la puce Le circuit détecte également le fait que les circuits des figures 30 et 31 ont ou non décodé une entrée/sortie ou un cycle de mémoire Sur la base du fait qu'une entrée/sortie (E/S) ou qu'un cycle de mémoire a été décodé ou non, le circuit de la figure 32 décode différemment la gamme des adresses L'ensemble des circuits de décodage d'adresses de la figure 32 permet aussi un accès sélectif soit aux ports E/S soit à l'espace mémoire adressé par la puce. La figure 33 décrit les circuits de sélection d'interruption qui fournissent cette sortie d'interruption à partir de la puce sur des fils 188 (figure 3) Ordinairement seule l'une des interruptions sera validée pour une mise en oeuvre donnée du matériel. Pour une application MCA, l'initialisation "sélection d'option programmable" (POS) peut être utilisée pour déterminer le niveau d'interruption et par conséquent quel fil seront actifs lorsqu'une interruption se produit Dans une mise en oeuvre ISA, les commutateurs SO-Sl (voir figure 3) sont réglés de manière appropriée pour sélectionner le niveau d'interruption désiré. Ordinairement, des cavaliers ou des commutateurs à broche en ligne doubles (DIP) sont utilisés à cet effet et peuvent être fixés aux fils SO et Sl de la puce. En conformité avec la spécification de l'architecture micro-canal, la puce de la présente invention peut être configurée en logiciel L'ensemble du circuit de la figure 34 effectue cela Lorsqu'un ordinateur MCA est mis sous tension, un programme de configuration passe qui recherche le fichier du disque pour qu'il soit adapté au registre ID de chaque dispositif en option enfiché dans le panneau principal. Une carte de contrôleur IPSI est un exemple d'un tel dispositif En utilisant la puce de l'invention pour mettre en oeuvre une carte de contrôleur IPSI, le registre ID de la puce sera lu à l'instant de la mise sous tension, s'il n'a pas été précédemment installé dans l'installation Ensuite, l'utilisateur a l'opportunité par l'intermédiaire du programme de configuration du logiciel de sélectionner les paramètres de configuration désirés tels que l'adresse de base et le niveau des interruptions Le programme de la configuration établit ces valeurs et les stocke dans une mémoire rémanente qui fait partie de l'installation informatique Ainsi, lorsque l'installation informatique est mise hors tension et ensuite mise sous tension, la mémoire rémanente conserve les paramètres de configuration qui sont alors utilisés pour établir ou configurer la puce IPSI. L'ensemble des circuits des figures 34 et 35 contient la logique de décodage et les portes nécessaires pour accéder aux registres de sélection d'option programmables (POS) en mémoire rémanente. La figure 36 représente le registre des masques d'interruption pour mettre en oeuvre le masque d'interruption du port 9 Ce masque d'interruption est également rapporté au tableau III Ce circuit est un port d'entrée pour permettre à l'utilisateur de programmer les interruptions qui doivent être validées et invalidées Le registre sert de port d'état à partir duquel on peut lire la configuration d'interruption sélectionnée. 39 2674045 Considérations sur le logiciel Il y a principalement trois façons selon lesquelles l'ordinateur principal peut parler à la puce du mode de réalisation ayant actuellement la préférence par l'intermédiaire du logiciel L'une consiste à utiliser le système BIOS, la deuxième concerne un circuit d'attaque de dispositif chargeable et la troisième les sous-programmes exécutables qui peuvent être fournis comme un lot d'outils ayant des fonctions différentes que l'ingénieur de logiciel peut choisir Le port 8 est fourni pour permettre un accès direct au bus des données IPSI sans génération d'un accusé de réception Ce port est donc utile pour lire la cible pendant le "Message En Phase" Cela permet au processeur de décider si le message doit être accepté ou rejeté Si le message doit être accepté, la lecture du port O engendrera l'accusé de réception Le port 8 doit également être utilisé à la place du port O lors de l'établissement de l'ID avant la sélection de l'arbitrage ou de la cible Cela est important sur les systèmes multi-initiateurs, car des accusés de réception parasites pourraient interrompre le fonctionnement d'un autre initiateur Enfin, le port 8 doit être utilisé à la place du port O lors de la lecture de l'identificateur pendant une nouvelle sélection. Lors d'une déconnexion après une Donnée Hors phase, il est nécessaire de lire le compteur PEPS, d'ajuster le pointeur courant des données IPSI avec cette quantité et d'effacer le tampon PEPS Lors d'une déconnexion à la suite d'une donnée en phase, les contenus du tampon PEPS doivent être lus complètement avant de commencer un autre transfert des données Le compteur PEPS indique seulement le volume des données présentes dans le tampon PEPS principal Dans le mode synchrone, les PEPS d'entrée et de sortie contiennent des données qui ont été demandées et dont on n'a pas accusé réception Le logiciel suppose qu'une déconnexion 2674045 se produira normalement seulement après qu'il y a eu accusé de réception de toutes les demandes. On donne ci-après un exemple d'un code 80286 approprié qui peut être utilisé pour commander la puce du mode de réalisation ayant actuellement la préférence. RMC-1800, EXEMPLE DE CODE D'ADAPTATEUR PRINCIPAL IPSI, r SOUS PROGRAMME D'ARBITRAGE SOUS PROGRAMME DE SELECTION SOUS PROGRAMME D'ENTREE DES DONNEES SOUS PROGRAMME DE SORTIE DES DONNEES 286 c DECLARATIONS DES PROCEDURES EXTERNES EXTRN START TIMER:NEAR; DEMARRE LA MINUTERIE EXTRN CHECK TIMER:NEAR; VERIFIE L'EXPIRATION DE LA MINUTERIE EXTRN TMCL 800 _ERROR:NEAR; SOUS PROGRAMME DE TRAITEMENT D'ERREUR EXTRN READ PTRUPDATE:NEAR; LECTURE DU POINTEUR ET COMMANDE DE LA CIRCULATION EXTRN WRITEPTRUPDATE:NEAR; ECRITURE DU POINTEUR ET COMMANDE DE LA CIRCULATION TMC-1800, DEFINITIONS DES ADRESSES DE PORT (ADRESSES DE BASE E/S = 140 H SUPPOSEE) SCSIACK SCSI STAT SCSI CTL ADSTAT FIFO CTL SCSI NO ACK FIFO = 140 H; LIRE/ECRIRE AU PORT O DONNEE IPSI AVEC ACCUSE DE RECEPTION = 141 H; LIRE PORT 1 ETAT IPSI = 141 H; ECRIRE PORT 1 COMMANDE IPSI = 142 H; LIRE PORT 2 ETAT ADAPTATEUR = 144 H; ECRIRE PORT 4 COMMANDE PEPS = 148 H; LIRE/ECRIRE PORT 8, DONNEE IPSI AVEC/SANS ACCUSE DE RECEPTION = 14 CH; LIRE/ECRIRE PORT C, PEPS TMC-1800 DEFINITIONS DES BITS DES PORTS D'ETAT IPSI BSY = O 1 H TMC-1800 DEFINITIONS COMMANDE IPSI ENABLE CODE SELATNCODE ATN EN CODE = 80 H = 8 AH = 88 H IPSI OCCUPE DU CODE DE COMMANDE DES PORTS DE VALIDER BUS IPSI VALIDER BUS IPSI ET EXCITER SEL ET ATN VALIDER BUS IPSI ET EXCITER ATN 42 2674045 TMC-1800 DEFINITIONS L'ADAPTATEUR ARB DONE = 02 H TMC-1800 DEFINITIONS PEPS ARB FIFODIR FIFO EN = 04 H = 40 H = 80 H DES BITS DES PORTS D'ETAT DE ARBITRAGE TERMINE DES BITS DES PORTS DE COMMANDE INITIALISER ARBITRAGE DIRECTION PEPS (ETABLIE POUR ECRITURE) VALIDER PEPS POUR DONNEE IPSI DEFINITION DIVERSES HALFSECOND = 9 THREE SECONDS = 54 TEXT SEGMENT ASSUME ASSUME ASSUME REPERES D'HORLOGE POUR UNE DEMI SECONDE REPERES D'HORLOGE POUR 3 SECONDES BYTE PUBLIC 'CODE' CS: TEXT DS:_TEXT ES: TEXT VARIABLES DE PROGRAMME (INCLUSES DANS LE SEGMENT DE TEXTE; ON SUPPOSE QUE LE CODE EST A BASE DE RAM) SCSIADDRESS DATA POINTER OURID TARGET BIT DB ?; ADRESSE DE CIBLE IPSI DD ?; ADRESSES DE TAMPON DB ?; TMC-1800 BIT ID IPSI INITIALISE DB 1,2,4,8,16,32,64,128 TMC-1800 ARB AMORCER UNE CONNEXION IPSI PAR ARBITRAGE L'ATTENTE MAXIMUM POUR UN ACHEVEMENT REUSSI EST 3 SECONDES. CE SOUS PROGRAMME PEUT ETRE APPELE LIBREMENT TANT QU'IL N'EXISTE AUCUNE CONNEXION IPSI ACTIVE ENTRE LE TMC-1800 ET UNE CIBLE; UNE PHASE LIBRE DU BUS EST DETECTEE PAR LE MATERIEL. TMC 1800 ARB PROC PUSH PARAMETRES D'ENTREE: NOTRE ID = BIT ID IPSI, TMC-1800 (UN BIT INITIALISE) REGISTRES PRESERVES: CX, DX REGISTRES CHANGES: AX PARAMETRES DE SORTIE: REPORT INITIALISE SI EXPIRATION NEAR CX t r r r r r r PUSH DX XOR AX,AX MOV DX,SCSICTL OUT DX,AL MOV AL,OUR ID MOV DX,SCSINOACK OUT DX,AL MOV AL, ARB MOV DX,FIFOCTL OUT DX,AL MOV CX,THREESECONDS CALL STARTTIMER CLC TMC 1800 ARB LP: MOV DX,ADSTAT IN AL,DX TEST AL,ARB DONE *JNZ TMC 1800 _ARB END CALL JNC MOV CALL CHECKTIMER TMC 1800 _ARBLP AB,-1 TMC 1800 _ERROR TMC 1800 _ARB-END: POP DX POP CX RET TMC 1800 _ARB ENDP SAUVEGARDER LES REGISTRES INVALIDER LES CIRCUITS D'ATTAQUE DES DONNEES INITIALISER NOTRE BIT ID DEMARRER ARBITRAGE TEMPORISATION 3 SECONDES DEMARRER SOUS-PROGRAMME D'HORLOGE - UTILISE CX EFFACER LE DRAPEAU D'ERREUR ENTRER L'ETAT DE L'ADAPTATEUR ALLER SI ARBITRAGE ACHEVE SOUS PROGRAMME POUR VERIFIER LA TEMPORISATION REPORT INITIALISE INDIQUE TEMPORISATION CODE D'ERREUR POUR TEMPORISATION ARBITRAGE SOUS PROGRAMME DE TRAITEMENT D'ERREUR RETABLIR LES REGISTRES TMC-1800 SEL EXECUTER LA PHASE DE SELECTION AVEC ATTENTION EXCITEE (POUR PERMETTRE LA TRANSMISSION ULTERIEURE D'UN MESSAGE, TEL QU'UNE IDENTITE, A LA CIBLE). ATTENDRE LA CIBLE POUR EXCITER LA LIGNE IPSI OCCUPEE L'ATTENTE MAXIMUM EST 1/2 SECONDE CE SOUS PROGRAMME EST APPELE A LA SUITE D'UN ACHEVEMENT REUSSI DE TMC 1800 _ARB. PARAMETRES D'ENTREE: SCSIADDRESS = ADRESSE CIBLE OUR-ID = TMC-1800, BIT ID IPSI (UN BIT t r t t INITIALISE) REGISTRES PRESERVES: BX,CX,DX REGISTRES CHANGES: AX PARAMETRES DE SORTIE: REPORT INITIALISE SI TEMPORISATION TMC 1800 SEL PROC PUSH PUSH PUSH MOV MOV OUT MOV MOV OUT MOV XOR MOV OR MOV OUT XOR MOV OUT MOV CALL NEAR BX CX DX AL,ENABLECODE DX,SCSICTL DX,AL AL,SELATN CODE DX,SCSICTL DX,AL BL,SCSIADDRESS BH,BH AL,TARGETBIT(BX) AL,OUR_ID DX,SCINOACK DX,AL AL,AL DX,FIFO_CTL DX,AL CX,HALF_SECOND START TIMER CLC TMC 1800 _SEL-LP: MOV DX,SCSI-STAT IN AL,DX TEST AL,BSY MOV AL,ATN EN CODE JNZ TMC 1800 _SEL-END SAUVEGARDER LES REGISTRES VALIDER BUS EMETTRE SELECTION AVEC ATN OBTENIR ADRESSE CIBLE IPSI OBTENIR BIT ID CIBLE INITIALISER EGALEMENT NOTRE ID SORTIR MOT DE SELECTION IPSI ARRETER ARBITRAGE TEMPORISATION 1/2 SECONDE DEMARRER LE SOUS-PROGRAMME D'HORLOGE UTILISE CX EFFACER DRAPEAU D'ERREUR ENTRER ETAT IPSI SOULIGNER ATN SUR SORTIE POURSUIVRE SI BSY EXCITE CALL CHECK-TIMER JNC MOV TMCL 800 _SEL LP AH,-2 CALL TMC-L 800 ERROR MOV AL, O TMCL 800 SELEND: MOV DX,SCSICTL OUT DX,AL POP DX POP CX POP BX RET TMCL 800 SEL ENDP : SOUS PROGRAMME POUR VERIFIER DELAI D'ATTENTE REPORT INITIALISE INDIQUE EXPIRATION DU DELAI CODE D'ERREUR POUR DELAI D'ATTENTE SEL SOUS PROGRAMME DE TRAITEMENT D'ERREUR BUS IPSI EN ATTENTE SUR SORTIE LIBERER SEL RETABLIR LES REGISTRES TMC-1800 LECTURE TRANFERER LA DONNEE DU PORT IPSI VIA LE PEPS A LA ZONE TAMPON POUR DONNEES CE SOUS PROGRAMME EST APPELE LORSQUE LA PHASE D'ENTREE DE DONNEES IPSI EST DETECTEE PEPS DOIT ETRE EFFACE *AVANT* QUE COMMENCE DONNEE EN PHASE (c'est-à-dire AU DEBUT DE LA PHASE D'ORDRE) SI DES TRANSFERTS SYNCHRONES SONT UTILISES, LE REGISTRE DE COMMANDE DE MODE (PORT 3) DOIT ETRE EGALEMENT CONFIGURE PENDANT LA PHASE ORDRE. PARAMETRES D'ENTREE: POINTEUR DE DONNEES = POINTEUR SUR DEBUT TAMPON DE DONNEES REGISTRES PRESERVES: CX,DX,ES,DI REGISTRES CHANGES: AX PARAMETRES DE SORTIE: POINTEUR DE DONNEES = POINTEUR SUR FIN DE TAMPON DE DONNEES TMC 1800 READ PROC PUSH PUSH PUSH PUSH XOR NEAR ES DI CX DX CX, CX MOV AL,FIFOEN MOV DX,FIFO-CTL OUT DX,AL TMCL 800-READ-LP: CALL READ PTR-UPDATE r r r r r r r r r r r r r SAUVEGARDER REGISTRES LONGUEUR DU TRANSFERT PREMIERE PASSE = O VALIDER PEPS LIRE POINTEUR DU SOUS PROGRAMME DE MISE A JOUR READ-PTR-UPDATE LE SOUS PROGRAMME EXECUTE LES FONCTIONS SUIVANTES: METTRE A JOUR POINTEUR DE DONNEES ET LONGUEUR TOTALE DE TRANSFERT (EN UTILISANT CX) DETERMINER LA NOUVELLE LONGUEUR DE TRANSFERT (RENVOYEE EN CX) VERIFIER LE CHANGEMENT DE HORS PHASE DE LA DONNEE (RENVOYER INITIALISATION REPORT LORSQ Ut IL EST EFFECTUE) DETECTER ET TRAITER LE DEPASSEMENT, LE DEPASSEMENT DE CAPACITE NEGATIF ET LES ERREURS DE TEMPORISATION r r r r r r r r r r r r r r r r r r TM Ck 800 _READ EXIT DI,DATAPOINTER DX,FIFO CX,L TMC 1800 _READ-1 DESIGNER LE TAMPON DE DONNEES (DEST) DESIGNER PEPS (SCR) VERIFIER LES TRANS DE 1 MULTIPLET POURSUIVRE SI MULTIPLETS MULTIPLES : ENTRER 1 MULTIPLET A PARTIR DE PEPS SHORT TMC 1800 _READ LP TMC 1800 _READ 1: AND CX,OFFFEH PUSH CX SHR CLI REP STI POP CX,L INSW CX FAIRE COMPTAGE PAIR SAUVEGARDER LONGUEUR DE TRANSFERT FAIRE COMPTAGE DE MOT ENTRER A PARTIR DE PEPS RETABLIR LONGUEUR DE TRANSFERT SHORT TMC 1800 _READ LP TMC 1800 _READ EXIT: POP DX POP CX POP DI POP ES RET TMC 1800 READ ENDP RETABLIR LES REGISTRES TMCL 800 WRITE (ECRITURE) TRANSFERER LA DONNEE AU PORT IPSI VIA LE PEPS A PARTIR DE LA ZONE TAMPON DE DONNEES CE SOUS PROGRAMME EST APPELE LORSQUE LA PHASE DE SORTIE DES DONNEES IPSI EST DETECTEE PEPS DOIT ETRE EFFACE AVANT QUE COMMENCE LA PHASE SORTIE DES DONNEES (c'est-à-dire, AU DEBUT DE LA PHASE ORDRE) SI LES TRANSFERTS SYNCHRONES SONT UTILISES LE REGISTRE DE COMMANDE DE MODE (PORT 3) DOIT ETRE EGALEMENT CONFIGURE PENDANT LA PHASE ORDRE. PARAMETRES D'ENTREE: POINTEUR DE DONNEES = POINTEUR SUR DEBUT DU TAMPON DE DONNEES REGISTRES PRESERVES: CX,DX,DS,SI REGISTRE CHANGES: AX PARAMETRES DE SORTIE: POINTEUR DE DONNEES = POINTEUR SUR FIN DU TAMPON DE DONNEES JC LES MOV CMP JNZ CLI INSB STI JMP f f f f f f f f f f f f TMC 1800 _WRI= PROC PUSH PUSH PUSH PUSH XOR MOV MOV OUT NEAR SI DS CX DX CX, CX AL,FIFO DIR DX,FIFO CTL DX,AL ADD AL,FIFOEN OUT DX,ALTMCL 800 _WRITE LP: CALL WRITE PTR UPDATE SAUVEGARDER LES REGISTRES LONGUEUR DE TRANSFERT PREMIERE PASSE = O INITIALISER SENS PEPS A DESTINATION DE L'EXTERIEUR VALIDER PEPS SOUS PROGRAMME DE MISE A JOUR DU POINTEUR D'ECRITURE WRITE PTRUPDATE ROUTINE EXECUTE LES FONCTIONS SUIVANTES: MISE A JOUR DU POINTEUR DE DONNEES ET LONGUEUR DE TRANSFERT TOTALE (EN UTILISANT CX) DETERMINE LA LONGUEUR SUIVANTE DE TRANSFERT (RENVOYEE DANS CX) VERIFIE LE CHANGEMENT DE LA PHASE DE SORTIE DES DONNEES (RENVOI REPORT INITIALISE LORSQUE CELA *EST FAIT) DETECTE ET TRAITE LE DEPASSEMENT DE CAPACITE, LE DEPASSEMENT DE CAPACITE NEGATIF ET LES ERREURS DE TEMPORISATION JC TMC 1800 WRITE EXIT LDS SI,DATA_POINTER MOV DX,FIFO CMP CX, 11 JNZ TMC 1800 _WRITE 1 DESIGNE LE TAMPON DE DONNEES (SRC) DESIGNE PEPS (DEST) VERIFIE LES TRANS DE 1 MULTIPLET POURSUIVRE SI MULTIPLET MULTIPLE SHORT TMC 1800 _WRITE LP TMC 1800 WRITE 1: AND CX,OFFFEH PUSH CX SHR REP POP CX, 1 OUTSW CX JMP SHORT TMC 1800 _WRITE LP FAIRE LE COMPTAGE PAIR SAUVEGARDER LA LONGUEUR DE TRANSFERT FAIRE LE COMPTAGE DE MOT SORTIE VERS PEPS RETABLIR LA LONGUEUR DE TRANSFERT OUTSB JMP 48 2674045 TMC 1800 WRITE EXIT: POP DX POP CX POP DS POP SI: RETABLIR LES REGISTRES RET TM C 1800 WRITE ENDP TEXT ENDS END En résumé, la présente invention fournit un mode de réalisation extrêmement souple à une puce d'un circuit de contrôleur IPSI pouvant être utilisé pour des applications soit MCA soit ISA La puce est facilement configurée par la broche de sélection de mode, constituée par l'utilisateur, pour correspondre aux architectures soit MCA soit ISA. La présente invention n'est pas limitée aux exemples de réalisation qui viennent d'être décrits, elle est au contraire susceptible de modifications et de variantes qui apparaîtront à l'homme de l'art. ANNEXE NOM PAL 01 DISPOSITIF p 16 r 8 /**************************************************************I /* BROCHES D'ENTREE */ I**************************************************************/ = CLK 400 = COARB = SBSY = SSEL = l HIGHER = l RESET = l ENABLEA /* /* /* /* /* /* /* CLOCK DERIVED FROM BUS OSC */ ARBITRATION PENDING REQ FROM CPU */ SCSI BUSY LINE */ SCSI SELECT LINE */ HIGHER ADDRESS ARBITRATING */ CHIP RESET */ OUTPUT ENABLE PIN */ I**************************************************************/ /* BROCHES DE SORTIE */ /**************************************************************/ PIN 12 = PIN 13 = PIN 14 = PIN 15 = PIN 16 = PIN 17 = PIN 18 = PIN 19 = l CNTO l CNT 1 l CNT 2 l ARBSTO 2 l ARBST 01 l ARBST 00 l ARBCMPT l ARBSTOA /* /* /* /* /* /* /* /* INTERNAL INTERVAL COUNTER */ INTERNAL INTERVAL COUNTER */ INTERNAL INVERVAL COUNTER */ SET SELECT PLUS TARGET ID */ SET ADDRESS ON BUS & BUSY */ WAIT FOR BUS FREE STATE */ ARBITRATION COMPLETE */ BUS FREE COMPLETE, WAIT FOR SETTLE */ /**************************************************************EQUATIONS /* EQUATIONS */ I/**************************************************************/ ARBSTOO D = ARBSTOA D = COARB ARBST 00 ARBSTOA ARBSTOA ARBSTOA & l ARBSTO 1 & l ARBCMPT & l ARBSTOA & l SBSY & l SSEL; & l SBSY & l SSEL & COARB # & l CNTO # & CNT 1 # & CNT 2; ARBSTO 1 D = ARBSTOA & ISSEL & COARB & CNTO & l CNT 1 & l CNT 2 # ARBSTO 1 & l HIGHER & l SSEL & l ARBCMPT; /* 2 4 u */ ARBSTO 2 D = ARBSTO 1 & l HIGHER & l SSEL & CNTO & CNT 1 & CNT 2 # ARBSTO 2 & COARB; ARBCMPT D = ARBSTO 1 & l HIGHER & l SSEL & CNTO & CNT 1 & CNT 2 # ARBSTO 2; /* ARBITRATION COMPLETE-SET SSEL */ CNTO D = l CNTO PIN PIN PIN PIN PIN PIN PIN & l ARBST 00; ZSY ZSV z SY ZSV ZSY ESY l 'a ZINI I Sv O SY 1 ZYS úYS 1 úVVS s ISYV O t YS 33 OSEY 3 r YS s ISY SYS ISY 3 OSY 9 S = h/+ 5 SNOI Yv N Y/ / Sf I VIYC NO Ig V Va CIIO Itd UHZIH 4/ l Ea H-I Hi = 61 N Id / y USHDIH HO NOII:INS UO NUSO SHVIGYIIZW NI */ l NI i = 81 N Id / FS:AI Ut Ia sfs ISDS S Eq NS */ l YNSOS = ZI N Id + SIMLOS sa Sa HDOS 4 h TSI Ea Snl znld Ifn O IOULNOD /h SZI Sc INOD NOIAIEMV / TO O SIVIS NOIIVIIESV /V NO Il DSUIG O/I Ali VJIVQ Gh ITZSIîD: X Ig sya avxss JJIE v ta avasiesa À yj Iy Y G OSIO:Eh I Al E YZY O:EIZID l MMO Oa'tSs ID:E' Z Iq MYO'C G:EZIZSIDE%:I li IVI MO O:Eisl ZE Isd% ISDS I SDS ISSD ISDS ISDS ISDS I SS Il ES sssaacv s Ooaoa x Iid O Ira S Sta"Iv asa OD Gsa Lz Ia OI Ea ssaac G sao Osa x I O or Ia 4 f Y/ Y/ Y/ Y/ l S Si OD l i OZ Ssayi OI Si 9 'VS l YS t Ys À EVS Z VYS f lys EYS 1 OYS ZS'V; f z SV i IS Yi l OS Yi SSUINS, C SSHDOUS 4/ 8191 Id IIS Oas Ici zo 70 qa NON f O 1 L Savi 13 #ooissgvy; fO Os E'uvi 1 0 OJ 1 gauvi ZLND s IDZIND ? TIND i ie TIND '3 TIND ' TIN Di e 9 0N Di O 0ND O Zl N Di Ol ND = a ZIND = Ga'IND St O tz 9 Z Os /h 9 /h O h h ú 0 J ZI h M O Z X It 1 li 0 l Iq /Y IM = 91 = Sl = Pl = ú 1 = 6 = 8 = L = 9 = S L = T = = Z = I N Ic N Idc N Ic N Ic N Idc N Idc N Id N Idc N Idc N Idc N Id NI d N Id N Id & & & & ASO & & A 51 A 51 A 52 # A 52 # A 52; & COBUS & ARBSTO 1 & ARBCMPT NOM, PAL 03 DISP QSITIF p 16 L 8 **************************************************************BROCHES D'ENTREE* /* BROCHES D 'ENTREE / = SA 13 = SA 14 = l LVL 3 = SA 15 = l LVL 2 = SA 16 = l AMEMR = P 52 EN = AMEMW = AMIO = CDSET PIN 15 = l ACMD PIN 17 = INLATCH /* Address bit 13 */ /* Address bit 14 */ /* Memory level select bit 3 */ /* Address bit 15 */ /* Memory level select bit 2 */ /* Address bit 16 */ /* Memory read cycle */ /* Micro Channel mode */ /* Memory write cycle */ /* Micro Channel M/-IO */ /* Micro Channel setup (dual function: PC/AT IOW-) */ /* Micro Channel cmd (dual function: PC/AT IOR-) */ /* Latch enable for Micro Channel */ /*BROCHES DE SORTIE************************************************************* /* BROCHES DE SORTIE / /***************************************************************/ PIN 12 = IORNG PIN 14 = l AADSET PIN 16 = MEMCYL PIN 18 = MEMCY PIN 19 = l SELECTED /* I/O address range */ /* Buffered setup signal */ /* Memory cycle latched */ /* Memory cycle */ /* Memory address range selected */ /**************************************************************I /* EQUATIONS */ /**************************************************************/ IORNG = l SA 15& l SA 14& l SA 13& ACMD & l P 52 EN # l SA 15 & l SA 14 & l SA 13 & CDSET & l P 52 EN # ISA 15 & l SA 14 & l SA 13 & l AMIO & P 52 EN; INTER SOENA = SA 2 SA 1 SA 1 SAO SAO SAO = l SIO l SIO l SIO PIN 1 PIN 2 PIN 3 PIN 4 PIN 5 PIN 6 PIN 7 PIN 8 PIN 9 PIN 11 PIN 13 = CDSET; MEMCYCL MEMCY SELECTED = INLATCH & MEMCY # l INLATCH & MEMCYL; AMEMR # AMEMW AMIO & P 52 EN; = MEMCY & l LVL 3 & l LVL 2 & l SA 16 & SA 15 & l SA 14 & l SA 13# /* c 8000 */ MEMCY & l LVL 3& LVL 2 & l SA 16& SA 15 & l SA 14 & SA 13 f /* oa OOO */ MEMCY & LVL 3 & l LVL 2& l SA 16 & SA 15 & SA 14 & SA 13 $ /* ca OOO */ MEMCY & LVL 3 & LVL 2 & SA 16 & SA 15 & SA 14 & SA 13; /* da OOO */ NOM -PAL 04 D-ISPOSTTIF p 16 L 8 /* BROCHES D'ENTREE */ /**************************************************************I PIN 1 PIN 2 PIN 3 PIN 4 PIN 5 PIN 6 PIN 7 PIN 8 PIN 9 PIN 11 PIN 13 PIN 14 = IOM 4; /* I/O address bit 4 matched */ = IOM 5; /* I/O address bit 5 matched */ = IORNG; /* I/O cycle, address bits 15-13 bits in range */ = SA 12 A; /* Address bit 12 */ = S All A; /* Address bit 11 */ = SA 1 OA; /* Address bit 10 */ = SA 09 A; /* Address bit 9 */ = SA 08; /* Address bit 8 */ = SA 07; /* Address bit 7 */ = SA 06 -; /* Address bit 6 */ = INLATCH; /* Micro Channel latch enable */ = IA 03; /* Address bit 3 */ I**************************************************************/ /* BROCHES DE SORTIE- */ PIN 12 = PORTL PIN 15 = IOSEL 1 PIN 16 = IA 08 PIN 17 = PORTI PIN 18 = IOSELECT PIN 19 = PORTH /* I/O ports 0-7 */ /* Partial term in IOSELECT */ /* Address bit 8 latched */ /* I/O ports */ /* I/O address decode */ /* I/O ports 8-15 */ AADSET /* EQUATIONS */ /**************************************************************I PORTL = PORTI & l IA 03; IOSEL 1 = l SA 12 A &l S Al IA& l SA 10 A& l SAO 9 A; IA 08 = INLATCH & SAO 8 l INLATCH & IA 08; PORTI = INLATCH & IOSELECT l INLATCH & PORTI; IOSELECT = IORNG & IOSEL 1 & SAO 8 & l SAO 7& SAO 6 & IOM 5 & IOM 4; PORTH = PORTI & IA 03; 54 2674045 REVENDICATIONS 1 Dispositif d'interface d'installation informatique pour connexion entre un bus d'ordinateur principal prédéfini ( 104) et un bus d'interface ( 106) de petit système informatique d'entrée/sortie (IPSI) afin d'interconnecter un ordinateur à un dispositif périphérique, caractérisé en ce qu'il comprend un bus interne de données ( 118); un tampon Premier Entré-Premier Sorti principal (PEPS) ( 138) accouplé audit bus interne de données; un premier moyen d'interface pour accoupler ledit bus IPSI audit bus interne de données; un second moyen d'interface pour accoupler ledit bus d'ordinateur principal audit bus interne de données; un moyen de déclenchement logique de commande pour faire en sorte que la donnée transmise entre ledit bus IPSI et ledit premier moyen d'interface circule sur ledit bus interne et passe en outre de ce bus audit tampon PEPS principal; un moyen de surveillance afin de surveiller la quantité des données dans ledit tampon PEPS principal et pour engendrer une information pour placement sur ledit bus de l'ordinateur principal comme indication de la plénitude de ce tampon PEPS principal. 2 Dispositif selon la revendication 1, caractérisé en ce que ledit moyen de surveillance engendre des données de comptage indiquant la quantité des données stockées dans le tampon PEPS principal. 3 Dispositif selon la revendication 1, caractérisé en ce que le moyen de surveillance produit un signal d'interruption pour placement sur le bus de l'ordinateur principal dans le cas o la quantité des données stockées dans le tampon PEPS principal atteint un niveau prédéfini. 4 Dispositif selon la revendication 1, caractérisé en ce que ledit moyen de surveillance 2674045 comprend en outre un moyen pour établir des pointeurs d'adresses de lecture et d'écriture pour désigner l'emplacement dans le tampon PEPS principal d'o la donnée est extraite et dans lequel elle est écrite. 5 Dispositif selon la revendication 1, caractérisé en ce que ledit premier moyen d'interface comprend un tampon PEPS d'entrée/sortie. 6 Dispositif selon la revendication 1, caractérisé en ce que ce premier moyen d'interface comprend un tampon PEPS d'entrée/sortie comportant un moyen pour surveiller la plénitude dudit tampon. 7 Dispositif selon la revendication 1, caractérisé en ce que le premier moyen d'interface comprend, en combinaison, un tampon PEPS d'entrée/sortie et un moyen de port de donnée montés en parallèle entre le bus IPSI et le bus interne de données, et en ce que le moyen de déclenchement logique de commande achemine sélectivement la donnée entre le bus IPSI et le bus interne de données via le tampon PEPS d'entrée/sortie ou le moyen de port de données. 8 Dispositif d'interface d'installation informatique pour connexion entre un bus d'interface de petit système informatique (IPSI) d'entrée/sortie et un type d'architecture choisi parmi au moins deux types différents d'architectures de bus d'ordinateur principal afin d'interconnecter un ordinateur principal à un dispositif périphérique, caractérisé en ce qu'il comprend: un bus interne de données; un premier moyen d'interface pour accoupler le bus IPSI audit bus interne de données; un second moyen d'interface pour accoupler le bus de l'ordinateur principal au bus interne de données; un moyen de déclenchement logique de commande pour faire en sorte que la donnée transmise entre le bus IPSI et le premier moyen d'interface soit communiqué au bus interne de données et pour faire en outre en sorte que la donnée transmise entre le bus de l'ordinateur et le second moyen d'interface soit transmise au bus interne de données; un moyen logique de production de signaux de commande pour application au bus de l'ordinateur principal, comportant: une première partie destinée à produire des signaux de commande d'un premier type correspondant à un ordinateur principal d'un premier type; une seconde partie destinée à produire des signaux de commande d'un second type correspondant à un ordinateur principal d'un second type; et un moyen constitué par l'utilisateur afin de sélectivement valider l'une et d'invalider l'autre des première et seconde parties de la logique de production de signaux de commande. 9 Dispositif selon la revendication 8, caractérisé en ce qu'il comprend en outre: un moyen logique de production de signaux d'interruption pour application au bus de l'ordinateur principal comportant: une troisième partie destinée à produire des signaux d'interruption d'un premier type correspondant à un ordinateur principal d'un premier type; une quatrième partie destinée à produire des signaux d'interruption d'un second type correspondant à un ordinateur principal d'un second type; et en ce que le moyen constitué par l'utilisateur permet aussi de sélectivement valider l'une et d'invalider l'autre des troisième et quatrième parties de la logique de production de signaux d'interruption. 10 Dispositif selon la revendication 8, dans lequel le moyen constitué par l'utilisateur peut être actionné électriquement. 57 2674045 11 Dispositif selon la revendication 8, caractérisé en ce que le moyen constitué par l'utilisateur est piloté par tension. 12 Dispositif selon la revendication 8, caractérisé en ce que le bus interne de données et le moyen logique de production de signaux de commande sont fabriqués dans une puce ayant une multitude de fils conducteurs de l'électricité, et en ce que le moyen constitué par l'utilisateur est accouplé à au moins l'un des fils. 13 Dispositif selon la revendication 8, caractérisé en ce que le bus interne de données et le moyen logique de production de signaux de commande sont fabriqués dans une puce comportant une multitude de fils conducteurs de l'électricité, et en ce que le moyen logique de production de signaux de commande comprend un moyen répondant au moyen constitué par l'utilisateur pour acheminer lesdits signaux de commande du premier type vers un premier groupe prédéfini desdits fils et pour acheminer lesdits signaux de commande du second type vers un second groupe défini de ces fils. 14 Dispositif selon la revendication 8, caractérisé en ce que le bus interne de données et le moyen logique de production de signaux de commande sont fabriqués dans une puce comportant une multitude de fils conducteurs de l'électricité; en ce que le moyen constitué par l'utilisateur définit au moins un premier état et un second état correspondant à des types différents d'architectures pour le bus de l'ordinateur principal; et en ce que le moyen logique de production de signaux de commande comporte un moyen répondant au moyen constitué par l'utilisateur: a pour acheminer lesdits signaux de commande du premier type vers un premier groupe défini desdits fils lorsque le moyen constitué par l'utilisateur définit ledit premier état; et b pour acheminer lesdits signaux de commande du second type vers un second groupe prédéfini de ces fils lorsque le moyen constitué par l'utilisateur définit le second état. Dispositif selon la revendication 8, caractérisé en ce que le moyen constitué par l'utilisateur est commandé par l'ordinateur principal. 16 Dispositif selon la revendication 8, caractérisé en ce que le moyen constitué par l'utilisateur définit au moins un premier état et un second état correspondant à des types différents de l'architecture du bus de l'ordinateur principal. 17 Dispositif selon la revendication 8, caractérisé en ce que le moyen constitué par l'utilisateur définit au moins un premier état et un second état correspondant à des types différents d'architectures pour le bus de l'ordinateur principal et est sélectivement placé dans l'un des premier et second états par une configuration prédéfinie du matériel.