Brevet FR2735254A1 — publié le 19961213

La présente invention concerne de façon générale des systèmes graphiques pour ordinateurs et, plus particulièrement, un protocole de bus destiné à transférer des données de coordonnées Z par un bus de données dans un système graphique d'ordinateurs. Des systèmes graphiques d'ordinateurs sont utilisés communément pour afficher des représentations graphiques d'objet sur un écran d'affichage bidimensionnel. Les systèmes actuels de graphiques d'ordinateurs peuvent réaliser des représentations hautement détaillées et sont utilisés dans diverses applications. Dans des systèmes graphiques d'ordinateurs typiques, un objet à représenter sur l'écran d'affichage est divisé en une série de primitives de graphiques. Les primitives sont des composants de base d'une représentation de graphiques et elles peuvent inclure des points, des lignes, des vecteurs et des polygones, par exemple des triangles. Typiquement, un procédé de matériel/logiciel est mis en oeuvre pour rendre, en d'autres termes tracer, sur l'écran d'affichage bidimensionnel les primitives de graphiques qui représentent la vue d'un ou plusieurs objets qui sont représentés sur l'écran. Typiquement, les primitives qui définissent l'objet tridimensionnel à tracer sont envoyées par un ordinateur hôte qui définit chaque primitive en termes de données de primitives. Par exemple, lorsque la primitive est un triangle, l'ordinateur hôte peut définir la primitive en termes des coordonnées X, Y, Z de ses sommets, ainsi que par des valeurs de couleurs R, G, B de chaque sommet. Un équipement de traçage interpole les données primitives pour calculer les pixels de l'écran d'affichage qui sont mis en service pour représenter chacune des primitives, et les valeurs R, G, B pour chaque pixel. Typiquement, les données des primitives sont réparties entre divers blocs de circuits du système de graphiques en utilisant des bus de données. Des largeurs normalisées de bus de données incluent 32 à 64 bits. Bien que des bus non normalisés de données puissent être utilisés, des bus non normalisés sont typiquement plus onéreux et exigent un temps de développement additionnel. Des mots primitifs de données sont typiquement de 32 bits au moins, sauf pour les données de coordonnées Z, qui peuvent exiger bits pour atteindre une précision élevée. Dans des systèmes de graphiques de l'art antérieur, un problème se pose lorsqu'il faut passer les données de coordonnées Z à 40 bits par un bus de données d'une largeur de 32 bits. Il est souhaitable de transférer les données de coordonnées Z en un seul cycle de bus afin de maximiser la vitesse de transfert des données de primitives. Dans des systèmes de l'art antérieur de haute qualité, qui sont les plus onéreux, le transfert de données de coordonnées Z à 40 bits est réalisé en utilisant des bus de données spécialisés dont les largeurs de bus sont d'au moins 40 bits. Dans des systèmes de l'art antérieur de moindre qualité, qui exigent une précision moindre des coordonnées Z, les données de coordonnées Z sont typiquement tronquées à 32 bits afin de permettre l'utilisation de bus normalisés de données. En variante, dans des systèmes de l'art antérieur qui utilisent des bus de données à 32 bits, chaque mot de coordonnées en Z de 40 bits est transféré en utilisant plus d'un cycle de bus, ce qui réduit la vitesse de transfert des données primitives des graphique. C'est le but de la présente invention, en partant des problèmes posés par l'état de l'art actuel, que de maintenir la précision apportée par les données des coordonnées Z à 40 bits, tout en évitant l'exigence de deux cycles de bus pour transférer les données de coordonnées en Z. Selon un premier aspect de la présente invention, ce but est atteint par un appareil destiné à transférer des données entre un premier et un deuxième blocs de circuits dans un système de graphiques d'ordinateur dans lequel lesdits bloc de circuits sont interconnectés par un bus de données à n bits, caractérisé en ce qu'il comprend: un circuit inclus dans le premier bloc de circuits pour transmettre en séquence des mots de données sur ledit bus de données à partir du premier bloc de circuits vers le deuxième bloc de circuits, lesdits mots de données incluant un ou plusieurs mots longs de données à plus de n bits; un registre inclus dans le premier bloc de circuits pour mémoriser des bits desdits mots longs de données qui dépassent les n bits; et un dispositif de commande, inclus dans le premier bloc de circuits, qui répond à une transmission des mots longs de données pour charger dans ledit registre les bits desdits mots longs de données qui dépassent les n bits et pour combiner dans un mot de données composite, à transmettre audit deuxième bloc de circuits, les bits dudit mot long de données mémorisé dans ledit registre. Le dispositif de commande peut inclure un moyen d'annuler, dans lesdits mots longs de données, un nombre suffisant de bits de poids faible pour réduire à n bits le nombre des bits dudit mot composite de données. On peut prévoir de façon avantageuse que lesdits mots de données incluent en outre un mot court de données à moins de n bits, et que le dispositif de commande répond à une transmission desdits mots courts de données pour combiner avec lesdits mots courts de données les bits desdits mots longs de données mémorisés dans ledit registre afin de former le mot composite de données à transmettre audit deuxième bloc de circuits; De préférence, l'appareil comprend en outre: un circuit inclus dans le deuxième bloc de circuits pour assembler de nouveau lesdits mots longs de données. Dans ce cas, ou peut prévoir que n est égal à 32; et le mot ou les mots longs de données à plus de n bits sont des mots de données de coordonnées Z; et le mot court de données à moins de n bits est un mot d'ordre; et, en particulier. les nombre de bits peuvent être de 40 pour les mots de données de coordonnées Z et 8 pour le mot d'ordre. Lorsque l'appareil offre la modalité préférée exposée précédemment, le circuit du deuxième bloc de circuits peut comprendre un deuxième registre pour assembler de nouveau chacun desdits mots lots de données et un deuxième dispositif de commande qui répond à une transmission desdits mots longs de données pour charger lesdits mots longs de données dans ledit deuxième registre et qui répond à une transmission dudit mot composite de données pour charger dans ledit deuxième registre à partir dudit mot composite de données les bits desdits mots longs de données qui dépassent les n bits, grâce à quoi lesdits mots longs de données sont assemblés de nouveau dans ledit deuxième registre. Selon un deuxième aspect, la présente invention fournit un procédé de transfert de mot de données par l'intermédiaire d'un bus de données dans un système de graphiques d'ordinateur qui comprend un premier et un deuxième blocs de circuits interconnectés par un bus de données afin de transmettre des données sous formes de mots à n bits, caractérisé en ce que ledit procédé comprend les étapes consistant à: transmettre n bits de chacun des mots de données par le bus de données à partir du premier bloc de circuits vers un deuxième bloc de circuits, lesdits mots de données incluant un ou plusieurs mots longs de données à plus de n bits; mémoriser, dans un registre, des bits des mots longs de données qui dépassent n bits; combiner pour former un mot composite de données les bits des mots longs de données qui dépassent n bits; et transmettre du premier bloc de circuits vers le deuxième bloc de circuits le mot composite de données sur le bus de données. Le procédé peut comprendre en outre l'étape consistant à: annuler, dans lesdits mots longs de données, un nombre suffisant de bits de poids faible pour réduire à n bits le nombre des bits dudit mot composite de données. Le procédé peut prévoir que les mots de données incluent en outre un mot court de données à moins de n bits, et que l'étape de combinaison inclut une étape de combinaison du mot court de données avec les bits des mots longs de données qui dépassent n bits de manière à former le mot composite de n bits. De préférence, le procédé comprend en outre l'étape consistant à: assembler de nouveau au deuxième bloc de circuits les mots longs de données. Dans ce cas, l'étape de nouvel assemblage des mots longs de données au deuxième bloc de circuits peut inclure les étapes consistant à: charger dans un deuxième registre les mots longs de données transmis du premier bloc de circuits au deuxième bloc de circuits et charger dans ledit deuxième registre les bits des mots longs de données qui dépassent n bits à partir dudit mot composite de données, grâce à quoi les mots longs de données sont assemblés de nouveau dans ledit deuxième registre. Les buts, particularités et avantages de la présente invention, exposés ci-dessus, ainsi que d'autres ressortiront mieux de la lecture de la description qui suit de trois modes de réalisation préférés de la présente invention en se référant aux les dessins annexés dans lesquels: la Fig. 1 est un schéma fonctionnel d'un mode de réalisation d'un système de graphiques pour ordinateurs apte à incorporer la présente invention; la Fig. 2 est un schéma fonctionnel d'un premier mode de réalisation de la présente invention; la Fig. 3 est un schéma d'une structure de données primitives de graphiques pour une primitive de triangle utilisée dans le mode de réalisation de la Fig. 2; la Fig. 4 est un schéma qui illustre un passage de données selon le mode de réalisation de la Fig. 2; la Fig. 5 est un schéma fonctionnel qui illustre, selon un deuxième mode de réalisation de la présente invention, le transfert d'un mot d'ordre et de données de coordonnées Z en un cycle de bus; et la Fig. 6 est un schéma fonctionnel qui illustre, selon un troisième mode de réalisation de la présente invention le transfert de données de coordonnées Z en l'absence de mots d'ordre. On décrira d'abord, en se référant à la Fig. 1 qui en est un schéma fonctionnel, un premier mode de réalisation d'un système de graphiques selon la présente invention qui inclut un équipement d'application de texture pourvu d'une mémoire de cache pour mémoriser localement des données de texture. Il faut comprendre que l'implantation représentée à titre d'illustration ne constitue qu'un exemple en ce qui concerne le nombre de cartes et de microplaquettes, la manière dont elles sont réparties, les largeurs de bus et les vitesses de transfert de données. De nombreuses autres implantations peuvent être employées. Comme représenté, le système inclut une carte 10 d'entrée de données, une carte 12 d'application de texture et une carte 14 de tampon de trame. La carte d'entrée de données communique avec un ordinateur hôte 15 par l'intermédiaire d'un bus 16 à 52 bits. La carte d'entrée de données reçoit de l'ordinateur hôte, par le bus 16, des primitives à tracer. Les primitives sont spécifiées par des données de coordonnées vectorielles x, y, z, des données de couleurs R, G, B et des coordonnées de texture S, T, qui concernent toutes des parties des primitives, par exemple les sommets lorsque la primitive est un triangle. Des données qui représentent des primitives en trois dimensions sont ensuite envoyées par la carte d'entrée de données à la carte 12 d'application de texture et à la carte 14 de tampon de trame par l'intermédiaire d'un bus 18 à 85 bits. La carte 12 d'application de texture interpole les données de primitives reçues afin de calculer les pixels d'affichage sur l'écran qui représenteront la primitive et elle détermine des données résultantes de texture correspondantes pour chaque pixel de primitive. Les données résultantes de texture sont envoyées à la carte de tampon de trame par l'intermédiaire de cinq bus 28 à 55 bis, qui sont représentés à la Fig. 2 sous la forme d'un bus unique pour la clarté de la figure. La carte 14 de tampon de trame interpole aussi les données de primitives reçues de la carte 10 d'entrée de données afin de calculer les pixels de l'écran d'affichage qui représenteront chaque primitive, et de déterminer des valeurs de couleurs d'objet pour chaque pixel. La carte de tampon de trame combine ensuite, sur une base de pixel par pixel, les valeurs de couleurs d'objet avec les données résultantes de texture fournies par la carte d'application de texture pour engendrer, pour chaque pixel, des valeurs résultantes R, G, B d'image. Les signaux de commande de couleur R, G, B de chaque pixel sont respectivement envoyés par des lignes R, G, B désignées par 29 pour commander les pixels de l'écran d'affichage, qui n'est pas représenté à la figure, de manière à afficher sur l'écran d'affichage une image résultante qui représente la primitive à application de texture. La carte 10 d'entrée de données, la carte 12 d'application de texture et la carte 14 de tampon de trame sont chacune structurées en pipe-line et chacune fonctionne simultanément sur les primitives multiples. Tandis que les cartes d'application de texture et de tampon de trame fonctionnent sur des primitives envoyées précédemment par la carte d'entrée de données, la carte d'entrée de données continue à traiter et envoyer de nouvelles primitives jusqu'à ce que les pipe-lines des cartes 12 et 14 soient remplis. La carte 10 d'entrée de données inclut une microplaquette distributrice 30, trois microplaquettes accélératrices 32A, 32B et 32C de géométrie tridimensionnelle ou 3-D, une microplaquette accélératrice 34 de géométrie bidimensionnelle, ou 2- D, et une microplaquette de concentrateur 36. La microplaquette distributrice 30 reçoit de l'ordinateur hôte par le bus 16 les coordonnées X, Y, Z et les données de primitives de couleurs et elle distribue de façon uniforme des données de primitives tridimensionnelles parmi les microplaquettes accélératrices 32A, 32B et 32C de géométrie tridimensionnelle. De cette manière, la largeur de bande du système est accrue, parce que trois groupes de primitives sont traités simultanément. Des données sont envoyées, par le bus 38A à 40 bits, vers les microplaquettes accélératrices 32A et 32B à géométrie tridimensionnelle et, par le bus 38B à 40 bits, vers la microplaquette 32C. Les deux bus 38A et 38B transfèrent des données à une fréquence de 60 MHz et offrent une largeur de bande suffisante pour supporter deux microplaquettes accélératrices de géométrie tridimensionnelle. Des données de primitives bidimensionnelles sont envoyées par un bus 40 à 44 bits à une fréquence de 40 MHz vers la microplaquette accélératrice 34 de géométrie bidimensionnelle. Chaque microplaquette accélératrice de géométrie tridimensionnelle transforme en coordonnées correspondantes d'espace d'écran les coordonnées x, y, z qui définissent les primitives reçues, détermine des valeurs R, G, B d'objet et des valeurs S, T de texture pour les coordonnées de l'espace d'écran, décompose des quadrilatères primitifs en triangles, et calcule une équation de plane de triangle pour définir chaque triangle. Chaque microplaquette accélératrice de géométrie tridimensionnelle exécute aussi des opérations de coupe de vue pour assurer sur l'écran un affichage exact de l'image résultante lorsque des fenêtre multiples sont affichées, ou lorsqu'une partie d'une primitive s'étend au-delà du volume visuel représenté sur l'écran d'affichage. Des données de sortie des trois microplaquettes accélératrices 32A et 32B, et 32C de géométrie tridimensionnelle sont respectivement envoyées par les bus 42A et 42B à 44 bits vers la microplaquette de concentrateur 36 à une fréquence de 60 MHz. La microplaquette accélératrice 34 de géométrie bidimensionnelle envoie aussi des données de sortie à la microplaquette de concentrateur 36 par un bus 44 à 46 bits à une fréquence de 45 MHz. La microplaquette de concentrateur 36 combine les données de sorties de primitives tridimensionnelles reçues des microplaquettes accélératrices 32A à 32C de géométrie tridimensionnelle, réordonne les primitives dans leur ordre d'origine, c'est-à-dire celui qu'elles avaient avant la distribution par la microplaquette distributrice 30, et envoie les données combinées de sortie de primitives par le bus 16 vers les cartes d'application de texture et de tampon de trame. La carte 12 d'application de texture inclut une microplaquette 46 d'application de texture et une mémoire locale 48 qui est de préférence agencée sous la forme d'une mémoire de cache. Selon un mode de réalisation préféré de la présente invention, la mémoire locale est formée, pour des raisons exposées plus loin, d'une série de microplaquettes de mémoires dynamiques synchrones à accès direct, ou SDRAM. Comme décrit de façon plus détaillée dans ce qui suit, la mémoire de cache 48 mémorise des données d'application MIP de texture associées aux primitives qui sont tracées dans la carte de tampon de trame. Les données d'application MIP de texture sont téléchargées depuis une mémoire principale 17 de l'ordinateur hôte 15, par le bus 40, à travers la microplaquette accélératrice 34 de géométrie bidimensionnelle et par le bus 24 à 24 bits. La microplaquette 46 d'application de texture reçoit successivement, par le bus 18, des données de primitives qui représentent les primitives à tracer sur l'écran d'affichage. Comme décrit ci-dessus, les primitives envoyées par les microplaquettes accélératrices 32A à 32C de géométrie tridimensionnelle incluent des points, des lignes et des triangles. La carte d'application de texture n'effectue aucune application de texture de point ni de ligne et elle ne traite que des primitives de triangle. Les données qui représentent les primitives de triangles incluent les coordonnées de pixels d'objet x, y, z pour au moins un sommet, les valeurs de couleurs R, G, B d'objet d'au moins un sommet, les coordonnés S, T des parties de l'application de texture qui correspondent à ce sommet au moins unique, et l'équation du plan du triangle. La microplaquette 46 d'application de texture ignore la coordonnée z de pixel d'objet et les valeurs de couleurs R, G, B d'objet. La microplaquette 46 interpole les coordonnées des pixels x, y et interpole des coordonnées S et T qui correspondent sur l'écran à chaque pixel d'affichage x, y qui représente la primitive. Pour chaque pixel, la microplaquette d'application de texture accède à partir de la mémoire de cache à la partie de l'application MIP de texture qui y correspond et calcule pour le pixel les données résultantes de texture qui peuvent inclure une moyenne pondérée de multiples texels. Les données résultantes de texture de chaque pixel sont envoyées par chaque microplaquette 46 d'application de texture à la carte de tampon de trame par cinq bus 28. Les cinq bus 28 sont respectivement couplés aux cinq microplaquettes 50A, 50B, 50C, 50D et 50E de dispositif de commande de tampon de trame disposées sur la carte de tampon de trame, et ils amènent en parallèle les données résultantes de texture aux microplaquettes des dispositifs de commande du tampon de trame. Les microplaquettes 50A à E du dispositif de commande de tampon de trame sont respectivement couplées à des groupes de microplaquettes 51A à 51E de mémoires vives vidéo, ou VRAM. La carte de tampon de trame inclut en outre quatre microplaquettes 52A, 52B, 52C, 52D de format vidéo, et un convertisseur numérique à analogique de mémoire vive, ou RAMDAC, 54. Les microplaquettes respectives de dispositif de commande de tampon de trame contrôlent des segments différents de l'écran d'affichage qui ne se recouvrent pas. Chaque microplaquette de dispositif de commande de tampon de trame reçoit des données de primitives à partir de la carte d'entrée de données par le bus 18, et des données résultantes d'application de texture à partir de la carte d'application de texture par le bus 28. Les microplaquettes de dispositif de commande de tampon de trame interpolent les données des primitives pour calculer dans leurs segments respectifs les coordonnées de pixels d'affichage de l'écran qui représentent la primitive, et les valeurs de couleurs correspondantes R, G, B d'objet pour chaque coordonnée de pixel. Pour les primitives pour lesquelles des données de texture résultantes sont envoyées par la carte d'application de texture, c'est-à-dire pour les primitives de triangles, les microplaquettes de dispositif de commande de tampon de trame combinent, sur une base de pixel par pixel, les valeurs de couleurs d'objet et les données résultantes de texture pour engendrer des valeurs finales R, G, B pour chaque pixel à afficher sur l'écran d'affichage. La manière dont les valeurs de couleurs d'objet de texture sont combinées peut être commandée de nombreuses manières différentes. Par exemple, dans un mode de remplacement, les valeurs de couleurs d'objet peuvent être simplement remplacées par des valeurs de couleurs de texture, de sorte que les valeurs de couleurs de texture sont seules utilisées pour tracer le pixel. En variante, dans un mode de modulation, les valeurs de couleurs d'objet et de texture peuvent être multipliées l'une par l'autre pour engendrer les valeurs finales R, G, B pour le pixel. En outre, il est possible de mémoriser pour chaque texel, un mot de commande de couleur qui spécifie un rapport définissant la manière dont les valeurs correspondantes de couleurs de texture doivent être combinées avec les valeurs de couleur d'objet. Un mot de commande résultant de couleur peut être déterminé pour les données résultantes de texels correspondant à chaque pixel et être envoyé par le bus 28 aux microplaquettes de dispositif de commande de tampon de trame de façon que les microplaquette de dispositif de commande puissent utiliser le rapport spécifié par le mot résultant de commande correspondant pour déterminer, pour chaque pixel, des valeurs finales R, G, B. Les données vidéo résultantes d'image engendrées par les microplaquettes 50A à 50E du dispositif de commande de tampon de trame, y compris les valeurs R, G, B pour chaque pixel, sont mémorisées dans les microplaquettes correspondantes 51A à 51E de mémoires vives vidéo. Chaque groupe de microplaquettes 51A à 51E de mémoire vive vidéo inclut huit microplaquettes de mémoire vive vidéo de sorte que quarante microplaquettes de mémoire vive vidéo se trouvent sur la carte de tampon de trame. Chacune des microplaquettes 52A à 52D de format vidéo est connectée à un ensemble différent de dix microplaquettes de mémoires vives vidéo, et reçoit des données de cet ensemble. Les données vidéo sont décalées sériellement hors des microplaquettes de mémoires vives vidéo et sont respectivement amenées par des bus 58A, 58B, 58C et 58D à 64 bits aux quatre microplaquettes 52A, 52B, 52C et 52D de format vidéo à une fréquence de 27 MHz. Les microplaquettes de format vidéo formatent les données vidéo de façon qu'elles puissent être traitées par le RAMDAC et envoient au RAMDAC 54 par des bus 60A, 60B, 60C et 60D à 32 bits les données formatées à une fréquence de 33 MHz. Le RAMDAC 54 convertit lui-même les données numériques de couleurs en signaux analogiques de commande de couleurs R, G, B et envoie les signaux de commande R, G, B de chaque pixel par les lignes 29 R, G, B à un écran d'affichage non représenté à la Figure. La Fig. 2 représente de façon plus détaillée des parties concernées du bus 19, du concentrateur 36 et des dispositifs de commande 50A de tampon de trame. Le concentrateur inclut un convertisseur 62 de virgule flottante à virgule fixe, un dispositif de commande 70 de logique et un registre 64 de mémoire à 3 sections 64A, 64B, 64C de mémoire, chacune d'une capacité de mémoire d'au moins 8 bits dans le mode de réalisation de l'illustration. Le dispositif de commande 50A de tampon de trame inclut un dispositif de commande 72 de logique, un registre 67 de mémoire, et un registre 66 de mémoire à 3 sections 66A, 66B et 66C de mémoire, chacune d'une capacité de mémoire d'au moins 40 bits dans le mode de réalisation illustré. Le concentrateur combine les données de sortie de primitives qu'il reçoit des microplaquettes accélératrices de géométrie tridimensionnelle, effectue une conversion de virgule flottante à virgule fixe dans le convertisseur 62 de virgule flottante à virgule fixe, et envoie par le bus 18 les données combinées de sortie de primitives à la carte de tampon de trame. On va maintenant décrire en se référant aux Fig. 2 à 4 le fonctionnement du protocole de bus selon un premier mode de réalisation de la présente invention en utilisant comme example une primitive de triangle. Selon un premier exemple, chaque primitive de triangle est définie par 22 mots de données. La Fig. 3 est un schéma qui décrit les 22 mots utilisés pour définir une primitive de triangle. Comme représenté à la Fig. 3, chacun des mots qui constituent les données primitives inclut 32 bits ou moins, sauf pour les trois mots de données de coordonnées Z, dZ/dX, et dZ/de qui contiennent chacun 40 bits de données. Dans le mode de réalisation représenté à la Fig. 2, la largeur du bus de données est de 32 bits pour transférer des mots de 32 bits en un cycle de bus. Les données de coordonnées Z à 40 bits ne peuvent pas être transférées du concentrateur 36 vers le dispositif de commande 50A de tampon de trame en un seul cycle de bus à 32 bits. La Fig. 4 représente la procédure par laquelle les mots de données de coordonnées Z à 40 bits sont transférés dans le mode de réalisation de l'illustration. Afin de transférer la totalité des 40 bits de chaque mot de données de coordonnées Z, les 32 bits de poids fort sont transférés en un seul cycle de bus et les 8 bits restants sont mémorisés dans le registre 64 de mémoire sous la commande du dispositif de commande 70 de logique. Cette procédure est répétée pour chacun des trois mots de données de coordonnées Z, de sorte que 8 bits de chaque mot de données de coordonnées Z, soit 24 bits au total, sont mémorisés dans le registre 64. Le dispositif de commande 70 de logique commande le registre à décalage 64 d'une manière telle que 8 bits de chacun des mots de coordonnés de données Z, c'est- à-dire Z, dZ/dX et dZ//de sont mémorisés dans des sections correspondantes 64A, 64B et 64C de mémoire, respectivement, du registre 64 de mémoire. Le mot d'ordre est typiquement le dernier mot des données de primitives transférées par le bus de données. Dans le mode de réalisation représenté à la Fig. 2, le mot d'ordre ne consiste qu'en 8 bits. Lorsque le dispositif de commande 70 de logique détecte que le mot d'ordre doit être transféré, les 24 bits mémorisés précédemment dans le registre 64 de mémoire, qui sont constitués par les bits 0 à 7 de chacun des mots de données de coordonnées Z sont combinés avec le mot d'ordre pour former un mot composite. Le mot d'ordre et les 8 bits de poids faible de chacun des mots de données Z, c'est-à-dire au total 32 bits, sont transférés par le bus de données en un seul cycle de bus. La Fig. 2 représente aussi les éléments concernés de la carte 50A du tampon de trame. Chacun des mots de données de coordonnées Z transféré par le bus de données 18 est reçu par le dispositif de commande de tampon de trame. Comme représenté à la Fig. 2, les 32 bits de chaque mot de données de coordonnées Z sont mémorisés sous la commande du dispositif de commande72 de logique, au fur et à mesure qu'ils sont reçus, dans le registre 66 de mémoire du dispositif de mémoire de tampon de trame. Puis, lorsque le cycle de bus qui contient le mot d'ordre est reçu du bus de données par le dispositif de commande de tampon de trame et est détecté par le dispositif de commande 72 de logique, les 8 bits qui correspondent à chacun des mots de données de coordonnées Z sont séparés du mot composite par le dispositif de commande de logique et sont placés dans la section du registre de mémoire qui correspond au mot approprié de coordonnées Z, de sorte que chacun des mots de données de coordonnées Z à 40 bits est assemblé de nouveau dans le registre 66 de mémoire. Le mot d'ordre est mémorisé dans le registre 67 de mémoire. Le transfert des mots de données de coordonnées Z selon le protocole de la présente invention est illustré dans le schéma complet de la Fig. 4. A l'étape 80, 32 bits des données de coordonnées Z qui sont les bits 8 à 39 sont transférés au dispositif de commande 50A de tampon de trame par le convertisseur 62 de virgule flottante à virgule fixe. Les 32 bits des données de coordonnées Z sont chargés dans le registre 66A sous commande du dispositif de commande 72 de logique. Dans le concentrateur 36, les bits 0 à 7 du mot de données de coordonnées Z sont chargés dans le registre 64A. A l'étape 82, les bits 8 à 39 du mot de données dZ/dX sont transférés par le bus de données 18 vers le dispositif de commande 50A de tampon de trame par le convertisseur 62 de virgule flottante à virgule fixe et sont chargés dans le registre 66B. Les bits 0 à 7 du mot de données dZ/dX sont chargés dans le registre 66B du concentrateur 36. A l'étape 84, les bits 8 à 39 du mot de données dZ/de sont transférés par le bus de données 18 par le convertisseur 62 de virgule flottante à virgule fixe et sont chargés dans le registre 66C. Les bits 0 à 7 du mot de données dZ/dX sont chargés dans le registre 66B du concentrateur 36. A l'étape 86, 8 bits du mot de commande sont combinés avec les contenus des registres 64A, 64B et 64C pour former un mot composite de données de 32 bits. Le mot composite de données est transféré par le bus de données 18 vers le dispositif de commande 50A de tampon de trame. Au dispositif de commande 50A de tampon de trame, les bits 0 à 7 de chaque mot de données de coordonnées Z sont chargés dans les emplacements respectifs de poids faible des registres 66A, 66B et 66C, A cet instant, c'est-à-dire à l'étape 8A, les trois mots de données de coordonnées Z sont disponibles pour un transfert à partir des registres 66A, 66B et 66C. Trois mots de données de coordonnés Z à 40 bits ainsi qu'un mot d'ordre ont été transférés en 4 cycles de bus par le bus de données à 32 bits. Selon le procédé décrit ci-dessus, les trois mots de données de coordonnées Z d'une largeur individuelle de 4 bits sont transférés par un bus de données d'une largeur de 32 bits sans exiger de cycles additionnels de bus pour transférer tous les mots qui constituent les données primitives d'un triangle. Dans le mode de réalisation décrit ci-dessus, les 22 mots qui constituent les données primitives d'un triangle sont transférés en 22 cycles de bus par un bus de données d'une largeur de 32 bits. Selon une implantation représentée à titre d'exemple, la largeur du bus 18 de données est de 64 bits pour transférer deux mots de 32 bits en un cycle de bus. Selon cette implantation, les 22 mots d'une primitive d'un triangle peuvent être transférés en 11 cycles de bus. Cependant, puisque les deux mots de 32 bits sont commandés séparément, le bus de 64 bits est considéré de façon appropriée comme consistant en deux bus à 32 bits en parallèle. Pour la présente description, le bus 18 est considéré comme possédant la capacité de transférer des mots de données de 32 bits. Selon un deuxième mode de réalisation de la présente invention, le mot d'ordre peut inclure plus de 8 bits, par exemple 11 bits. Dans ce mode de réalisation, seuls 7 des 8 bits restants de données de chacun des mots de données de coordonnées Z sont transférés avec le mot d'ordre. Le 8-ième bit, qui correspond au bit de poids faible de chacun des mots de données de coordonnées Z est rejeté. Ce mode de réalisation de la présente invention est représenté à la Fig. 5. Comme représenté à la Fig. 5, le registre 66 de mémoire du tampon de trame assemble de nouveau les mots de données de coordonnées Z. Le mode de réalisation de la Fig. 5 fonctionne de la même manière que le mode de réalisation des Fig. 2 à 4, en tenant compte de modifications appropriées des nombres de bits. Dans ce mode de réalisation, les mots de données de coordonnées Z assemblés de nouveau ne comprennent que 39 des 40 bits d'origine. La perte d'un bit pour chacun des mots de données de coordonnées Z entraîne une certaine dégradation de la précision en Z. Cependant, les mots résultants de données de coordonnés Z contiennent encore plus de 32 bits sans exiger des cycles additionnels de bus. Il faut comprendre que ce mode de réalisation de la présente invention peut être appliqué à des mots d'ordre dont le nombre de bits k est différent de 11. Dans ce cas, parmi les bits restants de données de coordonnées Z contenus dans le registre de mémoire, le bus transfère en un seul cycle le plus grand nombre possible de bits qui peuvent être introduits avec le mot d'ordre dans un mot de données à 32 bit, et tous les bits additionnels de données de coordonnées Z, constitués par les bits de poids faible, sont rejetés. Selon un troisième mode de réalisation, de la présente invention, les données de primitives n'incluent aucun mot d'ordre. Dans ce mode de réalisation illustré à la Fig. 6, les 24 bits restants des mots de données de coordonnées Z sont transférés ensemble au cours d'un cycle additionnel de bus sous la commande du dispositif de commande 70 de logique. Comme dans les modes de réalisation précédents, 32 bits de chaque mot de données de coordonnées Z sont transférés en un cycle de bus, et les 8 bits restants sont mémorisés dans le registre 64 de mémoire de sorte que 24 bis sont mémorisés dans le registre 64A de mémoire. Les 32 bits de chaque mot de données de coordonnées Z transférés par le bus de données sont reçus par la carte de tampon de trame et sont mémorisés dans le registre de mémoire 66 par le dispositif de commande 72 de logique. Les 24 bits mémorisés dans le registre 64 de mémoire sont transférés par le bus de données au cours d'un cycle additionnel de bus. Au fur et à mesure que les 24 bits sont reçus par le dispositif de commande de tampon de trame et détectés par le dispositif de commande 72 de logique, les 8 bits qui correspondent à chacun des mots de données de coordonnées Z sont placés dans la section de registre de mémoire qui correspond au mot approprié de données de coordonnées Z, de sorte que chacun des mots de données de coordonnées Z à 40 bits est assemblé de nouveau dans le registre 66 de mémoire. Ce mode de réalisation de l'invention exige un cycle de bus additionnel pour chaque ensemble de données de primitives d'un triangle. Des modes de réalisation de la présente invention ont été décrits en utilisant comme exemple une primitive d'un triangle. Il faut comprendre que la présente invention est applicable de façon semblable à d'autres primitives de graphiques, y compris des points, des lignes, des vecteurs et des polygones. Pour ces autres primitives, le nombre total de mots utilisés pour décrire la primitive peut varier, et le nombre des mots de données qui dépassent la largeur du bus peut être supérieur ou inférieur à trois. Cependant, le même procédé d'ensemble de l'invention peut être utilisé. Spécifiquement, des bits de mots de données de coordonnées Z qui dépassent la largeur du bus de données sont combinés avec un mot dont le nombre de bits est inférieur à la capacité maximale du bus de données, de façon que des mots de coordonnées Z dont le nombre de bits est supérieur à la largeur du bus de données soient transférés sans ajouter de cycles additionnels de bus. Des modes de réalisation de la présente invention ont été décrits en utilisant un bus de données d'une largeur de 32 bits. Il faut comprendre que l'invention est applicable à des bus de données dont les largeurs sont de n bits, n étant un chiffre différent de 32, et à des mots de données d'un nombre quelconque m de bits, o m > n. De plus, l'invention a été décrite pour le cas o les données de coordonnées Z comprennent un nombre de bits plus grand que la largeur du bus de données. Le procédé décrit ci-dessus pour transférer des données de coordonnées Z est également applicable au transfert de mots de données qui représentent des paramètres quelconques de graphiques et dont le nombre de bits est supérieur à la largeur du bus. Les circuits représentés et décrits ici ne sont donnés qu'à titre d'exemples. Les circuits sont de préférence implantés dans un circuit intégré spécialisé à grande échelle en utilisant un logiciel de synthèse de logique commercialisé, par exemple, par Synopsys. Le logiciel de synthèse de logique optimise et traduit, en termes de portes logiques, des descriptions de circuits écrites dans des langages de très haut niveau, comme Veralog. Les circuits peuvent être implantés en utilisant un processus CMOS qui produit des transistors à effet de champ ou FET de 1 micron qui fonctionnent à 5 volts, ou un processus CMOS qui produit des dispositifs d'une longueur de grille tracée de 0,6 micron, et qui fonctionnent à 3,3 volts, ou un quelconque autre processus approprié pour l'implantation de circuits numériques. Puisque l'entrée au logiciel de synthèse logique est fonctionnelle et non structurelle, les circuits réels engendrés par le logiciel de synthèse logique peuvent différer de ceux qui sont décrits ici. A la lecture de la description d'au moins un mode de réalisation de la présente invention donné à titre d'illustration, diverses variantes, modifications et perfectionnements apparaîtront directement à l'homme de l'art. I1 faut comprendre que de tels perfectionnements, variantes et modifications se trouvent dans l'esprit et le cadre de la présente invention. Par conséquent, la présente description n'est donnée qu'à titre d'exemple et ne doit pas être considérée comme limitative. L'invention n'est limitée que par les revendications qui suivent et leurs équivalents. REVENDICATIONS 1. Appareil destiné à transférer des données entre un premier (36) et un deuxième (50A) blocs de circuits dans un système de graphiques d'ordinateur dans lequel lesdits bloc de circuits sont interconnectés par un bus (18) de données à n bits, caractérisé en ce qu'il comprend: un circuit (62) inclus dans le premier bloc de circuits pour transmettre en séquence des mots de données sur ledit bus (18) de données à partir du premier bloc de circuits vers le deuxième bloc de circuits, lesdits mots de données incluant un ou plusieurs mots longs de données à plus de n bits; un registre (64) inclus dans le premier bloc (36) de circuits pour mémoriser des bits desdits mots longs de données qui dépassent les n bits; et un dispositif de commande (70), inclus dans le premier bloc (36) de circuits, qui répond à une transmission des mots longs de données pour charger dans ledit registre (64) les bits desdits mots longs de données qui dépassent les n bits et pour combiner dans un mot de données composite, à transmettre audit deuxième bloc (50A) de circuits, les bits dudit mot long de données mémorisé dans ledit registre (64). 2. Appareil selon la revendication 1, caractérisé en ce qu'il comprend en outre: un circuit (72) inclus dans le deuxième bloc de circuits pour assembler de nouveau (66) lesdits mots longs de données. 3. Appareil selon la revendication 2, caractérisé en ce que lesdits mots de données incluent en outre un mot court de données à moins de n bits, et en ce que le dispositif de commande (70) répond à une transmission desdits mots courts de données pour combiner avec lesdits mots courts de données les bits (64) desdits mots longs de données mémorisés dans ledit registre afin de former le mot composite de données à transmettre audit deuxième bloc de circuits. 4. Appareil selon la revendication 3, caractérisé en ce que le dispositif de commande inclut un moyen d'annuler, dans lesdits mots longs de données, un nombre suffisant de bits de poids faible pour réduire à n bits le nombre des bits dudit mot composite de données. 5. Appareil selon la revendication 2, caractérisé en ce que n est égal à 32; et le mot ou les mots longs de données à plus de n bits sont des mots de données de coordonnées Z; et le mot court de données à moins de n bits est un mot d'ordre. 6. Appareil selon la revendication 5, caractérisé en ce que les nombre de bits sont 40 pour les mots de données de coordonnées Z et 8 pour le mot d'ordre. 7. Appareil selon la revendication 1, caractérisé en ce que lesdits mots de données incluent en outre un mot court de données à moins de n bits, et en ce que le dispositif de commande (70) répond à une transmission desdits mots courts de données pour combiner avec lesdits mots courts de données les bits (64) desdits mots longs de données mémorisés dans ledit registre afin de former le mot composite de données à transmettre audit deuxième bloc de circuits. 8. Appareil selon la revendication 7, caractérisé en ce que le dispositif de commande inclut un moyen pour annuler) dans lesdits mots longs de données, un nombre suffisant de bits de poids faible pour réduire à n bits le nombre des bits dudit mot composite de données. 9. Appareil selon la revendication 1, caractérisé en ce que le dispositif de commande inclut un moyen d'annuler, dans lesdits mots longs de données, un nombre suffisant de bits de poids faible pour réduire à n bits le nombre des bits dudit mot composite de données. 10. Appareil selon la revendication 2, caractérisé en ce que le circuit du deuxième bloc (50A) de circuits comprend un deuxième registre (66) pour assembler de nouveau chacun desdits mots lots de données et un deuxième dispositif de commande (72) qui répond à une transmission desdits mots longs de données pour charger lesdits mots longs de données dans ledit deuxième registre (66) et qui répond à une transmission dudit mot composite de données pour charger dans ledit deuxième registre (66) à partir dudit mot composite de données les bits desdits mots longs de données qui dépassent les n bits, grâce à quoi lesdits mots longs de données sont assemblés de nouveau dans ledit deuxième registre (66). 11. Procédé de transfert de mot de données par l'intermédiaire d'un bus (18) de données dans un système de graphiques d'ordinateur qui comprend un premier (36) et un deuxième (56A) blocs de circuits interconnectés par un bus (18) de données afin de transmettre des données sous formes de mots à n bits, caractérisé en ce que ledit procédé comprend les étapes consistant à: transmettre n bits de chacun des mots de données par le bus (18) de données à partir du premier bloc (36) de circuits vers un deuxième bloc (50A) de circuits, lesdits mots de données incluant un ou plusieurs mots longs de données à plus de n bits; mémoriser, dans un registre (64), des bits des mots longs de données qui dépassent n bits; combiner pour former un mot composite de données les bits (64) des mots longs de données qui dépassent n bits; et transmettre du premier bloc (36) de circuits vers le deuxième bloc (50A) de circuits le mot composite de données sur le bus (18) de données. 12. Procédé selon la revendication 11, caractérisé en ce qu'il comprend en outre l'étape consistant à: assembler de nouveau (66) au deuxième bloc de circuits les mots longs de données. 13. Procédé selon la revendication 12, caractérisé en ce que les mots de données incluent en outre un mot court de données à moins de n bits, et en ce que l'étape de combinaison inclut une étape de combinaison du mot court de données avec les bits (64) des mots longs de données qui dépassent n bits de manière à former le mot composite de n bits. 14. Procédé selon la revendication 13, caractérisé en ce qu'il comprend en outre l'étape consistant à: annuler, dans lesdits mots longs de données, un nombre suffisant de bits de poids faible pour réduire à n bits le nombre des bits dudit mot composite de données. 15. Procédé selon la revendication 11, caractérisé en ce que les mots de données incluent en outre un mot court de données à moins de n bits, et en ce que l'étape de combinaison inclut une étape de combinaison du mot court de données avec les bits (64) des mots longs de données qui dépassent n bits de manière à former le mot composite de n bits. 16. Procédé selon la revendication 15, caractérisé en ce qu'il comprend en outre l'étape consistant à: annuler, dans lesdits mots longs de données, un nombre suffisant de bits de poids faible pour réduire à n bits le nombre des bits dudit mot composite de données. 17. Procédé selon la revendication 11, caractérisé en ce qu'il comprend en outre l'étape consistant à: annuler, dans lesdits mots longs de données, un nombre suffisant de bits de poids faible pour réduire à n bits le nombre des bits dudit mot composite de données. 18. Procédé selon la revendication 12, caractérisé en ce que l'étape de nouvel assemblage des mots longs de données au deuxième bloc de circuits inclut les étapes consistant à: charger dans un deuxième registre (66) les mots longs de données transmis du premier bloc (36) de circuits au deuxième bloc (50A) de circuits et charger dans ledit deuxième registre (66) les bits des mots longs de données qui dépassent n bits à partir dudit mot composite de données, grâce à quoi les mots longs de données sont assemblés de nouveau dans ledit deuxième registre (66).