FR2632090A1 - Commande du fonctionnement en pipe-line d'un systeme de micro-calculateur utilisant le dimensionnement dynamique des bus avec un processeur 80386 et une unite de commande d'antememoire 82385 - Google Patents

Commande du fonctionnement en pipe-line d'un systeme de micro-calculateur utilisant le dimensionnement dynamique des bus avec un processeur 80386 et une unite de commande d'antememoire 82385 Download PDF

Info

Publication number
FR2632090A1
FR2632090A1 FR8905078A FR8905078A FR2632090A1 FR 2632090 A1 FR2632090 A1 FR 2632090A1 FR 8905078 A FR8905078 A FR 8905078A FR 8905078 A FR8905078 A FR 8905078A FR 2632090 A1 FR2632090 A1 FR 2632090A1
Authority
FR
France
Prior art keywords
address
cache
signal
range
bus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR8905078A
Other languages
English (en)
Inventor
Ralph Murray Begun
Patrick Maurice Bland
Mark Edward Dean
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of FR2632090A1 publication Critical patent/FR2632090A1/fr
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Bus Control (AREA)
  • Microcomputers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Toute incompatibilité entre des opérations en pipeline (telles que disponibles dans l'unité 80386) et le dimensionnement dynamique des bus (permettant au processeur de fonctionner avec des dispositifs de 8, 16 et 32 bits) est supprimée par l'utilisation d'un décodeur d'adresses et en s'assurant que les adresses de dispositifs pour des dispositifs à possibilité d'antémémoire sont comprises dans une première plage prédéterminée et que toutes les adresses de dispositifs pour des dispositifs sans possibilité d'antémémoire ne sont pas comprises dans cette plage prédéterminée. Etant donné que par définition les dispositifs à possibilité d'antémémoire sont des dispositifs de 32 bits, le fonctionnement en pipeline n'est permis que si le décodeur d'adresses indique que l'accès se fait à un dispositif à possibilité d'antémémoire. La présente invention permet aussi d'assurer une interface appropriée entre un mécanisme DMA (commandé par une première horloge) et un sous-système de bus local CPU (commandé par une horloge entièrement différente).

Description

COMMANDE DU FONCTIONNEMENT EN PIPE-LINE
D'UN SYSTEME DE MICRO-CALCULATEUR UTILISANT
LE DIMENSIONNEMENT DYNAMIQUE DES BUS AVEC
UN PROCESSEUR 80386 ET UNE UNITE DE COMMANDE
D'ANTEMEMOIRE 82385
La présente invention concerne des améliorations apportées aux systèmes de micro-calculateur et plus particulièrement aux systèmes de microcalculateur qui utilise le dimensionnement dynamique des bus et exécutent des opérations en pipe-line et encore plus particulièrement, des améliorations apportées à de tels systèmes qui comprennent en outre un sous-système d'antémémoire. Les informations de base concernant l'unité 80386, ses caractéristiques et son utilisation dans des systèmes de microcalculateur comprenant des sous-systèmes de mémoire à antémémoire sont décrites dans les manuels d'Intel "Introduction to the 80386", avril 1986 et "80386 Hardware Reference Manual" (1986). Les caractéristiques et les performances de fonctionnement de l'unité 82385 sont décrites dans la publication d'Intel "82385 High Performance 32-Bit
Cache Controller" (1987).
Dans les systèmes de micro-calculateur comme dans d'autres systèmes de calcul, la vitesse de fonctionnement est un critère important qui dans la plupart des cas, doit être fonction du co t du système. Beaucoup d'améliorations qui furent tout d'abord apportées aux gros calculateurs et aux mini-calculateurs pour accélérer leur fonctionnement sont maintenant appliquées aux systèmes de micro-calculateur. Ces améliorations comprennent les sous-systèmes de mémoire
antémémoire et les opérations exécutées en "pipe-line".
Dans certains systèmes de micro-calculateur (par exemple dans ceux utilisant l'unité Intel 80386), les opérations en
pipe-line constituent une option de fonctionnement attractive.
Pour les systèmes de micro-calculateur 80386/82385, l'unité de commande d'antémémoire 82385 fournit un signal NA qui, par exemple, doit être connecté à une entrée correspondante sur l'unité 80386. Ceci permet à l'unité 82385 de revendiquer le signal NA à l'unité 80386 avant la fin d'un cycle de bus donné pour permettre à l'unité 80386 de délivrer en sortie des informations (données, adresse et/ou commande) pour le cycle de fonctionnement suivant. La chronologie est agencée, ainsi que les composants connectés, pour que si une opération d'antémémoire constitue une opération donnée, les informations relatives à l'opération donnée aient déjà été acceptées par la mémoire antémémoire et donc la modification des informations de sortie de l'unité 80386 pour qu'elles correspondent au cycle suivant, ne gênera pas le fonctionnement qui est en cours d'achèvement. Ceci reste aussi vrai pour les cas dans lesquels un état de "manque d'antémémoire" est apparu, requérant de se référer non pas à la mémoire antémémoire mais à la mémoire principale puisque l'accès à la mémoire principale se fait par l'intermédiaire de mémoires intermédiaires verrouillées qui contiennent donc des informations relatives à l'opérations donnée. L'unité 80386 a aussi la possibilité de fonctionner en utilisant ce que l'on appelle le dimensionnement dynamique des bus. L'unité 80386 est nominalement une machine de 32 bits,
c'est à dire que la largeur du bus de données est de 32 bits.
Cependant,-l'unité 80386 peut fonctionner avec des dispositifs de 16 bits (des dispositifs qui ne transféreront que 16 bits de données) en répondant à un signal BS16 qui est délivré à l'unité 80386 pour indiquer la présence d'un dispositif de 16
bits. Le signal BS16 est important pour l'unité 80386 dans le.
cas de l'exécution d'une opération de 32 bits. Naturellement, le dispositif de 16 bits ne peut pas en une seule opération, transférer les 32 bits de données que l'unité 80386 est capable de générer et/ou d'accepter. Ainsi, une seconde opération (cycle) est nécessaire et l'unité 80386 répond au signal BS16
pour générer automatiquement le cycle nécessaire suivant.
Pour que ce type d'opération soit réussi lorsque l'unité 82385 est présente, il est aussi nécessaire que l'unité 82385 reçoive des informations relatives au caractère du dispositif prenant part à l'opération de façon que le signal NA envoyé à l'unité 80386 ne soit pas généré de manière imprévue. Comme décrit dans les publications d'Intel référencées ci dessus, l'unité 82385 requiert des informations de dispositif au début d'un cycle contrairement à l'unité 80386 qui peut accepter et agir à la réception d'informations de dispositif délivrées
substantiellement plus tard dans le cycle.
Dans certains systèmes de micro-calculateur, cette contrainte est acceptée en mettant en corrélation l'adresse d'un dispositif avec sa taille de façon que, par exemple, tous les dispositifs de 32 bits soient inclus dans une première plage d'adresse prédéterminée et que tous les dispositifs de 16 bits soient inclus dans une seconde plage d'adresse différente. Par l'application de cette technique, la taille d'un dispositif
peut alors être déterminée par son adresse.
Cependant, dans les systèmes qui requièrent une localisation souple d'une grande variété de dispositifs inclus dans des plages d'adresse variant de manière importante, cette contrainte ne peut pas être satisfaite. Une catégorie de ces systèmes est celle dont les systèmes utilisent le bus à
micro-canal IBM.
Dans de nombreux systèmes, y compris des systèmes du type indiqué précédemment, un dispositif lorsqu'il est adressé, renvoie une indication de sa taille. Cependant, étant donné que l'unité 82385 requiert* la disponibilité d'informations relatives à la taille du dispositif au début d'un cycle de bus, dans des systèmes o ces informations ne sont disponibles qu'ultérieurement au cours du cycle, il est possible de
rencontrer un signal NA imprévu.
Un objet de la présente invention est donc de fournir un agencement dans un système de micro-calculateur 80386/82385 qui commande sélectivement le signal NA de façon que celui ci ne soit envoyé à l'unité 80386 que dans des circonstances appropriées. Dans les autres cas, on empêche le signal NA d'atteindre l'unité 80386. Le fait d'empêcher le signal NA d'atteindre l'unité 80386 interdit le fonctionnement en pipe line, c'est & dire évite la génération d'informations pour un cycle suivant avant la fin du cycle donné. Grâce à cette commande souple du signal NA, le système de microcalculateur peut maintenant fonctionner avec un dimensionnement dynamique des bus, c'est à dire qu'il peut maintenant fonctionner avec des dispositifs de diverses tailles sans informations au début du cycle en ce qui concerne la taille du dispositif en
fonctionnement associé.
Les dispositifs à possibilité d'antémémoire, c'est à dire les dispositifs générant des données qui peuvent être mises en
antémémoire, sont nécessairement des dispositifs de 32 BITS.
Tous ces dispositifs ont des adresses (plus précisément des étiquettes) qui indiquent la possibilité d'antémémoire. Tous les autres dispositifs (que ce soit ou non des dispositifs de 32 bits) ont des adresses indiquant que les informations qu'ils génèrent ne seront pas trouvées en antémémoire. La commande du
signal NA dépend en partie de la possibilité d'antémémoire.
Plus précisément, étant donné que tout dispositif à possibilité d'antémémoire est un dispositif de 32 bits, il n'est pas question de signaux NA imprévus en fonctionnement avec des dispositifs à possibilité d'antémémoire. De plus, dans le cas d'une présence d'antémémoire, il n'est pas question que le signal NA soit inapproprié puisqu'il n'y a que les dispositifs à possibilité d'antémémoire (dispositifs de 32 bits) qui produisent une touche antémémoire. Ainsi, la caractéristique importante qui consiste à permettre l'utilisation du dimensionnement dynamique des bus et des opérations en pipe line, empêche le signal NA d'atteindre l'unité 80386 dans le cas de la revendication d'une adresse à un dispositif sans
possibilité d'antémémoire.
Si pendant le déroulement d'un cycle donné (o le signal NA a ét déconditionné), il apparaît que le dispositif est un dispositif de 32 bits, le cycle s'achève alors de manière normale (sans fonctionnement en pipeline). D'autre part, s'il apparaît pendant le déroulement du cycle que le dispositif en fonctionnement associé est un dispositif de 16 bits (et que le cycle est un cycle de 32 bits), l'unité 80386 génère alors le cycle supplémentaire nécessaire. Cette opération est entièrement transparente à l'unité 82385, c'est à dire que l'unité 82385 ne prend pas part à la commande du second des deux cycles. Finalement, si le dispositif en fonctionnement associé apparaît comme un dispositif de 8 bits, l'unité 80386 "voit" alors un dispositif de 16 bits si bien qu'il fonctionne
exactement comme décrit dans le cas du dispositif de 16 bits.
Autrement dit, l'unité 80386 "voit" un dispositif de 16 bits si bien qu'après la fin du premier cycle (cycle pendant lequel il est informé qu'il fonctionne avec un dispositif de 16 bits), un second cycle est généré. Cependant, non seulement transparents à l'unité 82385 mais aussi transparents à l'unité 80386, d'autres éléments logiques convertissent chacun des cycles de 16 bits de l'unité 80386 en deux cycles de 8 bits. Ainsi, dans le cas o un cycle de 32 bits est dirigé vers un dispositif de 8 bits, l'unité 82385 ne prend pas part à l'opération, l'unité 80386 génère deux cycles de 16 bits et d'autres éléments logiques fonctionnent sur chacun des cycles de 16 bits de
l'unité 80386 pour générer deux cycles de 8 bits.
Selon l'une de ses caractéristiques, la présente invention permet ainsi de réaliser un système de micro-calculateur avec la mise en séquences d'instructions en pipeline en réponse à un signal d'adresse suivant avant la fin d'une opération en cours, ledit système de micro-calculateur comprenant: un processeur d'une largeur de bit donnée, un sous système de mémoire antémémoire de ladite largeur de bit donnée connecté audit processeur par un bus local, un autre bus connectant ledit bus local à d'autres composants ayant ladite largeur de bit donnée et avec au moins un composant d'une largeur de bit réduite, au moins certains desdits composants ayant ladite largeur de bit donnée ayant une adresse comprise dans une plage d'adresse associée audit sous système d'antémémoire et ledit au moins un composant de largeur de bit réduite ayant une adresse à l'extérieur d'une plage d'adresse associée audit sous système d'antémémoire, dans lequel ledit système de micro-calculateur comprend en outre: a) des moyens décodeurs d'adresses répondant à une adresse revendiquée sur ledit bus local pour générer un signal indiquant si ladite adresse revendiquée est ou n'est pas comprise dans ladite plage d'adresse associée audit sous système de mémoire antémémoire, et b) des moyens logiques répondant audit signal depuis lesdits moyens décodeurs d'adresses pour générer un signal d'adresse suivant audit microprocesseur pour un fonctionnement en pipeline à moins que lesdits moyens décodeurs d'adresses n'indiquent une adresse revendiquée à l'extérieur d'une plage associée audit sous système d'antémémoire
Brève description des dessins
La figure 1 est une vue générale en trois dimensions d'un système de micro-calculateur classique utilisant la présente invention. La figure 2 est représentation schématique détaillée de la majorité des composants d'un système de micro-calculateur
classique utilisant la présente invention.
La figure 3 est une représentation schématique un peu plus détaillée que la figure 2, montrant les connexions entre les unités 80386 et 82385 recommandées par le fabricant, qui est utile pour comprendre pourquoi un tel agencement est
incompatible avec le dimensionnement dynamique des bus.
La figure 4 est une représentation schématique plus détaillée similaire à la figure 3 mais illustrant l'application de la présente invention qui permet à la fois la mise en séquences d'instructions en pipeline et le dimensionnement dynamique des bus. La figure 5 est une autre représentation schématique détaillée du dispositif qui traite la conversion des cycles de 16 à 8 bits, en transparence vis à vis à& la fois de l'unité 82385 et de l'unité 80386, et Les figures 6 et 7 comprennent un schéma chronologique et une représentation schématique de la bascule DL et de son signal de commande LEDMA (Conditionnement bascule depuis DMA) pour montrer comment le sous système DMA synchrone est mis en interface avec le bus local CPU (fonctionnant sous une horloge différente) pour éviter un encombrement possible sur le bus de
système 250.
Description détaillée d'une réalisation préférée
La figure 1 représente un système de micro-calculateur
classique dans lequel la présente invention peut être utilisée.
Comme on le voit sur la figure, le système de micro-calculateur comprend un certain nombre de composants qui sont interconnectés ensemble. Plus particulièrement, une unité de système 30 est raccordée à et commande une unité de contrôle 20 (comme un affichage vidéo classique). L'unité de système 30 est aussi raccordée à des dispositifs d'entrée comme un clavier 40 et une souris 50. Un dispositif de sortie comme une imprimante
peut aussi être connecté à l'unité de système 30.
Finalement, l'unité de système 30 peut comprendre une ou plusieurs unités à disques comme l'unité à disques 30. Comme on l'expliquera ci dessous, l'unité de 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 afin de 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 composants classiques pourraient aussi être connectés à l'unité
de système 30 pour fonctionner en interaction avec celle ci.
Selon les enseignements de 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 memoire antémémoire de façon qu'il y ait un bus local CPU interconnectant un processeur, une unité de commande d'antémémoire et une mémoire antémémoire qui est elle même raccordée par l'intermédiaire d'une mémoire intermédiaire à un bus de système. Le bus de système est interconnecté et fonctionne en interaction 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é de système 30 peut aussi comprendre un troisième bus comprenant une architecture de micro-canal pour l'interconnexion entre le bus de système et d'autres
dispositifs d'entrée/sortie.
La figure 2 est une représentation schématique illustrant les divers composants d'un système de micro-calculateur 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) assure la connexion d'un microprocesseur 225 (comme une 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 sur le 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 raccorde l'élément de commande et de chronologie de bus 265 et un élément d'arbitrage central 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 aux élémects de mémoire 360 à 364 comme le
montre la figure 2.
Une autre mémoire intermédiaire 254 est raccordée entre le bus de système 250 et un bus planaire 270. Le bus planaire 270 comprend des composants d'adresses, de données et de commande, respectivement. Sont raccordés le long du bus planaire 270, divers adaptateurs E/S et autres composants comme l'adaptateur d'affichage 275 (qui est utilisé pour commander l'unité de contrôle 20), une horloge 280, une mémoire à accès aléatoire supplémentaire 285, un adaptateur RS 232 290 (utilisé pour des opérations E/S en sériesi, un adaptateur d'imprimante 295 (qui peut être utilisé pour commander l'imprimante 60), une unité de chronologie 300, un adaptateur de disquette 305 (qui coopère avec l'unité à disques 70), une unité de commande
d'interruption 310 et la mémoire permanente 315.
La mémoire intermédiaire 253 (raccordée d'un côté au bus de système 250) est raccordée de l'autre côté aux prises 401 de micro-canal (TM) du bus à micro-canaux 320. Le bus 320 peut porter des dispositifs de diverses tailles y compris des dispositifs de 32 bits, des dispositifs de 16 bits et des dispositifs de 8 bits. Un dispositif de mémoire classique 331 est raccordé sur le bus 320 comme le montre la figure. L'un des avantages de ce bus est la souplesse dont bénéficie l'utilisateur pour insérer librement divers dispositifs dans les différentes prises selon son choix. La combinaison de ces dispositifs et leur installation dans les différentes prises évite une attribution d'adressage rigide et constituent une raison principale de la présente invention. En dehors de la présente invention, le système de micro-calculateur 80386/82385 tel que décrit ici, ne pourrait absolument pas assurer des là opérations en pipeline ou aurait un fonctionnement défectueux provoqué par des opérations en pipeline imprévues ou inappropriées. La figure 3 représente des interconnexions sélectionnées entre les unités 80386 et 82385 relatives à la génération et à l'utilisation du signal d'adresse suivante (NA),comme recommandé par le fabricant. Plus particulièrement, l'interface entre le bus local CPU 230 et le bus de système 250 est la mémoire intermédiaire 240 dont les composants comprennent une mémoire intermédiaire de commande DL (pour les données) et AL (pour l'adresse). Comme le montre la figure 3, le composant de données du bus local CPU (CPULBD) constitue une connexion d'entrée/sortie pour DL du côté du bus local CPU. De la même manière, le composant de données SBD du bus local de système 250 constitue la connexion d'entrée/sortie de DL du côté du bus de système 250. La mémoire intermédiaire DL est commandée par ses signaux d'entrée LDSTB, BT/R et DOE. LDSTB verrouille des données dans DL et DOE conditionne la sortie de DL. Le point depuis lequel l'entrée est acceptée (bus local CPU 230 ou bus de système 250) et vers lequel la sortie est dirigée (bus de système 250 ou bus local CPU 230) est déterminé par BT/R. De la même manière, le composant d'adresse de la mémoire intermédiaire AL comporte une entrée issue du composant d'adresse du bus local CPU (CPULBA) et une sortie au composant d'adresse du bus local de système 250 (SBA). D'une manière similaire, le composant AL de la mémoire intermédiaire est commandé par ses deux signaux de commande BACP et BAOE, le premier verrouille des informations d'adresse de CPULBA dans AL et le dernier conditionne la sortie, c'est à dire au bus de système 250. Les signaux de commande LDSTB, DOE, BACP et BAOE
sont générés par l'unité 82385.
Le composant d'adresse CPULBA du bus local CPU 230 a son origine à l'unité 80386 et le composant de données CPULBD du
bus local CPU 230 a son origine et se termine à l'unité 80386.
L'unité 82385 utilise deux signaux supplémentaires X16 et NCA pour la génération du signal NA. Le signal X16 indique si le dispositif en utilisation associé est un dispositif à 16 bits ou & 32 bits. Une source du signal X16 est le décodeur d'adresses de bus local (LBAD). En outre, le fabricant recommande que le signal BS16 soit lié au signal X16. Le signal BS16 est appliqué en entrée à l'unité 80386 pour indiquer à l'unité 80386 si le dispositif en fonctionnement associé est à 16 ou 32 bits. Une source du signal BS16 est constituée oar un décodeur d'adresses de dispositifs comme MAD. MAD représente le décodeur d'adresses d'un dispositif quelconque raccordé au bus de système 250 ou à tout autre bus qui lui est raccordé comme le bus 270 ou le bus 320. Lorsqu'un dispositif comme MAD reconnaît son adresse sur un composant d'adresses de bus comme MA, il renvoie le signal BS16 qui est au niveau haut ou au niveau bas suivant que le dispositif est un dispositif à 16
bits ou à 32 bits.
L'adresse sans possibilité d'antémémoire (NCA) constitue une autre entrée à l'unité 82385 qui indique si une adresse revendiquée est une adresse à possibilité d'antémémoire. Une adresse à possibilité d'antémémoire est définie comme une adresse de dispositif qui est compatible avec le soussystème d'antémémoire et est donc un dispositif de 32 bits. Ce signal est généré par le décodeur d'adresses d'antémémoire (CAD) en raison d'une entrée issue du composant d'adresses du bus local CPU 230. Le fabricant suggère qu'une partie de mémoire peut être mise de c8té comme sans possibilité d'antémémoire en
utilisant cette entrée à l'unité 82385.
L'architecture recommandée de la figure 3 permet des opérations en pipeline effectives (par l'utilisation du signal NA) dans l'une quelconque des circonstances suivantes: 1) lorsque tous les dispositifs connectés au bus de système 250 ou à un bus quelconque raccordé, sont des dispositifs de 32 bits, ou 2) lorsque les dispositifs connectés au bus de système 250 ou à n'importe quel bus raccordé, peuvent être des dispositifs de 32 bits ou de 16 bits, aussi longtemps que le signal X16 est disponible au début d'un cycle de bus quelconque. Lorsque le signal X16 est disponible au début d'un cycle de bus donné, l'unité 82385 se basant sur cette information, détermine si le signal NA est approprié et s'il n'est pas approprié, il n'est pas généré. Ainsi, dans le cas o l'unité 80386 fonctionne avec un dispositif de 32 bits, le signal NA est alors normalement généré avant la fin d'un cycle donné pour l'exécution d'une opération en pipeline. D'autre part, si le dispositif est un dispositif de 16 bits, le signal NA n'est alors pas généré, ce qui permet à l'unité 80386 de générer le second cycle nécessaire à un fonctionnement approprié avec un
dispositif à 16 bits.
Cependant, l'architecture de certains sous-systèmes de bus (par exemple le bus à micro-canaux), permet le mélange de dispositifs de 8 bits, de 16 bits et de 32 bits. En raison du fait que le signal BS16 n'est pas renvoyé avant un certain temps après que le dispositif classique MAD ait reconnu son adresse sur le sous-système de bus, il n'est pas généré suffisamment tôt pour que l'unité 82385 le prenne en compte pour déterminer si NA doit être généré. En conséquence, les particularités de l'unité 82385 la rendent incompatible, plus particulièrement en ce qui concerne la génération du signal NA, avec les sous-systèmes de bus ayant une souplesse telle que
celle présentée par le bus à micro-canaux.
La figure 4 est une représentation schématique similaire à celle de la figure 3 mais modifiée pour être utilisée selon les enseignements de la présente invention. Avant de commencer à décrire le fonctionnement du dispositif de la figure 4, on va décrire un certain nombre de différences existant entre les
figures 3 et 4.
Une différence principale est constituée par le fait que les sorties X16 et NA de l'unité 82385 ne sont plus utilisées. En outre, un nouvel élément logique CL est placé entre l'unité 82385 et l'unité 80386. L'élément logique CL génère le signal CPUNA (remplaçant le signal NA non utilisé issu de l'unité 82385). L'unité logique CL répond au signal NCA issu de CADR et au signal BADS issu de l'unité 82385 (indiquant s'il y a un insuccès antémémoire). L'élément logique CL a aussi une entrée BW/R indiquant s'il y a un cycle de bus de système quelconque qui est une lecture ou une écriture. Comme on le décrira ultérieurement, bien que BW/R soit utilisé dans une réalisation particulière de la présente invention, il s'agit d'un signal
qui n'est pas essentiel.
Le décodeur CADR reçoit, outre ses entrées depuis les bits A17-A26 et A31 de CPULBA, des bits de possibilité d'antémémoire programmable (PCB). Dans une réalisation actuelle, le premier de ces trois bits représente une décision de permettre de
mettre en antémémoire de l'espace ROM. Un second bit soit.
conditionne le décodeur CADR pour délivrer en sortie NCA en se basant sur les informations décodées, soit, alternativement pour déclarer tous les accès sans possibilité d'antémémoire, c'est à dire revendique NCA indépendamment de l'adresse revendiquée sur CPULBA. Finalement, un troisième bit indique dans un état, que l'espace d'adresses entre 0 et 8 mégamultiplets est à possibilité d'antémémoire et que l'espace d'adresses entre 8 et 16 mégamultiplets est sans possibilité d'antémémoire. Dans l'autre état, le bit indique que l'espace d'adresses dans la plage de 0 à 16 mégamultiplets est tout à 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 suivantes. Naturellement, l'utilisation de ces indicateurs de possibilité d'antémémoire particuliers (ou autres) n'est pas essentielle à la présente invention. Il est cependant important d'agencer CADR de façon qu'il puisse rapidement décoder ses entrées et produire NCA. Dans une réalisation actuelle, la fenêtre de chronologie pour produire NCA à partir d'adresses valides sur CPULBA, était très courte,
de l'ordre de dix nanosecondes.
Une autre différence principale entre les figures 3 et 4 est que le dispositif MAD courant génère maintenant non seulement un seul signal BS16 (comme dans le cas de la figure 3), mais deux signaux, CS32 et CS16. Ceci permet à MAD de s'identifier lui-même comme un dispositif de 32 bits, de 16 bits ou de 8 bits. Le signal CS32 est appliqué en entrée à une bascule FF qui est maintenant utilisée pour générer le signal BS16 qui est dans un état dans le cas o MAD est un dispositif de 32 bits et dans un état différent dans le cas o MAD est un dispositif de 8 bits ou de 16 bits. Si ni CS32, ni CS16 n'est généré par le dispositif, le dispositif est alors par défaut un dispositif de
8 bits.
Les équations logiques qui ont été citées 'en référence ci dessus, sont reproduites immédiatement ci dessous. Les symboles ont les significations suivantes: e Symbole Définition / Négation := Terme enregistré A, égal à = Un terme combinatoire, égal à & ET logique + OU logique
17 2632090
Equations logiques
/BT2:=BUSCYC385 & PIPECYC385 & /BADS & CLK & BT2
(1) + BUSCYC385 & /PIPECYC385 & BADS & CLK & NACACHE & BT2
+ MISS1 & /BUSCYC385 & /BADS -& /(BW/R) & CLK & NCA &
/BREADY * /MISS1 & /BREADY & /BUSCYC385 & CLK + /BT2 &
BREADY & NACACHE + /CLK & /BT2
/BUSCYC385:=BUSCYC385 & /BADS & CLK
(2) + BUSCYC385 & /PIPECYC385 & CLK + BUSCYC385 & /BT2.& CLK + /BUSCYC385 & BREADY + /BUSCYC385 & /CLK
/CPUNA:=/MISS1 & CLK & CPUNA & /NACACHE
(3) + /MISS1 & CLK-& CPUNA & /BREADY & /BUSCYC385 + /CPUNA
& /CLK + /CPUNA & /MISS1 & CLK + /CPUNA & CLK & BREADY +
/CPUNA & BUSCYC385 & NACACHE & CLK
/MISSl:=MISSl &.BUSCYC385 & CPUNA & /BADS & /(BW/R) & CLK
& NCA (4) + MISSI & /BUSCYC385 & /BADS & /(BW/R) & CLK &
NCA & /BREADY + /MISS1 & /CLK + /MISS1 & BREADY
/PIPECYC385:=PIPEcYC385 & /BADS & /BOSCYC385 & CLK &
/BREADY -(5) + PIPECYC385 & /MISS1 & BT2 & /BUSCYC385
& CLK & /BREADY + /PIPECYC385 & /CLK |
Dans les équations logiques qui précèdent, les signaux suivants sont décrits ou cités relativement aux publications Intel auxquelles on s'est référé précédemment: BADS BREADY (BW/R) actuellement référencé BW/R, les parenthèses sont utilisées pour indiquer que le terme en entier
est un signal CLK.
BADS, lorsqu'il est actif, indique une adresse valide sur le bus de système 250. BREADY est un signal d'état "prêt" du bus de système 250 au bus local CPU 230. BW/R définit une Ecriture ou Lecture de bus de système 250. CLK est un signal de chronologie de processeur qui est en phase avec le processeur 225. (W/R) est le signal Lecture ou Ecriture classique pour le
bus local CPU 230.
Les équations (l)-(5) définissent: BT2 BUSCYC385 CPUNA MISS1 PIPECYC385 en termes de signaux définis, les signaux décrits ou auxquels on se réfère dans les publications Intel citées précédemment et NCA et NACACHE. 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.
BUSCYC385 réfléchit aussi l'état du bus de système 250. Il est au niveau haut pour les états de bus BTI, BT1, BT1P et au niveau bas pour les états de bus BT2, BT2P et BT2I (ce sont à nouveau des états de bus référencés dans les publications Intel
citées précédemment).
CPUNA est un signal à l'unité 80386 permettant des opérations en pipeline. I1 s'agit du signal qui remplace le signal NA
depuis l'unité 82385.
MISS1 est actif pour définir le premier cycle d'un double cycle pour la manipulation de lecture de 64 bits à des dispositifs à
possibilité d'antémémoire.
PIPECYC385 est actif pendant BT1P (qui est un état de bus auquel on se réfère dans les publications Intel citées précédemment). NCA est un signal crée par le décodage du composant d'adresses 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 é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 sans
possibilité d'antémémoire.
NACACHE est un signal similaire au signal BNA. BNA est un signal généré par le système requérant une adresse suivante du bus local CPU 230 et est référencé dans les publications de Intel citées précédemment. NACACHE ne diffère de BNA que par rapport au fait que BNA est crée pour une antémémoire de 32 K 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 de Intel, le signal NACACHE auquel on se
réf réfère ici pourrait être remplacé par le signal BNA.
A l'équation 3, les termes fixes sont trouvés aux lignes 1 et
2. Le terme de la ligne 1 indique une opération en pipeline.
/MISS1 indique une opération de 32 bits (comme on le décrira ultérieurement) et ainsi CPUNA est approprié. Le terme sur la ligne 2 est un cycle qui se termine prématurément sans pipeline, par exemple /BREADY. En se reportant à l'équation 4, les termes des lignes 1 et 2 sont les termes fixes. Ces deux
termes dépendent de NCA.
La figure 5 représente un détail du dispositif associé à la mémoire intermédiaire et au décodeur 254 (associé au bus 270) et à la mémoire intermédiaire 253 (associée à un bus à micro-canaux (TM) 320). Comme on l'a déjà décrit, le dispositif de la figure 4 est prévu pour des cycles de 16 bits lorsque des cycles de 32 bits sont dirigés vers des dispositifs de 8 ou 16 bits et ceci est fait d'une manière transparente pour l'unité
82386.
Plus particulièrement, le dispositif comprend l'unité logique de commande CLA, un dispositif de mise en séquences S et une unité de couplage commandée ALS qui connecte des lignes sélectives des lignes de données à d'autres lignes des lignes de données. Comme on le voit plus particulièrement à la figure , les huit bits d'ordre inférieur (D0-D7) peuvent être connectés au second segment de 8 bits (D8-D15) sous la commande du signal DIR et /G. De plus, le sens du transfert (de gauche à
droite ou vice versa) est aussi commandé par DIR.
Il apparalt plus particulièrement que dans n'importe quel cycle de 16 bits généré par l'unité 80386, des données sont
placées sur les seize bits d'ordre inférieur du bus de données.
Afin de convertir un cycle de 16 bits généré par l'unité 80386 en deux cycles de 8 bits pour l'unité MAD appropriée, le matériel représenté à la figure 5 force l'opération de 16 bits à ressembler à deux opérations de 8 bits effectués au dispositif de 8 bits MAD tandis qu'à l'unité 80386, les deux
cycles de 8 bits ressemblent à un seul cycle de 16 bits.
L'unité logique de commande CLA assure une fonction de décodage pour la commande de cycle de conversion. Elle détecte lorsqu'un cycle de conversion doit se dérouler et commande les signaux GATE 245 et DIR 245 de l'unité ALS qui connectent les huit bits d'ordre inférieur du bus de données à un second segment de 8 bits du bus de données. Les équations logiques pour CLA sont indiquées ci dessous. Une fois que les conditions des cycles de conversion ont été détectées, le signal DATACONV active la séquence. Le signal CS16, lorsqu'il est inactif, indique la présence d'un dispositif de 8 bits et donc la nécessité de la conversion. Le signal CS16, lorsqu'il est actif, indique un dispositif de 16 ou de 32 bits. Q1 est utilisé dans la séquence pour indiquer la fin de la première moitié du cycle de conversion. Les signaux DATACONV et Q1 sont appliqués en entrée au dispositif de mise en séquences S. Le dispositif de mise en séquences S assure deux fonctions. L'une consiste à maintenir l'unité 80386 à l'état non prêt jusqu'à ce que la seconde moitié du cycle ait été amorcée. ARDYEN est passé au niveau logique 1 pour indiquer à l'unité 80386 qu'elle ne doit pas terminer le cycle. L'unité de mise en séquences stimule aussi la fin d'un cycle de 8 bits et le début d'un second. ALTALE synchronise un niveau logique 1 sur la ligne d'adresses A0 et provoque le redémarrage du générateur d'état d'attente. CMTLOFF provoque le passage à l'état inactif, puis à nouveau à l'état actif, du signal de commande actif pour stimuler la fin d'un cycle et le début d'un autre. CONVAO est utilisé comme une entrée à la bascule d'adresse A0 pour forcer AO à un état
logique 1 pour la seconde moitié du cycle de conversion.
Le cycle de conversion de 16 à 8 bits achevé est équivalent en
temps et fonction à deux cycles de 8 bits consécutifs.
22 2632090
Les signaux auxquels on s'est référé ci dessus et qui sont représentés à la figure 5, sont définis ci dessous: e MEMCS16 Sélection dispositif mémoire 16 bits (I/OCS16) Sélection dispositif E/S 16 bits. Les parenthèses sont utilisées pour indiquer que l'expression ne concerne qu'un seul signal AEN1, AEN2 Conditionnements adresses depuis unités commande DMA MEMR, MEMW, Signaux commande CPU
IOR, IOW
XBHE Conditionnement niveau haut bus, indique quand des données doivent apparaître sur un segment de huit bits d'ordre plus élevé de la ligne d'ordre d'adresse la moins significative du bus de données XAO Q1 Sortie générateur état attente (2ième sortie état) D0-D7 Segment de huit bits d'ordre le plus bas du bus de données D8-D15 Second segment de huit bits du bus de données ARDYEN Conditionnement état prêt asynchrone à l'unité 82284 -?-, ajoute états attente dans cycle conversion pour permettre la génération
des deux cycles de 8 bits.
ALT ALE Bascule adresses alternative (haut actif) Utilisateur pour synchroniser AO au 1 logique et redémarrer générateur état attente pour second transfert de 8 bits
CONV.AO Cycle conversion AO.
(haut actif) Fournit 1 logique à bascule adresse AO si bien que AO est incrémenté pour le second cycle de 8 bits CNTLOFF Commande coupée. Coupure signal commande actif pour 3 horloge -?- pour simuler la fin d'un cycle de 8 bits et le début d'un second cycle de 8 bits. CNTLOFF est aussi utilisé pour verrouiller le bus de données d'ordre inférieur à l'unité CPU (pendant un cycle de lecture) au premier transfert de 8 bits. Entrée à l'unité
82288.
Equations logiques
/GATE 245:= MEMCS16 & AEN1 & AEN2 & /MEMR & /XBHE & XAO
(6) + MEMCS16 & AEN1 & AEN2 & /MEMW & /XBHE & XA0 +
(I/OCS16) & AEN1 & AEN2 & /IOR & /XBHE & XA0 + (I/OCS16) &
AEN1 & AEN2 & /IOW & /XBHE & XA0 + /AEN1 & /MEMCS16 &
/XBHE & /IOR + /AEN1 & /MEMCS16 & /XBHE & /MEMR
/DIR245:= /AEN1 & /MEMR
(7) + AEN1 & AEN2 & /XBHE & /MEMW + AEN1 & AEN2 & /XBHE &
/IOW
/DATA CONV:=MEMCS16 & AEN1 & AEN2 & /MEMR & Q1 & /XBHE &
/XA0 (8) + MEMCS16 & AEN1 & AEN2 & /MEMW & Q1 & /XBHE
& /XAO + (I/OCS16) & AEN1.& AEN2 & /IOR & Q1 & /XBHE &
/XAO + (I/OCS16) & AEN1 & AEN2 & /IOW & Q} & /XBHE & /XAO
La figure 7 représente un détail de la bascule DL, les connexions d'entrée/sortie de données entre le bus de système 250 et le bus local CPU 230 ainsi que le signal de commande
LEDMA.
La figure 6 compare le signal LEDMA à d'autres signaux sur le bus local CPU 230 (indiqué dans le tiers supérieur de la figure 6 avec la légende "Signaux de bus local 82385 & 25 MHz"), aux signaux sur le bus de fonction optionnelle 320 (indiqués par la référence "Micro-canal (TM)"), aux signaux du bus 320 et aux signaux sur le bus de système 250 (indiqués dans le tiers inférieur par la légende "Signaux DMA"). Comme indiqué dans le tiers supérieur de la figure 6, le bus local CPU 230 est un bus à horloge synchrone (les horloges CPUCLK2 et CPUCLK sont concernées comme indiqué sur la figure). La partie centrale (comprenant la partie principale de la figure 6) montre un seul cycle sur le bus local CPU 230. Le début du cycle est indiqué par la ligne verticale la plus à gauche et la fin du cycle est indiquée par la ligne verticale la plus à droite. Comme le montre la figure 6 dans son tiers médian, une fois qu'un cycle a commencé sur le bus local CPU 230, pour un cycle qui va au travers du bus de système 250 jusqu'au bus 320, les signaux de commande SSO* et SS1* deviennent actifs (niveau bas). Peu de temps après, une adresse est verrouillée dans la mémoire intermédiaire 253 (référencée ADL*). Puis le signal CMD* devient aussi actif (niveau bas). C'est ce point qui définit le début du cycle DMA sur le bus de système 250 et le bus de fonction optionnelle 320. Ceci est indiqué par la continuation de la troisième ligne verticale (depuis la gauche) s'étendant dans le tiers inférieur de la figure 6. Peu après le début du cycle DMA, les signaux DMAS0 et DMAS1 deviennent actifs (niveau bas). Comme on le voit à la figure 6, le signal DMARDY* change ultérieurement d'état. A la transition suivante dans DMARDY* (la transition au niveau bas), les données requises sont localisées sur le bus de système 250. En conséquence, le signal
26 2632090
26C KY
LEADMA change d'état (transition montante). Ceci a pour effet de verrouiller les données sur le bus de système 250 dans la bascule DL. La même transition qui a produit le changement d'état dans LEDMA a aussi un effet sur BREADY* (comme montré par la flèche de la figure 6). Autrement dit, une fois que DMARDY* a été échantillonné au niveau bas, les données requises ont déjà été verrouillées dans la bascule DL et le canal DMA a libéré le bus 250. Ainsi, comme le montre la figure 6, la
transition dans DMARDY* conduit à une transition dans BREADY*.
A la transition au niveau haut immédiatement suivante de BT2, le cycle CPU peut se terminer en toute sécurité (et c'est la ligne verticale la plus à droite de la figure 6). Comme on le voit à la figure 6, la terminaison du cycle CPU produit un changement d'état dans CMD* (sur le bus à micro-canaux (TM) 320) et a aussi pour effet de déconditionner LEDMA étant donné qu'à la fin du cycle, l'unité CPU 225 a accepté les données
issues de la bascule DL.
Ce qui précède montre que préalablement à la terminaison du cycle CPU et comme exigence pour la terminaison du cycle CPU, il y a la terminaison préalable du cycle DMA. Ceci garantit que lorsque l'unité CPU amorce un cycle suivant (à droite de la ligne verticale la plus à droite de la figure 6),le cycle DMA s'est précédemment achevé et qu'ainsi le bus est exempt de toute donnée qui pourrait avoir été transférée au cours du cycle DMA. La présente invention permet ainsi un arrangement entre le dimensionnement dynamique des bus (qui donne la souplesse essentielle au bus à micro-canaux (TM) 320) et le fonctionnement en pipeline par l'intermédiaire de la génération sélectionnée de CPUNA à l'instant approprié. Comme on l'a indiqué, CPUNA dépend de la détection d'un accès à possibilité d'antémémoire auquel cas CPUNA est produit avant l'achèvement du cycle en cours. D'autre part, lorsqu'un accès sans possibilité d'antémémoire est détecté, le fonctionnement en pipeline est alors empêchée, c'est à dire que CPUNA n'est pas revendiqué jusqu'à ce que le bus de système 250 indique que
le cycle s'est achevé (BREADY est revendiqué).
En même temps, un arrangement est crée entre le mécanisme DMA synchrone et le bus local CPU synchrone (mais commandé par une
horloge différente) au travers de la mémoire intermédiaire DL.
Tandis que le cycle DMA est amorcé par le bus local CPU 230, le cycle sur le bus local CPU 230 ne se termine pas avant la fin
du cycle DMA.
Bien qu'une réalisation particulière de la présente invention ait été décrite ici, il est évident que ladite invention peut être mise en oeuvre sous de nombreuses formes différentes. En conséquence, la présente invention ne doit pas être analysée d'après l'exemple décrit ici mais plutôt d'après les
revendications ci jointes.

Claims (6)

  1. REVENDICATIONS
    Un système de micro-!alculateur comprenant: un microprocesseur ayant une largeur de données prédéterminée pouvant fonctionner dans un mode de mise en séquences d'instructions en pipeline et répondant à l'entrée du signal d'adresse suivant pour générer une adresse relative à une opération suivant immédiatement une opération en cours, un sous-système de mémoire antémémoire de ladite largeur de données prédéterminée et raccordé au microprocesseur par un bus local ayant ladite largeur de données prédéterminée, un autre bus raccordé audit bus local et connecté à des premiers composants de système adressables de ladite largeur de données prédéterminée et à un ou plusieurs seconds composants de système adressables de largeur inférieure à ladite largeur de données prédéterminée, au moins certains desdits premiers composants adressables ayant des adresses comprises dans la plage d'adresses du sous-système d'antémémoire et le ou chaque second composant ayant une adresse en dehors de la plage d'adresses du sous-système d'antémémoire, un décodeur d'adresses répondant à une adresse sur ledit bus local pour générer un signal de commande indiquant si oui ou non l'adresse est comprise dans la plage du sous-système d'antémémoire, et des moyens logiques répondant audit signal de commande pour ne générer un signal d'adresse suivant que lorsque ledit signal de commande indique une adresse comprise
    dans la plage du sous-système d'antémémoire.
  2. 2. Un système selon la revendication 1 dans lequel ledit décodeur d'adresses répond à des bits prédéterminés d'une dite adresse suivante sur le bus local pour générer ledit
    signal de commande.
  3. 3. Un système selon la revendication 2 dans lequel ledit décodeur d'adresses répond en outre à un second signal de commande qui, dans un état, permet des accès d'antémémoire et, dans son autre état, déconditionne tous les accès d'antémémoire, permettant audit signal de commande de ne pouvoir indiquer une adresse comprise dans la plage du sous-système d'antémémoire que lorsque le second signal de
    commande est dans ledit premier état.
  4. 4. Un système selon la revendication 3 dans lequel ledit décodeur d'adresses répond en outre à un troisième signal de commande qui, dans un état, indique une première plage d'adresses à possibilité d'antémémoire et, dans son autre état, indique une seconde plage d'adresses à possibilité d'antémémoire, de telle sorte que ledit signal de commande ne peut indiquer une adresse dans la plage du sous-système d'antémémoire que lorsque l'adresse définie par lesdits bits prédéterminés tombent dans la plage
    d'adresses indiquée par le troisième signal de commande.
  5. 5. Un système selon la revendication 1 ou la revendication 2 dans lequel ledit sous-système d'antémémoire comprend une mémoire antémémoire et une unité de commande d'antémémoire, et dans lequel lesdits moyens logiques répondent en outre à un signal d'unité de commande d'antémémoire indiquant une adresse valide pour que le bus local ne génère ledit signal d'adresse suivant que lorsqu'une adresse valide dans ladite plage de
    sous-système d'antémémoire est générée.
  6. 6. Procédé de fonctionnement d'un système de micro-
    calculateur du type comprenant un microprocesseur ayant une largeur de données prédéterminée, pouvant fonctionner dans un mode de mise en séquences d'instructions en pipeline et répondant à une entrée d'un signal d'adresse suivant, pour générer une adresse relative à une opération suivant immédiatement une opération en cours, un sous-système de mémoire antémémoire de ladite largeur de données prédéterminée et raccordé au microprocesseur par un bus local ayant ladite largeur de données prédéterminée, un autre bus raccordé audit bus local et connecté à des premiers composants de système adressables de ladite largeur de données prédéterminée et un ou plusieurs seconds composants de système adressables de largeur inférieure à ladite largeur de données donnée, au moins certains desdits premiers composants adressables ayant des adresses comprises dans la plage d'adresses du sous-système d'antémémoire et le ou chaque second composant ayant une adresse en dehors de la plage d'adresses du sous-système d'antémémoire, et comprenant les étapes suivantes: la génération d'un signal de commande indiquant si oui ou non l'adresse est comprise dans la plage du sous-système d'antémémoire en réponse à une adresse sur ledit bus local, et en réponse audit signal de commande, la génération dudit signal d'adresse suivant uniquement lorsque ledit signal de commande indique une adresse comprise
    dans la plage du sous-système d'antémémoire.
FR8905078A 1988-05-26 1989-04-11 Commande du fonctionnement en pipe-line d'un systeme de micro-calculateur utilisant le dimensionnement dynamique des bus avec un processeur 80386 et une unite de commande d'antememoire 82385 Pending FR2632090A1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/198,894 US5125084A (en) 1988-05-26 1988-05-26 Control of pipelined operation in a microcomputer system employing dynamic bus sizing with 80386 processor and 82385 cache controller

Publications (1)

Publication Number Publication Date
FR2632090A1 true FR2632090A1 (fr) 1989-12-01

Family

ID=22735315

Family Applications (1)

Application Number Title Priority Date Filing Date
FR8905078A Pending FR2632090A1 (fr) 1988-05-26 1989-04-11 Commande du fonctionnement en pipe-line d'un systeme de micro-calculateur utilisant le dimensionnement dynamique des bus avec un processeur 80386 et une unite de commande d'antememoire 82385

Country Status (25)

Country Link
US (1) US5125084A (fr)
EP (1) EP0343988B1 (fr)
JP (1) JPH0623960B2 (fr)
KR (1) KR930002321B1 (fr)
CN (1) CN1009589B (fr)
AR (1) AR242671A1 (fr)
AT (1) ATE112869T1 (fr)
AU (1) AU615055B2 (fr)
BE (1) BE1002768A4 (fr)
BR (1) BR8902393A (fr)
CA (1) CA1313274C (fr)
DE (2) DE3914265A1 (fr)
DK (1) DK169492B1 (fr)
ES (1) ES2063818T3 (fr)
FI (1) FI95175C (fr)
FR (1) FR2632090A1 (fr)
GB (2) GB8904921D0 (fr)
HK (1) HK11492A (fr)
IT (1) IT1230207B (fr)
MX (1) MX173139B (fr)
MY (1) MY104738A (fr)
NL (1) NL8901326A (fr)
NO (1) NO174788B (fr)
SE (1) SE8901307L (fr)
SG (1) SG110691G (fr)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2504206B2 (ja) * 1989-07-27 1996-06-05 三菱電機株式会社 バスコントロ―ラ
CA2023998A1 (fr) * 1989-11-13 1991-05-14 Thomas F. Lewis Appareil et methode pour assurer la synchronisation d'echantillonnage
US5517626A (en) * 1990-05-07 1996-05-14 S3, Incorporated Open high speed bus for microcomputer system
JP3215105B2 (ja) * 1990-08-24 2001-10-02 富士通株式会社 メモリアクセス装置
GB9018992D0 (en) * 1990-08-31 1990-10-17 Ncr Co Internal bus for work station interfacing means
US5274763A (en) * 1990-12-28 1993-12-28 Apple Computer, Inc. Data path apparatus for IO adapter
CA2060820C (fr) * 1991-04-11 1998-09-15 Mick R. Jacobs Acces direct memoire pour le transfert de donnees dans un dispositif d'entree-sortie
GB2256296B (en) * 1991-05-31 1995-01-18 Integrated Device Tech Multiplexed status and diagnostic pins in a microprocessor with on-chip caches
US5293603A (en) * 1991-06-04 1994-03-08 Intel Corporation Cache subsystem for microprocessor based computer system with synchronous and asynchronous data path
US5228134A (en) * 1991-06-04 1993-07-13 Intel Corporation Cache memory integrated circuit for use with a synchronous central processor bus and an asynchronous memory bus
US5630163A (en) * 1991-08-09 1997-05-13 Vadem Corporation Computer having a single bus supporting multiple bus architectures operating with different bus parameters
JP2599539B2 (ja) * 1991-10-15 1997-04-09 インターナショナル・ビジネス・マシーンズ・コーポレイション 直接メモリ・アクセス装置及びルック・アヘッド装置
JP2836321B2 (ja) * 1991-11-05 1998-12-14 三菱電機株式会社 データ処理装置
US5317712A (en) * 1991-12-19 1994-05-31 Intel Corporation Method and apparatus for testing and configuring the width of portions of a memory
JPH07504773A (ja) * 1992-03-18 1995-05-25 セイコーエプソン株式会社 マルチ幅のメモリ・サブシステムをサポートするためのシステム並びに方法
US5307475A (en) * 1992-06-29 1994-04-26 The United States Of America As Represented By The Secretary Of The Navy Slave controller utilizing eight least/most significant bits for accessing sixteen bit data words
US5313593A (en) * 1992-09-17 1994-05-17 International Business Machines Corp. Personal computer system with bus noise rejection
JPH0827773B2 (ja) * 1992-10-23 1996-03-21 インターナショナル・ビジネス・マシーンズ・コーポレイション データ経路を使用可能にする方法、装置およびデータ処理システム
JP3369227B2 (ja) * 1992-11-09 2003-01-20 株式会社東芝 プロセッサ
JP3904244B2 (ja) 1993-09-17 2007-04-11 株式会社ルネサステクノロジ シングル・チップ・データ処理装置
JPH07210537A (ja) * 1993-12-10 1995-08-11 Advanced Micro Devicds Inc コンピュータシステム
US5835960A (en) * 1994-01-07 1998-11-10 Cirrus Logic, Inc. Apparatus and method for interfacing a peripheral device having a ROM BIOS to a PCI bus
US5784579A (en) * 1994-03-01 1998-07-21 Intel Corporation Method and apparatus for dynamically controlling bus access from a bus agent based on bus pipeline depth
US5548733A (en) * 1994-03-01 1996-08-20 Intel Corporation Method and apparatus for dynamically controlling the current maximum depth of a pipe lined computer bus system
US5842041A (en) * 1994-05-20 1998-11-24 Advanced Micro Devices, Inc. Computer system employing a control signal indicative of whether address is within address space of devices on processor local bus
JP3153078B2 (ja) * 1994-09-09 2001-04-03 日本電気株式会社 データ処理装置
JP2630271B2 (ja) * 1994-09-14 1997-07-16 日本電気株式会社 情報処理装置
US5890216A (en) * 1995-04-21 1999-03-30 International Business Machines Corporation Apparatus and method for decreasing the access time to non-cacheable address space in a computer system
US5758188A (en) * 1995-11-21 1998-05-26 Quantum Corporation Synchronous DMA burst transfer protocol having the peripheral device toggle the strobe signal such that data is latched using both edges of the strobe signal
US6504854B1 (en) 1998-04-10 2003-01-07 International Business Machines Corporation Multiple frequency communications
US6725348B1 (en) * 1999-10-13 2004-04-20 International Business Machines Corporation Data storage device and method for reducing write misses by completing transfer to a dual-port cache before initiating a disk write of the data from the cache
JP3857661B2 (ja) * 2003-03-13 2006-12-13 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理装置、プログラム、及び記録媒体
US7366864B2 (en) * 2004-03-08 2008-04-29 Micron Technology, Inc. Memory hub architecture having programmable lane widths
US8825962B1 (en) * 2010-04-20 2014-09-02 Facebook, Inc. Push-based cache invalidation notification
CN113514408B (zh) * 2021-06-28 2024-06-11 杭州谱育科技发展有限公司 具有校正功能的臭氧检测装置及方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0309995A2 (fr) * 1987-09-28 1989-04-05 Compaq Computer Corporation Système pour la sélection rapide de champs d'adresses non antémémorisables utilisant un réseau logique programmable

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4016541A (en) * 1972-10-10 1977-04-05 Digital Equipment Corporation Memory unit for connection to central processor unit and interconnecting bus
US4314334A (en) * 1977-08-30 1982-02-02 Xerox Corporation Serial data communication system having simplex/duplex interface
US4257095A (en) * 1978-06-30 1981-03-17 Intel Corporation System bus arbitration, circuitry and methodology
US4315308A (en) * 1978-12-21 1982-02-09 Intel Corporation Interface between a microprocessor chip and peripheral subsystems
US4480307A (en) * 1982-01-04 1984-10-30 Intel Corporation Interface for use between a memory and components of a module switching apparatus
US4503534A (en) * 1982-06-30 1985-03-05 Intel Corporation Apparatus for redundant operation of modules in a multiprocessing system
US4649476A (en) * 1983-10-31 1987-03-10 Motorola, Inc. Microcomputer having an internal address mapper
JPS6240555A (ja) * 1985-08-16 1987-02-21 Fujitsu Ltd プリフエツチ制御方式
US4853846A (en) * 1986-07-29 1989-08-01 Intel Corporation Bus expander with logic for virtualizing single cache control into dual channels with separate directories and prefetch for different processors
GB2200483B (en) * 1987-01-22 1991-10-16 Nat Semiconductor Corp Memory referencing in a high performance microprocessor
US4933845A (en) * 1987-09-04 1990-06-12 Digital Equipment Corporation Reconfigurable bus
CA1314104C (fr) * 1987-09-28 1993-03-02 Paul R. Culley Execution de codes a partir d'une rom lente sur un ordinateur rapide compatible avec des ordinateurs plus lents

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0309995A2 (fr) * 1987-09-28 1989-04-05 Compaq Computer Corporation Système pour la sélection rapide de champs d'adresses non antémémorisables utilisant un réseau logique programmable

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Introduction to the 80386", septembre 1985, Intel Corp., Santa Clara (Etats Unis), chapitre 5; "Hardware implementation" *
ELECTRONICS AND WIRELESS WORLD, vol. 92, no. 1611, janvier 1987, pages 103-106, London, GB; D. BURNS et al.: "Within the 68020" *
ELEKTRONIK, vol. 37, no. 2, 22 janvier 1988, pages 54-60, Munich, DE; S. GANDHI: "Cache-controller auf einem Chip" *

Also Published As

Publication number Publication date
AU3409989A (en) 1989-11-30
GB8904921D0 (en) 1989-04-12
ES2063818T3 (es) 1995-01-16
CA1313274C (fr) 1993-01-26
IT1230207B (it) 1991-10-18
DK189489A (da) 1989-11-27
ATE112869T1 (de) 1994-10-15
KR890017604A (ko) 1989-12-16
SE8901307L (sv) 1989-11-27
CN1037976A (zh) 1989-12-13
NO174788B (no) 1994-03-28
BR8902393A (pt) 1990-01-16
SE8901307D0 (sv) 1989-04-11
EP0343988A2 (fr) 1989-11-29
FI891787A0 (fi) 1989-04-14
JPH0623960B2 (ja) 1994-03-30
NL8901326A (nl) 1989-12-18
DE3914265A1 (de) 1989-11-30
AR242671A1 (es) 1993-04-30
NO891584D0 (no) 1989-04-18
DK189489D0 (da) 1989-04-19
EP0343988A3 (fr) 1991-01-30
GB8912018D0 (en) 1989-07-12
HK11492A (en) 1992-02-21
IT8920648A0 (it) 1989-05-25
GB2219110B (en) 1991-02-20
DK169492B1 (da) 1994-11-07
MX173139B (es) 1994-02-02
KR930002321B1 (ko) 1993-03-29
DE68918754D1 (de) 1994-11-17
DE3914265C2 (fr) 1992-01-09
FI891787A (fi) 1989-11-27
GB2219110A (en) 1989-11-29
FI95175B (fi) 1995-09-15
SG110691G (en) 1992-02-14
NO891584L (no) 1989-11-27
EP0343988B1 (fr) 1994-10-12
MY104738A (en) 1994-05-31
NO174788C (fr) 1994-07-13
FI95175C (fi) 1995-12-27
US5125084A (en) 1992-06-23
DE68918754T2 (de) 1995-04-27
JPH02146645A (ja) 1990-06-05
BE1002768A4 (fr) 1991-06-04
AU615055B2 (en) 1991-09-19
CN1009589B (zh) 1990-09-12

Similar Documents

Publication Publication Date Title
FR2632090A1 (fr) Commande du fonctionnement en pipe-line d'un systeme de micro-calculateur utilisant le dimensionnement dynamique des bus avec un processeur 80386 et une unite de commande d'antememoire 82385
FR2632096A1 (fr) Systeme de microcalculateur a bus multiple avec arbitrage d'acces aux bus
EP1619589B1 (fr) Procédé de programmation d'un contrôleur de DMA dans un système sur puce et système sur puce associé
EP0029131B1 (fr) Procédé de commande de l'affectation de ressources dans un système comportant plusieurs processeurs à fonctionnement simultané
EP1619590B1 (fr) Procédé de programmation d'un contrôleur de DMA dans un système sur puce et système sur puce associé
EP0434483A1 (fr) Processeur à plusieurs unités de traitement microprogrammées
EP2366147B1 (fr) Gestionnaire physique de barriere de synchronisation entre processus multiples
EP0150535B1 (fr) Processeur pour traiter des données en fonction d'instructions provenant d'une mémoire-programme
FR2613093A1 (fr) Systeme de calcul a adressage independant du mode d'exploitation
CH629319A5 (fr) Installation de traitement de donnees.
FR2513410A1 (fr) Microprocesseur et procede pour imbriquer les acces en memoire de ce microprocesseur
FR2632092A1 (fr) Circuit de conditionnement d'ecriture d'antememoire retarde pour un systeme de microcalculateur a bus double comprenant une unite 80386 et une unite 82385
BE1001065A3 (fr) Conversion du mode de signaux de commande pour ordinateurs.
EP0435718A1 (fr) Processeur à plusieurs unités microprogrammées avec mécanisme d'exécution anticipée des instructions
EP3557433B1 (fr) Procédé de gestion du routage de transactions entre au moins un équipement source et au moins un équipement cible, par exemple une mémoire multiports, et système sur puce correspondant
FR3103584A1 (fr) Procédé de gestion du débogage d’un système sur puce formant par exemple un microcontrôleur, et système sur puce correspondant
FR2794259A1 (fr) Dispositif materiel destine a l'execution d'instructions programmables basees sur des micro-instructions
EP1603049A1 (fr) Interfacage de modules fonctionnels dans un systeme sur une puce
EP2369487A1 (fr) Dispositif de test d'une architecture de calcul multitâches et procédé de test correspondant.
FR3129499A1 (fr) Gestion dynamique d’un pare-feu de mémoire
EP3531419A1 (fr) Procédé de gestion du routage de transactions entre des équipements sources, au moins un équipement cible, par exemple une mémoire multiports, et système sur puce correspondant
FR2787597A1 (fr) Procede de conception d'un coeur de microprocesseur
WO2009112566A1 (fr) Architecture de traitement informatique accelere
FR2645665A1 (fr) Dispositif de decodage d'instructions en pipeline pour microprocesseur
FR2720173A1 (fr) Circuit intégré comprenant des moyens pour arrêter l'exécution d'un programme d'instructions quand une combinaison de points d'arrêt est vérifiée.