BESM-6 Nostalgia Page

Click here for Russian.

<-- The photo sent by Mikhail Velikovsky -->

This page is supposed to hold all sorts of information about the late great Soviet mainframe computer BESM-6. The last original BESM-6 at the Naval Training Center near St. Petersburg was decommissioned Oct. 28 2008. For indexing and search purposes I'll mention БЭСМ-6 in Russian.

By the way, BESM stands for "Bol'shaya (or Bystrodejstvuyushchaya) Ehlektronno-Schetnaya Mashina", that is, "Big (or High-speed) Electronic Calculating Machine". There also existed BESM-4 (with 45-bit words), and I've even seen it once; but I don't know anything else about it.

Instruction Set

Emulator news

A sample listing

BESM-6 character set (This is how it looked in real life, enhanced)

NEW! Try the emulator online


Interesting links


The source code is now available!!!

I hope that this page will eventually persuade somebody to reimplement BESM-6, e.g. as a term project (not down to the chip, of course; down to layout with timings). It will be interesting to see how fast it can be today and how many transistors will be necessary.
Picture of the cache registers

The CPU had all its registers represented on the front panel by the neon lights; there were 8 48-bit cache registers neatly aligned - a perfect way for the kernel to communicate with operators "if everything else fails". Today we have to count beep signals from the BIOS.

Here is some brief history

BESM-6 was designed in 1965 by a group of engineers working at the S.A.Lebedev Institute of Precise Mechanics and Computing Equipment (ITMiVT in Russian). One of them was Mark Tyapkin, who is still with IPMCE, afaik.

The production started in 1967, by the "SAM Plant" (SAM stands for "Computing-Analytical Machines") in Moscow. The base configuration included CPU, 192 Kb of core memory, magnetic drums, proprietary magnetic tape drives, teletypes, typewriters (with parallel interface), alphanumeric printers and punchcard/punchtape readers and writers. About 350 copies have been made until early 80's. The later configurations included standard 1/2 inch tapes and IBM-clone magnetic disc drives, serial videoterminals, plotters, etc, mostly imported or clones of the original hardware.

The main purpose of BESM-6 was "number crunching", so it did not have any specific instructions for character manipulation. The memory could only be addressed word by word.

There were one or more compilers for most widespread programming languages: Algol-60 (3), Fortran (at least 3), Pascal (2) - those I've used; then, there were many more. Off the top of my head: APL, Lisp, Planner, REFAL, Forth, C - those I've seen working, heard of or read about.

An extension of BESM-6 (named AS-6) better suited for character manipulation has been designed, but only several (4-5) copies have been made. (I have no information on the AS-6 instruction set extensions. Anyone?)

Later, with the advent of Elbrus in early 80's, a newer and faster IC-based version of BESM-6 was produced as a part of the Elbrus-1 configuration; its name was Elbrus-1K2 officially ("Elbrus" being the trademark of ITMiVT), and SVS, which stands for "System reproducing the instruction set (of BESM-6)", unofficially. It was about 2.5 times faster than BESM-6.

During late 80's, the 64-bit extension of BESM-6 (named Elbrus-1KB, or, briefly, Elbrus-B), featuring the new native instruction set and 2 BESM-6 compatibility modes (original, and with extended memory addressing), was designed and several copies have been made (by the same "SAM plant" that used to make the original BESM-6's) before the collapse of the USSR. One Elbrus-B has been used in the Meteorological Center in Moscow in 1991; I'm unaware of its today's fate.

The element base used for Elbrus-B was hardly better than one of SVS (that is, more than 10 years older than state of the art), and its floating point performance, although impressive (for 20 MHz clock frequency) 2.5 MWhetstones on 64-bit arithmetic, was too low to be competitive.

The table below shows how the slippage from state of the art progressed. This page will focus on describing BESM-6 and, hopefully, SVS.

The most interesting features of BESM-6 were:

Technical information

BESM-6 (1967)SVS (1980) Elbrus-B (1988) native mode
PerformanceAbout 1 MIPSAbout 2.5 MIPSAbout 3 MIPS
Clock frequency9 MHz20 MHz
Element base60,000 transistors and 170,000 diodes+ECL ICs
Word size48 bits64 bits
Address size15 bits27 bits
Addressable memory192 Kb1 Gb
Addressable memory granularityWord
Instruction set1-operand

+How many logic gates is this?



The printers connected to BESM-6 were similar to those old IBM line printers with a big rotating character drum and a lot of little hammers, and the interface was similar to the one used for IBM 1132: an interrupt was generated when a row of characters on the drum was ready to be struck with the hammers, and the OS had to send a bitmap of the hammers to hit the drum to the printer no later than 200 us after the interrupt, or it's too late - the drum keeps rotating! That is, the interrupt rate from one printer was about 700 per second (that corresponds to approximately 6 lines per second), there were two of them, and even with both printers printing, the decrease in responsiveness of the system was barely noticeable.
Please send your suggestions and contributions (especially trivia bits) to
this address with q's and x's removed.

Interesting links

You may also want to visit:


The photo courtesy T.F.Sapozhnikova, JINR, Dubna.
A table-top BESM-6

This is a table-top reimplementation of BESM-6 as a project in the Joint Institute of Nuclear Research in Dubna, Russia.

At the console: I.A.Emelin, the head of the BESM-6 engineering group; a real BESM-6 is in the background.

The picture was taken in spring 1992; several days later the old BESM-6 had been turned off and dismantled.

If you have access to a working BESM-6 or its successors: Elbrus-1K2 (SVS) or Elbrus-B, please let me (don't forget to remove q's and x's) know. Thanks.

© Leonid A. Broukhis, 1997-2005

The BESM-6 pages have been accessed 4796 times.