EP0957435B1 - Interface de microprocesseur avec une mémoire externe optimisée par un systéme de décodage anticipé - Google Patents

Interface de microprocesseur avec une mémoire externe optimisée par un systéme de décodage anticipé Download PDF

Info

Publication number
EP0957435B1
EP0957435B1 EP99401180A EP99401180A EP0957435B1 EP 0957435 B1 EP0957435 B1 EP 0957435B1 EP 99401180 A EP99401180 A EP 99401180A EP 99401180 A EP99401180 A EP 99401180A EP 0957435 B1 EP0957435 B1 EP 0957435B1
Authority
EP
European Patent Office
Prior art keywords
package
data
buffer stage
format
decoding
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.)
Expired - Lifetime
Application number
EP99401180A
Other languages
German (de)
English (en)
Other versions
EP0957435A1 (fr
Inventor
François Agon
Mark Vos
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.)
STMicroelectronics SA
Original Assignee
STMicroelectronics SA
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 STMicroelectronics SA filed Critical STMicroelectronics SA
Publication of EP0957435A1 publication Critical patent/EP0957435A1/fr
Application granted granted Critical
Publication of EP0957435B1 publication Critical patent/EP0957435B1/fr
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol

Definitions

  • the present invention relates to the field of microprocessor circuits having an interface with an external memory (abbreviated as EMI).
  • EMI external memory
  • the EMI interface is an intermediate circuit between a data storage memory and the microprocessor which reads and writes the data.
  • the purpose of the EMI interface is to collect and relay data transmissions between the microprocessor and external memory, transmissions in the direction of writing and in the direction of also read data from memory.
  • microprocessor MP and memory EM are generally made as separate integrated circuits.
  • the EMI interface is preferably located in the integrated circuit of the MP microprocessor.
  • the microprocessor itself can be made up of one or several data processing units. We distinguish then a central processing unit CPU and units PU1 and PU2 devices.
  • the EMI interface is connected by a internal bus of the microprocessor MP to the central unit CPU and to any peripheral units PU1 and PU2.
  • the parallel bus allows rapid transmission of data read or intended to be written in memory external EM. Data transmissions can come either from the central processing unit CPU or from peripheral devices.
  • IBA bus arbitration circuit internal manages data transmissions on the bus and transmission requests made by the CPU units, PU1, PU2 or EMI of the microprocessor.
  • the EMI interface necessarily includes buffer stages INB, OUB because access to external memory EM generally takes place more slowly than the data transmission on the internal bus.
  • the internal bus can be requisitioned for others transmissions while data is transcribed in EM memory via the EMI interface.
  • An INB buffer stage connected to the internal bus is thus conventionally provided in the EMI interface, for receive and store the data sent by the microprocessor MP and intended to be recorded in EM external memory.
  • the EMI interface has another OUB buffer stage also connected to the internal bus, to store and forward the data loaded to from the external memory EM, data intended for be transmitted to a CPU, PU1 or PU2 unit of the MP microprocessor.
  • the first BNI stage which acts in the writing direction is called the input buffer stage (in English "input buffer") and the second stage OUB, which acts in the direction of reading, is called buffer stage output buffer. In the present, it will mainly be about the buffer stage INB input.
  • the EMI interface has a port external EXP connected to terminals of the EM memory.
  • the external port EXP relays data during transfer Trf from the INB input buffer stage, or alternatively to the buffer stage of OUB output.
  • the EXP port generally does not storage function as a buffer stage.
  • the loading or saving requests can come either from the central processing unit CPU or from peripheral devices.
  • a word from data has a format determined by the standard of the microprocessor, either 8, 16, 32 or 64 bits ... (so 1, 2, 4 or 8 bytes ).
  • Word format corresponds to number of channels of the internal microprocessor bus.
  • a loading request simply contains a word of data containing the indication of the loading order accompanied by the address bits of the memory box to read.
  • a request for registration then comprises two words.
  • the first word contains general indications : record order bit accompanied by bits address of the memory box to select for writing.
  • the second word contains the data in the sense clean, i.e. the data to be written in the cell selected memory.
  • the EMI interface then executes such requests as they are received, by processing the first word and temporarily retaining the second word (write case) in the INB buffer stage.
  • the interface has the disadvantage of not being available during the entire execution time of the request.
  • a first phase corresponds to the selection of the first part of the memory address, such as the page number
  • a second phase corresponds to the selection of a second part of the memory address, such as line number, ..., the number of phases being able to increase according to the range of accessible addresses.
  • the Pck package contains five words: one word Hdr preamble followed by the four data words Dat1, Dat2, Dat3 and Dat4.
  • the first word Hdr contains the general indications: bits indicating the order record the packet, accompanied by the bits address of the first memory box to be saved.
  • a load request contains a single data word: bits indicating the order of loading accompanied by address bits of the first memory box to read to form the packet.
  • the EMI interface includes a CPT counter integrated in the ICP interface control processor.
  • the CPT counter recognizes the number of packets stored by the buffer stage.
  • the processor modifies a signal Rdy status supplied to the IBA arbitration circuit so that the latter rejects any request for registration of data.
  • Rdy status supplied to the IBA arbitration circuit so that the latter rejects any request for registration of data.
  • each package has a maximum of five words and that the buffer stage has ten lines.
  • the counter records packet number II and Rdy signal goes to low state 0, which prohibits any other transmission.
  • a disadvantage of such an interface circuit microprocessor is that storage is limited to nominal number of data packets.
  • Another disadvantage is that limiting the packet storage capacity slows communications between the microprocessor and the memory external.
  • the object of the invention is to remedy the aforementioned drawbacks, without increasing nor the capacity nor the size of the buffer stage.
  • An object of the invention is to optimize management of the storage capacity of the buffer stage and by following the transmission capacity between the microprocessor and external memory.
  • an object of the invention is to avoid underuse of the buffer stage when storing data packets with a number of words lower than the maximum provided for in the protocol.
  • Another object of the invention is to signal to advance any future availability of the buffer stage in order to prepare other data transmissions and organize the arbitration of transmissions on the bus.
  • this goal is achieved by providing that interface decodes each preliminary word in a packet of data words, decoding carrying more precisely on the few bits indicating the format of the package; these format indications are used to count the lines of the buffer floor occupied by storage and to deduce the availability of the buffer stage to receive other packets, which allows to store an optimal number of packets, number possibly greater than the nominal number provided according to the protocol.
  • the decoding of the preliminary word of the package allows to deduct and report in advance the state of future availability of the buffer stage, that is to say after complete storage of said package.
  • Such a method is intended in particular to be implemented on a microprocessor circuit having an interface with an external memory.
  • the decoding means are able to decode the format data of a packet during the transmission of said packet, the format data of a packet being contained in a data word preliminary of said package.
  • control means are able to calculate the available or unavailable future capacity of the buffer stage due to the storage of the data word packet being transmitted, and are able to report during the transmission of said package, availability or non-availability status future of the buffer stage to receive a package additional.
  • the means decoding are able to decode format data contained in the preliminary data word during transmission of said preliminary data word, a preliminary data word containing a few bits of format data.
  • the means are able to calculate during the transmission of the packet's preliminary data word of data words, available future capacity or buffer floor not available due to storage said data word packet being transmission, and are able to report, at the end of transmission of the preliminary data word of the data packet, availability or non-availability status future of the buffer floor to receive a additional data word packet.
  • the realization and the operation of the microprocessor interface with external memory will be developed assuming that the data transmission protocol between microprocessor units and the interface provide that packets contain a preliminary word and zero to four words of data, a maximum of five words per package. It is also indicated that the format of the words is 64 bit.
  • the implementation of the invention is not absolutely not limited by such digital standards, which serve only to illustrate the operation and to give numerical examples to fix ideas.
  • a Pck1 data packet, Pck2, Pck3 or Pck can have 1, 2, 3 respectively or 4 words of data so 2, 3, 4 or 5 words in total, by counting the preliminary word Hdr1, Hdr2, Hdr3 or Hdr ; this during a request for registration.
  • Each data word is made up of a group of binary status bits 0 or 1.
  • the format of the word i.e. the number of data bits contained by the word, here 64 bits, is fixed by the microprocessor standard and its interface.
  • the internal bus (BUS) has parallel lines of data transmission, here at number of 64, since the number of lines is preferably equal to the standard of the microprocessor.
  • the transmission of a word on the internal bus occupies the duration of a clock cycle Clk. During the duration of clock cycle, all bits forming the word are presented in parallel on the buffer floor entrances INB which can then block their status for store the word.
  • An essential feature of the invention is to plan, when receiving a data packet binary by the interface buffer stage, decoding data indicating the format of the packet.
  • the advantage of such a feature is allow to know exactly and in advance the number of lines of the buffer floor that will be occupied by storing said packet of words.
  • Figure 2 schematically illustrates an example data bit assembly, bit01 to bit64, forming a preliminary word Hdr from a package.
  • a data bit preferably the first bit01, indicates, by its binary state, if this preliminary word concerns a registration request (in English "STORE”) or a load request.
  • Two other data bits for example bit02 and bit03, indicate by their binary code the number of data words to save or load.
  • the invention provides for incrementing or "decrement” a counter of the number of data words contained in the package.
  • the result of the counter indicates the number of words stored by the buffer stage, i.e. the number lines not available.
  • the CPT counter can be initialized with the total number lines of the buffer floor, here ten, and be "decremented" (decrease the number per count) according to format indications resulting from decoding.
  • the result of the CPT counter indicates the number of lines available of the buffer stage.
  • a test or comparison of the counter result with the maximum number of words that can contain a packet lets you know if the buffer stage can receive an additional data packet.
  • the interface when the buffer stage stores two packets Pck1 and Pck2 of two and three words, there are five unoccupied lines left and the interface signals its ability to receive a third package Pck3, always considering that a package contains a maximum of five words. The interface then emits a status signal Sts indicating the buffer stage available to receive a package additional.
  • decoding the data indicating the packet format is carried out from the start of the receiving the package.
  • the data format are preliminary data of the package, future availability status can thus be known advantageously upon receipt of the first word of the packet.
  • the bits indicating the package format are preferably contained by the first word - the preliminary word Hdr - of the package.
  • the invention therefore preferably provides for decoding package format indications upon receipt of preliminary word and immediately calculate the state of future availability of the buffer stage due to storage of the packet during transmission.
  • FIG. 5 thus shows that according to the mode of preferred embodiment, the Cpt counter is "decremented" the number of words contained in a Pck1, Pck2 or Pck3, a decrement of a number 2, 3 or 4 respectively, during the transmission of the word preliminary Hdr1, Hdr2 or Hdr3 of said package.
  • Figure 5 also shows that the signal Sts indicating the state of availability of the buffer stage is generated by the interface before the transmission ends packet, and even at the end of transmission of the word preliminary of the package.
  • the interface includes an ICP command processor which first performs a partial and immediate decoding, then simple calculations and fast.
  • a logic circuit such as a processor, provides a result all the more quickly that the logical operations are simple and involve few logical indicators. It is therefore expected that the processor performs a partial decoding of the preliminary word, i.e. relating only to the few bits indicating the packet format, which allows decoding almost instantly, in any case in a time significantly less than a cycle Clk clock.
  • Decoding is preferably immediate, that is to say that it begins at the start of cycle 1, 3 or 6 of the clock Clk, during which the preliminary word Hdr1, Hdr2 or Hdr3 is transmitted by the bus to the EMI interface. So the result of the decoding, that is to say the packet format indicator, is obtained during even from the first cycle of word transmission preliminary.
  • the interface control means can advantageously calculate and report the state of availability or future unavailability of the buffer stage before the end of the transmission cycle of the preliminary word which contains the indication bits of format.
  • the microprocessor interface therefore comprises DCD decoding means and means ICP control, such as a control command processor the interface.
  • the DCD decoding means process the Pck packets of data received by the INB buffer stage, to extract packet format indications contained in the preliminary words Hdr and the provide to ICP control means.
  • the means of ICP control perform calculations and report status Sts of availability at the IBA bus arbitration circuit internal.
  • the decoding and control means can be made in the form of a logic circuit comprising CPT counting, CMP comparison and possibly MEM storage. In a way alternative, means of decoding and control can be implemented by programming a processor, especially according to the programs of Figures 7 to 9.
  • the decoding and control means can again and preferably, be implanted in the circuit integrated as a realized logic circuit and optimized using assisted design software whose implementation will not be detailed in the present.
  • Figure 7 illustrates a decoding algorithm intended to be implemented in the form of a circuit logic or interface processor program according to the invention.
  • a Capa variable indicates the number of lines available from the buffer floor. During initialization or in the absence of data storage in the buffer stage, the Capa variable is loaded by the total number of rows in the buffer storey. In a way equivalent, we can develop algorithms for calculations in which a variable would indicate the number of lines not available.
  • Figure 8a illustrates a CALCUL1 algorithm allowing the control means to calculate the available capacity of the buffer stage and intended to be implemented as a logic circuit or interface control processor program according to the invention.
  • the circuit of microprocessor comprises means control systems able to count a number of lines buffer floor occupied by data storage Capa, to deduct an Arrived number of words from the packet data being transmitted, depending on the decoding of format data provided by the decoding means DCD, DECODING, and to calculate CMP, COMPAR the Capa number buffer floor lines available due to storage of the words of said data packet being transmission.
  • Figure 9 illustrates a COMPAR algorithm allowing the control means to compare the buffer capacity available in maximum format of a data packet provided according to the transmission.
  • a Status indicator of availability status of the buffer floor to receive an additional packet of data is changed depending on the result of the comparison.
  • the Status indicator corresponds to the signal Sts status issued by the control means of the interface. By convention, the indicator is in the state active 1 to indicate availability, and status inactive 0 to indicate unavailability.
  • the circuit of microprocessor includes ICP control means also able to count CPT, CALCUL2 a Departure number buffer floor lines freed by transfer Trf of a packet Pck of data to the external memory EM.
  • Figure 8b indicates an alternative preferred CALCUL2 algorithm allowing the means to control to calculate the available capacity of the buffer stage optimally.
  • the advantage of taking into account the format of a packet being transferred is to report early the state of availability of the buffer stage to the microprocessor.
  • the two indications Cpt and Sts appearing in first place in figure 4 correspond to results of the calculation counter and the status signal of availability obtained according to the CALCUL1 algorithm of Figure 8a.
  • the Cpt counter is thus decremented of a unit as each transfer is transferred data word from the Outpck4 packet, therefore at each cycle I, II, III, IV or V registration.
  • Figure 4 shows results Cpt 'counter for capacity and signal calculation Availability status sts obtained according to the CALCUL2 algorithm of Figure 8b.
  • the counter Cpt ' indicates that the number of lines released is greater to five, which leaves room for the reception of a new package.
  • the means of control can transmit the signal Sts' of availability status of the buffer stage, at the end of cycle I of transfer of preliminary word.
  • the IBA internal bus arbitration circuit of the microprocessor is then warned early of the future availability state of the buffer stage.
  • the IBA circuit can use this information for the microprocessor units to prepare other data transmissions.
  • the IBA circuit can also use this information to authorize data transmission immediately.
  • the management of the buffer stage is then optimal since the buffer stage can receive a data word to store as and when a word is removed from data.
  • This implementation is suitable in case the transcription of data from the interface to the memory external is done at the same rate as the transmission of data from the microprocessor to the interface.
  • the CALCUL2 algorithm advantageously allows a continuous flow of data flow "Stream-line").
  • the word transcription cycles of data from the interface to memory is often longer than the word transmission cycles of data from the microprocessor to the interface.
  • a cycle of transmission extends over a whole number, usually two or four, clock cycles, then that a transmission cycle lasts a single cycle clock, as the confrontation of Figures 5 and 6.
  • the format indication of a transferred package can be provided either by remembering the decoded format indication and memorized when storing this package, either in performing a new decoding of the data indicating the format when destocking the package.
  • the ICP control means namely processor of interface control
  • the ICP control means preferably include a CPT counter to perform calculations, a comparator to establish the availability status and the signal Sts, as well as possibly a memory Mem to retain data indicating the formats of stored packages and provide these indications when destocking.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

