Reordering apparatus

Abstract
A memory device stores entries waiting to be processed. Row numbers of matrix information correspond to storage positions within the memory device, column numbers correspond to positions within the order of the entries, and every matrix element corresponding to the storage position and the position within the order of the entry stored in this storage position has a predetermined value. An operation between the first vector information indicating storage positions of processable entries and each column of the matrix information is performed and the second vector information indicating positions within the order of the processable entries is generated. Then, a position to be processed is selected from among the positions of processable entries indicated by the second vector information, an element having the predetermined value in the column corresponding to the selected position is obtained, and an entry in the storage position corresponding to the element is processed.
Description

BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a diagram showing a conventional reordering control operation;



FIG. 2 is a principle diagram of a reordering apparatus according to the present invention;



FIG. 3 is a diagram showing a first bit matrix;



FIG. 4 is a diagram showing a second bit matrix;



FIG. 5 is a diagram showing a third bit matrix;



FIG. 6 is a diagram showing a fourth bit matrix;



FIG. 7 is a diagram showing a fifth bit matrix;



FIG. 8 is a diagram showing a sixth bit matrix;



FIG. 9 is a diagram showing initial values of the bit matrix;



FIG. 10 is a block diagram of a microprocessor;



FIG. 11A is a block diagram (1) of a reordering circuit;



FIG. 11B is a block diagram (2) of the reordering circuit;



FIG. 12 is a block diagram of a communication LSI; and



FIG. 13 is a block diagram of a parallel computer.


Claims
  • 1. A reordering apparatus that holds a plurality of entries as processing subjects and changes a processing order of the plurality of entries from a first order to a second order, the reordering apparatus comprising: a memory device that separately stores a plurality of entries waiting to be processed in different storage positions;a matrix device that holds matrix information, in which the storage positions within the memory device correspond to row numbers and positions within a first order correspond to column numbers, and an element corresponding to a storage position and a position within the first order of each entry stored in this storage position has a predetermined value;a vector device that holds first vector information indicating storage positions of one or more processable entries, among the storage positions within the memory device;a control device that performs an operation between the first vector information and each column of the matrix information, generates second vector information indicating positions within the first order of one or more processable entries from operation results of respective columns, selects a position within the first order to be processed from the positions within the first order of the one or more entries indicated by the second vector information, obtains an element having the predetermined value in a column corresponding to the selected position within the first order, and processes an entry in a storage position corresponding to the obtained element, thereby actualizing a processing according to the second order.
  • 2. The reordering apparatus according to claim 1, wherein an element corresponding to a storage position waiting to store an entry and a position within the first order assigned to the storage position has the predetermined value, in the matrix information.
  • 3. The reordering apparatus according to claim 1, wherein the control device calculates a logical product of each element in the first vector information and each element of each column of the matrix information to generate third vector information as a calculation result of each column, calculates a logical sum of all elements in the third vector information for each column to generate the second vector information.
  • 4. The reordering apparatus according to claim 2, wherein the control device rotates and shifts columns of the matrix information when the entry in the storage position corresponding to the obtained element is processed, so that the column corresponding to the selected position within the first order is placed last in the first order.
  • 5. The reordering apparatus according to claim 2 further comprising a pointer device that holds pointer information indicating a head position within the first order, among positions within the first order assigned to a plurality of storage positions waiting to store an entry, wherein the control device obtains an element having the predetermined value in the column corresponding to the position within the first order indicated by the pointer information and stores a new entry in the storage position corresponding to the obtained element.
  • 6. The reordering apparatus according to claim 5, wherein the control device updates the pointer information of the pointer device so that the pointer information indicates a new head position within the first order when a new entry is stored in the memory device and when an entry stored in the memory device is processed.
  • 7. The reordering apparatus according to claim 1, wherein the matrix device uses an arrival order of entries as the first order.
  • 8. The reordering apparatus according to claim 1, wherein the control device selects a first position within the first order, among one or more positions within the first order indicated by the second vector information, as the position within the first order to be processed.
  • 9. The reordering apparatus according to claim 1, wherein the memory device stores a plurality of instructions as the plurality of entries waiting to be processed, and the control device performs to issue the instructions stored in the memory device, in an information processing device.
  • 10. The reordering apparatus according to claim 1, wherein the memory device stores a plurality of packet information entries as the plurality of entries waiting to be processed, and the control device processes the packet information entries stored in the memory device.
  • 11. A computer-readable recording medium storing a program for a computer that holds a plurality of entries as processing subjects and changes a processing order of the plurality of entries from a first order to a second order, wherein the program enables the computer to perform: separately storing a plurality of entries waiting to be processed in different storage positions within a memory device;holding matrix information, in which the storage positions within the memory device correspond to row numbers and positions within a first order correspond to column numbers, and an element corresponding to a storage position and a position within the first order of each entry stored in this storage position has a predetermined value;holding first vector information indicating storage positions of one or more processable entries, among the storage positions within the memory device;performing an operation between the first vector information and each column of the matrix information, and generates second vector information indicating positions within the first order of one or more processable entries from operation results of respective columns;selecting a position within the first order to be processed from the positions within the first order of the one or more entries indicated by the second vector information;obtaining an element having the predetermined value in a column corresponding to the selected position within the first order; andprocessing an entry in a storage position corresponding to the obtained element, thereby actualizing a processing according to the second order.
  • 12. A reordering apparatus that holds a plurality of entries as processing subjects and changes a processing order of the plurality of entries from a first order to a second order, the reordering apparatus comprising: memory means for separately storing a plurality of entries waiting to be processed in different storage positions;matrix means for holding matrix information, in which the storage positions within the memory means correspond to row numbers and positions within a first order correspond to column numbers, and an element corresponding to a storage position and a position within the first order of each entry stored in this storage position has a predetermined value;vector means for holding first vector information indicating storage positions of one or more processable entries, among the storage positions within the memory means;control means for performing an operation between the first vector information and each column of the matrix information, generating second vector information indicating positions within the first order of one or more processable entries from operation results of respective columns, selecting a position within the first order to be processed from the positions within the first order of the one or more entries indicated by the second vector information, obtaining an element having the predetermined value in a column corresponding to the selected position within the first order, and processing an entry in a storage position corresponding to the obtained element, thereby actualizing a processing according to the second order.
Priority Claims (1)
Number Date Country Kind
2006-050798 Feb 2006 JP national