Elbrus operating system and Elbrus series microprocessors in on-board real-time systems Evgeniy Kravtsunov, Konstantin Trushkin. MCST: Elbrus real-time operating system elbrus

The Russian computer industry is capable of delivering solutions that may well be competitive with the products of the world's leading brands. Thus, in the microprocessor segment - one of the most technologically advanced and characterized by very high threshold entry - the domestic company MCST is ready to offer Russian processors to the market as an alternative to chips from Intel and AMD. The Elbrus computer in any of the modifications that are presented in the widest range is an example functional system based on such chips. At the same time, devices of this type can operate under the Elbrus OS, which was also created by MCST. What are the specifics of the software and hardware solutions developed by the Russian brand?

History of Elbrus computers

Before studying the specifics of the Elbrus OS and the corresponding type of processors, let’s study key points history of the domestic computer brand. For the first time, computers that laid the foundation for the Elbrus technological line appeared in the 70s. The Institute of Precision Mechanics was involved in their development and in the 80s and 90s the capabilities of computing systems were improved. Since Soviet times, the key consumer of Elbrus systems has been the military-industrial complex. The processors met the most stringent criteria, which is understandable due to their defense use. It is known, for example, that Elbrus complexes were used in the structure of the A-135 type missile defense system.

In 1991, work on the Elbrus-3 complex was completed. Due to economic difficulties after “perestroika”, it was not possible to carry out the necessary adjustment of the complex. In 1992, the developers of the Elbrus line of computers created the MCST company and began working on the implementation of a special microprocessor architecture. They managed to successfully solve the problem. The created architecture made it possible to combine energy efficiency and performance in computers.

Compatible with Intel and AMD algorithms

The problem of ensuring compatibility of Elbrus processors with the algorithms of x86 architecture chips, on the basis of which solutions from Intel and AMD operate, was also solved.

Thanks to this feature, modern ones based on Elbrus processors can operate under different operating systems, including some versions of Windows OS.

Computing modules

Several computing modules have been created based on Elbrus chips. Let's consider their specifics. At MCST, a module means motherboard, which is equipped necessary interfaces. In principle, this is a ready-made computer that only needs to be connected to a power source and also equipped with the required type of disk drives. The Elbrus on-chip computing system is built in the following modules:

MVKUB/S;

Module "Monocube";

Module МВ3S/С-К.

The MVKUB/S module contains two Elbrus processors, the rest have one chip installed. In the system type MB3S/S-K there is additional module Flash memory designed for binary translation.

Actually, each of the devices presented in the list has a built-in flash drive on which you can install an operating system - that is, strictly speaking, the computer will be functional even without connecting hard disks.

Computing systems

Another category of devices created on the basis of Elbrus processors are computing systems. These include ready-made computers, which the MCST company has also developed in a wide range. Let's look at the main solutions created by the Russian brand.

Laptop

The line of computing systems includes a laptop whose name sounds like “Wearable terminal NT-Elbrus S”.

It is slightly larger in size than the corresponding type of computers common in modern stores, but this is due to their high degree of security. The characteristics of the complex allow you to run basic office applications on it.

Desktop

An interesting model is the “Monocube-PC”, which can be classified as a desktop. It has 4 GB of RAM and a 500 GB hard drive - quite average market figures. Moreover, they can always be increased. Any monitor that supports VGA or DVI interfaces can be connected to this computing complex.

Monoblock

Monoblock "KM4-Elbrus" is general purpose computer, it is somewhat similar in configuration to known solutions from Apple. The device is interesting because its screen is touchscreen and also has a decent resolution - 1600 by 900 pixels. Monoblock "KM4-Elbrus" can also be used with another monitor.

Server

The Elbrus-3C complex is a powerful server. It is equipped with 16 processors. It has 128 GB of RAM. This complex uses disks solid state type, as well as an optical network controller. The design of the Elbrus-3S complex is modular. Thanks to this, it can be configured according to the specific requirements of the customer.

Processor "Elbrus-4S"

The Russian computer industry is especially proud of the new 4-core microprocessor Elbrus-4S. Let's consider its main features. It falls into the 64-bit category. Each of its cores operates at 800 MHz and can interact with 3 channels of DDR3-1600 RAM. It is possible to combine up to 4 processors into a system with a common set of memory modules. The processor was manufactured in accordance with 65 nm technology. The power consumption of the chip is about 45 watts.

The overall performance of the processor when all cores are used is about 50 gigaflops with single precision or 25 gigaflops with double precision. The Elbrus-4C chip is compatible with binary translation of codes from the world's leading processor manufacturers - Intel and AMD. Regarding the speed comparison Russian processor and solutions from Intel and AMD, much depends on the specific operating mode of the chips. Of course, in terms of nominal frequency, the Elbrus processor is inferior to chips from the world's leading manufacturers. And therefore, as experts believe, it may not be entirely optimal for launching popular computer games. But it works according to different algorithms, which offer advantages when using it when performing other types of operations.

Processor "Elbrus 8C"

Among the latest solutions from MCST - Elbrus 8C processor. It has 8 cores. The chip is based on a 28 nm technological process - at the level of the world's leading developments. The processor has 4 MB of second-level cache, 16 MB of third-level cache. The chip is compatible with DDR3-1600 RAM modules. The performance of the latest processor from MCST is 250 gigaflops. This figure exceeds the figures shown Intel chip Core i7 type 4930K. Its operating speed is about 130-140 gigaflops. It is known that a separate type of motherboard is being created for the latest processor from MCST.

The Elbrus operating system is installed on computers manufactured by MCST. Let's look at the specifics of the Russian OS in more detail.

OS "Elbrus": general information

The Elbrus operating system is based on Linux kernel in version 2.6.33, however, there is information that it is planned to upgrade the corresponding one to version 3.10.

The main distribution for the Russian OS is Debian, which has established itself as a reliable server solution. The Elbrus operating system includes about 4 thousand different software packages. The distribution includes a wide range of tools for ensuring the operation of servers, as well as solving problems that are relevant to the user. Thus, the structure of the Elbrus OS contains:

Graphical interface;

Browser;

Programs for working with texts;

Multimedia players;

Web server.

It can be noted that the software that is supposed to be used on the Elbrus OS is undergoing certification.

Structure of "OS Elbrus"

The Elbrus operating system is built with the simultaneous use of algorithms generally available to world developers with open source, as well as development tools created by MCST specialists. The second type of component includes a compiler capable of working with several computer languages. Elbrus OS, like other common user operating systems, can provide multitasking PC operation.

Management concepts have been developed specifically for this OS. software processes, interrupts, synchronization, etc. In order to optimize the Linux kernel for the tasks of the Elbrus computing complexes, the standard library responsible for computation threads - libpthread - was changed. Instead, OS developers created the elpthread library.

The Elbrus operating system also includes the following useful modules:

Command line, which allows the user to work with the computer complex using text commands and interact in an appropriate manner with various applications;

Tools for complex purposes in order to increase the convenience of their transfer or storage;

A set of development tools: compilers, link editors, debuggers, assemblers, editors, translators, various libraries, documentation tools, etc.

Among the key OS libraries is Glibe, which is also used on other Linux-based OSes.

This is general information about the operating system of the Elbrus MVK. It can be noted that this OS is largely designed for use by military structures, so it is difficult to find it in the public domain, like other Linux distributions.

The Elbrus operating system and the domestic 4C processor are among the flagships of the MCST company. However, the Russian developer, of course, is not limited to releasing and supporting relevant solutions. Let's look at what software and hardware products the brand produces today.

It is known that MCST CJSC is developing two basic lines of microprocessors - with VLIW and SPARC architectures. As for the first architecture, processors of the MCST-R series, as well as MCST-4R, are produced on its basis. Elbrus chips are those based on the VLIW architecture. However, Elbrus series computers can be equipped with both types of processors.

In total, the Russian developer created three main operating systems. Firstly, it is an operating system of the OSL_3M1 type, optimized for the Elbrus-3M1 complexes. Secondly, this is OSL_90, which was created for the Elbrus-90 micro complex. Thirdly, this is OS_E90, which is based on the Solaris operating system in version 2.5.1. The first two operating systems are often combined under a single name - Elbrus OS. It is also known that it is being developed special version OS for the latest 8C type processor, which we mentioned above.

An interesting fact is that the names of the processors ready-made solutions and OS developed by MCST is almost identical to the ElbRUS localization system, popular in the 2000s among users of computers based on the EPOC OS. This, according to some sources, became the prototype of Symbian. The capabilities of the ElbRUS localization system impressed many enthusiasts of the corresponding type of device. However, data that would indicate the continuity of the two brands was not made available to the general public.

Prospects for using Elbrus OS

The key consumer of MCST developments today is, as we noted at the beginning of the article, the military-industrial complex. Therefore, software and hardware solutions created by the Russian brand will most likely be purchased by military structures as a matter of priority. The developments of the MCST company under consideration are capable of facilitating the process of import substitution in a number of IT segments. This may be relevant for systems that require a high level of security.

In this aspect, the computing modules developed by MCST have distinctive feature: the key components that are included in their structure have the necessary documentation and, if necessary, are tested by competent structures. It is expected that computers based on Elbrus 4C and 8C series chips will be in demand not only in the military sphere, but also among civilian consumers.

Under the proud name "Elbrus" a series of supercomputers was released, which was developed by the Soviet scientist Vsevolod Sergeevich Burtsev (70-80s).

These computers introduced a number of innovations in computer theory, such as superscalarity (processing more than one instruction per clock cycle), the implementation of secure programming with hardware data types, and parallel processing of multiple instructions. But main feature Soviet supercomputers were focused on high-level languages. The Soviet-American scientist Vladimir Mstislavovich Pentkovsky, who participated in the development of Elbrus, created the high-level programming language El-76.

In addition to improving the scope of Soviet computing machines, the computer became the basis for the creation of 64-bit universal microprocessors “Elbrus 4-C” and the next generation “Elbrus 8-C”. They diluted the market of American manufacturers Intel, AMD and IBM. Local development and the production of processors was driven by the need to find own solutions for the defense industry, where the use of domestic devices is more desirable.

History of development

The development of the Elbrus computer architecture began in the 70s at ITMiVT im. Lebedeva. The developers were faced with the task of creating a computing system with a performance of 100 million op/s. Burtsev worked on the computer control and design system and became the chief designer of the project.

In 1980, Elbrus-1, with a total productivity of 15 million op/s, successfully passed state tests. This was the first computer in the Soviet Union built on the basis of TTL microcircuits. A special feature of the machine was its scalable architecture, which supported the simultaneous operation of up to 10 processors. RAM reached 64 MB (220 machine words). The organization of data flow transfer between peripheral devices and RAM was carried out using special processors I/O There could be about 4 similar processors in the system and they had own memory, working in parallel with the central processor.

Elbrus-1 was used in many military systems - missile defense, Space Control Center, etc.

The next stage in the development of the Elbrus computer was the transfer of the architecture of the first model to the new one element base. Thus, Elbrus-2 arose, which was based on the ELS integrated circuits. Its productivity reached 125 million op/s. The amount of RAM has also increased - up to 144 MB. Clock frequency reached 20 MHz.

In 1985, Elbrus-2 was launched into mass production. It was used in areas where large calculations were required. The computer was also actively used in the defense industry, in the Space Flight Control Center and in nuclear research centers (in Arzamas-16, in Chelyabinsk-70). Since 1991, the computer has operated in the A-135 missile defense system and at other military installations.

Together with supercomputers, the Elbrus 1-KB general-purpose computer was also produced (1988). These vehicles replaced the BESM-6 with which they had complete reverse software compatibility. It was supplemented with a new operating mode with increased bit depth of numbers and addresses.

Comparative characteristics of BESM-6 and Elbrus 1-KB

The next one was released “Elbrus-3”, in which the developers for the first time implemented the “post-superscalar” approach. This computer was developed from 1986 to 1994. employees of ITMiVT under the leadership of the Soviet scientist Boris Artashesovich Babayan.

Elbrus-3 was not put into mass production, but its architecture became the basis for the development of the Elbrus 2000 and Elbrus-3M1 microprocessors.

The Elbrus series was appreciated by the Soviet leadership. The developers Babayan, Burtsev, Bardizh received awards and orders. The remaining participants in the work were also awarded state prizes.

Era of MCST processors

The Russian company MCST was founded in 1992 on the basis of the Elbrus-3 development team. It became the legal successor of the Moscow Center for SPARC Technologies LLP (hence the name MCST). The abbreviation SPARC came from the main partner of MCST, the American corporation Sun Microsystems, which promotes computers with the SPARC architecture.

MCST produced microprocessors with SPARC architecture (MCST-R100, MCST-R150, MCST-R500 and MCST-R500S) and created on their basis computing systems. But in 2007, the Elbrus processor of the same name was released. Peak performance of the device in 64-bit mode reached 2.4 GFLOPS. The operating clock frequency was 300 MHz. The processor had 75.8 million transistors. Power dissipation 6 W.

Based on the processor, the Elbrus-3M1 computer complex was developed, used for the defense industry. This complex was provided with a protected operating room MSVS-E system(Mobile System of the Armed Forces), based on Linux versions 2.6.14. Elbrus-3M1 was backwards compatible with the first and second Elbrus.

The computing complex had two design options - a server one, which could be used as a desktop one, and a CompactPCI version ( system bus). The server version was based on the device of the UV 3M1 computer. In the case of CompactPCI, Elbrus-3M1 occupied two modules of the Euromechanics 6U format. The equipment for both versions was equipped with network equipment for ultra-high-speed exchanges with similar computing systems.

In 2010, at the ChipEXPO-2010 and Softool exhibitions, the Elbrus-S system-on-chip was presented to the public. IN this processor the number of transistors has increased - up to 218 million. Also, the clock frequency has risen to 500 MHz and peak performance has increased: up to 4 GFLOPS in 64-bit modes and up to 8 GFLOPS in 32-bit modes.

Together with Elbrus-S, a peripheral interface controller (PIC) was presented.

In 2011, MCST presented dual core processor next generation Elbrus-2C+. In addition to the 2 main cores (Elbrus architecture), operating at a clock frequency of 500 MHz, the model also included 4 additional cores of the built-in digital signal processor (Multicor architecture). An input/output channel has been added to the processor, with which it is possible to connect another KPI. Elbrus-2C+ was also supplemented with support DDR memory 2 with an effective frequency of 800 MHz. Processor performance has increased - up to 28 GFLOPS in 32-bit mode. The number of transistors reached 368 million.

The developers implemented a version of the C compiler to reproduce the code for DSP cores and improve effective interaction main program for CPU cores and actions on the DSP.

According to the calculations of the creators, Elbrus-2C+ was to be used in digital intelligent signal processing systems (radars, image analyzers, etc.). But the processors turned out to be better adapted for civilian tasks. For example, Kraftway launched a test series of all-in-one computers based on Elbrus-2C+ crystals.

Processor "Elbrus-4S"

In April 2014, the company introduced improved quad-core Elbrus-4C processors.

Technical characteristics of "Elbrus-4S"

First of all, you should pay attention to the transition of processor production to 65 nm technological process. The clock frequency and the throughput of RAM channels have also increased. These and other improvements have significantly impacted the performance of new processors. Each core can perform up to 23 operations in one clock cycle. In floating point operations, peak theoretical performance four cores is about 50 GFLOPS single precision and 25 GFLOPS double precision. If we compare it with the previous Elbrus-2C+ model, then in 64-bit mode it is more than three times higher. In the new processor, a more complex crystal, which contains 986 million transistors, has a usable area of ​​380 mm2.

MCST specialists created their own operating system “Elbrus” specifically for the released processor. The OS is based on the Linux kernel version 2.6.33. It includes over 3,000 software packages (from Debian distribution 5.0) and there is a package manager. A full set of developer tools is included, including optimization compilers for the high-level programming languages ​​C, C++, Fortran 77 and Fortran 9.

Elbrus OS was certified for the second class of protection against unauthorized access and the second level of control over undeclared capabilities. But computers based on Elbrus-4C processors also work with versions of Windows OS.

Tandem processor and desktop computer

One of the company's projects was the development of the first Russian desktop computer based on the Elbrus-4C processor. It received the name “Elbrus-401 automated workplace” (where automated workplace stands for automated workplace). The model is designed for an office in a MiniTower standard case. But it can be used in different areas with increased requirements for information security.

The computer has a 65 nm process technology with a clock speed of 800 Hz, SATA-2 and USB 2.0 ports, a pre-installed 120 GB SSD with an mSATA interface and support for DDR3-1600 with ECC. The basic configuration offers 24 GB of RAM (expandable up to 96 GB). Among the features of the “Workstation Elbrus-401” architecture, the following can be highlighted: the presence of 6 parallel operating channels of arithmetic-logical devices; register file of 256 84-bit registers; hardware support for loops; support for speculative calculations and one-bit predicates; a command that can specify up to 23 operations in one clock cycle at maximum capacity. Also installed on the computer AMD video card Radeon 6000 series.

New generation processor - Elbrus-8S

The Elbrus-8S processor is being developed by the MCST company with the participation of the Institute of Electronic Control Machines (INEUM) named after. I.S. Brooka. The architecture, circuit design and topology of the microprocessor were created by Russian specialists. The processor has eight cores with an improved 64-bit Elbrus architecture. The clock frequency reaches 1.3 GHz, the volume of second and third level cache memory is 4 and 16 MB. Estimated performance reaches 250 GFLOPS.

Technical characteristics of "Elbrus-8S"

The computer has its own Elbrus architecture, which was developed at MCST CJSC. Vector instruction set accelerators help make encryption and signal processing faster.

The hardware interacts with the OS through its own BIOS microcode. The processor is compatible with Linux distributions, FreeBSD, QNX, Windows XP, but the recommended Elbrus operating system based on the Linux kernel 2.6.33. The use of specialized development tools (optimizing compilers for C and C++ languages, Fortran, Java, etc.) makes it possible to optimize the program code taking into account the Elbrus architecture.

the company is already developing utilities and support components optimized to run on processors. This is all - tools for working with the network and peripheral devices(utilities, general purpose libraries, services, database support, graphics subsystem).

Elbrus-8S must work in tandem with KPI 2, a Russian-made peripheral interface controller.

Hi all. I have already done this for quite a long time, and now I decided to return to this topic again.

Over the past years, a lot has changed - assemblies for schools are slowly developing, and new versions are even appearing there, ROSA and ASTRA have been released (if they turn out to be of any interest to me, I’ll write a review), which live their own lives on x86, and there’s even a loading video Elbrus computer with an MCST processor with this very Elbrus OS.
However, this most obscure computer is produced exclusively for the internal needs of the state, is not compatible with x86/x64 architecture (the stated x86 emulation mode exists, but has not been particularly tested), documentation for it is also very sparse, with large distro builders such as Debian / Red-Hat / netbzd there is no special cooperation either, much less it is not available for open sale, and due to the small volumes of batches, the price tag on it is extremely inhumane.

And so that the insidious Western intelligence services would completely wither away from boredom, the developers decided to port the software there entirely on their own, leisurely recompiling it for the Elbrus architecture and heroically fighting bugs, while simultaneously dealing with the certification of this wonderful software in the FSB and other involved structures, which significantly delays the process adoption of such a system.

Well, for the test they were even able to launch a third Duma there a couple of years ago, which is a very decent achievement for such a long-term construction crap as Elbrus.

However, all this relates to his native architecture, which few people have ever seen “in hardware.” It was all the more interesting for me to dig into one extremely interesting installation image, containing this very “Elbrus-OS”, but under x86-64. It works quite well on a virtual machine, and I was extremely curious to see it.

So, the image weighs a little less than 2.5 GB, with this very magical “OS Elbrus” inside. I didn’t find it on the developer’s website, perhaps this is due to its state of a long beta version and incompleteness. I came across it by accident while raking through an archive of old files from an alien friend =)

Let's try to deliver.
An important note right away - the system is installed entirely and takes up about 8 GB in unpacked form, so we immediately make the VM disk size at least 10 GB.
First greetings from the installer:

Everything here is trivial and familiar, let’s look at the download options:

Nothing unusual either, the kernel and initrd image are launched, and after just a couple of seconds we see the first installer window:

The installer itself is in ASCII graphics, which is good; Debian and Freya use the same type of interface. Those who tried to install Fedora with its native Python installer on a system with a small amount of memory will understand me. Network installation is not suitable for us, I don’t have a repository for it, so we install it by default. If there is an error, the installer crashes into the shell, so we carefully read what it writes to us. Partitioning the disk:

The interface for manual partitioning is terrible (a bunch of dialogs like enter a value - next, one error - start again), so on a virtual machine the simplest thing is to give the entire disk to the system to be torn to pieces.
The /boot directory must be a separate partition, but swapping is not necessary.

The first time I allocated too little space (I didn’t know that the entire OS could be installed at once):

And after a short unpacking:

The installer dropped:

Reporting a lack of free space. Perhaps in future versions this will be corrected by adding partition size checking at an earlier stage. However, this is not at all critical.

I made a new 12 GB disk instead of 8 and, repeating the same steps, proceeded to setting up the network:

As in any Linux, here the network is also easy and without problems.

This is the first stage of installation. After it we reboot and extract boot disk, and already loaded from hard drive Elbrus-os will begin the second stage of installing the software and generating initial configs.
After the disk creaks for a few minutes, the system will immediately prompt you to log in. By default, no users are created; password login via SSH is allowed. Although by 2017 they seemed to have decided that by default in sshd_config it is better to either disable root login or allow it only by keys =) .

What was inside? In order not to produce unnecessary screenshots, I made access via ssh (authorization on keys is supported) and I will simply present some outputs of standard commands.

Elbrus ~ # uname -a
Linux Elbrus 2.6.33-elbrus.033.6.61 #1 SMP Thu Nov 19 12:07:06 MSK 2015 x86_64 Intel(R) Core(TM)2 Duo CPU E6850 @ 3.00GHz GenuineIntel GNU/Linux

The kernel is 2.6.33 (older versions were on 2.6.14, or even on the 2.4th branch), but this kernel performs its tasks, and certification of such heavy software as the OS kernel is a long and sad matter.

Elbrus ~ # ls /etc | grep release
Elbrus ~ # ls /etc | grep version
mcst_version
Elbrus ~ # cat /etc/mcst_version
release 2.3-rc5

The os-release file is missing.

Elbrus ~ # openssl version
LibreSSL 2.1.7
The system crypto wallet is already LibreSSL, but old version(currently 2.4.5 is current, but certification does not allow changing versions so easily). Perhaps there are newer versions in the new builds, but I haven’t seen these builds yet.

Elbrus ~ # openssl ciphers | grep --color GOST
GOST2001-GOST89-GOST89
GOST2012256-GOST89-GOST89
Domestic cryptography is in place.

Elbrus ~ # which gpg
which: no gpg in (/opt/mcst/bin:/bin:/sbin:/usr/sbin:/usr/bin:/usr/local/bin)
And here's the second one essential component absent. As far as I assume, the Russian military has its own crypto solutions for direct use, and there is no procedure for updating the system itself - installed system translated to “remount / ro”, filled with cast iron, and used on a nuclear missile, so they don’t need to check package signatures =)
Or perhaps it’s just that the OS is still in the process of being transferred/certified, and this the most important utility will be added.

Elbrus ~ # df -h | grep sd
/dev/sda3 9.9G 8.2G 1.2G 88% /
/dev/sda1 1008M 61M 897M 7% /boot
/dev/sda4 12G 159M 12G 2% /export

The root uses 8.2 GB of space. For a freshly installed system, this is a LOT, but if you remember that all the software that was transferred at the time of release is included there, the figure becomes clear.

Elbrus ~ # env | grep LC
LC_PAPER=C
LC_ADDRESS=C
LC_MONETARY=ru_RU.KOI8-R
LC_NUMERIC=ru_RU.KOI8-R
LC_TELEPHONE=C
LC_MESSAGES=ru_RU.KOI8-R
LC_IDENTIFICATION=C
LC_COLLATE=ru_RU.KOI8-R
LC_MEASUREMENT=C
LC_CTYPE=ru_RU.KOI8-R
LC_TIME=ru_RU.KOI8-R
LC_NAME=ru_RU.KOI8-R

For Russian text, it is proposed to use the ungodly outdated single-byte encoding KOI-8. This is fucked up, comrades =) Yes, we remember about old software, compatibility, Perl scripts and documents from Word 3.0, but KOI-8 is in any case beyond good and evil.
Although if you write LANG=ru_RU.UTF8 and run the same midnight or any command with localized output (df -h) - everything is ok, UTF-8 is present here.

We log in, try to make startx and contemplate twm with a pack of consoles:

Frustrated by such user-friendly behavior, we edit the config:
Elbrus /etc/X11/xinit # mcedit xinitrc

Operating system (OS)- the most an important part software any computing complex (VC). OS is a complex of control and processing programs, which, on the one hand, act as an interface between the devices of the computing complex and application programs, and on the other hand, they are designed to control VC devices, computing processes, effectively distribute computing resources between computing processes and organize reliable computing.

