WO2005111822A2 - Procédé et dispositif de gestion d'un bus - Google Patents

Procédé et dispositif de gestion d'un bus Download PDF

Info

Publication number
WO2005111822A2
WO2005111822A2 PCT/FR2005/050301 FR2005050301W WO2005111822A2 WO 2005111822 A2 WO2005111822 A2 WO 2005111822A2 FR 2005050301 W FR2005050301 W FR 2005050301W WO 2005111822 A2 WO2005111822 A2 WO 2005111822A2
Authority
WO
WIPO (PCT)
Prior art keywords
values
lines
value
block
parallel
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.)
Ceased
Application number
PCT/FR2005/050301
Other languages
English (en)
Other versions
WO2005111822A3 (fr
Inventor
Pascal Bourrier
Paul De Carvalho
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.)
TCT Mobile Ltd
Original Assignee
TCT Mobile Ltd
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 TCT Mobile Ltd filed Critical TCT Mobile Ltd
Priority to CA2566067A priority Critical patent/CA2566067C/fr
Priority to CN2005800228411A priority patent/CN1981275B/zh
Priority to EP05762623.6A priority patent/EP1754162B1/fr
Publication of WO2005111822A2 publication Critical patent/WO2005111822A2/fr
Publication of WO2005111822A3 publication Critical patent/WO2005111822A3/fr
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/4265Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
    • G06F13/4269Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus using a handshaking protocol, e.g. Centronics connection
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the invention relates to a method and device for managing a bus, by constituting a set of values accessible in parallel, by means of a reduced number of lines, for example for producing an address bus of a device. with memory.
  • this comprises separately a data bus and an address bus.
  • the latter includes a set of parallel address lines, by which a binary word can be expressed to specify a specific address for read or write access.
  • Each address line corresponds to a specific rank of the binary word.
  • a memory of 2 MB (Mega bytes), or 16 Mega bits, requires an address bus of 11 lines for a mode of operation on a byte with access on a cycle, and a memory of 4 GB requires 32 address lines in such cases.
  • the approach is based on the assumption that in a systematic mode of access to memory, the states of the most significant lines (ie those which express the highest powers of 2 of the components of the binary number) vary less frequently than the states of the least significant lines.
  • it is proposed to reserve a normal address for the least significant lines, in parallel mode, but to practice the above-mentioned double conversion for the most significant lines.
  • the line between the least significant and most significant lines is fixed.
  • a parallel-serial conversion is carried out at the head of the bus, in particular at the output of the processor which controls the addresses.
  • the most significant bits are then conveyed on a single conductor next to the parallel conductors of the least significant bits.
  • the serial-parallel conversion is carried out either just upstream of the memory, in which case the latter can keep a conventional pinout with n address pins, or within the memory.
  • the memory has a reduced number of connections to the address bus, by means of circuit elements to carry out the series-parallel conversion internally.
  • the serial to parallel converter on the memory side stores the parallel conversion outputs and presents them as the most significant bits of the upper part of the address.
  • a command is transmitted to the serial-parallel converter on a specific line of the bus.
  • the memory is put on hold during the loading of the serial bits and their appearance on the parallel outputs of the converter.
  • the invention proposes, according to a first aspect, a method for managing a bus comprising a number N LPP of conductive line (s), where N LPP is equal to or greater than 1, by which one transmits a set of N B values intended to be accessible in parallel, where N B is greater than the number N LPP of line (s), characterized in that it consists in conferring a double function on the conducting lines / to the conductive line: - a first function of constituting a subset of values comprising N SE value (s) of said set, and - a second function of constituting the complement of said subset, by direct presentation of the N B -N SE additional value (s) on the respective conductive lines / the conductive line.
  • the number N LLP of conductive lines is greater than 1, and these conductive lines, in their second function, have the N B -N SE complementary values in parallel on / the respective individual lines.
  • the method can include the following steps: - loading said subset of values into storage means according to a pre-established protocol, using the conducting lines / the conducting line in their / its first function, - directly presenting the N B - N SE additional value (s) using the respective conductive lines / the conductive line according to their / its second function.
  • the method can comprise management of the storage means by blocks of at least one value, and can also comprise the steps of: - determining, for each block, whether the / each value already stored is equal to the value which must correspond in the set of values to constitute, - if so, keep the block in the state, without loading data, - if not, load in the block the value (s) which must correspond, by means of the conductive line (s) according to the pre-established protocol, using the conductive lines / the conductive line in their / its first function.
  • the set of N B values can be formed at a destination side from data sent from a source side, connected to the destination side via said conductive lines / said conductive line, the method possibly comprising the steps of: - storing, on the source side, the content of the storage means located on the destination side, - compare, on the source side, the values of the subset to be constituted with the corresponding values of the content stored on the source side, - determine on the basis of this comparison the / the value (s) of the received subset to be transmitted to the destination side to update the content of the storage means on the destination side.
  • the source side signals to the destination side the identification of the block (s), the content of which must be updated, by a single message during a first cycle, the number of lines being at least equal to the number of memory blocks into which the values of the subset are broken down, and, on the source side, each respective block can be assigned to a particular line according to a known correspondence code on the source side and on the on the destination side, the designation of a block being signaled by a signal on a conducting line specifically assigned to this block.
  • the source side can transmit via the conducting lines / the conducting line the / the value (s) intended (s) to be loaded (s) in each / the identified block, in order to update said subset of values, using a transmission cycle of value (s) by block, according to a predetermined scheduling of cycles, by which the destination side identifies the destination block of the value (s) present on the conductive lines / the conductive line as a function of the cycle.
  • An update of the set of N B values (A0-A19) accessible in parallel can be carried out by the following successive cycles: - a first cycle comprising: - the identification by the source side of the block (s) comprising at least one value to be changed for the update, and - signaling at the destination side, during a first update cycle, of the block (s) comprising at least one value to be changed for the update, by means of the parallel conducting lines / of the conducting line, - followed by a cycle for the or each identified block, comprising: - the transmission by the source side of the value / all the values intended for the block, by means of the parallel conductor lines / conductive line, - at the destination side, the transfer and loading into the identified storage block, of the transmitted values, and - followed by a cycle comprising the transmission on the parallel conductive lines / the conductive line of the values / of the value (s) (s) complementary to the subset, so as to constitute the complete set of N B values accessible in parallel, the values of the subset being
  • the number of storage blocks is equal to the number N LLP of parallel conductive lines
  • - the number of storage lines per block is equal to the number N LLP of parallel conductive lines.
  • the N B values can be binary elements which collectively constitute a binary number of N B bits, said subset of values possibly constituting the most significant bits of the binary number.
  • the values of the set can be used as the parallel address of a memory.
  • the conductors / the conductive line constitute (s) all of the parallel lines of a bus / all of a bus used to transmit the binary number of N B bits.
  • the invention relates to a device for managing a bus comprising a number N LPP of conducting line (s), where N LPP is equal to or greater than 1, used to transmit a set of N B values intended to be accessible in parallel, where N B is greater than the number LPP of line (s), characterized in that the conducting lines / the conducting line have / has a double function: - a first function of constitution of a subset of values comprising N SE value (s) of said set, and - a second function of constituting the complement of said subset, by direct presentation of the N B -N SE complementary value (s) on of the respective conductive lines / the conductive line.
  • the number N LLP of conducting lines can be greater than 1, and these conducting lines can, in their second function, present the N B -N SE complementary values in parallel on / the respective individual lines.
  • the device can include: - means for loading said subset of values into storage means according to a pre-established protocol, using the conducting lines / conducting line in their / its first function, - means for directly presenting the / the N B -N SE complementary value (s) using / the respective conductive lines / the conductive line according to their / its second function.
  • the device can include: - means for managing the block storage means of at least one value, - management means for determining, for each block, whether the / each value already stored is equal to the value which must correspond in the set of values to be constituted, these means being operational for: - if so, keeping the block in the state, without loading data, - if not, loading in the block the value (s) which must / must correspond, by means of the conductive line (s) according to the pre-established protocol, using the conductive lines / the conductive line in their / its first function.
  • the set of N B values can be formed on a destination side from data sent from a source side, connected to the destination side via said conductive lines / said conductive line, the device possibly comprising: - means for storing, on the source side, the content of the storage means being located on the destination side, - means for comparing, on the source side, the values of the subset to be constituted with the corresponding values of the content stored on the source side, - means for determining, on on the basis of this comparison the value (s) of the subset received to be transmitted to the destination side to update the content of the storage means on the destination side.
  • the device can include means, at the source side, for signaling the identification of the block (s), the content of which must be updated, by a single message during a first cycle.
  • the number of lines is at least equal to the number of memory blocks into which the values of the subset are broken down, and, on the source side, each respective block can be assigned to a particular line according to a code of known correspondence on the source side and on the destination side, and the designation of a block can be indicated by a signal on a conducting line specifically assigned to this block.
  • the source side may include means for transmitting, via the conductive lines / the conductive line the value (s) intended to be loaded in each / the identified block, in order to update said subset of values, using a value transmission cycle (s) per block, according to a predetermined schedule of cycles, by which the destination side identifies the destination block of the value (s) present on the conductive lines / the conductive line depending on the cycle.
  • the device updates the set of N B values accessible in parallel by the following successive cycles: - a first cycle comprising: - the identification by the source side of the block (s) ) comprising at least one value to be changed for the update, and - signaling at the destination side, during a first update cycle, of the block (s) comprising at least one value to be changed for the update , by means of the parallel conducting lines / of the conducting line, - followed by a cycle for the or each identified block, comprising: - the transmission by the source side of the value / all the values intended for the block, by means parallel conductive lines / of the conductive line, - at the destination side, the transfer and loading into the identified memory block, of the values transmitted, and - monitoring of a cycle comprising the transmission on the parallel conductive lines / the guideline of the values / of the value (s) complementary to the subset, so as to constitute the complete set of N B values accessible in parallel, the values of the subset being accessible in parallel at the output of the
  • - the number of storage blocks is equal to the number N LLP of parallel conductive lines
  • - the number of storage lines per block is equal to the number N LLP of parallel conductive lines.
  • the N B values can be binary elements which collectively constitute a binary number of N B bits, of which said subset of values constitutes the most significant bits of the binary number.
  • the bus can be a parallel address bus of a memory.
  • the invention relates to a bus intended specifically for the device according to the second aspect, characterized in that it comprises said conducting lines / the conducting line, for transmitting, during a first operating mode, values intended for be stored on the reception side to constitute said subset of parallel values and, in a second operating mode, to supply, directly on its respective conductive lines / the conductive line, said values complementary to this subset.
  • the bus can be an address bus, an address bus of a memory.
  • the invention relates to a circuit intended to receive in parallel all the values of the device according to the second aspect, characterized in that it comprises a first series of inputs / first input connected to receive the respective outputs of the subset of values and a second series of inputs / second input connected to the conductive lines / to the conductive line to receive the complement to said subset.
  • the circuit can be a memory, the first and second series / first and second entries being address entries.
  • FIGS. 2a and 2b are flow diagrams of the stages of the process for managing the addresses of the memory in the context of the embodiment of FIG. 1, FIG. 2b being more particularly a routine executed following the flowchart of FIG.
  • FIG. 1 is an example of a first possibility of implementing the embodiment of Figure 1, with regard to the memory side management means (server side), where c he means are physically integrated into the component containing the memory
  • FIG. 4 is an example of a second possibility of implementing the embodiment of FIG. 1, as regards the management means on the memory side (server side), where these means are physically dissociated from the component containing the memory.
  • the embodiment of the invention is based on an application 1 which uses a memory plane 2, comprising an array of memory cells and an address decoder.
  • the addresses are transmitted by a client device (address generator) 4, which can be a central processing unit (CPU), a direct memory access device (known by the acronym DMA for "direct memory access") , Or other.
  • a client device address generator
  • the address decoder of the memory plane 2 has 20 parallel inputs of address A0 to Al 9, making it possible to select 2 20 different addresses, where A0 is the weakest bit and Al 9 is the most bit strong.
  • the addresses evolve on cycles of a clock ⁇ of timing.
  • the data to and from the memory plane pass through a separate BD data bus.
  • the values of the addresses A0 to A1 9 are supplied from the address generator device 4 by an address bus 6 which comprises a number of address lines - in this case four - less than the number of bits address, hence its designation "reduced address bus".
  • Each line is constituted by a respective electrical conductor of binary signal, physically produced by conventional metallization techniques.
  • the length of the bus 6 is arbitrary, depending on the separation between client device 4 and the memory plane 2, which can be relatively far apart.
  • the validation signal OE is supplied to the memory plane from the client device 4 on a separate line 8.
  • client side designates the end of the reduced address bus 6 located at the client device 4, and "server side” the opposite end of this address bus located at memory level 2.
  • the address generator is considered to be "client” in the sense that it requests access to the memory at the addresses that it supplies it; the memory is considered as a server, in the sense that it transmits the data stored at the addresses which are transmitted to it (in read mode), and (in registration mode, in the case of a writable memory) receives data to the addresses transmitted to it.
  • the four electrical conductors 6 1 to 6 to 4 of the reduced address bus have a double function: i) in low-bit evolution mode only: serve as parallel lines respective to the four bits of the lowest weights, the lines 6-1 to 6-4 being respectively wired to the connections of the address bits A0 to A3 of the memory plane; and ii) in the most significant bit evolution mode: convey logic signals making it possible to change the values of the most significant addresses A4 to A19 ("most significant" relative to the addresses A0-A3) at the respective parallel inputs of the memory plane.
  • lines 6-1 to 6-4 are also designated by the term “multipurpose line (s)".
  • the lines 6 1 to 6 4 are further connected, on the server side, to an input 10a on four pads of a logic unit 10 for sequencing and routing, programmed in logic cable.
  • This unit designated in the following "server logical unit”, constitutes a state machine which makes it possible to produce the values of the address bits A4 to A19 and to supply them to the memory plane 2 via four registers 12-1 to 12 -4, generally designated by the term “server registers" 12.
  • the successive states of the server logic unit 10 evolve over cycles of a clock input ⁇ which is synchronized with the phases of the application 1.
  • Each register server manages a block of four parallel address lines according to the following allocation: register 12-1: lines A4 to A7, register 12-2: lines A8 to Garlic, register 12-3: lines A12 to A15, and register 12 -4: lines A16 to A19.
  • each register has four parallel storage lines, each of a binary element.
  • Each storage line has a data input connected to a respective output of the server logic unit 10 and an output which locks this data, connected to the corresponding address line of the memory plane 2.
  • a register is active to lock the four logic states presented on all of its four input lines when its positioning input (designated SR-1 to SR-4 respectively for registers 12-1 to 12-4) is in logic state 1.
  • MPF 1
  • MPF 1
  • Each multipurpose line 6-1 to 6-4 of the bus designates one of the registers according to the following allocation: register 12-1: line 6-1, register 12-2: line 6-2, register 12-3: line 6-3, and register 12-4: line 6-4.
  • a logical state 1 on a general-purpose line indicates that the content of the register assigned to it must be updated; a logic state 0 on this line indicates that the content of the corresponding register remains unchanged for all of the latter's four storage lines. It should be noted that one or more, or all, of the registers can be designated as such for updating.
  • the server logic unit 10 analyzes the logic state on each of the lines 6-1 to 6-4 at its input 10a, and thus identifies the, or each, register designated for updating its content. 1.2.2.) If several registers are designated, the server logic unit 10 provides the order in which the registers must be updated. In the example, this order obeys the following order of priority: registers 12-1, 12-2, 12-3 then 12-4.
  • the server logic unit 10 selects the designated register to update (case of a single register to update), or the first register to update (case several registers to be updated) according to the above order. This selection is made by putting the positioning input ("set") of the selected register into logic 1, the other positioning inputs being put into logic 0. 1.3.) Cycle (s) programming of a designated register. This cycle immediately follows the register selection cycle.
  • the general-purpose lines 6-1 to 6-4 signal in accordance with the least significant bits evolution mode, the current logical values of the least significant bits A0 to A3. All of the address bits A0 to A19 are then updated at the input of the memory plane 2. It is noted that the process of the most significant bit evolution mode uses a variable number of cycles to update the most significant bits, this number being equal to the number of registers concerned by the update, increased by one (for the selection cycle). There are therefore no superfluous cycles as it could be the case in an approach of systematic re-recording of the data of all the registers with each evolution of state intervening on the pattern of the most significant bits.
  • a client logic unit 14 located on the client side of the bus 6, constitutes a state machine produced in wired logic, like the server unit 10.
  • the successive states of the client logic unit 14 evolve in synchronism with the signal d 'clock above, applied to its input.
  • the client unit 14 receives directly as input all the most significant address output lines A4 to A1 9 from the client device 4. From these data, it outputs: - on the one hand logic signals intended for a set of four registers, called customer registers 16-1 to 16-4, each comprising a block of four parallel storage lines.
  • the 16 storage lines in total store the values, designated MA4 to MA19, of the most significant addresses (respectively A4-A19) at the last update of the addresses (or of the first address expressed at start-up).
  • the four client registers 16-1 to 16-4 (generically designated 16) are analogous, and paired, respectively to the four server registers 12-1 to 12-4, and store the same logic states at the respective ends of the bus 6. For this Reason, the client registers 16-1 to 16-4 are considered as the mirror registers of the respective server registers 12-1 to 12-4.
  • the access lines to the customer registers 16 are represented as being bidirectional, each line being used functionally for the recording of a data and for the reading of this data.); and - on the other hand, the logic signals intended for each of the general-purpose parallel lines 6-1 to 6-4 of the reduced address bus, during the most significant bits evolution mode, and also the logic signals intended for the MPF signal lines and oE.
  • the client device of addresses 4 can transmit the signals directly on the versatile parallel lines 6-1 to 6-4 of address A0- A3 to the corresponding inputs A0-A3 of the memory plane 2, without disturbance by the outputs 14a of the client logic unit 14.
  • the operation of the client logic unit 14 is based on the following rules: 2.1) Establishment of the most significant bits evolution mode.
  • This mode is established if, during a new address cycle controlled by the client device 4, at least one most significant line A4-A19 at the output of the latter changes its logical value relative to that of the address cycle before.
  • the client logical unit 14 produces on the multipurpose parallel lines 6-1 to 6-4 of the bus the binary values which must be transferred for updating the server register 12- j (l ⁇ j ⁇ 4) selected by the server logical unit 10. To do this, the client logical unit 14 uses rule 1.3.1.) supra of correspondence between the lines and the registry entries to respect the client and server side data scheduling. 2.2.2.) In parallel, the client logical unit 14 registers, in the client register 16-j which is the mirror of the server register 12-j selected according to rule 2.2.1.) Above, the same binary values as those which have just been transferred to this selected server register 12-j.
  • the selected server register 12-j and the client register 16-j which is its mirror have the same updated values for the most significant address lines which are assigned to them. 2.2.3.) If the update among the most significant address bits A4-A19 concerns several registers, the logic unit 14 repeats on the transfer and update cycle of the corresponding client register 16-j, repeating the process described in the context of rules 2.2.1.) and 2.2.2.) above. The data having been entered on the multipurpose parallel lines 6-1 to 6-4 are read by the server logic unit 10 for updating the server registers 12, as explained above, in the update order specified. This rule 2.2.3.) Is repeated as many times as necessary until all the registers (client and, therefore, server) requiring an update are processed.
  • the client device of addresses 4 immediately reproduces on its outputs from address AO to Al 9 the values present just before inhibition.
  • the outputs 14a of the client logic unit 14 then do not emit a signal and have a high impedance.
  • the server registers 12 present the updated values A4-A19 to the corresponding address input connections of the memory plane 2, and likewise the general-purpose lines 6-1 to 6-4 present the values AO to A3 current to the corresponding address input connections of the memory plane.
  • FIGS. 2a and 2b are flowcharts which illustrate the processes described above, and which in particular make it possible to follow the steps executed on the client side and on the server side, respectively at the left and right halves of the flowcharts. The stages which appear in these flowcharts, being largely based on the explanations presented above, are described only briefly.
  • the flowchart of FIG. 2a shows the steps making it possible to decide on the setting in evolution mode of the most significant bits.
  • the address produced by the client device 4 is the first since it was started (determined in step E2)
  • the obligation to switch to the most significant bits evolution mode for the case of a first address after start-up can be waived, in particular if it is estimated that it is relatively probable that this first address does not imply reprogramming server registers; we can then avoid the delay imposed by the routine at this time.
  • the process begins directly at step E4.
  • the client logical unit 14 For the / each mirror register 16-x identified in step E20, the client logical unit 14 writes a logic value 1 on the versatile parallel line 6-x which corresponds to this register (1 ⁇ x ⁇ 4) (step E22 ).
  • the server logic unit 10 reads these values from the versatile parallel lines 6-1 to 6-4 of the bus 6 (step E24) and, from this information, records the identification (s) of the register (s) ) server to be updated (step E26). It then selects the identified register (case of a single identified server register), or the first server register to be updated (step S28).
  • the register to be updated at this stage selected in accordance with rule 1.2.2. above, bears the designation 12-j (1 ⁇ j ⁇ 4). This selection is made by the positioning inputs SR of the registers, by positioning that SRj of the selected register at 1, and all the other SRk (where k ⁇ j) at 0.
  • the client logic unit 14 writes on the multipurpose parallel lines 6-1 to 6-4 of the bus the four values of the respective four bits of address assigned to the server register 12-j (step E30).
  • the server logic unit 10 reads and writes the values of the multipurpose parallel lines 6-1 to 6-4 on the four respective storage inputs of the register 12-j (step E32).
  • the client logical unit 14 registers in its mirror register 16-j, paired with the server register 12-j, the same address values as those which have just been registered in the server register 12-j (step S34 ). It is noted that this registration step E34 can be carried out at any time, until the next comparison step E4.
  • the client logical unit 14 can also immediately register all the update data of all of its mirror registers 16-1 to 16-4 in a single sequence of operations, the data to be registered being identifiable and accessible. from the inputs of the client logic 14 which automatically receive and lock the address bits A4 to A19 at the output of the client device 4. If there is a next server register to be updated (interrogation step
  • this next register takes up the designation 12-j, and likewise its client-side mirror register takes up the designation 16-j (step E38), and the process is repeated with regard to steps E28 to E38.
  • This reiteration is repeated if necessary until all the contents of the server and mirror registers are up to date with respect to the current most significant address values A4 to Al 9 of the client device 4.
  • the server 10 and client 12 logical units automatically reposition themselves in the least significant bits evolution mode only.
  • the server logical unit 10 can then let the memory plane read the most significant address bits A4 to A19 from the server registers 12-1 to 12-4, and the address bits of low weight AO to A3 from the general-purpose parallel lines 6-1 to 6-4 of the reduced address bus 6. Then, the process returns to the comparison step E4. It is noted that the steps E2 to E8, on the client side, of determining a possible evolution in the most significant bits of a current address presented and of positioning / maintaining the evolution mode of the least significant bits only, operate sufficiently in advance of the arrival of the next address (step E10) to ensure normal timing of the address cycles of the memory plane when one remains in the evolution mode of least significant bits only. FIG.
  • FIG. 3 illustrates a memory device 18 which physically integrates all of the server-side hardware means of the embodiment of FIG. 1, namely the server logic unit 10 and the server registers 12. (These parts 10 and 12 are presented in a common block 20.)
  • the entire memory device 18 is integrated into the same chip 22.
  • the external connections to this chip necessary for the address of the network of cells 24 of the memory plane 24 are limited. to the multipurpose parallel lines of the reduced address bus 6. These being four in number (lines 6-1 to 6-4) in the example considered, only four connection pads 26 for connection on the chip 22 are therefore necessary for produce 20 parallel lines of address A0 to A1 9 at the address decoder 28 of the memory.
  • connection of the parallel lines of address A4 to A1 9 are carried out between the respective outputs of the server registers 12 of block 20 and the address decoder 28.
  • the external connection of the signal line MPF is connected directly to block 20 As mentioned above, this line can be omitted if the line of the OE signal is specific to the addressed memory. In this case, it is possible to signal the interruption of the address and at the same time the introduction of the most significant bits evolution mode only by this signal OE.
  • Figure 3 would then be modified by deleting the MPF signal line, and by an additional connection of the OE line to the MPF input, possibly with a logic inversion according to the logic rule used.
  • the chip 22 is encapsulated in a housing, the number of connection pins external to the housing would be reduced accordingly.
  • the figure does not detail the circuits 30 input / output of the data in memory and the data bus BD.
  • the block 20 comprising the server logic unit 10 and the registers 12 can be physically external to the memory device 22.
  • additional connection pads 32 are provided at the level of the memory device 18 for receiving the outputs of the most significant address bits A4 to A19 from block 20.
  • this variant remains advantageous from the point of view of the address bus 6 leading to block 20, this bus having a number reduced lines 6-1 to 6-1, as in the previous case.
  • the invention allows a very significant reduction in the number of connections of conductive lines, and therefore a corresponding reduction in electrical and electromagnetic disturbances, as well as in energy consumption, due to these lines.
  • the space gained by this reduction is a major advantage, especially with new on-board applications - and therefore miniaturized - which consume a lot of memory, such as advanced mobile phones offering multimedia services, etc.
  • the principle of the locality of addresses - according to which successive addresses frequently have address values which are also successive or neighboring - is very often followed.
  • the client logic unit 14 and / or the server logic unit 10 can / can be produced according to different technologies. In the example, these two units are in wired logic. Their construction is based in particular on selection, switching and shift register logic (for example for analyzing the logic states in step E24 above), and can be carried out in various ways according to techniques known in themselves.
  • one or each of the server / client logical units can be produced from a processor programmed to execute the described operating sequences.
  • the example of the description deliberately simple for the sake of simplicity and clarity, relates to a case of 20 bits of addresses AO to Al 9 managed at the level of the memory plane, from four parallel multipurpose lines 6- 1 to 6 -4 externally.
  • the lessons make it possible to manage an arbitrary number of address bits with an arbitrary number J > P of polyvalent parallel ignites externally.
  • the ratio between the number N B of address bits managed and the number of general-purpose parallel lines is also arbitrary. Indeed, the organization and the configuration of the server registers are free, and allow to accommodate all values of NLPP and NB (NLPP ⁇ NB) independently of each other.
  • N B ⁇ N LPP 2 + N LPP are possible according to several approaches, which can be taken separately or in combination: - by the use of server registers, one or some of which manage (s) a number of parallel entries less than N LPP defined above, - by using combinatorial and / or multiplexing techniques on multipurpose parallel lines to designate a server register to be updated.
  • the binary values present on all the parallel lines can correspond to a binary word / number among 2 power N LPP words / numbers possible, each or some being assigned (s) specifically to a particular server register, - by use combinatorial and / or multiplexing techniques on the versatile parallel lines for loading bit values on the parallel lines for storing a designated server register, - etc.
  • Some of these approaches may require a greater number of cycles to achieve the most significant bit evolution mode, but in return make it possible to use a smaller number of versatile parallel lines, or to manage a greater number of parallel bits.
  • the management of the server and client registers, and the operation of the server and client logical units will be adapted accordingly.
  • register accommodates, inter alia, any unitary storage block which can be selected individually, and comprising several parallel channels of data input and output, or even a single channel of input and data output. Materially, this memorization and the decomposition into unit blocks can be done by different means, for example with a single register appropriately compartmentalized.
  • the memory / the memory plane can be of any type and of any technology using parallel address inputs: the semiconductor memories, known by the acronym of RAM (random access memory) : - DRAM (dynamic random access memory), SRAM (static random access memory), MRAM (random access memory with magnetic effect), etc., programmable or pre-programmed memories (known by the acronym ROM): - EEPROM (electrically programmable memory) ), "Flash", ROM mask, etc.
  • the memory / the memory plan above can be produced in the form of a specific memory chip, or it can be an integral part of a circuit comprising other functional elements, such as a microcontroller, an interface, a set of memory plans. bound, etc.
  • the principles of the invention can also be used on applications other than an address bus.
  • the lessons can be transposed mutatis mutandis to a data bus, for example from a memory.
  • the transfer of data, as input or output can take place on a limited number of parallel lines, like multipurpose lines 6-1 to 6-1, used both in evolution mode of low order bits only and in high order bit change mode.
  • This implementation with data lines can be advantageous in applications where the data read or written are statistically frequently confined to a restricted range of values, which can be expressed by the same parallel lines, although their possible extent exceeds this range.
  • the invention can also be implemented in applications other than semiconductor memories, for example in optical, magnetic memories, etc.
  • each of the multipurpose parallel lines can be an individual optical fiber, which then constitutes a conductive line of light.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Communication Control (AREA)
  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)

