← Back to Patent Explorer
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
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag