El KR580VM80A ( en ruso : КР580ВМ80А ) es un microprocesador soviético , un clon de la CPU 8080 de Intel . [1] [2] Se fabricaron diferentes versiones de esta CPU a partir de finales de la década de 1970, siendo el primer uso conocido en la computadora SM1800 en 1979. Inicialmente llamado K580IK80 (К580ИК80), se produjo en un paquete de metal-cerámica planar de 48 pines . Más tarde, se produjo una versión en un paquete PDIP-40 y se denominó KR580IK80A (КР580ИК80А). La disposición de pines de este último coincidía completamente con la de la CPU 8080A de Intel . En 1986, esta CPU recibió un nuevo número de pieza para cumplir con la designación de circuito integrado soviético de 1980 y pasó a conocerse como KR580VM80A (КР580ВМ80А), el número por el que se la conoce más ampliamente en la actualidad (los dispositivos periféricos KR580VV51A y KR580VV55A pasaron por revisiones similares). La frecuencia de reloj normal para el K580IK80A es de 2 MHz, con velocidades de hasta 2,5 MHz para el KR580VM80A. El KR580IK80A se fabricó en un proceso de 6 μm . [3] En el KR580VM80A posterior, el tamaño de la característica se redujo a 5 μm y el chip se volvió un 20% más pequeño. [4]
El KR580VM80A se fabricó con un proceso n-MOS . Los pines eran eléctricamente compatibles con los niveles lógicos TTL . La capacidad de carga de cada pin de salida era suficiente para una entrada TTL. La capacitancia de salida de cada pin de control y de datos era ≤ 100 pF cada uno.
La familia consta de los siguientes chips: [5] [6] [7]
Para abreviar, la tabla anterior enumera solo las variantes de chip en un DIP de plástico (prefijo КР ) así como el encapsulado planar original (prefijo К ). No se enumeran por separado las variantes en un DIP de cerámica (prefijo КМ para la versión comercial y prefijo М o sin prefijo para la versión militar) o las variantes de exportación (prefijo ЭКР ) en un DIP de plástico pero con un espaciado de pines de una décima de pulgada.
Para el KR580VM1 ( КР580ВМ1 ), consulte Desarrollo adicional a continuación.
Varios circuitos integrados de la serie K580 estaban destinados a otras familias de microprocesadores: el KR580VR43 ( КР580ВР43 — Intel 8243) para la familia K1816 ( Intel MCS-48 ) y el KR580GF84 ( КР580ГФ84 — Intel 8284 ) / KR580VG88 ( КР580ВГ88 — Intel 8288 ) / KR580VB89 ( КР580ВБ89 — Intel 8289 ) para la familia K1810 ( Intel 8086 ). Además, la mayoría de los dispositivos de la serie K580 también se podían utilizar para la serie K1810.
Aunque el clon soviético parece ser totalmente compatible con el software del Intel 8080A, hay una ligera diferencia entre la lógica de manejo de interrupciones de los dos procesadores , que parece un error en el microcódigo del KR580VM80A . [8] Si se suministra un código de operación de instrucción CALL durante el ciclo INTA y la entrada INT permanece activada, el KR580VM80A no borra su indicador interno de habilitación de interrupciones, a pesar de que la salida INTE se vuelve inactiva. Como resultado, la CPU entra en un bucle de microcódigo, reconociendo continuamente la interrupción y empujando la PC hacia la pila , lo que conduce a un desbordamiento de pila . En una configuración de hardware típica, este fenómeno está enmascarado por el comportamiento del controlador de interrupciones 8259A, que desactiva INT durante el ciclo INTA. El MMN8080 rumano se comporta igual que el KR580VM80A; ningún otro clon 8080A parece verse afectado por este error.
El KR580VM80A fue popular en computadoras domésticas , terminales de computadora y controladores industriales . Algunos ejemplos de su aplicación exitosa son:
Siguiendo el ejemplo de Occidente, donde el Intel 8080 fue reemplazado por el Intel 8085 y el Zilog Z80 compatibles en binario , así como por el Intel 8086 compatible en origen , la Unión Soviética produjo el IM1821VM85A ( ИМ1821ВМ85А , en realidad la versión CMOS Intel 80C85), el KR1858VM1 ( КР1858ВМ1 ) y el K1810VM86 ( К1810ВМ86 ), respectivamente. [9] El 580VM80 todavía aparece en la lista de precios del 15 de agosto de 2022 de la planta "Kvazar" en Kiev [10] junto con varios chips de soporte de la serie K580.
Otro desarrollo, el KR580VM1 ( КР580ВМ1 ), no tiene equivalente occidental. [11] El KR580VM1 extiende la arquitectura Intel 8080 y es compatible binariamente con ella. Sin embargo, las extensiones difieren tanto del Intel 8085 como del Zilog Z80. El KR580VM1 extiende el rango de direcciones de 64 KB a 128 KB. Añade dos registros, H1 y L1, que se pueden utilizar en lugar de H y L. También se añadieron varias instrucciones aritméticas de 16 bits ( DAD
, DSUB
, DCOMP
). [12] Al igual que el Intel 8085 y el Zilog Z80, el KR580VM1 necesita sólo una única fuente de alimentación de +5 V en lugar de los tres voltajes requeridos por el KR580VM80A. La frecuencia máxima de reloj se incrementó de 2 MHz a 5 MHz, mientras que el consumo de energía se redujo de 1,35 W a 0,5 W, en comparación con el KR580VM80A.