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

Branch decision encoding scheme

Assignee: Lakestar Semi Inc
•
Filing: 1993-11-23
•
Granted: 1995-12-05
•
Expires: 2013-11-23
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The BRANCH DECISION ENCODING SCHEME shown herein overcomes the limitations of a dedicated debug port on a single chip computer processor. A dedicated debug port resolves many of the problems associated with an add-on logic analyzer, except for its limitation of an eight bit data interface. The 8 bit port is required as a trade-off between the device I/O requirements and development tools. During real time program development, it is virtually impossible to monitor the 24 bit program counter through a port only a third as wide. The present invention solves this problem by taking advantage of the sequential characteristics of application programs. There is a discontinuity in the program counter in only a limited number of situations: branches, jumps, subroutine calls and returns from subroutines, exceptions and returns from exceptions, traps and return from traps, and loopbacks to the tops of loops. Therefore, by monitoring most of these discontinuities, it becomes possible to compress the 24 bit data so that it can be output through the 8 bit port in real time. For example, branch decisions can be defined by noting only that they occurred, and if they were taken or not taken, i.e., "1" or "0". The results of the decision tree are contained within the program and can be reconstructed in an external work station. To maintain synchronization, the absolute value of the program counter is updated periodically as the opportunity presents itself. It is always updated following indirect jumps.

Inventors

  • 👤 Dale E. Folwell
  • 👤 Ricke W. Clark
  • 👤 Donald D. Harenberg

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 15:10
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/36; G06F11/362; G06F11/3636; G06F9/00; G06F9/06; G06F9/30; G06F9/30003; G06F9/3005; G06F9/32; G06F9/322; G06F9/323

Claims Analysis

Total Claims: 7
Claim 1
Independent Claim 90 words
A method of compressing program address data, the method comprising the steps of: (a) encoding, in sequential order, each simple branch made and not made in the program, in bit-form data, regardless of how many times, if any, that the branch has been previously encoded; (b) copying, in sequential order, each unpredictable, program absolute address, in bit-form data, regardless of how many times, if any, that the program absolute address has been previously copied; (c) ignoring any program predetermined instructions; and (d) recording said bit-form data at a work station.
Claim 2
Independent Claim 90 words
A method of compressing program address data, the method comprising the steps of: (a) encoding, in sequential order, each simple branch made and not made in the program, in bit-form data, regardless of how many times, if any, that the branch has been previously encoded; (b) copying, in sequential order, each unpredictable, program absolute address, in bit-form data, regardless of how many times, if any, that the program absolute address has been previously copied; (c) ignoring any program predetermined instructions; and (d) recording said bit-form data at a work station.
Claim 3
Dependent Claim 27 words
The method of claim 1, wherein said encoding is accomplished by supplying distinctive binary bits to a register indicative of whether or not the branch was taken.
Claim 4
Dependent Claim 24 words
The method of claim 2, further comprising the step of accumulating said bits for recordation at the work station as compressed program address data.
Claim 5
Dependent Claim 30 words
The method of claim 3, further comprising the step of accumulating the absolute new address in a further register whenever a signal is received for capture of program address data.
Claim 6
Independent Claim 91 words
A method of compressing program address data for use in expediting the correction of program errors, the method comprising the steps of: (a) recording, in sequential order, at each opportunity for a branch to be taken, a compressed indicator indicating whether the branch was taken, regardless of how many times, if any, that the branch has been previously recorded; (b) recording a new address when, at a taken branch, the program jumps in a non-predetermined manner, regardless of how many times, if any, that the new address has been previously recorded.
Claim 7
Independent Claim 91 words
A method of compressing program address data for use in expediting the correction of program errors, the method comprising the steps of: (a) recording, in sequential order, at each opportunity for a branch to be taken, a compressed indicator indicating whether the branch was taken, regardless of how many times, if any, that the branch has been previously recorded; (b) recording a new address when, at a taken branch, the program jumps in a non-predetermined manner, regardless of how many times, if any, that the new address has been previously recorded.

References Cited (Backward Citations)

US3673573A Cited
US4205370A Cited
US4453093A Cited
US4598364A Cited
US4821178A Cited
GB2200482A Cited
US5121489A Cited
US5301325A Cited
EP0569987A1 Cited
US5359608A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1998-12-04 1999-06-05 1999-12-05 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2002-12-04 2003-06-05 2003-12-05 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2006-12-04 2007-06-05 2007-12-05 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag