Patent GB-1421017-A (GB)
Title: Data processing systems
IPC: G06F9/22
Filed: 1973-04-09
Abstract: 1421017 Microprogramming HONEYWELL INFORMATION SYSTEMS ITALIA SpA 9 April 1973 [7 April 1972] 16994/73 Heading G4A A central processing unit is controlled by a microprogramming device comprising a decoder 15 (Fig. 1) delivering main micro command A-Z in response to micro instructions read from a store 1 sequentially by micro instruction addresses in an address register 2 and a logic network 16 delivering additional micro commands a-z in response to the micro instruction address and to signals 21 representing conditions existing in the processor. In the embodiment of Fig. 1 the address register 2 may be addressed on one of four channels. Channel 3 is used for putting the processor unit into its " ready " state. Channel 4 derives its input from a device 8 for incrementing by 1 the previous address when a predetermined main micro command D is present and a predetermined additional micro command h is absent. Channel 5 derives its input from a device 11 which is controlled by bits of the previous micro instruction to add or subtract an amount from the preceding address or transfer the amount as the new address when a predetermined main micro command E is present and an additional micro instruction h is absent. Channel 6 derives its input from auxiliary micro command p, q, r when the micro command h is present. The logic circuit 16 is operative in response to a signal 18. In a modification (Fig. 2 not shown) the logic is controlled by a bi-stable 23 set by one of the main micro commands Y, the command Y also enabling a group of AND gates (24) to pass signals to a register (22) which are decoded and combined with signals representing the condition set by the processor as in the embodiment of Fig. 1. A further input (27) to the register (22) may be controlled by the additional micro-commands. In the operation of the processor to form the decimal sum of two digits the addresses of which are held in registers 50 (Fig. 3), the microprogramme results in a series of micro instruction addresses being read into address register 2. The first address 151 represents "AND " and is decoded to give main micro commands B (delivering a signal CADD to the arithmetic unit 52 to specify addition) and A to enable the logic circuitry 16 (Fig. 4, not shown). The address 151 is decoded by the logic circuitry to derive an additional micro command a which resets bi-stables 54, 55, 57, 58, 59, 60, 61 and sets bi-stables 90 to generate a condition signal CFF1 which is fed to the logic circuit. The second address 152 results in micro commands Q, R, S (representing the address in store of the first eight bits of the first operand ) and M and N (which enable addressing and readout of the main store 81). The third address 153 results in a micro instruction which is decoded to derive micro commands A, C, Q, R, S, T, U, V. In response to command A and the previously generated condition signal CFF1 the logic circuit generates additional micro commands B and C. Commands Q, R, S specify the register 50 to be loaded with the first octet of the operand. Commands T, U, V enable gates 91, 92, 93 to permit transfer of the operand to the selected register and to accumulator 53. Micro command C enables output gates 94 from decoder 72 checking the numerical data, flipflop 57 being set if an error is found to generate a signal CD1. Additional micro command b enables a gate 96 so that bi-stable 54 is set by the output of decoders 74 to a state CS1 representative of the sign of the operand. The next instruction address 154 results in the length of the operand, also stored in one of the registers 50, being decremented by 1, a signal DEC being generated by decoder 75 when the length becomes zero to set bi-stable 60. Further instruction addresses cause read-out of the second operand to the accumulator with flip-flop 55 being set to a state CS2 representing the sign. Instruction address 158 results in data being transferred from the accumulator 53 via gate 54 and from register 50 via gate 43 to the arithmetic unit 52 where the data is operated on under the control of signals CADD, CS1, CS2, the result being read back at the next micro instruction into the main memory at an address read from registers 50. This process is repeated by address 160 generating a micro command E which results in the address 152 being entered into the address register 2. In a modification (Fig. 5, not shown) in response to a particular micro instruction the logic circuitry enables a clock unit (120) to indicate that the current micro instruction is to be split into two instructions executed in a single micro instruction cycle.