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

Method and system for stack memory alignment utilizing recursion

Assignee: International Business Machines Corp
•
Filing: 1991-12-24
•
Granted: 1994-08-02
•
Expires: 2011-12-24
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and system for enhancing operating system efficiency in a data processing system by ensuring alignment of stack memory at a multi-byte boundary such that multi-byte data fetch operations may be utilized to efficiently retrieve data from the stack memory. At each invocation of an operating system procedure from an application within a data processing system, a stack memory pointer is examined to determine if stack memory contents including passed parameters and local variables to be allocated onto the stack memory will be aligned at a multi-byte boundary. In response to a prospective nonalignment of local variables, the operating system procedure is recursively invoked with an additional "dummy" parameter, such that stack memory contents will be aligned at a multi-byte boundary. Thereafter, the operating system will automatically align data within the stack memory at a multi-byte boundary so that the data may be efficiently stored and retrieved utilizing multi-byte data operations.

Inventors

  • 👤 Kenneth W. Christopher, Jr.
  • 👤 Virginia M. Roarabaugh
  • 👤 Theodore C. Waldron, III

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-31 11:38
CPC Classifications
G; G06; G06F; G06F7/00; G06F7/76; G06F7/78; G06F7/785

Claims Analysis

Total Claims: 11
Claim 1
Independent Claim 138 words
A method for enhancing operating system efficiency in a data processing system utilizing multi-byte data fetch operations and having a stack memory for temporary storage, said method comprising the steps of: at each invocation of a procedure within said operating system from an application within said data processing system, determining if stack memory contents including passed parameters and variables from said procedure will be aligned at a multi-byte boundary within said stack memory; and if said stack memory contents are not aligned at a multi-byte boundary within said stack memory, recursively invoking said procedure with an additional parameter such stack memory contents allocated on said stack memory with said additional parameter are aligned at a multi-byte boundary within said stack memory wherein data may be efficiently stored and retrieved thereafter within said stack memory utilizing multi-byte data operations.
Claim 2
Independent Claim 138 words
A method for enhancing operating system efficiency in a data processing system utilizing multi-byte data fetch operations and having a stack memory for temporary storage, said method comprising the steps of: at each invocation of a procedure within said operating system from an application within said data processing system, determining if stack memory contents including passed parameters and variables from said procedure will be aligned at a multi-byte boundary within said stack memory; and if said stack memory contents are not aligned at a multi-byte boundary within said stack memory, recursively invoking said procedure with an additional parameter such stack memory contents allocated on said stack memory with said additional parameter are aligned at a multi-byte boundary within said stack memory wherein data may be efficiently stored and retrieved thereafter within said stack memory utilizing multi-byte data operations.
Claim 3
Dependent Claim 30 words
The method for enhancing operating system efficiency in a data processing system according to claim 1, wherein each of said multi-byte data operations comprises a four byte double-word data operation.
Claim 4
Dependent Claim 30 words
The method for enhancing operating system efficiency in a data processing system according to claim 1, wherein each of said multi-byte data operations comprises a two byte single-word data operation.
Claim 5
Dependent Claim 41 words
The method for enhancing operating system efficiency in a data processing system according to claim 2, further including the step of automatically aligning data placed within said stack memory by said procedure on four byte double-word boundaries after said recursive invocation..
Claim 6
Dependent Claim 57 words
The method for enhancing operating system efficiency in a data processing system according to claim 1, wherein said step of the determining if stack memory contents including passed parameters and variables from said procedure will be aligned at a multi-byte boundary within said stack memory comprises the step of determining an address for a current stack pointer.
Claim 7
Dependent Claim 132 words
A data processing system for enhancing operating system efficiency, said data processing system comprising: a stack memory for temporary storage of data; means for performing multi-byte data fetch operations from said stack memory; means for determining if stack memory contents including passed parameters and local variables from an operating system procedure invoked by an application within said data processing system will be aligned at a multi-byte boundary within said stack memory; and means for recursively invoking said operating system procedure with an additional parameter in response to a prospective nonalignment of said local variables, such that said stack memory contents will be aligned at a multi-byte boundary within said stack memory wherein data may be efficiently stored and retrieved thereafter within said stack memory utilizing said means for performing multi-byte data operations.
Claim 8
Dependent Claim 132 words
A data processing system for enhancing operating system efficiency, said data processing system comprising: a stack memory for temporary storage of data; means for performing multi-byte data fetch operations from said stack memory; means for determining if stack memory contents including passed parameters and local variables from an operating system procedure invoked by an application within said data processing system will be aligned at a multi-byte boundary within said stack memory; and means for recursively invoking said operating system procedure with an additional parameter in response to a prospective nonalignment of said local variables, such that said stack memory contents will be aligned at a multi-byte boundary within said stack memory wherein data may be efficiently stored and retrieved thereafter within said stack memory utilizing said means for performing multi-byte data operations.
Claim 9
Dependent Claim 33 words
The data processing system for enhancing operating system efficiency according to claim 6, wherein said means for performing multi-byte data operations from said stack memory comprises means for performing four-byte double-word data operations.
Claim 10
Dependent Claim 33 words
The data processing system for enhancing operating system efficiency according to claim 6, wherein said means for performing multi-byte data operations from said stack memory comprises means for performing two-byte single-word data operations.
Claim 11
Dependent Claim 43 words
The data processing system for enhancing operating system efficiency according to claim 6, further including means for automatically aligning data placed within said stack memory by said operating system procedure on a multi-byte boundary after said recursive invocation of said operating system procedure.

References Cited (Backward Citations)

US4330822A Cited
US3824561A Cited
US4435753A Cited
US4920483A Cited
US4992931A Cited
US4860197A Cited
US4933847A Cited
US5023828A Cited
US5021974A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1997-08-01 1998-01-31 1998-08-02 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2001-08-01 2002-01-31 2002-08-02 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2005-08-01 2006-01-31 2006-08-02 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag