Brevet FR2634919A1 — publié le 19900202

INTERFACE DE BUS POUR MICROPROCESSEUR La présente invention concerne le domaine des microprocesseurs à semiconducteur. La présente invention concerne un module d'interface faisant partie d'un microprocesseur qui est une version perfectionnée d'un microprocesseur du type Intel 80386, couramment appelé-processeur 386. Le processeur 386 comprend un. bus de données interne à 32 bits: des détails sur le bus adapté au processeur 386 sont décrits dans de nombreuses publications. (Intel, 80386 et 386 sont des marques de la Société Intel Corporation) Le processeur 386 comprend un module, de gestion de mémoire intégré. Ce module assure l'adressage vers, par exemple, une mémoire cache, des DRAM, -une mémoire de masse, etc. Le processeur décrit dans la présente demande comprend en outre une mémoire cache intégrée ainsi qu'un module intégré à virgule flottante. Certains problèmes se présentent dans le transfert des données vers une mémoire cache et un module à virgule flottante intégrés qui sont mieux résolus par le module d'interface décrit dans la présente demande. Ces problèmes impliquent le transfert de blocs de données tels que ceux transférés vers une mémoire cache ou, de mots importants' associés au-module à virgule flottante. Il n'est pas rare qu'un microprocesseur à 16 ou 32 bits soit couplé à une mémoire ou des périphériques comprenant un plus petit nombre de lignes de données. Par exemple, un 26 3 4 9 1 9 processeur à 32 bits peut être couplé à une RAM qui fournit 8 bits (octets) de données pendant chaque cycle de mémoire. Dans certains cas, le processeur comprend un multiplexeur qui couple les lignes de données externes à différentes "voies d'octets" du bus de données interne. Ceci permet par exemple à la mémoire externe de satisfaire une requête du processeur pour un mot de données.de 32 bits par des transferts à 8 bits. Divers signaux indiquant la dimension de bus sont utilisés dans les microprocesseurs de l'art antérieur. Comme on le verra, la présente invention permet qu'un dimensionnement du bus soit effectu. -'au vol". Cette capacité, ainsi qu'un signal "BLAST" (dernière salve) déterminé dynamiquement, renforcent le microprocesseur présentement décrit par rapport aux processeurs de l'art antérieur. D'autres techniques antérieures connues de la demanderesse sont les signaux de bus associés au Multibus incluant le Multibus II (Multibus est une marque déposée par la société Intel Corporation). Les brevets de l'art antérieur suivants sont également connus de la demanderesse: brevets des Etats-Unis d'Amériques n 4 570 220; 4 447 878; 4 442 484; 4 315 308 et 4 315 310. Il est décrit un perfectionnement à un microprocesseur comprenant un bus de données interne de n octets o n est supérieur à 2 (dans le mode de réalisation préféré un bus à 32 bits). Le microprocesseur fournit des signaux d'adresse pour un transfert de données à n octets (en lecture ou en écriture). Un premier moyen d'entrée (par exemple une ligne ou une broche d'entrée) reçoit au moins un signal (signal de dimension d'octets) qui indique le nombre d'octets que la mémoire va transférer lors du signal prêt suivant. Le microprocesseur comprend un moyen de sortie (par exemple une ligne ou une broche) pour fournir un dernier signal (parfois appelé "BLAST") indiquant qu'une requête de transfert de données par le microprocesseur sera satisfaite par le transfert de données survenant lors du signal prêt suivant. Des moyens logiques sont prévus dans le microprocesseur pour produire le dernier signal. Ces moyens logiques gardent trace du nombre d'octets qui ont été transférés et ils détectent périodiquement le signal de dimension d'octets. Les moyens logiques peuvent modifier l'état du dernier signal "au vol". En conséquence, à titre d'exemple, la mémoire peut fournir un signal de dimension d'octets particulier à titre d'état de défaut et, ensuite, modifier le signal quand la mémoire détermine le nombre d'octets que la mémoire est effectivement capable de transférer. Le dernier signal changera en conséquence. Le dernier signal est également utilisé en relation avec le transfert de données vers la mémoire cache quand il est déterminé que, la mémoire cache recherche des données "cachables" à partir de la mémoire externe. De tels transferts peuvent être réalisés dans un mode de salve en réponse à un signal "B prêt" en provenance de la mémoire. Le signal B prêt est également utilisé par les moyens logiques pour produire le dernier signal; Ces objets, caractéristiques et avantages ainsi que d'autres de la présente invention apparaîtront à là lecture de la description détaillée suivante de modes de réalisation particuliers faite en relation avec les figures jointes parmi lesquelles: -- la figure 1 est un schéma sous forme de blocs représentant les divers modules qui constituent le microprocesseur; la figure 2 est un schéma sous forme de blocs du module d'interface de bus selon l'invention; la figure 3 est un schéma sous forme de blocs illustrant la façon dont les 32 bits du module d'interface sont couplés à un bus externe à 8 bits; la figure 4 représente des formes d'onde utilisées pour la description du fonctionnement du module d'interface de bus; la figure 5 représente des formes d'onde utilisées pour décrire le fonctionnement du module d'interface de bus; et la figure 6 est un schéma sous forme de blocs de la logique mise en oeuvre dans un réseau de portes. Ce schéma est utilisé pour expliquer le fonctionnement des circuits qui produisent le signal BLAST. Un module d'interface de bus pour un microprocesseur est décrit. Dans la description suivante, de nombreux détails particuliers sont.présentés, tels que des nombres particuliers d'octets, etc, pour permettre de bien comprendre la présente invention. Il sera toutefois clair pour l'homme de l'art que la présente invention peut être mise en oeuvre sans ces détails particuliers. Dans d'autres-cas, des circuits bien connus n'ont pas été représentés en détail pour ne pas obscurcir inutilement la présente invention. Schéma bloc d'ensemble du microprocesseur La figure 1 représente sous forme d'un schéma bloc général le microprocesseur dans lequel le module d'interface de bus 10 selon la présente invention est utilisé. Le module d'interface 10 est couplé à un bus de données externe à 32 bits et en outre à un bus d'adresse 31 et & plusieurs autres lignes de commande comme cela sera décrit en relation avec la figure 2. (On notera que le terme "données" est utilisé de façon générale pour indiquer les informations transférées sur les bus de données. Ces informations peuvent comprendre des instructions, des constantes, des pointeurs, etc). Le module d'interface 10 est couplé par des bus d'adresse et de données à un contrôleur de mémoire cache 12. Le contrôleur 12 commande l'accès à la mémoire cache 11. Le contrôleur 12 est couplé à un module de génération d'adresse 14; un module de pagination 13 est également couplé entre le module de génération d'adresse 14 et le contrôleur de cache 12 par un bus 37. Pour aider à comprendre la présente invention, on peut supposer que le module de génération d'adresse est identique à celui utilisé dans le circuit commercialement disponible Intel 80386. Les modules de segmentation et de pagination pour l'Intel 80386 sont connus. 2634 9 19 Dans le cadre de l'exposé de la présente invention, la configuration spécifique de la mémoire cache 11 et du contrôleur de cache 12 sont sans importance. L'écoulement des signaux entre le contrôleur 12 et le module d'interface 10, pour autant que: cela est nécessaire à la compréhension de la présente invention, est décrit en relation avec la figure 2. A l'intérieur du microprocesseur, des instructions sont couplées au module décodeur d'instructions 15. Le module décodeur fonctionne avec un contrôleur 19 dans lequel des instructions de microcodes-sont mémorisées. Le contrôleur 19 fournit des séquences de signaux de commande pour le microprocesseur. Le module décodeur d'instructions 15 est représenté comme cbuplé au.contrôleur 19; les sorties en provenance du contrôleur sont couplées à tous les autres modules du microprocesseur. Le module de données 18 est un module arithmétique et logique (ALU) qui réalise des fonctions ALU de façon similaire à celle réalisée dans le circuit Intel 80386. - Le microprocesseur- comprend également un module à virgule flottante 17 pour réaliser des calculs à virgule flottante. La configuration précise du moduie 17 n'est pas essentielle à la présente invention bien que les transferts de blocs requis par le module 17 et la mémoire cache Il aient constitué certaines des motivations-de la présente invention. Le mode de réalisation actuellement préféré du microprocesseur de la figure 1 est réalisable selon la technologie bien connue à métal-oxydesemiconducteur (MOS) et en particulier selon la technologie MOS complémentaire (CMOS). Des cadences d'horloge de 25 MHz ou mieux sont possibles avec une technologie CMOS courante. Schéma bloc du module d'interface de bus Les composants principaux du module d'interface de bus de la figure 1 sont représentés en figure 2 entre les lignes en pointillé 53 et 54. Le contrôleur de cache 12 communique avec le module d'interface 10 par l'intermédiaire du tampon de cycle de bus 45. Toutes les adresses de mémoire, divers signaux de commande et toutes les données a introduire dans une mémoire externe sont communiqués au module 10 par l'intermédiaire du tampon 45. Les données incidentes (trajet de données en lecture) sont communiquées directement au contrôleur de cache 12 par l'intermédiaire du module d'interface 10. Les données de sortie du tampon 45 sont couplées au tampon d'écriture 41. Ce tampon a un "profondeur de 4", permettant ainsi à des données en provenance du tampon 45 pendant quatre cycles de CP4 d'être temporairement mémorisées dans l'un des quatre étages du tampon 41. La sortie du tampon 41 communique directement avec le bus de données 30. Dans le tampon 41, et en association avec les données mémorisées dans chacun des quatre étages, sont mémorisés également des signaux représentant l'adresse mémoire, le type et la longueur de cycle mémoire. Des signaux représentant le type de cycle de bus, etc, sont couplés à partir du décodeur 44 par des lignes 46 vers le tampon 41 et vers le multiplexeur et décodeur de cycle de bus 42. Le multiplexeur et décodeur de cycle de bus 42 sélectionne l'un ou l'autre des signaux d'adresse, des signaux de type de bus, etc, (i) à partir du tampon 41 (lignes 38) ou (ii) directement à partir du tampon 45 (lignes 39) et des lignes 46. La sortie du multiplexeur et décodeur 42 est couplée à la bascule 43. La sortie de la bascule fournit des signaux d'adresse (30 bits.d'adresse et 4 bits-de signaux de validation d'octets) sur le bus 31 et des lignes de commande pour- la mémoire sur des lignes 33. Quatre bits en provenance du tampon 45 sont couplés au décodeur de cycle de bus 44 pour indiquer le type de cycle de bus. Ces bits indiquent jusqu'à seize types différents de cycles de bus tels que lecture mémoire, écriture mémoire, lecture/écriture en entrée/sortie (I/O), pré-recherche, branchement, lecture verrouillée, écriture verrouillée, écriture non achevée, émulateur en route (lecture ou écriture) et lecture et écriture vers le module de pagination 13. Les bits de type de cycle de bus sont décodés dans le décodeur 44 et utilisés pour commander, par exemple, le multiplexeur 42 et pour fournir certaines sorties tel que le signal "BLAST" (dernière salve-) qui. va être décrit. Le contrôleur de bus 49 reçoit un signal de requête de cycle de bus sur la ligne 55 en plus de plusieurs autres entrées qui vont être décrites. Le contrôleur de bus fournit des signaux de commande sur des lignes 57 vers les divers circuits du module d'interface-de bus 10 comprenant le décodeur de cycle de bus 44, le multiplexeur et décodeur de cycle de bus 42, la bascule 43 et le tampon 41. Le contrôleur de bus fonctionne comme une machine d'état classique. - Le décodeur de cycle de bus 44 fournit le signal BLAST (dernière salve) (quelques fois appelé dernier signal). Ce signal (actif à bas niveau) indique qu'une requête de données du microprocesseur (entrée ou sortie) sera satisfaite lors du signal prêt suivant sur les lignes 27 ou 28. La génération du signal et son utilisation, y compris son interaction avec le signal de validation de cache (KEN), sur la ligne 36, seront exposées ci-après. Entrées.et sorties du module d'interface 10 Les principales entrées externes.vers le module d'interface de bus et les principales sorties (vers des circuits externes) du module 10 sont indiquées en figure 2 le long de la ligne 54. Le bus de données 30 est un-bus bidirectionnel à 32 bits. Comme cela sera exposé en relation avec la figure 3, les 32 lignes de ce bus nécessitent typiquement une connexion vers des circuits externes. Le microprocesseur fournit une adresse mémoire sur le bus d'adresse 31. Cette adresse-comprend 30 bits de signauxd'adresse et 4 bits de validation d'octets qui seront exposés plus en détail ci-après en relation avec la figure 3. Les trois lignes de commande mémoire 33 indiquent qu'une lecture/écriture vers la mémoire, une entrée/sortie et des données vers la commande (par exemple pré-recherche à partir de la mémoire en lecture de données). L'état d'adresse (ADS) est un signal actif à bas niveau sur la ligne 22 indiquant que l'adresse sur le bus 31 est valide. Des requêtes de cycle mémoire par le microprocesseur nécessitent habituellement 32 bits de données lus à partir de la mémoire ou écrits vers la mémoire (transferts plus importants que ceux associés à une mémoire cache comme cela sera exposé ci- après). bans certains cas, la mémoire peut être limitée à un bus à 8 bits ou à 16 bits. Si c'est le cas, la mémoire fournit un signal approprié sur la ligne 34 ou 35. Le signal sur la ligne 35 (dimension de bus 8 BS8) indique que le transfert sera satisfait par des transferts à 8 bits tandis que le signal sur la ligne 34 (dimension de bus 16 BS16) indique que la requête sera satisfaite par des transferts à 16 bits. Les lignes 34 et sont couplées au décodeur de cycle de bus 44 et leur utilisation, en particulier pour la génération du signal BLAST sur la ligne 29 sera exposée ci-après. Comme cela a été mentionné, le microprocesseur comprend un mémoire cache intégrée. Certaines données sont prévues pour la mémorisation dans la mémoire cache. Des circuits externes examinent les adresses en provenance du microprocesseur et déterminent si une adresse particulière tombe dans un espace d'adresse prévu pour mémorisation dans la mémoire cache. Ceci est généralement effectué pour des instructions, des constantes, etc, et n'est pas effectué pour des données partagées. Si des circuits externes déterminent que les données requises sont "cachables" c'est-à-dire doivent être mémorisées dans la mémoire cache, alors le signal KEN (actif à bas niveau) est renvoyé sur la ligne 36. Ce signal est couplé au décodeur 44 et, comme cela sera décrit, est utilisé pour produire le signal BLAST. L'entrée sur la ligne 23 est un signal habituel de "maintien" et la sortie sur la ligne 24 est un accusé réception de maintien. Le signal sur la ligne 25 (maintien d'adresse A) indique que le bus externe doit être immédiatement rendu flottant. Ceci est réalisé pour empêcher un verrouillage mort du système avec d'autres équipements sur le bus. La ligne 26 fournit un état d'adresse externe (EAD). Les lignes 27 et 28 reçoivent un signal-prêt et un signal prêt pour salve (B prêt), respectivement. Ces signaux sont également couplés au décodeur de cycle de bus 44 et leur utilisation pour produire le signal BLAST sera exposée ci-après. Interface de bus de données Dans certains microprocesseurs, un bus interne de, par exemple, 32 bits peut être couplé directement à un bus de données externe comprenant un plus petit nombre de lignes. Dans le cas du circuit Intel 80386, par exemple, un bus de données à 8 bits peut être directement connecté aux huit lignes/bits inférieurs de ce bus de données interne du microprocesseur. Des signaux sont appliqués au microprocesseur pour indiquer que seules les huit lignes inférieures du bus de données sont utilisées. La plupart du temps, le microprocesseur comprend un multiplexeur interne qui permet aux huit lignes de bus de données externes d'être sélectivement couplées aux quatres voies d'octets du bus'dedonnées interne. Dans le mode de réalisation actuellement préféré du microprocesseur selon l'invention, les 32 bits du bus de données interne doivent être connectés à un bus externe. Quand le bus de données externe a une étendue de seulement de 8 ou 16 lignes/bits, un multiplexeur externe, tel que le multiplexeur 60 de la figure 3 permet aux 8 ou 16 lignes du bus de données externe d'être sélectivement couplées, à l'une quelconque des voies d'octets du bus de données interne. Ceci est simplement représenté en figure 3 (dans le cas d'un bus externe à 8 bits) par le fait que les 32 lignes du bus de données du module - d'interface de bus 10 sont directement couplées au multiplexeur 60. Le multiplexeur 60 couple le bus à 8 bits" 61 vers l'une quelconque des quatres voies d'octets du bus 30. Des bits de validation d'octets sont fournis par le microprocesseur pour commander le multiplexeur 60. Alors, le microprocesseur indique quelle voie de données de son bus interne doit être couplée au bus de données externe. Comme cela- a été mentionné, dans certains microprocesseurs de l'art antérieur, un circuit équivalent au multiplexeur 60 est intégré sur la puce. Tous les signaux sur le bus de données sont en conséquence couplés par ce multiplexeur quand le multiplexeur est intégré. Il y a un retard à travers le multiplexeur et, en conséquence, tous les signaux incidents et sortants sont retardés par le multiplexeur quand le multiplexeur est intégré. Ainsi, même quand un bus de données externe à 32 bits est utilisé, un retard survient dans le multiplexeur. Ceci pénalise les applications qui sont le plus susceptible de fournir les meilleures performances. Avec le module d'interface selon la présente invention, le multiplexeur n'est pas nécessaire quand le module d'interface de bus 10 est connecté à un bus de données à 32 bits. Ceci assure de meilleures performances quand un bus de données externe à 32 bits est utilisé. Signal de dernière s1alve (BLASTi Le signal BLAST sur la ligne 29 (actif à bas niveau) indique que, lors du signal prêt suivant (sur la ligne 27 ou sur la ligne 28) une requête mémoire par le CPU sera satisfaite. Ceci est tout particulièrement utile quand des données sont transférées vers la mémoire selon des mots de moins de 32 bits; pendant des cycles de salve o, par exemple, des blocs de données sont en cours de transfert dans la mémoire cache; ou bien quand des mots de plus de 32 bits de longueur sont transférés à partir du module à virgule flottante. Le signal BLAST peut être utilisé de diverses façons. Il peut être utilisé pour fournir un "verrouillage" pour empêcher de lire ou d'écrire dans une mémoire ou que le microprocesseur accède à un espace mémoire. De tels verrouillages empêcheront, par exemple, une partie d'un bloc, de données associées d'être perturbée tandis qu'elle est lue dans le microprocesseur. De façon importante, comme cela sera décrit, le signal BLAST peut changer d'état "au-vol". Les signaux qui déterminent l'état du signal BLAST, tels que BS8, BS16 et KEN sont périodiquement échantillonnés et l'état du signal BLAST est redéterminé à chaque échantillonnage. Ainsi, une mémoire externe en défaut peut rendre BS8 ou BS16 actif par suite de la réception d'une adresse en provenance du microprocesseur et déterminer à un instant ultérieur qu'elle peut effectuer des transferts à 8, 16 ou 32 bits. Le signal BLAST, comme on le verra peut changer d'état plusieurs fois avant qu'un signal prêt ne soit envoyé. La figure 4 illustre le fonctionnement du signal BLAST pour une requête ordinaire d'accès mémoire du microprocesseur. Les lignes verticales 62-68 représentent les instants auxquels apparaissent des signaux d'horloge internes (par exemple 25 MHz). Les formes d'onde pour ADS indiquent qu'après l'instant 62 le microprocesseur fournit un signal -(valide à bas niveau) sur la ligne 22 indiquant qu'une nouvelle adresse est présente sur le -bus d'adresse 31. Des signaux d'adresse sont représentés tandis que les nouveaux signaux d'adresse deviennent valides, comme cela est indiqué par les transitions 69. On suppose que la mémoire externe, après réception du signal ADS et des adresses détermine qu'elle va satisfaire la requête à 32 bits du microprocesseur par des transferts à 8 bits. Elle fait cela en amenant à bas niveau le signal BS8. Ceci est représenté comme arrivant après l'instant 63. Toutefois, à l'instant 63, le signal BS8 est examiné par lemicroprocesseur et est trouvé haut (on suppose que le signal BS16 est haut). La détection des signaux BS8 et BS16 à haut niveau aux instants 63 indique que les 32 bits seront transférés lors du signal prêt suivant, satisfaisant ainsi en un seul cycle la requête en provenance du microprocesseur. Dans ces conditions, le signal BLAST est amené à bas niveau, comme cela est indiqué par la flèche 70. Maintenant, & l'instant 64, le signal BS8 est à nouveau examiné et, cette fois ci, déterminé comme étant à bas niveau. Le microprocesseur interprète ce fait comme signifiant qu'un transfert à 8 bits va se produire et en conséquence seuls 8 des 32 bits requis seront transférés -lors du signal prêt suivant. En conséquence, des cycles de mémoire supplémentaires seront nécessaires pour achever la requête en cours du processeur. Comme cela est indiqué par la flèche 71, le signal BLAST est amené à haut niveau pour indiquer que plus de cycles mémoire seront nécessaires après le cycle mémoire suivant pour achever la requête en.cours du microprocesseur. Peu après ce fait, le signal prêt apparaît, comme cela est indiqué par l'impulsion 72. Avec cette impulsion, 8 bits de données sont transférés entre le microprocesseur et la mémoire, laissant 24 bits à transférer pour parachever la requête en cours du microprocesseur. Après réalisation du premier transfert, le signal BS8 (entre les instants 65 et 66) devient inactif (on suppose à nouveau que le signal BS16 reste inactif). Ceci indique que la mémoire est plus capable de traiter un transfert à 32 bits. A l'instant 66, l'état du signal BS8 est détecté et le microprocesseur interprète ce fait comme signifiant que, lors du cycle mémoire suivant, 24 bits doivent être transférés et la requête en cours satisfaite. Le signal BLAST devient maintenant actif, comme cela est indiqué par la flèche 73. Lors du signal prêt suivant, les 24 bits de données sont transférés, parachevant le second cycle mémoire et la transaction. On notera à partir de la figure 4 que le signal BLAST a changé d'état plus d'une fois pendant le traitement de la requête en provenance du microprocesseur et en fait le signal BLAST peut changer d'état un nombre quelconque de fois avant que le signal prêt ne soit renvoyé. Ceci permet une flexibilité maximale pour les types de transfert qui peuvent se produire entre le microprocesseur et la mémoire. Lors de la description de la figure 4, on n'a pas étudié l'état des signaux de validation d'octets, ces signaux seront décrits plus en détail dans le cadre des exemples présentés en figure 5. Toutefois, de façon générale, une fois que les signaux BS8 ou BSl6 sont devenus actifs, les signaux de validation d'octets déterminent quelles voies d'octets sont utilisées quand les-8 bits sont renvoyés. Dans certains cas, les signaux de validation d'octets sont couplés à un multiplexeur (MUX) 60 tel que représenté en figure 3 ou bien couplés à d'autres circuits externes qui dirigent le couplage de signal entre la ou les voies d'octets indiquées par les signaux de validation d'octets. Génération du signal BLAST Le signal BLAST sur la ligne 29 est produit par le décodeur de cycle de bus 44. Dans son mode de réalisation actuellement préféré, ce décodeur est réalisé sous forme d'un réseau logique. La partie du réseau qui produit le signal BLAST est mieux décrite par les équations qu'il -met en oeuvre. Ces équations peuvent être facilement converties en circuit logique (par exemple des portes, etc). Dans les équations suivantes ";"' représente un ET logique et un "+" un OU logique. Le symbole "-"_ indique l'inverse d'une fonction, en particulier "breset#" indique que la condition b-reset (RAZ-b)-n'est pas vraie. Les divers états du bus sont représentées par tl (indiquant que le microprocesseur envoie une nouvelle adresse), t2 (indiquant que le microprocesseur recherche des données) et ti (état de repos). - "Firstfill" indique que le premier cycle de bus dans une mémoire cache se remplit (par exemple que 4 octets parmi 16 octets sont transférés dans la mémoire cache); le signal- KEN est échantillonné à l'état actif pour firstfill. BS8 et BS16 se réfèrent à des signaux sur lès lignes 35 et 34, respectivement. "ncnt" indique le nombre d'octets qui reste pour satisfaire une requête du microprocesseur. Dans le circuit, ce comptage est représenté par un champ à 5 bits. Dans les équations ci-dessus, les bits de ce champ sont représentés entre crochets. Par exemple, si les crochets indiquent " ", les conditions-du champ sont satisfaites pour l'équation (c'est-à-dire que le terme est vrai) si le premier bit du champ est un 1 binaire. Un tiret dans le champ indique que l'état du bit- n'a pas d'importance pour autant que l'on satisfait les conditions du 35. crochet. - Pour faciliter la compréhension de la présente invention, et en particulier celle du signal BLAST, on peut supposer que le signal BLAST est le même que le signal morecyc (cycle mémoire). En fait, il y a certaines différences pour des cycles autres que les cycles mémoires ordinaires, par exemple, pour un cycle de balayage frontière, le signal BLAST n'est pas certifié. Toutefois, ces différences ne sont pas importantes pour la compréhension du mode de réalisation préféré de la présente invention. "ncntadd" indique le nombre de bits à soustraire pour un traL:;vert particulier quand le signal prêt est renvoyé. "ncntadd" est un champ de 3 bits constitué du rassemblement de ncntadd2, ncntaddl et ncntadd0. Si par exemple ncntout est (16) et ncntadd est (1), alors ncnt devient (15). Ce fonctionnement est illustré par la figure 6. La logique mise en oeuvre par les équations est représentée de façon générale par le bloc logique 99. La soustraction est réalisée par le soustracteur 100. Le signal BRDY (b prêt) ou RDY (prêt) amène la bascule 101 à recevoir la soustraction de ncntout par rapport à ncntadd pour fournir le. nouvea;u ncnt. Cette nouvelle valeur de ncnt est utilisée pour déterminer l'état de morecyc. "alout" et "a0out" représentent l'adresse réelle "1" et l'adresse réelle "0" pour le cycle de bus. morecyc - brest#.(ncnt +ncnt +ncnt +ncnt + ncnt .bsl6 +ncnt .bs8 +ncnt .bsl6 +ncnt .bs8 + ncnt .T2# - +ncnt .T2$ +ncnt .T2# +firstfill.T2);ncntadd0O T2.(bs8 + (a0123 .firstfill#)); [1 ou 3 octets] ncntaddl T2. ((bsl6.bs8#.(a0123 +firstfill)) [2ou 3 octets] +(a0123 .bs8#+ a0123 .bs8#.bsl6#)).firstfill#); ncntadd2 T2.bs8#.bsl6)#(a0123 + firstfill); - [4 octets] ncntout4 firstfill-+ ncnt ; ncntout3 firstfill#.ncnt ; ncntout2 = firstfill#.ncnt ncntoutl firstfill#.ncnt ; ncntoutO = firstfill#.ncnt ; alout = firstfill#.a0123 a0out = firstfill#.a0123 . Cvycle mémoire typiaue La figure 5 illustre des formes d'onde des signaux illustrés ci-dessus dans le cas d'un transfert de données. Les lignes verticales 80-91 représentent le temps. Dans le cadre de cet exposé, on suppose que le signal KEN est échantillonné aux instants représentés par ces lignes verticales. A l'instant 80 aucune adresse n'est présentée et donc le processeur ne requiert par de données. Morecyc est bas dans cet état. Entre les instants 80 et 8I, ADS/ chute de potentiel indiquant qu'une adresse est présente. L'adresse 40 est représentée comme fournie sur les lignes d'adresse. Les signaux de validation d'octets sont supposés présenter les signaux iOll. Ceci indique que le processeur recherche un octet unique lors de cette requête mémoire. (Si un transfert typique à 32 bits est requis, les signaux de validation d'octets sont 0000). Egalement, entre les instants 80 et 81, bs8/ devient actif, -indiquant que la mémoire satisfera la requête par des transferts à 8 bits; et le signal KEN/ devient actif, indiquant que les données recherchées sont cachables. A l'instant 81, le signal KEN/ est détecté comme étant actif, et, comme cela est indiqué par la ligne 95, firstfill devient actif - puisque le transfert suivant est le premier dans un cycle cachable. En se référant aux équations ci-dessus, les conditions pour ncntout 4 sont satisfaites puisque firstfill est haut. ncntout3, 2, 1 et 0 sont tous à bas niveau puisque firstfill est haut. Egalement, les conditions pour ncntadd0 sont satisfaites puisque bs8 est actif et que le processeur recherche des données. En examinant le soustracteur de la figure 6 à-cet instant: ncntout est (16); ncntadd est (1); en conséquence ncnt est égal à (15). En se référant à nouveau aux équations ci-dessus, ncnt est valide, en conséquence, morecyc sera actif. Morecyc est représenté comme devenant actif entre les instants 81 et 82 de la figure 5. Maintenant, à l'instant 82, KEN redevient inactif. (La condition de mémoire particulière qui peut provoquer ceci est sans importance, KEN est rendu inactif à ce stade pour montrer la flexibilité du système selon l'invention). Quand KEN est échantillonné comme étant inactif à l'instant 82, firstfill chute de potentiel comme cela est indiqué par la ligne 96. Une fois que cela se produit, les entrées vers le soustracteur de la figure 6 sont toutes des 1 et ncnt est . Aucun des termes de morecyc n'est satisfait et le potentiel morecyc chute. Ceci indique que, lors du transfert suivant, la requête en cours de 8 bits du microprocesseur sera satisfaite. (On notera que le microprocesseur requiert seulement 8 bits de données puisque le signal de validation d'octets est 1011 et en conséquence cette requête peut être satisfaite même si bs8 est actif). Entre les instants 82 et 83, le signal KEN devient à nouveau actif. A l'instant 83, ce signal est échantillonné et, comme cela est indiqué par la ligne 97, firstfill passe à haut niveau. Dans cet état, ncnt devient 15 et morecyc passe à haut niveau pour indiquer que, lors du transfert suivant, la requête en cours du processeur ne sera pas satisfaite. Entre les instants 83 et 84, BRDY passe à bas niveau et un transfert prend place (en fait les signaux de validation d'octets 1011 sont ignorés puisque KEN a été renvoyé, et, comme cela est indiqué-, les signaux de validation d'octets varient ensuite de façon ordonnée tandis que les données sont transférées octet par octet). Après le premier transfert (et après l'instant 84), le signal KEN reste à bas niveau et firstfill chute en valeurde potentiel puisque le premier transfert du cycle de salve a été achevé. Aux instants 85 à 91, chaque fois que BRDY devient actif, 8 autres bits sont transférés et ncnt chute d'une unité à chaque transfert. A l'instant 90, les entrées vers le soustracteur sont toutes deux des "1" et aucun terme de morecyc n'est satisfait. Le signal morecyc devient alors inactif pour indiquer que, lors du transfert suivant, la requête de la mémoire est satisfaite. Ainsi, on a décrit un module d'interface de microprocesseur. Le module assure un traitement dynamique "au vol" des signaux affectant le transfert, tel qu'un signal de dimension d'octets et un signal de validation de cache. REVENDICATIONS 1. Microprocesseur comprenant un bus de données interne de n octets, o n est supérieur à 2, ce microprocesseur fournissant des signaux d'adresse pour un transfert de données à n octets et recevant un signal prêt quand une mémoire externe est prête à transférer des données, caractérisé en ce qu'il comprend: des moyens d'entrée pour recevoir au moins un signal de dimension d'octets (BS8, 35; BS16, 34) représentant le nombre d'octets que la mémoire va transférer vers le microprocesseur lors du signal prêt suivant; des moyens de sortie pour fournir un dernier signal (BLAST, 29) indiquant qu'unerequête detransfert dedonnées par le microprocesseur sera satisfaite, le transfert de données survenant lors du signal prit suivant; des moyens logiques (44) pour produire le dernier signal, couplés aux moyens d'entrée et de sortie, ces moyens logiques gardant trace du nombre d'octets de données transférés après que le microprocesseur a fourni lesdits signaux d'adresse et pour.détecter périodiquement le signal de dimension d'octets, ces moyens logiques pouvant modifier ledit dernier signal avant ledit signal prêt lors de chaque changement détecté du signal de dimension d'octet. 2. Microprocesseur selon la revendication 1, caractérisé en ce qu'il comprend un moyen de génération de signal de validation d'octet pour produire des signaux de validation d'octets représentant les voies du bus de données qui doivent être utilisées pour un transfert de données. 3. Microprocesseur selon la revendication 1, caractérisé en ce qu'il comprend une mémoire cache (11). 4. Microprocesseur selon la revendication 3, caractérisé en ce qu'il comprend des moyens d'entrée supplémentaires pour recevoir un signal de validation de cache (KEN, 36) produit de façon externe vers le microprocesseur qui indique si des données recherchées pour être transférées vers le microprocesseur par les signaux d'adresse doivent être mémorisés dans la mémoire cache. 5. Microprocesseur selon la revendication 4, caractérisé en ce que le signal de validation de cache est couplé aux moyens logiques et est périodiquement détecté et utilisé pour produire ledit dernier signal, lesdits moyens logiques pouvant modifier le dernier signal lors de chaque changement détecté du signal de validation de cache. 6. Microprocesseur selon l'une quelconque des revendications 1 à 5, caractérisé en ce qu'il comprend un autre moyen d'entrée (28) pour recevoir un signal prêt de salve qui indique que la mémoire externe est prête à transférer des salves de données en réponse aux signaux d'adresse, ce signal de salve étant couplé aux moyens logiques-et utilisé pour produire ledit dernier signal. 7. Microprocesseur selon la revendication 6; caractérisé en ce qu'il comprend un module à virgule flottante (17) pour effectuer des calculs à virgule flottante. 8. Microprocesseur comprenant un bus de données interne à 32 bits, ce microprocesseur fournissant des signaux d'adresse pour le transfert de 32 bits de données et recevant un signal prêt quand une mémoire externe est prête à transférer des données, caractérisé en ce qu'il comprend: une première ligne (BS8, 35) pour indiquer que la mémoire externe va transférer 8. bits de données, une seconde ligne (BS16, 34) pour recevoir un signal d'entrée indiquant que la mémoire externe va transférer 16 bits de données, une troisième ligne (BLAST, 29) pour fournir un derniersignal indiquant qu'une requête de transfert de. données -du microprocesseur va être satisfaite par un transfert de données survenant lors du signal prêt suivant; des moyens logiques (44) pour produire ledit dernier signal, couplés aux première, seconde et troisième lignes, ces moyens logiques gardant trace du nombre d'octets de données transférés après que le microprocesseur a fourni ledit signal d'adresse et pour détecter périodiquement les signaux sur les première et seconde lignes, ces moyens logiques pouvant changer ledit dernier signal avant le signal prêt lors de chaque changement détecté sur les première et seconde lignes. 9. Microprocesseur selon la revendication 8, caractérisé en ce qu'il produit des signaux de validation d'octet; en réponse aux signaux sur les première et seconde lignes pour indiquer les voies de données du bus de données qui doivent être utilisées pour le transfert de données. 10. Microprocesseur selon la revendication 8, caractérisé en ce qu'il comprend une mémoire cache (11). 11. Microprocesseur selon la revendication 10, caractérisé en ce qu'il comprend une quatrième ligne (36) qui reçoit un signal d'entrée indiquant si une donnée recherchée pour être transférée vers le microprocesseur doit être mémorisée dans la mémoire cache (signal de validation de cache, KEN), cette quatrième ligne étant couplée aux moyens logiques, le signal de validation de cache étant périodiquement détecté pour être utilisé par les moyens logiques pour produire ledit dernier signal, lesdits moyens logiques pouvant modifier le dernier signal avant le signal prêt lors de chaque changement détecté du signal de validation de cache. 12. Microprocesseur selon l'une des revendications 8 et 11, caractérisé en ce qu'il comprend une cinquième ligne (28) pour recevoir un signal d'entrée indiquant que la mémoire externe est prête pour un mode de transfert de salve de données, la quatrième ligne étant couplée aux moyens logiques et utilisée pour la génération dédit dernier signal. 13. Microprocesseur comprenant un bus de données interne de n octets, o n est supérieur à 2, ce microprocesseur fournissant des signaux d'adresse et recevant un premier signal 263-4919 prêt quand la mémoire externe est prête à- un transfert de données, caractérisé en ce qu'il comprend: une mémoire cache (11) couplée au bus de données interne; un moyen d'entrée (36) pour recevoir un signal de validation de cache (KEN) qui indique si des données recherchées pour un transfert vers le microprocesseur doivent être mémorisées dans la mémoire cache; un moyen de sortie (29) pour fournir un dernier signal indiquant qu'un transfert de données requis par le microprocesseur va être satisfait -par le transfert de données survenant lors du signal prêt suivant; un moyen logique (44) pour produire ledit dernier signal, couplé aux moyens d'entrée et de sortie; ce moyen logique gardant trace du nombre d'octets de données transférés après que le microprocesseur a fourni les signaux d'adresse et pour détecter périodiquement le signal de validation de cache, ces moyens logiques pouvant modifier ledit' dernier signal à chaque changement détecté du signal de validation de cache. - 14. Microprocesseur selon la revendication 13, caractérisé en ce qu'il comprend un moyen d'entrée supplémentaire (28) pour recevoir un signal prêt de salve indiquant que la mémoire externe est préparée à transférer des données dans un mode de salve, ce signal prêt de salve étant couplé aux moyens logiques et utilisé pour la générationdudit dernier signal. 15. Microprocesseur selon. la revendication 14, caractérisé en ce qu'il prend un autre moyen d'entrée (34, 35) recevant au moins un signal de dimension d'octets recevant le nombre d'octets que la mémoire va transférer au microprocesseur lors-du signal prêt suivant, ce signal de dimension d'octets étant couplé aux moyens logiques et utilisé pour lagénération du dernier signal, lesdits moyens, logiques détectant périodiquement le signal de dimension d'octets et pouvant modifier le dernier signal à chaque changement détecté du signal de dimension d'octets. 16. Microprocesseur selon la revendication 15, caractérisé en ce qu'il produit des signaux de validation d'octets représentant les voies de données qui doivent être utilisées pour des transferts de données. 17. Microprocesseur comprenant: un moyen de génération de signaux d'adresse pour produire des signaux d'adresse pour requérir des données à partir d'une mémoire externe; une mémoire cache: caractérisé en ce qu'il comprend en outre: des premiers moyens d'entrée pour recevoir un signal externe indiquant que les données requises par les signaux d'adresse tombent dans un bloc de données prédéterminé, c'est-à- dire doivent être mémorisés dans la mémoire cache'; un moyen de génération de signal pour produire un signal indiquant que, lors du transfert de données suivant vers la mémoire cache à partir de la mémoire externe, le transfert du bloc de données prédéterminé va être achevé.