📜 ⬆️ ⬇️

Unique Setun based on ternary code

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



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

Ensuring convenience for programmers in addition to the engineering path associated with the complexity of the machine, was implemented programmatically (the development of standard subroutine systems, the introduction of compiling and interpreting systems, programming programs), the use of a two-stage memory system, and the construction of circuits on magnetic elements.
')

The use of the ternary number system


In the 13th century, the Italian mathematician Fibonacci put forward the idea of ​​using the ternary system for calculations. He formulated and solved the "problem of weights" (known as Bashe-Mendeleev). The essence of the problem is this: for which system of weights, having them one by one, you can weigh all kinds of cargo Q from 0 to maximum cargo Qmax for free, so that the absolute value of maximum cargo Qmax would be the largest among all the possible varieties. Two conditions for solving this problem: if we put weights on the free bowl of authorities; if weights are allowed to be put on both cups of authority. In the first case, the “optimal system of weights” is reduced to a binary system of weights: 1, 2, 4, 8, 16, etc., and the “optimal” algorithm or method of measurement that results in this gives rise to a binary number system that underlies the “fashionable "Computers. In the second case, the best is the system of weights: 1, 3, 9, 27, 81, etc. If you can put weights on only one scale, 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 more expedient to resort to the ternary system.

The peculiarity of the ternary number system is the integral base in it is three. That is, the whole set of integers can be written using only three digits, for example, 0, 1, 2, 10, 11, 12, and so on (10 corresponds to the number 3 from the decimal system we are used to).

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

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


Due to the presence in the ternary notation of “positive” and “negative” digits, there is no special digit in the code of the number, and this greatly simplifies the logic of arithmetic operations. The ternary word is 1.6 times shorter than the binary one, and hence the operations, for example, the addition operation in the ternary sequential arithmetic unit are also performed 1.6 times faster than in the binary one.

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

rounding the number x to k true ternary characters, which is obtained by discarding all lower-order signs, starting with (k + 1).

The investigation. Closest integer x,

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

is the number:

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

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

this ternary system does not require a special sign bit, the sign of the number is determined by the sign of the highest significant ternary digit. This makes it pretty easy to deal with relative numbers.

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

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

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

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



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

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

Here is how decimal numbers 13, 7,6, -6 will look like in the ternary record 13 = +++, 7 = + - +, b = + -0, -6 = - + 0. A change in the sign of a number in a symmetric code is equal to a potritic inversion, the interchange of "+" by "-" occurs, and vice versa.

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



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

Unlike binary, this is arithmetic of signed numbers. The sign of a number is the number of the most significant of its significant (non-zero) digits. The problems of numbers with a sign that does not have a perfect solution in a binary code, simply cannot exist in a ternary symmetric code, and this is already a fundamental advantage.

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

The minimum addressable unit of memory of the projected ternary computer is a six-trit day and taking values ​​from -364 to 364. Working with a range of negative values ​​is a feature that distinguishes a treyt from a binary byte, the values ​​of which extend from 0 to 255.

Thanks to the information capacity of the tray, with its help you can easily encode all upper and lower case characters of the Russian and Latin alphabets, mathematical and service symbols.

N.P. Brusentsov said :
The history of the Setun computer, as well as this machine itself, is unusual - everything was accomplished 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 simpler the better."

The fate of Nikolay Petrovich Brusentsov, the creator of the first and only ternary Setun machine in the world, is difficult.




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

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

After graduation, Brusentsov was sent to work at the SKB at Moscow University, and later to the problem laboratory for developing computers for use in educational institutions. It was here that he met Sergey Lvovich Sobolev. Sobolev was burning with the idea of ​​creating a small computer that would be inexpensive, small-sized, reliable for university laboratories. A seminar was organized, in which M.R. Shura-Bura, K.A. Semendyaev, E.A. Zhogolev also took part. At the seminars, they examined the shortcomings of existing machines, estimated the system of commands and structure, considered the options for technical implementation, leaning towards magnetic elements, since there were no transistors, lamps were immediately eliminated, and the cores and diodes could be got and everything was done by 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 synthesis of the experience available in this business. So, mr. Shura-Bura at four seminars in April-May 1956 analyzed the advantages and disadvantages of the Strela, BESM, Ural, M-20 domestic machines, Sergey Lvovich’s staff on the G.I. Kurchatov Institute. Mikhailov and B.I. Shitikov talked about the CM-1 and CM-2 machines they created, and the graduate student of Tomsk University, A.D. Zakrevsky made a presentation "The application of the algebra of logic to the synthesis of computer circuit". The issues of engineering implementation of digital devices on semiconductor and magnetic elements were considered in the reports of employees of our electronics department. The development of the functional scheme and the system of commands of the machine happened to me to deal with EA Zhogolev and the results were repeatedly presented to the seminar in our, sometimes joint, reports: 17.9.56 - “Outline diagram of the machine”, 15.10.56 - “Operations in the ternary number system”, 11.2.57 - “System of commands for unicast three-way machines ”, 8.4.57 -“ Block diagram of a ternary machine ”, 24.2.58 -“ Block diagram and command system of the Setun machine.

It was then that Brusentsov had the idea to use the ternary number system.