La présente invention concerne le domaine des circuits de microprocesseurs comportant une interface avec une mémoire externe (en abrégé EMI).
L'interface EMI est un circuit intermédiaire entre une mémoire de stockage de données et le microprocesseur qui vient lire et écrire les données. L'interface EMI a pour fonction de recueillir et de relayer les transmissions de données entre le microprocesseur et la mémoire externe, transmissions dans le sens de l'écriture et dans le sens de la lecture également, de données en mémoire.
Comme le montre l'architecture connue formant la base du circuit de la figure 1, les deux composants, microprocesseur MP et mémoire EM, sont généralement réalisés sous forme de circuits intégrés séparés. L'interface EMI est préférentiellement implantée dans le circuit intégré du microprocesseur MP. Le microprocesseur lui-même peut être composé d'une ou plusieurs unités de traitement de données. On distingue alors une unité centrale CPU et des unités périphériques PU1 et PU2.
De façon connue, l'interface EMI est reliée par un bus interne du microprocesseur MP à l'unité centraleCPU et à d'éventuelles unités périphériques PU1 et PU2. Le bus parallèle permet de transmettre rapidement les données lues ou destinées à être écrites en mémoire externe EM. Les transmissions de données peuvent provenir indifféremment de l'unité centrale CPU ou de périphériques. Un circuit IBA d'arbitrage du bus interne gère les transmissions de données sur le bus et les requêtes en transmission faites par les unités CPU, PU1, PU2 ou EMI du microprocesseur.
L'interface EMI comporte nécessairement des étages-tampon INB, OUB car l'accès à la mémoire externe EM s'effectue généralement plus lentement que la transmission de données sur le bus interne. De plus, le bus interne peut être réquisitionné pour d'autres transmissions pendant que les données sont transcrites en mémoire EM par l'interface EMI.
Un étage-tampon INB connecté au bus interne est ainsi prévu classiquement dans l'interface EMI, pour recevoir et stocker les données émises par le microprocesseur MP et destinées à être enregistrées en mémoire externe EM. L'interface EMI comporte un autre étage-tampon OUB connecté également au bus interne, pour stocker et retransmettre les données chargées à partir de la mémoire externe EM, données destinées à être transmises à une unité CPU, PU1 ou PU2 du microprocesseur MP. Le premier étage INB qui agit dans le sens de l'écriture est appelé étage-tampon d'entrée (en anglais "input buffer") et le second étage OUB, qui agit dans le sens de la lecture, est appelé étage-tampon de sortie (en anglais "output buffer"). Dans la présente, il sera question essentiellement de l'étage-tampon d'entrée INB.
D'autre part, l'interface EMI comporte un port externe EXP connecté à des bornes de la mémoire EM. Le port externe EXP relaie les données lors d'un transfert Trf en provenance de l'étage-tampon d'entrée INB, ou alternativement à destination de l'étage-tampon de sortie OUB. Cependant, le port EXP n'a généralement pas de fonction de stockage comme un étage-tampon.
Dans les protocoles de transmission on distingue donc deux types de requêtes : chargement (lecture de la mémoire) et enregistrement (écriture en mémoire). Les requêtes de chargement ou d'enregistrement peuvent provenir indifféremment de l'unité centrale CPU ou de périphériques.
On connaít des protocoles simples de transmission dans lesquels les données sont enregistrées ou chargées une par une ou plus précisément mot par mot. Un mot de données a un format déterminé par la norme du microprocesseur, soit 8, 16, 32 ou 64 bits... (donc 1, 2, 4 ou 8 octets...). Le format des mots correspond au nombre de voies du bus interne du microprocesseur. Une requête en chargement comporte simplement un mot de données contenant l'indication de l'ordre de chargement accompagné des bits d'adresse de la case mémoire à lire. Une requête en enregistrement comporte alors deux mots. Le premier mot contient des indications générales : bit d'ordre d'enregistrement accompagné des bits d'adresse de la case mémoire à sélectionner pour l'écriture. Le second mot contient les données au sens propre, c'est-à-dire les données à écrire dans la case mémoire sélectionnée.
L'interface EMI exécute alors de telles requêtes au fur et à mesure de leur réception, en traitant le premier mot et en retenant provisoirement le second mot (cas d'écriture) dans l'étage-tampon INB. Avec ce protocole, l'interface a l'inconvénient de ne pas être disponible pendant tout le temps d'exécution de la requête.
On connaít des protocoles de transmission plus évolués dans lesquels il est prévu de charger ou d'enregistrer une succession de données dans plusieurs cases mémoires successives. L'intérêt de ces protocoles est d'accélérer les opérations de lecture ou d'écriture d'une succession de données, opérations relativement fréquentes. En effet, l'accès à une case mémoire s'opère normalement en plusieurs phases, donc en plusieurs cycles d'horloge. Une première phase correspond à la sélection d'une première partie de l'adresse mémoire, comme le numéro de page, une deuxième phase correspond à la sélection d'une deuxième partie de l'adresse mémoire, comme le numéro de ligne, ..., le nombre de phases pouvant augmenter selon l'étendue des adresses accessibles. Quand on cherche à accéder à des cases mémoires voisines, on peut omettre de resélectionner la partie commune aux deux adresses, comme le numéro de page. Ainsi en regroupant les données à enregistrer ou à charger en une seule requête, on condense les phases d'accès et on accélère les opérations de lecture/écriture. Les données sont alors groupées en paquets de mots de données.
Si on prévoit, comme sur l'exemple de la figure 3, qu'une requête en enregistrement concerne quatre mots de données, le paquet Pck comporte cinq mots : un mot de préambule Hdr suivi des quatre mots de données Dat1, Dat2, Dat3 et Dat4. Le premier mot Hdr contient les indications générales : bits indiquant l'ordre d'enregistrement du paquet, accompagnés des bits d'adresse de la première case mémoire à enregistrer. Comme précédemment, une requête en chargement contient un seul mot de données : bits indiquant l'ordre de chargement accompagnés des bits d'adresse de la première case mémoire à lire pour former le paquet.
On connaít des interfaces de microprocesseur avec une mémoire externe dans lesquelles l'étage-tampon INB peut stocker plusieurs paquets de mots. Ainsi, un étage-tampon INB ayant une capacité de dix lignes de données permet de stocker dix mots, soit deux paquets de mots en supposant que le protocole de transmission prévoit qu'un paquet comporte cinq mots au maximum. L'intérêt d'augmenter la capacité de stockage de l'étage-tampon est d'éviter de bloquer le microprocesseur dans l'attente de la transcription d'un premier paquet en mémoire.
Toutefois, il faut toujours prévoir que l'interface EMI signale au microprocesseur MP, l'état de disponibilité de l'étage-tampon INB, pour éviter qu'une autre transmission de données ne soit envoyée vers l'étage-tampon INB lorsque celui-ci est plein.
Dans les circuits connus, il est prévu que l'interface EMI comporte un compteur CPT intégré au processeur ICP de commande de l'interface. Comme illustré figure 3, le compteur CPT comptabilise le nombre de paquets stockés par l'étage-tampon. Quand le compteur CPT indique que le nombre de paquets stockés par l'étage-tampon INB atteint la capacité nominale en nombre de paquets, le processeur modifie un signal d'état Rdy fourni au circuit d'arbitrage IBA pour que celui-ci rejette toute requête en enregistrement de données. Dans l'exemple de la figure 3, il est prévu que chaque paquet comporte cinq mots au maximum et que l'étage-tampon comporte dix lignes. Dès que l'étage-tampon reçoit un second paquet Pck', alors que le premier paquet Pck est encore stocké, le compteur enregistre le nombre II de paquet et le signal Rdy passe à l'état bas 0, ce qui interdit toute autre transmission.
Un inconvénient d'un tel circuit d'interface de microprocesseur est que le stockage est limité au nombre nominal de paquets de données.
Un autre inconvénient est que la limitation de la capacité de stockage de paquets ralentit les transmissions entre le microprocesseur et la mémoire externe.
Consécutivement, l'attente de transmissions de données peut bloquer les calculs des unités du microprocesseur, ce qui a l'inconvénient de diminuer la vitesse de calcul du microprocesseur.
L'objet de l'invention est de remédier aux inconvénients précités, sans augmenter ni la capacité ni l'encombrement de l'étage-tampon.
Un but de l'invention est d'optimiser la gestion de la capacité de stockage de l'étage-tampon et par suite la capacité de transmission entre le microprocesseur et la mémoire externe.
En particulier, un but de l'invention est d'éviter une sous-utilisation de l'étage-tampon lorsqu'il stocke des paquets de données ayant un nombre de mots inférieur au maximum prévu par le protocole.
Un autre but de l'invention est de signaler à l'avance toute disponibilité future de l'étage-tampon afin de préparer d'autres transmissions de données et d'organiser l'arbitrage des transmissions sur le bus.
Succinctement, ce but est atteint en prévoyant que l'interface décode chaque mot préliminaire d'un paquet de mots de données, le décodage portant plus précisément sur les quelques bits indiquant le format du paquet ; ces indications de format servent à comptabiliser les lignes de l'étage-tampon occupées par le stockage et à en déduire la disponibilité de l'étage-tampon à recevoir d'autres paquets, ce qui permet de stocker un nombre optimal de paquets, nombre éventuellement supérieur au nombre nominal prévu selon le protocole. De plus, le décodage du mot préliminaire du paquet permet de déduire et de signaler à l'avance l'état de disponibilité future de l'étage-tampon, c'est-à-dire après stockage complet dudit paquet.
Il est prévu avantageusement d'effectuer un décodage partiel et anticipé des bits de format avant la fin du cycle de réception du mot préliminaire lui-même.
L'invention est obtenue en mettant en oeuvre un procédé de contrôle d'une interface de circuit de microprocesseur avec une mémoire externe, l'interface comprenant un étage-tampon de capacité déterminée, stockant des paquets de mots de données transmis entre le microprocesseur et la mémoire externe, les paquets comportant un nombre variable de mots de données, le procédé comportant des étapes consistant à :
  • calculer la capacité disponible ou non-disponible de l'étage-tampon du fait du stockage des paquets de mots de données, et
  • signaler l'état de disponibilité ou de non-disponibilité de l'étage-tampon à recevoir un paquet de mots de données supplémentaire,
avec la particularité que le procédé comporte des étapes intercalaires consistant à :
  • décoder des données de format contenues dans chaque paquet, les données de format indiquant le nombre de mots de données dudit paquet, et
  • calculer la capacité disponible ou non-disponible de l'étage-tampon du fait du stockage du nombre de mots de données de chaque paquet.
Un tel procédé est destiné en particulier à être mis en oeuvre sur un circuit de microprocesseur comportant une interface avec une mémoire externe.
Alternativement, l'invention est réalisée avec un circuit de microprocesseur comportant une interface avec une mémoire externe, l'interface comprenant :
  • un étage-tampon de capacité déterminée, apte à stocker des paquets de mots de données transmis entre le microprocesseur et la mémoire externe, les paquets comportant un nombre variable de mots de données, et
  • des moyens de contrôle pour calculer la capacité disponible ou non-disponible de l'étage-tampon du fait du stockage des paquets, et pour signaler l'état de disponibilité de l'étage-tampon à recevoir un paquet supplémentaire,
caractérisé en ce que chaque paquet contient des données de format indiquant le nombre de mots de données dudit paquet, l'interface comprenant :
  • des moyens de décodage des données de format indiquant le nombre de mots de données aux moyens de contrôle pour optimiser le calcul de la capacité disponible ou non-disponible de l'étage-tampon.
