Brevet FR2671206A1 — publié le 19920703

La présente invention concerne des systèmes et procédés pour transférer des données entre des dis- positifs de traitement de données et, plus particulière- ment, pour transférer des données entre des dispositifs dans deux bus différents. Dans les domaines d'application d'ordinateurs, il est tout à fait courant de transférer des données et des ordres entre plusieurs dispositifs de traitement de données, comme par exemple des ordinateurs, des imprimantes, des mémoires et analogues, par l'iintermé- diaire de bus de système ou de données L'architecture de bus usuels comprend à la fois un bus parallè le et un bus série qui assurent l'interconnexion d'unités de traitement de données et de dispositifs périphériques afin de permettre l'échange de données et de messages à grande vitesse. Le bus de système ou de données typiques est défini par les caractéristiques du matériel avec lequel il opère Ces impératifs du matériel sont géné- ralement appelés le protocole de bus Les protocoles influencent à la fois le mode et la manière de transfert de données dans le bus Le protocole est usuellement imposé par le microprocesseur relié au bus En consé- quence, tous les dispositifs de traitement de données reliés au bus sont conçus de manière à utiliser le protocole de bus du microprocesseur dans le système ordinateur Par exemple tous les transferts de données dans un système ordinateur utilisant le microprocesseur Motorola No 68030 ou Ne 68040 sont réalisés en utilisant le protocole de bus respectivement du N O 68030 ou du No 68040. Des problèmes se posent lorsque des disposi- tifs de transfert de données conçus pour opérer avec un tel protocole sont nécessaires ou désirés dans un système ordinateur opérant avec un protocole différent. Par exemple, lorsque des puces d'ordinateurs spéci- fiques pour certaines applications sont conçues de manière à opérer dans un système ordinateur basé sur le microprocesseur N O 68030, les puces ne pourront pas être utilisées dans un système basé sur le micro- processeur N O 68040 Le bus défini pour le No 68040 est tout à fait différent du bus défini pour le N O 68030 Des différences entre les deux bus concernent la manière dont des données sont transférées avec à la fois un alignement d'octets et de dimensions En outre, des différences dans les vitesses de minutage auxquelles les bus opèrent empêchent également des dispositifs conçus pour une utilisation dans un système d'être utilisés dans un autre système. La présente invention concerne un adaptateur de bus permettant à des dispositifs de transfert de données dans un bus utilisant un protocole d'être utili- sés dans un système ordinateur employant un protocole différent L'adaptateur de bus de la présente invention relie deux bus opérant à des vitesses différentes et aligne des données pour adaptation à des dispositifs ayant des spécifications de données différentes Spéci- fiquement, la présente invention établit une fenêtre transparente entre les deux bus opérant à des vitesses différentes et utilisant des protocoles différents, de telle sorte que les dispositifs puissent opérer l'un avec l'autre. Un adaptateur de bus bidirectionnel reliant un bus de système, qui opère à une première vitesse en utilisant un premier protocole, et un bus IO ( entrée- sortie), qui opère à une seconde vitesse en utilisant un second protocole, et permettant à des dispositifs de transfert de données par un des bus de transférer des données vers ou à partir de dispositifs par l'autre bus, va être décrit dans la suite L'adaptateur de bus comprend un dispositif d'arbitrage pour déterminer celui des dispositifs de transfert de données qui peut utiliserdes bus à un certain moment En outre, l'adapta- teur de bus comprend un dispositif de génération de cycles qui répond à des cycles de données provenant de l'un des bus pour produire des cycles de bus nécessai- res pour terminer un transfert de données à un disposi- tif par l'autre bus Un dispositif de synchronisation est relié au dispositif de génération de cycles pour convertir la pluralité de cycles de données engendrés par le dispositif de génération de cycles de la première vitesse à la seconde vitesse, ou inversement. L'adaptateur de bus comprend un dispositif d'acheminement bidirectionel de données pour acheminer des données entre les bus de système et I O en concor- dance avec les protocoles précités, de telle sorte que l'acheminement de données dirige des octets de données dans des lignes de données spécifiques afin d'effectuer une direction d'octets et un calibrage dynamique de bus pour les données transmises du bus de système au bus I O L'adaptateur de bus comporte également un dispositif émetteur- récepteur bidirectionnel d'adresses pour acheminer des adresses entre lesdits bus de système et IO. L'adaptateur de bus comporte en outre une logique de temporisation pour arrêter des cycles de données provenant d'un des dispositifs qui est supposé le possesseur des bus, ce dispositif comptant les cycles de minutage de bus jusqu'à un nombre prédéterminé et produisant une erreur de bus lorsque les cycles de données ne sont pas reconnus au moment o la logique de temporisation a compté jusqu'au nombre prédéterminé. D'autres caractéristiques et avantages de l'invention seront mis en évidence dans la suite de la description, donnée à titre d'exemple non limitatif, en référence aux dessins annexés dans lesquels La Figure 1 est une illustration de l'archi- tecture de système ordinateur conforme à la présente invention. La Figure 2 est une illustration de la réalisa- tion couramment préférée de l'adaptateur IO de la présen- te invention. La Figure 3 est une illustration de la voie de commande pour l'adaptateur IO de la présente invention. La Figure 4 est une illustration de la réali- sation préférée de la voie de commande pour l'adaptateur IO de la présente invention. La Figure 5 est une illustration de la voie de données pour l'adaptateur IO de la présente inven- tion. La Figure 6 est une illustration des voies d'acheminement d'octets de données pour la voie de données de la présente invention. La Figure 7 est une illustration montrant la réalisation des voies d'acheminement d'octets de données dans la voie de données de la présente inven- tion. La Figure 8 est une illustration de la réali- sation préférée de la voie de données pour l'adaptateur IO de la présente invention. On va décrire dans la suite un adaptateur de bus bidirectionnel reliant un bus de système, qui opère à une première vitesse en utilisant un premier protocole, et un bus IO (entrée-sortie) qui opère à une seconde vitesse en utilisant un second protocole, cet adaptateur permettant à des dispositifs de transfert de données par un bus de transférer des données vers ou à partir de dispositifs par l'autre bus Dans la description qui va suivre, de nombreux détails spécifi- ques sont indiqués, comme des composants spécifiques d'ordinateurs, des longueurs de bits, etc, de façon à permettre une très bonne compréhension de la présen- te invention Cependant il est évident pour un spécia- liste de ce domaine que la présente invention peut être mise en oeuvre sans ces détails spécifiques Dans d'autres circonstances, des composants, structures et techniques bien connus n'ont pas été décrits en détail afin d'éviter d'obscurcir inutilement la présente invention. En référence à la Figure 1, une vue d'ensemble du système ordinateur de la présente invention est représentée sous la forme d'un schéma à blocs Il est évident que, bien que la Figure 1 soit utile pour donner une description d'ensemble du système ordinateur de la présente invention, un certain nombre de détails du système ne sont pas représentés Suivant ce qui sera nécessaire pour la description de la présente invention, d'autres détails seront donnés en relation avec les autres figures accompagnant cette description. En outre, la présente invention va être décrite en référence à sa réalisation préférée et d'autres réalisa- tions pouvant être conçues par un spécialiste ordinaire de ce domaine rentrent dans le cadre des revendications indiquées dans la suite. Le système ordinateur de la Figure 1 comprend un microprocesseur 101 qui, dans la réalisation couram- ment préférée, est un produit Motorola No 68040 D Ans la suite, le microprocesseur 101 sera désigné par "N' 68040 " Le No 68040 opère à une fréquence d'horloge de 25 ou 33 M Hz Le N' 68040 est relié à un bus de système 102 Le bus de système 102, qui fonctionne à la même fréquence d'horloge que le N O 68040, relie ensemble des dispositifs de traitement de données. Souvent ces dispositifs de traitement de données sont appelés des dispositifs maîtres et esclaves de bus, en fonction du mode de commande du transfert de données par le dispositif Un maitre de bus peut obtenir la commande du bus de système 102 et du bus IO 110 pour transférer des données Dans la réalisation présentement préférée, le bus de système 102 supporte jusqu'à trois autres maîtres de bus mais seulement le N' 68040 ou un dispositif sur "Nubus" peuvent être des maîtres de bus pour le bus de système 102 Une mémoire morte (ROM) 105 est reliée au bus de système 102 pour mémori- ser des informations statiques et des instructions pour le No 68040 La mémoire morte 105 peut avoir une capacité comprise entre 1 et 4 mégaoctets (MB) Une mémoire à accès sélectif dynamique (DRAM) 104, communé - ment appelée une mémoire principale, est reliée, par l'intermédiaire d'une commande de mémoire 103, au bus de système 102 pour mémoriser des informations et des instructions pour le N O 68040 et d'autres maîtres de bus La commande de mémoire 103 produit des signaux de commande et de minutage qui commandent un accès à la fois à la mémoire morte de système 105 et à la mémoire principale 104 Une commande de "Nubus" relie le No 68040 à un bus IO de "Nubus", par l'intermédiaire du bus de système 102 La commande de "Nubus" 106 crée une fenêtre de bus qui convertit certains cycles du bus de système 102 en cycles de "Nubus" et inversement. Tous les dispositifs reliés au bus de système 102 utilisent des protocoles matériels du N O 68040 D'autres disposi- tifs matériels peuvent être reliés au bus de système 102 mais ils sont limités à une utilisation du protocole de bus de système. Le système ordinateur correspondant à la réalisation présentement préférée comprend également un bus IO 110 pour relier des dispositifs maîtres et esclaves de bus du bus IO 110 au bus de système 102. Dans la réalisation présentement préférée, le bus IO supporte jusqu'à trois autres maîtres de bus qui peuvent accéder au bus de système 102 de manière à échanger des données avec la mémoire principale 104. Le bus IO 110 ne contient pas de microprocesseur Egale- ment, les protocoles matériels du bus 10 110 constituent un sous-groupe des protocoles de bus pour un microproces- seur Motorola N O 68030 L'horloge de bus pour le bus IO 110 est complètement asynchrone avec l'horloge de bus de système correspondant au bus de système 102. Le bus IO 110 opère à une fréquence de 15,6672 ou 24,28416 M Hz Les dispositifs reliés au bus IO 110 comprennent une puce 111 de commande de réseau local "éthernet" et constituent les seuls maîtres de bus IO La puce 111 de commande de réseau local "éthernet" commande le réseau local "éthernet" qui est desservi par le système ordinateur 100 Un bloc SCSI (interface avec petits systèmes d'ordinateurs) agit comme un dispositif esclave pour des opérations SCSI Le bus IO 110 est également relié à un appareil à disque souple 113 pour des accès IO dans la mémoire principale 104. Un des dispositifs esclaves reliés au bus IO 110 est une puce acoustique 114 Tous les dispositifs matériels raccordés utilisent les protocoles de bus matériels d'un microprocesseur No 68030 D'autres dispositifs peuvent être reliés au bus IO 110 mais ils sont limités à l'utilisation du protocole de-bus 10. L'adaptateur de bus IO (IOA) 120 comporte un coupleur ou fenêtre de bus bidirectionnel, qui relie de façon transparente le bus de système 102 et le bus IO 110 L'adaptateur IOA 120 permet également à des dispositifs maîtres de bus intervenant dans le bus de système 102 de demander un accès à bus et un transfert de données à des dispositifs esclaves placés dans le système 102 ou dans le bus IO 110 L'adaptateur IOA 120 permet également à des dispositifs maîtres de bus IO d'accéder à la mémoire principale 104 qui est placée sur le bus de système 102 Un schéma de 1 ' adaptateur IOA 120 est représenté sur la Figure 2. On va maintenant décrire dans son ensemble l'adaptateur de bus IOA 120 qui est représenté sur la Figure 2 sous la forme d'un schéma à blocs Dans la réalisation présentement préférée, l'adaptateur IOA 120 comprend une paire de circuits ASIC ( circuits intégrés d'applications spécifiques) L'adaptateur IOA 120 permet à des transferts de données de se dérouler de façon transparente entre des dispositifs du bus IO 110 ( des périphériques et des maîtres de bus) et des dispositifs de bus de système 102 (des périphéri- ques, des maîtres de bus et la mémoire principale 104), bien que le bus IO 110 opère avec des protocoles du N' 68030 et que le bus de système 102 opère avec des protocoles du N O 68040 La fonction de l'adaptateur IOA 120 est de permettre à un système ordinateur 100 basé sur le N O 68040 d'utiliser toutes les puces de périphériques qui sont en cours d'utilisation dans des appareils N O 68030 Du fait de la différence entre les protocoles, les puces du bus 10 110 n'opéreront pas sur le bus de système 102. Dans la réalisation présentement préférée, l'adaptateur IOA 120 est divisé en une puce à voie de commande comprenant une logique d'arbitrage ( qui n'est pas représentée), une puce à voie de données et des puces à émetteurs-récepteurs de bus d'adresses. La puce de commande comprend une voie de commande 202 qui contient une logique d'arbitrage et la puce à voie de données se compose d'une voie de données 201 Les puces à émetteurs-récepteurs de bus d'adresses se compo- sent d'émetteurs-récepteurs de bus d'adresses 203. En référence à la Figure 2, la voie de commande 202 de l'adaptateur IOA 120 reçoit d'un côté des signaux du bus IO et de l'autre côté des signaux du bus de système et elle effectue une traduction entre les deux. La traduction permet au bus de système 102 et au bus IO 110 d'opérer ensemble comme un seul bus Le bus de système 102 et le bus IO 110 sont asynchrones, le bus IO 110 opérant à une vitesse inférieure à celle du bus de système 102 L'architecture du bus IO 110 supporte un accès du bus de système à des périphériques IO ainsi qu'un accès d'un maître de bus IO à la mémoire principale 104 par le bus de système 102 L'adaptateur IOA 120 supporte également un réseau local " 1 éthernet" dans le bus IO 110 et effectue une commande ou un arbi- trage de bus pour le bus IO 110 et le bus de système 102 Cependant l'adaptateur IOA 120 ne permet pas à des maîtres de bus IO d'accéder à des périphériques de bus IO. L'adaptateur IOA 120 comprend une voie de données 201, une voie de commande 202 et des émetteurs -récepteurs d'adresses 203 La voie de données 201 effectue une mémorisation-tampon pour le bus de données et également un acheminement de données, ainsi que des opérations de retour à l'état initial, de synchroni- sation et de distribution Les fonctions de contrôle de parité et de génération de parité sont également effectuées par la voie de données 201 La voie de don- nées 201 sera décrite dans la suite en relation avec les Figures 5 à 8 La voie de commande 202 traite des signaux de sélection de puce et de reconnaissance de dispositifs esclaves du bus IO 110 La voie de commande 202 est également responsable de la conversion de si- gnaux de minutage entre des bus ainsi que de la commande des émetteurs- récepteurs de bus d'adresses externes. Un arbitrage de bus, une génération de temporatisation et une génération de minutage VIA sont effectués égale-35 ment par la voie de commande 202 La voie de commande 202 sera décrite de façon plus détaillée dans la suite en relation avec les Figures 4 et 5 Les émetteurs -récepteurs de bus d'adresses 203 assurent la coordina- tion du bus d'adresse entre les deux bus précités. On va maintenant décrire dans son ensemble la voie de commande Les fonctions principales de la voie de commande 202 consistent en une traduction des protocoles de signaux de commande de bus et en une génération de cycles supplémentaires de bus lorsqu'il est nécessaire de compléter de façon satisfaisante un transfert de données Cela se produit quand le No 68040 accède à un dispositif esclave situé dans le bus IO 110 et lorsqu'un dispositif maître de bus IO accède à la mémoire principale 104. Le No 68040 n'effectue pas des transferts de données non alignées ou un calibrage dynamique de bus Si un logiciel opérant dans le système ordinateur demande un transfert de bus non aligné, le N O 68040 effectue de multiples transactions dans des bus de données alignés jusqu'à ce que toutes les données deman- dées soient transférées de façon transparente dans la voie de commande 202 Cependant, si un dispositif maître de bus IO tente un transfert non aligné jusqu'à la mémoire principale 104 ou à partir de celle-ci, la voie de commande 202 divise le transfert en plusieurs cycles alignés pour le bus de système 102 Lorsqu'un tel transfert est demandé par un dispositif maître de bus IO, le bus de système 102 recevra de multiples signaux de commande indiquant le début d'un transfert suivi par le signal de reconnaissance avant que la voie de commande 202 envoie un signal de terminaison au bus IO 110 Ensuite la voie de données 201 fournit au bus IO 110 des données dans le format requis. Le No 68040 n'effectue pas un calibrage dynami- que de bus Il attend que tous les dispositifs esclaves il aient des ports de données d'une largeur de 32 bits. Même si la demande concerne un seul octet, le No 68040 attend que l'octet soit présenté sur la piste d'octets correcte La voie de commande 202 effectue, en coopé- ration avec la voie de données 201, un calibrage dynamique de bus à chaque fois qu'une demande faite par le No 68040 à un dispositif esclave situé sur le bus IO 110 doit être divisée en de multiples cycles de bus IO Lorsque la voie de commande 202 a besoin de produire des cycles de bus IO supplémentaires, cette voie de commande 202 envoie un signal de commande servant à analyser le bus IO 110 jusqu'à ce que le transfert soit terminé. Ensuite la voie de commande 202 produit un signal de commande reconnaissant le transfert dans le bus de système 102. La Figure 3 représente la voie de commande 202 sous la forme d'un schéma à blocs. On va maintenant décrire la logique de sélec- tion de puce Tous les dispositifs de traisfert de données se trouvant dans le bus IO 110 font intervenir des sélections de puces La logique 301 de sélection de puce produit toutes les sélections de puces requises par des dispositifs se trouvant dans le bus IO 110 après que le No 68040 a obtenu un accès au bus IO 110. En outre, la logique de sélection de puce produit la sélection de puce à registre pour la commande de Nubus 106 prévue dans le bus de système 102 La logique de sélection de puce 301 produit également un signal de commande de sélection IO, IO Sel,pendant un transfert de bus Le signal IO Sel est utilisé pour indiquer à la voie de données 201 qu'un transfert de bus s'effectue du bus de système 102 au bus IO 110 En outre le signal IO Sel est utilisé intérieurement par la voie de comman- de 202 pour signaler au générateur de cycles 302 qu'il commence un cycle. On va maintenant décrire le générateur de cycles 030 Le générateur de cycles 302 fait en sorte que des cycles de bus soient engendrés dans le bus IO 110 en réponse à certaines demandes faites à un espace IO ou Nubus par un maître de bus se trouvant sur le bus de système 102 Le générateur de cycles 302 produit les cycles de bus en réponse à un signal de commande indiquant le début d'un transfert, qui est verrouillé à partir du bus de système 102 La logique 301 de sélection de puce valide un signal IO Sel et ensuite le générateur de cycles 302 envoie un cycle de bus au bus IO 110 Puisque le générateur de cycles 302 opère à la fréquence d'horloge du bus de système 102, les cycles de bus sont synchronisés avec l'horloge de bus du bus IO 110 dans un synchroniseur 308. Une fois en fonctionnement, le générateur de cycles 302 attend un signal indiquant une terminai- son de cycle La terminaison de cycle peut provenir du bus IO 110 ou bien de la logique de temporisation 304 de la voie de commande 202 Les signaux de terminai- son provenant du bus IO 110 sont synchronisés par le synchroniseur 308 avec l'horloge de bus du bus de système 102 et sont appliqués au générateur de cycles 302. En cours d'opération, le générateur de cycles 302 produit jusqu'à quatre cycles de bus IO pour une seule demande de bus par un processeur Lorsque le transfert de données a été terminé, le générateur de cycles 302 envoie un signal au bus de système 102 pour reconnaître le trans- fert. Si un signal de temporisation interne est reçu avant un autre type de terminaison, le générateur de cycles 302 termine le cycle de bus par validation d'un signal d'erreur dans le bus IO 110 et un signal de reconnaissance d'erreur de transfert dans le bus de système 102 Ensuite, le générateur de cycles 302 revient à son état inactif. Si un signal de temporisation est reçu en même temps qu'un autre signal de terminaison provenant du bus IO 110, l'autre signal de terminaison a la prio- rité et le signal de temporisation est ignoré Si une terminaison normale et une terminaison par erreur sont reçues simultanément par l'intermédiaire du synchoniseur 308, le générateur de cycles 302 répond à la terminaison par erreur. On va décrire le générateur de cycles 040. Le générateur de cycles 303 fonctionne d'une manière semblable au générateur de cycles 302 Le généra- teur de cycles 303 fait en sorte que des cycles de bus, qui sont basés sur le N' 68040, soient engendrés dans le bus de système 102 en réponse à un transfert demandé par un maître de bus IO à un dispositif esclave de bus de système Lorsqu'un maître de bus situé sur le bus IO 110 commence un transfert, le synchroniseur 309 synchronise les signaux avec la vitesse d'horloge de la voie de commande 202 Le premier cycle peut néces- siter une traduction des bits d'adresses 1 et O et des bits de grandeur afin de déterminer la grandeur du transfert ainsi que le décalage d'adresse correspon- dant du transfert Cette traduction est nécessaire lorsqu'un maître de bus IO demande un cycle non supporté par le bus de système 102, comme un transfert non aligné. Une fois qu'une opération a commencé, le générateur de cycles 303 attend un signal de terminaison de cycle dans le bus de système 102 soit par l'arrivée d'un signal de reconnaissance de transfert, soit par l'arrivée d'un signal de reconnaissance d'erreur de transfert, ou bien par un signal de temporisation interne Si la voie de commande 202 est arrêtée par un signal de reconnaissance de transfert, et si le cycle de bus dans le bus de système 102 était le premier nécessaire pour satisfaire à la demande de bus I O 110, la voie de commande 202 valide des signaux de commande dans le bus IO 110 afin de déterminer si plus de cycles de bus sont nécessaires pour compléter le transfert. Si la voie de commande 202 est arrêtée par un signal reconnaissant la terminaison du transfert, la voie de commande 202 envoie immédiatement un signal indiquant un signal d'erreur de bus dans le bus IO et elle ne produit pas plus de cycles de bus dans le bus de système 102 pour cette transaction dans le bus IO La voie de commande 202 n'a pas la possibilité de répondre à des terminaisons avec relance, comme dans le cas o un signal de reconnaissance de transfert ou bien un signal de reconnaissance d'erreur de transfert est envoyé dans le bus de système 102 La voie de commande 202 observe une relance de bus dans le bus de système 102 seulement sous la forme d'un signal de reconnaissance d'erreur de transfert. Si le signal de temporisation interne arrive avant un signal de reconnaissance de transfert ou bien un signal de reconnaissance d'erreur de transfert, alors le générateur de cycles 303 arrête le transfert par envoi d'un signal d'erreur de bus dans le bus I O ou bien par envoi d'un signal de reconnaissance d'erreur de transfert dans le bus de système 102 Si le générateur de cycles 303 reçoit le signal de tempori- sation interne en même temps qu'un signal de reconnais- sance de transfert et/ou un signal de reconnaissance d'erreur de transfert, alors le signal de temporisation est ignoré. Tout dispositif se trouvant dans le bus I O avec un bus de données interne de 8 bits ( par exemple une puce acoustique 114 et des puces VIA ( non représentées)) ne produira pas une terminaison de cycle En conséquence, la voie de commande 202 produit les signaux de reconnaissance pour ces dispositifs aux instants appropriés. Le générateur de cycles 303 produit également un signal de sortie assurant la validation des signaux qu'il reçoit par le bus IO 110 et le bus de système 102. On va maintenant décrire la logique de tempo- risation. La logique de temporisation 304 se compose d'un compteur qui commence à partir de l'état O à chaque fois qu'un signal de début de transfert est reçu soit par la voie de commande 202, soit par un des dispositifs maîtres opérant sur le bus de système 102 Puisque tous les dispositifs maîtres opérant sur le bus IO 110 passent au bus de système 102 pour leurs transac- tions avec bus, le compteur de temporisation est déclen- ché par tous les dispositifs maîtres de bus IO Le compteur continue son incrémentation jusqu'à ce que soit un signal de reconnaissance de transfert, soit un signal de reconnaissance d'erreur de transfert, soit les deux signaux soient reçus par la voie de com - mande 202 Cependant, si aucun de ces évènements ne se produit pendant les 512 cycles d'horloge de bus après le signal de début de transfert, il se produit alors une temporisation. Une temporisation fait en sorte que la voie de commande 202 envoie un signal de reconnaissance d'erreur de transfert dans le bus de système 102 et un signal de reconnaissance d'erreur de transfert dans le bus IO 110 Si la voie de commande 202 était un dispositif maître de bus opérant sur le bus quand la temporisation se manifeste, alors elle prendrait en considération le cycle qui serait terminé et les deux générateurs decycles 302 et 303 reviendraient à leurs états inactifs Le compteur de temporisation est remis à zéro après une temporisation et après chaque termi- naison de cycle de bus et il est prêt à être réenclenché par le signal de démarrage de transfert suivant. Une période fixée de 512 cycles d'horloge pour l'intervalle de temporisation implique que la période de temporisation absolue dépend de la fréquence d'horloge du bus de système 102, comme résumé dans la suite: Horloge de bus de 25 M Hz Période de temporisation de 20,48 u S Horloge de bus de 33 M Hz -> Période de temporisation de 15,50 u S Horloge de bus de 40 M Hz _ Période de temporisation de 12,80 u S Le compteur de temporisation n'est pas enclen- ché lorsqu'un signal de démarrage de transfert est reçu en même temps qu'une adresse de Nu Bus Cela permet au Nu Bus d'avoir sa propre période de temporisation plus longue Lors de la réception d'un signal de réen- clenchement de puce, le compteur de temporisation re- vient à l'état 0 Puisque le compteur de temporisation se compose de plusieurs étages logiques en cascade, le réenclenchement doit être effectué pour au moins cycles d'horloge de bus Cela donne du temps pour une synchronisation de réenclenchement ainsi que pour un réenclenchement de la logique 304 du compteur de temporisation. On va maintenant décrire la logique AP La logique AP 305 produit les signaux de commande pour les tampons d'adresses bidirectionnels qui acheminent des adresses entre le bus IO 110 et le bus de système 102 Dans la réalisation présentement préférée, deux signaux de commande sont engendrés Un signal commande la direction des tampons d'adresses Le signal se trouve dans son format normal haut-bas Une valeur basse indique qu'un dispositif situé sur le bus de système 102 est maître et que l'adresse doit être transmise du bus de système 102 au bus IO 110 Une valeur haute de ce signal indique qu'un dispositif se trouvant sur le bus IO 110 est maître et que des adresses doivent être acheminées du bus IO 110 au bus de système 102. Un autre signal commande les validations des sorties des tampons Quand ce signal est bas, il valide les sorties des tampons d'adresses. On va maintenant décrire la commande VIA. Des puces VIO du système ordinateur 100 ( non représen- tées) ont certains impératifs spéciaux de minutage. Ils font intervenir des activités en temps réel, comme l'établissement d'une interface avec l'horloge et la puce acoustique 114 Pour une adaptation à ces activités en temps réel, les puces VIA nécessitent une fréquence d'horloge spécifique de 15,6672/20 M Hz Egalement les sélections de puces VIA sont spéciales et nécessitent une relation spécifique avec l'horloge VIA En outre, le signal de commande de reconnaissance de données pour les VIA, qui est engendré par la voie de commande 202, nécessite également une relation spécifique avec l'horloge VIA Tous ces processus sont coordonnés par la logique de commande VIA. La logique de commande VIA 306 sélectionne si les signaux de commande VIA dérivent leur minutage du fonctionnement du bus IO 110 à la fréquence de ,6672 M Hz ou à la fréquence de 24,28416 M Hz Pour une fréquence d'horloge de bus IO de 15,6672 M Hz, la logique de commande VIA 306 produit un signal d'horloge VIA d'une fréquence égale à la fréquence d'horloge de bus IO divisée par 20 Pour une fréquence d'horloge de bus IO de 24,28416 M Hz, la logique de commande VIA divise la fréquence d'horloge de bus IO par un facteur de 31 pour produire la fréquence d'horloge VIA. On va maintenant décrire l'arbitre L'arbitre de bus 307 opère indépendamment des générateurs de cycles 302 et 303 Dans la réalisation présentement préférée, l'arbitre 307 assure l'arbitrage de la comman- de du bus de système 102 et du bus IO 110 pour jusqu'à six autres dispositifs maîtres de bus, à savoir trois dispositifs maîtres de bus pour le bus IO 110 et trois dispositifs maîtres de bus pour le bus de système 102. ( Dans la suite, le bus de système 102 et le bus IO 110, lorsqu'ils sont considérés comme formant un seul bus, seront appelés le bus "intégral") L'arbitre 307 supporte des protocoles pour des dispositifs se rappor- tant au bus de système 102 et au bus IO 110 Parmi les six dispositifs maîtres de bus, un seul conserve la possession du bus "intégral" à un moment donné. L'arbitre de bus 307 accorde la possession du bus "intégral" en correspondance à une priorité prédéterminée et fixée Parmi les dispositifs qui sont échantillonnés lors d'un conteste d'arbitrage individuel, l'arbitre 307 accorde la possession du bus "intégral" au dispositif ayant la plus haute priorité Dans l'envi- ronnement présentement préféré, les dispositifs associés au bus IO 110 auront des priorités plus élevées que les dispositifs associés au bus de système 102 Dans la réalisation présentement préférée, le réseau "éther- net" 111 a la plus haute priorité Le bus IO 110 compor- te deux positions de réserve pour des dispositifs maîtres de bus ( ces positions n'étant pas représentées), qui peuvent être utilisées pour ajouter deux dispositifs maîtres de bus de plus Les priorités des deux disposi- tifs correspondant aux positions de réserve sont les seconde et troisième priorités les plus fortes derrière celle du réseau "éthernet" 111 si ces dispositifs sont attachés au bus IO 110 Dans la réalisation présentement préférée, Nu Bus est le dispositif ayant la priorité suivante la plus élevée Le N 68040 a la priorité la plus basse. L'arbitre 307 opère avec un degré limité de loyauté pour empêcher un des dispositifs associés au bus de système 102 de "neutraliser" le bus intégral et d'empêcher un dispositif de plus petite priorité associé au bus de système 102 d'accéder au bus intégral. Lorsqu'un dispositif associé au bus de système 102 a pris la commande du bus intégral, l'arbitre 307 permet au dispositif associé au bus de système 102 de conserver l'agrément de sa demande de bus de telle sorte que le dispositif puisse conserver le bus intégral pour de multiples accès au bus Une fois que le dispositif a pris la commande du bus intégral, l'arbitre 307 traite la contestation d'arbitrage, excepté lorsque le disposi- tif possédant présentement le bus intégral est engagé dans des transferts bloqués ( comme décrit dans la suite) La demande de bus provenant du bus qui commande présentement le bus intégral n'est pas incluse dans la contestation d'arbitrage En conséquence, si un dispositif de priorité inférieure est en train de demander le bus intégral et si aucune demande provenant de dispo- sitifs de priorité plus élevée n'a été reçue, l'arbitre 307 permettra au dispositif de priorité inférieure d'accéder au bus intégral. Pour permettre au dispositif de priorité inférieure d'accéder au bus intégral, l'arbitre 307 annule l'accord de bus au dispositif associé au bus de système 102 et qui contrôle présentement le bus intégral et il accorde un accord de bus au dispositif suivant Lorsque le présent possesseur de bus voit son accord de bus annulé, il relâche le bus intégral après terminaison d'un nombre fini de cycles Ce nombre de cycles varie et dépend toujours du dispositif Si le dispositif qui rend le bus intégral a des cycles additionnels à effectuer, il maintient sa demande de bus de telle sorte que le dispositif peut obtenir un accès au bus intégral en satisfaisant à une contestation d'arbitrage future Le dispositif qui a maintenant un accord de bus prend la commande du bus intégral. Des dispositifs associés au bus de système 102 sont autorisés à " se ranger" sur le bus intégral. Lorsqu'un de ces dispositifs a fait l'objet d'un accord pour la commande du bus intégral et lorsqu'il n'en a plus besoin, le dispositif annule sa demande de bus mais continue à valider un signal d'occupation de bus. De cette manière, le dispositif associé au bus de sys- * tème conserve la possession du bus intégral Par un rangement sur le bus intégral, le dispositif associé au bus de système n'a pas besoin d'un nouvel arbitrage pour la possession du bus intégral quand il doit l'uti- liser Le dispositif continue à produire un signal d'occupation de bus jusqu'à ce que l'arbitre 307 annule l'accord de bus au dispositif Lorsqu'un autre disposi- tif maître de bus valide une demande de bus et lors- qu'un des dispositifs associés au bus de système 102 a la possession du bus intégral, l'arbitre 307 annule l'accord de bus au dispositif et accorde la possession du bus intégral du dispositif maître de bus demandeur qui a la priorité la plus élevée. L'arbitre 307 n'annulera pas l'accord de bus à un dispositif associé au bus de système 102 lors- que ce dispositif est en train d'effectuer un transfert bloqué, du fait que l'arbitre 307 est forcé de suivre le protocole bloqué pour des dispositifs associés au bus de système 102 Des transferts bloqués comprennent des transactions de lecture-modification-écriture indi- visibles En conséquence, lorsque l'un des dispositifs associés au bus de système 102 valide un signal de blocage, le dispositif associé au bus de système indique à l'arbitre 307 que le cycle en cours est indivisible. Lorsque le signal de blocage est validé, l'arbitre 307 ne résoud pas la contestation d'arbitrage Cela est vrai même après que le dispositif associé au bus de système et validant le signal de blocage a pris le contrôle du bus intégral C'est seulement après que le signal de blocage a été annulé que l'arbitre 307 résoudra une contestation d'arbitrage. Si le transfert bloqué est terminé, l'arbitre 307 annule l'accord de bus au dispositif intervenant présentement et il passe à l'état inactif pour résoudre la contestation d'arbitrage Une fois qu'un transfert bloqué est terminé, un signal de relance est produit. Du fait de la lenteur de l'arbitre 307 pour supprimer l'accord de bus, le dispositif intervenant présentement reprend le cycle lorsqu'une relance est indiquée et il reçoit à nouveau le signal de relance Lorsque le dispositif tente de reprendre son cycle, il perd la possession du bus intégral du fait que son accord de bus a été annulé L'autre dispositif maître de bus qui a gagné la contestation d'arbitrage reprend alors le contrôle du bus intégral Après que l'autre disposi- tif maître de bus a terminé son cycle, le dispositif dont l'accord de bus avait été annulé peut intervenir en relance et est capable de terminer le dernier cycle. L'arbitre 307 permet à des cycles d'arbitrage de recouvrir des cycles de transfert de données Lors- qu'un dispositif a pris complètement le contrôle du bus intégral, la contestation d'arbitrage se déroule et le bus intégral est accordé au dispositif suivant. Cette opération avec recouvrement ne se produit pas lorsqu'un des dispositifs associés au bus de système 102 est en train d'effectuer des transactions bloquées, lorsque le bus intégral a été inactif, ou bien lorsqu'un dispositif associé au bus de système 102 a été rangé sur le bus intégral Pendant une transaction bloquée, l'arbitre 307 ne résoudra pas la contestation jusqu'à ce que le signal, qui indique une transaction bloquée, soit annulée ou qu'une relance se produise ( comme décrit ci-dessus). On va maintenant décrire comment l'arbitre opère L'arbitre 307 est excité et passe d'un état de réenclenchement à l'état inactif L'arbitre 307 traite la contestation d'arbitrage dans l'état inactif. Le circuit interne est synchronisé sur la fréquence d'horloge du bus de système 102 Tous les signaux asyn- chrones sont synchronisés en double rang sur la fréquen- ce d'horloge du bus de système Tous les signaux de sortie pour accord de bus qui concernent des dispositifs associés au bus de système 102 sont produits en synchro- nisme avec la fréquence d'horloge du bus de système. Tous les signaux de sortie pour accord de bus concernant des dispositifs associés au bus IO 110 sont synchroni- sés en double rang sur la fréquence d'horloge du bus IO par le synchroniseur 310 Du fait de l'influence des synchroniseurs pour les dispositifs associés au bus IO, il est possible que deux accords de bus soient validés simultanément Cela se produit quand un accord de bus à un dispositif associé au bus IO 110 est annulé et quand un accord de bus à un dispositif associé au bus de système 102 est validé, cela à cause du retard dans le synchroniseur 310 Le fonctionnement du système ordinateur 100 reste inaffecté puisque cela se produit seulement lors de l'annulation d'un accord de bus à un dispositif associé au bus IO 110, qui ne perd pas la possession du bus intégral jusqu'à ce qu'il ait terminé le transfert en cours Une fois que le disposi- tif associé au bus i O 110 perd le bus intégral, le signal de commande engendré par le dispositif et indi- quant que le bus IO 110 est occupé est annulé Après qu'un retard de synchronisation s'est produit lors de l'annulation du signal de contrôle d'occupation de bus, le dispositif associé au bus de système 102 prend le contrôle du bus intégral. L'arbitre 307 effectue un échantillonnage des demandes de bus provenant des autres dispositifs maîtres de bus qui sont installés dans le système ordina- teur 100 et il attribue des accords de bus aux disposi- tifs ayant la priorité correcte L'arbitre 307 suit les protocoles des dispositifs associés au bus de systè- me 102 et au bus I O 110 pour faire en sorte qu'il ne se produise jamais une conservation de possession du bus intégral En conséquence, l'arbitre 307 fait en sorte qu'un seul dispositif prenne le contrôle du bus intégral à un moment donné en tenant compte des retards de synchronisation qui se produisent entre le bus de système 102 et le bus I O 110. Lorsque l'arbitre 307 accorde le bus intégral à l'un des dispositifs associés au bus de système 102, il attend jusqu'à ce que les dispositifs associés au bus I O 110 reçoivent le signal de reconnaissance prove- nant du dispositif associé au bus de système avant de résoudre la contestation d'arbitrage et d'accorder le bus au dispositif suivant Quand l'arbitre 307 accor- de le contrôle du bus intégral à l'un des dispositifs associés au bus I O 110, il attend jusqu'à ce que les dispositifs associés au bus de système 102 reçoivent le signal de reconnaissance provenant du dispositif associé au bus IO avant de résoudre la contestation d'arbitrage et d'accorder la possession du bus intégral au dispositif suivant Pour être sûr que le dispositif ayant présentement l'accord de bus soit le dispositif qui a validé le signal de reconnaissance, l'arbitre 307 exige que le signal de reconnaissance soit inversé et ensuite validé. Lorsqu'un des dispositifs associ&s au bus de système 102 demande le bus intégral, l'arbitre 307 accorde le bus intégral au dispositif associé au bus de système, en correspondance à sa priorité, et il attend jusqu'à ce que le dispositif précédent, s'il ne se trouvait pas précédemment dans l'état inactif, ait abandonné le contrôle du bus intégral Ensuite l'arbitre 307 attend jusqu'à ce que le dispositif associé au bus de système 102 et qui a reçu l'accord de bus prenne complètement la possession du bus intégral. A ce moment, et en supposant que le dispositif associé au bus de système n'est pas en train d'effectuer une transaction bloquée, l'arbitre 307 résoud la contesta- tion d'arbitrage La demande provenant du dispositif ayant présentement la possession du bus intégral est omise de la contestation d'arbitrage afin d'empêcher une neutralisation de bus par un dispositif de haute priorité associé au bus de système 102 Si un autre dispositif est en train de demander un contrôle du bus intégral, l'arbitre 307 annule l'accord de dispositif ayant présentement le contrôle du bus et valide l'accord de bus au dispositif suivant Si aucune autre demande n'est en cours, l'arbitre 307 reste dans l'état présent et continue à résoudre la contestation d'arbitrage. Lorsqu'un des dispositifs associés au bus I O 110 demande le contrôle du bus intégral, l'arbitre 307 accorde le bus intégral au dispositif associé au bus I 0, en correspondance à la priorité correcte, et il a attend jusqu'à ce que le dispositif précédent, éventuellement existant, ait abandonné le contrôle du bus intégral Ensuite l'arbitre 307 attend jusqu'à ce que le dispositif associé au bus IO et qui a reçu l'accord de bus prenne complètement le contrôle du bus intégral A ce moment, l'arbitre 307 résoud une autre contestation d'arbitrage La demande provenant du dispositif qui a présentement pris le contrôle du bus intégral est omis de la contestation d'arbitrage. Si un autre dispositif est en train de demander le bus intégral, l'arbitre 307 annule l'accord au disposi- tif ayant présentement le contrôle du bus et il accorde la possession du bus intégral au dispositif suivant. Si aucune autre demande n'est en cours et si le présent dispositif a encore sa demande de bus validée, l'arbitre 307 reste dans l'état présent et continue à résoudre la contestation d'arbitrage Si aucune autre demande n'est en cours et si le dispositif présent a annulé sa demande de bus, l'arbitre 307 passe à l'état inactif et résoud la contestation d'arbitrage. On va maintenant décrire une réalisation présentement préférée de la voie de commande Cette réalisation présentement préférée de la voie de commande 202 est représentée sur la Figure 4 Pour un signal qui est un signal IO (entrée-sortie), le composant d'entrée est représenté dans le diagramme par un suffixe "i" dans la désignation du signal, et le composant de sortie est défini par un suffixe " o" dans la désigna- tion du signal La Figure 4 est une représentation plus détaillée de la Figure 3 mettant en évidence des signaux spécifiques utilisés dans la réalisation présen- tement préférée Une explication détaillée a été omise du fait que les éléments spécifiques de fonctionnement seront évidents pour des spécialistes de ce domaine. On va maintenant décrire dans son ensemble la voie de données Les données intervenant dans le système ordinateur 100 sont divisées en deux bus: le bus de données de système et le bus de données IO, qui font chacun partie respectivement du bus de système 102 et du bus IO 110 La fonction principale de la voie de données 201 est d'acheminer des octets de don- nées correctement dans les deux directions entre la partie du bus de système 102 correspondant au bus de données de système et la partie du bus I O 110 correspon- dant au bus de données IO La voie de données 201 reçoit des données provenant soit du bus de données de système, soit du bus de données IO, et elle achemine les données, par des voies d'octets spécifiquement définies, jusqu'à l'autre bus avec un minutage correct. Dans la réalisation présentement préférée, le bus de système 102, comme mentionné ci-dessus, est un bus basé sur le N O 68040 tandis que le bus IO 110 est un bus basé sur le N O 68030 Le protocole du N O 68030 permet à des dispositifs esclaves de 8 bits et 16 bits de s'attacher sur des pistes d'octets données du bus de données I O et d'indiquer leur calibre, ou port, effectif de bus de données, pendant la reconnais- sance de cycle La partie matérielle prévue à l'inté- rieur du microprocesseur No 68030 effectue la direction appropriée des octets pour envoyer les données dans la piste d'octets correcte Cela permet au logiciel d'établir des accès pour des octets consécutifs Le bus de système 102 basé sur le N O 68040 nécessite cepen- dant que toutes les pistes d'octets de données dans le bus de données de système soient disposées comme si tous les accès avaient une longueur de 32 bits. En d'autres termes, le bus de données de système utili- sant le microprocesseur N O 68040 s'attend à ce que des accès à des ports de 8 bits et de 16 bits soient alignés par mots longs Pour maintenir une compatibilité entre le bus I O 110 basé sur le N 68030 et le bus de système 102 basé sur le No 68040, la voie de données 201 assure l'acheminement des octets de données pour un accès à des périphériques sur le bus IO 110 par le no 68040. En outre le N O 68040 de la réalisation présen- tement préférée n'assure pas un calibrage de bus Le No 68040 s'attend à ce que des accès à des ports de 8 bits et 16 bits aient le calibre approprié Par exem- ple, des accès à des ports de 8 bits correspondraient à un accès ayant le calibre d'un octet tandis que des accès à un port de 16 bits correspondraient à un accès ayant le calibre d'un mot Un système ordinateur basé sur le N O 68030 permet cependant à des systèmes esclaves de 8 et 16 bits de s'attacher à une piste d'octets donnée et ils indiquents leur calibre de port pendant la reconnaissance de cycle La partie matérielle prévue dans le N O 68030 a déterminé le nombre et le type appro- priés de cycles de bus pour satisfaire à la demande. En conséquence, le logiciel est autorisé à établir des accès d'une longueur de mot à des dispositifs de 8 bits sans savoir si les dispositifs sont des dispo- sitifs de 8 bits Pour maintenir une compatibilité entre le bus I O 110 basé sur le N' 68030 et le bus de système 102 basé sur le N' 68040, la voie de données 201 effectue un calibrage dynamique de bus pour un accès à des périphériques du bus IO 110 par le No 68040. En référence à la Figure 5, le bloc de comman- de/minutage 501 et le bloc de direction d'octets 502 effectuent la direction des octets et le calibrage dynamique de bus Puisque le M 68040 diffère du N O 68030 par le fait qu'il nécessite que toutes les pistes d'octets de données soient placées comme si tous les accès avaient une longueur de 32 bits et n'ef- fectuaient pas un calibrage dynamique de bus, le bloc de commande/minutage 501 et le bloc de direction d'octets 502 sont utilisés pour joindre le bus de système 102 basé sur le No 68040 et le bus I O 110 basé sur le 4 ' 68030 afin de créer une fenêtre transparente entre les dispositifs basés sur le M' 68030 et associés au bus I O 110 et les dispositifs basés sur le N O 68040 et associés au bus de système 102. La voie de données 201 remplit également deux autres fonctions En référence à la Figure 5, une logique de parité 503 effectue une génération de parité d'une largeur d'octet et une détection d'erreur pour des accès en mémoire principale 104 ( Figure 1). Une logique de retour à l'état initial 504 applique au système ordinateur 100 des signaux nécessaires pour des retours à l'état initial du système Une explication plus complète des trois fonctions de la voie de données 201 sera précisée dans la suite. On va maintenant décrire comment s'effectue la commande de la voie de données. On va d'abord préciser comment s'effeue nt la commande et le minutage de la voie de données Le bloc 501 de commande/minutage et le bloc 502 de direc- tion d'octets produisent les commandes de la voie de données qui sont nécessaires pour assurer la direction des octets et le calibrage du bus de données Comme décrit ci-dessus, le bus IO 110 peut contenir des dispo- sitifs périphériques de 8, 16 ou 32 bits ( dispositifs esclaves) et seulement des dispositifs maîtres de bus de 32 bits Ces dispositifs maîtres de bus IO peu- vent enclencher des transferts de données de 1, 2, 3 ou 4 octets, soit alignés, soit non alignés Des transferts en rafales de 5 octets ne sont pas supportés par le bus IO 110 Si un tel transfert est tenté, la voie de commande 202 change la demande de cycle en un ou plusieurs transferts de bus de système admissibles et la voie de données 201 achemine les données dans des pistes d'octets spécifiques correspondantes Le bus de système 102 contient seulement des dispositifs maîtres et esclaves de bus de 32 bits Le microproces- seur 101 N* 68040 de la réalisation présentement préf é- rée enclenche seulement des transferts de 1, 2, 4 ou 16 octets La voie de commande 202 reconnaît le transfert de 16 octets dans un bus IO 110 et fait en sorte qu'il soit complété par le No 68040 en utilisant quatre tran- sactions en bus de 4 octets selon un format de mot long La voie de commande 202 change les demandes de cycles provenant du bus de système 102, par l'intermé - diaire du N' 68040, en un ou plusieurs transferts en bus 10 admissibles et la voie de données 201 achemine les données dans des pistes d'octets spécifiques. Pour effectuer la commande de la voie de données, le bloc 501 de commande/minutage reçoit des signaux de commande provenant du bus de système 102 ou du bus IO 110 et des signaux de commande provenant de la voie de commande 202 En réponse, le bloc 501 de commande/minutage contrôle l'acheminement des données qui sont en train d'être transférées par l'intermédiaire du bloc 502 de direction d'octets. On va maintenant décrire comment des disposi- tifs maîtres de bus IO enclenchent des cycles Dans un système ordinateur 100, des dispositifs maîtres de bus IO peuvent produire des cycles de bus capables de transférer 1, 2, 3 ou 4 octets de données avec n'im- porte quel décalage d'adresse, tandis que les disposi- tifs basés sur le N O 68040 nécessitent que les trans- ferts concernent 1, 2 ou 4 octets, des transferts de 2 octets s'effectuant avec alignement de mots et des transferts de 4 octets avec des alignements de mots longs En d'autres termes, les transferts de 16 bits peuvent seulement se produire avec décalages d'adresses de O et 2 tandis que des transferts de 32 bits peuvent seulement se produire avec un décalage d'adresse de 0. En référence au Tableau 1, des transferts par des dispositifs maîtres de bus de 32 bits associés à un bus IO 110 vers ou à partir d'un bus de système 102 sont définis de façon plus détaillée Les grandeurs et les décalages d'adresses des différents transferts sont indiqués dans les colonnes respectives "Grandeur" et "Adresse" Le nombre de cycles nécessaires pour un transfert particulier est indiqué par le nombre de lignes nécessaires pour décrire le transfert Il est à noter que les lignes en tiret représentent des données qui n'ont aucune importance Comme indiqué, tous les transferts d'un seul octet dans le bus de système 102 se produisent dans un cycle Des transferts de deux octets à partir de dispositifs maîtres de bus IO de 32 bits sont terminés dans le même nombre de cycles dans le bus de système 102, excepté lorsque le transfert de deux octets s'effectue avec un décalage d'adresse de 1 Dans ce cas, deux cycles sont nécessai- res pour terminer le transfert dans le bus de système 102 Le cycle supplémentaire est nécessaire du fait que le bus de système 102 basé sur le N O 68040 accepte seulement des transferts de deux octets qui sont alignés par mots En conséquence, le transfert de deux octets peut seulement se produire avec des décalages d'adresses de O ou 2, et non un décalage d'adresse de 1, si la donnée doit être transférée dans le mêmenombre de cycles. Tableau 1 Transferts de dispositifs maîtres de bus IO de 32 bits vers/ à partir d'un bus de système : -:-'; dr&er Nt pr t L OP 3 P 3 2 OP 3 2 OP 3 - 3 OP 3 3 OP 3 2 Bits O OP 2 OP 3 2 Bits O OP 2 03 - l OP 2 OP 3 1 Bit I OP 2 - l Bit 2 O P 3 2 OP 2 OP Bt 2Bits OP 2 OP 3 3 OP 2 1 Bit 3 OP 2 OP 3 j Bit o O P 3 3 Bits O O Pl OP 2 OP 3 2 Bits O O Pl OP 2 1 Bit 2 P 3 l O Pl OP 2 OP 3 i Bit 1 O Pl - 2 O 1 2 Bits 2 OP 2 OP 3 2 O Pl OP 2 2 Bits2 O Pl OP 2 OP 31 1 Bit O P 3 3 op 1 1 Bit 3 O Pl OP 2OP 3 2 Bits O 92 O P 3 O 4 Bits O O O O Pl OP 2 O P 34 BitsO O O Pl OP 2 OP 3 1 OPO O Pl OP 2 l Bit 1 OPO 2 Bits 2 O Pl OP 2 OP 3 1 Bit O OP 3 2 OPO O Pl 2 Bits 2 OPO O Pl OP 2 3 2 Bits O OP 2 3 - 3 OPO 1 Bit 3 OPO O Pl OP 2 O P 3 2 Bits o O Pl OP 2 1 Bit 2 O 03 octets à 32 bits, No 68040 En ce qui concerne des transferts de trois partir d'un dispositif maitre de bus IO de puisque le bus de système 102 basé sur le ne permet pas des transferts de trois octets, tous les transferts nécessitent des cycles supplémentai- res pour leur terminaison Il est à noter à nouveau que les transferts sont divisés pour les décalages35 d'adresses correspondant aux décalages d'adresses O 1 c l C 2 ( et 2 pour faire en sorte que les transferts soient alignés par mots En ce qui concerne les transferts de quatre octets, le bus de système 102 accepte seule- ment des transferts qui sont alignés par mots longs. En conséquence, seul le transfert pour un décalage d'adresse de O est terminé avec le même nombre de cycles dans le bus de système 102 que dans le bus IO 110. Il est à noter cependant que, pour des décalages d'a- dresses de 1 et 3, le dispositif maître de bus 10 de 32 bits nécessite 2 cycles pour transférer les quatre octets, tandis que le bus de système 102 nécessite 3 cycles ( un cycle supplémentaire). On va décrire maintenant comment des cycles sont enclenchés par un dispositif maître de bus de système. Des dispositifs maîtres du bus de système 102 produisent des cycles de bus capables de transférer 1, 2 ou 4 octets de données pour n'importe quel décala- ge d'adresse Le Tableau 2 indique des cycles corres- pondants qui sont nécessaires pour un transfert faisant intervenir un dispositif esclave IO de 8 bits Il est à noter que toutes les données transmises par le bus IO 110 se trouvent dans la piste d'octets d'ordre le plus élevé ( 31: 24), indépendamment du décalage d'adresse Cela est dû au fait que le bus IO 110 basé sur le N O 68030 nécessite que les dispositifs de 8 bits reçoivent des données seulement par une piste d'octets En conséquence, tous les transferts d'un octet, indépendamment de leurs décalages, sont transfé- rés sur les pistes d'octets d'ordre le plus élevé du bus IO 110 Il est à noter que des transferts de deux octets nécessitent un cycle supplémentaire dans le bus IO 110 pour effectuer le transfert Des transferts de quatre octets dans des dispositifs esclaves de 8 bits sur le bus IO 110 reçoivent également seulement des données par la piste d'octets d'ordre le plus élevé. En conséquence, quatre cycles sont nécessaires pour terminer le transfert dans le bus IO 110, du fait que, à chaque cycle successif, un autre octet est dirigé vers la piste d'octets d'ordre le plus élevé. Tableau 2 Transfert d'un maitre de bus de système vers /à partir d'un esclave de bus IO de 8 bits. rs de tra'-sfert pur bm de sy p e( 040 o Co 1 t r pur Us EX(CD) Calire AressePistes d'octets Clibre drée Pistes d'octets l 1.Xl l 1 3124 23:16 15:87:0 l 1 l l 1 312423:1615:870 Bit O OP 3 1 t O - 1 O 1 Bt 1 NPé - 2 1 Bit 2 P -. 3 GP:1 Bt 3 CP - 2 B'tsO O 1 Bt P 2 -316 t O 1 Bit 1 X P 3 2 NP 2 COP 31 Bit 2 P 2 18 t 3 ON - 4 Bits O OPO Pl OP 2OP 3 1 Bit O OPO 1 Bit 1 G Pl : 1 Br 3 GPS I Bit2 XP 2 - ait 3 OP 3 - Le Tableau 3 montre des transferts de disposi- tifs maîtres de bus de système vers et à partir de dispositifs esclaves de 16 bits sur un bus IO 110. Il est à noter que les dispositifs de 16 bits reçoivent seulement des données sur les deux pistes d'octets30 d'ordre le plus élevé Toutes les données se trouvant dans les pistes d'octets 31: 24 et 15: 8 du bus de système 102 sont acheminées vers et à partir de la piste d'octets d'ordre le plus élevé 31: 24 du bus de données IO du bus IO 110, tandis que les données35 se trouvant dans les pistes d'octets 33: 16 et 7: O du bus de données de système du bus de système 102 émettent et reçoivent des données par l'intermédiaire de la piste d'octets 23: 16 du bus IO 110 Il est à noter que des transferts d'un octet et de deux octets nécessitent le même nombre de cycles pour l'exécution du transfert tandis que les transferts de quatre octets nécessitent un cycle supplémentaire. Tableau 3 Transferts d'un maître de bus de système vers/à partir d'un esclave de bus IO de 16 bits. Dsm:les detra Et p:or S seys (( O 40 tfl rérpirps opr S l(Cr 0) Caliure Aroe Pistes d'octets Cliekk dressePistes d'octets l 1:01 l 11 31:2423:1615:8 7 O l 11 l 1 l 3124 23:16158 7. Bil o O OP 3 1 Bit O OP 3 - l OP 3, 1 Bit OP 3, 2 OP 3 1 Bit 2 OP 3 3 OP 3 1 Bit 3 OP 3 2 Bits O OP 2 OP 3 2 Bits O OP 2 OP 3 2 O P 2OP 3 2 Bits 2 O P 2OP 3 4 Bit SO OPO O Pl OP 2 OP 3 2 Bits O OPO O Pl 2 Bit 2 OP 2 OP 3 -: Finalement le Tableau 4 montre des transferts pour des maîtres de bus associés au bus de système 102 vers ou à partir de dispositifs esclaves de 32 bits associés au bus IO 110 Du fait qu'à la fois les maîtres et les esclaves de bus sont des dispositifs de 32 bits, toutes les demandes de transferts sont terminées dans un cycle et sans un acheminement par30 une piste d'octets Dans ce cas, seulement des considérations de minutage et de protocole sont importantes. Tableau 4 Transferts de maître de bus de système vers et à partir d'un esclave de bus IO de 32 bits. Damn 3 sde tasfertp Lr bsde systre( 040 Cycles r i pxr b U S 030) Cjlire AdressePistes d'octets Cli-re dresse Pistes d'octets l 1:0 ll 1 tl31:2423:1615:87:0 l 101 l 1 t31:2423:1615 S 7:0 1 Bit O' OP 3 1 Bit O OP 3 1 O P 3 1 t P 3 2 O P 3 1 Bit 2 ON 3 - 3 O P 3 Bit 3 01: l Bit SO OP 2 OP 2 Bits O OP 2 OP 3 2 O P 2OP 3 2 Bits 2 OP 2O Po 4 sit S O OPO O Pl OP 2 OP 3 4 Bit SO OPO P 2 OP 02 OP On va maintenant décrire l'exécution d'un transfert de données Pour l'acheminement de données par la voie de données et pour un calibrage dynamique de bus, des pistes d'octets relient des octets spécifi- ques du bus de système 102 avec des bus spécifiques du bus IO 110, comme indiqué sur la Figure 6 En réfé- rence à la Figure 6, des pistes d'octets 601-604 sont représentées comme reliant les quatre octets ( 32 bits) du bus de données du bus de système 102 avec leurs quatre octets correspondants du bus de données du bus IO 110 Ces pistes d'octets sont utilisées lorsque des maîtres de bus de 32 bits associés au bus de système 102 ou au bus IO 110 transfèrent des données Dans le cas d'un tel transfert, les quatre octets restent sur les mêmes pistes entre les deux bus de données. Les pistes d'octets 605 et 606, en association avec les pistes d'octets 601 et 602, sont utilisées lorsqu'un dispositif de 16 bits associé au bus IO 110 intervient dans le transfert de données Si une donnée est en train d'être transférée dans le dispositif de bus IO de 16 bits, deux octets de données provenant de 6 A et 6 B sont transf:érés respectivement en 6 E et 6 F pendant le premier cycle produit par le générateur de cycles 302, en utilisant respectivement les pistes d'octets 601 et 602 Pendant un second cycle engendé par le générateur de cycles 302, les octets situés en 6 C et 6 D sont transférés respectivement dans les octets 6 E et 6 F, en utilisant respectivement les pistes d'octets 605 et 606 De façon analogue, au bus de système 102, les mêmes pistes d'octets sont utilisées Pendant un premier cycle engendé par le générateur de cycles 303, des octets correspondant aux octets 6 E et 6 F du bus de données I O du bus IO 110 sont transférés jusqu'aux octets 6 A et 6 B du bus de données du bus de système 102, en utilisant respectivement les pistes d'octets 601 et 602 Dans un second cycle, un second groupe d'octets se trouvant en 6 E et 6 F sont transférés respec- tivement jusqu'aux octets 6 C et 6 D, en utilisant respec- tivement les pistes d'octets 605 et 606 Ainsi les quatre octets sont transférés dans le bus de système 102 en une fois. En référence à la Figure 6, les pistes d'octets 601, 607, 605 et 608 sont utilisées pour effectuer des transferts faisant intervenir un dispositif de 8 bits dans le bus IO 110 Lors de transferts effectués jusqu'à un dispositif de 8 bits à partir du bus de système 102, l'octet correspondant à l'octet 6 A est transféré pendant le premier cycle jusqu'à l'octet 6 E en utilisant la piste d'octets 601 Pendant le second cycle, l'octet correspondant à l'octet 6 B est transféré jusqu'à l'octet 6 E en utilisant la piste d'octets 6 07. Dans le cycle suivant, l'octet correspondant à 6 C est transféré jusqu'à l'octet 6 E en utilisant la piste d'octets 6 08 Dans le cycle final, l'octet correspondant à l'octet 6 D est transféré jusqu'à l'octet 6 E en utili- sant la piste d'octets 608 De façon analogue, si le transfert de données s'effectue d'un dispositif de 8 bits au bus de système 102, dans quatre cycles succes- sifs les données sont transférées depuis l'octet cor- respondant à 6 E jusqu'aux octets 6 A, 6 B, 6 C et 6 D. Une fois que les quatre transferts se déroulent, les quatre octets sont transférés jusqu 'au bus de système 102. La réalisation présentement préférée de l'élé- ment 502 d'acheminement d'octets de données est repré- sentée sur la Figure 5, avec utilisation des verrous 701-708, des éléments de validation de sorties 711-718 et des multiplexeurs 721-725 La Figure 7 représente une structure plus détaillée de la Figure 6 En utilisant des signaux de commande engendrés dans le bloc de com- mande/minutage 501, les multiplexeurs 721-725 contrô- lent l'acheminement des données Une explication détail- lée du multiplexage, du verrouillage et de la valida- tion des sorties a été omise du fait que les spécifica- tions les concernant sont évidentes et bien connues des spécialistes de ce domaine. On va maintenant décrire comment s'effectue une génération de parité et une détection d'erreur. Une parité dans le système ordinateur 100 est établie par la voie de données 201 en coopération avec une commande de mémoire 103 et la mémoire principa- le 104 La voie de données 201 effectue, en combinaison complète, une génération et un contrôle de parités. Une génération de parités est effectuée pour des opéra- tions d'écriture dans la mémoire principale 104 Sur la base du bus de données de système associé au bus de système 102 et d'un signal de parité impaire, la voie de données 201 produit quatre bits de parité, à raison d'un bit par piste d'octets Ces bits de parité sont mémorisés dans une partie prédéterminée de la mémoire principale 104 par la commande de mémoire 103. Un contrôle de parité est effectué pour des opérations de lecture dans la mémoire principale 104. La voie de données 201 contrôle le bus de données du bus de système 102, les bits de parité et le signal de parité impaire afin de déterminer si une erreur de parité s'est produite Si une erreur de parité s'est produite, la voie de données 201 produit un signal d'erreur de parité et le descripteur approprié de piste d'octets identifiant la donnée non fiable spécifique. En réponse, la commande de mémoire 103 termine le cycle par un signal d'erreur de bus et envoie un signal d'in- terruption de parité. Si un maître de bus de système dispose du bus intégral lorsqu'une erreur de parité se produit, un signal de reconnaissance d'erreur de transfert termine le cycle Cela permet au logiciel du système ordinateur d'enregistrer l'erreur avant l'utilisation d'un autre cycle Si un maître de bus IO commande le bus intégral lorsqu'une erreur de parité se produit, un signal de reconnaissance d'erreur de transfert provenant de la commande de mémoire 103 sera traduit par la voie de commande 202 et envoyé au bus IO 110 Cela termine le cycle en permettant un arrêt du transfert de données. On va maintenant décrire comment s'effectuent une commande et une exécution de restauration de systè- me. En référence à la Figure 5, une logique de restauration 504 remplit les différentes fonctions de restauration en établissant des restaurations séparées pour l'unité CPU du N O 68040, de la commande de mémoire 103, de l'espace IO et de l'espace Nu Bus Les restaura- tions séparées permettent une réponse de restauration plus rapide pour une initialisation de mémoire et pour l'acheminement correct d'un signal de restauration ayant pour origine le logiciel Ces deux résultats sont obtenus lors de l'enclenchement du système ordina- teur 100 et de la génération d'une restauration CPU à partir de l'exécution d'une instruction de restaura- *tion du N O 68040. Pendant l'enclenchement d'un système, un signal de restauration Po, appliqué à la logique de restauration 504 de la présente invention, est engendré par un circuit analogique extérieur à la voie de données 201 Lorsque le signal de restauration PO est validé, la logique de restauration 504 valide quatre signaux de restauration La logique de restauration 504 valide les restaurations transmises à l'unité CPU du micro- processeur No 68040, une restauration de mémoire transmi- se à la commande de mémoire 103, une restauration d'es- pace I O et une restauration d'espace Nu Bus transmises à la commande de Nu Bus 106 Lorsque le signal de restau- ration PO est invalidé, la logique de restauration 504 invalide la restauration de mémoire et retarde l'invalidation des trois autres autres signaux de res- tauration jusqu'à ce que la mémoire principale 104 ait terminé l'initialisation La logique de restauration 504 produit le retard en enclenchant un compteur qui compte jusqu'à un nombre prédéterminé de cycles d'horlo- ge Le nombre prédéterminé de cycles d'horloge est défini comme le retard le plus mauvais lors d'une initia- lisation de mémoire Dans la réalisation présentement préférée, ce retard est de 3321 cycles de bus IO Après le retard de longueur fixée, la logique de restauration 504 invalide les trois signaux de restauration restants pour terminer la restauration du système ordinateur 100. Quand une instruction de restauration est exécutée par l'unité CPU du microprocesseur N O 68040, une restauration engendrée par CPU est validée Quand cela se produit, la logique de restauration 504 produit la totalité des restaurations qui ont été validées pendant la phase d'enclenchement, excepté le signal de restauration de CPU La logique de restauration 504 ne transmet pas un signal de restauration à l'unité CPU Le même modèle d'invalidation et le même retard pour les signaux de restauration lors de l'enclenchement sont également produits pour les signaux de restauration engendrés en réponse à l'exécution de l'instruction de restauration *par l'unité CPU du microprocesseur No 68040. En conséquence, la logique de restauration 504 transmet des restaurations séparées à l'unité CPU, à la commande de mémoire 103, à l'espace IO et à l'espa- ce Nu Bus lors de l'enclenchement du système ordinateur 100 et les trois dernières restaurations quand un signal de restauration est validé comme le résultat d'une exécution d'instruction de restauration par l'unité CPU du microprocesseur 68040. En ce qui concerne la réalisation présentement préférée de la voie de données, cette réalisation de la voie de données 201 est représentée sur la Figure 8 Bien que la Figure 8 soit une représentation plus complète de la Figure 5, une explication détaillée a été omise du fait que des détails spécifiques de son fonctionnement sont bien connus des spécialistes de ce domaine. En conséquence, on a décrit un adaptateur de bus bidirectionnel qui relie un bus de système à un bus I O et qui permet à des dispositifs de transfert de données associés à un bus de transférer des données vers et à partir de dispositifs associés à l'autre bus. REVENDICATIONS 1 Adaptateur de bus bidirectionnel couplé entre un premier ( 102) et un second bus ( 110), lesdits bus se composant de lignes de données, d'adresses et de commande, lesdits premier et second bus contenant une pluralité de premiers et seconds dispositifs de trans- fert de données, chacun engendrant une première pluralité de cycles de données conçus pour émettre et recevoir des données en correspondance à un calibre prédéterminé de lignes de données, lesdits premier ( 102) et second bus ( 110) opérant respectivement à une première et à une seconde vitesse respectivement avec un premier et un second protocole, lesdites première et seconde vitesses et lesdits premier et second protocoles étant différents, ledit adaptateur de bus ( 120) étant conçu pour permettre auxdits dispositifs couplés à l'un ou l'autre desdits bus de transférer les données à d'autres dispositifs couplés à l'autre desdits bus, ledit adap- tateur de bus ( 120) étant caractérisé en ce qu'il com- prend: des moyens de génération de cycles ( 302; 303), répondant à ladite première pluralité de cycles de données provenant de l'un desdits dispositifs associés à un desdits bus pour produire une seconde pluralité de cycles de données nécessaires pour compléter ledit transfert de données à un desdits autres dispositifs associés à l'autre bus; des moyens de synchronisation ( 308; 310) reliés auxdits moyens de génération de cycles pour convertir ladite seconde pluralité de cycles de données de ladite première vitesse à ladite seconde vitesse ou de ladite seconde vitesse à ladite première vitesse; des moyens formant une voie de données bidirectionnelle ( 201) entre lesdites lignes de données dudit premier bus et lesdites lignes de données dudit second bus et répondant à ladite première pluralité de cycles de données, ladite voie de données ( 201) servant à acheminer des données entre lesdits premier et second bus ( 102, 110) en concordance avec lesdits protocoles; et des moyens émetteurs-récepteurs bidirectionnels d'adresses ( 203) couplés entre lesdites lignes de don- nées dudit premier bus et lesdites lignes de données dudit second bus et répondant à ladite pluralité de cycles de données pour acheminer des adresses entre lesdits premier et second bus ( 102, 110). 2 Adaptateur de bus selon la revendication 1, caractérisé en ce que cet adaptateur opère à ladite première vitesse. 3 Adaptateur de bus selon la revendication 1, caractérisé en ce que lesdits moyens de génération de cycles comprennent: un premier moyen de génération de cycles ( 302) répon- dant à ladite pluralité de cycles de données provenant dudit bus de système pour produire des cycles de données de bus I O ( 110) nécessaires pour compléter un transfert de données audit bus I O ( 110); un second moyen de génération de cycles ( 303) répon- dant à ladite pluralité de cycles de données provenant dudit bus I O ( 110) pour produire des cycles de données de bus de système nécessaires pour compléter un transfert de données audit bus de système ( 102). 4 Adaptateur de bus selon la revendication 3, caractérisé en ce que lesdits moyens de synchronisa- tion comprennent: un premier moyen de synchronisation ( 308) répondant à ladite pluralité de cycles de données provenant dudit premier moyen de génération de cycles ( 302) pour conver- tir ladite pluralité de cycles de données de la vitesse dudit bus de système ( 102) à la vitesse dudit bus I O ( 110) un second moyen de synchronisation ( 310) répondant à ladite pluralité de cycles de données provenant dudit second moyen de génération de cycles ( 303) pour conver- tir ladite pluralité de cycles de données de la vitesse dudit bus I O ( 110) à la vitesse dudit bus de système ( 102). Adaptateur de bus selon la revendication 1, caractérisé en ce que lesdits moyens formant la voie de données ( 201) effectuent un acheminement de données dans ladite voie ainsi qu'un calibrage dynamique de bus pour lesdites données en train d'être transférées. 6 Adaptateur de bus bidirectionnel couplé entre un bus de système et un bus IO, lesdits bus se composant de lignes de données, d'adresses et de commande, lesdits bus de système et I O contenant une pluralité de dispo- sitifs de transfert de données de système et IO, chacun engendrant une première pluralité de cycles de données pour émettre et recevoir des données en concordance avec un calibre prédéterminé de bus de données, lesdits bus de système et IO opérant respectivement à des vites- ses de système et I O avec respectivement des protocoles de système et IO, lesdites vitesses de système et I O et lesdits protocoles de système et I O étant différents, ledit adaptateur de bus étant conçu pour permettre auxdits dispositifs associés à l'un desdits bus de transférer des données à des dispositifs contenus dans l'autre bus, ledit adaptateur de bus étant caractérisé en ce qu'il comprend: des moyens de génération de cycles de système ( 302) répondant à ladite pluralité de cycles de données prove- nant dudit bus I O ( 110) pour produire des cycles de données de bus de système nécessaires pour compléter un transfert de données audit bus de système ( 102); des moyens de génération de cycles I O ( 303) répondant à ladite pluralité de cycles de données provenant dudit bus de système ( 102) pour produire des cycles de données de bus I O nécessaires pour compléter un transfert de données audit bus I O ( 110); des moyens de synchronisation de système ( 310) répon- dant auxdits cycles de données de bus de système prove- nant desdits moyens de génération de cycles de système ( 302) pour convertir lesdits cycles de données de bus de système engendrés par lesdits moyens de génération de cycles de système ( 302) de la vitesse dudit bus I O ( 110) à la vitesse dudit bus de système ( 102); des moyens de synchronisation I O ( 308) répondant auxdits cycles de données de bus IO provenant desdits moyens de génération de cycles I O ( 303) pour convertir lesdits cycles de données de bus I O engendrés par les- dits moyens de génération de cycles IO ( 303) de la vitesse dudit bus de système ( 102) à la vitesse dudit bus I O ( 110); des moyens formant une voie bidirectionnelle de don- nées ( 201) couplés entre ladite ligne de données dudit bus de système ( 102) et ladite ligne de données dudit bus I O ( 110) et répondant à ladite pluralité de cycles de données, cette voie de données ( 201) servant à ache- miner des données entre lesdits bus de système et IO ( 102, 110) en concordance avec lesdits protocoles, de telle sorte que cette voie de données dirige des octets desdites données vers des lignes de données spécifiques pour produire une direction d'octets et un calibrage dynamique de bus sur lesdites données transférées dudit bus de système ( 102) audit bus 10 ( 110); et des moyens émetteurs-récepteurs bidirectionnels d'a- dresses ( 203) couplés entre lesdites lignes de données dudit bus de système et lesdites lignes de données dudit bus I O et répondant à ladite pluralité de cycles de données pour acheminer des adresses entre lesdits bus de système et IO ( 102, 110). 7 Adaptateur de bus selon la revendication 6, caractérisé en ce qu'il comprend en outre un moyen d'arbitrage ( 307) répondant à ladite pluralité de cycles de données provenant desdits dispositifs, ledit moyen d'arbitrage servant à déterminer la possession desdits bus de système et IO ( 102, 110) par un desdits disposi- tifs. 8 Adaptateur de bus selon la revendication 6, caractérisé en ce qu'il comprend en outre un moyen logique de temporisation ( 304) pour terminer lesdits cycles de données provenant d'un desdits dispositifs assurant la possession desdits bus ( 102, 110), ledit moyen logique de temporisation effectuant un comptage de cycles d'horloge de bus jusqu'à un nombre prédéter- miné de telle sorte que ce moyen logique de temporisa- tion produise une erreur de bus lorsque lesdits cycles de données ne sont pas en concordance au moment o20 ledit moyen logique de temporisation a compté jusqu'audit nombre prédéterminé. 9 Adaptateur de bus selon la revendication 6, caractérisé en ce que lesdits bus de système et IO sont respectivement un bus de système ( 102) avec un processeur et un bus 10 ( 110) sans processeur. Adaptateur de bus selon la revendication 6, caractérisé en ce que ledit bus de système ( 102) opère à une fréquence approximativement de 25 ou de 33 M Hz et ledit bus I O ( 110) opère à une fréquence approximativement de 15,6672 M Hz ou de 24,28416 M Hz. 11 Adaptateur de bus bidirectionnel couplé entre un bus de système et un bus I 0, ledit bus de système opérant à une fréquence approximativement de 25 ou de 33 M Hz et contenant un processeur, ledit bus IO opérant à une fréquence approximativement de 15,6672 r ou de 24, 28416 M Hz, lesdits bus se composant de lignes de données, d'adresses et de commande, lesdits bus de système et I O contenant une pluralité de dispositifs de transfert de données de système et IO, en engendrant chacun une première pluralité de cycles de données pour émettre et recevoir des données en concordance avec un calibre prédéterminé de lignes de bus, lesdits bus de système et I O opérant respectivement à des vites- ses de système et I O et respectivement avec des proto- coles de système et I 0, lesdites vitesses de système et I O et lesdits protocoles de système et I O étant différents, ledit adaptateur de bus étant conçu pour permettre auxdits dispositifs couplés avec l'un desdits bus de transférer des données à des dispositifs contenus dans l'autre bus, ledit adaptateur de bus étant caracté- risé en ce qu'il comprend: un moyen d'arbitrage ( 307) répondant à ladite pluralité de cycles de données provenant desdits dispositifs, ce moyen d'arbitrage servant à déterminer la possession desdits bus de système ( 102) et I O ( 110) par un desdits dispositifs; un moyen de génération de cycles de système ( 303) répondant à ladite pluralité de cycles de données prove- nant dudit bus I O ( 110) pour produire des cycles de données de bus de système nécessaires pour compléter un transfert de bus de données audit bus de système ( 102); un moyen de génération de cycles IO ( 302) répondant à ladite pluralité de cycles de données provenant dudit bus de système ( 102) pour engendrer des cycles de don- nées de bus IO nécessaires pour compléter un transfert de données audit bus I O ( 110); un moyen de synchronisation de système ( 310) répondant auxdits cycles de données de bus de système provenant dudit moyen de génération de cycles de système ( 303) pour convertir lesdits cycles de données de bus de système engendrés par ledit moyen de génération de cycles de système ( 303) de la vitesse dudit bus I O ( 110) à la vitesse dudit bus de système ( 102); un moyen de synchronisation I O ( 308) répondant auxdits cycles de données de bus IO provenant dudit moyen de génération de cycles I O ( 302) pour convertir lesdits cycles de données de bus IO engendrés par ledit moyen de génération de cycles I O ( 302) de la vitesse dudit bus de système ( 102) à la vitesse dudit bus I O ( 110); des moyens formant une voie bidirectionnelle de données ( 201) couplés entre lesdites lignes de bus de données dudit bus de système ( 102) et lesdites lignes de données dudit bus I O ( 110) et répondant à ladite pluralité de cycles de données, ladite voie de données ( 201) servant à acheminer des données entre lesdits bus de système ( 102) et I O ( 110) en concordance avec lesdits protocoles de telle sorte que cette voie de données dirige des octets desdites données jusqu'à des lignes spécifiques de données pour effectuer une direction d'octets et un calibrage dynamique de bus pour lesdites données transférées dudit bus de système ( 102) audit bus I O ( 110); et des moyens émetteurs-récepteurs bidirectionnels d'a- dresses ( 203) couplés entre lesdites lignes de données dudit bus de système ( 102) et lesdites lignes de don- nées dudit bus I O ( 110) et répondant à ladite pluralité de cycles de données pour acheminer des adresses entre lesdits bus de système ( 102) et IO ( 110).