Browse Prior Art Database

Infinite Looping Detection in a Microprogrammed Stack Process

IP.com Disclosure Number: IPCOM000086545D
Original Publication Date: 1976-Sep-01
Included in the Prior Art Database: 2005-Mar-03
Document File: 1 page(s) / 12K

Publishing Venue

IBM

Related People

Lang, DJ: AUTHOR [+4]

Abstract

This technique relates to a processor which contains a task stack, in which the invocation of a new task causes the current task to be pushed to the next level in the stack. During this push, all the information required to reinstate the "old" task is loaded into the stack in a LIFO (Last In, First Out) fashion. The current condition of the new task assumes control of the resources of the processor and resides at the top of the stack. At the completion of that program task, the stack is "popped", the current task expires, and the processor returns control to the previous task.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 89% of the total text.

Page 1 of 1

Infinite Looping Detection in a Microprogrammed Stack Process

This technique relates to a processor which contains a task stack, in which the invocation of a new task causes the current task to be pushed to the next level in the stack. During this push, all the information required to reinstate the "old" task is loaded into the stack in a LIFO (Last In, First Out) fashion. The current condition of the new task assumes control of the resources of the processor and resides at the top of the stack. At the completion of that program task, the stack is "popped", the current task expires, and the processor returns control to the previous task.

If a task never leaves the stack (i.e., is never "popped off", a correlation can be made to a program hang-up or "endless loop condition". This condition can be detected by a method for providing signal indication, when previously processed terms are encountered in the stack.

The method comprises the steps of: setting a flag associated with each task to a first state as the term enters the stack; interrupting the processor every T seconds in order to set those flags presently in the first state into a second state; and indicating, as a "hang," the presence of those flags in the second state for which a transition from the first into the second state was not required. The method depends upon setting a status bit initially as each task enters the stack and periodically interrupting the processing to change all the status bits. A pr...