Nikolai Petrovich Brusentsov was in charge of the computer laboratory of the Faculty of Computational Mathematics and Cybernetics of Moscow State University. MV Lomonosov. The main directions of his scientific activities were: the architecture of digital machines, automated learning systems, programming systems for mini and microcomputers. They published more than 100 scientific papers, including the monograph “The Small Digital Computer Setun” (1965, “Minicomputers” (1979), “Microcomputers” (1985), the textbook “Basic Fortran” (1982).

Brusentsov Nikolai Petrovich, winner of the Prize of the Council of Ministers of the USSR, owns 11 copyright certificates for inventions. He was awarded the Order "Badge of Honor", the Big Gold Medal of the Exhibition of Economic Achievements of the USSR.

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

In the MSU Computing Center, Setun was created, which became the first machine with alphanumeric input and output devices in the USSR.


Soviet mathematician Sergey Lvovich 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 Mathematics and Mechanics of Moscow University. The creation and development of the Setun machine was carried out by a team of novice employees, these were 8 graduates of the Moscow Power Engineering Institute and Moscow State University, 12 technicians and technicians. The work was done in a fairly short time, which directly indicated the simplicity of ternary digital technology, and a significant simplification and naturalness of the architecture of ternary devices was achieved. This architecture is a rationally constructed programming system, which included interpretative 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 code (language of Polish reverse) with the operating system and standard subroutines library (floating point, 6 decimal places) made the small Setun machine easy to learn.



The Setun machine with a minimum instruction set, 24 unicast instructions, did calculations with a fixed and a floating point, did an addition operation with a product that optimized the calculation of polynomials, three conditional jump instructions for the sign of the result, a 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


For the installation of a small Setun machine, an area of ​​25-30 m 2 was needed, it was framed in the form of a cabinet with such parameters 2.9 x 1.85 x 0.5 m, the 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, the numbers and commands are provided with a ternary code (with numbers 1, 0, -1), Setun operated with 18 bit and 9 bit triply codes, the comma is always after the second digit, which means that all numbers are less than 4.5 in absolute value. The teams were represented by 9 ternary digits, 5 of the older ones are the address part, three are the operation code and one, the low order, as a sign of the address modification. When executing commands containing 1 or -1 in this digit, their address part was automatically changed by adding or subtracting the number stored in the special 5-digit index register, respectively.

The RAM consisted of a device on ferrite cores with a capacity of 162 9-trit cells, that is, it was divided into 3 pages of 54 cells for paging with the main memory. The main memory is a storage device on a magnetic drum, with a capacity of 36 or 72 pages (1944 9-trit cells). The transfer of information between the storage devices was carried out by zones containing 54 nine-bit codes. Using a five-point paper punched tape through the photoelectric input device entered the data into the machine. This input device worked at a speed of 800 characters per second. The data output was carried out due to printing and perforation on a paper tape with a speed of 7 characters per second (the output of both ternary codes and alphanumeric text with the assignment of an arbitrary form of a blank).


Punched tape

The structural unit of the computer has become a cell, which is a ferrite-diode magnetic amplifier assembled on a getinkase basis, the cells, in turn, were assembled into functional units (adders, decoders of the ternary code, 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. The amplifiers were connected to each other without the intermediation of electrical components, with the exception of connecting wires. Innovation increased machine reliability and reduced energy consumption. There were 3,500 such magnetic amplifiers in Setun.

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

Setun consisted of six functional devices (NP Brusentsov. Setun computer, Moscow State University 259) : arithmetic unit, control device, random access memory, input device, output device, memory device on a magnetic drum.


Block diagram of the Setun computer

Factory tests of the first serial model Setun showed that the machine fully complies with the set technical parameters. Everything worked without failures and the useful time was 95% of the test. In the first year, out of 4,000 parts, only three were replaced. It was released 7 such small computers, during 1963 it was planned to produce 10 more such machines. Already in 1964, the plant produced 21 Setun cars, as the demand for them grew. But in 1965, Setun was discontinued.

Starting in 1959, Setun for a month and a half produced more calculations than the Ural-2 computer with a binary number system. A small machine Setun worked flawlessly, but such a computer was not profitable for the officials - its cost was only 30,000 rubles. The first model Setun was in operation for 15 years. Serial production was decided to be postponed for 15 years, but this did not happen. As the creator of the Brusentsov machine himself said later: “The Setun prevented people with inert thinking, who held high executive posts.” Ultimately, Setun was cut by autogene and sent for recycling.

In 1967-1969, an improved version of the Setun machine was developed — the Setun 70 three-way digital machine — a machine .. " non-traditional two-stage architecture oriented towards providing favorable conditions for the further development of its capabilities using the method of interpreting systems ".

For Setun-70 was developed its own programming language - PRSP. The principle of this programming language is “the word is the word”, it meant that one word of the program corresponds to one word of the code. DSSP is characterized by two-stack architecture, dictionaries, support for downstream programming, high-level data structures and operations, compact code, as well as mobility, flexibility, coroutine mechanism.

About PRSP
DSSP exceeds Forth in many ways. The PRSP language has a significantly lower programming than programming language, not inferior to it in code compactness and speed, allows you to check the work of subroutines in interactive mode and has the ability to modify programs with little or no changes to other parts of the code.


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


The story of making the Setun machine

According to the creator Setun Brusentsov:
Now many countries are trying to create their own ternary computer, but all attempts are unsuccessful: people are so used to the binary logic that it is difficult for them to master the ternary. However, this is a controversial issue: it is unlikely for all these years no one ever thought of how to make the hardware of such a computer. And if all over the world in the computer industry use the binary system, and so far no one has switched to the ternary, then perhaps there is no need for that.




According to tradition, a little advertising in the basement, where it does not hurt anyone. Our company launched a New Year sale of servers and VPS, within which you can get from 1 to 3 months of rent for free. The details of the action you can find here .

Source: https://habr.com/ru/post/273929/


All Articles