← Back to Patent Explorer
US5504923A Expired / Lapsed US ⏱️ 0.0 years remaining

Parallel processing with improved instruction misalignment detection

Assignee: Renesas Electronics Corp
•
Filing: 1994-09-19
•
Granted: 1996-04-02
•
Expires: 2014-09-19
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Availability flag registers are used for storing flags ia1-ia4 indicating the availability of instructions IR1-IR4 stored in an instruction register. The flags ia1-ia4 are controlled in accordance with misalignment information which represents the degree of an address accessing an instruction cache being shifted from a four word boundary. Upon determining whether or not issuance of an instruction from instruction decoder is possible, it is determined to be unissuable if an availability flag corresponding to each instruction is off. A logic structure for nullifying an instruction stored in an instruction register, when an address in accessing instruction cache 1 is shifted from the four word boundary is implemented without providing the instruction register with a resetting function, and thus a circuit for implementing this logic can be constructed with a reduced number of transistors.

Inventors

  • 👤 Hideki Ando

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-04 15:53
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3802; G06F9/3814; G06F9/3816

Claims Analysis

Total Claims: 8
Claim 1
Independent Claim 257 words
A parallel processor, comprising: an instruction memory; a plurality of function units each for achieving a prescribed function; a plurality of instruction register means for respectively storing the instructions fetched from said instruction memory, and a plurality of availability data register means each associated with a corresponding one of said plurality of instruction register means for storing data indicating that an instruction stored in a corresponding instruction register means is available; and decoder means for simultaneously fetching a plurality of instructions from the instruction memory, finding simultaneously executable instructions among the fetched instructions, and issuing these simultaneously executable instructions to respective function units which can perform a function required by the instruction; the stored instruction of said instruction register means and the data of the availability data register means being provided to said decoder means in parallel with each other; wherein the system further comprising: address producing means for producing a fetch address of said instruction memory; misalignment calculation means for indicating a degree of misalignment between an address of a first instruction of the plurality of instructions read out simultaneously from said instruction memory and said fetch address, said plurality of instructions read out simultaneously including first through last instructions; and availability data producing means for producing availability data for each of the plurality of instructions read out simultaneously from said instruction memory, from an instruction transmission signal (IC -- ready) from said instruction memory and from misalignment information from said misalignment calculation means, and writing the produced availability data to related availability data register means.
Claim 2
Dependent Claim 257 words
A parallel processor, comprising: an instruction memory; a plurality of function units each for achieving a prescribed function; a plurality of instruction register means for respectively storing the instructions fetched from said instruction memory, and a plurality of availability data register means each associated with a corresponding one of said plurality of instruction register means for storing data indicating that an instruction stored in a corresponding instruction register means is available; and decoder means for simultaneously fetching a plurality of instructions from the instruction memory, finding simultaneously executable instructions among the fetched instructions, and issuing these simultaneously executable instructions to respective function units which can perform a function required by the instruction; the stored instruction of said instruction register means and the data of the availability data register means being provided to said decoder means in parallel with each other; wherein the system further comprising: address producing means for producing a fetch address of said instruction memory; misalignment calculation means for indicating a degree of misalignment between an address of a first instruction of the plurality of instructions read out simultaneously from said instruction memory and said fetch address, said plurality of instructions read out simultaneously including first through last instructions; and availability data producing means for producing availability data for each of the plurality of instructions read out simultaneously from said instruction memory, from an instruction transmission signal (IC -- ready) from said instruction memory and from misalignment information from said misalignment calculation means, and writing the produced availability data to related availability data register means.
Claim 3
Dependent Claim 18 words
A parallel processor as recited in claim 1, wherein said instruction register means includes a non-resettable latch circuit.
Claim 4
Dependent Claim 19 words
A parallel processor as recited in claim 1, wherein said availability data register means includes a non-resettable latch circuit.
Claim 5
Dependent Claim 101 words
A parallel processor as recited in claim 1, wherein said misalignment information of said misalignment calculation means includes instruction specifying information for specifying an instruction between said fetch address and the address of said first instruction, said availability data producing means includes: (a) means for transmitting said instruction transmission signal as availability data for the instruction of an address of the last instruction among the instructions fetched simultaneously, and (b) means for producing the availability data of each of the instructions from instruction specifying information and said instruction transmission signal, for respective instructions between said first address and the last address.
Claim 6
Dependent Claim 63 words
A parallel processor as recited in claim 1, wherein said decoder means includes means for (a) receiving the instruction from said instruction register means and the data from said availability data register means, (b) finding instructions executable simultaneously, and (c) producing an issuability indication flag for each of the instructions from the availability data and data indicating which instructions can be executed simultaneously.
Claim 7
Independent Claim 201 words
A method of operating a parallel processor including a plurality of function units each for executing a prescribed function and capable of executing a plurality of instructions simultaneously with other instructions, comprising the steps of: producing an address pointer and fetching a plurality of instructions simultaneously from an instruction memory, said address pointer including a fetch address indicating a first address of said plurality of instructions, and a misalignment address indicating a degree of misalignment between the fetch address and the address pointer, said instruction memory producing an instruction transmission flag when transmitting the instructions; storing said plurality of instructions in parallel in a non-resettable register; producing an availability flag for indicating availability/unavailability of each of said plurality of instructions in accordance with said misalignment address and said instruction transmission flag; and storing thus produced availability flags correspondingly to each of said instructions; wherein the method further comprising the steps of: receiving the instructions in said non-resettable register and said availability flags in parallel, finding instructions simultaneously executable, producing an issuability flag from the availability flag and the data indicating which instructions can be executed simultaneously, and issuing the issuability flag and executable instruction in linkage to a corresponding function unit.
Claim 8
Independent Claim 201 words
A method of operating a parallel processor including a plurality of function units each for executing a prescribed function and capable of executing a plurality of instructions simultaneously with other instructions, comprising the steps of: producing an address pointer and fetching a plurality of instructions simultaneously from an instruction memory, said address pointer including a fetch address indicating a first address of said plurality of instructions, and a misalignment address indicating a degree of misalignment between the fetch address and the address pointer, said instruction memory producing an instruction transmission flag when transmitting the instructions; storing said plurality of instructions in parallel in a non-resettable register; producing an availability flag for indicating availability/unavailability of each of said plurality of instructions in accordance with said misalignment address and said instruction transmission flag; and storing thus produced availability flags correspondingly to each of said instructions; wherein the method further comprising the steps of: receiving the instructions in said non-resettable register and said availability flags in parallel, finding instructions simultaneously executable, producing an issuability flag from the availability flag and the data indicating which instructions can be executed simultaneously, and issuing the issuability flag and executable instruction in linkage to a corresponding function unit.

References Cited (Backward Citations)

DE2702586B2 Cited
US4295193A Cited
US4847755A Cited
US4924376A Cited
US4858105A Cited
US4928226A Cited
US5201057A Cited
US5073855A Cited
US5377339A Cited
US5051940A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1999-04-02 1999-10-02 2000-04-02 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2003-04-02 2003-10-02 2004-04-02 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2007-04-02 2007-10-02 2008-04-02 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag