Brevet FR2632095A1 — publié le 19891201

i METHODE ET DISPOSITIF POUR POSTER SELECTIVEMENT DES CYCLES D'ECRITURE EN UTILISANT UNE UNITE DE COMMANDE D'ANTEMEMOIRE 82385 DESCRIPTION La présente invention concerne les systèmes de micro-calculateur et plus particulièrement les systèmes de micro-calculateur utilisant un soussystème d'antémémoire et une unité de commande d'antémémoire 82385 qui comprend un dispositif pour poster sélectivement des cycles d'écriture. L'utilisation de sous-systèmes d'antémémoire dans les systèmes de microcalculateur conduit à un certain nombre d'avantages attractifs quant au fonctionnement. Un système de micro-calculateur utilisant un sous-système d'antémémoire est en fait un micro-calculateur à bus double. L'unité CPU et le sous-système d'antémémoire sont interconnectés au travers de ce que l'on peut appeler un bus local CPU. D'autres dispositifs (dispositifs d'entrée/sortie, mémoire supplémentaire, etc...) peuvent être connectés à un bus de système séparé du bus local CPU. La présence du sous-système d'antémémoire dispense le bus de système de tout accès en mémoire de lecture dans la mesure o les informations recherchées sont dans le soussystème d'antémémoire. En raison du fait que toutes les informations désirées ne seront pas trouvées dans le sous-système d'antémémoire et que des opérations d'écriture sont généralement dirigées à la fois vers le sous-système d'antémémoire et la mémoire, il doit naturellement exister une certaine relation entre le bus de système et le bus local CPU. Lorsque cette connexion est une mémoire intermédiaire verrouillée il est possible d'assurer des avantages supplémentaire et plus précisément, de permettre l'exécution d'opérations d'écriture postées. En particulier dans toute opération d'écriture, l'accès en mémoire est nécessaire (mémoire qui n'est pas sur le bus local CPU). L'information (données et adresse) relative à l'accès d'écriture est initialement placée sur le bus local CPU o elle peut être utilisée pour écrire au sous-système d'antémémoire. Etant donné que l'interface entre le bus local CPU et le bus de système est une mémoire intermédiaire verrouillée, les mêmes données peuvent être verrouillées dans la mémoire intermédiaire. Une fois que cette information est verrouillée dans la mémoire intermédiaire, il n'est plus nécessaire qu'elle soit commandée par l'unité CPU. Ainsi, un cycle d'écriture posté compte sur le fait que l'information relative à l'adresse et aux donndes pour une opération d'écriture en mémoire, est disponible à la mémoire intermédiaire verrouillée. L'achèvement de ce cycle d'écriture ne requiert pas l'attention de l'unité CPU. Ainsi en écriture "postée", les données et l'adresse pour le cycle d'écriture sont verrouillées dans la mémoire intermédiaire faisant interface entre le bus local CPU et le bus de système, après quoi l'unité CPU peut continuer pour amorcer un cycle suivant. Le système de commande d'antémémoire (comprenant l'unité de coe ande d'antémémoire) peut alors surveiller l'achèvement d: 4 écriture en mémoire. Les systèmes de micro-calculateur comprenant un processeur 80836 et une unité de commande d'antémémoire 82385 sont agencés de façon à tirer avantage des opérations d'écriture postées exactement de cette façon. Le processeur 80386 et les signaux qu'il génère, sont décrits dans le manuel intitulé "Introduction to the 80386 Including the 80386 Data Sheet" publié par Intel (Avril 1986). L'unité de commande d'antémémoire 82385 et les signaux qu'elles génère, sont décrits dans le manuel intitulé "82385 High Performance 32-Bit Cache Controller" publié par Intel (Juillet 1987). Une autre caractéristique attrayante du processeur 80386 est qu'il peut fonctionner avec ce que l'on appelle un "dimensionnement dynamique de bus". L'unité 80836 est nominalement une machine de 32 bits, c'est à dire que son bus de données a une largeur de 32 bits. Le dimensionnement dynamique du bus se rapporte à la possibilité du processeur 80386 à coopérer non seulement avec des dispositifs à 32 bits (mémoire, dispositifs E/S, etc...) mais aussi avec des dispositifs qui ne peuvent pas transférer 32 bits de données en un seul cycle. Il existe par exemple, une grande variété de dispositifs de mémoire et/ou de dispositifs E/S qui sont des dispositifs à 16 bits, c'est à dire qu'ils ne peuvent pas transférer plus de 16 bits de données au cours d'un cycle donné. De plus, il v a des dispositifs E/S, de mémoire et autres qui sont à 8 bits. Ces dispositifs ne peuvent transférer que huit bits de données au cours d'un cycle donné. L'unité 80386 est prévu pour l'utilisation d'un signal BS16. Lorsque ce signal est appliqué, il a l'effet suivant. Dans le cas o l'unité 80386 a généré un cycle de 32 bits, c'est à dire qu'elle a généré et/ou s'attend à accepter 32 bits de données, l'application du signal BS16 indique à l'unité 80386 qu'elle ne fonctionne pas avec un dispositif à 32 bits. L'application du signal BS16 amorcera automatiquement pendant le cycle de 32 bits, la génération d'un second cycle. Par convention, tout dispositif de 16 bits est agencé pour transférer un groupe prédéterminé de 16 bits depuis le bus de données de 32 bits. L'unité 80386, au second cycle généré par la présence du signal BS16, placera ce groupe de 16 bits de données qui, au premier cycle, n'était pas dans le groupe prédéterminé de bits de données, sur un groupe prédéterminé de lignes de données, qui est associé au groupe prédéterminé de 16 bits. En conséquence, au premier des deux cycles, le dispositif à 16 bits transférera un ensemble donné de 16 bits de l'espace de données de 32 bits. Au second cycle, le dispositif de 16 bits transférera un autre ensemble de 16 bits de données si bien que, pris ensemble, les deux cycles de 16 bits transfèrent 32 bits. Il y a cependant une incompatibilité entre des cycles d'écriture postés et le dimensionnement dynamique des bus. Cette incompatibilité est due à la raison suivante. Supposons que l'unité 80836 amorce une écriture postée. Les données et l'adresse du cycle d'écriture postée sont verrouillées dans l'interface de mémoire intermédiaire entre le bus local CPU et le bus de système. Bien que le cycle d'écriture ne soit pas encore achevé, un signal d'état "prêt" est renvoyé à l'unité 80386. Ceci simule l'achèvement du cycle si bien que l'unité 80386 peut amorcer une opération suivante. Etant donné que le signal BS16 (qui est renvoyé à l'unité 80386 pour indiquer la taille du dispositif avec lequel elle est en fonctionnement) est généré par le dispositif, ce signal n'est pas généré tant que le dispositif n'a pas reconnu son adresse. En continuant avec cet exemple et en supposant que le dispositif auquel le cycle d'écriture postée est destiné, est en fait un dispositif à 16 bits au moment o le signal BS16 est renvoyé à l'unité 80386, il a déjà dépassé l'opération donnée et est engagé dans l'opération suivante. L'unité 80386 ne peut donc pas générer le second cycle nécessaire pour le dispositif à 16 bits. Un objet de la présente invention est donc de poster sélectivement des cycles d'écriture. Etant donné qu'un cycle d'écriture posté est identifié par la génération précoce d'un signal d'état "'prêt" à l'unité 80386, la présente invention ne fournit la logique de génération du signal d'état "prêt" à l'unité 80386 que dans le cas o une écriture postée est appropriée. Selon la présente invention, tous les dispositifs avec lesquels l'unité 80386 peut entrer en interaction (E/S, mémoire, etc...) - sont classés soit comme dispositifs à possibilité d'antémémoire, soit comme dispositifs sans possibilité d'antémémoire. L'adresse attribuée à tous les dispositifs comporte une étiquette qui indique si le dispositif est à possibilité d'antémémoire ou sans possibilité d'antémémoire. Selon la présente invention, un décodeur d'adresses est prévu sur le bus local CPU. Le décodeur d'adresses répond à l'adresse revendiquée sur le bus local CPU pour appliquer un signal NCA lorsque l'accès se fait à un dispositif sans possibilité d'antémémoire. De plus, bien que l'unité de commande d'antémémoire 82385 soit agencée pour générer le signal d'état "prêt", ce signal n'est pas couplé à l'unité 80386. Ce signal est plutôt couplé à des moyens logiques selon les enseignements de la présente invention. Ces moyens logiques, suivant divers autres signaux revendiqués ne généreront un signal CPUREADY (CPU PRET) (pour remplacer le signal d'état "prêt") que lorsque cela sera approprié. Plus particulièrement, les moyens logiques de la présente invention génèrent le signal CPUREADY pour ne permettre des cycles d'écriture postée que lorsque l'accès est exécuté à un dispositif à possibilité d'antémémoire, c'est à dire en l'absence du signal NCA. D'autre part, en présence du signal NCA, les moyens logiques suspendent la génération du signal CPUREADY si bien qu'en effet, aucune opérations d'écriture postée ne se déroule. En consequence, selon l'une de ses caractéristiques, la présente invention permet de réaliser un système de micro-calculateur comprenant: un bus local CPU connectant une unité CPU et un sous-système d'antémémoire, ladite unité CPU comprenant des moyens permettant des opérations d'écriture postée en réponse à la réception d'un- signal d'état "prêt" de l'unité CPU avant l'achèvement d'une opération d'écriture, des moyens de bus de système connectant une mémoire à accès aléatoire et une pluralité d'unités fonctionnelles adressables, lesdits moyens de bus de système renvoyant un signal d'état "prêt" à l'achèvement d'une opération d'écriture, des moyens pour coupler bidirectionnellement ledit bus de système et ledit bus local CPU, et des moyens logiques pour sélectivement éviter des opérations d'écriture postée, lesdits moyens logiques comprenant: a) des moyens de décodage d'adresses couplés à un composant de bus d'adresses dudit bus local CPU pour générer un signal NCA indiquant l'application d'une adresse sur ledit bus local CPU en dehors d'une plage d'adresses associée audit sous-système d'antémémoire, et b) des moyens répondant audit signal NCA pour retenir ledit signal d'état "prêt" de CPU jusqu'à la réception dudit signal d'état "prêt" d'unité issu de l'une des unités fonctionnelles adressables. La figure 1 est une vue générale en trois dimensions d'un système de micro-calculateur courant utilisant la présente invention. La figure 2 est une représentation schématique détaillée de la majorité des éléments composant un système de micro-calculateur courant utilisant la présente invention. La figure 3 est une représentation schématique un peu plus détaillée que la figure 2, qui montre les connexions entre une unité 80386 et une unité 82385 recommandées par le fabricant et qui est utile pour comprendre pourquoi un tel agencement est sans interet vis à vis du dimensionnement dynamique des bus, et La figure 4 est une représentation schématique similaire à la figure 3, sauf qu'elle illustre l'application de la présente invention pour le postage sélectif de cycles d'écriture. La figure 1 représente une système de microcalculateur courant dans lequel la présente invention peut être utilisée. Comme le montre la figure 1, le système de microcalculateur 10 comprend un certain nombre de composants qui sont interconnectés. Plus précisément, une unité système est couplée à et commande une unité de contrôle 20 (telle qu'une unité d'affichage vidéo classique). L'unité système 30 est aussi connectée à des dispositifs d'entrée comme un clavier 40 et une souris 50. Un dispositif de sortie comme une imprimante 60 peut aussi être connectée à l'unité système 30. Finalement, l'unité système 30 peut comprendre une ou plusieurs unités à disques comme l'unité à disques 70. Comme on le décrira ci dessous, l'unité système 30 répond à des dispositifs d'entrée comme le clavier 40 et la souris 50 et à des dispositifs d'entrée/sortie comme l'unité à disques 70 pour délivrer des signaux pour commander des dispositifs de sortie comme l'unité de contrôle 20 et l'imprimante 60. Naturellement, l'homme de l'art reconnaîtra que d'autres éléments classiques peuvent aussi être connectés à l'unité système 30 pour interaction avec celle ci. Selon la présente invention, le système de microcalculateur 10 comprend (comme on le décrira plus particulièrement ci dessous) un sous-système de mémoire antémémoire tel qu'il y ait un bus local CPU pour interconnecter un processeur, une commande d'antémémoire et une mémoire antémémoire, lequel bus local CPU est couplé par une mémoire intermédiaire à un bus de système. Le bus de système est interconnecté à et fonctionne en association avec les dispositifs E/S comme le clavier 40, la souris 50, l'unité à disques 70, l'unité de contrôle 20 et l'imprimante 60. De plus, selon la présente invention, l'unité système 30 peut aussi comprendre un troisième bus comprenant un bus à micro-canal (TM) pour assurer l'interconnexion entre le bus de système et d'autres dispositifs d'entrée/sortie (en options). La figure 2 est une représentation schématique illustrant les divers composants d'un système de microcalculateur courant réalisé selon les enseignements de la présente invention. Un bus local CPU 230 (comprenant des composants de données, d'adresses et de commande) permet la connexion d'un microprocesseur 225 (comme l'unité 80386), d'une unité de commande d'antémémoire 260 (qui peut comprendre une unité de commande d'antémémoire 82385) et une mémoire antémémoire à accès aléatoire 255. Une mémoire intermédiaire 240 est aussi raccordée au bus local CPU 230. La mémoire intermédiaire 240 est elle même connectée au bus de système 250, comprenant aussi des composants d'adresses, de données et de commande. Le bus de système 250 est disposé entre la mémoire intermédiaire 240 et une autre mémoire intermédiaire 253. Le bus de système 250 est aussi connecté à un élément de commande et de chronologie de bus 265 et à une unité de commande DMA 325. Un bus de commande d'arbitrage 340 connecte l'élément de commande et de chronologie de bus 265 et une unité de supervision d'arbitrage 335. La mémoire principale 350 est aussi connectée au bus de système 250. La mémoire principale comprend un élément de commande de mémoire 351, un multiplexeur d'adresses 352 et une mémoire intermédiaire de données 353. Ces éléments sont interconnectés avec les éléments de mémoire 360 à 364 comme le montre la figure 2. Des dispositifs de mémoire et des dispositifs de mémoire à possibilité d'antémémoire peuvent être raccordés au bus 320. Un dispositif de mémoire courant 331 est représenté à la figure 2. Une autre mémoire intermédiaire 254 est connectée entre le bus de système 250 et un bus planaire 270. Le bus planaire 270 comprend des composants de données et de commande d'adresses, respectivement. Divers adaptateurs E/S et autres éléments comme l'adaptateur d'affichage 275 (qui est utilisé pour commander l'unité de contrôle 20), une horloge 280, la mémoire à accès aléatoire supplémentaire 285, un adaptateur RS 232 290 (utilisé pour des opérations.E/S en série), un adaptateur d'imprimante 295 (qui peut être utilisé pour commander l'imprimante 60), une unité de chronologie 300, un adaptateur de disquettes 305 (qui coopère avec l'unité de disques 70), une unité de commande d'interruption 310 et une mémoire permanente 315 sont connectés le long du bus planaire 270. Une autre mémoire intermédiaire 253 est connectée entre le bus de système 250 et un autre bus comme le bus à micro-canaux 320 utilisé pour la connexion d'unités fonctionnelles en options. La figure 3 est une représentation schématique de l'interconnexion proposée entre l'unité 80386, l'unité de commande d'antémémoire 82385, la mémoire intermédiaire verrouillée 240 formant l'interface entre le bus local CPU et le bus de système comme recommandé par le fabricant. La figure 3 montre plus particulièrement les composants de bus d'adresses et de commande du bus local CPU CPULBA (y compris les conducteurs d'adresses A2-A31 et les conducteurs de commande D/C, W/R et M/IO), sont raccordés à une entrée de la bascule de verrouillage d'adresses commandée (AL) représentant un élément de la mémoire intermédiaire 240. Une sortie de la bascule de verrouillage AL est appliquée au composant d'adresse du bus de système SBA. De la même manière, la borne d'entrée/sortie de données de l'unité 80386 (comprenant les conducteurs D0-D31) est connectée à un terminal de la bascule de verrouillage de données (DL) entre le bus local CPU et le bus de système représentant un autre élément de la mémoire intermédiaire 240. L'autre borne de DL est le composant de données du bus de système SBD. La figure 3 montre que l'unité de commande d'antémémoire 82385 délivre un signal READYO à l'unité 80386 par l'intermédiaire de la logique externe représentée par la porte ET 300 et la porte OU 301. Le signal READYI est le signal d'état "prêt" qui indique soit que le cycle de bus est terminé, soit qu'il est appliqué avant l'achèvement du cycle de bus de système lors d' une opération d'écriture postée. Etant donné que la bascule DL est bidirectionnelle, elle peut verrouiller des données soit depuis le composant de bus local CPU (D0-D31), soit depuis le composant de données du bus de système (SBD), l'unité 82385 délivre aussi un signal de direction (BT/R) pour indiquer si la bascule DL transfert des données depuis le bus local CPU ou depuis le bus de système. Les signaux BE0-BE3 (à la fois ceux délivrés en sortie par l'unité 80386 et les signaux répétés délivrés en sortie par l'unité 82385) sont des signaux d'adressage supplémentaires. Le système de micro-calculateur 80386/82385 est agencé pour, à chaque accès de mémoire principale, accéder à une "ligne" de données représentant quatre multiplets. Les signaux d'adressage de 4 bits (BE0-BE3) peuvent être utilisés pour sélectionner un ou plusieurs multiplets à partir des quatre multiplets de la "ligne". Les signaux BHOLD et BHLDA constituent une paire de signaux d'accusé de réception de maintien de bus passant entre l'unité de commande d'antémémoire 82385 et l'unité de supervision d'arbitrage 335. Le signal BADS est un signal indiquant que l'élément d'adressage du bus de système SBA applique une adresse valide. Le signal BREADY est un signal d'état "prêt" passant du bus de système 250 à l'unité 82385. Comme le montre la figure 3 et comme expliqué dans les manuels Intel cités en références, toutes les écritures sont postées, c'est à dire que les adresses et les données sont verrouillées dans les éléments DL et AL de la mémoire intermédiaire 240 et que l'unité 82385 applique alors le signal READYO conditionnant l'unité 80386 pour amorcer une opération suivante. L'écriture postée peut alors être complétée à partir des données dans les éléments AL et DL, comme supervisé par l'unité 82385. Aussi longtemps que les dispositifs vers lesquels est dirigée l'écriture postée, seront des dispositifs de 32 bits, si bien que l'opération d'écriture peut être achevée en un seul cycle, ou aussi longtemps que l'écriture postée sera une écriture de 16 bits à un dispositif de 16 bits, etc..., les écritures postées seront effectives. D'autre part, dans la mesure o un cycle d'écriture postée comprend des données excédant la taille du dispositif auquel l'écriture est postée, l'écriture postée ?632095 est alors inappropriée. La raison pour laquelle elle est inappropriée est que dans tous ces cas des cycles supplémentaires sont nécessaires (un cycle de 32 bits à un dispositif de 16 bits requiert deux cycles, etc...). Cependant, au moment o l'unité 80386 reçoit un signal BS16 indiquant (pour un cycle de 32 bits) que l'écriture postée est effectuée à un dispositif de 16 bits, elle est déjà engagée dans l'opération suivante et ne peut pas répéter le cycle précédent. La figure 4 est similaire à la figure 3 mais montre comment l'unité 80386, l'unité 82385, les bascules AL et DL, le bus local CPU 230 et le bus de système 250 sont interconnectés selon les enseignements de la présente invention. La sortie BT/R de l'unité 82385, au lieu d'être raccordée à la bascule DL, est maintenant appliquée en entrée à un nouvel élément de commande C. D'autres entrées à l'élément de commande C comprennent le signal DOE et le sianal WBS issus de l'unité 82385 et le sianal READYO (qui a été précédemment connecté à l'unité 80386 - voir la fiaure 3). Un décodeur CADR est raccordé au composant d'adresses du bus local CPU (CPULBA) et plus particulièrement les bits d'étiquette A17-A26 et A31. Le décodeur CADR applique un signal NCA en entrée à l'élément de commande C indiquant une adresse appliquée sur le composant CPULBA qui est une adresse d'un dispositif sans possibilité d'antémémoire. De la même manière, des signaux de commande pour l'élément DL, plus particulièrement - LEAB (pour verrouiller des données dans l'élément DL) et OEAB (pour conditionner la sortie de l'élément DL) ont aussi leur origine dans l'élément de commande C. Une autre entrée à l'élément de commande C est le signal BREADY généré par le bus de système. Le décodeur CADR reçoit outre ses entrées depuis les bits A17-A26 et A31 du composant CPULBA, des bits de possibilité d'antémémoire programmable (PCB). Dans une construction réellement réalisée, le premier de ces trois bits représente une décision permettant la mise en mode antémémoire d'espace ROM. Un second bit permet au décodeur CADR de délivrer en sortie le signal NCA en se fondant sur les informations décodées, ou alternativement, de déclarer tous les accès sans possibilité d'antémémoire, c'est à dire appliquer le signal NCA indépendamment de l'adresse appliquée sur le composant CPULBA. Finalement, un troisième bit indique dans un état que l'espace d'adresse entre 0 et 8 mégamultiplets est à possibilité d'antémémoire et que l'espace d'adresse entre 8 et 16 mégamultiplets est sans possibilité d'antémémoire. Dans l'autre état, le bit indique que l'espace d'adresse compris entre 0 et 16 mégamultiplets est entièrement à possibilité d'antémémoire. Si on le désire, l'effet de ce bit peut être multiplié en réfléchissant simplement le statut des 16 premiers mégamultiplets au travers des plages de 16 mégamultiplets successives. Naturellement, l'utilisation de ces indicateurs de possibilit6 d'antémémoire particuliers (ou autres), n'est pas essentiel à la présente invention. Il est cependant important d'agencer le décodeur CADR de façon qu'il puisse rapidement décoder ses entrées et produire NCA. Dans une réalisation réelle, la fenêtre de chronologie pour la production de NCA à partir des adresses valides sur le composant CPULBA, était très courte, de l'ordre de dix nanosecondes. Le terme CPUREADY est défini ci dessous (voir l'équation 7). La cinquième ligne de l'équation (du côté droit du signe d'égalité) indique la dépendance de CPUREADY par rapport à NCA, c'est à dire que lorsque NCA est appliqué avec READYO, CPUREADY est passé en négatif. En même temps que CPUREADY est applique, LEAB doit être appliqué pour verrouiller les données à écrire dans DL. Le signal LEAB est défini dans l'équation 8 (ci dessous). Il comprend un terme d'ensemble (sur la première ligne, du côté droit du signe d'égalité) et deux termes de retenue sur les deuxième et troisième lignes. Le terme d'ensemble requiert la conjonction de /BUSCYC386, /CPUREADY, (W/R), CLK et ADS. Dans une réalisation réelle de la présente invention, la logique de commande C (ainsi que d'autres logiques de commande non représentées qui implémentent d'autres éléments des équations 1-11 représentées ci dessous) a été mise en oeuvre sous la forme d'une logique de réseaux programmable. Il est évident pour l'homme de l'art que d'autres mises en oeuvre de logiques classiques sont aussi disponibles. En conséquence, en utilisant la logique externe représentée à la figure 4 (et expliquée ci dessous en relation avec les équations logiques), des écritures postées ne sont disponibles que pour des accès à possibilité d'antémémoire. Par définition, un accès à possibilité d'antémémoire est un dispositif à 32 bits bien qu'il puisse y avoir d'autres dispositifs à 32 bits qui sont sans possibilité d'antémémoire. La décision majeure requise pour mettre en oeuvre la présente invention est de décider si une écriture postée est appropriée. Une fois que cette décision est prise, elle est mise en oeuvre par le développement des signaux de commande appropriés à DL et AL. Les signaux crées par l'unité 82385 sont appropriés dans la mesure compatible avec la décision de poster l'écriture. En conséquence, l'utilisation de la présente invention permet à des opérations postées de se dérouler indépendamment du fait que des dispositifs inférieurs à 32 bits peuvent être raccordés sur le bus de système et/ou le bus de fonction- optionnel. Les équations logiques auxquelles on s'est référé ci dessus sont reproduites ci dessous. Dans celles ci, les symboles ont les significations suivantes: r Symbole Définition / Négation := Un terme enregistré, égal à = Un terme combinatoire, égal à & ET logique + OU logique Equations logiques /BREADY385=/BUSCYC385 & /BREADY & MISSI (1) /BT2:=BUSCYC385 & PIPECYC385 & /BADS & CLK & BT2 (2) + BUSCYC385 & /PIPECYC385 & BADS & CLK & NACACHE & BT2 + MISSi & /BUSCYC385 & /BADS & /(BW/R) & CLK & NCA & /BREADY + /MIISS1 & /BREADY & /BUSCYC385 & CLK + /BT2 & BREADY & NACACHE + /CLK & /BT2 /BUFWREND:=WBS & /BUSCYC385 & /BREADY & CLK (3) /BUSCYC385:=BUSCYC385 & /BADS & CLK (4) + BUSCYC385 & /PIPECYC385 & CLK + BUSCYC385 & /BT2 & CLK + /BUSCYC385 & BREADY + /BUSCYC385 & /CLK /BUSCYC386:=BUSCYC386 & /ADS & CLK & /RESET (5) + BUSCYC386 & /PIPECYC386 & CLK & /RESET + /BUSCYC386 & CPUREADY & /RESET + /BUSCYC386 & /CLK & /RESET /CPUNA:=/MISS1 & CLK & CPUNA & /NACACHE (6) + /MIvISS1 & CLK & CPUNA & /BREADY & /BUSCYC385 % + /CPUNA & /CLK + /CPUNA & /MISS1 & CLK + /CPUNA & CLK & BREADY + /CPUNA & BUSCYC385 & NACACHE & CLK /CPUREADY/READYO & /(W/R) (7) + /BRDYEN & /BREADY & MISSi & /BUSCYC385 + /READYO387 + /BREADY385 & (W/R) & /LEAB + /READYO & (W/R) & NCA ±/RDY387PAL LEAB:=/LEAB & /BUSCYC386 & /CPUREADY & (W/R) & CLK & ADS (8) + LEAB & BUFWREND & /CLK + LEAB & WBS & CLK /MIISS1:=MISS1 & BUSCYC385 & CPUNA & /BADS & /(BW/R) & CLK & NCA (9) + MIISS1 & BUSCYC385 & /BADS & /(BW/R) & CLK & NCA & /BREADY + /MISS1 & /CLK + /MISS1 & BREADY /PIPECYC385:=PIPECYC385 & /BADS & /BUJSCYC385 & CLK & /BREADY (10) + PIPECYC385 & /MISS1 & BT2 & /BUSCYC385 & CLK & /BREADY + /PIPECYC385 & /CLK /PIPECYC386:= (11) PIPECYC386 & /ADS & CLK & /CPUREADY & /RESET & /BUSCYC386 + /PIPECYC386 & /CLK & /RESET Dans les équations logiques suivantes, les signaux suivants sont décrits tels que dans les manuels Intel cités en références: ADS BADS BRDYEN BREADY (BW/R) en fait on se réfère à BW/R, les parenthèses sont utilisés pour indiquer que le terme entier est un signal CLK READYO RESET WBS (W/R) en fait on se réfère à W/R, les parenthèses sont utilisées pour indiquer que le terme entier est un signal ADS, lorsqu'il est actif, indique une adresse valide sur le bus local CPU 230. BADS, lorsqu'il est actif, indique une adresse valide sur le bus de système 250. BRDYEN est une sortie de l'unité 82385 qui est un antécédent des signaux READY. BREADY est un signal d'état prêt issu du bus de système 250 et appliqué au bus local CPU 230. BW/R définit un bus de système 250 pour l'écriture ou la lecture. CLK est un signal d'horloge de processeur qui est en phase avec le processeur 225. READYO est une autre sortie de l'unité 82385 sur la lignes des signaux d'état prêt. RESET doit être apparent. WBS indique l'état de la mémoire intermédiaire d'écriture. (W/R) est le signal d'écriture ou de lecture classique pour le bus local de CPU 230. Les équations (1)-(11) définissent: BREADY 385 BT2 BUFWREND BUSCYC385 BUSCYC386 CPUNA LEAB MISS1 PIPECYC385 PIPECYC386 CPUREADY exprimés en signaux définis, les signaux décrits ou pris en considération sont ceux des publications de Intel citées précédemment, NCA, NACACHE, READY0387 et RDY387PAL. BREADY385 est un signal comme BREADY qui dans une réalisation réelle a été modifié pour permettre la provision d'une antémémoire de 64K. Dans le cas d'une antémémoire de 32K (comme recommandé par le fabricant), BREADY peut être utilisé à la place de BREADY385. BT2 réfléchit l'état du bus de système 250. L'état BT2 est un état défini dans les publications Intel citées précédemment. BUFWREND représente la fin d'un cycle d'écriture en mémoire intermédiaire. BUSCYC385 réfléchit aussi l'état du bus de système 250. Il est au niveau haut pour les états de bus BTI, BTI, BT1P et au niveau bas pour les états de bus BT2, BT2P et BT2I (ici encore ce sont des états de bus auxquels on se réfère dans les publications Intel citées précédemment). BUSCYC386 est au niveau haut pendant les états TI, Tl, T1P, T2I et au niveau bas pendant l'état T2 du bus local CPU 230. Il est aussi au niveau bas pendant T2P à moins que T2I n'apparaisse en premier. CPUNA est un signal à l'unité 80836 permettant une opération d'encha nement. LEAB est le signal de conditionnement de verrouillage (dans la mémoire intermédiaire 240) pour des écritures postées. MISSl est actif et définit le premier cycle d'un double cycle pour manipuler des lectures de 64 bits aux dispositifs à possibilité d'antémémoire. PIPECYC385 est actif pendant BTlP (qui est un état de bus auquel on se réfère dans les publications Intel citées précédemment. PIPECYC386 est au niveau bas pendant l'état TiP du bus local CPU 230. CPUREADY est l'entrée à l'état "prêt" de l'unité 80386. NCA est un signal crée par le décodage du composant d'adresse sur le bus local CPU 230 pour réfléchir, à l'état actif, un accès sans possibilité d'antémémoire. La possibilité d'antémémoire est déterminée par un composant d'étiquette (A31 à A17) et des informations programmables définissant les étiquettes (s'il y en a) qui se réfèrent aux adresses à possibilité d'antémémoire par opposition aux adresses à non possibilité d'antémémoire. NACACHE est un signal similaire au signal BNA. BNA est un signal généré par le système demandant une adresse suivante depuis le bus local CPU 230 et est référencé dans les publications Intel citées précédemment. NACACHE ne diffère de BNA que par le fait que BNA est crée pour une antémémoire de 32K tandis que NACACHE est crée pour une antémémoire de 64K. Aussi longtemps que la mémoire antémémoire est de 32K comme indiqué dans les publications Intel citées précédemment, le signal NACACHE auquel on se réfère ici, pourrait être remplacé par le signal BNA. READY0387 est la sortie à l'état "prêt" du coprocesseur math de l'unité 80387. RDY387PAL est uns sortie de logique externe utilisée dans le cas o un coprocesseur math d'unité 80837 n'est pas installé pour éviter que l'absence du coprocesseur math n'interfère dans les opérations du système. En conséquence, il est évident que la présente invention supprime toute incompatibilité potentielle entre le dimensionnement dynamique des bus et des opérations d'écriture postées. Cette incompatibilité est plus particulièrement supprimée en détectant si l'adresse appliquée au bus local CPU 230 est oui ou non comprise dans une plage d'adresses identifiée comme étant à possibilité d'antémémoire. Des opérations d'écriture postées ne sont permises qu'à des dispositifs à possibilité d'antémémoire. CPURADY est généré pour permettre à l'unité CPU de passer à une opération suivante. Il peut ou non être généré avant l'achèvement d'une opération en cours. En se reportant à l'équation 7, le terme défini à la ligne 1 concerne une "lecture touchée". Cette opération est en interaction avec l'antémémoire et est une opération à l'état d'attente zéro si bien que CPUREADY est actif. La ligne 2 concerne des lectures manquées d'antémémoire. CPUREADY ne devient actif qu'avec BREADY à l'état actif, c'est à dire que le cycle n'est pas posté. La ligne 4 concerne l'écriture non postée, par exemple CPUREADU n'est actif qu'avec BREADY385 (similaire à BREADY). La ligne 5 concerne une écriture à possibilité d'antémémoire (NCA inactif) et ainsi il s'agit d'une opération postée, c'est à dire que CPUREADY est actif sans BREADY ou BREADY385. Dans une réalisation effective de la présente invention, la logique supplémentaire à laquelle on se réfère est mise en oeuvre sous la forme d'un réseau logique programmable en accord avecles équations logiques présentées ici. Cependant, après avoir revu de cette description, il doit être évident qu'il n'est pas nécessaire que les équations logiques décrites ici soient mises en oeuvre sous la forme d'une logique de réseaux programmable mais qu'elles pourraient être mises en oeuvre sous la forme d'autres formes logiques. De plus, l'application de la présente invention ne requiert pas l'utilisation des équations logiques particulières présentées ici. La présente invention pourrait ainsi ne pas être mise en oeuvre selon l'exemple particulier décrit ici mais plutôt selon les revendications çi jointes. REVENDICATIONS 1. Un système de micro-calculateur comprenant un microprocesseur, une mémoire antémémoire de largeur de données fixe, et une unité de commande d'antémémoire, tous ces éléments étant connectés à un bus local qui est lui-même connecté au travers de moyens de verrouillage à un bus de système ayant des composants de système de largeurs de données différentes qui lui sont.rattachés, ledit microprocesseur pouvant fonctionner pour poster des écritures au bus de système, de telle sorte que des données et des adresses issues du microprocesseur sont verrouillées dans les moyens de verrouillage et qu'un signal d'état "prêt" est dirigé vers le microprocesseur depuis l'unité de commande d'antémémoire pour amorcer un cycle de microprocesseur suivant, ledit système étant caractérisé en ce qu'il comporte en outre, un décodeur connecté aux sorties d'adresses de microprocesseur pour délivrer des sorties indiquant des adresses en dehors de plages d'adresses à possibilité d'antémémoire, et des moyens logiques, connectés pour recevoir la sortie dudit décodeur et ledit signal de lecture, pour retenir ledit signal d'état "prêt" en réponse auxdites adresses de microprocesseur en dehors de plages d'adresses à possibilité d'antémémoire. 2. Un système de micro-calculateur selon la revendication 1 dans lequel lesdits moyens logiques sont connectés pour recevoir un signal d'état "prêt" de bus provenant dudit bus de système, de telle sorte que ledit signal d'état "prêt" envoyé au microprocesseur par les moyens logiques, est retenu jusqu'à la réception du signal d'état "prêt" de bus. 3. Un système de micro-calculateur selon la revendication 1 ou la revendication 2 dans lequel lesdits moyens de verrouillage comprennent une mémoire intermédiaire de données bidirectionnelle connectée entre le bus local et le bus de système et ayant une entrée de commande de conditionnement d'entrée et une entrée de commande de conditionnement de sortie, lesdits moyens logiques comprenant des moyens de commande pour générer des signaux de commande pour lesdites entrées. 4. Un système de micro-calculateur selon l'une quelconque des revendications précédentes dans lequel lesdits moyens logiques répondent à un signal issu du décodeur et indiquant la génération d'une adresse à l'intérieur d'une plage d'adresses à possibilité d'antémémoire pour générer ledit signal d'état "prêt" avant la réception d'un signal d'état "prêt" de bus issu du bus de système. 5. Un système de micro-calculateur selon l'une quelconque des revendications précédents dans lequel ledit décodeur d'adresses est connecté pour ne recevoir que des sorties sélectionnées des sorties d'adresses du microprocesseur. 6. Un système de micro-calculateur selon la revendication 5 dans lequel ledit décodeur d'adresses est connecté pour recevoir d'autres signaux de commande relatifs à la possibilité d'antémémoire des adresses générées par le microprocesseur. 7. Un système de micro-calculateur selon l'une quelconque des revendications précédentes comprenant un bus de fonction optionnel connecté à une pluralité de fentes de fonctions optionnelles pour connecter des unités de fonction optionnelles au bus de fonctions optionnelles, lesdites unités ayant des largeurs de données différentes, des moyens de connexion connectant bidirectionnellement le bus de fonctions optionnelles au bus de système pour envoyer un signal d'état "prêt" de bus issu d'une unité de fonction optionnelle et généré à la fin d'une opération d'écriture de cette unité, à travers le bus de système jusqu'au bus local afin de fournir un signal d'état "prêt" au microprocesseur lorsque le signal d'état "prêt" issu des moyens logiques est retenu.