Minsk Family of Computers
During 10 years, from 1959 till 1969, several types of general-purpose computers had been developed in Byelorussia. These machines had become a basis for the Soviet fleet of computers, and their large-scale production was organized.
The Minsk computers appeared when the BESM computers, seven Strela computers and the first M-20 machines had been operating for several years in Moscow, small universal Ural-1 machines were being assembled in Penza, the development of the semiconductor Razdan computer was close to its completion in Yerevan and the first prototype of the Dnieper semiconductor computer was being adjusted at the Kiev institute of cybernetics of the Ukrainian Academy of Sciences.
Nevertheless, the Minsk machines actually faced no competition with other small general-purpose computers and easily became the basic model for this computer type.
In 1956, upon completing the stage of development of the first computers (Strela, BESM, M-3, Ural-1), the resolution of the USSR Council of Ministers aimed at enforcing the expansion of computer production in the country, was issued. The resolution envisaged the construction of several works for producing computers and computer units and components (one of them was built in Minsk and named after G.K. Ordzhonikidze). In 1958, the Special Design Office [hereinafter SKB, the Russian abbr.] was established at the Ordzhonikidze plant to support production and upgrade of produced computers.
The republican and urban authorities hired tens of specialists experienced in computer development for the plant. Among them were G. P. Lopato from Moscow, V. Ya. Simkhes, A. I. Bakhir, G. K. Stolyarov, A. P. Zhigalov from Zagorsk, E. I. Sakaev, S. N. Remorov, V. V. Przhiyalkovsky, V.E. Klochkov, N. A. Maltsev, R. M. Astsaturov from Noginsk, V. A. Averyanov from Penza, I. K. Rostovtsev, G. D. Smirnov, Yu. G. Bostandzhyan from Yerevan. In cooperation with the most qualified Minsk specialists, they headed the computer development and manufacture at the SKB and Plant.
The Ordzhonikidze plant combined the development and manufacture divisions. This organizational and financial structure was unique for the USSR, at least in the computer industry, and led to substantial shortening of terms of development and production of new models.
Today, when the Russian industry is market-oriented, the necessity of such an integration seems to be obvious, but at the end of 1950s, within the frame of Soviet economic system it was a hard task. The policy of plant CEOs (Executive Director Goldberg, V.K. and Chief Engineer Kirilyuk, N.I.) taking into account future demands of development processes, played the essential role in resolving the conflicts between today's and tomorrow's needs (routine production versus designing new models). At the Ordzhonikidze plant, the period from the completion of the development stage till the start of the full-scale production of computers (Minsk-1, Minsk-22, Minsk-23, Minsk-32, ES-1020, ES-1022) sometimes was one to three months. Each new model was designed in less than two years, and the sums of expenses on the development were outstandingly low.
Later on, for some reasons the SKB received full financial independence and became a separate research institute (NIIEVM) in 1972. Unfortunately, this significantly impaired the cooperation efficiency.
In the spring of 1959, G.P. Lopato (one of the development engineers of the M-3 computer which had been created in 1956 in the Laboratory of Electrosimulation at the USSR Academy of Sciences in cooperation with Research Institute of Electromechanics) was invited to hold the post of chief engineer at the SKB of the Ordzhonikidze plant.
The Plant capacities were ready to manufacture computers while the SKB only began employing its staff and scheduling its developments. In these conditions, the Plant CEOs made the only sensible decision: to start production with the M-3 computer.
In September 1959, the Plant turned out the first computer. It was the M-3 version with the main memory on a magnetic drum and performance of only 30 instructions per second. However it helped to master and debug all technological processes and to train the team of development engineers and adjusters. In 1960, the main memory on ferrite cores for M-3 was finally developed. It had a capacity of 1024 31-bit words (G. P. Lopato, V. Ya. Simkhes, E. I. Sakaev, A. I. Bakhir).
By the end of 1960, 26 M-3 computers (including 10 machines with ferrite memory that allowed increasing their performance up to 1000 instructions per second) had been released. These M-3 computers were programmed in machine codes in octal notation.
This model was valuable for the Ordzhonikidze plant as a start machine, but its influence upon the further computer science was virtually void.
In August 1960, the first proprietary computer was completed at the Plant. It was the Minsk-1 model (800 valves, 2500 instructions per second, a ferrite memory for 1KWord, 31-bit word length, a 2-addresses-for-operands instruction set, with point fixed before the highest bit, a peripheral memory on a magnetic tape for 64KWord, a punched tape input at 80 words per second, and a digital printing output at 20 words per second). The chief designer of this computer development was G. P. Lopato, the development engineers team being consisted of E.I. Sakaev, V. Ya. Simkhes, A. I. Bakhir, V. L. Salov, S. N. Remorov, G. K. Stolyarov, V. I. Tsagelsky, G. M. Gendelev.
Minsk-1 was not compatible with its precursor, M-3. It inherited virtually only two architectural characteristics: the word length and 2-addresses-for-operands instructions.
The 2-addresses-for-operands instruction with word length from 30- up to 36/38-bit (in the situations when it was impossible to realize a 3-addresses-for-operands instruction) is the most rational realization: it is more efficient than two single-address-for-operands instructions in a word for it allows increasing the bit length of addresses. This explains a common use of 2-addresses-for-operands instruction set in small general-purpose computers (Minsk-1, Minsk-2, Razdan-1, Razdan-2.) As to 31-bit word length, it is more or less appropriate only for small machines with fixed point and at not more than 12 address lines.
Minsk-1 had been produced up to 1964 and it had several fully inter-compatible versions:
Minsk-11 was designed for seismic data processing and for remote users. Its chief designer was V.M. Manzhaley. Eleven computers of this model were manufactured.
Minsk-12 had an extended main memory for 2048 KWord and tape drives for 100KWord. Its chief designer was V. Ya Simkhes. Five machines of this model were turned out.
Minsk-14 and Minsk-16 were designed for telemetric data processing and equipped with appropriate reading devices. Their chief designers were L. I. Kabernik and V. M. Manzhaley respectively. 36 Minsk-14 machines and 1 Minsk-16 machine were brought out.
In addition, on the basis of Minsk-1, the system for storage and recognition of fingerprints for the USSR Ministry of Internal Affairs was manufactured. The chief designer of this system was A. M. Tolmachev.
The total number of Minsk-1 computers produced from 1960 till 1964 was 220. This machine was the most popular one in the USSR for the reported period.
Minsk-1 was programmed in machine codes, however it was furnished with a library of standard routines, which contained about 100 programs of 7500 instructions in total. During this period, much work was underway toward the development of the first auto-programming systems such as the ECONOMIST Autocoder and ENGINEER Autocoder compilers. G.K. Stolyarov headed this work in the programming laboratory of the SKB. The laboratory grew a pleiad of well-known programmers: M. S. Margolin, M. E. Nemenman, E. V. Kovalevich, V. I. Tsagelsky, N. T. Kushnerev, and others.
Minsk-2, the computer of the second generation, was the next development of the Ordzhonikidze plant SKB. Its chief designer was V. V. Przhiyalkovsky, the development engineers being V. E. Klochkov, G.D. Smirnov, N. A. Maltsev, A. I. Bakhir, Yu. G. Bostandzhyan, V. K. Nadenenko, G. K. Stolyarov, M. B. Temkin.
The machine was being developed from 1960 till 1962 simultaneously with production of Minsk-1. The circumstances of that time did not require the program compatibility between Minsk-2 and Minsk-1. Moreover, it was a hard task to realize such a compatibility, at least because there was no future for 31-bit word length. The 37-bit machine word was adopted for the new computer. This 37-bit word contained a sign and 12 octal or nine decimal digits. Minsk-2 had a floating-point notation (introduced into computers for the first time) and therefore seven bits of the machine word were used for the exponent (including the exponent sign). The remaining bits stood for mantissa and its sign. This coding allowed recording the numbers in the range of from 10-19 up to 1019; this was quite enough for a small general-purpose computer.
For the first time in the history of domestic computing engineering, the development engineers of Minsk-2 provided the processing of the explicit alphanumeric data. For this purpose, the machine word contained six alphanumeric characters coded in MTK-2 telegraphic code, where the sign bit told whether the data was a document or a message.
A Minsk-2 instruction contained an opcode (7 bits), the number of a main memory block (2 bits), the address of an index memory cell (4 bits) and two 12-bit pointers. This structure allowed operating 127 instructions, 15 index registers and addressing up to 8196 words in the main memory.
The instruction set of the computer had 2 addresses for operands, which was most effective for 37-bit word length. The instruction set contained (apart from the custom arithmetic operations and input-output instructions) the instructions for special arithmetic, which enabled double precision operations, the innovative loop instruction and a diversity of instructions essentially accelerating the data processing.
The total number of the machine instructions was 100, among them 40 instructions were arithmetic operations. Out of 27 void instructions some were activated later in Minsk-22, others were used as extracodes, and the rest ones were left for developing specialized program systems.
A special circuitry of semiconductor devices was developed for Minsk-2. It was based on inexpensive and easily available transistors of P-16A. The impulse-potential system of components used the diode-transformer circuits on ferrite cores. The clock speed of the circuitry made up 250 kHz. The components were mounted in replaceable double-side wired slots with wired plug. Five types of slots out of the total of 23 types of slots constituted 70% of all equipment. A total of 7500 transistors and 18,000 diodes were placed in 1286 slots of the computer. This circuitry of elements was used in Minsk-2/22 and Minsk-23 during six years due to its simplicity, cheapness and reliability.
A special ferrite storage device controlled by semiconductors was developed for Minsk-2. It was one of the first semiconductor RAMs of that size – 4096 words – in the USSR, created by A. I. Bakhir and Yu. G. Bostandzhyan. This RAM on ferrite cores was 1.4 mm in outer diameter, its cycle was 20 µs and wait state 7.5 µs; it contained 740 transistors and 1550 diodes. The RAM consumed as low as 800 W. In 1962, it was a pioneer and very successful development. The RAM’s circuitry performance determined the computer speed which made up 5000–6000 2-addresses-for-operands instructions per second.
The new type of a tape drive (recorded 12 bits per mm) and a punched tape reader (800 lines per second) were also produced for Minsk-2. The alphanumeric data were printed on the rolled RTA-50 telegraph device.
Minsk-2 was the first Minsk computer which used hardware-software interruptions (by suspending running programs) for work with output devices and extracodes. Extracodes, or macrocodes, were also innovated for the Minsk computers. Extracodes and interruption of programs were designed for future and were more efficiently used in the extended configuration of Minsk-2 which was named Minsk-22.
The fully configured computer occupied 40 sq. m. and consumed not more than 4 kVA from a three-phase 380/220-V power circuit.
The development of Minsk-2 was completed in September 1962 and in 1963, its manufacture began at the Ordzhonikidze Plant SKB. By the end of 1964, 118 computers had been turned out, whose price was only 100,000 rubles.
The development of three versions of Minsk-2 had been completed by the end of 1964. These three machines differed by accessories and input/output devices. Minsk-26 (N. A. Maltsev) and Minsk-27 (V. E. Klochkov) were aimed at processing the telemetric data coming from meteorological rockets and the Meteor satellites. Minsk-22 (V. K. Nadenenko) with input/output devices of punched cards and alphanumeric printer continued the line of general-purpose computers.
Minsk-2/22 was supplied with an extensive library of standard routines (260 programs, 38,000 instructions), the ENGINEER Autocoder (8,000 instructions), a character coding system, Fortran and ALGOL compilers, and an ALGEK compiler (a combined COBOL and ALGOL-60 language). Later on, it was also delivered with COBOL compiler and data processing system (55,000 instructions). It was the most abundant package of programs supplied by the producer of general-purpose computers in the USSR.
The total number of the Minsk-22 computers produced had reached 734 (852 with the Minsk-2/22 models), therefore the leading positions of Minsk machines in the USSR fleet of computers were substantially strengthened.
The creation of Minsk-2/22 clearly demonstrated how the field of applications of the machine under development was changing and expanding in the process of design work. If Minsk-2 was initially designed for scientific and engineering computations, Minsk-22, in addition, could be effectively applied in economic tasks due to its accessories and software. Development engineers of Minsk-22 intended to increase its sale – and production consequently – by exploring new fields of application. The experiments aimed at using computers in industrial calculations had already begun in 1959 with the M-3 machine. Later on, the automation of designing the computers with use of computer started. The works of Academician V. M. Glushkov and promoting of automated control systems by him gradually increased an interest to computerized processing of business and industrial data in this country. At that time, the western countries produced large volumes of simple and rather inexpensive machines for business computations (IBM-1401, IBM-1440, Gamma-30, etc.). The latter computers had decimal-binary notation, variable word length and advanced utilities for logical processing of alphanumeric data – functions essentially increasing the efficiency of business data processing. Unfortunately, they all were absent in our machines.
In 1966, the Plant SKB completed the development of Minsk-23, designed for data processing in economic projecting, statistical, industrial and management tasks and for data search purposes. Its chief designer was V. V. Przhiyalkovsky and deputy designer was G. D. Smirnov.
The performance of Minsk-23 was about 7000 instructions per second. The main memory capacity was 40,000 8-bit characters (bytes). The RAM cycle and clock speed were 13 µs. 127 cells with 19 bits each was its address storage device designed for storing instruction and operand addresses, program and information base addresses and current addresses of exchange with i/o devices. The machine had decimal (decimal-binary) notation with point fixed after the lower bit; numbers and instructions were coded with a variable-length sequence of characters. The instruction set had a variable number of addresses for operands. The instruction addresses were normalized and indexed. There were simple instructions which comprised powerful data processing routines.
The circuitry and instruction set of Minsk-23 completely differed from those of computers existed before. It was the first domestic computer with alphanumeric logic as well as variable word and instruction length. The computer had an advanced system of interruptions and suspensions, universal connections to peripherals (actually with the byte-multiplex channel), the protected area of memory with utility programs, special instructions for editing and processing the alphanumeric fields of a variable length; the machine also allowed using a great number of index fields for each program array.
A multitasking mode was also realized in Minsk-23. The computer could simultaneously execute three applications and five utility programs and, at the same time, it could also link with 64 peripherals in eight directions.
The machine was fitted with a punched card reader (600 cards per second), a punched tape reader (1000 strings per second), an alphanumeric printer (400 strings per min), a card puncher (100 cards per min) and a tape puncher (80 characters per second).
For the first time in the domestic computer history, Minsk-23 was equipped with magnetic type drive – a rolled-type storage device which stored 32 bits per mm and was compatible with similar western drives. The concept of the drive was developed at the Design office of industrial automation by the team under V.G. Makurochkin, and its commercial model was finally developed at the Ordzhonikidze plant SKB (MPB since 1966). The MPB developed the Blank device which read 150 forms with pencil marks (chief designer V. K. Nadenenko) and Minsk-1500 telephone data transfer equipment (V. E. Klochkov and E. I. Muxin) for specialized systems using Minsk-23.
The alphanumeric programming language was offered for Minsk-23. A All system software was coded in this language. The library of standard system routines contained – in addition to routines for elementary functions – programs for calling I/O devices with code conversion and editing, a sorting utility, a service utility for a magnetic tape drive and other utilities.
The compiler was also supplied with an autocoder compiler, a machine-oriented language with many macros servicing the input/output and library of standard programs. The compiler contained a loader which prepared the loading modules.
Minsk-23 became a basis for systems of automated control at the Novocherkassk electrolocomotive works, at the Moscow association Mosmoloko and in the Aeroflot air ticket sale and booking system. But unfortunately, the computer had not met with the expected commercial success. Only 28 computers were manufactured, which was inconsistent with the capacities of the Ordzhonikidze plant. This failure, probably, derived from the fact that the underlying ideas of the computer were not transparent to users, there was no compatibility with the previous model, its performance was insufficient for scientific and engineering tasks, and the demand for business data processing was not developed at the enterprises and organizations.
Minsk-32 closes the Minsk computer series. The machine was developed under the direction of chief designer V. V. Przhiyalkovsky in 1968, and its production started in the same year.
The main objective of further development was to produce a modern computer for common use which would combine the best features of Minsk-23 and Minsk-22M and be fully compatible with the last one in its media and applications. The necessity for compatibility with the widely used Minsk-22M model was a serious constraint to advancing the logical structure of Minsk-32. However, the experience of using the previous model had shown how the backward compatibility was important for the end user.
To support such a compatibility, Minsk-32 inherited 37-bit word length from Minsk-22M, fixed and floating-point notation as well as the formats of all arithmetic, logical and flow control instructions. These instructions were executed there in the same way as in Minsk-22M. The I/O and crash recovery instructions, interruptions and response on operator’s actions were emulated. Thus, Minsk-32 had hardware and software emulation when it ran programs written for Minsk-22M. The researches proved that it was the efficient way to support compatibility when the performance of the emulating computer is only five times greater than the performance of the emulated computer and when it is impossible to simulate the instruction set with software only. The inherited 37-bit world length became the main impediment to advancing the logical structure and features of the new model.
Nevertheless a number of innovations which improved the computer performance and expanded its functionality, were engineered into the logical structure of Minsk-32.
First, the seven-bit character was used as an internal storage unit in addition to a 37-bit word. The seven-bit characters coded 128 chars, including Latin and Russian letters. The word contained five characters; each of them was addressed separately. There were also introduced the instructions which operated on byte sequences of arbitrary length (similar to the Minsk-23 realization). There were operations of decimal calculation and also comparing and instructions for editing.
Second, multitasking was realized in the computer, which allowed running up to four applications simultaneously.
A new efficient ferrite RAM which held up to 65,536 38-bit words and had the regeneration cycle of 5 µs was created for the model (A. I. Bakhir, Yu.G. Bostandzhyan). A new complex of diode-transformer components with clock speed of 600 kHz was developed for the computer logic. As a result, the average performance of the computer made up 30,000–35,000 instructions per second, which was 5–6 times greater than in Minsk-22M.
Introducing selector and byte-multiplexer channels and the system of universal link with peripherals into the computer structure, which enabled connecting up to 136 various peripherals uniformly, was a great advance of Minsk-32.
The machine had instruments for protecting the memory area of each running application, an address storage device, an effective interruption system (a suspension system as in Minsk-23), and an electronic timer.
There was also a special switch which could join up to eight computers together in order to handle a common task.
The computer had a program called Dispatcher which was rather an advanced tape operating system. The machine was supplied with COBOL, FORTRAN and ALGAMC compilers, a system of character coding and a macro generator. The total amount of supplied programs exceeded 500,000 instructions and 8000 sheets of documentation. M. E. Nemenman headed the software development project. The chief designer of the processor was V. Ya. Pykhtin.
Minsk-32 had been produced until 1975. 2889 computers were manufactured and, as a result, Minsk-32 became the most widely-spread general-purpose computer in the USSR. Moreover, if we consider a general-purpose computer as a machine which has equal or at least similar performance for both calculations and industrial-projecting tasks, then we would accept that Minsk-32 had been the only general-purpose computer in the USSR until ES EVM computers appeared. Its logical structure compared well with foreign computers of similar class. The Minsk SKB team at the end of 60s was the most professional team in the country and perfectly qualified for developing a series of inter-compatible computers on the basis of IBM 360 architecture.
In 1970, the team of Minsk development engineers and manufactures, who had produced over 4000 computers (more than 70% of the whole domestic computer fleet), were awarded with the USSR State Prize. These laureates were V. V. Przhiyalkovsky, G. P. Lopato, Yu. G. Bostandzhyan, G. D. Smirnov, N. A. Maltsev, G. K. Stolyarov, I. K. Rostovtsev, M. E. Ekelchik, Yu. V. Karpilovich, L. I. Shunyakov.