M-4, M4M, M4-2M and M4-3M Control Computers
M-4 control computer was developed at the Institute of Electronic Control Computers (INEUM) under the direction of I. S. Bruk, a corresponding member of the USSR Academy of Sciences. Its development was taking place from 1957 to 1962. The chief designer was M. A. Kartsev, development engineers being V. V. Belynsky, V. A. Brik, A. L. Brudno, E. V. Glivenko, Yu. N. Glukhov, D. M. Grobman, N. A. Dorokhova, V. N. Kaminsky, V. P. Konstantinov, L. V. Ivanov, R. P. Makarova, M. P. Piskov, Yu. V. Rogachev, Yu. V. Polyak, G. I. Tanetov, E. N. Filinov, E. S. Sherikhov, R. P. Shidlovsky, E. I. Tsybul.
M-4 was designed for real-time control of a radar system which was under development at the Radio Engineering Institute of the USSR Academy of Sciences (academician A. L. Mints). It became the first control computer developed to order so engineers could base their technical solutions on estimated algorithms of the primary and secondary processing of radar installations data.
Conceptual and detail designs were finished in 1958, and in 1961 Zagorsk electromechanical factory manufactured the first M-4 computer. The second machine dubbed M4M was produced in 1962. The upgrade project was prepared by M. A. Kartzev, A. L. Brudno, E. V. Glivenko of INEUM, V. S. Kolzon, Yu. V. Polyak, Yu. V. Ochkin and D. M. Zareznov of the Radio Engineering Institute of the USSR Academy of Sciences in 1961. The computer was tested with the operating experimental radar system in 1962.
M-4/M4M used 23-bit binary numbers with fixed point, negative numbers were represented in the complement form. The machine was equipped with RAM capable to store 1024 24-bit numbers and program ROM for 1280 30-bit numbers. Additionally it contained I/O units with a separate memory allowing to receive and transmit data through 14 channels with a speed more than 6,000 numbers per second.
The performance of the computer equalled 20,000 operations per second.
M-4 was one of the first Soviet machines using only domestic transistors and solid-state diodes. The machine circuitry was based on a pulse-potential element system combining diode logic, transistor valves (two-input AND gate) with one pulse input and output and one more potential input, and also flip-flops with pulse inputs and potential outputs.
The characteristic properties of M-4 arose from its functions. They included hardware implementation of some complex operations such as square-rooting, double comparison, etc., separating memory for programs and constants from data memory, functional support of parallel processing due to using special I/O processors and primary input data processing.
While in 1962 a decision to put M-4 computer into full-scale production had been taken, M. A. Kartzev, its chief designer, insisted on the development of a new machine for the same purpose which would be an order of magnitude better in performance than the current model and other computers of different types produced in the USSR. His proposition was based on the progress in the element base development and using new ideas in arithmetic and controlling computers.
The new machine dubbed M4-2M was developed in the shortest possible time. Just after being finished on March 14, 1963 the computer was put into production without any breadboarding or making prototypes. Such an approach had been chosen for the first time but later became a good tradition of M. A. Kartzev's school. The approach required high responsibility and courage, primarily from the chief designer, good workmanship of the team of development engineers who could design a project applicable for full-scale production of the computer.
M4-2M machine (the chief designer is M. S. Kartzev, development engineers: V. A. Brik, E. V. Glivenko, L. V. Ivanov, L. Z. Liburkin, Yu. I. Melnik, L. Ya. Miller, E. I. Tsybul, R. P. Shidlovsky) was being produced on full scale at Zagorsk electromechanical factory from 1964 during 15 years and used for almost 30 years.
M4-2M computer had a speed of 220,000 operations per second with programs stored in ROM or 110,000 operations per second when programs and constants were kept in the main RAM. The capacity of the latter varied in different configurations from 4,096 to 16,784 words with the length of 29 bits each. ROM capacity was from 4,096 29-bit instruction words plus 4,096 words of constants of the same length to 3,992 instruction words and 8,192 constants. When exchanging data with a controlled object the I/O performance was 6,256 14-bit numbers per second or 3,125 29-bit numbers per second. ROM, like RAM, used ferrite cores and had double word length of 2 x 29 bits. 29-bit commands and 29-bit constants (immediate operands) were read out from one address (command address). Two operands from the memory including a number and a constant could be used in arithmetic or any other operation during one cycle. At that time such a method was called "one and a half addressing". It was possible to use not only operands read out from the memory but also the results of previous operations in arithmetic operations.
M4-2M used a pipeline arithmetic unit with a matrix multiplication unit, so called "one-cycle multiplier". All arithmetic, logic and control operations were executed in one machine cycle.
Arithmetic operations were carried out with floating point operands where 1 bit was allotted to a number sign, 8 bits - to a number exponent and 20 bits - to a significant part. The machine instruction set allowed operations with more precise results using 40-bit significant parts.
M4-2M, being a specialized control machine operating in real time, was equipped with a sophisticated external interrupt system supporting 12 active "hard" interruptions and 12 passive "soft" ones from external sources, i.e. signals of a controlled object. The computer had a very short response time to active interruptions; a transition to an interrupt program lasted only two or three machine cycles.
In addition to M4-2M, the same technical base was used for the development of the following units:
- M4-3M peripheral calculator with an arithmetic unit for fixed point operands and advanced I/O system to connect the machine with controlled objects;
- an external magnetic drum memory system and external I/O devices for input, storing and documentating of information, its partial processing and supplying to external subscribers. The system ensured asynchronous working of all subscriber systems and devices including telephone long-distance lines.
M4-2M computer with M4-3M calculator had a speed of 400,000 operations per second; MTBF of the system was equal to 700 h.
It became the basis for six types of control computer systems produced on a full scale since 1967.
Special Features of M4, M4M, M4-2M and M4-3M Control Computers
Different versions of M4-2M and M4-3M control computer systems were widely used in radar installations to track artificial Earth satellites all over the country. For a certain period they fully met the needs in computational resources and had been used till the mid-90s, i.e. almost during 30 years.
There were no foreign counterparts for M4, M4-2M and M4-3M; all their components were designed by a team of engineers headed by M. A. Kartzev.
The right choice of circuitry and using the second generation technological basis for creating high-performance control computers allowed putting M4-2M and M4-3M projects into full-scale production without any breadboarding or making prototypes.
The architecture and structure of M4, M4-2M and M4-3M control computers designed for radar data processing and a real-time control included a number of ingenious approaches providing balanced performance and reliability, such as:
- separating memory for programs and constants from data memory with identical word length, which allowed increasing reliability at the expense of stroring programs and constants in ROM;
- executing all arithmetic, logic and control commands in one machine cycle (one of the main principles of RISC processors which were developed much later);
- hardware implementation of complex operations including square-rooting, double comparison, etc.;
- sophisticated interrupt system providing fast response to external signals of a controlled object, which supported the transition to an interrupt program during two or three machine cycles.