De préférence, les moyens de décodage sont aptes à décoder les données de format d'un paquet pendant la transmission dudit paquet, les données de format d'un paquet étant contenues dans un mot de données préliminaire dudit paquet.
De préférence, les moyens de contrôle sont aptes à calculer la capacité future disponible ou non-disponible de l'étage-tampon du fait du stockage du paquet de mots de données en cours de transmission, et sont aptes à signaler au cours de la transmission dudit paquet, l'état de disponibilité ou de non-disponibilité future de l'étage-tampon à recevoir un paquet supplémentaire.
Selon le mode de réalisation préféré, les moyens de décodage sont aptes à décoder des données de format contenues dans le mot de données préliminaire pendant la transmission dudit mot de données préliminaire, un mot de données préliminaire contenant quelques bits de données de format.
Selon le mode de réalisation préféré, les moyens de contrôle sont aptes à calculer pendant la transmission du mot de données préliminaire du paquet de mots de données, la capacité future disponible ou non-disponible de l'étage-tampon du fait du stockage dudit paquet de mots de données en cours de transmission, et sont aptes à signaler, dès la fin de la transmission du mot de données préliminaire du paquet de données, l'état de disponibilité ou de non-disponibilité future de l'étage-tampon à recevoir un paquet de mots de données supplémentaire.
D'autres caractéristiques, buts et avantages de l'invention apparaítront à la lecture de la description et des dessins qui vont suivre, donnés uniquement à titre d'exemples de réalisation non limitatifs. Sur les dessins annexés :
  • la figure 1 représente un circuit de microprocesseur comportant une interface avec une mémoire externe mettant en oeuvre les moyens de l'invention,
  • la figure 2 représente schématiquement le contenu d'un mot de données préliminaire d'un paquet de données utilisé selon l'invention,
  • la figure 3 représente un chronogramme de transmission de données entre un microprocesseur et une interface selon l'état de la technique,
  • les figures 4 et 5 représentent des chronogrammes de transmission de données entre un microprocesseur et une interface selon l'invention,
  • la figure 6 représente un chronogramme de transmission de données entre une interface et une mémoire externe selon l'invention,
  • les figures 7 à 9 représentent sous forme d'organigrammes, des programmes d'interface de microprocesseur mis en oeuvre selon l'invention,
  • la figure 7 représentant un programme de décodage de données de format d'un paquet,
  • les figures 8a et 8b représentant deux variantes de programmes de calcul de capacité disponible d'étage-tampon, et
  • la figure 9 représentant un programme de comparaison de capacité et d'établissement d'état de disponibilité de l'étage-tampon.
Dans la suite de la description, la réalisation et le fonctionnement de l'interface de microprocesseur avec une mémoire externe seront développés en supposant que le protocole de transmission de données entre les unités du microprocesseur et l'interface prévoient que les paquets contiennent un mot préliminaire et zéro à quatre mots de données, soit un maximum de cinq mots par paquet. Il est indiqué aussi que le format des mots est de 64 bits. La mise en oeuvre de l'invention n'est absolument pas limitée par de telles normes numériques, qui servent uniquement à illustrer le fonctionnement et à donner des exemples chiffrés pour fixer les idées.
Comme illustré sur la figure 4 ou sur la figure 3, selon un tel protocole, un paquet de données Pck1, Pck2, Pck3 ou Pck peut comporter respectivement 1, 2, 3 ou 4 mots de données donc 2, 3, 4 ou 5 mots au total, en comptant le mot préliminaire Hdr1, Hdr2, Hdr3 ou Hdr ; ceci lors d'une requête en enregistrement.
Lors d'une requête en chargement transmise par le bus interne à l'interface EMI, il n'y a pas de mot de donnée à enregistrer et le paquet comporte simplement un mot Hdr de requête.
Chaque mot de données est formé d'un groupe de bits d'état binaire 0 ou 1. Le format du mot, c'est-à-dire le nombre de bits de données contenu par le mot, ici 64 bits, est fixé par la norme du microprocesseur et de son interface. Le bus interne (BUS) comporte des lignes parallèles de transmission des données, ici au nombre de 64, puisque le nombre de lignes est préférentiellement égal à la norme du microprocesseur.
La transmission d'un mot sur le bus interne occupe la durée d'un cycle d'horloge Clk. Pendant la durée du cycle d'horloge, tous les bits formant le mot sont présentés en parallèle sur les entrées de l'étage-tampon INB qui peut alors bloquer leur état pour stocker le mot.
Une particularité essentielle de l'invention est de prévoir, lors de la réception d'un paquet de données binaires par l'étage-tampon de l'interface, un décodage des données indiquant le format du paquet.
L'avantage d'une telle particularité est de permettre de connaítre exactement et à l'avance le nombre de lignes de l'étage-tampon qui seront occupées par le stockage dudit paquet de mots.
La figure 2 illustre schématiquement un exemple d'assemblage de bits de données, bit01 à bit64, formant un mot préliminaire Hdr d'un paquet.
Un bit de donnée, de préférence le premier bit01, indique, par son état binaire, si ce mot préliminaire concerne une requête d'enregistrement (en anglais "STORE") ou une requête de chargement.
Deux autres bits de données, par exemple bit02 et bit03, indiquent par leur code binaire le nombre de mots de données à enregistrer ou à charger.
Ainsi, on connaít le nombre de mots d'un paquet selon le code binaire indiqué par les bits de données de format comme l'illustre, à titre exemplatif, le tableau d'états des bit01, bit02, bit03 ci-après.
Tableau d'états des bits de données indiquant le format du paquet
bit01 bit02 bit03 Information
0 X X Requête de chargement, paquet de 1 mot à stocker
1 0 1 Paquet de 2 mots à stocker, dont 1 mot de données à enregistrer
1 1 0 Paquet de 3 mots à stocker, dont 2 mots de données à enregistrer
1 1 1 Paquet de 4 mots à stocker, dont 3 mots de données à enregistrer
1 0 0 Paquet de 5 mots à stocker
L'invention prévoit d'incrémenter ou de "décrémenter" un compteur du nombre de mots de données contenu par le paquet.
Selon une réalisation simple, on peut stocker tout le paquet de données transmis par le bus, puis effectuer le décodage des données indiquant le format du paquet, et utiliser les indications de format résultant du décodage pour incrémenter un compteur.
Le résultat du compteur indique alors le nombre de mots stockés par l'étage-tampon, c'est-à-dire le nombre de lignes non-disponibles. En comparant le résultat du compteur au nombre total de lignes de l'étage-tampon, on peut en déduire la capacité disponible de l'étage-tampon.
Alternativement, comme l'illustre la figure 4, le compteur CPT peut être initialisé avec le nombre total de lignes de l'étage-tampon, ici dix, et être "décrémenté" (diminuer le nombre par décompte) selon les indications de format résultant du décodage. Dans ce cas, à la fin de la réception du paquet, le résultat du compteur CPT indique le nombre de lignes disponibles de l'étage-tampon. Un test ou une comparaison du résultat du compteur avec le nombre maximum de mots que peut contenir un paquet (selon le protocole de transmission) permet de savoir si l'étage-tampon peut recevoir un paquet de données supplémentaire.
Ainsi, comme illustré figure 4, lorsque l'étage-tampon stocke deux paquets Pck1 et Pck2 de deux et trois mots, il reste cinq lignes inoccupées et l'interface signale son aptitude à recevoir un troisième paquet Pck3, en considérant toujours qu'un paquet contient un maximum de cinq mots. L'interface émet alors un signal d'état Sts indiquant la disponibilité de l'étage-tampon à recevoir un paquet supplémentaire.
Selon le mode de réalisation préféré de l'invention, le décodage des données indiquant le format du paquet est effectué dès le début de la réception du paquet. Comme il est prévu que les données de format sont des données préliminaires du paquet, l'état de disponibilité futur peut ainsi être connu avantageusement dès réception du premier mot du paquet.
En effet comme indiqué précédemment, les bits indiquant le format du paquet sont de préférence contenus par le premier mot - le mot préliminaire Hdr - du paquet.
L'invention prévoit donc de préférence de décoder les indications de format du paquet dès réception du mot préliminaire et de calculer aussitôt l'état de disponibilité futur de l'étage-tampon du fait du stockage du paquet en cours de transmission.
La figure 5 montre ainsi que selon le mode de réalisation préféré, le compteur Cpt est "décrémenté" du nombre de mots contenus par un paquet Pck1, Pck2 ou Pck3, soit un décrément d'un nombre 2, 3 ou 4 respectivement, au cours de la transmission du mot préliminaire Hdr1, Hdr2 ou Hdr3 dudit paquet.
La figure 5 montre encore que le signal Sts indiquant l'état de disponibilité de l'étage-tampon est généré par l'interface avant la fin de transmission du paquet, et même dès la fin de transmission du mot préliminaire du paquet.
Il est prévu à cette fin que l'interface comporte un processeur de commande ICP qui effectue d'abord un décodage partiel et immédiat, puis des calculs simples et rapides.
En effet, un circuit logique, tel qu'un processeur, fournit un résultat d'autant plus rapidement que les opérations logiques sont simples et font intervenir peu d'indicateurs logiques. Il est donc prévu que le processeur effectue un décodage partiel du mot préliminaire, c'est-à-dire portant seulement sur les quelques bits indiquant le format du paquet, ce qui permet d'effectuer le décodage quasi-instantanément, en tout cas dans un temps nettement inférieur à un cycle d'horloge Clk.
Le décodage est de préférence immédiat, c'est-à-dire qu'il commence dès le début du cycle 1, 3 ou 6 de l'horloge Clk, pendant lequel le mot préliminaire Hdr1, Hdr2 ou Hdr3 est transmis par le bus à l'interface EMI. Ainsi, le résultat du décodage, c'est-à-dire l'indicateur de format du paquet, est obtenu au cours même du premier cycle de transmission du mot préliminaire.
De suite, les moyens de contrôle reprennent l'indication de format du paquet et effectuent des opérations de calculs simples, comptage CPT et comparaison CMP. Ceci permet d'établir l'état Sts de disponibilité, quasi-instantanément encore.
Ainsi, les moyens de contrôle de l'interface peuvent avantageusement calculer et signaler l'état de disponibilité ou de non-disponibilité future de l'étage-tampon avant la fin du cycle de transmission du mot préliminaire qui contient les bits d'indication de format.
Comme illustré sur le schéma de la figure 1, l'interface de microprocesseur selon l'invention comporte donc des moyens de décodage DCD et des moyens de contrôle ICP, tel qu'un processeur de commande de l'interface. Les moyens de décodage DCD traitent les paquets Pck de données reçues par l'étage-tampon INB, pour extraire les indications de format de paquet contenues dans les mots préliminaires Hdr et les fournir aux moyens de contrôle ICP. Les moyens de contrôle ICP effectuent les calculs et signalent l'état Sts de disponibilité au circuit IBA d'arbitrage du bus interne. Les moyens de décodage et de contrôle peuvent être réalisés sous forme de circuit logique comportant des fonctions de comptage CPT, de comparaison CMP et éventuellement de mémorisation MEM. De façon alternative, les moyens de décodage et de contrôle peuvent être mis en oeuvre en programmant un processeur, notamment suivant les programmes des figures 7 à 9.
Les moyens de décodage et de contrôle peuvent encore et de préférence, être implantés dans le circuit intégré sous forme de circuit logique réalisé et optimisé à l'aide d'un logiciel de conception assisté dont la mise en oeuvre ne sera pas détaillée dans la présente.
La figure 7 illustre un algorithme de décodage destiné à être mis en oeuvre sous forme de circuit logique ou de programme de processeur de l'interface selon l'invention.
Dans les algorithmes des figures 7 et 8, il est prévu qu'une variable Arriv indique le nombre de mots de données contenus par un paquet en cours de réception.
Après des étapes 70 de début et d'initialisation, l'algorithme de décodage comporte des étapes 71 à 79 effectuant les opérations suivantes :
  • à l'étape 71, un test du bus détermine si un nouveau paquet est transmis ;
  • étape 72, en l'absence de transmission de paquet, la variable Arriv est mise à zéro ;
  • étape 73, en cas de transmission de paquet, un test d'indicateur STORE, tel que le bit01 du mot préliminaire Hdr du paquet, détermine si la transmission concerne une requête d'enregistrement ;
  • étape 74, à défaut de requête d'enregistrement, la variable Arriv est mise à un, puisque le paquet contient un seul mot Hdr de requête de chargement ;
  • étape 75, en cas de requête d'enregistrement, le décodage de l'indicateur de format du paquet (Format Pack) est comparé au format maximum Max prévu selon le protocole de transmission ;
  • étape 76, lorsque le format ne dépasse pas le maximum, la variable Arriv est chargée de la valeur du format du paquet (valeur correspondant par exemple, à la valeur binaire des bits de format, tel que bit02 et bit03, du mot préliminaire Hdr, augmentée d'une unité) ;
  • étape 78, lorsque le format dépasse le maximum, il est prévu de charger la variable Arriv de la valeur Max de format maximum ;
  • les étapes 72, 74, 76 et 78 sont suivies de l'étape 79 de fin du décodage.
Dans les algorithmes de calculs qui suivent aux figures 8-9, une variable Capa indique le nombre de lignes disponibles de l'étage-tampon. Lors de l'initialisation ou en l'absence de stockage de données dans l'étage-tampon, la variable Capa est chargée par le nombre total de lignes de l'étage-tampon. De façon équivalente, on peut développer des algorithmes de calculs dans lesquels une variable indiquerait le nombre de lignes non-disponibles.
La figure 8a illustre un algorithme CALCUL1 permettant aux moyens de contrôle de calculer la capacité disponible de l'étage-tampon et destiné à être mis en oeuvre sous forme de circuit logique ou de programme de processeur de contrôle de l'interface selon l'invention.
Après l'étape 80 de début, l'algorithme de calcul comporte des étapes 81, 82, 88 et 89 effectuant les opérations suivantes :
  • à l'étape 81, un test d'indicateur TRANSFER détermine si un transfert de paquet de données est en cours entre l'étage-tampon INB et le port externe EXP ;
  • en l'absence de transfert, l'étape 82 prévoit que la valeur de la variable Arriv est soustraite de la valeur de la variable Capa ;
  • en cas de transfert en cours, l'étape 88 prévoit que la valeur de la variable Capa, soustraction faite de la valeur de la variable Arriv, est incrémentée d'une unité (un incrément à chaque cycle de transfert d'un mot de données) ;
  • l'étape 89 finale de l'algorithme CALCUL1 fait suite à l'étape 88 comme à l'étape 82.
Ainsi, de préférence, le circuit de microprocesseur selon l'invention, comporte des moyens de contrôle ICP aptes à décompter un nombre de lignes de l'étage-tampon occupées par le stockage de données Capa, à déduire un nombre Arriv de mots du paquet de données en cours de transmission, selon le décodage des données de format fourni par les moyens de décodage DCD, DECODAGE, et à calculer CMP, COMPAR le nombre Capa de lignes de l'étage-tampon disponibles du fait du stockage des mots dudit paquet de données en cours de transmission.
La figure 9 illustre un algorithme COMPAR permettant aux moyens de contrôle de comparer la capacité disponible de l'étage-tampon au format maximum d'un paquet de données prévu selon le protocole de transmission.
Un indicateur Status d'état de disponibilité de l'étage-tampon à recevoir un paquet supplémentaire de données est modifié selon le résultat de la comparaison. L'indicateur Status correspond au signal d'état Sts émis par les moyens de contrôle de l'interface. Par convention, l'indicateur est à l'état actif 1 pour indiquer la disponibilité, et à l'état inactif 0 pour indiquer la non-disponibilité.
Après l'étape 90 de début, l'algorithme de comparaison comporte des étapes 91, 92, 98 et 99 effectuant les opérations suivantes :
  • à l'étape 91, un test indique si la valeur de la variable Capa est inférieure à la valeur Max, qui est le nombre maximum de mots contenus dans un paquet de données, selon le protocole ;
  • si la capacité disponible est supérieure ou égale au format maximum des paquets, l'étape 92 prévoit de mettre à l'état 1 l'indicateur Status, ce qui active le signal Sts d'état de disponibilité ;
  • si la capacité disponible est inférieure au format maximum, l'étape 98 prévoit de mettre à l'état 0 l'indicateur Status, ce qui désactive le signal d'état Sts (non-disponibilité) ;
  • l'étape 99 de fin de comparaison fait suite aux étapes 92 et 98 et achève le programme de l'interface.
Ainsi, de préférence, le circuit de microprocesseur comporte des moyens de contrôle ICP aptes en outre à compter CPT, CALCUL2 un nombre Départ de lignes de l'étage-tampon libérées par le transfert Trf d'un pacquet Pck de données vers la mémoire externe EM.
Il apparaít clairement sur les figures 7 à 9 que les algorithmes de décodage, de calcul et de comparaison s'enchaínent naturellement.
Cependant, la figure 8b indique une alternative préférée d'algorithme CALCUL2 permettant aux moyens de contrôle de calculer la capacité disponible de l'étage-tampon de façon optimale.
En effet, l'algorithme de la figure 8b tient compte d'une donnée supplémentaire : le nombre de mots de données contenus par un paquet en cours de transfert. Ce nombre est mémorisé par une variable Départ.
L'algorithme CALCUL2 de la figure 8b diffère de l'algorithme CALCUL1 de la figure 8a seulement au niveau de l'étape 88. L'opération est en effet la suivante :
  • lors d'un transfert d'un paquet de données entre l'étage-tampon et le port externe, l'étape 88' prévoit que la valeur de la variable Capa, soustraction faite de la valeur de la variable Arriv, est augmentée de la valeur de la variable Départ.
L'avantage de la prise en compte du format d'un paquet en cours de transfert (sortant de l'étage-tampon) est de signaler de façon précoce l'état de disponibilité de l'étage-tampon au microprocesseur.
Cet avantage apparaít sur le chronogramme de la figure 6 qui illustre une opération de déstockage d'un paquet de données Outpck4. L'opération concerne un transfert Trf de cinq mots de données Hdr4, Dat41, Dat42, Dat43 et Dat44 depuis l'étage-tampon INB vers le port externe EXP et la mémoire EM.
Les deux indications Cpt et Sts figurant en premier lieu sur la figure 4 correspondent aux résultats du compteur de calcul et au signal d'état de disponibilité obtenus suivant l'algorithme CALCUL1 de la figure 8a. Le compteur Cpt est ainsi décrémenté d'une unité au fur et à mesure du transfert de chaque mot de donnée du paquet Outpck4, donc à chaque cycle I, II, III, IV ou V d'enregistrement.
En second lieu, la figure 4 indique des résultats de compteur Cpt' de calcul de capacité et de signal Sts' d'état de disponibilité obtenus suivant l'algorithme CALCUL2 de la figure 8b.
On remarque que, dès le transfert du mot préliminaire Hdr4 lors du cycle I d'enregistrement, l'indication de format du paquet Outpck4, soit cinq mots, est comptabilisée par le compteur Cpt', le résultat augmentant de cinq unités lors du premier cycle I.
Ainsi, dès le début du transfert, le compteur Cpt' indique que le nombre de lignes libérées est supérieur à cinq, ce qui laisse la place à la réception d'un nouveau paquet.
La prise en compte du format des paquets de données sortant de l'étage-tampon permet donc de calculer de façon précoce, la capacité disponible ou non-disponible de l'étage-tampon du fait du déstockage des données.
Consécutivement, les moyens de contrôle peuvent émettre le signal Sts' d'état de disponibilité de l'étage-tampon, dès la fin du cycle I de transfert du mot préliminaire.
Le circuit IBA d'arbitrage du bus interne du microprocesseur est alors averti de façon précoce de l'état de disponibilité futur de l'étage-tampon.
Le circuit IBA peut utiliser cette information pour que les unités du microprocesseur préparent d'autres transmissions de données. Le circuit IBA peut aussi utiliser cette information pour autoriser aussitôt une transmission de données.
La gestion de l'étage-tampon est alors optimale puisque l'étage-tampon peut recevoir un mot de données à stocker au fur et à mesure du déstockage d'un mot de données.
Cette mise en oeuvre convient au cas où la transcription de données de l'interface vers la mémoire externe se fait au même rythme que la transmission de données du microprocesseur vers l'interface. Dans ce cas, l'algorithme CALCUL2 permet avantageusement un écoulement continu du flot de données (en anglais "stream-line").
Cependant, les cycles de transcription des mots de données de l'interface vers la mémoire sont souvent plus longs que les cycles de transmission des mots de données du microprocesseur vers l'interface. Un cycle de transmission s'étend sur un nombre entier, généralement deux ou quatre, de cycles d'horloge, alors qu'un cycle de transmission dure un seul cycle d'horloge, comme le suggère la confrontation des figures 5 et 6. Dans ce cas, il est préférable de mettre en oeuvre l'algorithme CALCUL1 ou de modifier l'algorithme CALCUL2 pour tenir compte du rapport des cadences de transcription et de transmission.
On note encore que l'indication de format d'un paquet transféré peut être fournie soit en se remémorisant l'indication de format décodée et mémorisée lors du stockage de ce paquet, soit en effectuant un nouveau décodage des données indiquant le format lors du déstockage du paquet.
Finalement, comme l'indique la figure 1, les moyens de contrôle ICP (nommément processeur de commande de l'interface) comportent de préférence un compteur CPT pour effectuer les calculs, un comparateur pour établir l'état de disponibilité Status et le signal Sts, ainsi qu'éventuellement une mémoire Mem pour retenir les données indiquant les formats des paquets stockés et fournir ces indications lors du déstockage.
D'autres modes de réalisations apparaítront à l'homme du métier sans sortir du cadre de la présente invention, tel que défini par les revendications ci-après.

Claims (18)

  1. Circuit de microprocesseur (MP) comportant une interface (EMI) avec une mémoire externe (EM), l'interface comprenant :
    un étage-tampon (INB) de capacité déterminée, apte à stocker des paquets de mots de données transmis entre le microprocesseur et la mémoire externe, les paquets comportant un nombre variable de mots de données, et
    des moyens de contrôle (ICP) pour calculer (CPT) la capacité disponible ou non-disponible de l'étage-tampon du fait du stockage des paquets, et pour signaler l'état (Sts) de disponibilité de l'étage-tampon à recevoir un paquet supplémentaire,
    caractérisé en ce que chaque paquet contient des données de format (Hdr) indiquant le nombre de mots de données dudit paquet, l'interface comprenant :
    des moyens de décodage (DCD) des données de format indiquant le nombre de mots de données aux moyens de contrôle pour optimiser le calcul de la capacité.
  2. Circuit de microprocesseur selon la revendication 1, caractérisé en ce que les moyens de décodage (DCD) sont aptes à décoder les données (Hdr1) de format indiquant le nombre de mots de données d'un paquet (Pck1) pendant la transmission (Trm) dudit paquet (Pck1), les données (Hdr1) de format d'un paquet (Pck1) étant contenues dans un mot de données préliminaire (Hdr1) dudit paquet (Pck1).
  3. Circuit de microprocesseur selon la revendication 2, caractérisé en ce que les moyens de contrôle (ICP) sont aptes à calculer (CPT, CMP) la capacité future disponible ou non-disponible de l'étage-tampon du fait du stockage du nombre de mots de données du paquet (Pck1) en cours de transmission (Trm).
  4. Circuit de microprocesseur selon la revendication 3, caractérisé en ce que les moyens de contrôle (ICP) sont aptes à signaler, en cours de transmission d'un paquet (Pck1), l'état (Sts) de disponibilité ou de non-disponibilité future de l'étage-tampon (INB) à recevoir un paquet (Pck2) supplémentaire.
  5. Circuit de microprocesseur selon l'une des revendications 2 à 4, caractérisé en ce que les moyens de décodage (DCD) sont aptes à décoder des données de format (Format) contenues dans le mot de données préliminaire (Hdr) pendant la transmission (Trm) dudit mot de données préliminaire, un mot de données préliminaire (Hdr) contenant quelques bits (bit02, bit03) de données de format.
  6. Circuit de microprocesseur selon l'une des revendications 2 à 5, caractérisé en ce que les moyens de contrôle (ICP) sont aptes à calculer (CPT, CMP) pendant la transmission (Trm) du mot de données préliminaire (Hdr1) du paquet de mots de données, la capacité future disponible (Cpt) ou non-disponible de l'étage-tampon du fait du stockage dudit paquet (Pck1) en cours de transmission.
  7. Circuit de microprocesseur selon l'une des revendications 2 à 6, caractérisé en ce que les moyens de contrôle sont aptes à signaler, dès la fin de la transmission (Trm) du mot de données préliminaire (Hdr1) du paquet de mots de données (Pck1), l'état (Sts) de disponibilité ou de non-disponibilité future de l'étage-tampon à recevoir un paquet supplémentaire (Pck2).
  8. Circuit de microprocesseur selon l'une des revendications 1 à 7, caractérisé en ce que les moyens de contrôle (ICP) sont aptes à mémoriser (MEM) le décodage des données de format (Hdr) d'un paquet (Pck) stocké par l'étage-tampon, pour fournir ledit décodage des données de format lors d'un transfert (Trf) dudit paquet (Out Pck) entre l'étage-tampon (INB) et la mémoire externe (EM).
  9. Circuit de microprocesseur selon l'une des revendications 1 à 7, caractérisé en ce que les moyens de décodage (DCD) effectuent un nouveau décodage des données (Hdr4) de format d'un paquet (Out Pck 4) lors d'un transfert (Trf) dudit paquet (Out Pck 4) entre l'étage-tampon (INB) et la mémoire externe (EM).
  10. Circuit de microprocesseur selon la revendication 8 ou 9, caractérisé en ce que les moyens de contrôle (ICP) sont aptes en outre, à calculer (CPT, CALCUL2) la capacité de l'étage-tampon libérée du fait de déstockage du paquet (Out Pck 4) en cours de transfert (Trf).
  11. Circuit de microprocesseur selon l'une des revendications 1 à 10, caractérisé en ce que les moyens de contrôle (ICP) sont aptes à comparer (CPR, COMPAR) la capacité (Capa) disponible de l'étage-tampon par rapport à un format maximal (Max) des paquets (Pck) de mots de données, et à déduire de la comparaison l'état (Sts, Status) de disponibilité de l'étage-tampon (INB) à recevoir un paquet supplémentaire (Pck3).
  12. Procédé de contrôle d'une interface (EMI) de circuit de microprocesseur (MP) avec une mémoire externe (EM), l'interface comprenant un étage-tampon (INB) de capacité déterminée, stockant des paquets (Pck) de mots de données transmis entre le microprocesseur et la mémoire externe, les paquets comportant un nombre variable de mots de données, le procédé comportant des étapes consistant à :
    calculer (CPT) la capacité disponible ou non-disponible de l'étage-tampon du fait du stockage des paquets de mots de données, et
    signaler (COMPAR, Status) l'état (Sts) de disponibilité ou de non-disponibilité de l'étage-tampon à recevoir un paquet de mots de données supplémentaire (Pck3),
    caractérisé en ce que le procédé comporte des étapes intercalaires consistant à :
    décoder (DCD, DECODAGE) des données de format (Hdr, Format) contenues dans chaque paquet, les données de format indiquant le nombre de mots de données dudit paquet, et
    calculer (CPT) la capacité disponible ou non-disponible de l'étage-tampon du fait du stockage du nombre de mots de données de chaque paquet (Pckl, Pck2, Pck3).
  13. Procédé selon la revendication 12, caractérisé en ce que l'étape de décodage (DCD, DECODAGE) des données de format (Format) d'un paquet (Pck, Pack) est effectuée pendant la transmission (Trm) dudit paquet, les données de format d'un paquet de mots de données étant contenues dans un mot de données préliminaire (Hdr) dudit paquet (Pck) de mots de données.
  14. Procédé selon la revendication 13, caractérisé en ce que l'étape de décodage (DCD, DECODAGE) des données de format (Format) d'un paquet (Pck) de mots de données est effectuée pendant la transmission (Trm) du mot de données préliminaire (Hdr) dudit paquet de mots de données.
  15. Procédé selon la revendication 13 ou 14, caractérisé en ce qu'il comporte une étape consistant à calculer (CPT, CALCUL1) la capacité future disponible (Capa) ou non-disponible de l'étage-tampon du fait du stockage du nombre de mots de données d'un paquet (Pck1) en cours de transmission, le calcul (CALCUL1) utilisant le décodage (DECODAGE) des données de format effectué pendant la transmission (Trm) dudit paquet (Pck1), le calcul (Cpt) étant effectué pendant la transmission (Trm) dudit paquet (Pck).
  16. Procédé selon la revendication 15, caractérisé en ce que l'étape de calcul (CPT, CALCUL1) de la capacité future disponible (Capa) ou non-disponible de l'étage-tampon est effectuée pendant la transmission (Trm) du mot de données préliminaire (Hdr1) dudit paquet (Pck1) de mots de données.
  17. Procédé selon l'une des revendications 12 à 16, caractérisé en ce qu'il comporte une étape consistant à signaler (COMPAR, Status) pendant la transmission (Trm) d'un paquet (Pck2), l'état (Sts) de disponibilité ou de non-disponibilité future de l'étage-tampon à recevoir un paquet supplémentaire (Pck3).
  18. Procédé selon la revendication 17, caractérisé en ce que l'état (Sts) de disponibilité ou de non-disponibilité future de l'étage-tampon est signalé dès la fin de transmission (Trm) du mot de données préliminaire (Hdr2) dudit paquet (Pck2) de mots de données.
EP99401180A 1998-05-14 1999-05-14 Interface de microprocesseur avec une mémoire externe optimisée par un systéme de décodage anticipé Expired - Lifetime EP0957435B1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9806345A FR2778762B1 (fr) 1998-05-14 1998-05-14 Interface de microprocesseur avec une memoire externe optimisee par un systeme de decodage anticipe
FR9806345 1998-05-14

Publications (2)

Publication Number Publication Date
EP0957435A1 EP0957435A1 (fr) 1999-11-17
EP0957435B1 true EP0957435B1 (fr) 2004-11-10

Family

ID=9526529

Family Applications (1)

Application Number Title Priority Date Filing Date
EP99401180A Expired - Lifetime EP0957435B1 (fr) 1998-05-14 1999-05-14 Interface de microprocesseur avec une mémoire externe optimisée par un systéme de décodage anticipé

Country Status (4)

Country Link
US (1) US6393501B1 (fr)
EP (1) EP0957435B1 (fr)
DE (1) DE69921733T2 (fr)
FR (1) FR2778762B1 (fr)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6990161B2 (en) * 2001-01-09 2006-01-24 International Business Machines Corporation Phase selection mechanism for optimal sampling of source synchronous clocking interface data
US7218610B2 (en) * 2001-09-27 2007-05-15 Eg Technology, Inc. Communication system and techniques for transmission from source to destination
US20050008908A1 (en) * 2003-06-27 2005-01-13 Ultracell Corporation Portable fuel cartridge for fuel cells
US20050198361A1 (en) * 2003-12-29 2005-09-08 Chandra Prashant R. Method and apparatus for meeting a given content throughput using at least one memory channel
US20130223364A1 (en) * 2012-02-24 2013-08-29 Qualcomm Incorporated Ack channel design for early termination of r99 uplink traffic

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5590349A (en) * 1988-07-11 1996-12-31 Logic Devices, Inc. Real time programmable signal processor architecture
DE3853071D1 (de) * 1988-09-30 1995-03-23 Siemens Nixdorf Inf Syst Verfahren zur Steuerung der Datenübertragung einer Zentraleinheiten-Anschlusssteuerungsschaltung und Schaltungsanordnung zur Durchführung desVerfahrens.
US5247517A (en) * 1989-10-20 1993-09-21 Novell, Inc. Method and apparatus for analyzing networks
US5175732A (en) * 1991-02-15 1992-12-29 Standard Microsystems Corp. Method and apparatus for controlling data communication operations within stations of a local-area network
US5189671A (en) * 1991-12-20 1993-02-23 Raynet Corporation Apparatus and method for formatting variable length data packets for a transmission network
JP3430630B2 (ja) * 1994-05-02 2003-07-28 ヤマハ株式会社 カラオケ演奏用双方向ディジタル通信システム
US5737550A (en) * 1995-03-28 1998-04-07 Advanced Micro Devices, Inc. Cache memory to processor bus interface and method thereof
US5742840A (en) * 1995-08-16 1998-04-21 Microunity Systems Engineering, Inc. General purpose, multiple precision parallel operation, programmable media processor
US5675654A (en) * 1996-03-29 1997-10-07 Matsushita Electric Corporation Of America System and method for interfacing a transport decoder to a national renewable security systems (NRSS) smart card
JPH09322078A (ja) * 1996-05-24 1997-12-12 Toko Inc 画像伝送装置
FR2755523B1 (fr) * 1996-11-05 1998-12-04 Bull Sa Circuit electrique pour echanger des donnees entre un microprocesseur et une memoire et calculateur comprenant un tel circuit
US6130894A (en) * 1998-03-09 2000-10-10 Broadcom Homenetworking, Inc. Off-line broadband network interface

Also Published As

Publication number Publication date
EP0957435A1 (fr) 1999-11-17
FR2778762A1 (fr) 1999-11-19
FR2778762B1 (fr) 2000-12-08
US6393501B1 (en) 2002-05-21
DE69921733T2 (de) 2005-03-24
DE69921733D1 (de) 2004-12-16

Similar Documents

Publication Publication Date Title
EP0013347B1 (fr) Dispositif à mémoire intermédiaire pour le transfert des données entre un processeur et un dispositif d'entrée/sortie
EP0538133B1 (fr) Téléchargement d'un système d'exploitation par réseau
EP0063071B1 (fr) Procédé et dispositif de transmission de données numériques
FR2637997A1 (fr) Procede et dispositif pour mettre en file d'attente des requetes et des reponses sur un bus
EP0272969B1 (fr) Procédé et appareil programmable pour le transcodage de chaînes de caractères
EP0109898A1 (fr) Unité de stockage temporaire de données organisée en file d'attente
CH616251A5 (fr)
EP0063972A1 (fr) Procédé et dispositif d'allocation d'une ressource dans un système comportant des unités de traitement de données autonomes
EP0957435B1 (fr) Interface de microprocesseur avec une mémoire externe optimisée par un systéme de décodage anticipé
FR2664719A1 (fr) Dispositif de controle pour une memoire tampon a partitionnement reconfigurable.
EP0033672B1 (fr) Dispositif d'aiguillage de données numériques
EP0920157A1 (fr) Dispositif de gestion de mémoire tampon partagée
FR3007542A1 (fr) File d'echange de donnees ayant une profondeur illimitee
EP0027851A1 (fr) Système pour commander la durée de l'intervalle de temps entre blocs de données dans un système de communication calculateur à calculateur
CN113160572A (zh) 一种租车违章管理方法、装置和计算设备
EP1632863B1 (fr) Dispositif programmable d'interface de commande
EP0575228B1 (fr) Procédé pour charger un programme dans une mémoire de programmes associée à un processeur
FR2825167A1 (fr) Procede et systeme d'acces a une memoire commune
EP0512881B1 (fr) Procédé et dispositif de sélection d'informations utilisables par une unité locale reliée à un système de transmission numérique
EP0441707B1 (fr) Coupleur de bus série
EP1179739A1 (fr) Procédé pour tester un circuit intégré à contrôle de cadencement flexible
EP0264325B1 (fr) Automate pour rendre compatible un processeur avec un bus d'un autre processeur
FR2770008A1 (fr) Dispositif de communication entre plusieurs processeurs
FR2632093A1 (fr) Memoire modulaire
EP0998807B1 (fr) Procede et dispositif de reception de messages numeriques

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): DE FR GB IT

AX Request for extension of the european patent

Free format text: AL;LT;LV;MK;RO;SI

17P Request for examination filed

Effective date: 19991124

AKX Designation fees paid

Free format text: DE FR GB IT

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: STMICROELECTRONICS S.A.

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

RIC1 Information provided on ipc code assigned before grant

Ipc: 7G 06F 5/06 B

Ipc: 7G 06F 13/42 A

RIC1 Information provided on ipc code assigned before grant

Ipc: 7G 06F 5/06 B

Ipc: 7G 06F 13/42 A

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): DE FR GB IT

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT;WARNING: LAPSES OF ITALIAN PATENTS WITH EFFECTIVE DATE BEFORE 2007 MAY HAVE OCCURRED AT ANY TIME BEFORE 2007. THE CORRECT EFFECTIVE DATE MAY BE DIFFERENT FROM THE ONE RECORDED.

