Jan G. Oblonsky, one of the first students of Svoboda and the developer of EPOS-1, recalls it this way (Eloge: Antonin Svoboda, 1907-l980, IEEE Annals of the History of Computing Vol. 2. No. 4, October 1980):
The original idea was put forward by Svoboda on his computer development course in 1950, when, explaining the theory of building multipliers, he noticed that in the analog world there is no structural difference between an adder and a multiplier (the only difference is in applying the appropriate scales at the input and output), while while their digital implementations are completely different structures. He invited his students to try to find a digital circuit that would perform multiplication and addition with comparable ease. Some time later, one of the students, Miroslav Valach, approached Svoboda with the idea of coding, which became known as the residual class system.
In order to understand its work, you need to remember what division of natural numbers is. Obviously, using natural numbers, we cannot represent fractions, but we can perform division with remainder. It is easy to see that when dividing different numbers by the same given m, the same remainder can be obtained, in which case they say that the original numbers are comparable modulo m. Obviously, there can be exactly 10 residuals - from zero to nine. Mathematicians quickly noticed that it is possible to create a number system where, instead of traditional numbers, it is the remainders of division that will appear, since they can be added, subtracted and multiplied in the same way. As a result, any number can be represented by a set of not numbers in the usual sense of the word, but a set of such remainders.
Why such perversions, do they really make something easier? In fact, how will it become when it comes to performing mathematical operations. As it turned out, it is much easier for the machine to perform operations not with numbers, but with leftovers, and here's why. In the system of residual classes, each number, multi-digit and very long in the usual positional system, is represented as a tuple of one-digit numbers, which are the remainders of dividing the original number by the base of the RNS (a tuple of coprime numbers).
How will the work accelerate during such a transition? In a conventional positional system, arithmetic operations are performed sequentially bit by bit. In this case, transfers are formed to the next most significant bit, which requires complex hardware mechanisms for their processing, they usually work slowly and sequentially (there are various acceleration methods, matrix multipliers, etc., but this, in any case, is non-trivial and cumbersome circuitry).
The RNS now has the ability to parallelize this process: all operations on residuals for each base are performed separately, independently and in one clock cycle. Obviously, this speeds up all calculations many times over, in addition, the residuals are one-bit by definition, as a result, calculate the results of their addition, multiplication, etc. it is not necessary, it is enough to flash them into the memory of the operation table and read from there. As a result, operations on numbers in RNS are hundreds of times faster than the traditional approach! Why was this system not implemented immediately and everywhere? As usual, it only happens smoothly in theory - real calculations may encounter such a nuisance as overflow (when the final number is too large to be placed in a register), rounding in RNS is also very nontrivial, as well as comparison of numbers (strictly speaking, RNS is not the positional system and the terms "more or less" have no meaning there at all). It was on the solution of these problems that Valakh and Svoboda were focused, for the advantages that the SOC promised were already very great.
To master the principles of operation of SOC machines, consider an example (those who are not interested in mathematics can omit it):
Reverse translation, that is, restoring the positional value of a number from residuals is more troublesome. The problem is that we actually need to solve a system of n comparisons, which leads to long computations. The main task of many studies in the field of RNS is to optimize this process, because it underlies a large number of algorithms in which, in one form or another, knowledge about the position of numbers on the number line is necessary. In number theory, the method for solving the indicated system of comparisons has been known for a very long time and consists in a consequence of the already mentioned Chinese remainder theorem. The transition formula is rather cumbersome, and we will not present it here, we only note that in most cases this translation is tried to be avoided, optimizing the algorithms in such a way as to stay within the RNS until the end.
An additional advantage of this system is that in a tabular way and also in one cycle in the RNS, you can perform not only operations on numbers, but also on arbitrarily complex functions represented in the form of a polynomial (if, of course, the result does not go beyond the representation range). Finally, SOC has another important advantage. We can introduce additional grounds and thereby obtain the redundancy necessary for error control, in a natural and simple way, without cluttering the system with triple redundancy.
Moreover, the RNS makes it possible to carry out control already in the process of the calculation itself, and not only when the result is written into memory (as is done by error correction codes in a conventional number system). In general, this is generally the only way to control ALU in the course of work, and not the final result in RAM. In the 1960s, the processor occupied a cabinet or several, contained many thousands of individual elements, soldered and detachable contacts, as well as kilometers of conductors - a guaranteed source of various interference, failures and failures, and uncontrolled ones. The transition to the SOC made it possible to increase the system's resistance to failures by hundreds of times.
As a result, the SOK machine had colossal advantages.
- The highest possible fault tolerance "out of the box" with automatic built-in control of the correctness of each operation at every stage - from reading numbers to arithmetic and writing to RAM. I think it is unnecessary to explain that for missile defense systems this is perhaps the most important quality.
- The maximum possible theoretically parallelism of operations (in principle, absolutely all arithmetic operations within the RNS could be carried out in one cycle, not paying attention to the bit depth of the original numbers at all) and the speed of calculations unattainable by any other method. Again, there is no need to explain why missile defense computers were supposed to be as efficient as possible.
Thus, SOK machines simply begged for their use as an anti-missile defense computer, there could be nothing better than them for this purpose in those years, but such machines still had to be built in practice and all technical difficulties had to be circumvented. The Czechs coped with this brilliantly.
The result of five years of research was Wallach's article "Origin of the code and number system of remainder classes", published in 1955 in the collection "Stroje Na Zpracovani Informaci", vol. 3, Nakl. CSAV, in Prague. Everything was ready for the development of the computer. In addition to Wallach, Svoboda attracted several more talented students and graduate students to the process, and the work began. From 1958 to 1961, about 65% of the components of the machine, called EPOS I (from Czech elektronkovy počitač středni - medium computer), were ready. The computer was supposed to be produced at the facilities of the ARITMA plant, but, as in the case of SAPO, the introduction of EPOS I was not without difficulties, especially in the field of the production of the element base.
Lack of ferrites for the memory unit, poor quality of diodes, lack of measuring equipment - these are just an incomplete list of difficulties that Svoboda and his students had to face. The maximum quest was to get such an elementary thing as a magnetic tape, история its acquisition is also drawn to a small industrial romance. Firstly, in Czechoslovakia, it was absent as a class, it was simply not produced, since they did not have any equipment for this at all. Secondly, in the CMEA countries the situation was similar - by that time only the USSR was somehow making the tape. Not only was it of a terrifying quality (in general, the problem with the peripherals and especially with the damned tape from computer to compact cassettes haunted the Soviets to the very end, anyone who had the good fortune to work with Soviet tape has a huge number of stories about how it was torn , poured, etc.), so the Czech communists for some reason did not wait for help from their Soviet colleagues, and no one gave them a ribbon.
As a result, the Minister of General Engineering Karel Poláček allocated a subsidy of 1,7 million kroons for the extraction of tape in the West, however, due to bureaucratic obstacles, it turned out that foreign currency for this amount could not be released within the limit of the Ministry of General Engineering for imports technology. While dealing with this problem, they missed the order deadline for 1962 and had to wait for the whole of 1963. Finally, only during the International Fair in Brno in 1964, as a result of negotiations between the State Commission for the Development and Coordination of Science and Technology and the State Commission for Management and Organization, it was possible to achieve the import of tape memory together with the ZUSE 23 computer (they refused to sell the tape from Czechoslovakia separately due to embargo, I had to buy a whole computer from the neutral Swiss and remove the magnetic drives from it).
EPOS I was a modular unicast tube computer. Despite the fact that technically it belonged to the first generation of machines, some of the ideas and technologies used in it were very advanced and were massively implemented only a few years later in the second generation machines. EPOS I consisted of 15 germanium transistors, 000 germanium diodes and 56 vacuum tubes, depending on the configuration, it had a speed of 000–7 kIPS, which was not bad at the time. The machine was equipped with Czech and Slovak keyboards. Programming language - autocode EPOS I and ALGOL 800.
The registers of the machine were collected on the most advanced nickel-steel magnetostrictive delay lines for those years. It was much cooler than Strela mercury tubes and was used in many Western designs until the late 1960s, since such memory was cheap and relatively fast, it was used by LEO I, various Ferranti machines, IBM 2848 Display Control and many other early video terminals (one wire usually stored 4 character strings = 960 bits). It was also successfully used in early desktop electronic calculators, including the Friden EC-130 (1964) and EC-132, the Olivetti Programma 101 (1965) programmable calculator, and the Litton Monroe Epic 2000 and 3000 (1967) programmable calculators.
From left to right: IBM 2260 Display Station, IBM 2848 Display Control (a hefty 400 kg cabinet 1,5 meters wide, containing everything for generating a video signal for 24 terminals, data was transmitted over a distance of 600 meters), a typical block of registers on a wire delay line, photo from the archive IBM
In general, Czechoslovakia in this respect was an amazing place - something between the USSR and full-fledged Western Europe. On the one hand, in the mid-1950s there were problems even with lamps (recall that they were also in the USSR, although not to such a neglected degree), and Svoboda built the first machines on the monstrously outdated technology of the 1930s - relays, on the other hand, by the early 1960s, quite modern nickel delay lines became available to Czech engineers, which began to be used in domestic developments 5-10 years later (by the time of their obsolescence in the West, for example, the domestic Iskra-11 ", 1970, and" Electronics-155 ", 1973, and the latter was considered so advanced that he already received a silver medal at VDNKh).
EPOS I, as you might guess, was decimal and had rich peripherals, in addition, Svoboda provided several unique hardware solutions in the computer that were well ahead of their time. I / O operations in a computer are always much slower than working with RAM and ALU, it was decided to use the idle time of the processor while the program it was executing accessed slow external drives to launch another independent program - in total, in this way it was possible to execute up to 5 programs in parallel! It was the world's first implementation of multiprogramming using hardware interrupts. Moreover, external (parallel launch of programs working with various independent machine modules) and internal (pipelining for the division operation, the most laborious) time sharing were introduced, which made it possible to increase productivity many times over.
This innovative solution is rightfully considered the architectural masterpiece of Freedom and was massively applied in industrial computers in the West only a few years later. EPOS I multiprogramming computer control was developed when the very idea of time sharing was still in its infancy, even in the professional electrical literature of the second half of the 1970s, it is still referred to as very advanced.
The computer was equipped with a convenient information panel, where it was possible to monitor the progress of processes in real time. The design initially assumed that the reliability of the main components was not ideal, so EPOS I could correct individual errors without interrupting the current calculation. Another important feature was the ability to hot swap components, as well as connect various I / O devices and increase the number of drum or magnetic storage devices. Due to its modular structure, EPOS I has a wide range of applications: from mass data processing and automation of administrative work to scientific, technical or economic calculations. In addition, he was graceful and quite handsome, the Czechs, unlike the USSR, thought not only about performance, but also about the design and convenience of their cars.
Despite urgent requests from the government and emergency financial subsidies, the Ministry of General Machine Building was unable to provide the necessary production capacity at the VHJ ZJŠ Brno plant, where the EPOS I was supposed to be produced. Initially, it was assumed that the machines of this series would meet the needs of the national economy until about 1970. As a result, everything turned out much more sad, the problems with components did not disappear, in addition, the powerful concern TESLA intervened in the game, which was terribly unprofitable to produce Czech cars.
In the spring of 1965, in the presence of Soviet specialists, successful state tests of EPOS I were carried out, at which its logical structure, the quality of which corresponded to the world level, was especially highly appreciated. Unfortunately, the computer has become the object of unfounded criticism from some computer "experts" who tried to push through the decision to import computers, for example, the chairman of the Slovak Automation Commission Jaroslav Michalica wrote (Dovážet, nebo vyrábět samočinné počítače? In: Rudé právo , 13.ubna 1966, s. 3.):
Except for prototypes, not a single computer was produced in Czechoslovakia. From the point of view of world development, the technical level of our computers is very low. For example, the energy consumption of EPOS I is very high and amounts to 160-230 kW. Another disadvantage is that it only has software in machine code and is not equipped with the required number of programs. The construction of a computer for indoor installation requires a large construction investment. In addition, we have not fully ensured the import from abroad of magnetic tape, without which EPOS I is completely useless.
It was offensive and unfounded criticism, since none of the indicated shortcomings directly related to EPOS - its power consumption depended solely on the element base used and for a lamp machine was quite adequate, the problems with the tape were generally more political than technical, and the installation of any mainframe into the room and now is associated with its careful preparation and is quite difficult. The software did not have a chance to appear out of thin air - it needed production machines. Engineer Vratislav Gregor objected to this:
The EPOS I prototype worked perfectly for 4 years in unadapted conditions in three shifts without air conditioning. This first prototype of our machine solves problems that are difficult to solve on other computers in Czechoslovakia ... for example, monitoring juvenile delinquency, analyzing phonetic data, in addition to smaller tasks in the field of scientific and economic calculations that have significant practical application. In terms of programming tools, EPOS I is equipped with ALGOL ... For the third EPOS I, about 500 I / O programs, tests, etc. have been developed. No other user of an imported computer has ever had programs available to us in such a timely manner and in such quantity.
Unfortunately, by the time the development and acceptance of EPOS I was completed, it was really outdated and VÚMS, without wasting time, in parallel began to build its fully transistorized version.
EPOS 2 has been in development since 1960 and represented the pinnacle of the world's second generation computers. The modularity of the design allowed users to adapt the computer, like the first version, to the specific type of tasks to be solved. The average operating speed was 38,6 kIPS. For comparison: the powerful banking mainframe Burroughs B5500 - 60 kIPS, 1964; CDC 1604A, the legendary Seymour Cray machine, which was also used in Dubna in Soviet nuclear projects, had a power of 81 kIPS, even the average in its line of IBM 360/40, a series of which was later cloned in the USSR, developed in 1965, in scientific problems gave out only 40 kIPS! By the standards of the early 1960s, the EPOS 2 was a first-class car on par with the best Western examples.
The distribution of time in EPOS 2 was still not controlled by software, as in many foreign computers, but by hardware. As always, there was a plug with the damned tape, but they agreed to import it from France, and later TESLA Pardubice mastered its production. For the computer, its own operating system, ZOS, was developed, and it was flashed into ROM. ZOS code was the target language for FORTRAN, COBOL and RPG. Tests of the EPOS 2 prototype in 1962 were successful, but by the end of the year the computer was not finished for the same reasons as the EPOS 1. As a result, production was postponed until 1967. Since 1968, ZPA Čakovice has been serially producing EPOS 2 under the designation ZPA 600, and since 1971 - in an improved version of the ZPA 601. Serial production of both computers ended in 1973. The ZPA 601 was partially software compatible with the MINSK 22 line of Soviet machines. A total of 38 ZPA models were produced, which were one of the most reliable systems in the world. They were used until 1978. Also in 1969, a prototype of the small ZPA 200 computer was made, but did not go into production.
Returning to TESLA, it should be noted that their leadership really sabotaged the EPOS project with all its might and for one simple reason. In 1966, they pushed through the Czechoslovak Central Committee of appropriations in the amount of 1,1 billion crowns for the purchase of the French-American mainframes Bull-GE and did not need a simple, convenient and cheap domestic computer. Pressure through the Central Committee led to the fact that not only a campaign was launched to discredit the works of Svoboda and its institute (you have already seen a quote of this kind, and it was printed not anywhere, but in the main press organ of the Communist Party of Czechoslovakia Rudé právo), but also in the end The Ministry of General Machine Building was ordered to limit the production of two EPOS I, in total, together with the prototype, 3 pieces were eventually made.
EPOS 2 also fell, the TESLA company did its best to show that this machine was useless, and through the management of DG ZPA (Instrument and Automation Plants, to which VÚMS belonged) pushed the idea of an open competition between the development of Freedom and the newest mainframe TESLA 200. The French computer manufacturer BULL was In 1964, together with the Italian manufacturer Olivetti, the Americans bought General Electric, they initiated the development of a new mainframe BULL Gamma 140. However, its release for the American market was canceled, as the Yankees decided that it would compete internally with their own General Electric GE 400. As a result the project hung in the air, but then the representatives of TESLA successfully appeared and for 7 million dollars they bought a prototype and the rights to its production (as a result, TESLA not only produced about 100 such computers, but also managed to sell several in the USSR!). It was this third generation car called TESLA 200 that was to beat the unfortunate EPOS.
EPOS 2 prototype in the rotunda of the Physics and Mathematics Faculty of Charles University, photo from the archives of Czech history equipment
TESLA had a completely finished serial debugged computer with a full set of tests and software, VÚMS had only a prototype with an incomplete set of peripherals, an unfinished operating system and drives with a bus frequency 4 times lower than those installed on the French mainframe. After a preliminary run, the EPOS results were, as expected, disappointing, but the ingenious programmer Jan Sokol significantly modified the regular sorting algorithm, the employees, working around the clock, brought the hardware to mind, got hold of a couple of fast drives similar to TESLA, and as a result, EPOS 2 won a much more powerful French mainframe!
... and his opponent - BULL Gamma 140, photo Musée virtuel de Bull et de l'informatique Française (http://www.feb-patrimoine.com)
During the evaluation of the results of the first round, Sokol, during a discussion with the ZPA, spoke about the unfavorable conditions of the competition, agreed with the leadership. However, his complaint was dismissed with the words "after the fight, every soldier is a general." Unfortunately, the victory of EPOS did not greatly affect its fate, largely due to the unfortunate time - it was 1968, the Soviet Tanks, suppressing the Prague Spring, and always famous for its extreme liberalism VÚMS (from which, moreover, half of the best engineers fled to the West recently together with Svoboda) was, to put it mildly, not held in high esteem by the authorities.
But then the most interesting part of our story begins - how Czech developments formed the basis of the first Soviet missile defense vehicles and what an inglorious end awaited them in the end, but we will talk about this next time.
Продолжение следует ...