Patent US5784604A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5784604A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and system for reduced run-time delay during conditional branch execution in pipelined processor systems utilizing selectively delayed sequential instruction purging

Assignee: International Business Machines Corp
•
Filing: 1992-10-09
•
Granted: 1998-07-21
•
Expires: 2012-10-09
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and system are disclosed for reducing run-time delay during conditional branch instruction execution in a pipelined processor system. A series of queued sequential instructions and conditional branch instructions are processed wherein each conditional branch instruction specifies an associated conditional branch to be taken in response to a selected outcome of processing one or more sequential instructions. Upon detection of a conditional branch instruction within the queue, a group of target instructions are fetched based upon a prediction that an associated conditional branch will be taken. Sequential instructions within the queue following the conditional branch instruction are then purged and the target instructions loaded into the queue only in response to a successful a retrieval of the target instructions, such that the sequential instructions may be processed without delay if the prediction that the conditional branch is taken proves invalid prior to retrieval of the target instructions. Alternately, the purged sequential instructions may be refetched after loading the target instructions such that the sequential instructions may be executed with minimal delay if the prediction that the conditional branch is taken proves invalid after loading the target instructions. In yet another embodiment, the sequential instructions within the queue following the conditional branch instruction are purged only in response to a successful retrieval of the target instructions and an imminent execution of the conditional branch instruction.

Inventors

  • 👤 John Stephen Muhich
  • 👤 Terrence Matthew Potter
  • 👤 Steven Wayne White

Bibliographic Details

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

Claims Analysis

