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

Method system and apparatus for instruction execution tracing with out of order processors

Assignee: International Business Machines Corp
•
Filing: 2000-04-20
•
Granted: 2004-01-20
•
Expires: 2020-04-20
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method, system and apparatus for instruction execution tracing with out of order speculative processors. Information corresponding to the state of an instruction cache and a data cache is stored in a trace storage device along with information corresponding to instructions sequenced and executed by the processor. When a cache load is necessary, updated cache information is stored in the trace storage device. Thereby, the state of the cache at all times during execution of instructions may be known from the information stored in the trace storage device. Additionally, the particular instructions sequenced and executed is known from the sequenced instructions information and the executed instructions information stored in the trace storage device. Hence the instruction execution stream may be reconstructed from the information stored in the trace storage device.

Inventors

  • 👤 Jason N. Dale
  • 👤 Jim A. Kahle
  • 👤 Douglas R. Logan
  • 👤 Alex E. Mericas
  • 👤 William J. Starke
  • 👤 Philip L. Vitale

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 15:25
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/36; G06F11/362; G06F11/3636

Claims Analysis

Total Claims: 48
Claim 1
Independent Claim 81 words
A method for use with a processor for reconstructing an instruction execution stream of program instructions, comprising: storing, in a storage device, cache information corresponding to instructions loaded in an instruction cache; storing, in the storage device, sequenced instructions information corresponding to instructions sequenced for execution; storing, in the storage device, instruction execution information corresponding to instructions executed by the processor; and reconstructing the instruction execution stream based on the cache information, the sequenced instructions information and the instruction execution information.
Claim 2
Independent Claim 81 words
A method for use with a processor for reconstructing an instruction execution stream of program instructions, comprising: storing, in a storage device, cache information corresponding to instructions loaded in an instruction cache; storing, in the storage device, sequenced instructions information corresponding to instructions sequenced for execution; storing, in the storage device, instruction execution information corresponding to instructions executed by the processor; and reconstructing the instruction execution stream based on the cache information, the sequenced instructions information and the instruction execution information.
Claim 3
Dependent Claim 14 words
The method of claim 1 , wherein the processor is an out-of-order speculative processor.
Claim 4
Dependent Claim 19 words
The method of claim 1 , wherein the sequenced instructions information is stored sequentially as the instructions are sequenced.
Claim 5
Dependent Claim 27 words
The method of claim 1 , further comprising storing updated cache information corresponding to instructions stored in the instruction cache when a cache load operation is performed.
Claim 6
Dependent Claim 28 words
The method of claim 4 , wherein the cache information and the updated cache information are stored sequentially along with the sequenced instructions information in the storage device.
Claim 7
Dependent Claim 20 words
The method of claim 1 , wherein sequenced instructions information includes speculatively sequenced instructions information corresponding to a branch instruction.
Claim 8
Dependent Claim 19 words
The method of claim 1 , wherein the sequenced instructions information includes a unique identifier of a sequenced instruction.
Claim 9
Dependent Claim 24 words
The method of claim 7 , wherein the unique identifier is an index into a completion table, the index corresponding to the sequenced instruction.
Claim 10
Dependent Claim 15 words
The method of claim 1 , wherein the storage device is external to the processor.
Claim 11
Dependent Claim 15 words
The method of claim 1 , wherein the storage device is internal to the processor.
Claim 12
Independent Claim 81 words
An apparatus, for use with a processor having an instruction cache, for reconstructing an instruction execution stream of program instructions, comprising: a storage device that stores cache information corresponding to instructions loaded in an instruction cache, sequenced instructions information corresponding to instructions sequenced for execution, and instruction execution information corresponding to instructions executed by the processor; and instruction execution reconstruction device that reconstructs the instruction execution stream based on the cache information, the sequenced instructions information and the instruction execution information.
Claim 13
Independent Claim 81 words
An apparatus, for use with a processor having an instruction cache, for reconstructing an instruction execution stream of program instructions, comprising: a storage device that stores cache information corresponding to instructions loaded in an instruction cache, sequenced instructions information corresponding to instructions sequenced for execution, and instruction execution information corresponding to instructions executed by the processor; and instruction execution reconstruction device that reconstructs the instruction execution stream based on the cache information, the sequenced instructions information and the instruction execution information.
Claim 14
Dependent Claim 14 words
The apparatus of claim 11 , wherein the processor is an out-of-order speculative processor.
Claim 15
Dependent Claim 19 words
The apparatus of claim 11 , wherein the sequenced instructions information is stored sequentially as the instructions are sequenced.
Claim 16
Dependent Claim 30 words
The apparatus of claim 11 , wherein the storage device further stores updated cache information corresponding to instructions stored in the instruction cache when a cache load operation is performed.
Claim 17
Dependent Claim 28 words
The apparatus of claim 14 , wherein the cache information and the updated cache information are stored sequentially along with the sequenced instructions information in the storage device.
Claim 18
Dependent Claim 21 words
The apparatus of claim 11 , wherein the sequenced instructions information includes speculatively sequenced instructions information corresponding to a branch instruction.
Claim 19
Dependent Claim 19 words
The apparatus of claim 11 , wherein the sequenced instructions information includes a unique identifier of a sequenced instruction.
Claim 20
Dependent Claim 24 words
The apparatus of claim 17 , wherein the unique identifier is an index into a completion table, the index corresponding to the sequenced instruction.
Claim 21
Dependent Claim 15 words
The apparatus of claim 11 , wherein the storage device is external to the processor.
Claim 22
Dependent Claim 15 words
The apparatus of claim 11 , wherein the storage device is internal to the processor.
Claim 23
Dependent Claim 100 words
A computer program product in a computer readable medium for use with a processor for reconstructing an instruction execution stream of program instructions, comprising: first instructions for storing, in a storage device, cache information corresponding to instructions loaded in an instruction cache; second instructions for storing, in the storage device, sequenced instructions information corresponding to instructions sequenced for execution; third instructions for storing, in the storage device, instruction execution information corresponding to instructions executed by the processor; and fourth instructions for reconstructing the instruction execution stream based on the cache information, the sequenced instructions information and the instruction execution information.
Claim 24
Dependent Claim 100 words
A computer program product in a computer readable medium for use with a processor for reconstructing an instruction execution stream of program instructions, comprising: first instructions for storing, in a storage device, cache information corresponding to instructions loaded in an instruction cache; second instructions for storing, in the storage device, sequenced instructions information corresponding to instructions sequenced for execution; third instructions for storing, in the storage device, instruction execution information corresponding to instructions executed by the processor; and fourth instructions for reconstructing the instruction execution stream based on the cache information, the sequenced instructions information and the instruction execution information.
Claim 25
Dependent Claim 16 words
The computer program product of claim 21 , wherein the processor is an out-of-order speculative processor.
Claim 26
Dependent Claim 21 words
The computer program product of claim 21 , wherein the sequenced instructions information is stored sequentially as the instructions are sequenced.
Claim 27
Dependent Claim 32 words
The computer program product of claim 21 , further comprising fifth instructions for storing updated cache information corresponding to instructions stored in the instruction cache when a cache load operation is performed.
Claim 28
Dependent Claim 30 words
The computer program product of claim 24 , wherein the cache, information and the updated cache information are stored sequentially along with the sequenced instructions information in the storage device.
Claim 29
Dependent Claim 22 words
The computer program product of claim 21 , wherein sequenced instructions information includes speculatively sequenced instructions information corresponding to a branch instruction.
Claim 30
Dependent Claim 21 words
The computer program product of claim 21 , wherein the sequenced instructions information includes a unique identifier of a sequenced instruction.
Claim 31
Dependent Claim 26 words
The computer program product of claim 27 , wherein the unique identifier is an index into a completion table, the index corresponding to the sequenced instruction.
Claim 32
Dependent Claim 17 words
The computer program product of claim 21 , wherein the storage device is external to the processor.
Claim 33
Dependent Claim 17 words
The computer program product of claim 21 , wherein the storage device is internal to the processor.
Claim 34
Independent Claim 109 words
A system for reconstructing an instruction execution stream of program instructions, comprising: a processor; an instruction cache, coupled to the processor, for storing instructions; a sequencing unit, coupled to the instruction cache, for sequencing instructions fetched from the instruction cache, for execution by the processor; a storage device that stores cache information corresponding to instructions loaded in the instruction cache, sequenced instructions information corresponding to instructions sequenced by the sequencing unit, and executed instructions information corresponding to instructions executed by the processor; and an instruction execution stream reconstruction device that reconstructs the instruction execution stream based on the cache information, the sequenced instructions information and the executed instructions information.
Claim 35
Independent Claim 109 words
A system for reconstructing an instruction execution stream of program instructions, comprising: a processor; an instruction cache, coupled to the processor, for storing instructions; a sequencing unit, coupled to the instruction cache, for sequencing instructions fetched from the instruction cache, for execution by the processor; a storage device that stores cache information corresponding to instructions loaded in the instruction cache, sequenced instructions information corresponding to instructions sequenced by the sequencing unit, and executed instructions information corresponding to instructions executed by the processor; and an instruction execution stream reconstruction device that reconstructs the instruction execution stream based on the cache information, the sequenced instructions information and the executed instructions information.
Claim 36
Dependent Claim 14 words
The system of claim 31 , wherein the processor is an out-of-order speculative processor.
Claim 37
Dependent Claim 29 words
The system of claim 31 , wherein the storage device stores updated cache information corresponding to instructions stored in the instruction cache when a cache load operation is performed.
Claim 38
Dependent Claim 15 words
The system of claim 31 , wherein the storage device is external to the processor.
Claim 39
Dependent Claim 15 words
The system of claim 31 , wherein the storage device is internal to the processor.
Claim 40
Dependent Claim 19 words
The system of claim 31 , wherein the sequenced instructions information includes a unique identifier of a sequenced instruction.
Claim 41
Dependent Claim 24 words
The system of claim 36 , wherein the unique identifier is an index into a completion table, the index corresponding to the sequenced instruction.
Claim 42
Dependent Claim 71 words
A data processing system for reconstructing an instruction execution stream of program instructions, comprising: storing means for storing cache information corresponding to instructions loaded in an instruction cache, sequenced instructions information corresponding to instructions sequenced for execution, and instruction execution information corresponding to instructions executed by the processor; and reconstructing means for reconstructing the instruction execution stream based on the cache information, the sequenced instructions information and the instruction execution information.
Claim 43
Dependent Claim 71 words
A data processing system for reconstructing an instruction execution stream of program instructions, comprising: storing means for storing cache information corresponding to instructions loaded in an instruction cache, sequenced instructions information corresponding to instructions sequenced for execution, and instruction execution information corresponding to instructions executed by the processor; and reconstructing means for reconstructing the instruction execution stream based on the cache information, the sequenced instructions information and the instruction execution information.
Claim 44
Dependent Claim 32 words
The data processing system of claim 38 , wherein the storing means further stores updated cache information corresponding to instructions stored in the instruction cache when a cache load operation is performed.
Claim 45
Dependent Claim 30 words
The data processing system of claim 39 , wherein the cache information and the updated cache information are stored sequentially along with the sequenced instructions information in the storing means.
Claim 46
Dependent Claim 22 words
The data processing system of claim 38 , wherein sequenced instructions information includes speculatively sequenced instructions information corresponding to a branch instruction.
Claim 47
Dependent Claim 21 words
The data processing system of claim 38 , wherein the sequenced instructions information includes a unique identifier of a sequenced instruction.
Claim 48
Dependent Claim 26 words
The data processing system of claim 42 , wherein the unique identifier is an index into a completion table, the index corresponding to the sequenced instruction.

References Cited (Backward Citations)

US5535331A Cited
US5564028A Cited
US5764885A Cited
US5802272A Cited
US6065106A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2007-01-19 2007-07-21 2008-01-20 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2011-01-19 2011-07-21 2012-01-20 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2015-01-19 2015-07-21 2016-01-20 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag