1
$\begingroup$

I find the Russian Elbrus CPU fascinating.

It seems that it is fairly decent at performing calculations, and security. This is likely as it is heavily specific for military and financial industries, within Russia. Less focus was put on end user desktop computers.

However, I am confused about the decision to use the VLIW (Very Long Instruction Word) architecture? Even Linus Torvald did not speak favourably of VLIW in the past...

I assume, since Russia is heavily limited by sanctions and time constraints, they created the fastest CPU possible (which is slow in comparison to rivals such as Intel and AMD), but intend to rely heavily on the VLIW aspect to gain as much performance as possible out of their slow CPU?

Otherwise, what logical reason is there to pick VLIW (along with all of the SDKs, custom built software, Astra Linux etc... that need to support it) over x86?

$\endgroup$
0

2 Answers 2

3
$\begingroup$

At some point in time people thought that VLIW computers were a very reasonable approach. And as long as you cannot handle out-of-order execution it is quite useful. You may be able to execute say four instructions in some cycles without doing anything complicated. I’ve actually seen a 6MHz maths-coprocessor (a very long time ago) that could theoretically do 60 million operations per second. Had you asked LT 10 years earlier the answer might very well have been different.

Elbrus is based on old designs. Right from the time when VLIW seemed a good idea. Its problem is that it is not flexible enough.

$\endgroup$
1
  • $\begingroup$ "as long as you cannot handle out-of-order execution" was this a typo, as I cannot follow along sorry? $\endgroup$ Commented Jan 3 at 16:25
1
$\begingroup$

However, I am confused about the decision to use the VLIW (Very Long Instruction Word) architecture?

A lot of advances in Computer Science that were made in the USSR and/or Russia are not well known in "The West". This is caused by the fact that until the 1990s, there was not much correspondence between Soviet and Western Scientists, and even after the fall of the Iron Curtain, there is still the language barrier, since Soviet and Russian Computer Scientists typically publish in Russian.

The theoretical foundations of what we now call VLIW were developed in the 1970s by Михаил Александрович Карцев. He wrote a textbook which was published in 1981, which is two years before Josh Fisher developed VLIW without knowing about Карцев's work.

So, by the time Эльбрус switched to VLIW with the Эльбрус 3 in 1990, Russians had more than 10 years of experience with VLIW.

Even Linus Torvald did not speak favourably of VLIW in the past...

Not to take anything away from the great achievement that Linux is, but why would the Эльбрус design team in the late 1980s have cared what a completely unknown student from Finland thinks?

I assume, since Russia is heavily limited by sanctions and time constraints, they created the fastest CPU possible (which is slow in comparison to rivals such as Intel and AMD), but intend to rely heavily on the VLIW aspect to gain as much performance as possible out of their slow CPU?

The Эльбрус 1 (1979) and Эльбрус 2 (1984) were out-of-order superscalar RISC designs. The Эльбрус 3 (1990) switched to a completely new VLIW design. So, clearly, the designers saw an advantage in VLIW over OoO superscalar RISC. Otherwise, why throw away an already designed and developed architecture and start from scratch?

Note that the USSR had quite sophisticated compiler technology. For example, supercompilation was invented and implemented in production compilers as earls as the 1960s, but practically unknown in The West until the 1990s.

VLIW allows to shift complexity from hardware (which is hard to change and slow to evolve) to the compiler, i.e., software (which is easy to change and quick to evolve).

These are different tradeoffs to make, but considering the long line of hardware-based security vulnerabilities in the last 10 years, it doesn't sound too stupid to put the complex stuff into the compiler, where it can easily be fixed by an update.

Just as an example, Intel added a new feature to their next-gen CPUs that is supposed to increase security. Except, four weeks ago, researchers found that it actually is a massive security hole. These CPUs aren't even on the market yet, but there is nothing Intel can do: the CPUs have been designed, the masks have been created, the production has started – they will have to go to market with a new security feature that actually makes the latest-get CPUs less secure. If this was a software feature, they'd just delay the launch by a couple of days and update the download links.

Otherwise, what logical reason is there to pick VLIW (along with all of the SDKs, custom built software, Astra Linux etc... that need to support it) over x86?

The Эльбрус 2000 architecture is a dual-ISA architecture which supports both the e2k ISA and the x86/AMD64 ISA. Using the AMD64 ISA, it can run Linux, Windows, QNX, and others without the need to port anything, although Linux also has been ported to e2k natively.

Эльбрус uses dynamic translation to implement the x86/AMD64 ISA, very similar to the Transmeta Crusoe CPU that Linus Torvalds worked on.

$\endgroup$
1
  • $\begingroup$ My Linus comment was because in 2010 he disliked VLIW for modern computers, so I was unsure why post sanctions Russia would go with VLIW. My question is about modern times, not Russia's interesting history. $\endgroup$ Commented Jan 3 at 16:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.