Total Claims: 20
Claim 1
Independent Claim 177 words
A method in a data processing system for efficiently reducing run-time delays during pipelined processing of instructions stored within said data processing system which include a series of queued sequential instructions and conditional branch instructions wherein each of said conditional branch instructions specifies an associated conditional branch to be taken in response to a selected outcome of processing one or more of said series of sequential instructions, said method comprising the steps of: detecting a conditional branch instruction within a series of sequential instructions in a queue within said data processing system; fetching a plurality of target instructions based upon a prediction that a conditional branch associated with said detected conditional branch instruction will be taken; and purging a selected sequence of sequential instructions following said conditional branch instruction within said series in said queue only in response to a successful retrieval of said plurality of target instructions wherein said selected sequence of sequential instructions may be processed without delay in response to a refutation of said prediction prior to retrieval of said plurality of target instructions.
Claim 2
Independent Claim 177 words
A method in a data processing system for efficiently reducing run-time delays during pipelined processing of instructions stored within said data processing system which include a series of queued sequential instructions and conditional branch instructions wherein each of said conditional branch instructions specifies an associated conditional branch to be taken in response to a selected outcome of processing one or more of said series of sequential instructions, said method comprising the steps of: detecting a conditional branch instruction within a series of sequential instructions in a queue within said data processing system; fetching a plurality of target instructions based upon a prediction that a conditional branch associated with said detected conditional branch instruction will be taken; and purging a selected sequence of sequential instructions following said conditional branch instruction within said series in said queue only in response to a successful retrieval of said plurality of target instructions wherein said selected sequence of sequential instructions may be processed without delay in response to a refutation of said prediction prior to retrieval of said plurality of target instructions.
Claim 3
Dependent Claim 50 words
The method in a data processing system for efficiently reducing run-time delays during pipelined processing of instructions stored within said data processing system according to claim 1, further including the step of loading said plurality of target instructions into said queue following purging of said selected sequence of sequential instructions.
Claim 4
Dependent Claim 56 words
The method in a data processing system for efficiently reducing run-time delays during pipelined processing of instructions stored within said data processing system according to claim 2, further including the step of purging said plurality of target instructions in response to a refutation of said prediction following a loading of said target instructions into said queue.
Claim 5
Dependent Claim 84 words
The method in a data processing system for efficiently reducing run-time delays during pipelined processing of instructions stored within said data processing system according to claim 2, further including the step of refetching said selected sequence of sequential instructions following loading of said plurality of target instructions into said queue wherein said selected sequence of sequential instructions may be processed with minimal delay in response to a refutation of said prediction subsequent to a loading of said plurality of target instructions into said queue.
Claim 6
Independent Claim 191 words
A method in a data processing system for efficiently reducing run-time delays during pipelined processing of instructions stored within said data processing system which includes a series of queued sequential instructions and conditional branch instructions wherein each of said conditional branch instructions specifies an associated conditional branch to be taken in response to a selected outcome of processing one or more of said series of sequential instructions, said method comprising the steps of: detecting a conditional branch instruction within a series of sequential instructions in a queue within said data processing system; fetching a plurality of target instructions based upon a prediction that a conditional branch associated with said detected conditional branch instruction will be taken; and purging a selected sequence of sequential instructions following said conditional branch instruction within said series in said queue only in response to a successful retrieval of said plurality of target instructions and an imminent execution a first fixed point instruction which follows said conditional branch instruction wherein said selected sequence of sequential instructions may be processed without delay in response to a refutation of said prediction prior to execution of said conditional branch instruction.
Claim 7
Independent Claim 191 words
A method in a data processing system for efficiently reducing run-time delays during pipelined processing of instructions stored within said data processing system which includes a series of queued sequential instructions and conditional branch instructions wherein each of said conditional branch instructions specifies an associated conditional branch to be taken in response to a selected outcome of processing one or more of said series of sequential instructions, said method comprising the steps of: detecting a conditional branch instruction within a series of sequential instructions in a queue within said data processing system; fetching a plurality of target instructions based upon a prediction that a conditional branch associated with said detected conditional branch instruction will be taken; and purging a selected sequence of sequential instructions following said conditional branch instruction within said series in said queue only in response to a successful retrieval of said plurality of target instructions and an imminent execution a first fixed point instruction which follows said conditional branch instruction wherein said selected sequence of sequential instructions may be processed without delay in response to a refutation of said prediction prior to execution of said conditional branch instruction.
Claim 8
Dependent Claim 50 words
The method in a data processing system for efficiently reducing run-time delays during pipelined processing of instructions stored within said data processing system according to claim 5, further including the step of loading said plurality of target instructions into said queue following purging of said selected sequence of sequential instructions.
Claim 9
Dependent Claim 56 words
The method in a data processing system for efficiently reducing run-time delays during pipelined processing of instructions stored within said data processing system according to claim 6, further including the step of purging said plurality of target instructions in response to a refutation of said prediction following a loading of said target instructions into said queue.
Claim 10
Dependent Claim 84 words
The method in a data processing system for efficiently reducing run-time delays during pipelined processing of instructions stored within said data processing system according to claim 6, further including the step of refetching said selected sequence of sequential instructions following loading of said plurality of target instructions into said queue wherein said selected sequence of sequential instructions may be processed with minimal delay in response to a refutation of said prediction subsequent to a loading of said plurality of target instructions into said queue.
Claim 11
Dependent Claim 179 words
A data processing system for efficiently reducing run-time delays during pipelined processing of instructions stored within said data processing system which include a series of queued sequential instructions and conditional branch instructions wherein each of said conditional branch instructions specifies an associated conditional branch to be taken in response to a selected outcome of processing one or more of said series of sequential instructions, said data processing system comprising: means for detecting a conditional branch instruction within a series of sequential instructions in a queue within said data processing system; means for fetching a plurality of target instructions based upon a prediction that a conditional branch associated with said detected conditional branch instruction will be taken; and means for purging a selected sequence of sequential instructions following said conditional branch instruction within said series in said queue only in response to a successful retrieval of said plurality of target instructions wherein said selected sequence of sequential instructions may be processed without delay in response to a refutation of said prediction prior to retrieval of said plurality of target instructions.
Claim 12
Dependent Claim 179 words
A data processing system for efficiently reducing run-time delays during pipelined processing of instructions stored within said data processing system which include a series of queued sequential instructions and conditional branch instructions wherein each of said conditional branch instructions specifies an associated conditional branch to be taken in response to a selected outcome of processing one or more of said series of sequential instructions, said data processing system comprising: means for detecting a conditional branch instruction within a series of sequential instructions in a queue within said data processing system; means for fetching a plurality of target instructions based upon a prediction that a conditional branch associated with said detected conditional branch instruction will be taken; and means for purging a selected sequence of sequential instructions following said conditional branch instruction within said series in said queue only in response to a successful retrieval of said plurality of target instructions wherein said selected sequence of sequential instructions may be processed without delay in response to a refutation of said prediction prior to retrieval of said plurality of target instructions.
Claim 13
Dependent Claim 46 words
The data processing system for efficiently reducing run-time delays during pipelined processing of instructions stored within said data processing system according to claim 9, further including means for loading said plurality of target instructions into said queue following purging of said selected sequence of sequential instructions.
Claim 14
Dependent Claim 80 words
The data processing system for efficiently reducing run-time delays during pipelined processing of instructions stored within said data processing system according to claim 10, further including means for refetching said selected sequence of sequential instructions following loading of said plurality of target instructions into said queue wherein said selected sequence of sequential instructions may be processed with minimal delay in response to a refutation of said prediction subsequent to a loading of said plurality of target instructions into said queue.
Claim 15
Dependent Claim 52 words
The data processing system for efficiently reducing run-time delays during pipelined processing of instructions stored within said data processing system according to claim 9, further including means for purging said plurality of target instructions in response to a refutation of said prediction following a loading of said target instructions into said queue.
Claim 16
Dependent Claim 187 words
A data processing system for efficiently reducing run-time delays during pipelined processing of instructions stored within said data processing system which include a series of queued sequential instructions and conditional branch instructions wherein each of said conditional branch instructions specifies an associated conditional branch to be taken in response to a selected outcome of processing one or more of said series of sequential instructions, said data processing system comprising: means for detecting a conditional branch instruction within a series of sequential instructions in a queue within said data processing system; means for fetching a plurality of target instructions based upon a prediction that a conditional branch associated with said detected conditional branch instruction will be taken; and means for purging a selected sequence of sequential instructions following said conditional branch instruction within said series in said queue only in response to a successful retrieval of said plurality of target instructions and an imminent execution of said conditional branch instruction wherein said selected sequence of sequential instructions may be processed without delay in response to a refutation of said prediction prior to execution of said conditional branch instruction.
Claim 17
Dependent Claim 187 words
A data processing system for efficiently reducing run-time delays during pipelined processing of instructions stored within said data processing system which include a series of queued sequential instructions and conditional branch instructions wherein each of said conditional branch instructions specifies an associated conditional branch to be taken in response to a selected outcome of processing one or more of said series of sequential instructions, said data processing system comprising: means for detecting a conditional branch instruction within a series of sequential instructions in a queue within said data processing system; means for fetching a plurality of target instructions based upon a prediction that a conditional branch associated with said detected conditional branch instruction will be taken; and means for purging a selected sequence of sequential instructions following said conditional branch instruction within said series in said queue only in response to a successful retrieval of said plurality of target instructions and an imminent execution of said conditional branch instruction wherein said selected sequence of sequential instructions may be processed without delay in response to a refutation of said prediction prior to execution of said conditional branch instruction.
Claim 18
Dependent Claim 46 words
The data processing system for efficiently reducing run-time delays during pipelined processing of instructions stored within said data processing system according to claim 13, further including means for loading said plurality of target instructions into said queue following purging of said selected sequence of sequential instructions.
Claim 19
Dependent Claim 52 words
The data processing system for efficiently reducing run-time delays during pipelined processing of instructions stored within said data processing system according to claim 14, further including means for purging said plurality of target instructions in response to a refutation of said prediction following a loading of said target instructions into said queue.
Claim 20
Dependent Claim 80 words
The data processing system for efficiently reducing run-time delays during pipelined processing of instructions stored within said data processing system according to claim 14, further including means for refetching said selected sequence of sequential instructions following loading of said plurality of target instructions into said queue wherein said selected sequence of sequential instructions may be processed with minimal delay in response to a refutation of said prediction subsequent to a loading of said plurality of target instructions into said queue.

References Cited (Backward Citations)

US4200927A Cited
US4974154A Cited
US4974155A Cited
US5237666A Cited
US5127091A Cited
US5163140A Cited
US5230068A Cited
US5287467A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-07-20 2002-01-19 2002-07-21 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-07-20 2006-01-19 2006-07-21 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-07-20 2010-01-19 2010-07-21 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag