Patent GB-1274830-A (GB)
Title: Data processing system
Inventor: CARNEVALE RICHARD JOSEPH
IPC: G06F9/22
Filed: 1971-04-19
Abstract: 1,274,830. Processor with variable opertaing cycle. INTERNATIONAL BUSINESS MACHINES CORP. 19 April, 1971 [16 April, 1970], No. 27190/71. Heading G4A. A microprogrammed data processing system includes a microprogram control word store having an access time less than the time required to execute the accessed word, a logic circuit for examining each accessed control word and producing signals indicating the length of time required to execute the word, and a clock circuit responsive to the signals generated by the logic circuit for selecting an appropriate processor cycle time for executing the control word. The specification describes the structure and operation of a microprogram controlled data processor in some detail. Briefly the system includes a microprogram memory 1a and a data and program store 1b. Microprogram control words are normally transferred sequential via bus SDBO to C (control) register 2 two words at a time. The store 1a is addressed by the address register 3 and branch circuit 4 which is effective to change the normal instruction sequence. Data is processed in the arithmetic unit 20 and is transferred from the store 1b to the arithmetic unit via bus SDBO local stores 5 and 6, and A and B registers and assemblers 21-24. Processed data is returned to corresponding locations in the local stores 5 and 6 or to external registers 7 and is then transferred back into the main store 1b. The timing of the system is controlled by a number of identical clocks 35 which are driven by a master oscillator. A cycle length decode circuit associated with the C register 2 examines selected bits in each accessed control word and selectively gates the oscillator pulses to the various clocks according with the processor cycle time required for the examined word. Data processed during the execution of one control word is not returned to the local stores 5 and 6 which duplicate the data or to the external register 7 until late in the succeeding cycle and the relevant locations in stores 5 and 6 or register 7 therefore cannot be accessed as a data source during the succeeding cycle. The processed data may alternatively be transferred via path 42 to the A and B registers 21, 22 from the Z register 30. This feature is controlled by the look ahead circuit 41 and is used in cases when a data source in the local stores 5 and 6 is also the destination of processed data from the preceding cycle. Data may be loaded into the store 1 by means of a magnetic disc input device 40 or manually by means of switches 37. The processor may be manually sequenced by means of the switches 37 which are connected to the control register 2. Each data word has a number of associated parity bits which are stripped prior to processing. A parity generator adds the correct parity bits to the processed result. For binary and decimal operations a parity predict circuit checks the generated parity with the predicted parity for detecting errors. For logical operations duplicated results are compared. Further comparison of the results of all operations stored in duplicate in the local stores 5 and 6 are made for error purposes. Checks are also made that the new data from the D register is equal to the new data set in the local store 5. Diagnostic functions (including retry) are performed by a diagnostic register. Branching, addition (both of full and part words), decimal addition utilizing hexadecimals, and storage operations are described with each step and the words or parts thereof responsible for each step being given in some detail. In respect of branching operations the Specification states that the invention may be used to permit late branching. Since of the two microprogram control words accessed at each step only one is to be used, a late branch may be performed by deciding which word is to be read into the control register only when both words are available at the input to the control register which is significantly later than the time at which the words were accessed. The decision is thus delayed and the processing time may be shortened by using one longer cycle (e.g. 225 nsecs) instead of two shorter (e.g. 180 nsecs) cycles. In storage operations the contents of the assembler 23 may be transferred to the main store 1b under the control of a mask register.