MICROPROGRAMMED CONTROL UNIT FOR HANDLING THE INTERMIXED OCCURENCES OF MICROPROGRAM BRANCHES AND INTERRUPTS

A computer system which facilitates the execution of nested subroutines and interrupts. As each branch transfer within the program is executed by a control area logic (36), a microcommand (65) initiates the transfer of the return address (from 66, 64), which has been derived from the address (at 36)...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: BRADLEY, JOHN J, MIU, MING T
Format: Patent
Sprache:eng
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:A computer system which facilitates the execution of nested subroutines and interrupts. As each branch transfer within the program is executed by a control area logic (36), a microcommand (65) initiates the transfer of the return address (from 66, 64), which has been derived from the address (at 36) in the present routine, to the top (71) of a LIFO (push down) stack (70). Thus, a sequential return to unfinished routines or subroutines is provided. When the subroutine or hardware interrupt service routine is completed, a code in the address field enables the return address of the previously branched from or interrupted routine to be retrieved from the top of the LIFO stack and to provide it as the address of the next instruction to be executed. The retrieval of the return address from the LIFO stack also pops all other stored return addresses one level in the stack. In addition to providing multiple levels of subroutine and interrut nesting, any number of subroutines or hardware interrupts may be partially completed, since the last operating subroutine or hardware interrupt service routine is always the first one to be completed. Logic is also provided to detect the occurrence of a hardware interrupt during a return sequence, so that the requirement to simultaneously push and pop the stack is properly handled.