WO2001022229A1 - Architecture informatique parallele et unite de traitement de l'information au moyen de ladite architecture - Google Patents
Architecture informatique parallele et unite de traitement de l'information au moyen de ladite architecture Download PDFInfo
- Publication number
- WO2001022229A1 WO2001022229A1 PCT/JP2000/005947 JP0005947W WO0122229A1 WO 2001022229 A1 WO2001022229 A1 WO 2001022229A1 JP 0005947 W JP0005947 W JP 0005947W WO 0122229 A1 WO0122229 A1 WO 0122229A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- memory
- memory module
- bus
- mpu
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
- G06F12/0692—Multiconfiguration, e.g. local and global addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/17—Interprocessor communication using an input/output type connection, e.g. channel, I/O port
Definitions
- the present invention relates to a parallel computer architecture capable of realizing SIMD (Single Instruction Stream, Multiple Data Stream), and more particularly, to a computer architecture capable of performing general-purpose parallel operations by appropriate and high-speed memory control.
- SIMD Single Instruction Stream, Multiple Data Stream
- the parallel processing architecture can be broadly divided into “shared memory type” and “distributed memory type”.
- shared memory type is a method in which multiple processors share one huge memory space. In this method, it is not easy to construct a realistic system using more than a hundred processors, because the traffic between the processor group and the shared memory becomes a bottleneck. Thus, for example, when calculating the square root of 100 billion floating point variables, the acceleration ratio for a single CPU is at most 100 times. Empirically, the upper limit is about 30 times.
- each processor has its own local memory, and these are combined to form a system.
- this method it is possible to design a hardware system that incorporates hundreds to tens of thousands of processors. Therefore, the acceleration ratio for a single CPU when calculating the square root of the above 100 billion floating-point variables can be hundreds to tens of thousands.
- the acceleration ratio for a single CPU when calculating the square root of the above 100 billion floating-point variables can be hundreds to tens of thousands.
- the first issue of “distributed memory type” is the issue of data division management.
- the third issue of “distributed memory type” is how to supply programs to many processors.
- the method of loading different programs on a very large number of processors and cooperating as a whole (MIMD: Multiple Instruction Stream, Multiple Data Stream) requires a great deal of load to create, compile, and distribute the programs.
- the present invention provides a method and computer architecture for solving the above first to third problems of the "distributed memory type".
- the first issue of “separation management of a huge array” can be solved by assigning and managing each element of the array (physical address) in a unified manner by each processor module.
- This method eliminates the need for garbage collection, completes the insertion and deletion of array elements in a few clocks, and divides the implicit (non-explicit) processing burden of each processor, which is essential for implementing SIMD. You can also attach. This method will be explained later in terms of the concept of “multi-space memory”.
- the second issue of “inefficient inter-processor communication” is to switch between the processors according to the processing to be achieved, and to determine the specified type of data for each connection path. This can be solved by scheduling the communication so that the bus capacity can be used up to about 100% by continuously transferring data in one direction in the same order, and at the same time implementing huge pipeline processing.
- the present invention provides a distributed memory type architecture that can input and output elements in an array stored in various memories with a single instruction and realize extremely high-speed parallel processing. Aim. Disclosure of the invention
- An object of the present invention is to provide a CPU module, a plurality of memory modules each including an MPU and a RAM core, and a plurality of sets of connections between the CPU and the memory modules and / or connections between the memory modules.
- Bus and CP
- U is an architecture of a parallel combination configured so that the MPU of each memory module operates according to an instruction given to the MPU of each memory module, and a series of data having a predetermined relation. Is assigned a space ID, and the MPU of each memory module contains at least the space ID, the logical address of the set of data managed by itself, the size of the portion, and the size of a series of data. And the MPU of each memory module determines whether the received instruction involves a part of a series of data managed by itself, and stores the data stored in the RAM core. Read and send to the bus, write the data provided via the bus to the RAM core, perform any necessary processing on the data, and / or That it is configured to update the table are achieved by the architecture of the parallel computer to feature.
- the MP of each memory module since a series of data is grasped using the spatial ID, even if the series of data is divided by a large number of memory modules, the MP of each memory module reliably recognizes the series of data. can do.
- the memory module since the memory module knows the series of data and the part that it manages in a table, the memory module executes predetermined processing by referring to the table upon receipt of the instruction. can do. This enables parallel processing in each MPU based on a single instruction.
- the MPU compares the spatial ID given by the CPU with the spatial ID of one or more series of data managed by the MPU.
- An address comparison that compares the logical address given by the CPU with the logical address of the data part managed by the CPU. Based on the logical address, the physical address on the own RAM cell is determined based on the logical address. It has an address to calculate.
- These comparators and calibration circuits may be configured by hardware, or may be realized as software by an MPU program.
- each of the memory modules receives a synchronization signal for synchronizing with a CPU module and another memory module, and is connected to any one of the plurality of sets of buses. And an output that can be connected to any other of the plurality of sets of buses. At least, according to the synchronization signal, a connection between any one of the buses and the input allows input of data In addition, it is configured to output data by connecting any of the other buses to the output.
- the data output from the memory module and the data input to the memory module are performed in accordance with the synchronization signal, and the parallel processing can be appropriately realized by controlling the bus connection. It becomes possible.
- Each of the plurality of sets of nodes may include, between the CPU module and an input or output of any memory module, and / or an input or output of any other memory module, and More preferably, a switch is provided for defining a connection between the output and the input of the bus, and the switching of the switch realizes data transmission and reception in parallel in each of the plurality of sets of buses. This makes it possible to use multiple sets of buses more effectively, and to further enhance parallelism.
- an output of any one of the memory modules and an input of any one of the other memory modules are connected to a first bus which is one of the plurality of sets of buses, And an output of any one of the other memory modules and an input of any one of the other memory modules are connected to a second bus that is any one of the plurality of buses; Exchange of de-nights on the first bus, Data transfer on the second bus proceeds in parallel.
- pipeline processing can be realized by the CPU module and the memory module. More preferably, the connection between the bus and the memory module is repeated to form a connection between the multi-stage memory modules.
- the MPU deletes a specific element from the series of data, inserts a specific element into the series of data, or specifies at the end of the series of data.
- an instruction indicating that an element is to be added is received, by referring to the table, the area of the data managed by itself is compared with the position of the element to be deleted, inserted or added, and according to the result of the comparison. Then, the contents of the table are updated.
- the MPU it is possible to realize deletion, insertion, and addition of elements by updating the table managed by itself, that is, by performing remapping.
- the MPU is responsive to a given instruction to convert a subscript for identifying an element in the series of data and / or to identify the element. Perform a value conversion that gives the qualification of
- an object of the present invention is to provide a CPU module, a plurality of memory modules each including an MPU and a RAM core, and a plurality of sets forming connections between the CPU and the memory modules and / or connections between the memory modules.
- An information processing unit configured to operate the MPU of each memory module by the instruction given from the CPU to the MPU of each memory module, and a series of data having a predetermined relationship. Is assigned a space ID, and the MPU of each memory module contains at least the space ID, the logical address of the part of the series of data managed by itself, the size of the part, and the size of the series of data. And the MPU of each memory module manages the received instructions by itself.
- the data stored in the RAM core is read out and sent to the bus, and the data given via the bus is written to the RAM core, and the data is read out. And / or information that is configured to update the table.
- a processing unit For example, the unit may be formed on a single circuit board, and the CPU module may be configured to be connectable to another bus that interconnects the legacy memory, the input device, and the display device.
- Still another object of the present invention is to have the information processing unit, a storage device including one or more legacy memories connected to a CPU module via another bus, an input device, and a display device. It is also achieved by a combination system.
- FIG. 1 is a block diagram showing a configuration of a combination system according to an embodiment of the present invention.
- FIG. 2 is a block diagram schematically showing the memory module according to the present embodiment.
- FIG. 3 is a diagram showing the arrangement of a series of data in a single memory space.
- FIG. 4 is a diagram showing an arrangement of a series of data in the multi-space memory according to the present invention.
- FIG. 5 is a diagram for explaining address re-moving in the present embodiment.
- FIG. 6 is a diagram for explaining value modification in the present embodiment.
- FIG. 7 is a diagram schematically illustrating pipeline processing between memory modules according to the present embodiment.
- FIG. 8 is a diagram for explaining the structure of the memory module 14 under the multi-spatial memory according to the present embodiment.
- FIG. 9 is a diagram for explaining the structure of the memory module 14 under the multi-space memory.
- FIG. 10 is a diagram for explaining the structure of the memory module 14 under the multi-space memory.
- FIG. 11 is a flowchart showing a process executed by each memory module that has received an instruction to delete an element in a predetermined range in a certain space ID.
- FIG. 12 is a diagram showing the relationship between the elements to be deleted and the arrangement of the elements held in the memory module.
- FIG. 13 is a flowchart showing a process executed in each memory module that has received an instruction to delete an element in a predetermined range in a certain space ID.
- FIG. 14 is a flowchart showing a process executed in each memory module that has received a instruction to add an element to the end of an array of a certain space ID.
- FIG. 15 is a diagram for explaining combination of sequences and division of the sequences according to the present embodiment.
- FIG. 16 is a diagram showing an array having a space ID “10” and an array having a space ID “11” in the present embodiment, and a state in which these are accommodated in a memory module.
- FIG. 17 is a diagram showing an array obtained by combining the arrays and a space ID management table in each memory module in the present embodiment.
- FIG. 18 is a diagram showing an example of dividing the array having the space ID “10” into the array having the space ID “10” and the array having the space ID “1 1” in the present embodiment. It is.
- FIG. 19 is a diagram showing an array obtained by dividing the array and a space ID management table in each memory module in the present embodiment.
- FIG. 20 is a diagram showing a parallel copy of data from one memory module group to another memory module group according to the present embodiment.
- FIG. 21 is a diagram for explaining use of the converted flag according to the present embodiment.
- FIG. 22 is a diagram for explaining the use of the converted flag according to the present embodiment. is there.
- FIG. 23 is a diagram for explaining the flow of the sorting process according to the present embodiment.
- FIG. 24 is a diagram for explaining the flow of the sort processing according to the present embodiment.
- FIG. 25 is a diagram showing a reference procedure in a minute until an item value is specified from a record number in the present embodiment.
- FIG. 26 is a diagram for explaining the flow of another sort process according to the present embodiment.
- FIG. 27 is a diagram for explaining the flow of the search process according to the present embodiment.
- FIG. 28 is a diagram for explaining the flow of the search process according to the present embodiment. DESCRIPTION OF THE PREFERRED EMBODIMENTS OF THE INVENTION
- FIG. 1 is a block diagram showing a configuration of a convenience store system according to an embodiment of the present invention.
- the convenience viewing system 10 includes a CPU module 12 for realizing a parallel operation by a single instruction, and a memory module 14-1 for storing various data necessary for the parallel operation. 14-2, 14-3,..., A fixed storage device 16 for storing necessary programs and data, an input device 18 such as a keyboard and a mouse, and a display device 20 such as a CRT, etc. And a legacy memory 22 in which data such as data of the following format is stored. Switches 28-1, 28-2, 28-3,..., etc.
- a memory module may be referred to as “PMM” for convenience.
- a plurality of buses 24-1, 24-2, 24-3, 24-4,... are provided between the CPU module 12 and the memory module 14. Therefore, C The bus allows data to be exchanged between the PU module 12 and the memory module 14 and between the memory modules.
- a control signal line 25 is provided between the CPU 12 and the memory module 14 so that instructions and the like issued from the CPU 12 are transmitted to all the memory modules 14.
- a local bus 26 is provided between the CPU 12 and other components (for example, the fixed storage device 16 and the input device 18), and data can be exchanged between them. It has become.
- the CPU 12 reads a program stored in the fixed storage device 16 or in another storage device (not shown) such as a RAM connected to the bus 26, and according to this program, In addition to the transmission and reception of data including the transmission of instructions to the memory module 14 as shown, the control of the switches 28 and 30 is performed. Further, the CPU 12 can accept various types of data stored in the legacy memory 22 according to the program, and process the data in this format in a system including the CPU 12, the memory module 14, and the bus 24. The data can be converted into a series of data (array) and stored in each memory module 14.
- FIG. 2 is a block diagram schematically showing each memory module 14.
- the memory module 14 includes a clock buffer 32 that receives a synchronization signal such as a clock supplied from the CPU module 12, a RAM core 34 that stores data, and a space ID and a data element number that will be described later.
- the MPU 36 which controls the writing of data to the RAM core 34 and the reading of data from the RAM core 34 based on the space ID and element number when receiving an instruction etc. from the CPU 12 And an I / O 38 for receiving data from the AM core 34 and / or sending data from the RAM core 34 to any bus.
- the memory module 14 receives an instruction from the CPU via a control signal line 25, and the MPU 36 reads out data from the RAM core 34 in response to the instruction, and sends the data to the RAM core 34.
- Write data or write to data Processing can be performed.
- the data access to the RAM core 34 and the data input and data output via the I / O are executed based on a synchronization signal such as a clock supplied to the clock buffer 32.
- the computer system 10 can be considered as a memory sharing type system. Also, as described later, by giving instructions to each memory module 14 via the control signal line 25, each memory module 14 executes processing in parallel. Further, data output to the bus and data input from the bus are executed based on a predetermined synchronization signal. Therefore, this computer system 10 can be considered to be in the form of SIMD.
- a multi-space memory refers to a memory space allocated to access a memory space based on a space ID and an address.
- a space ID is introduced into the memory space, and the same ID is given to a series of data.
- the memory module 14 knows the space ID related to the data stored in its own RAM core 34, and this allows each memory module 14 itself to recognize the space ID of the currently accessed data. By referring to, it is possible to decide whether or not to act on its own.
- each memory module can hold all or a part of a series of data in association with a space ID, a certain series of data can be divided and stored in a plurality of memory modules 14, Garbage collection can be eliminated.
- a single memory space contains a series of data "A”, a series of data "B”, and so on, as shown in Figure 3.
- the total memory size is 32 words, and the sum of the sizes of the series of data is 30 words. Since these series of data are scattered throughout the space, the size of the series of data that can be actually stored is limited to 3 words, even though the unused memory size is 12 words. You. Therefore, garbage collection must be performed if a new set of data with a size greater than three words is to be accommodated.
- FIG. 4 in the present invention, a space ID is given to each of a series of data. These are stored in one or more memory modules 14 in association with the spatial ID. Therefore, it is possible to match the unused size with the storable size.
- each memory module 14 has an MPU 36 and grasps the element numbers of the series of data held by itself in addition to the space ID. Therefore, after receiving the instruction from the CPU 12, the MPU 36 determines whether or not the data to be accessed according to the instruction is held in its own RAM core 34. To determine whether access is needed. In addition, each memory module 14 uses the SIMD instructed by the subscript range of the array elements stored in its own RAM core 34. It is possible to determine the allocation range of the implicit processing in Yong.
- the memory module 14 can execute address remapping. For example, as shown in Fig. 5, when inserting a specific element at a predetermined position in a certain array, or when deleting an element at a predetermined position or adding a predetermined element at the end of an array, in each of the memory modules holding the elements related to the array, the MPU 36 implements the address remapping in parallel and at high speed by executing the address remapping. Can be. Furthermore, as shown in FIG. 6, even when modifying the elements (values) of the array (for example, adding “1” to each value), each of the memory modules holding the elements of the associated array The MPU 36 can perform necessary processing in parallel and at high speed.
- the size of each data to be stored in the MPU 36 and the RAM core 34 can be grasped, and these can be stored in a compressed form. For example, if a certain memory module 14 should hold an integer value of data and the actual data value can only take a value from "0" to "3", the MPU 36 Prepare only 2 bits for one night. If 32 bits were used to represent a single integer between the CPU 12 and the CPU 12, the MPU 36 was used for communication between the memory module 14 and the CPU 12. The evening format should be changed to exchange data with CPU 1 and 2. This makes it possible to use the RAM core 34 more efficiently. Also, data with different lengths such as character strings can be stored with the data length changed similarly.
- a specific value (for example, “0”) can be set in the data associated with a predetermined space ID or in the data with a predetermined range of element numbers. You can do it. This makes it possible to execute the initialization process at high speed in the memory module 14. Also, in the memory module 14, it is possible to search for a value in a specific data (array) and check the range of the subscript.
- the CPU 12 selectively turns on / off the switches 28-1, 28-2,... And the switches 30-1, 30-2,.
- the pipeline processing is realized by specifying. For example, as shown in FIG. 7, the data output from one memory module 14i is given to another memory module 14j, and the data output from the other memory module 14j is given.
- the CPU 12 allocates the bus 24-m for the memory modules 14-i, 14-1 j, and allocates the bus 24-n Set the state of each switch to allocate for memory modules 14-14-k.
- these pipeline processes can be realized not only by connection between single memory modules, but also by connection between a series of memory modules (memory module group).
- connection between the memory modules is switched, and for each connection path, the specified type of data is transferred continuously in one direction in the specified order, thereby increasing the bus capacity.
- Communication can be scheduled so that it can be used close to 100%. As a result, it is possible to eliminate the low performance of the inter-processor communication, which is the biggest problem of the distributed memory type parallel processing system.
- FIG. 8 is a diagram for explaining the structure of the memory module 14 under a multi-space memory.
- the RAM core 34 in the memory module 14 is provided with a space ID management table.
- the MPU 36 of the memory module 14 can grasp necessary information such as the space ID of data held by itself.
- the space ID management table stores the logical group start address and data under the management of the space ID and CPU for each data group held by itself.
- the size of the area to which the group is allocated, the physical start address in the RAM core 34, the total size of a series of data having the space ID, and an access restriction flag indicating an access restriction are stored.
- the access restriction flag can indicate three states of read only (R), write only (R), and read / write (RW).
- FIG. 8C is a diagram showing the data in the RAM core 36 according to the space ID management table shown in FIG. 8B.
- the CPU 12 sends the space ID and the logical address and the necessary instructions (for example, writing and reading data) to all the memory modules 14 via the control signal line 25.
- the space comparator 52 provided in the MPU 36 compares the space ID with the space ID held in its own space ID management table, It is determined whether or not the same is held by itself, and the address comparator 54 makes a similar determination for the logical address.
- the MPU 36 of the memory module 14 determines that the data to be processed by the instruction is stored in its own: RAM core 34
- the address calibration 56 is replaced with the space ID.
- the physical address in the RAM core 34 is calculated with reference to the management table, and the data to be processed is specified.
- the MPU 36 processes the data according to the instruction given by the CPU 12 (for example, writing or reading data). ) And, if necessary, transmit the data to the CPU 12 (see FIG. 9 (c)).
- a series of data with a certain space ID (hereinafter, sometimes referred to as an “array”) has a specific element removed from the state of being stored in one or more memory modules 14. A series of operations up to the state will be described below.
- the data group belonging to the space ID “010” is stored as shown in FIG. 10 (a), and in many memory modules 14—j, the data is stored in the space ID “010”.
- the data group to which the data belongs is stored as shown in Fig. 10 (b).
- the memory module 14-i it can be seen that data from the logical addresses “0” to “59” are stored from the physical address “100” of the AM core. In this case, the apparent array is as shown in Fig. 10 (c).
- FIG. 11 and FIG. 13 are flowcharts showing processing executed in each memory module that has received the instruction to delete an element in a predetermined range in a certain space ID.
- the MPU 36 of each memory module receives the instruction given via the control signal line 25, interprets the content (step 1 101), and checks the “spatial ID” in the instruction (step 1). 102), it is determined whether or not it is related to the spatial ID of the data held by its own RAM core 34 (step 1103). If “No” is determined in step 1103, the process ends, and if “Yes” is determined, the MPU 36 refers to the space ID management table and The data group related to the space ID is in a writable state, or the size of the area requested to be deleted is smaller than the total size. It is determined whether it is small or not (step 1104).
- the MPU 36 determines that there is an error (Yes in step 1105), the MPU 36 notifies via the control signal line 25 that an error has occurred. On the other hand, if there is no abnormality, the MPU 36 compares the range requested to be deleted by the instruction with the range of the element held in its own RAM core 34 (step 1107), and the comparison result (Step 1108) executes various processes. First, if the range requested to be deleted is later than the range of the elements held by itself (see “A” in FIG. 11 and FIG. 12 (a)), the MPU 36 does not execute any processing ( See Step 1 109). If the area requested to be deleted overlaps the element that it holds (see “B” in Figure 11 and Figure 12 (b)), the MPU 36 sets the size of the allocated area. Update (step 1 1 1 0). That is, the allocation area size is changed so that the garbage is provided from the beginning of the deletion request range (see arrow 1201) to the end of the own: range of the element held in the AM core 34 (see arrow 1202).
- the MPU 36 sets the logical start address.
- the logical start address is updated so that is reduced by the size requested for deletion (step 1 1 1 1).
- the MPU 36 Change the logical start address to the first value in the range requested to be deleted, and change the physical start address to the physical address corresponding to the last value “+1” in the range requested to be deleted (step 1).
- the MPU 36 If the range requested to be deleted includes the range of the elements held by itself (see “E” in FIG. 11 and FIG. 12 (e)), the MPU 36 The data is deleted from the spatial ID management table (steps 1 114 in FIG. 13). Finally, the range requested to be deleted is changed to the range of the elements If it is included (see “F” in Fig. 11 and Fig. 12 (f)), the spatial ID management table is divided into two parts, and various data related to the area ahead of the deletion range and the data behind the deletion area. It relates to generate a related various de Isseki (step 1 1 15) c or, MPU 36 with respect own RAM 34, may be time during the garbage collection.
- each memory module 14 operates in response to a single instruction (an instruction to delete a certain space ID) from the CPU 12, and necessary processing is executed in parallel in a predetermined memory module.
- FIG. 14 is a flowchart showing a process executed in each memory module that has received an instruction to add an element to the end of an array of a certain space ID. Steps 1401 to 1406 in FIG. 14 correspond to steps 1101 to 1106 in FIG. Next, the MPU 36 of each memory module 14 determines whether or not the element to be added is to be stored in its own RAM core 34 (step 1407). This can be realized by the MPU 36 referring to its own space ID management table.
- step 1407 If the answer is YES in step 1407, the necessary value in the space ID management table is updated (for example, the allocation area size is changed according to the number of elements to be added), and then Then, an element to be added is written in a predetermined area in the RAM cell (step 1409). Alternatively, various values of the spatial ID management table may be generated, and elements to be added may be written to the corresponding area in the RAM cell.
- the MPU 36 updates the value of “all size” related to the space ID in the space ID management table (step 1410). Even when it is determined to be No (No) in step 1407, the value of the related “all size” in the space ID management table is updated.
- FIG. 15 (a) a case where a plurality of arrays are combined as shown in FIG. 15 (a) or a single array is divided into a plurality of arrays as shown in FIG. 15 (b). .
- an array having a certain space ID (the space ID “100” in FIG. 15A) and / or another space ID (the space ID in FIG. 15B).
- the array having ID “100”) may be accommodated in the RAM core of a single memory module, or may be accommodated in the RAM cores of a plurality of memory modules.
- FIG. 16 is a diagram showing an array having a space ID “10”, an array having a space ID “11”, and a state in which these are accommodated in a memory module.
- FIG. 16A shows an array 1501 in which the space ID is “10” and the size of each element is 10 words.
- the elements in this array 1501 are contained in memory modules 14-1 through 14-X.
- FIG. 16B shows an array 1510 whose space ID is “11” and each element has a size of 10 words.
- the elements of this array 1510 are also contained in memory modules 141-1 through 14-X.
- the MPU of the memory module realizes the connection of the array according to the following procedure.
- FIG. 17 is a diagram showing the array 1710 obtained in this manner and the spatial ID management tables (for example, reference numerals 1711 and 1712) in each of the memory modules 14-1 to 14-X.
- FIG. 18 is a diagram illustrating an example in which an array having a space ID “10” is divided into an array having a space ID “10” and an array having a space ID “11”.
- the decomposition point of the array having the space ID "10” shown in Fig. 18 (a) is determined, and the elements located before the decomposition point are arranged as the space ID "10" and the elements are located after the decomposition point.
- the element is an array of space ID "1 1".
- the CPU 12 sends the array of “space ID“ 10 ”and the array of space ID“ 10 ”and the space ID“ 1 1 ”
- the memory module 14 executes the processing substantially corresponding to the steps 1101 to 1106 in FIG. 11 and executes the processing related to the instruction among the memory modules. (In the example of FIG. 18, the memory modules 14-1 to 14-X) execute a predetermined process. For example, when the MPU 36 contains an element located behind the decomposition point, the MPU 36 creates various values in the space ID management table for the space ID “01 1” and creates the various values for the space ID “010”. Update the values for all sizes in the space management ID table.
- FIG. 19 shows the arrays 1901 and 1902 obtained in this way, and the spatial ID management tables in each of the memory modules 14-1 to 14-X (see, for example, reference numerals 1911, 1912, and 1913).
- FIG. 19 shows the arrays 1901 and 1902 obtained in this way, and the spatial ID management tables in each of the memory modules 14-1 to 14-X (see, for example, reference numerals 1911, 1912, and 1913).
- One memory module group 140 includes a single memory module, and the other memory module group includes a plurality of memory modules.
- the MPU 36 of the memory module 14 containing the element to be copied uses an instruction (for example, an array having a certain space ID) supplied from the CPU 12 via the control signal line 25.
- an instruction for example, an array having a certain space ID
- the MPU 36 which is the copy destination, also receives the element output from the bus in response to the reception of the same instruction, stores it in a predetermined area of the RAM core 34, and Update own space ID management table.
- data from one of the memory modules in one memory module group 140 is provided to the corresponding memory module in the other memory module group 141 by using a plurality of buses. Is possible.
- the CPU 12 may control the switches 28 and 30 so that data can be transferred between predetermined memory modules in the evening.
- the input subscript is converted by subscript conversion, an array is specified by the converted subscript, and the value is modified to the element of the array. can do.
- the MPU of each memory module rewrites the spatial ID management table related to the array and executes remuffing.
- subscript conversion can be eliminated instantaneously.
- the value qualification itself It takes time because the elements stored in the RAM core need to be updated. Therefore, in each memory module, a converted flag is provided, and after the element in which the value modification is reflected is actually stored in the RAM core, the flag corresponding to the element is set to “1”.
- FIG. 23 and FIG. 24 are diagrams for explaining the flow of the sorting process according to the present embodiment. This sort process can be roughly divided into the process shown in Fig. 23 (determination of the number of existence and calculation of the total number) and the process shown in Fig. 24 (transfer of the record number).
- a record number array storing record numbers, a value list storing actual item values for a certain item, and a record number array It takes a value (record number) as input, and uses a pointer to a value list that is configured to output a Boyne value indicating the storage location of the corresponding value list.
- the pointer number to the value list at the corresponding position is referenced from the record number, and the actual item value is specified according to the pointer value (see Fig. 25).
- the CPU 12 gives the necessary instructions to the respective memory modules 14 via the control signal line 25. Steps substantially equivalent to steps 1101 to 1106 are executed. In addition, among the related memory modules, the CPU 12 responds to the notification from the memory module storing the record number, and sets the memory module (first memory module group 2301) of the series of memory modules storing the record number. Control switches 28, 30 to connect the output to a bus (referred to as the "first bus").
- the CPU 12 sets a series of memory modules (the second memory module group 230) storing the pointer array to the value list.
- the switches 28, 30 are controlled so that the output of 2) is connected to a certain bus (referred to as "second bus").
- second bus a certain bus
- third memory module group 2303 an area for “existence number array” of the same size (same number of elements) as the pointer to the value list is secured. And each element is initialized to “0”. Further, the input of the third memory module group is connected to the second bus.
- the record numbers are sent out to the first bus in order from the top of the record number array.
- the MPU 36 of each memory module refers to the space ID management table and determines the timing at which the MPU 36 outputs data to the first bus. This is realized by detecting and transmitting a predetermined record number.
- the record number is given to each of the memory modules constituting the second memory module group 2302 via the first bus.
- the MPU 36 of each memory module refers to its own spatial ID management table, detects that the record number associated with the pin array in the value list managed by itself is input, and detects the input. The boyne value corresponding to is output to the second bus.
- the pointer value is provided to each of the memory modules constituting the module group of the third memory via the second bus.
- the MPU 36 of each memory module refers to its own spatial ID management table, detects that a pointer value related to the pointer array of the value list managed by itself is given, and sets the pointer in the existence number array. Increments the element at the position corresponding to the value. By repeating this operation, It is possible to know how many times the item value is indicated by the record number (pointing).
- This series of memory modules is referred to as a fourth memory module group 2304.
- the CPU 12 connects the output of the third memory module group used for the previous processing and the input of the fourth memory module group via a bus (referred to as a “third bus”). Control the switches 28, 30;
- the sorting process is performed. More specifically, from the top of the record number array, the record numbers are provided to the memory modules constituting the second memory module group via the first bus. For a given memory module in the second group of memory modules, the MPU 36 responds to the receipt of the record number and stores the pointer value via the second bus in the third group of memory modules. Communicate to
- the MPU 36 determines the storage position of the record number by referring to the related number array based on the pointer value. As a result, the record number and its storage position are sent from the memory module to the third bus. Therefore, in a predetermined memory module of the fourth memory module group, the MPU 36 arranges the record number at a predetermined storage position. By repeating this process, an array of sorted record numbers (reference numeral 24 1 in FIG. 24) is stored in the fourth memory module group.
- the processing shown in FIG. 23 can be made a pipeline processing. That is, when a certain record number “p” is transmitted on the first bus, a pointer value “P (p—
- the output of the first memory module group (see reference numeral 2601 in FIG. 26) including the memory modules storing the record number array is connected to the first bus, and An input of a second memory module group 2602 including a memory module storing a pointer array to a value list is connected to the first bus.
- the output of the first memory module group 2601 can be transmitted to the second memory module group 2602 via the first bus.
- the area of the array having the same number of space IDs as the second memory module group 2602 is secured in the third memory module group 2603, and the output of the second memory module group 2602 And the input of the third memory module group are connected via the second bus.
- the MPU 36 of the memory module that stores a certain record number sends the record number to the first bus. Then, in a predetermined memory module of the second memory module group 2602, the MPU 36 responds to this reception, calculates a space ID from the corresponding pointer value, and calculates the record number and the space ID, Send to the second bus.
- a predetermined memory module 36 is activated based on the space ID and the record number, and a given record number is arranged at the end of the array having the space ID. After performing such processing for all record numbers, in the third memory module group, the MPU 36 of each memory module executes processing for combining its own array. Even with such a method, high-speed sorting can be realized.
- the search processing can be executed in parallel based on a single instruction from CPU 12 by using a multi-space memory and a rearrangeable bus.
- FIG. 27 and FIG. 28 are diagrams for explaining the flow of the search process according to the present embodiment.
- a record number array, a pointer array to a value list, a value list, an availability flag array described later, and the like are used. Therefore, in this example, as in Figure 25, the values are referenced in the order of record number, pointer value, and item value.
- the CPU 12 sets the series of memory modules storing the value list (the first memory module group 2701).
- the switches 28, 30 are controlled so that the output of the first bus is connected to a certain bus (referred to as a "first bus").
- an area for the availability flag array whose prime number is the same as that of the value list is secured in a series of memory modules (second memory module group 270 2), and the second memory is allocated.
- MPU 36 of each memory module belonging to memory module 2 7 0 2 Is initialized to "0".
- the input of the second memory module group 2702 is connected to the first bus.
- the MPU 36 refers to the position of the item value that matches the search condition in the value list, and Set the corresponding value of to “1”. For example, if the search condition is the range, bisection method or the like may be used c In addition, if other conditions, may be judged that whether each element.
- a search is performed. First, the output of a series of memory modules (third memory module group 2703) storing the record number array is connected to the first bus, and a series of memory modules (pointer array for the value list) are stored.
- the CPU 12 controls the switches 28 and 30 to connect the input of the fourth memory module group 2704) to the first bus. Further, the CPU 12 controls the switches 28 and 30 so that the output of the fourth memory module group 2704 and the input of the second memory module group 2702 are connected to the second bus.
- an area for an array having the same number of elements as the record number is reserved in a series of memory modules (fifth memory module 2705), and the CPU 12 receives the input and the second memory
- the switches 28 and 30 are controlled so that the output of the module group 2702 is connected to a third bus.
- the record numbers are sent out to the first bus in order from the beginning of the record number array.
- the MPU 36 of each memory module refers to the space ID management table, detects the timing at which the MPU 36 outputs data to the first bus, and determines the predetermined record number. This is achieved by sending
- the record number is given to each of the memory modules constituting the fourth memory module group 2704 via the first bus.
- the MPU 36 of each memory module refers to its own spatial ID management table, detects that the record number related to the pointer array to the value list managed by itself has been input, and has accepted it. Record It outputs the code number and the boyne value corresponding to the input to the second bus.
- the pointer value is provided along with the record number to each of the memory modules constituting the module group of the third memory via the second bus.
- the MPU 36 of each memory module refers to its own space ID management table, detects that a pointer value indicating the same position as the position of the enable / disable flag array managed by itself is given, and indicates the pointer value. It is determined whether the availability flag is “0” or “1”. Next, when the availability flag is “1”, the related record number is provided to the fifth memory module group 2705 via the third bus.
- the MPU 36 of each memory module refers to its own space ID management table and records the record number indicating the same position as the position of the hit information storage array managed by itself. Is detected, and the element at that position is set to “1”. Such a process is repeated for a predetermined record number, and the element that is “1” in the hit information storage array is taken out, thereby completing the search.
- the present invention is applied to a computer system, but is not limited thereto, and may be applied to a computer board connectable to a personal computer or the like.
- the CPU 12, the memory unit 14, the bus 24, and the like are mounted on a board, and this constitutes the information processing unit in the present invention.
- the number of sets of buses connecting between the CPU 12 and the memory module 14 and / or between the memory modules 14 is not limited to the above-described embodiment, but includes a computer system. It can be appropriately determined in consideration of the size of the circuit board to be used, the number of bits of each bus, and the like.
- the switch 28 for defining the connection between the input / output of the memory module and the bus, and the switch for disconnecting the bus between the CPU and the memory module and between the memory modules are provided. 30 is provided. By providing the switch 30, for example, a certain bus (see the bus 24-4 in FIG.
- control signal line 25 the input from the CPU 12 via the control signal line 25 is also described. Although it is described that instructions are given, various control signals such as clocks for operating the respective memory modules in synchronization with each other are given via the control signal line 25, and It goes without saying that a predetermined signal (for example, an error signal or a signal indicating data reception) is provided from the memory module to the CPU 12.
- a predetermined signal for example, an error signal or a signal indicating data reception
- the function of one means may be realized by two or more physical means, or the function of two or more means may be realized by one physical means. Good.
- the present invention can be used particularly for a system for managing a large amount of data, for example, a database and a data warehouse. More specifically, it can be used for large-scale scientific and technical calculations, order management, core business management such as securities transactions, and business administration.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Multi Processors (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Image Processing (AREA)
- Debugging And Monitoring (AREA)
Description
Claims
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE60034065T DE60034065D1 (de) | 1999-09-17 | 2000-09-01 | Informationsverarbeitungseinheit |
CA002385079A CA2385079C (en) | 1999-09-17 | 2000-09-01 | Parallel computer architecture, and information processing unit using the architecture |
EP00956868A EP1244020B1 (en) | 1999-09-17 | 2000-09-01 | Information processing unit |
US10/088,028 US7185179B1 (en) | 1999-09-17 | 2000-09-01 | Architecture of a parallel computer and an information processing unit using the same |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26379399A JP4317296B2 (ja) | 1999-09-17 | 1999-09-17 | 並列コンピュータのアーキテクチャおよびこのアーキテクチャを利用した情報処理ユニット |
JP11/263793 | 1999-09-17 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2001022229A1 true WO2001022229A1 (fr) | 2001-03-29 |
Family
ID=17394340
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2000/005947 WO2001022229A1 (fr) | 1999-09-17 | 2000-09-01 | Architecture informatique parallele et unite de traitement de l'information au moyen de ladite architecture |
Country Status (9)
Country | Link |
---|---|
US (1) | US7185179B1 (ja) |
EP (1) | EP1244020B1 (ja) |
JP (1) | JP4317296B2 (ja) |
KR (1) | KR100719872B1 (ja) |
CN (1) | CN100401270C (ja) |
AT (1) | ATE357694T1 (ja) |
CA (1) | CA2385079C (ja) |
DE (1) | DE60034065D1 (ja) |
WO (1) | WO2001022229A1 (ja) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1785862A3 (en) * | 2000-02-29 | 2007-08-15 | Fujitsu Limited | Method and apparatus for pipeline processing |
US7352766B2 (en) * | 2002-03-12 | 2008-04-01 | Alcatel Lucent | High-speed memory having a modular structure |
US7039769B2 (en) | 2002-05-30 | 2006-05-02 | International Business Machines Corporation | Direct addressed shared compressed memory system |
JP3826859B2 (ja) * | 2002-08-19 | 2006-09-27 | ソニー株式会社 | 情報処理方法とその方法を実現するプログラム及び記録媒体 |
US20060265379A1 (en) * | 2003-04-16 | 2006-11-23 | Turbo Data Lab Inc | Information processing system and information processing method |
JP4620593B2 (ja) * | 2003-10-24 | 2011-01-26 | 株式会社ターボデータラボラトリー | 情報処理システムおよび情報処理方法 |
CN100452032C (zh) * | 2003-10-27 | 2009-01-14 | 特博数据实验室公司 | 分布式存储器类型的信息处理系统 |
US20080281843A1 (en) * | 2003-12-25 | 2008-11-13 | Turbo Data Laboratories, Inc. | Distributed Memory Type Information Processing System |
JP4559971B2 (ja) * | 2004-01-29 | 2010-10-13 | 株式会社ターボデータラボラトリー | 分散メモリ型情報処理システム |
US20060036826A1 (en) * | 2004-07-30 | 2006-02-16 | International Business Machines Corporation | System, method and storage medium for providing a bus speed multiplier |
CN101495973A (zh) * | 2006-06-09 | 2009-07-29 | 迅龙国际集团有限公司 | N^n数据管理、访问、存储、传输、交换和检索系统(数据集中管理) |
US8917165B2 (en) * | 2007-03-08 | 2014-12-23 | The Mitre Corporation | RFID tag detection and re-personalization |
US9665483B2 (en) * | 2013-09-30 | 2017-05-30 | Alcatel Lucent | Method and apparatus for bit-interleaving |
US10061590B2 (en) * | 2015-01-07 | 2018-08-28 | Micron Technology, Inc. | Generating and executing a control flow |
CN107408076B (zh) * | 2015-04-08 | 2020-12-11 | 国立大学法人奈良先端科学技术大学院大学 | 数据处理装置 |
US20210389151A1 (en) * | 2020-06-13 | 2021-12-16 | Megan Marie Braley | Micromobility navigation system with integrated responsiveness to user demographic data |
WO2022047422A1 (en) * | 2020-08-31 | 2022-03-03 | Botimer Jacob | Inter-layer communication techniques for memory processing unit architectures |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5456743A (en) * | 1977-09-19 | 1979-05-08 | Siemens Ag | Computer system |
JPS6222142A (ja) * | 1985-07-19 | 1987-01-30 | Sekisui Chem Co Ltd | 記憶装置 |
JPS63316254A (ja) * | 1987-06-19 | 1988-12-23 | Nippon Telegr & Teleph Corp <Ntt> | 並列プロセツサ |
JPH0667846A (ja) * | 1992-08-18 | 1994-03-11 | Hitachi Ltd | 半導体記憶装置 |
JPH07152640A (ja) * | 1993-11-26 | 1995-06-16 | Hitachi Ltd | 分散共有メモリ方式 |
JPH10143489A (ja) * | 1996-11-11 | 1998-05-29 | Hitachi Ltd | 情報処理システム |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USRE37305E1 (en) * | 1982-12-30 | 2001-07-31 | International Business Machines Corporation | Virtual memory address translation mechanism with controlled data persistence |
GB2168182A (en) * | 1984-12-05 | 1986-06-11 | Conic Corp | Data-driven processor |
DE68926043T2 (de) * | 1989-07-20 | 1996-08-22 | Toshiba Kawasaki Kk | Mehrprozessor-Computersystem |
US5490260A (en) * | 1990-12-14 | 1996-02-06 | Ceram, Inc. | Solid-state RAM data storage for virtual memory computer using fixed-sized swap pages with selective compressed/uncompressed data store according to each data size |
JP3098344B2 (ja) | 1992-12-18 | 2000-10-16 | 富士通株式会社 | データ転送処理方法及びデータ転送処理装置 |
JP3604176B2 (ja) * | 1994-09-14 | 2004-12-22 | 株式会社東芝 | 仮想空間管理方法及び分散処理システム |
US6226738B1 (en) * | 1997-08-01 | 2001-05-01 | Micron Technology, Inc. | Split embedded DRAM processor |
JP3385353B2 (ja) | 1999-01-25 | 2003-03-10 | 独立行政法人産業技術総合研究所 | 官能基を有する環状ケイ素化合物 |
-
1999
- 1999-09-17 JP JP26379399A patent/JP4317296B2/ja not_active Expired - Fee Related
-
2000
- 2000-09-01 EP EP00956868A patent/EP1244020B1/en not_active Expired - Lifetime
- 2000-09-01 US US10/088,028 patent/US7185179B1/en not_active Expired - Fee Related
- 2000-09-01 KR KR1020027003544A patent/KR100719872B1/ko not_active IP Right Cessation
- 2000-09-01 WO PCT/JP2000/005947 patent/WO2001022229A1/ja active IP Right Grant
- 2000-09-01 AT AT00956868T patent/ATE357694T1/de not_active IP Right Cessation
- 2000-09-01 CN CNB008143676A patent/CN100401270C/zh not_active Expired - Fee Related
- 2000-09-01 CA CA002385079A patent/CA2385079C/en not_active Expired - Fee Related
- 2000-09-01 DE DE60034065T patent/DE60034065D1/de not_active Expired - Lifetime
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5456743A (en) * | 1977-09-19 | 1979-05-08 | Siemens Ag | Computer system |
JPS6222142A (ja) * | 1985-07-19 | 1987-01-30 | Sekisui Chem Co Ltd | 記憶装置 |
JPS63316254A (ja) * | 1987-06-19 | 1988-12-23 | Nippon Telegr & Teleph Corp <Ntt> | 並列プロセツサ |
JPH0667846A (ja) * | 1992-08-18 | 1994-03-11 | Hitachi Ltd | 半導体記憶装置 |
JPH07152640A (ja) * | 1993-11-26 | 1995-06-16 | Hitachi Ltd | 分散共有メモリ方式 |
JPH10143489A (ja) * | 1996-11-11 | 1998-05-29 | Hitachi Ltd | 情報処理システム |
Non-Patent Citations (1)
Title |
---|
HIROTO YASUURA: "Kinou memory ni yoru chou heiretsu shori", JOHO SHORI, vol. 32, no. 12, December 1991 (1991-12-01), (TOKYO), pages 1260 - 1267, XP002934374 * |
Also Published As
Publication number | Publication date |
---|---|
US7185179B1 (en) | 2007-02-27 |
CN1379879A (zh) | 2002-11-13 |
CA2385079A1 (en) | 2001-03-29 |
EP1244020A4 (en) | 2003-01-15 |
CA2385079C (en) | 2009-07-21 |
EP1244020A1 (en) | 2002-09-25 |
JP4317296B2 (ja) | 2009-08-19 |
CN100401270C (zh) | 2008-07-09 |
KR20020064285A (ko) | 2002-08-07 |
KR100719872B1 (ko) | 2007-05-18 |
EP1244020B1 (en) | 2007-03-21 |
ATE357694T1 (de) | 2007-04-15 |
JP2001092796A (ja) | 2001-04-06 |
DE60034065D1 (de) | 2007-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2001022229A1 (fr) | Architecture informatique parallele et unite de traitement de l'information au moyen de ladite architecture | |
Dennis et al. | A preliminary architecture for a basic data-flow processor | |
US4968977A (en) | Modular crossbar interconnection metwork for data transactions between system units in a multi-processor system | |
WO2001038967A1 (fr) | Systeme de traitement de l'information | |
US5297255A (en) | Parallel computer comprised of processor elements having a local memory and an enhanced data transfer mechanism | |
WO2001088712A2 (en) | Distributed processing multi-processor computer | |
JPH0668053A (ja) | 並列計算機 | |
US5710932A (en) | Parallel computer comprised of processor elements having a local memory and an enhanced data transfer mechanism | |
US7849289B2 (en) | Distributed memory type information processing system | |
WO2005106713A1 (ja) | 情報処理方法及び情報処理システム | |
US6298433B1 (en) | Data flow computer incorporating von neumann processors | |
JP4620593B2 (ja) | 情報処理システムおよび情報処理方法 | |
JP4511464B2 (ja) | 情報処理システムおよび情報処理方法 | |
EP0326164B1 (en) | Parallel computer comprised of processor elements having a local memory and an enhanced data transfer mechanism | |
JPH06505588A (ja) | 並列ソフトウェア処理用ネットワーク構造 | |
JP2602241B2 (ja) | 並列計算機 | |
JP4559971B2 (ja) | 分散メモリ型情報処理システム | |
JPH011049A (ja) | 並列計算機 | |
JP3704367B2 (ja) | スイッチ回路 | |
JPS63503099A (ja) | 有効な信号とデ−タを処理するためのデ−タフロ−マルチプロセッサア−キテクチュア | |
KR950008838B1 (ko) | 멀티미디어 지식처리를 위한 병렬처리 컴퓨터의 노드 컴퓨터 구조 | |
Admiral et al. | Distributed store allocation and file management for transputer networks | |
Topham | A Parallel Vector Processing System | |
Blech et al. | A message passing kernel for the hypercluster parallel processing test bed | |
Zeidler | RDBM—A Relational Database Machine Based on a Dedicated Multiprocessor System |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): CA CN KR US |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
WWE | Wipo information: entry into national phase |
Ref document number: 10088028 Country of ref document: US Ref document number: 2385079 Country of ref document: CA |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2000956868 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1020027003544 Country of ref document: KR |
|
WWE | Wipo information: entry into national phase |
Ref document number: 008143676 Country of ref document: CN |
|
WWP | Wipo information: published in national office |
Ref document number: 1020027003544 Country of ref document: KR |
|
WWP | Wipo information: published in national office |
Ref document number: 2000956868 Country of ref document: EP |
|
WWG | Wipo information: grant in national office |
Ref document number: 2000956868 Country of ref document: EP |