# M-20

La M-20 fue una computadora desarrollada en URSS en la década de 1950. Podía realizar 20 000 operaciones por segundo.
LA M-20 fue desarrollada por el Instituto de Mecánica de Precisión y Ciencias de la Computación (ITM TC) de Moscú y el Bureau de Diseño Especial-2457 (en ruso: Spetsiálnoe Konstrúktorskoe Byuró-245, SKB-245) bajo la dirección de Serguéi Alekséievich Lébedev.
El proyecto se inició en 1955 y finalizó en 1958 comenzando su producción en serie en la planta de Kazán de la CAM de Moscú en 1959 y acabando en 1964, se construyeron 63 unidades.
La M-20 fue la base para el desarrollo de las computadoras de segunda generación (las realizadas con transistores) de la serie BESM, en concreto la BESM-3M. Este modelo dejó paso a las computadoras M-220, M-220M y M-222 que mantenían la compatibilidad de software con la M-20 pero con una mayor capacidad de memoria. Hasta 1974 se realizaron unas 800 unidades.

## Historia

En 1955, Serguéi Lébedev comienza a trabajar en una nueva computadora, la M-20. Junto a él participan en el equipo M.K. Sulim, y M.R. Shura-Bura como jefes de diseño adjuntos y P.P. Golovístikov, V.Y. Alekséyev, V.V. Bárdizh, Laut VN, A. Sokolov y Tyapkin MV, A. Fiódorov como desarrolladores principales.
El objetivo era hacer una máquina que alcanzara las 20 000 operaciones por segundo y el encargo se realizó a dos instituciones diferentes, al Instituto de Mecánica de Precisión y Ciencias de la Computación (ITM TC) de Moscú y el Bureau de Diseño Especial-2457 (SKB-245). En el ITM TC, bajo la dirección directa de Lébedev, se realizó el diseño y desarrollo de la computadora mientras que en el SKB-245, bajo la dirección directa de Sulim, se realizó la preparación de la documentación técnica y la construcción del primer prototipo.
El hardware fue desarrollado por P. P. Golovístikov, y M. R. Shura-Bura elaboró el set de instrucciones, operaciones lógicas y procedimientos para el direccionamiento. Todo ello llevó a que se simplificara de una forma considerable la programación. El desarrollo de una nueva forma de manipulación del acarreo en la ALU (Unidad Aritmético Lógica) aumentó el rendimiento.
Se realizaron mejoras para el aumento del rendimiento como la realización de un set de instrucciones con modificación automática de las direcciones y aritmética de índices, el multiplexado en tiempo del funcionamiento de la unidad aritmética con la extracción desde la memoria principal de una nueva instrucción (una especie de procesamiento de segmentación de cauce) y la superposición de la salida de datos con la operación de la unidad aritmética.
La M-20 estaba construida con tubos de vacío y con diodos semiconductores de germanio. Las mejoras se realizaron mediante diodos. En 1957 se construyó el prototipo de la M-20 el cual tuvo problemas significativos. P. Golovístikov, V. Laut y A. Sokolov afinaron el diseño, reduciendo el número de válvulas, dejando el mismo en 1600 tubos de vacío y haciéndolas trabajar con el «principio del pulso», lo que resultó en una alta confiabilidad para esta máquina. En 1958 la Comisión Examinadora Estatal aprobó la M-20 y recomendó su producción en serie que se inició al año siguiente, entregándose a aquellas instituciones que trabajaban en los proyectos más críticos.
La facilidad de programación de la M-20 hizo que esta fuera muy popular. Llegó a crearse la Asociación de Usuarios de la M-20 por una decisión del Presidium de la Academia de Ciencias de la URSS en 1961, y tenía como objetivo el intercambio de información, algoritmos y programas, el desarrollo de un lenguaje de programación unificado, y la creación de software estandarizado.
La M-20 dio paso a las M-220 y M-222, que fueron construidas con elementos semiconductores, pero manteniendo la misma arquitectura. El desarrollo de estas máquinas lo realizó M. K. Sulim.
En 1958 se realizó la computadora M-40, que realizaba 40 000 operaciones por segundo, y poco después apareció la M-50, que llegaba a las 50 000. Estas máquinas tenían un procesador especial dedicado al intercambio de datos y fueron usadas para el primer sistema de defensa antimisil soviético.

## Especificaciones

La M-20 era una computadora binaria con una palabra de 45 bits, 36 bits para la mantisa, 1 bit para el signo del número, 7 bits para el exponente, y 1 bit para el signo del exponente. Usaba aritmética de punto flotante. El formato de las instrucciones era de tres direcciones. La memoria RAM tenía un tamaño de 4.096 palabras de 45 bits y estaba realizada en núcleos de ferrita. La ROM estaba formada por tambores magnéticos y cintas magnéticas y empleaba como interfaz de entrada y salida de datos tarjetas perforadas.

### Características

* Elemento base: 1.600 tubos de vacío y diodos semiconductores de germanio.
* Frecuencia de reloj: 666,7 kHz (un pulso de aproximadamente 1,5 microsegundos).
* El sistema de representación de los números: un binario de punto flotante, 45 bits por números de código.
* Memoria: en núcleos de ferrita, el volumen de 4.096 palabras de 45 bits.
* Memoria intermedia: tres tambores magnéticos de 4.096 palabras cada uno.
* Memoria externa: la cinta magnética y tarjetas perforadas.
* Dispositivo de salida: impresora.
* Rendimiento: en promedio, 20 mil operaciones por segundo.
* Huella: 170-200 metros cuadrados.
* Consumo de energía: 50 kW, con exclusión del sistema de refrigeración.

## La más rápida del mundo

La M-20 fue calificada por la Comisión como “la más rápida del mundo” por la Comisión Examinadora Estatal en 1958. Pero esto no era cierto ya que para entonces la máquina de IBM, la IBM 704 desarrollada en 1954, ya lograba realizar 40.000 operaciones por segundo y en 1959 la IBM 7090, que estaba realizada con transistores, llegaba a las 220.000 operaciones por segundo. Se estima que los expertos soviéticos en ese momento no tenían suficiente información sobre las características técnicas de los equipos estadounidenses.