KR580VM80A

The KR580VM80A (КР580ВМ80А) is a Soviet microprocessor, a clone of the Intel 8080 CPU. Different versions of this CPU were manufactured beginning in the late 1970s, the earliest known use being in the SM1800 computer in 1979. Initially called the K580IK80 (К580ИК80), it was produced in a 48-pin planar metal-ceramic package. Later, a version in a PDIP-40 package was produced and was named the KR580IK80A (КР580ИК80А). The pin layout of the latter completely matched that of Intel's 8080A CPU. In 1986 this CPU received a new part number to conform with the 1980 Soviet integrated circuit designation and became known as the KR580VM80A (КР580ВМ80А), the number it is most widely known by today (the KR580VV51A and KR580VV55A peripheral devices went through similar revisions). Normal clock frequency for the K580IK80A is 2 MHz, with speeds up to 2.5 MHz for the KR580VM80A. The KR580IK80A was manufactured in a 6 μm process. In the later KR580VM80A the feature size was reduced to 5 μm and the die became 20% smaller.

Technology and support chips
The KR580VM80A was manufactured with an n-MOS process. The pins were electrically compatible with TTL logic levels. The load capacity of each output pin was sufficient for one TTL input. The output capacitance of each control and data pins was ≤ 100pF each.

The family consists of the following chips:

For brevity, the table above lists only the chip variants in a plastic DIP (prefix КР) as well as the original planar package (prefix К). Not listed separately are variants in a ceramic DIP (prefix КМ for commercial version and prefix М or no prefix for the military version) or export variants (prefix ЭКР) in a plastic DIP but with a pin spacing of one tenth of an inch.

For the KR580VM1 (КР580ВМ1) see Further development below.

Several integrated circuits in the K580 series were actually intended for other microprocessor families: the KR580VR43 (КР580ВР43 — Intel 8243) for the K1816 family (Intel MCS-48) and the KR580GF84 (КР580ГФ84 — Intel 8284) / KR580VG88 (КР580ВГ88 — Intel 8288) / KR580VB89 (КР580ВБ89 — Intel 8289) for the K1810 family (Intel 8086). Additionally, most devices in the K580 series could be used for the K1810 series as well.

KR580VM80A vs. Intel 8080A
While the Soviet clone appears to be fully software-compatible with Intel 8080A, there is a slight difference between the two processors' interrupt handling logic, which looks like an error in the KR580VM80A's microcode. If a CALL instruction opcode is supplied during INTA cycle and the INT input remains asserted, the KR580VM80A does not clear its internal Interrupt Enable flag, despite the INTE output going inactive. As a result, the CPU enters a microcode loop, continuously acknowledging the interrupt and pushing the PC onto the stack, which leads to stack overflow. In a typical hardware configuration this phenomenon is masked by the behavior of 8259A interrupt controller, which deasserts INT during INTA cycle. The Romanian MMN8080 behaves the same as the KR580VM80A; no other 8080A clones seem to be affected by this error.

Applications
The KR580VM80A was popular in home computers, computer terminals, industrial controllers. Some of the examples of its successful application are:
 * KUVT Korvet educational computer
 * Radio-86RK (Радио 86РК), probably the most popular amateur single-board computer in the Soviet Union
 * Micro-80 (Микро-80 in Russian), Radio 86RK's predecessor
 * Orion-128 (Орион-128 in Russian), Radio 86RK's successor, which had a graphical display
 * Specialist (computer), similar to Orion-128
 * UT-88 amateur computer
 * SM 1800 industrial mini computer
 * Vector-06C home computer, where KR580VM80A is overclocked to 3 MHz by design
 * TIA-MC-1 (ТИА-МЦ-1) arcade machine
 * Juku E5101 educational computer designed in Estonia
 * Maestro (Маэстро) soviet four voice hybrid analog synthesizer keyboard

Further development
Mirroring the development in the West, where the Intel 8080 was succeeded by the binary compatible Intel 8085 and Zilog Z80 as well as the source compatible Intel 8086, the Soviet Union produced the IM1821VM85A (ИМ1821ВМ85А, actually the CMOS version Intel 80C85), KR1858VM1 (КР1858ВМ1), and K1810VM86 (К1810ВМ86), respectively. The 580VM80 is still shown on the price list of 15 August 2022 of the "Kvazar" plant in Kyiv together with various support chips of the K580 series.

Another development, the KR580VM1 (КР580ВМ1), has no western equivalent. The KR580VM1 extends the Intel 8080 architecture and is binary compatible with it. The extensions differ, however, from both the Intel 8085 and the Zilog Z80. The KR580VM1 extends the address range from 64KB to 128KB. It adds two registers, H1 and L1, that can be used instead of H and L. Several 16-bit arithmetic instructions were added as well (DAD, DSUB, DCOMP). Just like the Intel 8085 and the Zilog Z80, the KR580VM1 needs only a single +5V power supply instead of the three voltages required by the KR580VM80A. The maximum clock frequency was increased from 2 MHz to 5 MHz while the power consumption was reduced from 1.35W to 0.5W, compared to the KR580VM80A.