Patent US4847753A successfully refreshed from Google Patents.
US4847753A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Pipelined computer
Assignee: Mitsubishi Electric Corp
•
Filing: 1987-07-13
•
Granted: 1989-07-11
•
Expires: 2007-07-13
Abstract
Abstract A pipelined computer includes an instruction cache connected to an instruction prefetch queue for storing a target address and a target instruction, with the address of a branch instruction taken as an index, and a comparator for comparing a predicted target address stored in the instruction cache with a real target address determined upon execution of the branch instruction. When both the target addresses agree in the comparator, the decoding unit and the instruction prefetch queue continue pipeline processing without alteration.
Inventors
- 👤 Masahito Matsuo
- 👤 Toyohiko Yoshida
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-26 18:58
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3802; G06F9/3804; G06F9/3806; G06F9/3861
Claims Analysis
Total Claims: 9
Claim 1
Independent Claim
309 words
A pipelined computer comprising: first memory means for storing a plurality of instructions in a plurality of locations specified by a plurality of addresses; instruction execution means for executing a first instruction sequence stored in a location specified by a first address in said first memory means; instruction decoding means for decoding a second instruction sequence stored in a location specified by a second address while said execution means is executing said first instruction sequence; instruction prefetch means for fetching a third instruction sequence stored in a location specified by a third address while said instruction decoding means is decoding said second instruction sequence; second memory means for storing; when said instruction execution means has executed a branch instruction sequence stored in a location specified by a branch address in said first memory means and is to execute a target instruction sequence stored in a location specified by a target address which is not subsequent to said branch address, said target instruction sequence and said target address, with said branch address taken as an index; and comparator means for comparing a real target address of a branch instruction executed by said execution means with a predicted target address fetched from said second memory means, if an address of a branch instruction sequence fetched from said instruction prefetch means for decoding is identical with a branch address stored in said second memory means, said instruction decoding means fetches from said second memory means a target instruction sequence for decoding while said prefetch means is reset to fetch from said first memory an instruction sequence subsequent to said target instruction sequence to continue pipeline processing when a real target address determined upon execution of said branch instruction sequence by said execution means agrees with a predicted target address fetched from said second memory means are in agreement in said comparator means.
Claim 2
Dependent Claim
309 words
A pipelined computer comprising: first memory means for storing a plurality of instructions in a plurality of locations specified by a plurality of addresses; instruction execution means for executing a first instruction sequence stored in a location specified by a first address in said first memory means; instruction decoding means for decoding a second instruction sequence stored in a location specified by a second address while said execution means is executing said first instruction sequence; instruction prefetch means for fetching a third instruction sequence stored in a location specified by a third address while said instruction decoding means is decoding said second instruction sequence; second memory means for storing; when said instruction execution means has executed a branch instruction sequence stored in a location specified by a branch address in said first memory means and is to execute a target instruction sequence stored in a location specified by a target address which is not subsequent to said branch address, said target instruction sequence and said target address, with said branch address taken as an index; and comparator means for comparing a real target address of a branch instruction executed by said execution means with a predicted target address fetched from said second memory means, if an address of a branch instruction sequence fetched from said instruction prefetch means for decoding is identical with a branch address stored in said second memory means, said instruction decoding means fetches from said second memory means a target instruction sequence for decoding while said prefetch means is reset to fetch from said first memory an instruction sequence subsequent to said target instruction sequence to continue pipeline processing when a real target address determined upon execution of said branch instruction sequence by said execution means agrees with a predicted target address fetched from said second memory means are in agreement in said comparator means.
Claim 3
Dependent Claim
102 words
The pipelined computer of claim 1, wherein said comparator means consists of a comparator for comparing a real target address determined by execution of said branch instruction with a predicted target address stored in said second memory means; and said instruction prefetch means consists of an instruction prefetch queue, when said real target address does not agree with said predicted target address in said comparator, said comparator issues a cancel signal for invalidating results decoded by said decoding means and contents of said instruction prefetch queue are also invalidated so that said prefetch queue fetches new instructions from said first memory means.
Claim 4
Dependent Claim
42 words
The pipelined computer of claim 1, wherein said second memory means is an instruction cache which stores addresses of branch instructions, target addresses determined by execution of said branch instructions, and instruction codes of four bytes which start from said target addresses.
Claim 5
Dependent Claim
91 words
The pipelined computer of claim 3, wherein said instruction decoding means consists of an instruction decoder which, when a cache hit occurs, fetches a target instruction code from said instruction cache for decoding while contents of said instruction prefetch queue are invalidated to start queuing from an address four bytes ahead of said predicted target address, whereby when a real target address determined by execution of said branch address agrees with a predicted target address fetched from said instruction cache, said prefetch queue and said decoder continue processing without any alteration.
Claim 6
Dependent Claim
237 words
A pipelined computer comprising: a main memory for storing a plurality of instructions in a plurality of locations specified by a plurality of addresses; an instruction prefetch queue for fetching a line of instructions from said main memory while said main memory is not accessed; an instruction decoding unit for decoding instructions fetched by said instruction prefetch queue while said instruction prefetch queue is fetching subsequent instructions; an instruction execution unit for executing instructions decoded by said instruction decoding unit while said instruction decoding unit is decoding subsequent instructions, thus providing pipeline processing; an instruction cache for storing addresses of branch instructions which have been recently executed by said execution unit, target addresses determined upon execution of said branch instructions, and target instruction codes of said target addresses; and a comparator for comparing real target addresses determined by said execution unit with predicted target addresses stored in said instruction cache; when an address of a branch instruction fetched from said instruction prefetch queue matches an address stored in said instruction cache, said instruction decoding unit fetches a target instruction code from said instruction cache for decoding while said prefetch queue is reset to fetch a subsequent instruction from said main memory, and when a real target address determined by said execution unit agrees with a predicted target address stored in said instruction cache, said prefetch queue and said decoding unit continue processing, thus providing uninterrupted pipeline processing.
Claim 7
Dependent Claim
237 words
A pipelined computer comprising: a main memory for storing a plurality of instructions in a plurality of locations specified by a plurality of addresses; an instruction prefetch queue for fetching a line of instructions from said main memory while said main memory is not accessed; an instruction decoding unit for decoding instructions fetched by said instruction prefetch queue while said instruction prefetch queue is fetching subsequent instructions; an instruction execution unit for executing instructions decoded by said instruction decoding unit while said instruction decoding unit is decoding subsequent instructions, thus providing pipeline processing; an instruction cache for storing addresses of branch instructions which have been recently executed by said execution unit, target addresses determined upon execution of said branch instructions, and target instruction codes of said target addresses; and a comparator for comparing real target addresses determined by said execution unit with predicted target addresses stored in said instruction cache; when an address of a branch instruction fetched from said instruction prefetch queue matches an address stored in said instruction cache, said instruction decoding unit fetches a target instruction code from said instruction cache for decoding while said prefetch queue is reset to fetch a subsequent instruction from said main memory, and when a real target address determined by said execution unit agrees with a predicted target address stored in said instruction cache, said prefetch queue and said decoding unit continue processing, thus providing uninterrupted pipeline processing.
Claim 8
Dependent Claim
51 words
The pipelined computer of claim 5, wherein when said real target address does not agree with said predicted target address, said comparator issues a cancel signal for invalidating decoded results of said decoding unit and contents of said prefetch queue to fetch a new line of instructions from said main memory.
Claim 9
Dependent Claim
19 words
The pipelined computer of claim 5, wherein said target instruction code has four bytes starting from said target address.
References Cited (Backward Citations)
US3559183A
Cited
US4200927A
Cited
US4310880A
Cited
US4471433A
Cited
US4373180A
Cited
US4604691A
Cited
US4573118A
Cited
US4760519A
Cited
US4777594A
Cited
US4571673A
Cited
US4764861A
Cited
US4691277A
Cited
US4775927A
Cited
US4714994A
Cited
US4755935A
Cited
US4763253A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1992-07-10 | 1993-01-09 | 1993-07-11 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 1996-07-10 | 1997-01-09 | 1997-07-11 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2000-07-10 | 2001-01-09 | 2001-07-11 | $7700.00 | Window Closed / Lapsed |