The MCST company has created, maintains and constantly develops an operating system for VK with SPARC and Elbrus architecture OS "Elbrus". It is based on the kernel Linux 2.6.33. Elbrus OS provides multitasking and multi-user operating modes. Special process control mechanisms have been developed for it, virtual memory, interrupts, signals, synchronization, support for tagged calculations.

To use the Elbrus series VC in a number of critical systems, fundamental work has been done to transform Linux OS into an operating system that supports real-time mode, for which current optimizations were implemented in the kernel. While working in real time, you can set various modes processing external interrupts, scheduling calculations, exchanges with disk drives and some others.

The Elbrus OS includes: basic facilities user interface support:

  • Interface Support Tools command line(the same “console”). Provide the operator with the ability to work with VK in text mode using a set of commands and receiving text messages from the operating system and launched applications;
  • Archiving tools for combining a number of files into a single archive or a series of archives (including data compression), which ensures ease of transmission through communication channels or storage;
  • Software development tools. Provide software development and support process. These are assemblers, translators, compilers, linkers (link editors), collectors, preprocessors, debuggers, text editors, subroutine libraries, version control tools, documentation tools;
  • Task scheduling tools - allow you to specify to the operating system what actions, at what time and with what frequency should be performed.

In addition to the basic ones, a number of tools have been introduced into the user interface that support the creation of functional software.

Graphics support tools user interface contain basic components graphics system Xorg, as well as a set of various supporting libraries, including GTK+ and Qt.

The basis of the OS is the library. Glibc - (GNUCLibrary) - freely distributed library WITH. Provides system calls and basic functions such as open, malloc, printf etc. Library C used for all dynamically linked programs. Glibc used on systems running many different OSes and on different architectures. Most often Glibc used on x86 machines with OS Linux. Architectures are also officially supported SPARC and "Elbrus".

Library glibc, supplied as part of the Elbrus OS, is based on GNU glibc version 2.7. It consists of two parts:

  • header files, which define types and macros and declare variables and functions;
  • the actual library or archive that contains definitions of variables and functions. It consists of several files, the functions in which are combined according to some characteristic (for example, libm.a - an archive of mathematical functions).

A compact library is provided to support programs running in protected mode. libmcst , which provides memory functions and I/O support at the libc core library level.

Built into the core of the Elbrus operating system a set of information security tools (ICSI) from unauthorized access (NSD). The full functioning of the Elbrus OS KSZI should provide the required level of information protection from unauthorized access when the VC operates as part of specialized automated systems. KSZI is implemented using system calls, subroutine libraries, system configuration.

KSZI from NSD OS "Elbrus" provides the opportunity to use tools computer technology(SVT) series "Elbrus" as part of the VK for building automated systems. In this case, SVT:

a) meet the requirements of the 2nd class of protection against NSD of the RD State Technical Commission under the President of the Russian Federation;

b) allow certification of HIF SVT at the 2nd level of control of undeclared capabilities, in accordance with the RD of the State Technical Commission under the President of the Russian Federation

For support for existing users continues support for Elbrus OS distributions with core Linux 2.6.14. In addition to Elbrus OS, MCST supplies and supports OS WSWS with core Linux 2.4.25 for VC "Elbrus-90micro" and OS MSVS with kernel Linux 2.6.14 for VK "Elbrus-3M1". The Elbrus-90micro VK series also supports the OS_E90 operating system based on Solaris 2.5.1.




The processor passed State tests in March 2014 Clock frequency 800 MHz 4 cores L2$ 8 MB, Up to 23 operations/cycle per core 3 memory channels DDR interprocessor channels (16 GB/s) 1 IO-link channel (4 GB/s) Improvements in micro architecture Number of transistors – 968 million Power dissipation – ~45 W Technology – 65 nm, 9 layers of metal Crystal area mm 2 Elbrus-4S


The processor has completed the state. tested in 2014 Clock frequency 300 MHz, 2 Elbrus cores L2$ 2 * 1 MB 2 DDR interprocessor channels (4 GB/s each) 2 IO-link channels (2 GB/s) Number of transistors: 300 million Power dissipation : ~20 W Technology: 90 nm, 10 layers of metal Crystal area: 320 mm 2 Production at the Mikron Elbrus-2SM factory


KPI Clock frequency – 250 MHz 2 I/O channels (2 * 1 GB/s). PCI Interfaces Express 1.0a x8 PCI 2.3 (33/66 MHz, 32/64 bit) Gigabit Ethernet, 4 * SATA 2.0, 2 * USB 2.0 RS 232/485, IEEE1284, Audio, SPI, I2C, GPIO Number of transistors - 30 million Power dissipation – 5 W Technology – 0.13 microns, 9 layers of metal Crystal size – 10.6 x 10.6 mm




Asynchronous pre-paging Asynchronous data paging unit (AAU) Asynchronous program Level 2 cache (L2$) RAM Register file (RF) Main program Arithmetic logic units (ALU) Pre-paging buffer. data paging (APB) data asynchronous data addresses Calculates addresses Paging data Manages synchronous data paging


Peak performance of lin.uch. loops Int (8) / FP (9) / St (2) / Ld (4) Predicate processing Transfer of control Loading literal 32/64- 4/2 + Asynchronous loading in the Russian Federation - 4 + Address arithmetic - 4 + Cycle counter processing Total: 18/16 23


SPEC CPU2000FP








2015: Elbrus-8S 1.3 GHz 8 cores Elbrus 250 Gigaflops L2$ 8*512KB, L3$ 16 MB 4 DDR memory channels interprocessor. channels of 16 GB/s 1 channel IO-link (16 GB/s) 320 mm 2, 2.7 billion transistors 28 nm, power consumption ~60 W First engineering samples received


2015: KPI-2 1 channel IO-link (16 GB/s) PCI Express 2.0 x20 3 * Gigabit Ethernet 8 * SATA * USB * GPIO... Technology 65 nm Power consumption 12 W First engineering samples received


Server based four processors Elbrus-8S 4 processors Elbrus-8S South Bridge KPI-2 RAM up to 256 GB per server Interfaces: SATA 3.0 – 8 channels, Gigabit Ethernet – 3 channels, PCI Express 2.0 x20, PCI, interconnect Case height 1U Server power – 1 Teraflops 40 Tflops in a rack Elbrus-8S server Breadboard sample of a four-processor server


Gflops SP TSMC Micron Elbrus-4S 65 nm, 4th 50GF Elbrus-8S 28 nm, 8th 250GF Elbrus-16S 16 nm, 8…16th 0.5 ... 1TF Elbrus-32S 10 nm, 32nd 4TF Elbrus-4SM 65 nm, 4th 50GF Elbrus-8SM 32 nm, 8th 250GF Road map Elbrus-2SM 90 nm, 2nd 10GF Elbrus-1C+ 40 nm, 1st + GPU 24GF Index “M” ( green) marked models planned for production at the domestic Mikron factory (Zelenograd)






“Protected mode”: error control during execution Hardware controls program errors in working with memory and guarantees the integrity of pointers Accessing the boundaries of an object (array) Accessing a pointer to already freed memory of an object that has completed its life cycle Reading uninitialized data Accessing non-addressed data as if index Result: Increase in programmer productivity - by an order of magnitude Ability to create reliable programs that are resistant to cyber attacks Slowdown in program speed - about 20%


Elbrus protected mode. Descriptor structure 32 bit40 bit32 bit24 bit8 bit Current position Base Boundary Lifetime + service bits Tags 128 bit 32 bit2 bit Data or part of a descriptor Tags Descriptor: Tag values: 00 - Uninitialized 10 - Data, 01 and 11 - Part of a descriptor Structure of a machine word in memory :


“Protected mode”: error control during execution Execution of programs on regular computer- like driving on a highway with markings. As long as all programs operate without errors “according to the rules”, everything works well... ... but if you break the rules, the safety of the entire computer Protected mode is like a separator: it provides iron-clad guarantees that all correctly running programs will be safe


OS Elbrus Structure used Debian packages More than 3000 ported basic packages from the Debian 5.0 (Lenny) suite and many others, including: LibreOffice 3.6 Firefox PostgreSQL 9.2 Qt 5.0 Based on the Linux kernel Built-in real-time support Binary application translator: x86 Elbrus cross-architectural virtualization layer, compatible with the WINE emulator Development tools – C/C++/Fortran compilers, Java machine (OpenJDK 6)