Effective date: 20041110

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

Free format text: NOT ENGLISH

REF Corresponds to:

Ref document number: 69921733

Country of ref document: DE

Date of ref document: 20041216

Kind code of ref document: P

GBT Gb: translation of ep patent filed (gb section 77(6)(a)/1977)

Effective date: 20050419

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

26N No opposition filed

Effective date: 20050811

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 20080424

Year of fee payment: 10

GBPC Gb: european patent ceased through non-payment of renewal fee

Effective date: 20090514

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GB

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20090514

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 17

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 20150506

Year of fee payment: 17

REG Reference to a national code

Ref country code: DE

Ref legal event code: R082

Ref document number: 69921733

Country of ref document: DE

Representative=s name: RAU, SCHNECK & HUEBNER PATENTANWAELTE RECHTSAN, DE

Ref country code: DE

Ref legal event code: R081

Ref document number: 69921733

Country of ref document: DE

Owner name: PARTHENON UNIFIED MEMORY ARCHITECTURE LLC, PLA, US

Free format text: FORMER OWNER: STMICROELECTRONICS S.A., MONTROUGE, FR

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 20150508

Year of fee payment: 17

REG Reference to a national code

Ref country code: FR

Ref legal event code: TP

Owner name: ST MICROELECTRONICS INTERNATIONAL NV, NL

Effective date: 20151112

REG Reference to a national code

Ref country code: FR

Ref legal event code: TP

Owner name: PARTHENON UNIFIED MEMORY ARCHITECTURE LLC, US

Effective date: 20151215

REG Reference to a national code

Ref country code: DE

Ref legal event code: R119

Ref document number: 69921733

Country of ref document: DE

REG Reference to a national code

Ref country code: FR

Ref legal event code: ST

Effective date: 20170131

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: FR

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20160531

Ref country code: DE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20161201