KR580VM80A | |
Produced-Start: | c. 1979 |
Produced-End: | c. 1991 |
Slowest: | 2 |
Slow-Unit: | MHz |
Fastest: | 2.5 |
Fast-Unit: | MHz |
Size-From: | 6 μm |
Manuf1: | USSR |
Arch: | 8080 |
Sock1: | 40 pin DIP |
The KR580VM80A (Russian: КР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.[1] In the later KR580VM80A the feature size was reduced to 5 μm and the die became 20% smaller.[2]
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:
Designation | Western equivalent | Description | |
---|---|---|---|
Russian | English | ||
К580ИК80 | K580IK80 | Intel 8080 | central processing unit |
КР580ИК80А | KR580IK80A | ||
КР580ВМ80A | KR580VM80A | ||
К580ИК51 | K580IK51 | Intel 8251 | serial interface/communication controller |
КР580ИК51А | KR580IK51A | ||
КР580ВВ51A | KR580VV51A | ||
КР580ИК53 | KR580IK53 | Intel 8253 | programmable interval timer |
КР580ВИ53 | KR580VI53 | ||
К580ИК55 | K580IK55 | Intel 8255 | programmable parallel interface |
КР580ИК55А | KR580IK55A | ||
КР580ВВ55A | KR580VV55A | ||
КР580ИК57 | KR580IK57 | Intel 8257 | programmable DMA controller |
КР580ВТ57 | KR580VT57 | ||
КР580ВН59 | KR580VN59 | Intel 8259 | programmable interrupt controller |
КР580ГФ1 | KR580GF1 | system clock generator/driver | |
КР580ВГ18 | KR580VG18 | Intel 8218 | Multi-master bus arbitration logic |
КР580ГФ24 | KR580GF24 | Intel 8224 | system clock generator/driver |
КР580ВК28 | KR580VK28 | Intel 8228 | bus controllers/drivers |
КР580ВН28 | KR580VN28 | ||
КР580ВК38 | KR580VK38 | Intel 8238 | bus controllers/drivers |
КР580ВТ42 | KR580VT42 | Intel 3242 | DRAM address multiplexer and refresh counter |
КР580ВГ75 | KR580VG75 | Intel 8275 | programmable CRT video display controller |
КР580ВГ76 | KR580VG76 | Intel 8276 | programmable CRT video display controller |
КР580ВВ79 | KR580VV79 | Intel 8279 | programmable peripheral device, keyboard and display controller |
КР580ВГ79 | KR580VG79 | ||
КР580ИР82 | KR580IR82 | Intel 8282 | buffer registers |
КР580ИР83 | KR580IR83 | Intel 8283 | inverting buffer registers |
КР580ВА86 | KR580VA86 | Intel 8286 | bus drivers |
КР580ВА87 | KR580VA87 | Intel 8287 | inverting bus drivers |
КР580ВК91А | KR580VK91A | Intel 8291A | GPIB Talker / Listener |
КР580ВГ92 | KR580VG92 | Intel 8292 | GPIB Controller |
КР580ВА93 | KR580VA93 | Intel 8293 | GPIB Transceiver |
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.
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.[3] 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.
The KR580VM80A was popular in home computers, computer terminals, industrial controllers. Some of the examples of its successful application are:
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.