摘要:
A microprocessor with reduced context switching overhead and a corresponding method is disclosed. The microprocessor comprises a working register file that comprises dirty bit registers and working registers. The working registers including one or more corresponding working registers for each of the dirty bit registers. The microprocessor also comprises a decoder unit that is configured to decode an instruction that has a dirty bit register field specifying a selected dirty bit register of the dirty bit registers. The decoder unit is configured to generate decode signals in response. Furthermore, the working register file is configured to cause the selected dirty bit register to store a new dirty bit in response to the decode signals. The new dirty bit indicates that each operand stored by the one or more corresponding working registers is inactive and no longer needs to be saved to memory if a new context switch occurs.
摘要:
A method and apparatus for unstacking registers in a data processing system (100). In one form, the present invention is a more time efficient solution to the problem of unstacking and stacking registers (154-158) during interrupt processing in a data processing system (100). By taking advantage of the fact that pulling a register value off of the stack does not change any of the values stored in the memory which is being used as the stack, the present invention reduces the unstacking and stacking each time that two interrupts are processed back to back with no non-interrupt processing in between. The present invention eliminates the unstacking of the program counter register (158) and the re-stacking of registers (154-158) by changing the value of the stack pointer register (161) without any corresponding stacking or unstacking operation.
摘要:
A multiprocessor (MP) computer sytem which allows target CPU(s) to continue processing instructions while other target CPU(s) are processing instructions of emulation code to reach their end of a Domain Unit of Operation before synchronization. A two-level MP sync is used since the target CPUs must be in between units of operation when the updates occur since a unit of operation can be one instruction or it can be many instructions that together emulate one instruction. Two level MP sync allows CPUs that are going to be serialized to continue to process single instructions (no emulation code) while other target CPUs are in emulation mode.
摘要:
The invention relates to an interruption mechanism for a data processing system. The interruption mechanism comprises an execution processing unit (1) and a memory unit (2). The execution processing unit (1) includes a basic processor status storage (13), an extended processor status storage (14), current and new processor status block pointer storages (11, 12), and an interruption control section (17). Following the acceptance of interruption request, the interruption mechanism is sequentially operated by a plurality of steps. The interruption mechanism improves the performance of the execution processing unit (1).
摘要:
A multiple processor system in which a plurality of co-equal processors (11, 11A, 118, 11C share a common memory (12) which includes a data structure (13) for storing machine state information for a plurality of processing tasks (jobs) (14, 14A...). The instruction set of each of the processors includes a job processor instruction (JP FLUSH) for storing in the data structure the current machine state information (15) of a processing task being executed by a processor atthe time such execution has been stopped either because of an interruption thereof or because an allotted time period assigned to a processor for executing that task is over. The processor can then select another processing task and issue another instruction (JP LOAD) to obtain the machine state information therefor from the data structure (13) to permit such other task to be executed using this machine state information. A furhter instruction for permitting a faster load operation can also be issued by a processor when only a portion of the machine state information is required to be foaded. Other instructions are provided for various purposes useful in the multiple processor context.
摘要:
A data processing system has a data processing function to perform a data processing by specifying one of a plurality of register groups (BNO, BN1, BN2) according to an instruction. The instruction contains an information for indicating a change from a register group (BNO) to another register group (BN2) and an information for specifying desired one or two or more registers (R2, R15; R7, R12) in said register group(s). This enables to transfer the contents of the desired one or two or more registers to other registers at a register change.
摘要:
A multiprocessor system including firmware, which system is comprised of at least a plurality of central processing units (CPU 0 to CPU 3) and a main memory (5) to be commonly occupied by all the central processing units. The main memory is composed of an operating system area (3) and a firmware area (6). The firmware area is divided into a common firmware area (5) utilised by all the central processing units and a plurality of independent prefix areas (7-0 to 7-3) allotted to the central processing units (CPU 0 to CPU 3), Each prefix area is operative as an interface port, for a central processing unit, between the operating system area and the common firmware area.
摘要:
Apparatus and method for operating a computing system to enable multiple users executing in various address spaces and according to various priorities, key states, and allocation levels to share the computing and data resources of the system. The computing system includes at least one subsystem (70) having a pool of available functional modules for supporting a plurality of user requests (81, 82, 85) under various access protocols (65-67) and allocation levels. Execution means are provided for assuring that user requests valid only under some protocols and allocation levels are not executed on behalf of users authorized only for different protocols, such execution means including means for generating an allocation descriptor describing a user's functional capability; means responsive to a request from a user which does not imply a change in functional capability for allocating a functional module to the user according to the user's currently allocated functional capability; and means responsive to a request from a user which implies a change in the user's functional capability for allocating a functional module to the user according to a new functional capability only if allower by the user's current functional capability.
摘要:
A programming metnoa and structure for operating a computing system to restart a total subsystem or a subset of that subsystem to an operable state following a total interruption (system failure or termination, either normal or abnormal). The subsystem isolates inoperable resources while permitting the others to resume by independently maintaining in a first structure 90 the completion state 116, 120 of a resource manager's recovery responsibility with respect to each interrupted work unit and in a second structure 70 the operational states 82 and recovery log interest scopes 84, 86 of each resource manager. The completion state can be influenced by the starting or not of a resource manager, and if restarted, the presence or absence of a resource subset required to accomplish the work unit recovery.
摘要:
Each process in a multi-process computing system using so-called capabilities may have associated with it a process dumpstack protected by the capability mechanism. The functions of this dumpstack are (i) to provide the state of the process at the point at which it was suspended and (ii) to stack (or nest) information relating to the invoked procedures (i.e. sub-routines) of the process. Thus there is a fixed sized portion containing principally the machine registers, the indicators and the watchdog timer values and a variable sized portion containing information related to each nested procedure. Each stack link is of fixed size and contains three items:- relativised instruction address, the code block capability and process capability pointer list block capability. This arrangement is enhanced to allowtwo additional classes of information to be stored in each link namely (a) an indication of the data and capability registers preserved during the domain change procedure and (b) descriptors for local storage segments. The use of descriptors for local storage allows a pool of storage particular to the process to be allocated on a segmented basis with the security of the capability mechanism extended into that local storage area. The descriptors for local storage segments resemble closely SCT entries (i.e. they contain sumcheck, base and limit values) and they are relative to a new protected stack, the local store stack, which is referenced by a hidden capability register C(L). The processor module is provided with a new instruction "subset local store" for use in local store segment allocation and automatic de-allocation occurs when a return is made from the procedure in which the local segment was allocated. Such allocation and de-allocation mechanisms use the indications which takes the form of a primary descriptor held in the most significant eight bits of the IAR word. This descriptor is allocated as follows:- (i) zero, no stacked registers or local segments allocated, (ii) m.s.b. = 1, stacked registers to be passed and (iii) I.s.b. 1-7 = 1, indicates the number of local store segments allocated. Associated with the stacked register set is a one word descriptor which indicates the registers stacked.