Digital computer with overlapped operation utilizing conditional control to minimize time losses
First Claim
1. Conditional control apparatus for a digital computer capable of executing a plurality of instructions, said computer operating in computer cycles during which instruction fetching is overlapped with instruction execution without wasting computer cycles in effecting the overlapped operation, comprisingstorage means for storing a plurality of instruction words each having first and second next address control fields and first and second function control fields,fetching means for fetching an instruction word from said storage means during each computer cycle,decision logic means for providing first and second decision signals in accordance with conditions generated within said computer,said fetching means being responsive to said first and second next address control fields of an instruction word fetched in a computer cycle previous to the current computer cycle and to said first decision signal for selecting said first or second next address control field in accordance with said first decision signal and fetching, in said current computer cycle, the next instruction word from said storage means in accordance with the next address control field selected by said first decision signal, andprocessor means for executing operations designated by said function control fields,said processor means being responsive to said first and second function control fields of said instruction word fetched in said previous computer cycle and to said second decision signal for selecting said first or second function control field in accordance with said second decision signal and executing, in said current computer cycle, the operation designated by the function control field selected by said second decision signal,said decision logic means providing said first and second decision signals for use in said current computer cycle in accordance with conditions generated within said computer in response to execution by said computer, in said previous computer cycle, of an instruction word fetched during a computer cycle occurring before said previous computer cycle,whereby said fetching of said next instruction word is overlapped with said execution of said operation without wasting computer cycles in effecting said overlapped operation.
0 Assignments
0 Petitions
Accused Products
Abstract
A computer which is configured to perform its operations in overlapped fashion. During each computer cycle the next instruction is fetched, the function designated by the previous instruction is executed, and values are stored that were computed with respect to the instruction previous to the one being executed. Thus a three-way overlap is effected. To minimize time penalties due to conditional branches and jumps, each instruction word includes two next instruction address fields, two function fields and two deferred action fields. The computer includes decision logic for providing binary decision signals for conditionally selecting one of the fields from each of the next address fields, the function fields and the deferred action fields thereby conditionally fetching the next instruction, conditionally selecting the function to be performed and conditionally storing values during the same cycle in accordance with the decision signals. Thus the computer has the capability of performing conditional branches each cycle, in an unbroken rhythm.
48 Citations
37 Claims
-
1. Conditional control apparatus for a digital computer capable of executing a plurality of instructions, said computer operating in computer cycles during which instruction fetching is overlapped with instruction execution without wasting computer cycles in effecting the overlapped operation, comprising
storage means for storing a plurality of instruction words each having first and second next address control fields and first and second function control fields, fetching means for fetching an instruction word from said storage means during each computer cycle, decision logic means for providing first and second decision signals in accordance with conditions generated within said computer, said fetching means being responsive to said first and second next address control fields of an instruction word fetched in a computer cycle previous to the current computer cycle and to said first decision signal for selecting said first or second next address control field in accordance with said first decision signal and fetching, in said current computer cycle, the next instruction word from said storage means in accordance with the next address control field selected by said first decision signal, and processor means for executing operations designated by said function control fields, said processor means being responsive to said first and second function control fields of said instruction word fetched in said previous computer cycle and to said second decision signal for selecting said first or second function control field in accordance with said second decision signal and executing, in said current computer cycle, the operation designated by the function control field selected by said second decision signal, said decision logic means providing said first and second decision signals for use in said current computer cycle in accordance with conditions generated within said computer in response to execution by said computer, in said previous computer cycle, of an instruction word fetched during a computer cycle occurring before said previous computer cycle, whereby said fetching of said next instruction word is overlapped with said execution of said operation without wasting computer cycles in effecting said overlapped operation.
-
10. A microprogrammable CPU for a digital computer capable of performing at least one macro instruction executable by a plurality of micro instructions, said CPU operating in micro cycles during which micro instruction fetching is overlapped with micro instruction execution without wasting micro cycles in effecting the overlapped operation, comprising
control storage means for storing at least one micro routine corresponding to said macro instruction, said routine comprising a plurality of micro instruction words each having first and second next address control fields and first and second function control fields, fetching means for fetching a micro instruction word from said control storage means during each micro cycle, decision logic means for providing first and second decision signals in accordance with conditions generated within said CPU, said fetching means being responsive to said first and second next address control fields of a micro instruction word fetched in a micro cycle previous to the current micro cycle and to said first decision signal for selecting said first or second next address control field in accordance with said first decision signal and fetching, in said current micro cycle, the next micro instruction word from said control storage means in accordance with the next address control field selected by said first decision signal, and processor means for executing operations designated by said function control fields, said processor means being responsive to said first and second function control fields of said micro instruction word fetched in said previous micro cycle and to said second decision signal for selecting said first or second function control field in accordance with said second decision signal and executing, in said current micro cycle, the operation designated by the function control field selected by said second decision signal, said decision logic means providing said first and second decision signals for use in said current micro cycle in accordance with said conditions generated within said CPU in response to execution by said CPU, in said previous micro cycle, of a micro instruction word fetched during a micro occurring before said previous micro cycle, whereby said fetching of said next micro instruction word is overlapped with said execution of said operation without wasting micro cycles in effecting said overlapped operation.
-
34. Conditional control apparatus for a digital computer comprising,
storage means for storing instruction words having first and second next address control fields, means for producing a multi-bit modification word indicative of conditions within said computer, means responsive to said first next address control field and to said multi-bit modification word for combining said multi-bit modification word with said first next address control field to develop a vector branch address, decision logic means for providing a decision signal in accordance with conditions generated within said computer, and fetching means responsive to said vector branch address, to said second next address control field and to said decision signal for selecting said vector branch address or said second next address control field in accordance with said decision signal and fetching the next instruction word from said storage means in accordance with the address selected by said decision signal, whereby a vector branch may be taken relative to said first next address control field to any one of plural addresses in said storage means in accordance with conditions within said computer.
-
36. A micro programmable CPU for a computer capable of performing at least one macro instruction executable by a plurality of micro operations, comprising
control storage means for storing at least one micro routine corresponding to said macro instruction, said routine comprising a plurality of micro instruction words each having first and second next address control fields, means for producing a multi-bit modification word indicative of conditions within said computer, means responsive to said first next address control field and to said multi-bit modification word for combining said multi-bit modification word with said first next address control field to develop a vector branch address, decision logic means for providing a decision signal in accordance with conditions generated within said CPU, and fetching means responsive to said vector branch address, to said second next address control field and to said decision signal for selecting said vector branch address or said second next address control field in accordance with said decision signal and fetching the next micro instruction word from said control storage means in accordance with the address selected by said decision signal, whereby said micro routine may branch relative to said first next address control field to any one of plural addresses in said control storage means in accordance with conditions within said computer.
Specification