Abstract

Procédé et dispositif de gestion d'un bus (6) comprenant un nombre NLPP de ligne(s) conductrice(s) (6-1-6-4), où NLPP est égal ou supérieur à 1, par laquelle/lesquelles on transmet un ensemble de NB valeurs (A0-A19) destinées à être accessibles en parallèle, où NB est supérieur au nombre NLPP de ligne(s), caractérisé en ce qu'il consiste à conférer une double fonction aux lignes conductrices (6-1-6- 4)/à la ligne conductrice : une première fonction de constitution d'un sous-ensemble de valeurs (A4- A19) comprenant N SE valeur(s) dudit ensemble (A0-A19) ; et une deuxième fonction de constitution du complément dudit sous-ensemble, par présentation directe de la/les NB- NSE valeur(s) complémentaire(s) sur des/les lignes conductrices respectives (6-1-6-4)/ la ligne conductrice.

Description

Procédé et dispositif de gestion d'un bus
L'invention concerne un procédé et dispositif de gestion d'un bus, par constitution d'un ensemble de valeurs accessibles en parallèle, au moyen d'un nombre réduit de lignes, par exemple pour réaliser un bus d'adresse d'un dispositif à mémoire. Dans l'exemple d'une mémoire semiconducteur, celle-ci comporte séparément un bus de données et un bus d'adresse. Cette dernière comprend un ensemble de lignes parallèles d'adresse, par lesquelles un mot binaire peut être exprimé pour préciser une adresse spécifique d'accès en lecture ou en inscription. Chaque ligne d'adresse correspond à un rang spécifique du mot binaire. Ainsi, avec une adresse en parallèle, l'état instantané d'un bus d'adresse à n lignes d'adresse (où n est un entier) permet de sélectionner une adresse parmi 2n. Le développement des capacités des mémoires fait accroître corrélativement le nombre n de lignes d'adresse nécessaires pour accéder à tous les emplacements de stockage possibles. A titre indicatif, une mémoire de 2 MO (Méga octets), soit 16 Méga bits, nécessite un bus d'adresse de 11 lignes pour un mode de fonctionnement sur un octet à accès sur un cycle, et une mémoire de 4 GO nécessite 32 lignes d'adresse en pareil cas. L'évolution de la miniaturisation des produits qui intègrent des mémoires importantes, comme les téléphones mobiles, les assistants numériques personnels, etc., n'est pas compatible avec l'utilisation d'un bus d'adresse comportant de nombreuses lignes d'adresse parallèles. En effet, cela crée en premier lieu des problèmes de connectique, puisque chaque ligne d'adresse doit être reliée physiquement à un plot de connexion, généralement en périphérie de la puce contentant la mémoire. Il s'ajoute à cela des problèmes de support physique des pistes conductrices du bus, notamment en ce qui concerne la place occupée et les interférences électriques et électromagnétiques importantes entre les pistes lorsque celles-ci sont nombreuses et rapprochées, surtout lorsque les fréquences de cycles sont très élevées. Par ailleurs, chaque ligne étant consommateur de courant, leur démultiplication est coûteuse en terme d'énergie, surtout pour des applications embarquées. Il a déjà été proposé dans le document US-A-4 644 469 des techniques de double conversion parallèle- série, série-parallèle visant à permettre d'accéder à adresses d'une mémoire avec un bus d'adresse au nombre L de lignes parallèles inférieur à n. L'approche est basée sur l'hypothèse que dans un mode d'accès systématique à la mémoire, les états des lignes de poids fort (i.e. celles qui expriment les puissances de 2 les plus élevées des composantes du nombre binaire) varient moins fréquemment que les états des lignes de poids faible. Partant de là, il est proposé de réserver aux lignes de poids faible une adresse normale, en mode parallèle, mais de pratiquer la double conversion précitée pour les lignes de poids fort. La démarcation entre les lignes de poids faible et de poids fort est fixe. Pour les lignes de poids fort, une conversion parallèle- série est effectuée en tête du bus, notamment en sortie du processeur qui commande les adresses. Les bits de poids forts sont alors véhiculés sur un seul conducteur à côté des conducteurs parallèles des bits de poids faible. La conversion série-parallèle est effectuée soit juste en amont de la mémoire, dans lequel cas celle-ci peut garder un brochage classique avec n broches d'adresse, soit au sein de la mémoire. Dans ce dernier cas, la mémoire présente un nombre réduit de connexions au bus d'adresse, moyennant des éléments de circuit pour réaliser la conversion série-parallèle en interne. Le convertisseur série- parallèle du côté de la mémoire mémorise les sorties parallèles de conversion et les présente en tant que bits de poids fort respectifs de la partie haute de l'adresse. Lorsque le contenu des sorties parallèles doit être modifié pour suivre une évolution de l'adresse qui implique au moins un bit de poids fort, une commande est transmise au convertisseur série-parallèle sur une ligne spécifique du bus. En réponse, la mémoire se met en attente durant le chargement des bits série et leur apparition sur les sorties parallèles du convertisseur. A chaque cycle de conversion réalisé pour faire évoluer la partie haute de l'adresse, tous les bits de poids fort sont systématiquement transférés en série et convertis. On note donc que la conversion nécessite un nombre fixe de cycles d'horloge, qui est en fonction directe avec le nombre de lignes de poids sujettes à la conversion série-parallèle, et durant laquelle la mémoire est hors service. Cette approche rigide n'est pas optimale, car elle impose un retard qui est lié non pas au nombre de bits à modifier lors d'une mise à jour de la partie haute de l'adresse, mais au nombre total de bits de la partie haute de l'adresse. A titre indicatif, si 16 lignes de poids fort sont sujettes à la double conversion, et seulement le contenu du bit accessible en seizième position du convertisseur série- parallèle nécessite d'être rafraîchi, le temps mort à l'adresse sera d'au moins 16 cycles (sans compter les cycles de signalisation), même si le changement d'état logique n'implique qu'une seule de ces lignes. Une autre technique connue par le document EP-A-0 628 916 vise à réduire le nombre total de lignes de connexion d'une mémoire, en proposant un bus multiplexe pour les bits d'adresse et de données, permettant notamment de réduire le nombre de terminaux externes d'une mémoire. Cette approche nécessite un contrôleur de multiplexage et de démultiplexage complexe, et impose une diminution systématique est importante de la vitesse d'accès à la mémoire. Au vu de ce qui précède, l'invention propose, selon un premier aspect, un procédé de gestion d'un bus comprenant un nombre NLPP de ligne(s) conductrice(s), où NLPP est égal ou supérieur à 1, par laquelle/lesquelles on transmet un ensemble de NB valeurs destinées à être accessibles en parallèle, où NB est supérieur au nombre NLPP de ligne(s), caractérisé en ce qu'il consiste à conférer une double fonction aux lignes conductrices/à la ligne conductrice : - une première fonction de constitution d'un sous -ensemble de valeurs comprenant NSE valeur(s) dudit ensemble, et - une deuxième fonction de constitution du complément dudit sous- ensemble, par présentation directe de la les NB-NSE valeur(s) complémentaire(s) sur des/les lignes conductrices respectives/la ligne conductrice. Avantageusement, le nombre NLLP de lignes conductrices est supérieur à 1, et ces lignes conductrices, dans leur deuxième fonction, présentent les NB-NSE valeurs complémentaires en parallèle sur des/les lignes individuelles respectives. Le procédé peut comprendre les étapes suivantes : - charger ledit sous -ensemble de valeurs dans des moyens de mémorisation selon un protocole préétabli, en utilisant les lignes conductrices/la ligne conductrice dans leur/sa première fonction, - présenter directement les la NB-NSE valeur(s) complémentaire(s) en utilisant des les lignes conductrices respectives/ la ligne conductrice selon leur/sa deuxième fonction. Le procédé peut comprendre une gestion des moyens de mémorisation par blocs d'au moins une valeur, et peut comprendre en outre les étapes de : - déterminer, pour chaque bloc, si la/chaque valeur déjà mémorisée est égale à la valeur qui doit correspondre dans l'ensemble de valeurs à constituer, - dans l'affirmatif, maintenir le bloc en l'état, sans chargement de données, - dans le cas contraire, charger dans le bloc la/les valeurs qui doit doivent correspondre, au moyens de la les ligne(s) conductrice(s) selon le protocole préétabli, en utilisant les lignes conductrices/ la ligne conductrice dans leur/sa première fonction. L'ensemble de NB valeurs peut être constitué à un côté destination à partir de données émises d'un côté source, relié ai côté destination via lesdites lignes conductrices/ ladite ligne conductrice, le procédé pouvant comprendre les étapes de : - mémoriser, du côté source, le contenu des moyens de mémorisation se situant du côté destination, - comparer, du côté source, les valeurs du sous ensemble à constituer avec les valeurs correspondantes du contenu mémorisé du côté source, - déterminer sur la base de cette comparaison la/les valeur(s) du sous- ensemble reçu à transmettre au côté destination pour actualiser le contenu des moyens de mémorisation du côté destination. Dans un mode de réalisation, le côté source signale au côté destination l'identification du/des blocs, dont le contenu doit faire l'objet d'une mise à jour, par un seul message durant un premier cycle, le no mbre de lignes étant au moins égal au nombre de blocs de mémorisation en quels sont décomposées les valeurs du sous- ensemble, et, du côté source, chaque bloc respectif peut être attribué à une ligne particulière selon un code de correspondance connu au niveau du côté source et du côté destination, la désignation d'un bloc étant signalée par un signal sur une ligne conductrice spécifiquement attribuée à ce bloc. Le côté source peut transmettre via les lignes conductrices/la ligne conductrice les/la valeur(s) destinée(s) à être chargée(s) dans chaque/ le bloc identifié, afin d'actualiser ledit sous ensemble de valeurs, en utilisant un cycle de transmission de valeur(s) par bloc, selon un ordonnancement préétabli des cycles, par lequel le côté destination identifie le bloc destinataire de la valeur/des valeurs présente(s) sur les lignes conductrices/ la ligne conductrice en fonction du cycle. Une mise à jour de l'ensemble de NB valeurs (A0-A19) accessibles en parallèle peut être effectuée par les cycles successifs suivants : - un premier cycle comprenant : - l'identification par le côté source du/des bloc(s) comportant au moins une valeur à changer pour la mise à jour, et - le signalement au côté destination, durant un premier cycle de mise à jour, du/des bloc(s) comportant au moins une valeur à changer pour la mise à jour, au moyen des lignes conductrices parallèles/ de la ligne conductrice, - suivi d'un cycle pour le ou chaque bloc identifié, comprenant : - la transmission par le côté source de la valeur/l'ensemble des valeurs destinées au bloc, au moyen des lignes conductrices parallèles/ de la ligne conductrice, - au niveau du côté destination, le transfert et le chargement dans le bloc de mémorisation identifié, des valeurs transmises, et - suivi d'un cycle comprenant la transmission sur les lignes conductrices parallèles/la ligne conductrice des valeurs/de la/des valeur(s) complémentaire(s) au sous -ensemble, de sorte à constituer l'ensemble complet des NB valeurs accessibles en parallèle, les valeurs du sous-ensemble étant accessibles en parallèle en sortie des blocs de mémorisation du côté destination, et les valeurs/la valeur complémentaire(s) au sous -ensemble étant présentée(s) directement sur les lignes conductrices respectives/la ligne conductrice. Dans le mode de réalisation : - le nombre de blocs de mémorisation est égal au nombre NLLP de lignes conductrices parallèles, et - le nombre de lignes de mémorisation par bloc est égal au nombre NLLP de lignes conductrices parallèles. Les NB valeurs peuvent être des éléments binaires qui constituent collectivement un nombre binaire de NB bits, ledit sous-ensemble de valeurs pouvant constituer les bits de poids fort du nombre binaire. Les valeurs de l'ensemble peuvent être utilisées en tant qu'adresse parallèle d'une mémoire. Dans le mode de réalisation, les conductrices /la ligne conductrice constitue(nt) l'intégralité des lignes parallèles d'un bus/1'intégralité d'un bus utilisé(es) pour transmettre le nombre binaire de NB bits. Selon un deuxième aspect, l'invention concerne un dispositif de gestion d'un bus comprenant un nombre nombre NLPP de ligne(s) conductrice(s), où NLPP est égal ou supérieur à 1, servant à transmettre un ensemble de NB valeurs destinées à être accessibles en parallèle, où NB est supérieur au nombre NLPP de ligne(s), caractérisé en ce les lignes conductrices/ la ligne conductrice ont/a une double fonction : - une première fonction de constitution d'un sous -ensemble de valeurs comprenant NSE valeur(s) dudit ensemble, et - une deuxième fonction de constitution du complément dudit sous- ensemble, par présentation directe de la/les NB-NSE valeur(s) complémentaire(s) sur des/les lignes conductrices respectives/ la ligne conductrice. Le nombre NLLP de lignes conductrices peut être supérieur à 1, et ces lignes conductrices peuvent, dans leur deuxième fonction, présenter les NB-NSE valeurs complémentaires en parallèle sur des/les lignes individuelles respectives. Le dispositif peut comprendre : - des moyens pour charger ledit sous -ensemble de valeurs dans des moyens de mémorisation selon un protocole préétabli, en utilisant la les lignes conductrices/ ligne conductrice dans leur/sa première fonction, - des moyens pour présenter directement les/la NB-NSE valeur(s) complémentaire(s) en utilisant des/les lignes conductrices respectives/la ligne conductrice selon leur/sa deuxième fonction. Le dispositif peut comprendre : - des moyens de gestion des moyens de mémorisation par blocs d'au moins une valeur, - des moyens de gestion pour déterminer, pour chaque bloc, si la/chaque valeur déjà mémorisée est égale à la valeur qui doit correspondre dans l'ensemble de valeurs à constituer, ces moyens étant opérationnels pour : - dans l'affirmatif, maintenir le bloc en l'état, sans chargement de données, - dans le cas contraire, charger dans le bloc la/les valeurs qui doit/doivent correspondre, au moyens de la/les ligne(s) conductrice(s) selon le protocole préétabli, en utilisant les lignes conductrices/ la ligne conductrice dans leur/sa première fonction. L'ensemble de NB valeurs peut être constituée à un côté destination à partir de données émises d'un côté source, relié au côté destination via lesdites lignes conductrices/ ladite ligne conductrice, le dispositif pouvant comprendre : - des moyens pour mémoriser, du côté source, le contenu des moyens de mémorisation se situant du côté destination, - des moyens pour comparer, du côté source, les valeurs du sous ensemble à constituer avec les valeurs correspondantes du contenu mémorisé du côté source, - des moyens pour déterminer, sur la base de cette comparaison la/les valeur(s) du sous-ensemble reçu à transmettre au côté destination pour actualiser le contenu des moyens de mémorisation du côté destination. Le dispositif peut comprendre des moyens, au côté source, pour signaler au côté destination l'identification du/des blocs, dont le contenu doit faire l'objet d'une mise à jour, par un seul message durant un premier cycle. Dans un mode de réalisation, le nombre de lignes est au moins égal au nombre de blocs de mémorisation en quels sont décomposées les valeurs du sous- ensemble, et, du côté source, chaque bloc respectif peut être attribué à une ligne particulière selon un code de correspondance connu au niveau du côté source et du côté destination, et la désignation d'un bloc peut être signalée par un signal sur une ligne conductrice spécifiquement attribuée à ce bloc. Le côté source peut comprendre des moyens pour transmettre, via les lignes conductrices /la ligne conductrice les/la valeur(s) destinée(s) à être chargée(s) dans chaque/le bloc identifié, afin d'actualiser ledit sous ensemble de valeurs, en utilisant un cycle de transmission de valeur(s) par bloc, selon un ordonnancement préétabli des cycles, par lequel le côté destination identifie le bloc destinataire de la valeur/des valeurs présente(s) sur les lignes conductrices/ la ligne conductrice en fonction du cycle. Dans un mode de réalisation, le dispositif effectue une mise à jour de l'ensemble de NB valeurs accessibles en parallèle par les cycles successifs suivants : - un premier cycle comprenant : - l'identification par le côté source du/des bloc(s) comportant au moins une valeur à changer pour la mise à jour, et - le signalement au côté destination, durant un premier cycle de mise à jour, du/des bloc(s) comportant au moins une valeur à changer pour la mise à jour, au moyen des lignes conductrices parallèles / de la ligne conductrice, - suivi d'un cycle pour le ou chaque bloc identifié, comprenant : - la transmission par le côté source de la valeur/l'ensemble des valeurs destinées au bloc, au moyen des lignes conductrices parallèles/ de la ligne conductrice, - au niveau du côté destination, le transfert et le chargement dans le bloc de mémorisation identifié, des valeurs transmises, et - suivi d'un cycle comprenant la transmission sur les lignes conductrices parallèles/la ligne conductrice des valeurs/de la/des valeur(s) complémentaire(s) au sous -ensemble, de sorte à constituer l'ensemble complet des NB valeurs accessibles en parallèle, les valeurs du sous-ensemble étant accessibles en parallèle en sortie des blocs de mémorisation du côté destination, et les valeurs/la valeur complémentaire(s) au sous -ensemble étant présentée(s) directement sur les lignes conductrices respectives/la ligne conductrice. Dans un mode de réalisation : - le nombre de blocs de mémorisation est égal au nombre NLLP de lignes conductrices parallèles, et - le nombre de lignes de mémorisation par bloc est égal au nombre NLLP de lignes conductrices parallèles. Les NB valeurs peuvent être des éléments binaires qui constituent collectivement un nombre binaire de NB bits, dont ledit sous -ensemble de valeurs constitue les bits de poids fort du nombre binaire. Le bus peut être un bus d'adresse parallèle d'une mémoire. Selon un troisième aspect, l'invention concerne un bus destiné spécifiquement au dispositif selon le deuxième aspect, caractérisé en ce qu'il comprend lesdites lignes conductrices /la ligne conductrice, pour transmettre, lors d'un premier mode fonctionnement, des valeurs destinées à être mémorisées côté réception pour constituer ledit sous- ensemble de valeurs parallèles et, lors d'un deuxième mode de fonctionnement, pour fournir, directement sur ses lignes conductrices respectives/la ligne conductrice, lesdites valeurs complémentaires à ce sous- ensemble. Le bus peut être un bus d'adresse, un bus d'adresse d'une mémoire. Selon un quatrième aspect, l'invention concerne un circuit destiné à recevoir en parallèle l'ensemble des valeurs du dispositif selon le deuxième aspect, caractérisé en ce qu'il comprend une première série d'entrées/première entrée reliée(s) pour recevoir les sorties respectives du sous -ensemble de valeurs et une deuxième série d'entrées/deuxième entrée reliée(s) aux lignes conductrices/à la ligne conductrice pour recevoir le complément audit sous -ensemble. Le circuit peut être une mémoire, les première et deuxième séries/première et deuxième entrées étant des entrées d'adresse. L'invention et les avantages qui en découlent seront mieux compris à la lumière de la description des modes de réalisation préférés qui suit, donnée purement à titre indicatif et non- limitatif, par référence aux dessins annexés, dans lesquels : - la figure 1 est un schéma de principe d'un mode de réalisation appliqué à une mémoire, permettant de comprendre les principes mis en œuvre conformément à l'invention, - les figures 2a et 2b sont des organigrammes des étapes du déroulement du processus de gestion des adresses de la mémoire dans le cadre du mode de réalisation de la figure 1, la figure 2b étant plus particulièrement une routine exécutée à la suite de l'organigramme de la figure 2a lorsqu'il y a une évolution des bits de poids fort de l'adresse, - la figure 3 est un exemple d'une première possibilité de mise en œuvre du mode de réalisation de la figure 1, pour ce qui concerne les moyens de gestion du côté de la mémoire (côté serveur), où ces moyens sont matériellement intégrés au composant contenant la mémoire, et - la figure 4 est un exemple d'une deuxième possibilité de mise en œuvre du mode de réalisation de la figure 1, pour ce qui concerne les moyens de gestion du côté de la mémoire (côté serveur), où ces moyens sont matériellement dissociés du composant contenant la mémoire. Ainsi que le montre la figure 1, le mode de réalisation de l'invention est basée sur une application 1 qui utilise un plan mémoire 2, comprenant un réseau de cellules mémoire et un décodeur d'adresses. Les adresses sont transmises par un dispositif client (générateur d'adresses) 4, qui peut être une unité centrale (CPU), un dispositif d'accès direct à la mémoire (connu par l'acronyme anglais DMA pour "direct memory access"), ou autre. Dans l'exemple, le décodeur d'adresses du plan mémoire 2 présente 20 entrées parallèles d'adresse A0 à Al 9, permettant de sélectionner 220 adresses différentes, où A0 est le bit le plus faible et Al 9 est le bit le plus fort. Le plan mémoire 2 est réceptif à une adresse lorsque son entrée de validation OE est actif (OE=l). Les adresses évoluent sur des cycles d'une horloge φ de cadencement. Les données vers et du plan mémoire transitent par un bus de données BD à part. Conformément à l'invention, les valeurs des adresses A0 à Al 9 sont fournies depuis le dispositif générateur d'adresses 4 par un bus adresse 6 qui comporte un nombre de lignes d'adresse - en l'occurrence quatre - inférieur au nombre de bits d'adresse, d'où sa désignation de "bus adresse réduit". Chaque ligne est constituée par un conducteur électrique respectif de signal binaire, physiquement réalisé par des techniques classiques de métallisation. La longueur du bus 6 est arbitraire, dépendant de la séparation entre dispositif client 4 et le plan mémoire 2, lesquels peuvent être relativement éloignés. Le signal de validation OE est feurni au plan mémoire à partir du dispositif client 4 sur une ligne à part 8. Dans ce qui suit, on désigne "côté client" l'extrémité du bus adresse réduit 6 située au niveau du dispositif client 4, et "côté serveur" l'extrémité opposée de ce bus adresse située au niveau du plan mémoire 2. (Le générateur d'adresses est considéré comme "client" en ce sens qu'il demande l'accès à la mémoire aux adresses qu'il lui fournit ; la mémoire est considérée comme un serveur, en ce sens qu'elle émet les données stockées aux adresses qui lui sont transmises (en mode lecture), et (en mode inscription, dans le cas d'une mémoire inscriptible) réceptionne des données aux adresses qui lui sont transmises.) Les quatre conducteurs électriques 6- 1 à 6-4 du bus d'adresse réduit ont une double fonction : i) en mode évolution bits poids faible seulement : servir de lignes parallèles respectives des quatre bits de poids les plus faibles, les lignes 6- 1 à 6-4 étant câblées respectivement aux connexions des bits d'adresse A0 à A3 du plan mémoire ; et ii) en mode évolution bits poids fort : véhiculer des signaux logiques permettant de faire évoluer les valeurs des adresses A4 à A19 de poids fort ("poids fort" relativement aux adresses A0-A3) aux entrées parallèles respectives du plan mémoire. En raison de leur double fonction, les lignes 6-1 à 6-4 sont désignées également par le terme "ligne(s) polyvalente(s)". Pour assurer la fonction en mode évolution poids fort, les lignes 6- 1 à 6-4 sont en outre connectées, au côté serveur, à une entrée 10a sur quatre plots d'une unité logique 10 de séquencement et de routage, programmée en logique câblée. Cette unité, désignée dans ce qui suit "unité logique serveur", constitue une machine d'états qui permet de produire les valeurs des bits d'adresse A4 à A19 et de les fournir au plan mémoire 2 via quatre registres 12-1 à 12-4, désignés globalement par le terme "registres serveurs" 12. Les états successifs de l'unité logique serveur 10 évoluent sur des cycles d'une entrée d'horloge φ qui est synchronisée avec les phases de l'application 1. Chaque registre serveur gère un bloc de quatre lignes parallèles d'adresse selon l'attribution suivante : registre 12-1 : lignes A4 à A7, registre 12-2 : lignes A8 à Ail, registre 12-3 : lignes A12 à A15, et registre 12-4 : lignes A16 à A19. A cette fin, chaque registre comporte quatre lignes parallèles de mémorisation, chacune d'un élément binaire. Chaque ligne de mémorisation a une entrée de donnée reliée à une sortie respective de l'unité logique serveur 10 et une sortie qui verrouille cette donnée, reliée à la ligne d'adresse correspondante du plan mémoire 2. Un registre est actif pour verrouiller les quatre états logiques présentés sur l'ensemble de ses quatre lignes d'entrée lorsque son entrée de positionnement (désigné SR-1 à SR-4 respectivement pour les registres 12-1 à 12-4) est à l'état logique 1. (Cette entrée est aussi connue par entrée "set" en terminologie anglo-saxonne.) Ces entrées de positionnement SR-1 - SR4 sont pilotées individuellement par l'unité logique serveur 10, sur des sorties respectives de celle-ci. Lorsque l'entrée de positionnement est à l'état logique 0 pour un registre, les quatre sorties de ce dernier sont maintenues bloquées à l'état mémorisé à la dernière mise à jour, quel que soit le contenu binaire présenté ultérieurement en entrée des quatre lignes de mémorisation. Les valeurs d'adresse poids fort sont programmées dans les registres serveur 12 durant un mode de fonctionnement désigné "mode évolution bits poids fort". Ces valeurs d'adresse sont alors obtenues en fonction de motifs de bits présentés à l'entrée 10a depuis les lignes conductrices polyvalentes 6-1 à 6-4 durant des cycles successifs de l'horloge φ de cadencement, selon les règles suivantes qui régissent les cycles de programmation des registres 12 : 1.1) Mise en mode évolution bits poids fort. Ce mode est signalé à l'unité logique client 10 par un signal logique MPF (MPF=1) sur une ligne associée au bus 6. En variante, le mode évolution bits poids fort peut être signalé uniquement par le positionnement du signal OE à OE=0, si cela n'interfère pas avec d'autres mémoires reliées à la ligne 8 qui véhicule ce signal ; 1.2) Cycle initial de sélection de registre(s). Chaque ligne polyvalente 6-1 à 6-4 du bus désigne l'un des registres selon l'attribution suivante : registre 12-1 : ligne 6-1, registre 12-2 : ligne 6-2, registre 12-3 : ligne 6-3, et registre 12-4 : ligne 6-4. 1.2.1) Un état logique 1 sur une ligne polyvalente indique que le contenu du registre qui lui est attribué doit être mis à jour ; un état logique 0 sur cette ligne indique que le contenu du registre correspondant reste inchangé pour l'intégralité des quatre lignes de mémorisation de ce dernier. On note qu'un registre ou plusieurs, voire tous, peut/peuvent être désigné(s) ainsi pour une mise à jour. L'unité logique serveur 10 analyse l'état logique sur chacune des lignes 6-1 à 6-4 à son entrée 10a, et identifie ainsi le, ou chaque, registre désigné pour une mise à jour de son contenu. 1.2.2.) Si plusieurs registres sont désignés, l'unité logique serveur 10 prévoit l'ordre dans lequel les registres doivent être mis à jour. Dans l'exemple, cet ordre obéit l'ordre de priorité suivant : registres 12-1, 12-2, 12-3 puis 12-4. La mise à jour s'effectue donc d'abord sur les registres ayant les bits les moins forts. 1.2.3.) A la fin du cycle initial supra, l'unité logique serveur 10 sélectionne le registre désigné à mettre à jour (cas d'un seul registre à mettre à jour), ou le premier registre à mettre à jour (cas de plusieurs registres à mettre à jour) selon l'ordre précité. Cette sélection s'opère par la mise à l'état logique 1 de l'entrée de positionnement ("set") du registre sélectionné, les autres entrées de positionnement étant mises à l'état logique 0. 1.3.) Cycle(s) de programmation d'un registre désigné. Ce cycle suit immédiatement le cycle de sélection de registres. 1.3.1) Les états logiques présents en parallèle sur les quatre lignes polyvalentes 6-1 à 6-4 du bus deviennent alors les quatre valeurs logiques que l'unité logique serveur 10 transfert depuis son entrée 10a aux quatre lignes d'entrée respectives du registre sélectionné, selon les attributions suivantes : ligne 6- 1 : ligne d'entrée de poids le plus faible (du registre désigné), ligne 6-2 : ligne d'entrée du deuxième poids le plus faible, ligne 6-3 : ligne d'entrée du deuxième poids le plus fort, ligne 6-4 : ligne d'entrée du poids le plus fort. Ensuite, l'entrée de positionnement du registre sélectionné est remise à l'état 0 pour verrouiller les états logiques venant d'y être inscrits . 1.3.2.) Si plusieurs registres ont été sélectionnés au cycle de sélection de registre(s), le cycle de programmation est effectué selon la règle 1.3.1.) successivement pour chaque registre sélectionné. A la fin du ou des cycle(s) de programmation de registre(s), l'ensemble des valeurs des lignes d'adresse A4 à A19 en sortie des registres 12-1 à 12-4 est à jour.
Le mode évolution bits poids forts est alors terminé et le signal MPF passe à MPF=0. Ensuite, les lignes polyvalentes 6- 1 à 6-4 signalent, conformément au mode évolution bits poids faible seulement, les valeurs logiques actuelles des bits de poids faible A0 à A3. L'ensemble des bits d'adresse A0 à A19 est alors actualisé en entrée du plan mémoire 2. On note que le processus du mode évolution bits poids fort utilise un nombre variable de cycles pour réaliser la mise à jour des bits de poids forts, ce nombre étant égale au nombre de registres concernés par la mise à jour, augmenté de un (pour le cycle de sélection). Il n'y a donc pas de cycles superflus comme cela pourrait être le cas dans une approche de ré- inscription systématique des données de tous les registres à chaque évolution d'état intervenant sur le motif des bits de poids fort. En mode évolution bits poids forts, le séquencement et la sortie des données nécessaires sur les lignes parallèles polyvalentes 61 à 6-4, ainsi que des signaux MPF et OE précités, sont assurés par une unité logique client 14, dite de comparaison et de transfert. Cette unité, située du côté client du bus 6, constitue une machine d'états réalisée en logique câblée, à l'instar de l'unité serveur 10. Les états successifs de l'unité logique client 14 évoluent en synchronisme avec le signal d'horloge φ précité, appliqué à son entrée. L'unité client 14 reçoit en entrée directement toutes les lignes de sortie d'adresse de poids fort A4 à Al 9 du dispositif client 4. A partir de ces données, elle produit en sortie : - d'une part des signaux logiques destinés à un ensemble de quatre registres, dits registres client 16-1 à 16-4, chacun comportant un bloc de quatre lignes parallèles de mémorisation. Les 16 lignes de mémorisation au total mémorisent les valeurs, désignées MA4 à MA19, des adresses de poids fort (respectivement A4-A19) à la dernière mise à jour des adresses (ou de la première adresse exprimée au démarrage). Les quatre registres client 16-1 à 16-4 (désignés génériquement 16) sont analogues, et appariés, respectivement aux quatre registres serveur 12-1 à 12-4, et mémorisent les mêmes états logiques aux extrémités respectives du bus 6. Pour cette raison, les registres client 16-1 à 16-4 sont considérés comme les registres miroirs des registres serveur 12-1 à 12-4 respectifs. (Par souci de simplification du schéma de principe, les lignes d'accès aux registres client 16 sont représentées comme étant bidirectionnelles, chaque ligne servant fonctionnellement à l'inscription d'une donnée et à la lecture de cette donnée.) ; et - d'autre part les signaux bgiques destinés à chacune des lignes parallèles polyvalentes 6-1 à 6-4 du bus d'adresse réduit, durant le mode évolution bits poids forts, et aussi les signaux logiques destinés aux lignes de signaux MPF et OE. En outre, l'unité logique client 14 émet un signal HALT à destination du dispositif client 4. Ce signal est actif (HALT=1) en mode évolution bits poids forts pour inhiber la sortie de nouvelles adresses depuis dispositif client. Pour produire ces signaux logiques destinés à chacune des lignes parallèles polyvalentes 6-1 à 6-4 du bus d'adresse réduit, l'unité logique client 14 comprend un ensemble de quatre connexions de sortie 14a, chaque connexion étant câblée à une ligne parallèle polyvalente respective. Ces sorties 14a peuvent forcer un état logique sur les lignes parallèles polyvalentes 6-1 à 6-4 durant le mode évolution bits poids fort. En effet, dans ce mode, lorsque HALT=1, les connexions des sorties AO à A3 du dispositif client 4 sont orientées sur des états de haute impédance, grâce à un multiplexeur (non représenté). Par contre, les sorties 14a de l'unité logique client se positionnent à un état de haute impédance en mode évolution bits poids faible seulement (HALT=0), afin de ne pas influencer les états logiques des bits d'adresse qui sont alors normalement produits aux sorties AO à A3 du dispositif client d'adresses 4. De la sorte, en mode évolution bits poids faible seulement, le dispositif client d'adresses 4 peut émettre directement sur les ligne parallèles polyvalentes 6-1 à 6-4 les signaux d'adresse A0- A3 aux entrées correspondante A0-A3 du plan mémoire 2, sans perturbation par les sorties 14a de l'unité logique client 14. Le fonctionnement de l'unité logique client 14 est basé sur les règles suivantes : 2.1) Instauration du mode évolution bits poids fort. Ce mode est instauré si, lors d'un nouveau cycle d'adresse commandé par le dispositif client 4, au moins une ligne de poids fort A4-A19 en sortie de ce dernier change de valeur logique par rapport à celle du cycle d'adresse précédant. Les registres client 16 servent à détecter un tel changement, par comparaison entre la valeur MAi stockée et la valeur de la nouvelle adresse Ai en sortie du dispositif client 4, pour i=4 à i=19. Les valeurs des signaux A4 à Al 9 lues directement en sortie du dispositif client 4 pour réaliser cette comparaison sont verrouillées sur les entrées de l'unité logique client 14. De la sorte, celle-ci peut ensuite inhiber les sorties d'adresses de l'unité client 4, en émettant le signal HALT=1, sans perdre les valeurs A4 à A19 de la nouvelle adresse. Ces nouvelles valeurs peuvent alors être utilisées durant les cycles ultérieurs de mise à jour. 2.1.1.) Si un changement est ainsi détecté, l'unité logique client 14 instaure le mode évolution bits poids fort en inscrivant les états logiques : MPF=1, OE=0. Ces états sont maintenus pendant toute la durée du mode évolution bits poids fort. Dans le cas contraire, l'unité logique client maintient, ou instaure, le mode évolution bits poids faible seulement en maintenant ou en inscrivant les états logiques MPF=0, OE=1. 2.2) Déroulement du mode évolution bits poids fort. Une fois que le mode évolution bits poids fort est instauré, l'unité logique client 14 produit sur les lignes parallèles polyvalentes 6- 1 à 6-4 du bus l'état/les états logique(s) de sélection du/des registre(s) serveur à mettre à jour, conformément au protocole de désignation précisée par les règles 1.2.1. et 1.2.2. supra. Cette inscription est effectuée durant le cycle d'adresse auquel se produit le changement dans les valeurs d'adresses parmi les lignes de poids fort A4-A19. 2.2.1.) Au cycle d'horloge suivant, l'unité logique client 14 produit sur les lignes parallèles polyvalentes 6-1 à 6-4 du bus les valeurs binaires qui doivent être transférées pour la mise à jour du registre serveur 12-j (l≤j<4) sélectionné par l'unité logique serveur 10. Pour ce faire, l'unité logique client 14 utilise la règle 1.3.1.) supra de correspondance entre les lignes et les entrées de registre pour respecter l'ordonnancement des données du côté client et du côté serveur. 2.2.2.) En parallèle, l'unité logique client 14 inscrit, dans celui 16-j des registres client qui est le miroir du registre serveur 12-j sélectionné selon la règle 2.2.1.) supra, les mêmes valeurs binaires que celles qui viennent d'être transférées vers ce registre serveur sélectionné 12-j. De la sorte, le registre serveur sélectionné 12-j et le registre client 16-j qui lui est son miroir ont les mêmes valeurs mises à jour pour les lignes d'adresse de poids fort qui leur sont attribuées. 2.2.3.) Si la mise à jour parmi les bits adresse de poids fort A4-A19 concerne plusieurs registres, l'unité logique 14 répète au cycle transfert et de mise à jour du registre client 16-j correspondant, en répétant le processus décrit dans le cadre des règle 2.2.1.) et 2.2.2.) supra. Les données ayant été inscrites sur les lignes parallèles polyvalentes 6- 1 à 6-4 sont lues par l'unité logique serveur 10 pour la mise à jour des registres serveur 12, comme expliqué surpra, dans l'ordre de mise à jour précisé. Cette règle 2.2.3.) est répétée autant de fois que nécessaire jusqu'à ce que tous les registres (client et, par conséquent, serveur) nécessitant une mise à jour soient traités. 2.2.4.) A l'issu du processus de la règle 2.2.3.) supra, l'unité logique client 14 bascule du mode évolution bits poids forts au mode évolution bits poids faible seulement, en inscrivant les états logiques MPF=0, OE=l et HALT=0. A la transition du signal HALT de 1 à 0, le dispositif client d'adresses 4 reproduit aussitôt sur ses sorties d'adresse AO à Al 9 les valeurs présentes juste avant l'inhibition. On retrouve alors les valeurs actuelles des adresses de poids faible AO à A3 sur les lignes polyvalentes respectives 6-1 à 6-4 du bus, celles-ci remplissant alors le rôle de lignes parallèles d'adresse AO à A3 de poids faible pour le plan mémoire 2. Les sorties 14a de l'unité logique client 14 n'émettent alors pas de signal et présentent une haute impédance. On remarque que si M est le nombre de registres nécessitant une mise à jour (1 < M < 4), le nombre de cycles occupé par le mode évolution bits poids forts est M+l. A l'issu de ce mode, les registres serveur 12 présentent les valeurs A4-A19 à jour aux connexions d'entrée d'adresse correspondantes du plan mémoire 2, et de même les lignes polyvalentes 6-1 à 6-4 présentent les valeurs AO à A3 actuelles aux connexions d'entrée adresse correspondantes du plan mémoire. Tant qu'une nouvelle adresse produite par le dispositif client 4 n'implique pas de changement de valeurs des bits adresse de poids fort A4-A19, les registres serveur 12 continueront à présenter les bonnes valeurs aux entrées adresse A4-A19 du plan mémoire 2. Les différences d'adresse ne sont alors exprimées que par les bits de poids faible A0-A3, dont les évolutions sont communiquées simultanément et directement par les lignes parallèles polyvalentes 6-1 à 6-4 du bus d'adresse réduite. Les figures 2a et 2b sont des organigrammes qui illustrent les processus décrits supra, et qui permettent notamment de suivre les étapes exécutées du côté client et du côté serveur, respectivement aux moitiés gauche et droite des organigrammes. Les étapes qui figurent dans ces organigrammes, étant en grande partie basées sur les explications présentées supra, ne sont décrites que brièvement. L'organigramme de la figure 2a montre les étapes permettant de décider de la mise en mode évolution bits poids fort. Dans l'exemple, si l'adresse produite par le dispositif client 4 est la première depuis son démarrage (déterminé à l'étape E2), il est prévu de procéder de facto en mode évolution bits poids fort (routine RI). En variante, l'obligation de passer en mode évolution bits poids fort pour le cas d'une première adresse après démarrage peut être levée, notamment s'il est estimé qu'il est relativement probable que cette première adresse n'implique pas une reprogrammation des registres serveurs ; on peut alors éviter à ce moment le retard imposé par la routine. Suivant cette variante, le processus commence directement à l'étape E4. L'étape suivante (ou la première étape dans le cas de la variante supra) E4 comprend la comparaison des valeurs des bits Ai de poids forts A4- Al 9 de l'adresse courante (nouvelle adresse) indiquée par le dispositif client 4 avec les valeurs correspondantes MAi des registres client (miroirs) 16-1 à 16-4. Si toutes les paires de valeurs Ai et MAi comparées sont identiques (cf. étape E6), le mode évolution bits poids faible seulement est sélectionné ou maintenu. En conséquence, l'unité logique client 14 positionne/maintient les valeurs des signaux MPF=0 ; OE=l et HALT=0 (étape E8), et se met en attente d'une nouvelle adresse (nouveau cycle d'adresse) du dispositif client (étape E10). Lorsqu'une nouvelle adresse apparaît, le processus retourne à l'étape E4 de comparaison. Si au moins une paire de valeurs Ai et MAi comparée n'est pas identique (cf. étape E6), le mode évolution bits poids fort est sélectionné ou maintenu. En conséquence, l'unité logique client positionne /maintient les valeurs des MPF=1 ; OE=0 et HALT=1 (étape E12), et procède à la routine RI du mode évolution bits poids fort. En parallèle, l'unité logique serveur 10 surveille l'état du signal MPF (étape E14). Si elle détecte que MPF=0 à la suite de l'étape E8 (par exemple en n'interrogeant la ligne porteuse de ce signal qu'après un laps permettant à l'unité logique client d'avoir exécuté cette étape E8 ou, le cas échéant l'étape El 2), elle reste ou bascule en mode évolution bits poids faible seulement (étape E16). Conformément à ce mode, une adresse du plan mémoire 2 est déterminée à partir des bits adresse de poids fort A4 à A19 en sortie des registres serveur 12-1 à 12-4 et des bits adresse de poids faible A0 à A3 sur les lignes parallèles polyvalentes respectives 6-1 à 6-4 du bus adresse réduit 6 (étape E18). Tous les bits adresse A0 à A19 sont alors lus en parallèle par le plan mémoire 2, et au cycle d'apparition de l'adresse actuelle, comme dans un fonctionnement classique. Si l'unité logique serveur 10 détecte à l'étape E14 que MPF=1, elle procède à la routine RI précitée. La routine RI du mode évolution bits poids fort, présentée à la figure 2b, débute par l'identification, au niveau de l'unité logique client 14, du/des registre(s) miroir(s) (désigné(s)16-x) qui stocke(nt) au moins une valeur MA#Ai, où i=4 à 19 et Ai est le bit d'adresse de la nouvelle adresse (étape E20), cette/ces inégalité(s) ayant été détectée(s) et enregistrée(s) lors de l'étape de comparaison E4. Pour le/chaque registre miroir 16-x identifié à l'étape E20, l'unité logique client 14 inscrit une valeur logique 1 sur la ligne parallèle polyvalente 6-x qui correspond à ce registre (1 < x < 4) (étape E22). Ensuite, l'unité logique serveur 10 lit ces valeurs des lignes parallèles polyvalentes 6-1 à 6-4 du bus 6 (étape E24) et, à partir de ces informations, enregistre l'identification/les identifications du/des registre(s) serveur à mettre à jour (étape E26). Elle sélectionne ensuite le registre identifié (cas d'un seul registre serveur identifié), ou le premier registre serveur à mettre à jour (étape S28). Le registre à mettre à jour à cette étape, sélectionné conformément à la règle 1.2.2. supra, porte la désignation 12-j (1 < j < 4). Cette sélection s'opère par les entrées de positionnement SR des registres, en positionnant celle SRj du registre sélectionné à 1, et tous les autres SRk (où k≠j) à 0. Ensuite, au cycle suivant, l'unité logique client 14 inscrit sur les lignes parallèles polyvalentes 6- 1 à 6-4 du bus les quatre valeurs des quatre bits respectifs d'adresse attribuées au registre serveur 12-j (étape E30). En réponse, l'unité logique serveur 10 lit et inscrit les valeurs des lignes parallèles polyvalentes 6-1 à 6-4 sur les quatre entrées de mémorisation respectives du registre 12-j (étape E32). En même temps, l'unité logique client 14 inscrit dans son registre miroir 16-j, apparié au registre serveur 12-j, les mêmes valeurs d'adresse que celles venant d'être inscrites dans le registre serveur 12-j (étape S34). On note que cette étape d'inscription E34 peut être réalisée à tout moment, jusqu'à la prochaine étape de comparaison E4. L'unité logique client 14 peut aussi inscrire d'emblée toutes les données de mise à jour de l'ensemble de ses registres miroir 16-1 à 16-4 en une seule suite d'opérations, les données à inscrire étant identifiables et accessibles à partir des entrées de la logique client 14 qui reçoivent et verrouillent automatiquement les bits d'adresse A4 à A19 en sortie du dispositif client 4. S'il y a un prochain registre serveur à mettre à jour (étape d'interrogation
E36), ce prochain registre reprend la désignation 12-j, et de même son registre miroir côté client reprend la désignation 16-j (étape E38), et le processus est réitéré en ce qui concerne les étapes E28 à E38. Cette réitération est reprise si nécessaire jusqu'à ce que tous les contenus des registres serveur et miroir soient à jour vis-à-vis des valeurs actuelles d'adresse de poids fort A4 à Al 9 du dispositif client 4. A la fin de cette routine RI du mode évolution bits poids fort, les unités logiques serveur 10 et client 12 se repositionnent automatiquement en mode évolution bits poids faibles seulement. A cette fin, l'unité logique client 14 positionne les valeurs MPF=0 ; OE=l (réactivation du plan mémoire 2) ; HALT= 0 (réactivation de sorties d'adresses suivantes du dispositif client 4) (étape E40). L'unité logique serveur 10 peut alors laisser le plan mémoire lire les bits adresse de poids fort A4 à A19 depuis les registres serveurs 12-1 à 12-4, et les bits adresse de poids faible AO à A3 depuis les lignes parallèles polyvalentes 6-1 à 6-4 du bus adresse réduit 6. Ensuite, le processus retourne à l'étape E4 de comparaison. On note que les étapes E2 à E8, du côté client, de détermination d'une éventuelle évolution dans les bits de poids fort d'une adresse actuelle présentée et de positionner/maintenir le mode évolution bits poids faible seulement, s'opèrent suffisamment en avance de l'arrivée de l'adresse suivante (étape E10) pour assurer un cadencement normale des cycles d'adresse du plan mémoire lorsque l'on reste dans le mode évolution bits poids faible seulement. La figure 3 illustre un dispositif à mémoire 18 qui intègre physiquement l'ensemble des moyens matériels côté serveur du mode de réalisation de la figure 1, à savoir l'unité logique serveur 10 et les registres serveur 12. (Ces parties 10 et 12 sont présentées dans un bloc commun 20.) Dans cet exemple, l'ensemble du dispositif à mémoire 18 est intégré dans une même puce 22. Les connexions externes à cette puce nécessaires à l'adresse du réseau de cellules 24 du plan mémoire 24 se limitent aux lignes parallèles polyvalentes du bus d'adresse réduit 6. Celles-ci étant au nombre de quatre (lignes 6- 1 à 6-4) dans l'exemple considéré, seuls quatre plots 26 de connexion sur la puce 22 sont donc nécessaires pour produire 20 lignes parallèles d'adresse A0 à Al 9 au niveau du décodeur d'adresses 28 de la mémoire. Les connexions des lignes parallèles d'adresse A4 à Al 9 sont réalisées en interre entre les sorties respectives des registres serveur 12 du bloc 20 et le décodeur d'adresses 28. La connexion externe de la ligne de signal MPF est reliée directement au bloc 20. Comme mentionné supra, cette ligne peut être omise si la ligne du signal OE est spécifique à la mémoire adressée. Dans ce cas, on peut signaler l'interruption de l'adresse et en même temps l'instauration du mode évolution bits poids fort uniquement par ce signal OE. La figure 3 serait alors modifié par la suppression de la ligne de signal MPF, et par une connexion supplémentaire de la ligne OE sur l'entrée MPF, éventuellement avec une inversion logique selon la règle logique employée. On note que pour le cas de figure considéré, avec une gestion d'adresses sur 20 bits parallèles, on économise 15 ou 16 connexions externes, selon que l'on utilise ou pas la ligne dédiée de signal LPF (la ligne 8 de signal OE est généralement prévue dans une gestion classique de mémoire). Si la puce 22 est encapsulée dans un boîtier, le nombre de broches de connexion externes au boîtier serait réduit d'autant. Pour des raisons de simplicité, la figure ne détaille pas les circuits 30 d'entrée/sorties des données en mémoire et le bus de données BD. En variante, comme représenté par la figure 4, le bloc 20 comportant l'unité logique serveur 10 et les registres 12 peut être physiquement extérieur au dispositif à mémoire 22. Dans ce cas, il est prévu des plots de connexion supplémentaires 32 au niveau du dispositif à mémoire 18 pour recevoir les sorties des bits d'adresse de poids fort A4 à A19 en provenance du bloc 20. Toutefois, cette variante demeure intéressante du point vu du bus adresse 6 menant jusqu'au bloc 20, ce bus ayant un nombre réduit de lignes 6-1 à 6-1, tout comme dans le cas précédent. L'invention permet une réduction très importante du nombre de connexions de lignes conductrices, et donc une diminution correspondante des perturbations électriques et électromagnétiques, ainsi que de la consommation d'énergie, dues à ces lignes. Par ailleurs, l'espace gagné par cette réduction est un atout majeur, notamment avec les nouvelles applications embarquées - et donc miniaturisées - fortes consommatrices en mémoire, comme les téléphones mobiles évolués offrant des services multimédias, etc. Dans une application typique, le principe de la localité des adresses - selon lequel les adresses successives ont fréquemment des valeurs d'adresse également successives ou voisines - est très souvent suivie. Dans ce cas, des suites relativement longues d'adresses appelées n'impliquent que des emplacements d'adresse dans un même bloc, ou sous-group de blocs, de la mémoire. Les bits de poids fort ne servant généralement qu'à désigner un bloc particulier, ou un sous- group de blocs, il s'ensuit que la nécessité d'instaurer le mode évolution bits poids fort sera corrélativement peu fréquente par rapport au nombre d'adresses appelées. Globalement, la vitesse moyenne d'exécution des adresses ne sera alors que peu affectée. On comprendra que l'unité logique client 14 et/ou l'unité logique serveur 10 peut/peuvent être réalisée(s) selon différentes technologies. Dans l'exemple, ces deux unités sont en logique câblée. Leur construction est basée notamment sur des logiques de sélection, de commutation et de registres à décalage (par exemple pour analyser les états logiques à l'étape E24 supra), et peut être réalisée de diverses manière selon des techniques connues en elles-mêmes. Le nombre d'éléments logiques nécessaires pour les réaliser est faible comparativement au nombre de transistors présents dans une mémoire typique. Il est donc relativement aisé d'intégrer l'unité logique serveur 10 et ses registres 12 dans une puce mémoire sans pénalité significative en termes de surface occupée. En variante, l'une ou chacune des unités logiques serveur/client peut être réalisée à partir d'un processeur programmé pour exécuter les séquences de fonctionnement décrites. L'exemple de la description, délibérément simple par souci de simplicité et de clarté, porte sur un cas de 20 bits d'adresses AO à Al 9 gérées au niveau du plan mémoire, à partir de quatre lignes parallèles polyvalentes 6- 1 à 6-4 en externe. Bien entendu, les enseignements permettent de gérer un nombre arbitraire de bits d'adresse avec un nombre J>P arbitraire de Ignés parallèles polyvalentes en externe. Par ailleurs, le rapport entre le nombre NB de bits d'adresse gérés et le nombre de lignes parallèles polyvalentes est également arbitraire. En effet, l'organisation et la configuration des registres serveur sont libres, et permettent d'accommoder toutes valeurs de NLPP et NB (NLPP < NB) indépendamment l'une de l'autre. Dans le mode de réalisation décrit, on arrive au nombre de bits gérés NB en prévoyant un nombre de registres serveurs 12 individuels égal au nombre NLPP de lignes parallèles polyvalentes, et en attribuant à chaque registre serveur ce même nombre J>P de lignes parallèles de mémorisation, d'où NB= NLPP 2+NLPP (soit le nombre de bits supplémentaires NLPP 2 (=NSE) gérés par le mode évolution bits poids fort + le nombre de bits gérés J>P par le mode évolution bits poids faible seulement). Sur cette même base, on peut donc gérer différentes valeurs de N3 suivant cette équation. D'autres valeurs NB≠NLPP 2+NLPP sont possibles selon plusieurs approches, pouvant être prises séparément ou en combinaison : - par utilisation de registres serveurs dont un ou certains gère(nt) un nombre d'entrées parallèles inférieur à NLPP défini supra, - par utilisation de techniques combinatoires et/ou de multiplexage sur les lignes parallèles polyvalentes pour désigner un registre serveur à mettre à jour. Par exemple, les valeurs binaires présentes sur l'ensemble des lignes parallèles peuvent correspondre à un mot/nombre binaire parmi 2 puissance NLPP mots/nombres possibles, chacun ou certains étant attribué(s) spécifiquement à un registre serveur particulier, - par utilisation de techniques combinatoires et/ou de multiplexage sur les lignes parallèles polyvalentes pour charger des valeurs de bits sur les lignes parallèles de mémorisation d'un registre serveur désigné, - etc. Certaines de ces approches peuvent requérir un nombre de cycles plus important pour réaliser le mode évolution bits poids fort, mais permettent en contrepartie de d'utiliser un nombre plus restreint de lignes parallèles polyvalentes, ou de gérer un plus grand nombre de bits parallèles. Bien entendu, la gestion des registres serveur et client, et le fonctionnement des unités logiques serveur et client seront adaptés de manière correspondante. Par ailleurs, il est clair que le terme registre utilisé accommode, inter alia, tout bloc unitaire de mémorisation pouvant être sélectionné individuellement, et comportant plusieurs voies parallèles d'entrée et de sortie de données, voire même une seule voie d'entrée et de sortie de données. Matériellement, cette mémorisation et la décomposition en blocs unitaires peut se faire par différents moyens, par exemple avec un seul registre compartimenté de manière appropriée. Dans l'ensemble de la description supra, la mémoire/le plan mémoire peut être de tout type et de toute technologie faisant appel à des entrées d'adresse parallèles : les mémoires semiconducteurs vives, connues par l'acronyme du RAM (mémoire vive) : - DRAM (mémoire vive dynamique), SRAM (mémoire vive statique), MRAM (mémoire vive à effet magnétique), etc., les mémoires programmables ou pré-programmées (connues par l'acronyme ROM) : - EEPROM (mémoire programmable électriquement), "Flash", ROM masque, etc. La mémoire/le plan mémoire supra peut être réalisé sous forme de puce spécifique à la mémorisation, ou il peut faire partie intégrante d'un circuit comportant d'autres éléments fonctionnels, tel qu'un microcontrôleur, une interface, un ensemble de plan mémoires reliés, etc. Par ailleurs, les principes de l'invention peuvent être utilisés en outre sur d'autres applications qu'un bus adresse. A titre indicatif, les enseignements peuvent être transposés mutatis mutandis à un bus de données, par exemple d'une mémoire. Dans ce cas, le transfert de données, en entrée ou en sortie, peut s'opérer sur un nombre restreint de lignes parallèles, à l'instar des lignes polyvalentes 6-1 à 6-1, utilisées à la fois en mode évolution de bits de poids faible seulement et en mode évolution bits de poids fort. Cette mise en œuvre avec des lignes de données peut être avantageuse dans des applications où les données lues ou inscrites sont statistiquement fréquemment cantonnées à une plage restreinte de valeurs, pouvant être exprimé par les mêmes lignes parallèles, bien que leur étendue possible dépasse cette plage. L'invention peut aussi être mise en œuvre dans d'autres applications que les mémoires semiconducteurs, par exemple dans les mémoires optiques, magnétiques, etc. L'invention a également des applications ailleurs que dans les dispositifs destinés à la mémorisation de données, pouvant servir par exemple dans le pilotage des lignes de commutation (la sélection de lignes s'effectuant par de bits d'adresse, par exemple), dans des dispositif d'affichage matriciels, etc. Dans le cas d'une application avec des signaux optiques, chacune des lignes parallèles polyvalentes peut être une fibre optique individuelle, qui constitue alors une ligne conductrice de lumière.

Claims

REVENDICATIONS
1. Procédé de gestion d'un bus (6) comprenant un nombre NLPP de ligne(s) conductrice(s) (6-1-6-4), où NLPP est égal ou supérieur à 1, par laquelle/lesquelles on transmet un ensemble de NB valeurs (A0-A19) destinées à être accessibles en parallèle, où NB est supérieur au nombre de ligne(s), caractérisé en ce qu'il consiste à conférer une double fonction aux lignes conductrices (6-l-6-4)/à la ligne conductrice : - une première fonction de constitution d'un sous -ensemble de valeurs (A4- A19) comprenant NSE valeur(s) dudit ensemble (A0-A19), et - une deuxième fonction de constitution du complément dudit sous- ensemble, par présentation directe de la/les NB-NSE valeur(s) complémentaire(s) sur des/les lignes conductrices respectives (6-1-6-4)/ la ligne conductrice.
2. Procédé selon la revendication 1, caractérisé en ce que le nombre NLLP de lignes conductrices (6-1-6-4) est supérieur à 1, et en ce que ces lignes conductrices, dans leur deuxième fonction, présentent les NB-NSE valeurs complémentaires en parallèle sur des/les lignes individuelles respectives.
3. Procédé selon la revendication 1 ou 2, caractérisé en ce qu'il comprend les étapes suivantes : - charger ledit sous-ensemble de valeurs (A4-A19) dans des moyens de mémorisation (12) selon un protocole préétabli, en utilisant les lignes conductrices (6-1-6-4)/ la ligne conductrice dans leur/sa première fonction, - présenter directement les/la NB-NSE valeur(s) complémentaire(s) en utilisant des/les lignes conductrices respectives (6-1-6-4)/ la ligne conductrice selon leur/sa deuxième fonction.
4. Procédé selon la revendication 3, caractérisé en ce qu'il comprend une gestion des moyens de mémorisation (12) par blocs (12-1-12-4) d'au moins une valeur, et comprend en outre les étapes de : - déterminer, pour chaque bloc, si la/chaque valeur déjà mémorisée (Ai) est égale à la valeur qui doit correspondre dans l'ensemble de valeurs à constituer, - dans l'affirmatif, maintenir le bloc en l'état, sans chargement de données, - dans le cas contraire, charger dans le bloc la/les valeurs qui doit/doivent correspondre, au moyens de la/les ligne(s) conductrice(s) (6-1-6-4) selon le protocole préétabli, en utilisant les lignes conductrices (6-1-6-1)/ la ligne conductrice dans leur/sa première fonction.
5. Procédé selon l'une quelconque des revendications 3 à 4, où ledit ensemble de NB valeurs est constituée à un côté destination (10, 12) à partir de données émises d'un côté source (4, 14), relié au côté destination via lesdites lignes conductrices (6-1-6-4)/ ladite ligne conductrice, caractérisé en ce qu'il comprend les étapes de : - mémoriser (16), du côté source, le contenu des moyens de mémorisation (12) se situant du côté destination, - comparer, du côté source, les valeurs (A4- Al 9) du sous ensemble à constituer avec les valeurs correspondantes (MA4-MA19) du contenu mémorisé du côté source, - déterminer sur la base de cette comparaison la/les valeur(s) du sous- ensemble reçu à transmettre au côté destination pour actualiser le contenu (A4- Al 9) des moyens de mémorisation (12) du côté destination.
6. Procédé selon la revendication 5, caractérisé en ce que le côté source (4, 14) signale au côté destination (10, 12) l'identification du/des blocs, dont le contenu doit faire l'objet d'une mise à jour, par un seul message durant un premier cycle, en ce que le nombre de lignes (6-1-6-4) est au moins égal au nombre de blocs de mémorisation (12-1-12-4) en quels sont décomposées les valeurs (A4-A19) du sous- ensemble, et en ce que, du côté source (4, 14), chaque bloc respectif est attribué à une ligne particulière selon un code de correspondance connu au niveau du côté source et du côté destination, et en ce que ladite désignation d'un bloc est signalée par un signal sur une ligne conductrice spécifiquement attribuée à ce bloc.
7. Procédé selon la revendication 6, caractérisé en ce que le côté source transmet via les lignes conductrices (6-l-6-4)/la ligne conductrice les/la valeur(s) destinée(s) à être chargée(s) dans chaque/ le bloc identifié (12- i), afin d'actualiser ledit sous ensemble de valeurs (A4-A19), en utilisant un cycle de transmission de valeur(s) par bloc, selon un ordonnancement préétabli des cycles, par lequel le côté destination identifie le bloc destinataire de la valeur/des valeurs présente(s) sur les lignes conductrices/ la ligne conductrice en fonction du cycle.
8. Procédé selon l'une quelconque des revendications 4 à 7, caractérisé en ce qu'une mise à jour de l'ensemble de NB valeurs (A0-A19) accessibles en parallèle est effectuée par les cycles successifs suivants : - un premier cycle comprenant : - l'identification par le côté source (14, 16) du/des bloc(s) (12-1-12-4) comportant au moins une valeur à changer pour la mise à jour, et - le signalement au côté destination (10, 12), durant un premier cycle de mise à jour, du/des bloc(s) (12-1-12-4) comportant au moins une valeur à changer pour la mise à jour, au moyen des lignes conductrices parallèles (6-1-6-4)/ de la ligne conductrice, - suivi d'un cycle pour le ou chaque bloc identifié, comprenant : - la transmission par le côté source de la valeur/l'ensemble des valeurs destinées au bloc, au moyen des lignes conductrices parallèles (6-1-6- 4)1 de la ligne conductrice, - au niveau du côté destination, le transfert et le chargement dans le bloc de mémorisation identifié, des valeurs transmises, et - suivi d'un cycle comprenant la transmission sur les lignes conductrices parallèles (6-l-6-4)/la ligne conductrice des valeurs (A0-A3)/de la/des valeur(s) complémentaire(s) au sous -ensemble, de sorte à constituer l'ensemble complet des NB valeurs (A0-A19) accessibles en parallèle, les valeurs du sous-ensemble étant accessibles en parallèle en sortie des blocs de mémorisation (12) du côté destination, et les valeurs/la valeur complémentaire(s) au sous-ensemble étant présentée(s) directement sur les lignes conductrices respectives/la ligne conductrice.
9. Procédé selon l'une quelconque des revendications 4 à 8, caractérisé en ce que : - le nombre de blocs de mémorisation (12-1-12-4) est égal au nombre NLLP de lignes conductrices parallèles (6-1-6-4), et - le nombre de lignes de mémorisation par bloc est égal au nombre NLLP de lignes conductrices parallèles (6-1-6-4).
10. Procédé selon l'une quelconque des revendications 1 à 9, caractérisé en ce que lesdites NB valeurs (A0-A19) sont des éléments binaires qui constituent collectivement un nombre binaire de NB bits, et en ce que ledit sous -ensemble de valeurs (A4- Al 9) constitue les bits de poids fort du nombre binaire.
11. Procédé selon l'une quelconque des revendications 1 à 10, caractérisé en ce que lesdites valeurs (A0-A19) de l'ensemble sont utilisées en tant qu'adresse parallèle d'une mémoire (2; 22).
12. Procédé selon l'une quelconque des revendications 10 ou 11, caractérisé en ce que lesdites lignes conductrices (6-l-6-4)/la ligne conductrice constitue(nt) l'intégralité des lignes parallèles d'un bus (6)/l'intégralité d'un bus utilisé(es) pour transmettre le nombre binaire de NB bits.
13. Dispositif de gestion d'un bus (6) comprenant un nombre nombre NLPP de ligne(s) conductrice(s) (6-1-6-4), où NLPP est égal ou supérieur à 1, servant à transmettre un ensemble de NB valeurs (A0-A19) destinées à être accessibles en parallèle, où NB est supérieur au nombre NLPP de ligne(s), caractérisé en ce les lignes conductrices (6-1-6-4)/ la ligne conductrice ont/a une double fonction : - une première fonction de constitution d'un sous -ensemble de valeurs (A4-
A19) comprenant NSE valeur(s) dudit ensemble (A0-A19), et - une deuxième fonction de constitution du complément dudit sous- ensemble, par présentation directe de la/les NB-NSE valeur(s) complémentaire(s) sur des/les lignes conductrices respectives (6-1-6-4)/ la ligne conductrice.
14. Dispositif selon la revendication 13, caractérisé en ce que le nombre NLLP de lignes conductrices (6-1-6-4) est supérieur à 1, et en ce que ces lignes conductrices, dans leur deuxième fonction, présentent les NB-NSE valeurs complémentaires en parallèle sur des/les lignes individuelles respectives.
15. Dispositif selon l'une quelconque des revendications 13 ou 14, caractérisé en ce qu'il comprend : - des moyens (10) pour charger ledit sous -ensemble de valeurs (A4- Al 9) dans des moyens de mémorisation (12) selon un protocole préétabli, en utilisant la les lignes conductrices (6-1-6-1)/ ligne conductrice dans leur/sa première fonction, - des moyens pour présenter directement les/la NB-NSE valeur(s) complémentaire(s) en utilisant des/les lignes conductrices respectives (6-1-6-4)/ la ligne conductrice selon leur/sa deuxième fonction. 16. Dispositif selon la revendication 15, caractérisé en ce qu'il comprend : - des moyens (10) de gestion des moyens de mémorisation (12) par blocs (12-1-12-4) d'au moins une valeur, - des moyens de gestion (14,
16, 12) pour déterminer, pour chaque bloc, si la/chaque valeur déjà mémorisée (Ai) est égale à la valeur qui doit correspondre dans l'ensemble de valeurs à constituer, ces moyens étant opérationnels pour : - dans l'affirmatif, maintenir le bloc en l'état, sans chargement de données, - dans le cas contraire, charger dans le bloc la/les valeurs qui doit/doivent correspondre, au moyens de la/les ligne(s) conductrice(s) (6-1-6-4) selon le protocole préétabli, en utilisant les lignes conductrices (6-1-6-1)/ la ligne conductrice dans leur/sa première fonction.
17. Dispositif selon l'une quelconque des revendications 15 ou 16, où ledit ensemble de NB valeurs est constituée à un côté destination (10, 12) à partir de données émises d'un côté source (4, 14), relié au côté destination via lesdites lignes conductrices (6-1-6-4)/ ladite ligne conductrice, caractérisé en ce qu'il comprend : - des moyens (16) pour mémoriser, du côté source, le contenu des moyens de mémorisation (12) se situant du côté destination, - des moyens (14, 16) pour comparer, du côté source, les valeurs (A4-A19) du sous ensemble à constituer avec les valeurs correspondantes (MA4-MA19) du contenu mémorisé du côté source, - des moyens pour déterminer, sur la base de cette comparaison la/les valeur(s) du sous-ensemble reçu à transmettre au côté destination pour actualiser le contenu (A4-A19) des moyens de mémorisation (12) du côté destination.
18. Dispositif selon la revendication 17, caractérisé en ce qu'il comprend des moyens au côté source (4, 14), pour signaler au côté destination (10, 12) l'identification du/des blocs, dont le contenu doit faire l'objet d'une mise à jour, par un seul message durant un premier cycle.
19. Dispositif selon la revendication 18, caractérisé en ce que le nombre de lignes (6-1-6-4) est au moins égal au nombre de blocs de mémorisation (12-1-12-4) en quels sont décomposées les valeurs (A4-A19) du sous- ensemble, et en ce que, du côté source (4, 14), chaque bloc respectif est attribué à une ligne particulière selon un code de correspondance connu au niveau du côté source et du côté destination, et en ce que ladite désignation d'un bloc est signalée par un signal sur une ligne conductrice spécifiquement attribuée à ce bloc.
20. Dispositif selon l'une quelconque des revendications 18 ou 19, caractérisé en ce que le côté source comprend des moyens pour transmettre, via les lignes conductrices (6-l-6-4)/la ligne conductrice les/la valeur(s) destinée(s) à être chargée(s) dans chaque/le bloc identifié (12- i), afin d'actualiser ledit sous ensemble de valeurs (A4-A19), en utilisant un cycle de transmission de valeur(s) par bloc, selon un ordonnancement préétabli des cycles, par lequel le côté destination identifie le bloc destinataire de la valeur/des valeurs présente(s) sur les lignes conductrices/ la ligne conductrice en fonction du cycle.
21. Dispositif selon l'une quelconque des revendications 16 à 20, caractérisé en ce qu'il effectue une mise à jour de l'ensemble de NB valeurs (A0-A19) accessibles en parallèle par les cycles successifs suivants : - un premier cycle comprenant : - l'identification par le côté source (14, 16) du/des bloc(s) (12-1-12-4) comportant au moins une valeur à changer pour la mise à jour, et - le signalement au côté destination (10, 12), durant un premier cycle de mise à jour, du/des bloc(s) (12-1-12-4) comportant au moins une valeur à changer pour la mise à jour, au moyen des lignes conductrices parallèles (6-1-6-4)/ de la ligne conductrice, - suivi d'un cycle pour le ou chaque bloc identifié, comprenant : - la transmission par le côté source de la valeur/l'ensemble des valeurs destinées au bloc, au moyen des lignes conductrices parallèles (6-1-6- 4)1 de la ligne conductrice, - au niveau du côté destination, le transfert et le chargement dans le bloc de mémorisation identifié, des valeurs transmises, et - suivi d'un cycle comprenant la transmission sur les lignes conductrices parallèles (6-l-6-4)/la ligne conductrice des valeurs (A0-A3)/de la/des valeur(s) complémentaire(s) au sous -ensemble, de sorte à constituer l'ensemble complet des NB valeurs (A0-A19) accessibles en parallèle, les valeurs du sous-ensemble étant accessibles en parallèle en sortie des blocs de mémorisation (12) du côté destination, et les valeurs/la valeur complémentaire(s) au sous-ensemble étant présentée(s) directement sur les lignes conductrices respectives/la ligne conductrice.
22. Dispositif selon l'une quelconque des revendications 16 à 21, caractérisé en ce que : - le nombre de blocs de mémorisation (12-1-12-4) est égal au nombre NLLP de lignes conductrices parallèles (6-1-6-4), et - le nombre de lignes de mémorisation par bloc est égal au nombre NLLP de lignes conductrices parallèles (6-1-6-4).
23. Dispositif selon l'une quelconque des revendications 20 à 33, caractérisé en ce que lesdites NB valeurs (A0-A19) sont des éléments binaires qui constituent collectivement un nombre binaire de NB bits, dont ledit sous -ensemble de valeurs (A4- Al 9) constitue les bits de poids fort du nombre binaire.
24. Dispositif selon l'une quelconque des revendications 20 à 34, caractérisé en ce que le bus (6) est un bus d'adresse parallèle d'une mémoire (2; 22).
25. Bus (6) destiné spécifiquement au dispositif selon l'une quelconque des revendications 13 à 24, caractérisé en ce qu'il comprend lesdites lignes conductrices (6-l-6-4)/la ligne conductrice, pour transmettre, lors d'un premier mode fonctionnement, des valeurs destinées à être mémorisées côté réception pour constituer ledit sous-ensemble de valeurs parallèles (A4-A19) et, lors d'un deuxième mode de fonctionnement, pour fournir, directement sur ses lignes conductrices respectives/la ligne conductrice, lesdites valeurs complémentaires (A0-A3) à ce sous- ensemble.
26. Bus selon la revendication 25, caractérisé en ce qu'il s'agit d'un bus d'adresse, notamment d'un bus d'adresse d'une mémoire (2;20).
27. Circuit (2) destiné à recevoir en parallèle l'ensemble des valeurs (A0- A19) du dispositif selon l'une quelconque des revendications 13 à 25, caractérisé en ce qu'il comprend une première série d'entrées/première entrée reliée(s) pour recevoir les sorties respectives du sous-ensemble de valeurs (A0-A19) et une deuxième série d'entrées/deuxième entrée reliée(s) aux lignes conductrices (6-l-6-4)/à la ligne conductrice pour recevoir le complément (A0-A3) audit sous-ensemble.
28. Circuit selon la revendication 27, caractérisé en ce qu'il s'agit d'une mémoire (2), les première et deuxième séries/première et deuxième entrées étant des entrées d'adresse.
PCT/FR2005/050301 2004-05-07 2005-05-04 Procédé et dispositif de gestion d'un bus Ceased WO2005111822A2 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CA2566067A CA2566067C (fr) 2004-05-07 2005-05-04 Procede et dispositif de gestion d'un bus
CN2005800228411A CN1981275B (zh) 2004-05-07 2005-05-04 管理总线的方法和设备
EP05762623.6A EP1754162B1 (fr) 2004-05-07 2005-05-04 Procédé et dispositif de gestion d'un bus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0450884A FR2870021B1 (fr) 2004-05-07 2004-05-07 Procede et dispositif de gestion d'un bus
FR0450884 2004-05-07

Publications (2)

Publication Number Publication Date
WO2005111822A2 true WO2005111822A2 (fr) 2005-11-24
WO2005111822A3 WO2005111822A3 (fr) 2006-04-13

Family

ID=34945517

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2005/050301 Ceased WO2005111822A2 (fr) 2004-05-07 2005-05-04 Procédé et dispositif de gestion d'un bus

Country Status (6)

Country Link
EP (1) EP1754162B1 (fr)
CN (1) CN1981275B (fr)
CA (1) CA2566067C (fr)
FR (1) FR2870021B1 (fr)
RU (1) RU2006143194A (fr)
WO (1) WO2005111822A2 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113050509B (zh) * 2021-03-26 2022-03-11 杭州蓦然认知科技有限公司 一种人机耦合式外呼的调度方法、装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4675808A (en) * 1983-08-08 1987-06-23 American Telephone And Telegraph Company At&T Bell Laboratories Multiplexed-address interface for addressing memories of various sizes
GB2293469A (en) * 1994-09-22 1996-03-27 Secr Defence Error detection in arithmetic circuit.
US5664140A (en) * 1995-05-19 1997-09-02 Micron Electronics, Inc. Processor to memory interface logic for use in a computer system using a multiplexed memory address
US5781747A (en) * 1995-11-14 1998-07-14 Mesa Ridge Technologies, Inc. Method and apparatus for extending the signal path of a peripheral component interconnect bus to a remote location

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
None

Also Published As

Publication number Publication date
EP1754162B1 (fr) 2013-06-26
FR2870021B1 (fr) 2006-07-21
EP1754162A2 (fr) 2007-02-21
CN1981275A (zh) 2007-06-13
CA2566067C (fr) 2013-04-16
CA2566067A1 (fr) 2005-11-24
FR2870021A1 (fr) 2005-11-11
WO2005111822A3 (fr) 2006-04-13
RU2006143194A (ru) 2008-06-20
CN1981275B (zh) 2013-06-12

Similar Documents

Publication Publication Date Title
EP0475161B1 (fr) Système de mémorisation temporaire d&#39;information comprenant une mémoire tampon enregistrant des données structurées en blocs de données de longueur fixe ou variable
EP0293315B1 (fr) Système et méthode de contrôle de flux de paquets
EP0558125B1 (fr) Processeur neuronal à cellules synaptiques reparties
FR2779843A1 (fr) Composant memoire multiport serie et application a un ordinateur
EP0317014B1 (fr) Unité de mémoire vive à plusieurs modes de test et ordinateur muni de telles unités
EP0609137B1 (fr) Dispositif pour l&#39;échange de format entre voies numériques synchrones et asynchrones
FR2538976A1 (fr) Systeme de commutation de paquets synchrones de longueur fixe
EP1510925A2 (fr) Mémoire cache à lecture asynchrone et dispositif de controle de l&#39;accès à une mémoire de données comprenant une telle mémoire cache
EP0920157A1 (fr) Dispositif de gestion de mémoire tampon partagée
FR2736779A1 (fr) Appareil de commutation de donnees ,par exemple dans des reseaux a mode de transport asynchrone
FR2548506A1 (fr) Systeme de controle de peripheriques pour systeme de commutation de signaux numeriques
FR2507372A1 (fr) Dispositif a memoire du type a ecriture-lecture sequentielle et selective a partir d&#39;informations d&#39;adresse
EP0340841B1 (fr) Elément de circuit-point de croisement entre deux lignes omnibus
EP1754162A2 (fr) Procédé et dispositif de gestion d&#39;un bus
EP0782815B1 (fr) Dispositif de gestion de relations entre des objets
FR2948785A1 (fr) Terminateur de transaction
FR2680262A1 (fr) Circuits integres pour carte a puce et carte a plusieurs puces utilisant ces circuits.
EP0857005B1 (fr) Procédé pour associer des données à des cellules ATM
EP0952587B1 (fr) DRAM à structure rapide
WO2008053098A2 (fr) Systeme informatique ameliore comprenant plusieurs noeuds en reseau
FR2715261A1 (fr) Procédé et appareil de réduction de la puissance consommée dans des commutateurs de type temporel-spatial.
FR2754924A1 (fr) Circuit de memoire tampon d&#39;entree/sortie capable de minimiser le transfert de donnees requis dans les operations de tamponnage d&#39;entree et de sortie
EP0866410A1 (fr) Système informatique à stockage de données distribué
CA2018822A1 (fr) Procede et systeme de commutation de cellules appliques a la commutation temporelle asynchrone
FR2794877A1 (fr) Architecture de systeme et procede d&#39;etablissement de communication entre plusieurs peripheriques et un dispositif de commande central

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2566067

Country of ref document: CA

NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

WWE Wipo information: entry into national phase

Ref document number: 2005762623

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2006143194

Country of ref document: RU

WWE Wipo information: entry into national phase

Ref document number: 200580022841.1

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 2005762623

Country of ref document: EP