Unique Setun based on ternary code

    Already in 1956, there was a need to create a practical model of a digital computer that could be used in universities and laboratories. For such purposes, an easy-to-learn, reliable, inexpensive, but at the same time effective small computer designed for mass use was required.



    Requirements for such a machine: the speed of operation should be equal to several hundred operations per second, simplicity and ease of programming were “welcomed”, calculation accuracy - 6-8 correct decimal digits, high reliability in operation and maintenance, moderate dimensions, economical consumption energy, the use of inexpensive and "non-deficient" materials and parts. Such requirements for that time were “contradictory," because creating a machine more convenient for programmers to work would entail an increase in the number of equipment, which, in turn, would entail a decrease in reliability and an increase in the cost of not only the machine itself, but also its operation.

    Providing convenience for programmers, in addition to the engineering path associated with complicating the machine, was implemented programmatically (by developing standard subprogram systems, introducing compiling and interpreting systems, programming programs), using a two-stage memory system, and constructing circuits based on magnetic elements.

    Using the ternary number system


    In the 13th century, the Italian mathematician Fibonacci put forward the idea of ​​using the ternary system for computing. He formulated and solved the “kettlebell problem” (known as Bache-Mendeleev). The essence of the problem is as follows: under which system of weights, having them one at a time, you can free-weigh all kinds of loads Q from 0 to the maximum load Qmax so that the absolute value of the maximum load Qmax is the largest among all possible varieties. Two conditions for solving this problem: if weights are put on a free bowl of authority; if weights are allowed to be placed on both bowls of authority. In the first case, the "optimal system of weights" is reduced to the binary system of weights: 1, 2, 4, 8, 16, etc., and the resulting "optimal" algorithm or method of measurement gives rise to the binary number system that underlies the "fashionable »Computers. In the second case, the best system of weights is: 1, 3, 9, 27, 81, etc. If you can put weights on only one bowl of scales, then it is more convenient, faster and more economical to do calculations in the binary system, and if you can put weights on both bowls, then it is better to resort to the ternary system.

    The peculiarity of the ternary number system is that the whole base in it is equal to three. That is, the whole set of integers can be written with just three digits, for example 0, 1, 2, 10, 11, 12 and so on (10 corresponds to the number 3 from the usual decimal system).

    Over the course of a year, specialists analyzed and studied the existing computers and their technical capabilities, as a result, it was decided to use a ternary symmetric code in the machine, not binary. This would be the implementation of a balanced number system. The development of a ternary computer was undertaken for the first time.

    Compared with the binary code with the numbers 0, 1, the ternary code with the numbers -1, 0, 1 provides the optimal construction of the arithmetic of signed numbers. With this application of arithmetic has several advantages:

    • number code uniformity
    • variable length of operands
    • uniqueness of a shift operation
    • three-valued function of the sign of the number
    • optimal rounding of numbers by simple clipping of the least significant bits
    • intercompensation of rounding errors in the calculation process

    Due to the presence of “positive” and “negative” digits in the ternary number system, the number code does not have a special digit category, and this greatly simplifies the logic of arithmetic operations. The ternary word is 1.6 times shorter than the binary, therefore, operations, for example, the addition operation in the ternary serial arithmetic device, are also performed 1.6 times faster than in the binary.

    The advantage of the ternary number system with numbers -1, 0, 1 is:

    rounding the number x to k valid ternary characters, which is obtained by discarding all the least significant characters, starting with (k + 1).

    Consequence The nearest integer x,

    X = E 1 , E 2 ... E m + 1 ... XE

    is the number:

    [X] bl = E1 , E 2 ... E m

    where E i are ternary digits. It turns out that a simple way to extract the nearest integer part of a number simplifies the algorithms for calculating exponential and trigonometric functions.

    This ternary system does not require a special sign digit, the sign of the number is determined by the sign of the most significant ternary digit. This pretty much simplifies operations with relative numbers.

    The contents of any register are automatically treated as a relative number. The shift and normalization operations are universal and also greatly simplify the programming of actions with scales and floating point.

    All this is “favorable” for constructing a subroutine for performing floating point operations and calculating elementary functions with a total computational error not exceeding two units of the least significant digit of the mantissa.

    Like the binary system, the ternary calculus system is based on the positional principle of encoding numbers, but the weight of the i-th position / rank in it is not 2 i, but 3 i. The digits are three-digit, not two-digit: the third value -1 is still allowed to 0 and 1, therefore both positive and negative numbers are uniformly represented.

    The value of an n - trit integer N is determined similarly to the value of an n - bit:



    where a i ∈ {1, 0, -1} is the value of the digit of the i digit.
    (based on materials stored in a virtual computer museum )

    In a ternary symmetric system, numbers are denoted by signs, instead of 1, 0, -1 they write +, 0, -.

    Here is what the decimal numbers 13, 7.6, -6 will look like in the ternary notation 13 = +++, 7 = + - +, b = + -0, -6 = - + 0. A change in the sign of a number in a symmetric code is equal to a trit inversion; an interchange of "+" with "-" occurs, and vice versa.

    Below is a table with the operations of addition and multiplication in a ternary symmetric code.



    In ternary symmetric code, there is no problem of signed numbers.

    Unlike binary, this is the arithmetic of signed numbers. The sign of the number is the digit of the oldest of its significant (nonzero) digits. There can simply be no problems with signed numbers that do not have a perfect solution in binary code in a ternary symmetric code, and this is a fundamental advantage.

    Tritomethree types of signals formed by the basic element of the future ternary computer were named. If a bit is taken as a measure of the amount of information, then the information capacity of the trit will be approximately 1.6. Based on this, a ternary computer processes more information per unit time than binary.

    The minimum addressable memory unit of the designed ternary computer was a trait equal to six trits and taking values ​​from -364 to 364. Working with the negative value range is a feature that distinguishes trait from a binary byte whose values ​​are distributed from 0 to 255.

    Thanks to the information capacity of the trait from it with the help of it you can easily encode all uppercase and lowercase characters of the Russian and Latin alphabets, mathematical and auxiliary characters.

    N.P. Brusentsov said :
    The history of Setun computing machine, like this machine itself, is unusual - everything was done contrary to generally accepted approaches and methods. You might think that they acted on the principle of "Do not like everyone else." But the principle was different - "The more natural and simple, the better."

    The fate of Nikolai Petrovich Brusentsov, the creator of the first and only triple machine in the world Setun, is difficult




    Nikolay Petrovich Brusentsov was born on February 7, 1925 in the city of Dneprodzerzhinsk (Ukraine). His father Pyotr Nikolayevich Brusentsov was the son of a simple worker - a railroad worker, participated in the construction of the Dneprodzerzhinsky coke and chemical plant, died at a very young age of 37 years old, when Nikolai was only 14 years old. Mother Maria Dmitrievna was left with three children herself. The war has begun. In 1943, Nikolai was drafted into the army and sent to radio courses in Sverdlovsk. Later he became a radio operator of the 154th infantry division in the intelligence department of the 2nd division of the 571st artillery regiment. He was awarded the medal "For Courage" and the Order of the Red Star.

    In 1948, having graduated from school perfectly, he entered the radio engineering faculty of the Moscow Power Engineering Institute. But, having become ill with tuberculosis, he spent the first year of study in treatment. Later he made up for lost time and became one of the successful students.

    After graduation, Brusentsov was sent to work in the SKB at Moscow University, and later to a problematic laboratory for the development of computers for use in educational institutions. Here he met with Sergei L. Sobolev. Sobolev was burning with the idea of ​​creating a small computer, which would be inexpensive, small-sized, reliable for institute laboratories. A seminar was organized in which M.R.Shura-Bura, K.A.Semendyaev, and E.A. Zhogolev took part. At the seminars, they examined the shortcomings of existing machines, estimated the command system and structure, considered options for technical implementation, tending to magnetic elements, since there were no transistors yet, the lamps were immediately excluded, and the cores and diodes could be obtained and we could do everything ourselves.

    A few words from Brusentsov's memoirs about the seminar :
    The reports were devoted, on the one hand, to engineering issues of the technical implementation of the machine, and on the other, to the development and optimization of its architecture, analysis and generalization of the experience available in this matter. So, M.R. At four seminars in April-May 1956, Shura-Bura analyzed the advantages and disadvantages of domestic machines Strela, BESM, Ural, M-20, Sergey Lvovich’s employees at G. Kurchatov Institute Mikhailov and B.I. Shitikov was told about the machines TsM-1 and TsM-2 they created, and A.D. Zakrevsky made a presentation "Application of the algebra of logic to the synthesis of computer circuits." Issues of engineering implementation of digital devices based on semiconductor and magnetic elements were considered in reports of employees of our electronics department. As for the development of a functional diagram and a system of machine commands, I had to deal with E.A.

    It was then that Brusentsov had the idea of ​​using the ternary number system.

    Nikolai Petrovich Brusentsov, Head of the Computer Laboratory, Faculty of Computational Mathematics and Cybernetics, Moscow State University M.V. Lomonosov. The main areas of his scientific activity were: architecture of digital machines, automated training systems, programming systems for mini- and microcomputers. He has published more than 100 scientific works, including the monograph “Small Digital Computing Machine Setun” (1965, “Minicomputers” (1979), “Microcomputers” (1985), the manual “Basic Fortran” (1982).

    Brusentsov Nikolai Petrovich, laureate of the prize of the Council of Ministers of the USSR, own 11 copyright certificates for inventions. He was awarded the Order of the Badge of Honor, the Great Gold Medal of VDNKh SSS.

    In 2014, at the age of 90, the famous designer of ternary computers, the scientist Brusentsov Nikolai Petrovich, passed away. As his friends recalled, he was a very modest, pleasant person, always ready to help.

    Setun was created in the Computing Center of Moscow State University, which became the first machine with alphanumeric input and output devices in the USSR.


    The Soviet mathematician Sergei L. Sobolev took an active part in the development of computers, at that time he was the head of the department of computational mathematics at the Faculty of Mechanics and Mathematics of Moscow University. The team of novice employees was engaged in the creation and development of the Setun machine; these were 8 graduates of MPEI and Moscow State University, 12 technicians and laboratory assistants. The work was done fairly quickly, which directly testified to the simplicity of the ternary digital technology, a significant simplification was achieved, the naturalness of the architecture of ternary devices. Such an architecture is a rationally constructed programming system that included the interpreting systems IP-2 (floating point, 8 decimal places), IP-3 (floating point, 6 decimal places), IP-4(complex numbers, 8 decimal places), IP-5 (floating point, 12 decimal places), POLIZ autocode (reverse Polish language) with the operating system and a library of standard routines (floating point, 6 decimal places) made the Setun small machine easy to mastering.



    A Setun machine with a minimal set of instructions, 24 unicast instructions, did fixed and floating point calculations, did an addition operation with a product that optimized the calculation of polynomials, three conditional jump commands based on the sign of the result, bitwise multiplication operation, had an index-register. The value of the index register could not only be added, but also subtracted when the address was modified.

    At the end of 1959, a programming system and a set of application programs already existed for the machine.

    Machine parameters


    To install a small Setun machine, an area of ​​25-30 m 2 was needed , it was designed in the form of a cabinet with such parameters 2.9 x 1.85 x 0.5 m, a control panel 1.6 x 0.6 x 1 m, a table for external devices 1.2 x 0.8 x 0.75 m.



    As mentioned earlier, numbers and commands are provided by the ternary code (with the numbers 1, 0, -1), Setun operated with 18 bit and 9 bit ternary codes, a comma always after the second digit, which meant that all numbers in the module are less than 4.5. The teams represented 9 ternary digits, 5 senior of them - the address part, three - this is the operation code and one, the least significant bit - as a sign of address modification. When executing commands containing 1 or -1 in this category, their address part was automatically changed accordingly by adding or subtracting a number stored in a special 5-digit index register.

    RAM consisted of a device on ferrite cores with a capacity of 162 9-trit cells, that is, divided into 3 pages of 54 cells for paging with the main memory. The main memory is a magnetic drum memory device with a capacity of 36 or 72 pages (1944 9-trit cells). Information was transferred between storage devices by zones containing 54 nine-digit codes each. Using a five-position paper punch tape, data was input into the machine through a photoelectric input device. Such an introductory device ran at 800 characters per second. Data output was carried out thanks to printing and perforation on paper tape at a speed of 7 characters per second (output of both ternary codes and alphanumeric text with the task of an arbitrary form of the form).


    Punched tape

    The structural unit of the computer was the cell, which is a ferrite-diode magnetic amplifier assembled on a getinax basis, the cells, in turn, were arranged into functional blocks (adders, ternary code decoders, shift registers).


    Adder


    Ferrite cube

    A special high-speed magnetic amplifier was developed, which consisted of a miniature transformer with a ferrite core and a semiconductor diode. Amplifiers connected to each other without the aid of electrical parts, with the exception of connecting wires. The innovation increased machine reliability and reduced energy consumption. There were 3500 such magnetic amplifiers in Setun.

    The machine was powered from a three-phase current network 220 / 380V, the power consumption was 2.5 kVA.

    Setun consisted of six functional devices (Brusentsov N.P. Computing machine "Setun" of Moscow State University.st 259) : arithmetic device, control device, random access memory, input device, output device, memory device on a magnetic drum.


    Block diagram of Setun computer

    Factory tests of the first production model of Setun showed that the machine is fully consistent with the set technical parameters. Everything worked without failures and useful time amounted to 95% of the test. In the first year of the 4000 parts, only three parts were replaced. 7 such small computers were produced; during 1963, it was planned to produce another 10 such computers. Already in 1964, the plant produced 21 Setun cars, as demand for them grew. But in 1965, Setun was discontinued.

    Since 1959, Setun for a month and a half has deduced more calculations than a Ural-2 computer with a binary number system. The small Setun machine worked flawlessly, but such a computer was not profitable for officials - its prime cost was only 30,000 rubles. The first Setun model was in operation for 15 years. It was decided to postpone serial production for 15 years, but this did not happen. As the creator of the machine, Brusentsov himself, said later: “Setun interfered with people with inert thinking who held high leadership positions.” Ultimately, Setun was cut with autogenous and sent for disposal.

    In 1967-1969, on the basis of the Setun machine, its improved version was developed - the threefold digital Setun 70 machine - a machine .. "non-traditional two-stack architecture, focused on providing favorable conditions for the further development of its capabilities by the method of interpreting systems . "

    For Setun-70, a programming language of its own was developed - DSPP. The principle of this programming language is" word is word ", which meant that one word of the program corresponds to one code word: DSPP is characterized by a two-stack architecture, dictionaries, support for top-down programming, high-level data structures and operations, compact code, and a mobile , flexibility, coroutine mechanism.

    On the LTSP
    DSPP is superior to Forth in many ways. The DSPN language has a significantly lower complexity than programming in assembly language, not inferior to it in the compactness of the code and speed, allows you to check the operation of subprograms in an interactive mode and has the ability to modify programs practically without making changes to other parts of the code.


    There were no other computers based on the ternary code except Setun in the USSR.


    The history of the creation of the Setun machine

    According to the creator of Setun Brusentsov:
    Now many countries are trying to create their own ternary computer, but all attempts are unsuccessful: people are so accustomed to binary logic that it is difficult for them to master the ternary. However, this is a moot point: hardly in all these years has anyone thought of how to make the hardware of such a computer. And if all over the world in the computer industry they use the binary system, and no one has yet switched to the ternary, then perhaps this is not necessary.




    By tradition, there is a bit of advertising in the basement, where it will not hurt anyone. Our company launched the New Year sale of servers and VPS, within which you can get from 1 to 3 months of rent for free. You can find out more about the action here .

    Also popular now: