The present invention relates to the operational control of a digital computer system which includes the digital logic circuitry for temporarily storing results internal to an execution unit. An input unit of the execution, which inputs operand words to the execution logic of the execution unit, includes a first stack for holding operand words received from an external memory unit and a second stack for holding the result words of the execution logic. The input unit also includes a switch element for selecting words stored in the first and second stack which are to be utilized as input operand words to the execution logic in response to at least one control signal.
A method and arrangement for producing a predicted subroutine return address in response to entry of a subroutine return instruction in a computer pipeline that has a ring pointer counter and a ring buffer coupled to the ring pointer counter. The ring pointer counter contains a ring pointer that is changed when either a subroutine call instruction or return instruction enters the computer pipeline. The ring buffer has buffer locations which store a value present at its input into the buffer location pointed to by the ring pointer when a subroutine call instruction enters the pipeline. The ring buffer provides a value from the buffer location pointed to by the ring pointer when a subroutine return instruction enters the computer pipeline, this provided value being the predicted subroutine return address.
In a queque device comprising a first-in-first-out memory device which has first through N-th memory stages and which successively shifts memorized signal units towards the N-th memory stage through which each memorized signal unit is successively produced as a basic sequence of output digital signal units, a supplementary memory is connected to a predetermined one of the memory stages that is for producing an additional sequence of output digital signal units. Both the output digital signal units of the basic and the additional sequences can be simultaneously produced in parallel in the form of two words and are delivered to an instruction execution unit. Thus, two words of the output digital signal units are quickly sent to the instruction execution unit. When each output digital signal unit of the basic sequence is sent from the N-th memory stage, the additional sequence is derived from the (N-1)-th memory stage. The memory device carries out the above-mentioned operation under control of a queue control circuit and a queue pointer.
A threaded interpretive processor includes an input/output (I/O) bus (10) and an address bus (12) for carrying data thereon. An internal ROM/RAM (80) is interfaced with the I/O bus (10) and is addressable from the address bus (12). Instructions placed on the I/O bus (10) are clocked onto the address bus (12) through an instruction pointer (86) in response to a system clock (26). The data on the I/O bus (10) is also clocked to a microcode ROM (60) through an instruction register (58). The microcode ROM (60) outputs microcode instructions to control the system operation. The microcode instructions control a parameter stack (18). The parameter stack (18) consists of an eight register rotary stack (44) that has the outputs thereof simultaneously addressable by two output buses (46) and (48) and the inputs thereof addressable by an interface bus (36) and a data input bus (50). The outputs of the rotary stack (44) are input to an arithmetic logic unit (16), the output of which is input back into the rotary stack (44). Transfer gates are provided to control data flow on the output buses and input buses such that the data in the rotary stack (44) can be manipulated. Addresses of microcode instructions are sequentially placed onto the I/O bus (10) for controlling the microcode ROM (60) and the instruction pointer (86) increments this instruction address to select the next sequential instruction address. In this manner, instructions can be sequentially executed in sequential clock cycles.
In a computer system equipped with a large number of registers which have an access time much shorter than that of a main memory, a register designating address part in which the assignment of an area register having a register address of a register area as its value and the assignment of a register displacement value expressing a relative register address within the register area are combined is provided in each instruction so that, even when physical registers are increased, save and restore of registers attendant upon task switches, etc. may be lessened to attain a raised speed of program run processing. Besides, an address part for designating the main memory is provided in the same instruction.