Setun-70 fue una computadora ternaria experimental soviética desarrollada en la Universidad Estatal de Moscú (MSU) entre 1967 y 1970 por Nikolay Brusentsov y Yevgeny Zhogolev. [ 1 ] Concebida como la sucesora de la Setun original de 1959, abandonó el diseño de acumulador de una sola dirección de su predecesora por una arquitectura de máquina de pila de dos pilas cuyo conjunto de instrucciones estaba organizado en torno a trytes de 6- trits de longitud variable . [ 1 ] [ 2 ]
Una máquina experimental se puso en marcha por primera vez en abril de 1970. La arquitectura fue diseñada para soportar la programación estructurada en el sentido propuesto por Edsger W. Dijkstra a nivel de hardware, con una pila de retorno dedicada para el manejo de anidamiento de subrutinas y llamadas condicionales. [ 1 ] Setun-70 nunca entró en producción en serie (las decisiones administrativas pusieron fin a la línea ternaria poco después), pero sus ideas de conjunto de instrucciones se trasladaron a minicomputadoras binarias y computadoras personales en forma del Sistema de Diálogo de Programación Estructurada (DSSP) y se utilizaron durante tres décadas para albergar el sistema de instrucción asistida por computadora Nastavnik . [ 1 ] [ 3 ]
Fondo
El Setun original, construido en la MSU bajo la dirección de Sergei Sobolev y Brusentsov entre 1958 y 1959, fue el primer ordenador moderno en utilizar aritmética ternaria balanceada . Se construyeron alrededor de 50 máquinas de producción entre 1959 y 1965 antes de que se detuviera la salida en serie. [ 4 ] [ 2 ] A mediados de la década de 1960, Brusentsov y Zhogolev concluyeron que la arquitectura de acumulador de una sola dirección del Setun no se ajustaba bien al tipo de sistema de programación compacto y fácilmente extensible que deseaban, y comenzaron a diseñar un sucesor en el que una pila reemplazaría al acumulador. [ 1 ]
Arquitectura
Representación numérica
Setun-70 utilizaba el mismo conjunto de dígitos ternarios balanceados {-1, 0, +1} que su predecesor, pero reorganizaba sus formatos de datos en torno al tryte, una unidad de seis trits que servía como el elemento direccionable más pequeño de la memoria. [ 1 ] Un tryte codifica uno de 729 valores, lo que le confiere un contenido de información de aproximadamente 9,5 bits. [ 1 ] Las operaciones aritméticas podían tomar operandos de uno, dos o tres trytes de longitud, con resultados de hasta seis trytes. [ 2 ]
Memoria
La memoria principal estaba organizada en nueve páginas de 81 trytes cada una. Solo se podía acceder a tres páginas a la vez mediante un conjunto de registros de punteros de página, una disposición que mantenía las direcciones cortas al tiempo que permitía cargar programas y datos según fuera necesario. [ 1 ]
Procesador de dos pilas
El procesador utilizaba dos pilas de hardware:
- una pila de operandos de palabras de 18 trit, derivada del acumulador del Setun original, que recibía operandos empujados desde la memoria y contenía resultados intermedios de aritmética en forma inversa (postfija) polaca ; [ 1 ]
- una pila de retorno que almacena las direcciones de retorno para las llamadas a subrutinas y los contextos de las estructuras de control anidadas. [ 1 ]
La organización de dos pilas fue descrita por sus diseñadores como un alejamiento deliberado del modelo convencional de dirección y acumulador hacia un motor interpretativo que podría reorientarse a lenguajes de alto nivel sin recompilación del microcódigo subyacente. [ 1 ]
Conjunto de instrucciones
El formato de instrucción consistía en operaciones y direcciones del tamaño de un tryte; un programa era un flujo de trytes en lugar de una secuencia de palabras de ancho fijo. Setun-70 definió 81 códigos de operación, divididos en tres grupos de 27: un conjunto de operaciones básicas, un conjunto de operaciones auxiliares y un conjunto reservado para extensiones programables por el usuario. [ 1 ] Brusentsov argumentó posteriormente que este conjunto de instrucciones corto y regular se había desarrollado independientemente de los principios RISC que surgieron en Occidente a finales de la década de 1970. [ 2 ]
Programación
Policía
La notación de programación nativa de Setun-70 era Poliz, un código automático basado en la notación inversa polaca que ya se había utilizado en el Setun original. Debido a que las expresiones Poliz consumen operandos directamente de la pila, el lenguaje se adaptó naturalmente al hardware de dos pilas y no requirió ningún mecanismo de evaluación independiente. [ 1 ]
Programación estructurada
En 1971, el sistema se amplió para implementar las construcciones de control propuestas por Edsger W. Dijkstra en su trabajo sobre programación estructurada : las llamadas a subrutinas incondicionales y condicionales, así como los bucles acotados, se implementaron directamente mediante operaciones en la pila de retorno. [ 1 ] [ 3 ] En pruebas realizadas en MSU, los desarrolladores informaron que los programas podían escribirse y depurarse "de cinco a siete veces" más rápido que con las técnicas no estructuradas convencionales, a la vez que resultaban más cortos y legibles. [ 1 ]
Aplicaciones: Nastavnik
Después de que las decisiones administrativas detuvieran el desarrollo de hardware ternario a principios de la década de 1970, el Setun-70 restante se redirigió a la instrucción asistida por computadora. El equipo construyó un sistema de software educativo llamado Nastavnik, en el que una máquina anfitriona controlaba entre 30 y 40 terminales simples que consistían en un teclado numérico y una pantalla tipo calculadora. [ 1 ] El material del curso, que incluía lecciones programadas en Fortran , física, inglés y otras materias, era preparado por profesores sin formación en programación. El sistema Nastavnik se mantuvo en uso en la MSU y otras instituciones durante unos treinta años, incluso para pruebas de nivel en inglés. [ 1 ] [ 3 ]
Legado
Setun-70 fue, en palabras del Museo Virtual de Computación de Rusia, el último "ternac"; no se construyó ningún otro hardware ternario en la MSU después de él. [ 2 ] Su legado de software fue más duradero. El conjunto de instrucciones de doble pila se reimplementó en software en minicomputadoras binarias convencionales como la serie DVK y más tarde en computadoras personales como el Sistema de Diálogo de Programación Estructurada (DSSP), un lenguaje cuya sintaxis y semántica de pila se asemejan a las de Forth, aunque difieren en la codificación de sus primitivas de flujo de control. [ 1 ] [ 3 ]
La máquina se cita regularmente en estudios sobre computación soviética y computación no binaria como uno de los pocos intentos documentados de diseñar una arquitectura ternaria explícitamente en torno a un modelo de programación de alto nivel en lugar de basarse únicamente en la computación numérica. [ 4 ] [ 1 ]
Véase también
Enlaces externos
- "Desarrollo de computadoras ternarias en la Universidad Estatal de Moscú" - Museo Virtual de Computación de Rusia
- "Computadoras ternarias: Setun y Setun 70" - versión de la ponencia de Brusentsov y Ramil Alvarez presentada en la conferencia (PDF)
- Emulador Setun-70 en GitHub
Referencias
- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Brusentsov, Nikolay P.; Ramil Alvarez, José (2011). "Computadoras ternarias: El Setun y el Setun 70" . Perspectivas sobre la informática soviética y rusa . Avances de IFIP en tecnología de la información y la comunicación. Vol. 357. Springer. págs. 74–80 . doi : 10.1007/978-3-642-22816-2_10 . ISBN 978-3-642-22815-5.
- 1 2 3 4 5 "Desarrollo de computadoras ternarias en la Universidad Estatal de Moscú" . Museo Virtual de Computación Ruso . Recuperado el 23 de mayo de 2026 .
- 1 2 3 4 "Nikolay Petrovich Brusentsov" . Museo Virtual Ruso de Computación . Consultado el 23 de mayo de 2026 .
- 1 2 Hayes, Brian (2001). "Third Base" . American Scientist . 89 (6): 490– 494. doi : 10.1511/2001.40.3268 .
- Computadoras ternarias
- Sistemas informáticos soviéticos
- Universidad Estatal de Moscú
- Máquinas apiladoras
- Introducciones relacionadas con la informática en 1970
- Computadoras únicas en su tipo