US5287466A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method and apparatus for parallel loads equalizing utilizing instruction sorting by columns based on predicted instruction execution time
Assignee: Mitsubishi Electric Corp
•
Filing: 1991-03-25
•
Granted: 1994-02-15
•
Expires: 2011-03-25
Abstract
Abstract A parallel processing system wherein the instruction field of each instruction is additionally provided with execution predict count information representative of the number of basic clocks required to execute the instruction, and sort circuits that rearrange a group of instructions on the basis of the execution predict count information are provided and wherein the group of instructions are divided into a plurality of blocks in units of columns, as a prefetching processing, and the blocks of instructions prefetched in units of columns are alternately subjected to sorting in descending order and sorting in ascending order by the sort circuits on the basis of the execution predict count information.
Inventors
- 👤 Takashi Kodama
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-31 07:30
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3836
Claims Analysis
Total Claims: 19
Claim 1
Independent Claim
127 words
A parallel computer, comprising: input means for accepting an input group of instructions having rows and columns; a group of n processing elements, including means for simultaneously processing a group of instructions in the form of a matrix of m rows and n columns, in units of columns; data feed means for fetching simultaneously a plurality of columns of instructions from said input means; sort means of sorting, including a first sort means for sorting a first column of instructions in descending order according to instruction execution predict count information associated with a given instruction, and a second sort means for simultaneously sorting a second column of instructions in ascending order; and means for feeding said first column and said second column consecutively to said processing elements.
Claim 2
Dependent Claim
127 words
A parallel computer, comprising: input means for accepting an input group of instructions having rows and columns; a group of n processing elements, including means for simultaneously processing a group of instructions in the form of a matrix of m rows and n columns, in units of columns; data feed means for fetching simultaneously a plurality of columns of instructions from said input means; sort means of sorting, including a first sort means for sorting a first column of instructions in descending order according to instruction execution predict count information associated with a given instruction, and a second sort means for simultaneously sorting a second column of instructions in ascending order; and means for feeding said first column and said second column consecutively to said processing elements.
Claim 3
Dependent Claim
78 words
A parallel computer according to claim 1, wherein said data feed means includes means for outputting a block of columns of instructions simultaneously; and wherein said sort means further includes a plurality of said first sort means, each first sort means operating independently; a plurality of said second sort means, each second sort means operating independently; and means for switching successive blocks of columns of instructions alternatively to a first sort means and to a second sort means.
Claim 4
Dependent Claim
27 words
A parallel computer according to claim 2, further comprising an instruction queue circuit that is connected between said sort means and said group of n processing elements.
Claim 5
Dependent Claim
38 words
A partial computer according to claim 3, wherein said instruction execution predict count information is data, in a data field of a given instruction, indicative of a number of clock cycles associated with execution of the given instruction.
Claim 6
Dependent Claim
38 words
A parallel computer according to claim 2, wherein said instruction execution predict count information is data, in a data field of a given instruction, indicative of a number of clock cycles associated with execution of the given instruction.
Claim 7
Dependent Claim
49 words
A parallel computer according to claim 2, wherein said sort means further includes a sufficient quantity of said first sort means and said second sort means such that a sort time associated with a block of instructions does not exceed a mean execution time of a block of instructions.
Claim 8
Dependent Claim
38 words
A parallel computer according to claim 1, wherein said instruction execution predict count information is data, in a data field of a given instruction, indicative of a number of clock cycles associated with execution of the given instruction.
Claim 9
Dependent Claim
173 words
A parallel computer comprising: fetch means for fetching a plurality of columns of instructions simultaneously from an input group of instructions in the form of a matrix of m rows and n columns; sort means for sorting, including first sort means for sorting a first column of instructions in descending order, and second sort means for sorting a second column of instructions in ascending order, said first sort means and said second sort means sorting simultaneously and independently according to instruction execution predict count information associated with a given instruction; switch means for alternately switching a first sort means and a second sort means to receive a plurality of columns of instructions from said fetch means; instruction queue means for receiving said first column and said second column from said sort means, and for outputting said first column and said second column consecutively; and processing elements having means for receiving said first column and said second column from said instruction queue means, and having means for processing instructions simultaneously in units of columns.
Claim 10
Dependent Claim
173 words
A parallel computer comprising: fetch means for fetching a plurality of columns of instructions simultaneously from an input group of instructions in the form of a matrix of m rows and n columns; sort means for sorting, including first sort means for sorting a first column of instructions in descending order, and second sort means for sorting a second column of instructions in ascending order, said first sort means and said second sort means sorting simultaneously and independently according to instruction execution predict count information associated with a given instruction; switch means for alternately switching a first sort means and a second sort means to receive a plurality of columns of instructions from said fetch means; instruction queue means for receiving said first column and said second column from said sort means, and for outputting said first column and said second column consecutively; and processing elements having means for receiving said first column and said second column from said instruction queue means, and having means for processing instructions simultaneously in units of columns.
Claim 11
Dependent Claim
49 words
A parallel computer according to claim 8, wherein said sort means further includes a sufficient quantity of said first sort means and said second sort means such that a sort time associated with a block of instructions does not exceed a mean execution time of a block of instruction.
Claim 12
Dependent Claim
166 words
A data feed method, for use in a parallel computer having n processing elements for simultaneously processing a group of instructions in the form of a matrix of m rows and n columns in units of columns, comprising the steps of: (a) accepting a plurality of columns of instructions; (b) dividing the plurality of columns of instructions into a plurality of blocks, each block including a plurality of first alternate columns and a plurality of second alternate columns; (c) sorting said first plurality of alternate columns simultaneously in descending order according to instruction execution predict count information associated with a given instruction to produce a first output; (d) sorting said second plurality of alternate columns simultaneously in ascending order according to instruction execution predict count information associated with a given instruction to produce a second output; (e) feeding said first output and said second output alternately as a third output in units of columns to said processing elements; and (f) executing steps (a) to (e) simultaneously.
Claim 13
Dependent Claim
166 words
A data feed method, for use in a parallel computer having n processing elements for simultaneously processing a group of instructions in the form of a matrix of m rows and n columns in units of columns, comprising the steps of: (a) accepting a plurality of columns of instructions; (b) dividing the plurality of columns of instructions into a plurality of blocks, each block including a plurality of first alternate columns and a plurality of second alternate columns; (c) sorting said first plurality of alternate columns simultaneously in descending order according to instruction execution predict count information associated with a given instruction to produce a first output; (d) sorting said second plurality of alternate columns simultaneously in ascending order according to instruction execution predict count information associated with a given instruction to produce a second output; (e) feeding said first output and said second output alternately as a third output in units of columns to said processing elements; and (f) executing steps (a) to (e) simultaneously.
Claim 14
Dependent Claim
39 words
A data feed method according to claim 10, wherein said instruction execution predict count information is data, in a data field of a given instruction, indicative of a number of clock cycles associated with execution of the given instruction.
Claim 15
Dependent Claim
181 words
A parallel computing method, for use in a parallel computer having n processing elements for simultaneously processing a group of instructions in the form of a matrix of m rows and n columns in units of columns, comprising the steps of: (a) accepting a plurality of columns of instructions; (b) dividing the plurality of columns of instructions into a plurality of blocks, each block including a plurality of first alternate columns and a plurality of second alternate columns; (c) sorting said first plurality of alternate columns simultaneously in descending order according to instruction execution predict count information associated with a given instruction to produce a first output; (d) sorting said second plurality of alternate columns simultaneously in ascending order according to instruction execution predict count information associated with a given instruction to produce a second output; (e) feeding said first output and said second output alternately as a third output in units of columns to said processing elements; (f) executing simultaneously a plurality of instructions from said third output in units of columns; and (g) executing steps (a) to (f) simultaneously.
Claim 16
Dependent Claim
181 words
A parallel computing method, for use in a parallel computer having n processing elements for simultaneously processing a group of instructions in the form of a matrix of m rows and n columns in units of columns, comprising the steps of: (a) accepting a plurality of columns of instructions; (b) dividing the plurality of columns of instructions into a plurality of blocks, each block including a plurality of first alternate columns and a plurality of second alternate columns; (c) sorting said first plurality of alternate columns simultaneously in descending order according to instruction execution predict count information associated with a given instruction to produce a first output; (d) sorting said second plurality of alternate columns simultaneously in ascending order according to instruction execution predict count information associated with a given instruction to produce a second output; (e) feeding said first output and said second output alternately as a third output in units of columns to said processing elements; (f) executing simultaneously a plurality of instructions from said third output in units of columns; and (g) executing steps (a) to (f) simultaneously.
Claim 17
Dependent Claim
38 words
A parallel computing method according to claim 12, wherein said instruction predict count information is data, in a data field of a given instruction, indicative of a number of clock cycles associated with execution of the given instruction.
Claim 18
Dependent Claim
208 words
A parallel computing method, for use in a parallel computer having n processing elements for simultaneously processing a group of instructions in the form of a matrix of m rows and n columns, each instruction containing an execution predict count information data field, in units of columns, comprising the steps of: (a) inserting in the data field of a given instruction a value representing the number of clock cycles required to execute the given instruction; (b) accepting a plurality of columns of instructions; (c) dividing the plurality of columns of instructions into a plurality of blocks, each block including a plurality of first alternate columns and a plurality of second alternate columns; (d) sorting said first plurality of alternate columns simultaneously in descending order according to instruction execution predict count information associated with a given instruction to produce a first output; (e) sorting said second plurality of alternate columns simultaneously in ascended order according to instruction execution predict count information associated with a given instruction to produce a second input; (f) feeding said first output and said second output alternately as a third output in units of columns to said processing elements; and (g) executing simultaneously a plurality of instructions from said third output in units of columns.
Claim 19
Dependent Claim
208 words
A parallel computing method, for use in a parallel computer having n processing elements for simultaneously processing a group of instructions in the form of a matrix of m rows and n columns, each instruction containing an execution predict count information data field, in units of columns, comprising the steps of: (a) inserting in the data field of a given instruction a value representing the number of clock cycles required to execute the given instruction; (b) accepting a plurality of columns of instructions; (c) dividing the plurality of columns of instructions into a plurality of blocks, each block including a plurality of first alternate columns and a plurality of second alternate columns; (d) sorting said first plurality of alternate columns simultaneously in descending order according to instruction execution predict count information associated with a given instruction to produce a first output; (e) sorting said second plurality of alternate columns simultaneously in ascended order according to instruction execution predict count information associated with a given instruction to produce a second input; (f) feeding said first output and said second output alternately as a third output in units of columns to said processing elements; and (g) executing simultaneously a plurality of instructions from said third output in units of columns.
References Cited (Backward Citations)
US4626989A
Cited
US4858176A
Cited
US4497023A
Cited
US4807115A
Cited
US4847755A
Cited
US4903196A
Cited
US4905183A
Cited
US4942525A
Cited
US5091848A
Cited
US4916652A
Cited
US5051885A
Cited
US5129067A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1997-02-14 | 1997-08-16 | 1998-02-15 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2001-02-14 | 2001-08-16 | 2002-02-15 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2005-02-14 | 2005-08-16 | 2006-02-15 | $7700.00 | Window Closed / Lapsed |