📜 ⬆️ ⬇️

Software special computer. “Yauza-6”, “Temp”, “Ruza”

In the middle of the last century special computers began to actively develop in the USSR (about some of them) . There was an urgent need to use computers in military affairs, which would simultaneously reduce military expenditures and costs, thereby increasing the accuracy and range of destruction, increasing the power of means of destruction, increasing the speed of movement, and automating weapon control operations. Based on this, there was a search for effective circuit design and design solutions that would perform the tasks with the minimization of the requirements for material resources. Such computers, in contrast to universal ones, demanded high reliability when working in various mechanical and climatic conditions, minimizing their volume, reducing energy consumption, and, most importantly, the enormous expenditures of intellectual labor. Careful attention to the composition of the teams when creating programs for solving problems in a timely manner of building systems was one of the main requirements.



In the US, military computers used universal computer circuits, which required an increase in their speed, memory, and reliability. In our homeland in the CMEA memory for the teams and the memory for the numbers were independent, which increased performance, eliminated accidents associated with programs, for example, the appearance of viruses. Special computers corresponded to the “Risk” structure.

')
For special military computers (for example, when used to calculate firing data), the occurrence of an error was unacceptable, because incorrect data led to the disruption of the task being performed, which, at best, "... required a second solution and additional expenditure of missiles, missiles, and at worst - to the loss of the duel, the collapse of the operation and destruction. " High accuracy of the information output could be achieved by using various control methods, both for checking the operation of the equipment and for checking the output data.

It is not news that in the Soviet Union computer technology and software have evolved in two almost independent areas. Above the computer technology "kropotali" numerous teams of industrial enterprises, academies of sciences and universities. Over the development of software areas worked in the organization of the military-industrial complex (MIC). The Scientific Research Institute NII5 (called the “Five”) became the leading developer of software automation tools for specialized computers in the 1950s and 1980s. By the end of the 60s only programmers in it numbered more than 2 thousand. Here not separate programs were developed, but complex software systems were designed, this distinguished the “top five” from other academic institutes.

Algorithmists and programmers were faced with the task of finding very economical solutions to complex problems. This was due to the small hardware resources of specialized control computers. The use of high-level programming languages ​​(HLL) became unjustified for machines of the first, second and third generation, because when working with them, the number of commands increased one and a half to two times or more (HLL was actively used in fourth-generation special computers that were built on microprocessors and the question savings of memory and speed ceased to be decisive in the formation of the overall weight indicators of the computer). In the 60s, programs were written in the machine code of the machines themselves or specialized assemblers.

The specifics of the special computers were as follows: the architecture of the machines created corresponded to a specific functionality, the command system included special commands to perform a specific action, but there were many tasks, and accordingly a whole “zoo” of such computers appeared ( in military use only numbered about 300 pieces).

As Lipaev recalled: "... it was not a whim at all, as it may seem, but a consequence of limited capabilities. High-speed systems were created on a poor and slow element base. You can judge how this was achieved by comparing fragmentary information about solutions our potential adversary. The computing resources of the Americans were incomparably greater, but the cost of the work of programmers there is traditionally high. And we, as always, took their ingenuity and abundance. "


Vladimir Vasilyevich Lipaev

There was no alternative, in the 60s universal machines became available, the creation of interpreters began, on which it was possible to write and debug individual fragments. Interpreters are cross-systems.

Later, by the middle of the 70s, macro languages ​​began to be applied, which were adapted to the architecture of the SU computer. Cross-systems of automation of programming of program complexes began to develop, but compilers, debuggers, documentaries needed to be adapted to the architecture of each such computer, and because of their small resources, such technological tools had to be placed on large mainframe computers with other command systems.

It became impossible to create information processing systems in the required time without design automation tools.

Yauza-6

Under the leadership of Lipaeva (Professor, Doctor of Technical Sciences, one of the leading specialists in military software systems and programming automation techniques), in 1973, the direction of automation of the development of real-time programs began to develop. Already in 1975, the first version of the system for integrated automation of programming and debugging of the Yauza-6 programs was put into operation, 400 man-years were spent on the development of a system with a volume of more than 350 thousand of the BESM-6 auto code.


BESM-6

By the beginning of the 80s, such a Yauza-6 cross-system was configured on more than 25 computer architectures and transferred to work at 14 organizations of various departments. Adaptable cross-systems were in demand, they helped to increase the productivity of specialists when creating large real-time programs. Adaptability was achieved by applying the principles of parameterization, configuration, and functional expansion.

The features of this cross-system “Yauza-6” are :

All these features distinguished "Yauza-6" from ordinary translators. It was an integrated software engineering system and was intended to automate the main stages of the development of large software packages, subject to the high efficiency of the created programs for the use of specialized computer resources.

