Brevet FR2614122A1 — publié le 19881021

La présente invention concerne le domaine des systèmes de configuration automatique des ressources pour les ordinateurs. Les ordinateurs, en particulier les micro-ordinateurs, que l'on trouve de nos jours permettent souvent à l'utilisateur de l'ordinateur de configurer les ressources disponibles de l'ordinateur afin de s'adapter à ses besoins propres. Par exemple, un utilisateur ayant besoin de mémoire supplémentaire peut acheter une carte additionnelle. La mémoire est par exemple enfichée dans un connecteur sur une carte mère, comTe dans certains ordinateurs de la série Apple II. On peut configurer un ordinateur avec des cartes permettant de faire fonctionner un moniteur graphique couleur, tandis qu'un autre ordinateur peut posséder des cartes permettant de faire fonctionner un moniteur monochrome. Dans les ordinateurs qui sont construits spécifiquement pour accepter ces cartes additionnelles, il est nécessaire que le processeur central sache quel type de carte se trouve dans chaque connecteur disponible. On utilise plusieurs procédés pour permettre aux systèmes des ordinateurs de déterminer, au moment o le système de l'ordinateur est mis en route, la configuration de leurs ressources installées. Dans certains systèmes d'ordinateurs, un administrateur du système doit indiquer manuellement au système de l'ordinateur les ressources disponibles en introduisant au clavier dans le système les définitions et les adresses des ressources. Un autre procédé utilise le positionnement de commutateurs sur les cartes additionnelles pour l'identification vers l'ordinateur des ressources de la carte. L'art antérieur le plus pertinent connu du demandeur est le système NuBus de Texas Instruments. Le système NuBus utilise un bus avec des possibilités d'adressage sur 32 bits (4 gigaoctets). Par convention du système, les 256 mégaoctets supérieurs de cet domaine adressable-sont réservés à un domaine de contrôle pour les cartes. Le domaine de contrôle est lui-même divisé en seize partitions d'adresses de 16 mégaoctets, affectées chacune à l'une des cartes installées sur le système. Ainsi, le système d'adressage NuBus permet de supporter jusqu'à seize cartes grâce à sa méthode de configuration dynamique. Chacune des seize partitions d'adresses de 16 mégaoctets est elle-même divisée en un domaine adressable de 128 octets de ROM de configuration (Read Only Memory: mémoire morte), et le reste des seize mégaoctets est disponible de la façon définie par la carte en question. Le domaine adressable de 128 octets de ROM de configuration possède des adresses fixes affectées à diverses informations relatives à la carte telles que le numéro de série, l'identification du fabricant, le type de carte, le numéro de pièce, et des décalages d'adresses pointant sur des informations telles que le registre de configuration, la routine de pilotage du périphérique, les outils de diagnostic, etc. Cette convention de division du domaine adressable et l'utilisation de décalages d'adresses permet à la routine de pilotage des périphériques, aux outils de diagnostic et à d'autres informations d'être placés dans le reste des 16 mégaoctets de mémoire, et permet que ces informations occupent des quantités variables de mémoire en fonction du type de carte particulier. En d'autres termes, une carte ayant besoin d'un volume relativement important de code pour la routine de pilotage du périphérique et d'un volume relativement relativement faible de code de diagnostic a la possibilité de n'utiliser la mémoire que dans la proportion nécessaire à chacun des types de codes. Une autre carte qui aurait besoin d'un volume relativement relativement faible de code pour la routine de pilotage du périphérique et d'un volume relativement important de code de diagnostic pourra n'utiliser la mémoire que dans les proportions qui seront nécessaires. On n'a ainsi plus besoin d'une quantité fixe de mémoire pour le code de la routine de pilotage du périphérique, le code de diagnostic, etc. L'information de configuration réside dans une ROM sur chaque carte du système et elle est adressable de la manière décrite plus haut. Au moment du démarrage du système, on exécute automatiquement l'auto-configuration, l'auto-test du système et l'amorçage du processeur en fonction des informations mémorisées dans ces ROMs. Comme on le verra, la présente invention s'écarte de la convention précitée en permettant, entre autres différences, de définir des ressources multiples au lieu d'une série fixe de ressources. L'invention a ainsi pour objet un procédé et un dispositif perfectionnés pour configurer automatiquement les ressources du système d'un ordinateur. L'invention nécessite que chaque carte additionnelle placée dans le système de l'ordinateur possède une ROM de configuration. On affecte à la ROM de configuration une série d'adresses à l'intérieur du domaine adressable du système de l'ordinateur. A l'intérieur de cette série d'adresses, on place un en-tête de format sur l'une des séries d'adresses définissables. L'en-tête de format contient, en autres informations, une valeur de décalage pointant sur un répertoire d'identités de ressources du système. Le répertoire d'identités de ressources du système contient des valeurs de décalage pointant sur des listes de ressource qui décrivent les diverses ressources de la carte. Ce procédé offre, par rapport à l'art antérieur, l'avantage de permettre la définition de ressources multiples du système, au lieu d'une série fixe de ressources. L'en-tête de format contient, outre la valeur de décalage du répertoire, des informations concernant notamment celle(s) des voies d'octet que la carte utilisera, un motif de test pour la validation de l'en-tête de format, un indicateur de niveau de version, une valeur de somme de contrôle pour la validation et la détermination de l'existence ou non d'erreurs dans la ROM de configuration, et un champ de longueur pour indiquer l'adresse la plus basse utilisée par la ROM de configuration. Le bus permettant la communication entre les diverses cartes et le processeur central est divisé en un certain nombre de voies d'octet, chaque voie pouvant véhiculer des données entre les composants du système. L'en-tête de format contient des données décrivant celle(s) des voies d'octet qui sera (seront) utilisée(s) par la carte. La carte peut utiliser toute combinaison possible des voies d'octet disponibles. Au moment o le système est mis en marche, le système détermine l'adresse de l'en-tête de format de chaque carte puis exécute la lecture de la configuration et des ressources de la carte. Le champ de longueur indique l'adresse la plus basse du domaine adressable assigné à la carte qui est utilisée par la ROM de configuration. Ceci permet de laisser disponible le reste de la mémoire pour d'autres besoins. L'un des buts de la présente invention est ainsi de proposer un procédé permettant à un ordinateur de déterminer la configuration de ses ressources au moment o il est mis en route. Un autre but de la présente invention est de proposer un procédé permettant de déterminer l'adresse de l'en-tête de format en fonction de celle(s) des voies d'octet qui est (sont) utilisée(s) par la carte. Un autre but de la présente invention est de proposer un procédé pour déterminer les adresses des données de configuration en fonction d'une valeur de décalage contenue dans l'en-tête de format. Un autre but encore de la présente invention est de proposer un procédé d'utilisation d'un répertoire des ressources et de listes de ressource permettant de définir n ressources pour une carte donnée. Plus précisément, selon un premier aspect de la présente invention il est proposé un procédé de détermination de la configuration des ressources de circuits situés dans un ordinateur qui comporte un connecteur recevant ces circuits pour permettre leur couplage à l'ordinateur, comprenant les étapes suivantes: (a) pour chaque connecteur, examen d'une série d'adresses prédéterminées dans le domaine adressable de l'ordinateur, pour y rechercher le début d'un en-tête de format, (b) pour chaque connecteur, calcul d'une adresse du domaine adressable de l'ordinateur o se trouve un répertoire des ressources, à partir d'une valeur de décalage se trouvant dans un champ de valeur de décalage de répertoire situé dans ledit en-tête de format, (c) lecture séquentielle des rubriques de ce répertoire des ressources et détermination d'une adresse d'une liste de ressource correspondante à partir d'une valeur de décalage se trouvant dans la rubrique, (d) pour chaque liste de ressource, détermination d'informations concernant une ressource dudit circuit par lecture séquentielle des données contenues dans la liste de ressource et des données situées à des adresses calculées à partir des valeurs de décalage contenues dans la liste de ressource, (e) enregistrement de ces informations de ressource dans une table accessible à l'ordinateur; de cette manière, on détermine la configuraticn des ressources dudit circuit dans l'ordinateur. Selon un second aspect de la présente invention, il est proposé un procédé de détermination de la configuration des ressources de circuits situés dans un ordinateur qui comporte un connecteut recevant ces circuits pour permettre leur couplage à l'ordinateur, comprenant les étapes suivantes: (a) pour chaque connecteur, examen d'une mémoire de configuration située à l'une des adresses d'une série d'adresses correspondant à l'octet le plus élevé de chaque voie d'octet d'une partition d'adresses affectée à ce connecteur de carte, pour y rechercher la présence d'un code de voie d'octet correct, (b) pour chacun des connecteurs pour lesquels on a trouvé un code de voie d'octet correct, examen d'un champ de motif de test se trouvant à un décalage prédéterminé par rapport au champ de code de voie d'octet, pour y rechercher la présence d'un motif de test correct, (c) pour chaque connecteur dans lequel on a trouvé un code de voie d'octet correct et un motif de test correct, passage en revue des champs situés à des décalages prédéterminés par rapport au code de voie d'octet, pour y détecter la présence de valeurs correctes, (d) pour chaque connecteur dans lequel on a trouvé un code de voie d'octet correct, un motif de test correct, et dans lequel il existe des valeurs correctes dans les champs qu'on a passé en revue, détermination d'une adresse dans le domaine adressable de l'ordinateur o se trouve un répertc re des ressources en calculant la somme de l'adresse d'un champ de valeur de décalage de répertoire avec le contenu de ce champ de valeur de décalage de répertoire, le champ de valeur de décalage de répertoire étant lui-même situé à un décalage prédéterminé par rapport à l'adresse du champ de code de voie d'octet, (e) lecture séquentielle des rubriques du répertoire des ressources et détermination d'une adresse d'une liste de ressource correspondante pour chacune desdites rubriques à partir d'une valeur de décalage de cette rubrique, (f) pour chacune de ces listes de ressource, détermination des informations correspondant à une ressource dudit circuit par lecture séquentielle des données contenues dans la liste de ressource et des données situées à des adresses calculées à partir de valeurs de décalage contenues dans la liste de ressource, et (g) enregistrement de ces informations décrivant les ressources de chacun desdits circuits dans une table de données accessible à l'ordinateur; de cette manière, on détermine la configuration des ressources du circuit situé dans l'ordinateur. La présente invention propose également un circuit utilisable avec un ordinateur ayant au moins un connecteur pouvant recevoir ce circuit, ce circuit comprenant une mémoire permettant de fournir à l'ordinateur des données de configuration pour la définition des ressources du circuit, ce circuit comprenant: un premier domaine mémoire de ladite mémoire, situé à l'une des adresses d'une série d'adresses prédéterminées de la mémoire, et o se trouve un en-tête de format; un second domaine mémoire de ladite mémoire, se trouvant à une adresse pouvant être déterminée à partir d'une valeur de décalage située dans le premier domaine mémoire, et o se trouve un répertoire des ressources; un troisième domaine mémoire de ladite mémoire, se trouvant à une adresse pouvant être déterminée à partir d'une valeur de décalage se trouvant dans le second domaine mémoire, et o se trouve une liste de ressource; et un quatrième domaine mémoire de ladite mémoire, se trouvant à une adresse pouvant être déterminée à partir d'une valeur de décalage se trouvant dans le troisième domaine mémoire, et o se trouvent des informations de configuration des ressources. Selon un autre aspect de la présente invention, le circuit comprend: un premier domaine mémoire de ladite mémoire, se trouvant à l'une des adresses d'une série d'adresses prédéterminées de la mémoire, et o se trouve un code de voie d'octet; un second domaine mémoire de ladite mémoire, situé à un décalage déterminable par rapport au premier domaine mémoire de ladite mémoire, et o se trouve une valeur de décalage de -7 répertoire; un troisième domaine mémoire de ladite mémoire, se trouvant à une adresse de la mémoire calculée à partir de la valeur de décalage de répertoire se trouvant dans le second domaine mémoire, et o se trouve un répertoire des ressources; un quatrième domaine mémoire de ladite mémoire, se trouvant à une adresse pouvant être déterminée à partir d'une valeur de décalage se trouvant dans le troisième domaine mémoire, et Co se trouve une liste de ressource, cette liste de ressource comportant des rubriques comprenant soit des informations de configuration des ressources soit des valeurs de décalage,; un cinquième domaine mémoire de ladite mémoire, se trouvant à une adresse pouvant être déterminée à partir d'une valeur de décalage se trouvant dans le quatrième domaine mémoire, et o se trouve un type de ressource; et un sixième domaine mémoire de ladite mémoire, se trouvant à une adresse pouvant être déterminée à partir d'une valeur de décalage située dans le quatrième domaine mémoire, et o se trouvent des informations de configuration des ressources. D'autres caractéristiques et avantages de la présente invention apparaîtront à la lecture de la description détaillée ci-dessous faite en référence aux dessins annexés sur lesquels: - la figure 1 est un diagramme illustrant, de façon conventionnelle, l'affectation du domaine adressable d'un système d'ordinateur de l'art antérieur, - la figure 2 est un diagramme illustrant, de façon conventionnelle, l'affectation du domaine adressable dans la présente invention, - la figure 3 est un schéma par blocs illustrant un procédé d'utilisation de pointeurs permettant la définition de n listes de ressource pour une carte dans un ordinateur selon la présente invention, la figure 4 est un diagramme illustrant un en-tête de format et son contenu, conformément aux enseignements de la présente invention, - la figure 5 est un diagramme illustrant un répertoire des ressources et son contenu, conformément aux enseignements de la présente invention, - la figure 6 est un diagramme illustrant une liste de ressource et son contenu, conformément aux enseignements de la présente invention, - la figure 7 est un organigramme illustrant un procédé de détermination d'une configuration lors de la mise en marche d'un ordinateur, conformémemt à la présente invention, - la figure 8 est un organigramme illustrant un procédé permettant de déterminer si l'on a ou non trouvé le début d'un entête de format dans une mémoire de configuration, conformément aux enseignements de la présente invention, - la figure 9 est un organigramme illustrant un procédé pour la lecture de répertoires de ressources et de listes de ressource dans une mémoire de configuration telle que décrite par la présente invention, et - la figure 10 illustre les combinaisons de voies d'octet, avec les valeurs de voies d'octet et les adresses de début d'en-tête de format correspondantes, utilisées dans le mode de réalisation préféré de la présente invention. On va décrire un procédé et un dispositif pour la détermination automatique de la configuration des ressources d'un ordinateur. Dans la description qui va suivre, on a décrit de nombreux détails particuliers pour permettre une compréhension compléte de la présente invention. Il sera évident pour l'homme du métier que l'invention peut être mise en oeuvre sans ces détails particuliers. En revanche, des procédés et des structures bien connues non pas été décrit, de manière à ne pas compliquer inutilement la description de la présente invention. La figure 1 illustre le système NuBus de Texas Instruments, qui est l'art antérieur le plus pertinent connu du demandeur. Le système NuBus utilise un bus avec des possibilités d'adressage sur 32 bits (4 gigaoctets).Les 256 mégaoctets supérieurs de cet domaine adressable sont réservés à un domaine de contrôle 3 pour des cartes. Les 3840 mégaoctets restants sont utilisés pour le domaine mémoire général 2. Le domaine de contrôle 3 est lui-même divisé en seize partitions d'adresses 5 de seize mégaoctets. Chacune des seize partitions d'adresses 6 de seize mégaoctets est elle-même divisée en un domaine adressable de 128 octets de ROM de configuration, et une zone 8 pour d'autres données. La ROM de configuration de 128 octets possède des adresses fixes affectées à diverses informations relatives à la carte telles que le numéro de série, l'identification du fabricar.nt, le type de carte, le numéro de pièce, et des décalages d'adresses pointant sur des informations telles que le registre de configuration, la routine de pilotage du périphérique, les outils de diagnostic, etc. Le procédé permet de disposer de valeurs de décalage pointant vers des informations ne concernant qu'une série fixe de ressources. On a décrit sur la figure 2 la convention d'affectation du domaine adressable dans le mode de réalisation préféré de la présente invention. Le mode de réalisation préféré permet d'adresser quatre gigaoctets de mémoire, représentés par le bloc 20. Les 3840 mégaoctets inférieurs du domaine adressable 22 (adresses hexadécimales 0000 0000 à EFFF FFFF) sont utilisées pour une RAM (Random Access Memory: mémoire vive), pour une ROM, pour le domaine réservé à un super-connecteur, ou bien est réservé pour un usage ultérieur. Les 256 mégaoctets supérieurs 21 (adresses F000 0000 à FFFF FFFF) sont utilisés pour accéder aux cartes et pour leur mémoire de configuration. Le mode de réalisation préféré utilise un circuit de ROM comme moyen mémoire, bien qu'il sera évident à l'homme du métier que l'on peut, en variante, utiliser d'autres moyens. Les 256 mégaoctets supérieurs 21 sont eux-mêmes divisés de la manière indiquée au bloc 24 de la figure 2. Le mode de réalisation préféré possède ordinairement un emplacement de connecteurs défini pour six cartes, numérotées de 9 à E en hexadécimal. On affecte à chaque carte seize mégaoctets du domaine adressable 26. Si l'on se réfère à la figure 2, au bloc 27, les seize mégaoctets du domaine adressable 26 affectés à chaque carte sont eux-mêmes divisés, par convention, en une zone d'en- tête de format 29 et une zone pour d'autres codes et données 28, par exemple pour un répertoire des ressources, des listes de ressource, et du code et des données de ressource. L'ensemble de ces informations constitue la ROM de configuration 27. Le reste du domaine de seize mégaoctects 30 est utilisé pour d'autres besoins du système. Le premier octet de l'en-tête de format 29 doit résider dans l'un des quatre octets supérieurs du domaine de connecteur réservé à cette carte. En d'autres termes, l'en-tête de format doit avoir son premier octet à une adresse hexadécimale comprise entre FnFF FFFF et FnFF FFFC (n étant le numéro du connecteur). La figure 4 décrit l'en-tête de format 29 du mode de réalisation préférentiel. L'en-tête de format 29 consiste en un champ de voie d'octet 42, un champ réservé 43, un champ de motif de test 44, un champ de format 45, un champ de version 46, un champ de contrôle de redondance cyclique (CRC) 47, un champ de longueur 48 et un champ de valeur de décalage du répertoire 49. Le champ de voie d'octet 42 indique à l'ordinateur quelle(s) voie(s) d'octet du bus il faut utiliser lorsque l'on communique avec la ROM de configuration de la carte 27. Le mode de réalisation préférentiel utilise un bus avec quatre voies d'octet numérotées 0 à 3. Cette technique permet au concepteur de la carte de placer la ROM de configuration 27 sur n'importe quelle combinaison des quatres voies d'octets, lui permettant une plus grande souplesse de conception que dans le procédé de l'art antérieur qui nécessitait que les champs de la ROM de configuration se trouvent à des adresses fixes. La figure 10 donne la liste des valeurs 103 correctes de voies d'octet, et les combinaisons 101 de voies d'octet qui peuvent être utilisées, avec les adresses 105 correspondantes de début d'en-tête de format. La valeur du champ de voie d'octet, au bloc 42 de la figure 4, peut être calculée en positionnant un bit dans le quadruplet inférieur du champ de voie d'octet 42 pour chaque voie d'octet utilisée, puis en positionnant le quadruplet supérieur du champ de voie d'octet 42 au complément du quadruplet inférieur. Par exemple, si une ROM de configuration d'une carte 27 utilisait les voies d'octet 0, 1 et 3 pour communiquer avec l'ordinateur, le quadruplet inférieur de son champ de voie d'octet 42 serait positionné à la valeur binaire 1011. Le quadruplet supérieur serait alors positionné au complément du quadruplet inférieur, c'est à dire à la valeur binaire 0100, ce qui donne pour le champ une valeur 26 14122 binaire de 0100 1011, soit une valeur hexadécimale 4B. L'en-tête de format 29 commencerait alors à l'adresse hexadécimale FnFF FFFF, n étant le numéro du connecteur de _a carte. Toujours en référence à la figure 4, le second octet de l'en-tête de format est, dans le mode de réalisation préférentiel, un champ réservé 43, et doit être positionné à a valeur hexadécimale 00. Les quatre octets suivants de l'en-te:e de format sont un motif de test 44 utilisé pour s'assurer cue l'on a trouvé une valeur correcte de voie d'octet. Le mode Se réalisation préféré nécessite, par convention, que ce charp soit positionné à la valeur hexadécimale 5A93 2BC7. Ces valeurs sont utilisées par le mode de réalisation actuellement préféré; il est cependant évident pour l'homme du métier que, dans un autre mode de réalisation, ces valeurs pourraien5 varier sans sortir du cadre de la présente invention. Le champ de format 45 identifie le format de la ROM de configuration 27. Le mode de réalisation actuellement préféré n'autorise qu'une seule valeur dans ce champ, la valeur hexadécimale 01. Il sera cependant évident à l'homme du métier que l'on pourrait affecter un plus grand nombre de valeurs, si l'on définissait plusieurs types de formats. Le champ 46 du niveau de version identifie la version actuelle de la ROM. Généralement, le mode de réalisation préférentiel acceptera des valeurs comprises entre 1 et 9. Les quatre octets suivants forment le champ 47 de contrôle de redondance cyclique (CRC). Ce champ contient une somme de contrôle permettant de valider la ROM de configuration 27. Elle est calculée en appliquant une fonction de "rotation à gauche et addition" sur 32 bits au nombre d'octets indiqué par le champ de longueur 48. On n'utilise que les octets des voies d'octet indiquées par le champ de voie d'octet 42 pour calculer le champ CRC 47. En effectuant le calcul de contrôle de redondance cyclique, la valeur du champ CRC 47 est traitée en tant que telle comme une valeur nulle. Le champ de longueur 48 contient une valeur indiquant le nombre d'octets entre l'adresse de départ de la ROM de configuration 27 et l'octet ayant l'adresse la plus faible utilisée par la ROM de configuration 27. Le reste du domaine adressable réservé à la carte est alors disponible pour d'autres utilisations. La valeur de décalage de répertoire 49 indique le décalage, par rapport à son adresse, de l'adresse du répertoire des ressources, qui correspond au bloc 50 sur la figure 5. On ne compte que les octets des voies d'octet que l'on utilise. Si l'on se réfère maintenant à la figure 3, la valeur de décalage de répertoire est utilisée pour déterminer l'adresse du répertoire des ressources 50 de la carte. Le répertoire des ressources 50 aura une adresse comprise à l'intérieur du domaine de connecteur de la carte (adresses hexadécimales FnOO 0000 à FnFF FFFF, n étant le numéro de connecteur de la carte, à l'exception du domaine alloué à l'en-tête de format). Le contenu du répertoire des ressources 50 est illustré sur la figure 5. Le répertoire des ressources 50 comporte une rubrique pour chaque liste de ressource, qui est répertoriée par l'identificateur de ressource 51 dans le microcode de la carte, et donne une valeur de décalage 52 pointant sur chaque liste de ressource, illustrée au bloc 60 de la figure 6. Le mode de réalisation préférentiel permet d'avoir des identificateurs de ressource 51 compris entre 0 et 254. La série 0 à 127 est réservée pour les listes de ressource 60 nécessaires à l'ordinateur, tandis que la série 128 à 124 peut être affectée par le concepteur de la carte particulière. La dernière rubrique 55 de la liste 50 des ressources doit avoir un numéro d'identification de 255 et une valeur de décalage de 0, et elle indique la fin de la liste. Ce procédé, qui permet d'avoir entre 1 et 255 listes de ressource par carte offre au concepteur de la carte une souplesse qui n'est pas disponible avec le système NuBus de Texas Instruments. Le système NuBus de Texas Instruments ne permet de définir qu'un nombre fixe de type de ressources prédéfinies, et a des pointeurs de décalage dans l'en-tête de format. La présente invention permet d'avoir un mécanisme bien défini autorisant un développement indépendant par le concepteur de la carte particulière. Si l'on revient à la figure 3, les valeurs de décalage 52 du répertoire des ressources 50 pointent sur des listes de ressource 60. Le contenu des listes de ressource 60 est indiauc plus en détail sur la figure 6. Chaque liste de ressource 6E contient une série de références à des informations relatives à une seule ressource. Ces informations doivent comprendre le type 61 et le nom 64 de la ressource. Elle peuvent égalemer.t comprendre des références à des informations concernant l'icone de la ressource 66, les routines de pilotage et d'autres paramètres 67. La liste de ressource 60 comprend un numéro d'identification 63 pour chaque rubrique et une valeur de décalage 62 pointant vers l'information. Les numéros d'identification 63, dans le mode de réalisation préférentiel, doivent être compris entre 0 à 254. Les numéros 0 à 127 sont réservés pour affecter des types de rubriques et les numéros compris entre 128 et 254 sont à la disposition du concepteur de la carte particulière de la manière qu'il le souhaite. La dernière valeur 69 de chaque liste doit avoir une valeur de 255 indiquant la fin de la liste. On associe à chaque numéro d'identification une valeur de décalage donnant l'adresse de l'information. La figure 3 montre l'utilisation des valeur de décalage 62 dans les listesde ressource 60 pour pointer sur le code ou les données 31 associées à la rubrique. Le mode de réalisation préférentiel a besoin d'une liste de ressource spéciale pour toutes les cartes qui communiqueront avec l'ordinateur, appelée liste de ressource de cartes. Cette liste de ressource donne à l'ordinateur les numéros d'identification des cartes, les informations de fabricant, les drapeaux de la carte et le code d'initialisation. Au moment o l'ordinateur est allumé, on exécute un processus en deux étapes. Tout d'abord, on contrôle pour chaque connecteur la présence d'une carte et, si on en trouve une, on lit l'en-tête de format et l'on mémorise dans une table l'information pertinente provenant de l'en-tête de format. On lit ensuite les informations concernant chaque ressource et on les mémorise dans une seconde table, puis on exécute le code d'initialisation de chaque connecteur. Ensuite, lors de la seconde étape, on lit l'information pertinente concernant la routine de pilotage et on mémorise les informations dans la seconde table. Si l'on se réfère à la figure 7, l'organigramme montre que l'ordinateur commence le processus de configuration automatique des ressources en déterminant un premier connecteur à examiner (bloc 70). On sélectionne une première voie d'octet à examiner (bloc 71). Selon la présente invention, on inspecte d'abord la voie d'octet 3 car la plus grande valeur de combinaison de voies d'octet 101 aura un en-tête de format commençant à l'adresse 105 pour cette voie d'octet. On effectue un contrôle pour voir si le début de l'en-tête de format 29 de la carte se trouvant dans le premier connecteur est dans la première voie d'octet (bloc 72). Si l'on n'a pas trouvé le début de l'en-tête de format (embranchement 73), on effectue un contrôle pour déterminer s'il y a d'autres voies d'octet à rechercher pour le connecteur de carte en cours d'examen (bloc 76). Dans l'affirmative, la valeur de voie d'octet est modifiée à la valeur de voie d'octet suivante pour vérification (bloc 75), et l'on vérifie pour cette voie d'octet le début d'un en-tête de format (bloc 72). S'il n'y a plus de voie d'octet à rechercher pour le connecteur de carte en cours d'examen, on enregistre une erreur dans une table (bloc 77). S'il y a encore des connecteurs à vérifier (bloc 74), on incrémente le numéro de connecteur à vérifier (bloc 79) et l'on répète le processus. On a décrit en référence à la figure 8 un procédé utilisé par le mode de réalisation préférentiel de la présente invention pour vérifier si l'on a trouvé le début de l'en-tête de format. Tout d'abord, on examine le champ de code de voie d'octet (bloc 80) pour déterminer s'il contient ou non l'un des codes corrects de voie d'octet qui ont été listés à la figure 10. Si le code de voie d'octet n'est pas correct (embranchement 81), on considère qu'on n'a pas trouvé le début de l'en-tête de format dans cette voie d'octet (bloc 89). Si le code de voie d'octet est correct (embranchement 89), on examine le champ de motif de test (bloc 84) pour déterminer s'il contient ou non le motif de test correct. Dans la négative (bloc 85) on considère que l'on n'a pas trouvé le début de l'en- tête de format dans cette voie d'octet. Dans le cas contraire, si l'on a trouvé le motif de test correct (embranchement 86), ceci indique que l'cr a trouvé le début de l'en-tête de format (bloc 87). Après avoir recherché pour chaque connecteur un en-tête de format 29 de la manière décrite aux figures 7 et 8, on examine les connecteurs ayant un en-tête de format correct 29. On C i, le répertoire des ressources 50, les listes de ressource 60, et d'autres informations, et l'on mémorise dans une table des données telles que le type de référence et les identificateurs du matériel de périphérique. On a décrit, en référence à la figure 9, le processus de lecture des répertoires de ressources et des listes de ressource 60. On exécute tout d'aberd plusieurs passages en revue. On examine le champ réservé pour s'assurer qu'il est positionné à zéro (bloc 90). On examine le champ de format pour s'assurer qu'il contient un code de format correct (bloc 91), on examine le champ de version pour vérifier qu'il contient un niveau de version correct (bloc 92). On examine la valeur de CRC pour s'assurer qu'elle contient la valeur correcte (bloc 94). Si l'une quelconque des étapes de passage en revue échoue, on enregistre un état d'erreur (bloc 99). L'adresse du répertoire des ressources est déterminée en examinant la valeur de décalage contenue dans le champ de décalage de répertoire de l'en-tête de format (bloc 95). Ensuite, pour chaque rubrique du répertoire des ressources, on lit la liste de ressource à laquelle renvoie la valeur de décalage et on mémorise l'information pertinente dans une table (bloc 97). Après avoir lu et mémorisé les informations de ressource pertinentes de chaque liste de ressource de chaque carte, l'ordinateur a achevé le processus de configuration automatique des ressources. Chaque carte installée sur le système a été identifiée par son numéro d'identification, par l'information du fabricant et le type de carte, et on a déterminé les informations concernant le code d'initialisation, les routines de pilotage des périphériques, etc. La présente invention offre un certain nombre d'avantages par rapport à l'art antérieur. Tout d'abord, il n'y a besoin de positionner en un emplacement prédéterminé du domaine adressable que les 20 octets de l'en-tête de format 29. Le système d'adressage de l'art antérieur avait besoin de positionner 128 octets d'information d'en-tête de format 9 en un emplacement fixe. En second lieu, la ROM de configuration 27, qui comprend l'en-tête de format 29, peut se trouver sur n'importe quelle combinaison des voies d'octet disponibles. Le concepteur de la carte n'est pas contraint de placer la ROM de configuration 27 en un endroit fixe, comme dans l'art antérieur. En troisième lieu, on peut définir un nombre quelconque de ressources. Le concepteur de la carte n'est pas limité à un nombre donné de ressources, comme dans l'art antérieur. En quatrième lieu, le procédé de l'art antérieur déterminait le type de ressources en positionnant des bits dans un champ de type de ressources. Chaque bit indiquait un type différent de ressource. Par exemple, le positionnement du bit 0 indiquait une ressource mémoire, le positionnement du bit 1 indiquait une ressource d'amorçage, le positionnement du bit 2 indiquait une ressource de voie d'octet, le positionnement du bit 3 indiquait une ressource de moniteur. En utilisant ce procédé, au fur et à mesure que l'on ajoutait des types de ressources, on devait ajouter des bits supplémentaires à ce champ. Au contraire, la présente invention utilise un champ de huit octets contenant un code identifiant le type de ressource. Ce champ est divisé en sous-champs comprenant un drapeau indiquant le type de champ, un indicateur de catégorie décrivant la catégorie générale de la ressource, un indicateur de sous-classe divisant à nouveau la catégorie générale de la ressource et l'information d'interfaçage de la routine de pilotage. Cette liste d'avantages ne doit pas être considérée comme un énoncé exhaustif des caractéristiques de la présente invention; au contraire, elle ne montre qu'à titre d'exemple certaines des améliorations importantes procurées par la présente invention par rapport à l'art antérieur. REVENDICATIONS I. Un procédé de détermination de la configuration des ressources de circuits situés dans un ordinateur qui compcrte un connecteur recevant ces circuits pour permettre ieur couplage à l'ordinateur, procédé caractérisé en ce qu'iL comprend les étapes suivantes: (a) pour chaque connecteur, examen d'une série d'adresses prédéterminées dans le domaine adressable (20) de l'ordinateur, pour y rechercher le début d'un en-tête de format (29), (b) pour chaque connecteur, calcul d'une adresse du domaine adressable de l'ordinateur o se trouve un répertoire des ressources (50), à partir d'une valeur de décalage se trouvant dans un champ de valeur de décalage de répertoire (49) situé dans ledit en-tête de format (29), (c) lecture séquentielle des rubriques (51) de ce répertoire des ressources (50) et détermination d'une adresse d'une liste de ressource (60) correspondante à partir d'une valeur de décalage (52) se trouvant dans la rubrique, (d) pour chaque liste de ressource, détermination d'informations concernant une ressource dudit circuit par lecture séquentielle des données (63) contenues dans la liste de ressource et des données (31) situées à des adresses calculées à partir des valeurs de décalage (62) contenues dans la liste de ressource, (e) enregistrement de ces informations de ressource dans une table accessible à l'ordinateur, de manière à déterminer la configuration des ressources dudit circuit dans l'ordinateur. 2. Le procédé de détermination de la configuration des ressources d'un circuit situé dans un ordinateur selon la revendication 1, comprenant en outre l'enregistrement d'un état d'erreur dans une table si l'en-tête de format (29) n'a pas été trouvé à l'une desdites adresses prédéterminées. 3. Le procédé de détermination de la configuration des ressources d'un circuit situé dans un ordinateur selon la revendication 2, dans lequel la fin de chaque répertoire de ressources (50) est déterminée par la présence d'un indicateur de fin de liste (55) ayant la forme d'une rubrique (51) du répertoire des ressources. 4. Le procédé de détermination de la configuration des ressources d'un circuit situé dans un ordinateur selon la revendication 3, dans lequel la fin de chacune des listes de ressource (60) est déterminée par un indicateur de fin de liste (69) ayant la forme d'une rubrique (63) de la liste de ressource. 5. Le procédé de détermination de la configuration des ressources d'un circuit situé dans un ordinateur selon la revendication 4, dans lequel la série d'adresses prédéterminées o peut exister le début de l'en-tête de format est formée par l'adresse la plus élevée de chaque voie d'octet dans une partition (26) du domaine adressable (23) affecté à chaque connecteur. 6. Le procédé de détermination de la configuration des ressources d'un circuit situé dans un ordinateur selon la revendication 5, dans lequel lesdites informations concernant une ressource sont constituées par le type de la ressource (61) , le nom de la ressource (64), la routine d'initialisation, et éventuellement une icône de ressource (66) et une routine de pilotage de périphérique. 7. Le procédé de détermination de la configuration des ressources d'un circuit situé dans un ordinateur selon la revendication 6, dans lequel ladite détermination est réalisée automatiquement au moment de la mise en route de l'ordinateur. 8. Un procédé de détermination de la configuration des ressources de circuits situés dans un ordinateur qui comporte un connecteur recevant ces circuits pour permettre leur couplage à l'ordinateur, procédé caractérisé en ce qu'il comprend les étapes suivantes: (a) pour chaque connecteur, examen d'une mémoire de configuration (27) située à l'une des adresses d'une série d'adresses correspondant à l'octet le plus élevé de chaque voie d'octet d'une partition d'adresses (26) affectée à ce connecteur de carte, pour y rechercher la présence d'un code de voie d'octet correct, (b) pour chacun des connecteurs pour lesquels on a trouvé un code de voie d'octet correct, examen d'un champ de motif de test (44) se trouvant à un décalage prédéterminé par rapport au champ de code de voie d'octet (42), pour y rechercher la présence d'un motif de test correct, (c) pour chaque connecteur dans lequel on a trouvé un cede de voie d'octet correct et un motif de test correct, passage en revue des champs situés à des décalages prédéterminés par rapport au code de voie d'octet, pour y détecter la présence de valeurs correctes, (d) pour chaque connecteur dans lequel on a trouvé un code de voie d'octet correct, un motif de test correct, et dans lequel il existe des valeurs correctes dans les champs qu'on a passé en revue, détermination d'une adresse dans le domaine adressable de l'ordinateur o se trouve un répertoire des ressources en calculant la somme de l'adresse d'un champ de valeur de décalage de répertoire (49) avec le contenu de ce champ de valeur de décalage de répertoire (49), le champ de valeur de décalage de répertoire étant lui-même situé à un décalage prédéterminé par rapport à l'adresse du champ de code de voie d'octet (42), (e) lecture séquentielle des rubriques (51) du répertoire des ressources (50) et détermination d'une adresse d'une liste de ressource (60) correspondante pour chacune desdites rubriques à partir d'une valeur de décalage (52) de cette rubrique, (f) pour chacune de ces listes de ressource (60), détermination des informations correspondant à une ressource dudit circuit par lecture séquentielle des données (63) contenues dans la liste de ressource et des données (31) situées à des adresses calculées à partir de valeurs de décalage (62) contenues dans la liste de ressource, et (g) enregistrement de ces informations décrivant les ressources de chacun desdits circuits dans une table de données accessible à l'ordinateur, de manière à déterminer la configuration des ressources du circuit situé dans l'ordinateur. 9. Le procédé de détermination de la configuration des ressources d'un circuit situé dans un ordinateur selon la revendication 8, dans lequel le passage en revue des champs comporte l'examen d'un champ d'identité de format (45) pour y rechercher des valeurs correctes, l'examen d'un champ de niveau de version (46) pour y rechercher des valeurs correctes, et l'exécution d'un contrôle de redondance cyclique pour s'assurer qu'un champ de contrôle de redondance cyclique (47) contient une valeur correcte. 10. Le procédé de détermination de la configuration des ressources d'un circuit situé dans un ordinateur selon la revendication 9, comprenant en outre l'étape d'enregistrement des erreurs dans une table de données accessible à l'ordinateur, lorsque l'on ne trouve pas de valeur correcte pour le code de voie d'octet, pour le motif de test et pour les champs passés en revue. 11. Le procédé de détermination de la configuration des ressources d'un circuit situé dans un ordinateur selon la revendication 10, dans lequel les valeurs de voies d'octet correctes sont calculées en positionnant un bit dans le quadruplet inférieur du champ de voie d'octet (42) pour chaque voie d'octet utilisée par ladite mémoire de configuration, et en positionnant le quadruplet supérieur de ce champ de voie d'octet (42) à une valeur qui est le complément de celle située dans le quadruplet inférieur. 12. Un circuit utilisable avec un ordinateur ayant au moins un connecteur pouvant recevoir ce circuit, ce circuit comprenant une mémoire permettant de fournir à l'ordinateur des données de configuration pour la définition des ressources du circuit, circuit caractérisé en ce qu'il comprend: - un premier domaine mémoire (29) de ladite mémoire, situé à l'une des adresses d'une série d'adresses prédéterminées de la mémoire, et o se trouve un en-tête de format, - un second domaine mémoire (50) de ladite mémoire, se trouvant à une adresse pouvant être déterminée à partir d'une valeur de décalage située dans le premier domaine mémoire, e-: o se trouve un répertoire des ressources, - un troisième domaine mémoire (60) de ladite mémoire, se trouvant à une adresse pouvant être déterminée à partir d'une valeur de décalage se trouvant dans le second domaine mémoire, et o se trouve une liste de ressource, et- - un quatrième domaine mémoire (31) de ladite mémoire, se trouvant à une adresse pouvant être déterminée à partir d'une valeur de décalage se trouvant dans le troisième domaine mémoire, et o se trouvent des informations de configuration des ressources. 13. Le circuit de la revendication 12, dans lequel ladite série d'adresses prédéterminées est formée par la valeur d'adresse la plus élevée de chaque voie d'octet dans un domaine adressable (26) affecté audit circuit dans l'ordinateur. 14. Un circuit utilisable avec un ordinateur ayant au moins un connecteur pouvant recevoir ce circuit, ce circuit comprenant une mémoire permettant de fournir à l'ordinateur des données de configuration pour la définition des ressources du circuit, circuit caractérisé en ce qu'il comprend: - un premier domaine mémoire (42) de ladite mémoire, se trouvant à l'une des adresses d'une série d'adresses prédéterminées de la mémoire, et o se trouve un code de voie d'octet, - un second domaine mémoire (49) de ladite mémoire, situé à un décalage déterminable par rapport au premier domaine mémoire de ladite mémoire, et o se trouve une valeur de décalage de répertoire, - un troisième domaine mémoire (50) de ladite mémoire, se trouvant à une adresse de la mémoire calculée à partir de la valeur de décalage de répertoire se trouvant dans le second domaine mémoire, et o se trouve un répertoire des ressources, - un quatrième domaine mémoire (60) de ladite mémoire, se trouvant à une adresse pouvant être déterminée à partir d'une valeur de décalage se trouvant dans le troisième domaine mémoire, et o se trouve une liste de ressource, cette liste de ressource comportant des rubriques comprenant soit des informations de configuration des ressources (63) soit des valeurs de décalage (62), - un cinquième domaine mémoire (61) de ladite mémoire, se trouvant à une adresse pouvant être déterminée à partir d'une valeur de décalage se trouvant dans le quatrième domaine mémoire, et o se trouve un type de ressource, et - un sixième domaine mémoire (31) de ladite mémoire, se trouvant à une adresse pouvant être déterminée à partir d'une valeur de décalage située dans le quatrième domaine mémoire, et o se trouvent des informations de configuration des ressources. 15. Le circuit de la revendication 14, dans lequel ladite série d'adresses prédéterminées est formée par la valeur d'adresse la plus élevée de chaque voie d'octet dans un domaine adressable (26) affecté audit circuit dans l'ordinateur.