Abstract:
A storage device (hereinafter referred to as a high speed store) includes a plurality of registers or locations and has an access speed compatible with that of its processor. Operand and operator entries are entered into one group of said registers in descending and ascending order from opposite ends thereof (a push operation) and removed therefrom (a pop operation) for processing each entry type in a last-in-first-out order. The group of registers is hereinafter referred to as a high speed stack. The number of entries stored in the stack at any moment can become very large due to the nesting of operators. Since it is not economically feasible to provide a large capacity high speed stack, overflow of the stack into a slower speed storage device (hereinafter called a low speed stack) is provided. ''''Roll out'''' of entries to the low speed stack and ''''roll in'''' of the entries back to the high speed stack is effected as the high speed stack becomes full and empty. When a new entry is to be stored into the high speed stack (a push operation) and the stack is full after the entry is stored therein, the entries are rolled out from the high speed stack to the low speed stack. Pointers (stack addresses), together with their pointer registers, pointer updating circuits and pointer controlled logic, automatically select the stack registers as entries are pushed thereon and popped therefrom. When entries are rolled out, the pointers are rolled out with the entries and the pointer registers are reinitialized. When the entries are subsequently rolled in, their pointers are rolled in and set in the pointer registers. Hardware is provided for reserving some of the high speed stack registers for direct addressing by instructions rather than by the automatic pointer addressing mechanism.
Abstract:
A data processing system characterized by a high speed local storage unit used for storage of addresses and data involved in a variety of operations. Accesses to a main storage unit, containing both macroprogram and microprogram information, is under the control of addresses held in local storage. Transfer from a main line program to an interrupt subroutine is also handled by the local storage unit.
Abstract:
A system for protecting data in storage against inadvertent alteration. An access to main storage is preceded by an access to auxiliary storage. A portion of the auxiliary storage address is used to address a local storage unit for a protection key. When main storage is accessed, a portion of the main storage address is used to address the local storage unit for a storage key relating to the addressed area in main storage. The keys are compared and alteration of data at the main storage address is prevented if the keys do not match.
Abstract:
Two separate address lines are provided for each storage line of local storage. One address line is connected to a first group of bytes and the second address line is connected to the remaining bytes with each storage line containing the same addressing connection. Control circuits are provided for selecting any two address lines where the combination of the two provides access to both byte groups.