The cross-programming automation system Yauza-1 was developed in 1971 on a technological M-220 computer. It implemented a translator from an assembler, automated customizable to the architecture of control computers, the simplest design database, tools for manufacturing an extended nomenclature of program documents. It was developed under the guidance of LA. Serebrovsky. He developed the Algol-like Yauza language for specialized computers and implemented a compiler from it, but he never found such practical use.

The Yauza-6 system consisted of three major components, it was the organizing system, the programming automation system, and the debugging system. All of them used a database that included an archive of symbolic information of source texts of programs, a library of passports for modules and components, an archive of translated programs in a programming language and in machine codes, tests and debugging results, and technological and operational documents of software products.

The Yauza-6 cross system used three interconnected programming languages: auto code, macro language, and algorithmic language. Algol-60 - served as the base language, it was modified and Russified. The translation from the autocode consisted of two views; in the program module, global variables were not described, but were considered declared in the whole program complex. The translator from the macro language was built in the usual pattern of macro generators. Macro-language was considered as macro-tools over autocode. Translators from algorithmic languages ​​consisted of five views, solved such tasks as, the lexical and syntactic control of the input text, the distribution of memory variables, scaling, semantic control, the formation of a sequence of auto-code commands or macro language operators, and program optimization.

For specialized computers, these languages ​​formed an interconnected system of programming languages, ensuring a successive vertical transition from lower levels to a higher level by introducing new constructions into the language and, conversely, by eliminating constructions that do not correspond to the tasks of the level. The developer of a functional program or module of a specialized computer could choose the level of the language depending on the requirements for efficient use of memory resources and computer performance.

For machines with respect to the program recorded in the autocode, translators from the macro language gave extensions no more than 10%, and from an algorithmic language about 20–30%. A basic auto code was developed (a unified document), it was distinguished by a unified construction of syntax and vocabulary based on the Russian language, the vocabulary of such a basic auto code was divided into two parts, one of them is constant, the second is variable (formed in the process of identifying codes of operations, devices, registers) .

For the system, the process of accumulation and use of sets of ready-tested software and information modules, components for the formation of new software packages and / or their upgraded versions was adjusted.

Libraries of sets of such components and unified inter-module interfaces ensured efficient configuration management when creating new software complexes from them and upgrading software versions in use.

Yauza-6 has been operated in a number of organizations for almost 20 years, starting in 1979. Used for various types of on-board computer class "Argon". It was used to develop programs such as the orbital station SALUT-7, the interplanetary station Venus and Mars, the satellites Screen, Rainbow, Horizon and a number of strategic missiles.



After technical aging of the BESM-6 machines, the use of this cross-system has ceased.

Systems "Temp", "Ruza"

In the USSR at the end of the 70s, the first microprocessors of the type Intel 8086 and Intel 3000 appeared. For use in programming in embedded microcomputers, the Temp system was created on the basis of the Yauza 1-6 components.

Large universal machines (BESM-6 type) had high speed, had a large amount of operational and external memory and display terminal stations (up to 15 displays). On such computers, complex cross-systems “Yauza-6”, “Temp”, “Ruza” could be placed, with a volume of about 200-400 thousand teams, automating almost the entire technological process of designing complex complexes of programs up to 1 million teams. A large amount of external memory provided for the accumulation and storage of information about the created program complexes and the ability to design several complexes at the same time. This made it possible to visualize all the necessary information on the displays, which reduced the use of punched cards and printouts. The technological process was automated.

By the age of 80, the Ruza technological cross-system was developed under the leadership of Shtrik. It was based on the basic concepts of “Yauzy-6”, besides this excluded some of its defects. Such a system was used in the design of software packages of tens and hundreds of thousands of teams to work in real time, non-stop, designed to unify the design technology and automate the development of large software packages, increase programmers' productivity and improve the quality of programs.

The language means of SARPO “Ruza” include the following languages:


“Ruza” software was placed on magnetic media and contained control tests to check the efficiency of the reference version intended for operation and configuration, the minimum set size was 250 thousand commands.



The types of machines for which CAPPO (software development automation system) “Ruza” could be applied differed in architecture, command systems, addressing types, and types and amounts of memory. Commands could be one-, two-and three-address, addressing methods - direct, direct, indirect, relative, stack (addressless), register, etc. "Ruza" worked on a computer EU-1033, EU-1045, EU-1060 running the EU OS version 6.1 and later editions.

PA "Ruza" structurally consisted of 454 program and 235 information modules. The average number of software modules in the subsystem is 36, 75% of the modules are developed in PL / 1 language, and an assembler was used to communicate with the EU operating system. 65 overlay segments combined system components (8 -10 program modules each).

In the 80s, the on-board machines with the architecture and command systems of the EC computer were created at the Argon Research Institute. This allowed the use of stationary EC computers for the development of real-time control programs without the use of interpreters and cross-systems. By the early 1990s, programs for control managers of military-purpose computers were written entirely by domestic specialists without the use of imported components. It was proved that our algorithms and programmers are able to create various complex sets of programs with high quality in a reasonable time frame.

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


All Articles