The Soviets spaceship's on-board computers

The guidance system for the rocket complex Energia was designed at the scientific research corporation Khartron in Kharkov, which also designed many other guidance computers for spacecraft and strategic missiles. The transition from analog devices to computerized rocket guidance systems occurred in the mid-1960s. At that time the task of guiding intercontinental ballistic missiles required a sharp increase in the amount of information processed on board a rocket in real time. This could only be done by powerful on-board computers. The first rocket with a guidance system that included an on-board computer was launched in 1971. In the mid-1980s Khartron worked in parallel on two equally complex projects: one guidance system for the Energia and the other for the super-powerful missile complex SS-18 known in the West under the horrific name "the Satan." At the same time designers in Moscow and in the Ukraine worked on the on-board computer complex Saliut-5 for the station Mir, the rendezvous apparatus Kurs, which has since worked successfully on the complex Mir-Soyuz-Progress, and other control systems for spacecraft. The first Sputnik, launched in 1957, had only the most primitive on-board equipment that made it possible to monitor its condition from earth. By contrast, on-board spacecraft control systems in the 1980s were to perform such tasks as orientation and stabilization in space, navigation, scheduling, monitoring, diagnostics, and many others. The system Saliut-5 developed for the last Soviet station Mir so far remains the most powerful and reliable of all serially produced on-board computers. Yet the most impressive in terms of complexity and the achieved results was the work on the space shuttle Buran. Unlike the American space shuttle, which had been developed from the very beginning as a manned spacecraft, the Soviet Buran was to be capable of flying unmanned missions. This made the guidance system designers' task much more complex. They had to anticipate all potential regimes of diagnostics, all possible emergencies, and ways out of complex situations. Several original solutions were implemented in the design of an on-board computer for the Buran. One of the specifications for the guidance system was as follows: even after the failures of any two critical components, the system was to operate correctly and to support the spacecraft's return from the orbit. Hardware back-ups for the computer complex (four machines instead of one) solved the reliability problem, but at the same time posed a new problem of efficient synchronization. Unlike the Americans, soviet designers did not pursue software-controlled synchronization, but found a hardware solution. The hardware solution of the synchronization problem for the guidance computers made it possible to simplify the immensely complex task of designing software for them. One of the most important questions here was that of language: which programming language, which tools to use? Although some tools for designing software for on-board rocket complexes already existed, the Buran project had a much greater scale and complexity. In a short time frame, it was necessary to write programs of much greater size than traditional guidance software. It was imperative to increase the efficiency of programmers' work; therefore, programming in the assembler language was ruled out.

Besides, the very scale of the project required participation of a great number of different organizations. The whole country built the Buran. Numerous programmers had to interact with one another and with on-board systems specialists. All this made the choice of programming language particularly complicated. The Keldysh Institute of Applied Mathematics took an active part in solving this problem. This project was supervised by Mikhail Romanovich Shura-Bura. In the end, two new programming languages were developed: Prol-2 (for the development of on-board systems) and Dipol (for the development of ground control software), and also the special object description language Floks, which made these two languages compatible. In addition, the modeling language Laks and other language tools were developed. All this comprised an environment that included languages for writing source code and tools for the transition from the original code to the well-tested, corrected, properly simulated object codes stored on on-board and ground computers. This environment provided a basis for efficient collaboration among all the developers of software for the Buran guidance system.

Details about the Buran's on-board computer

The on-board computer receives the information from on-board sensors, treats the information according to the various tasks and sends the corresponding orders to the actuator. To guarantee the real-time functioning the reading / writing of inputs / outputs is made every 32.8 ms.

The structure of the on-board computer is defined by keeping the working capacity as well as guaranteeing the crew safety. The on-board computer consists of 2 parts: the central and regional treatment, made of 4 computers each which work in a synchronous way and treat the same tasks. The 4 treatment's units make the same operations, the results are compared at the end of the process, if a computer falls out of order it is automatically shutdown (the 3 others keep working) etc. until there are no more than 2 computers, if a breakdown arises (the results of the 2 computers are different) the system "decides" to randomly shutdown a computer so that there is always 50 % of chance to function.

The synchronization of the information of the 4 real-time treatments units is a difficult operation and no reliable. So, the synchronization of the central and regional modules is not made in a software way (as on the American shuttle) but by hardware, there is a single quartz clock which generates the impulses for the 8 treatments units at 4 MHz. As the clock has to answer the requirements of reliability (taking into account 2 hardware failure) it has 5 channels which are reserved for the clock signal on which it is established the vote rule of "3 for 5". The storage of the information of the on-board computer is made on a tape with a the storage capacity of 819 200 words of 32 bits of which a part for the software before its load in RAM. This strip could also be used to store information which will be printed on the on-board screens

Technical details about the Buran's on-board computer