Documentos de Académico
Documentos de Profesional
Documentos de Cultura
LOS ORÍGENES
Finalizaba 1969, último año de mi carrera; la compañía norteamericana Texas Instruments había
donado a la Facultad de Electrónica una caja con más de 4.000 circuitos digitales integrados, TTL
en su mayoría. El decano de entonces, ingeniero Sandro Sandri –nuestro profesor de Técnicas
Digitales– pensó que sería interesante construir un "simulador" de un computador, con propósitos
didácticos, que sirviera para demostrar a los estudiantes el funcionamiento de tales dispositivos, y
así lo propuso como tema de Tesis. Hay que mencionar, a modo de ambientación histórica, que
por esos años los computadores eran escasísimos en Colombia, y en el área académica sólo dos
universidades los poseían; si mi memoria no me abandona, éstos eran el IBM 360/44 de la
Universidad de los Andes, en el que practicábamos el FORTRAN, y el IBM 650, antigualla de la
Universidad Nacional, que luego cambió por un 1401 en el que posteriormente aprendí PL/I,
programación lineal y cómo hacer compiladores.
EL ENTRENAMIENTO
El tema propuesto por la facultad tenía varios alicientes, siendo el patrocinio institucional uno
bien importante. Hacia noviembre del 69 nos habíamos inscrito ya en el proyecto las 12 personas
requeridas, y comenzó la etapa de diseño, que duró 6 meses. Nuestra aproximación original
consistió en que sería tan difícil simular un computador como realizarlo de verdad, por lo cual
decidimos olvidarnos del "simulador" y hacer uno real: el "Computador Digital Didáctico",
CODIDAC.
Un reto que encarábamos tenía que ver con el hecho de que los dispositivos electrónicos en los
que habíamos sido adiestrados durante los 5 años anteriores, eran primordialmente tubos o
válvulas de vacío, y el proyecto requería la aplicación de la tecnología de los circuitos integrados,
desconocida por nosotros, y que era dos niveles superior a la otra, pasando por encima de los
transistores. Además, tanto nuestros conocimientos en el área como la bibliografía a la que
teníamos acceso eran exiguos e insuficientes; libros clásicos como el de Iván Flores hacían
referencia a métodos y procedimientos empleados una década atrás, o más, y resultaban superados
y completamente inaplicables.
A buena hora logramos que la NCR en Medellín nos aceptara para darnos un entrenamiento
teórico-práctico en sus instalaciones; allí nos mostraron desinteresadamente lo que eran los
computadores NCR de esa época: por fin vimos uno de cerca, y hasta pudimos tocarlo por
primera vez.
LA ARQUITECTURA
Empezada, pues, la etapa de diseño, definimos en primer lugar la Arquitectura: El computador
tendría una consola de operador, que albergaría el teletipo o télex Olivetti, vieja reliquia italiana,
color verde militar, proveniente de la segunda guerra mundial, que se encontraba arrumada en el
laboratorio de Comunicaciones y que permitiría tanto suministrarle datos al computador, mediante
el teclado, como imprimir sus resultados en el clásico rollo de papel. La automatización para la
introducción de información en mayores volúmenes (bibliotecas de funciones, bases de datos) se
haría mediante el lector adjunto de cinta de papel perforada. Además, habría un tablero para el
despliegue de la información interna más sobresaliente: registros, direcciones e instrucciones, y
una botonera para los interruptores de encendido y demás funciones que no fuera práctico realizar
desde el teletipo.
LAS INSTRUCCIONES
El conjunto de instrucciones que ejecutaría el computador fue diseñado cuidadosamente, e incluyó
comandos para lectura de datos, impresión, las cuatro operaciones aritméticas, toma de decisiones
y bifurcación en el flujo de control, desplazamientos de información a derecha e izquierda,
movimiento de datos entre diversas posiciones de memoria, borrado, espera y parada o
finalización. Un total de 14 instrucciones, todas codificadas en castellano. Nuestra aproximación
era, desde luego, que el CODIDAC pudiera realizar las operaciones que se programaban en el
FORTRAN de la época, que era, por cierto, FORTRAN a secas; no había aún ni FORTRAN II, o
FORTRAN IV, ¡sólo FORTRAN!
La belleza y el poderío de las instrucciones del CODIDAC, que lo diferencian de cualquier otro
computador, puede apreciarse en primer lugar, en la existencia de Clases de Información
definidas al nivel del lenguaje de máquina. Permítanme explicar esto un poco mejor. En los
computadores convencionales, tipo Von Neumann, la naturaleza de un elemento de información
no le es inherente; el significado se lo proporcionan las instrucciones que lo manipulan. Así, por
ejemplo, si sumo A con B, es la instrucción de suma la que les concede significación numérica a
las variables involucradas; pero si el programador hubiera almacenado un texto en esas posiciones
A y B, el computador no tendría forma de saberlo…
¡En nuestro caso no era así! Por ejemplo, la instrucción para desplazar información lo hacía de
una manera, si el operando contenía un número, y de otra muy diferente si representaba un texto.
En caso de números, el resultado siempre era un número; desplazar, digamos, un número
negativo, producía otro número negativo. En caso de textos, el resultado siempre era un texto.
¡Incluso las Instrucciones pertenecían a una Clase! lo que permitía realizar con ellas operaciones
aritméticas –sobre los campos numéricos correspondientes a las direcciones de los operandos– a
fin de facilitar la manipulación de subíndices, estructuras, etc.
LOS MODIFICADORES
Un segundo aspecto sobresaliente era la forma como un modificador cambiaba las operaciones, de
simples a repetitivas. Se podía así, con una sola instrucción de máquina (IM: IMprima), imprimir un
único valor… o también un rango completo de resultados (IR: Imprima Repetitivamente).
EL SUBSISTEMA DE ENTRADA Y SALIDA
He aquí otra faceta importantísima: El subsistema de Entrada y Salida formaba parte intrínseca de la
Arquitectura del procesador, con instrucciones específicas, más poderosas que el INPUT o
PRINT de ciertos lenguajes de alto nivel –como el Basic– y muy superiores al IN y al OUT de
simples registros, que figuran en los microprocesadores actuales. Solo arquitecturas muy complejas
incluyeron alguna vez instrucciones para el manejo de "canales" de entrada y salida.
Tamaña sorpresa me llevé cuando estudié el novedoso mini computador PDP-11, cuatro años después,
y ¡no encontré por ninguna parte las instrucciones de entrada y salida!
Si el comando estaba designado por una sola voz imperativa, como "SUME", por ejemplo, el
código se conformaba con las dos (2) primeras letras: "SU".
Y si se requería el modificador de iteración para ejecutar repetidas veces una instrucción, se reemplazaba
la segunda letra por una R; por ejemplo: AR era Acepte información de manera Repetitiva (desde,
hasta), SR sumariaba un área completa de memoria, etc.
EL EDITOR
Para permitir la carga del programa desde el teletipo, el CODIDAC tenía, obviamente, un editor de texto
pero, compuesto por ¡CIRCUITOS! No era, como correspondía, un programa de software: ¡Estaba
hecho en hardware, con compuertas y flip-flops! Para invocarlo se encontraba el respectivo
interruptor en la consola, identificado como "Función Programa", y también el "Botón de Corrección"
para deshacer entuertos tipográficos.
Nos pusimos a pensar que, después de todo, haber diseñado tremendo equipo y no poder hacer ni
"2+2" resultaba realmente inexcusable, así que MODIFICAMOS EL DISEÑO para incorporarle
el selector de Operaciones Inmediatas, que convertía al CODIDAC en ¡CALCULADORA!
(¿CALDIDAC?)
Y así fue. Ningún otro computador del planeta tuvo tal característica... Como se ve, no teníamos muy
clara la diferencia entre las calculadoras transistorizadas (las había HP, de escritorio: nada de bolsillo; eso
vino años después) y los computadores; también desconocíamos el aporte real que el software hubiera
podido hacer al proyecto... ¡Lo que tendríamos que haber hecho era un Programa “Calculadora ”!
LA ESTRUCTURA
La realización de la máquina fue del tipo serial, con lógica secuencial convencional, no
microprogramada. Era espectacular observar la entrada de la información en los registros
aritméticos, desplegados en la consola por medio de pequeñas luces de neón, rojas (¡no se habían
inventado los LEDs!). Primero entraba, por ejemplo, el multiplicando al Registro A, luego,
seleccionándolo mediante un conmutador de perilla, se veía el ingreso del multiplicador al Registro
B; después se veía cómo se generaba el producto, dígito a dígito sobre el Registro C y finalmente,
cómo salía el resultado por el otro extremo –información siempre serpenteante– para alojarse en
la memoria.
Teníamos selectores que permitían trabajar a máxima velocidad (¡600 Kilo Hertz!) o en lenta
animación para permitir el seguimiento del flujo de información con mayor claridad (¡habíamos
inventado el botón de "Turbo"!). Tenía, desde luego, un interruptor de paso a paso para seguir, pulso
a pulso, las secuencias internas; uno para detener la operación de un programa en cualquier
instante y otro para continuarla. Y no faltaba el Master Reset (que IBM eliminó con el
advenimiento del PS/2, porque sus máquinas dizque nunca jamás se congelarían... ¡mmm!)
DATOS ESTADÍSTICOS
Algunas cifras pueden ayudarnos a visualizar el tamaño del proyecto. Además de los 4.000 y pico
circuitos integrados se necesitaron 300 transistores, hicimos 200 tarjetas de circuito impreso;
pusimos 160.000 puntos de soldadura –cautín en ristre–, perforamos 155.000 agujeros con el
taladro de mano; hubo 16.000 cablecitos de alambre telefónico, con una longitud total superior a
los 2.500 metros, y se emplearon más de 5 kilos de soldadura de estaño.
Fueron diez las fuentes de alimentación, de 5 Voltios a 10 amperios cada una, amén de las fuentecitas
de voltajes elevados para manejar los neones, el teleimpresor, etc. Estaban todas alojadas en un gabinete
metálico independiente, y los dos disipadores principales tenían ¡la altura del gabinete! (como 1,70
metros). El consumo de nuestro “micro” estaba por encima de los 3 kilovatios y la generación de calor
hizo indispensable la colocación en el gabinete electrónico, de una pequeña turbina eléctrica para forzar
la circulación del aire, y de un poderoso ventilador alojado en la base del gabinete de alimentación.
Por cierto que en los primeros dibujos que hicimos para obtener de ellos los negativos fotográficos
necesarios para la confección de los circuitos impresos, empleamos "rapidógrafos" de tinta china, pero
luego vino la modernidad... y conseguimos en USA unas cintas adhesivas negras que se pegaban como
“pistas” en el papel, en vez de dibujarlas, y también unos “ojetes” o redondeles que iban en los sitios de
perforación, para permitir el paso de los terminales de los "chips" y otros componentes: ¡Diseño
ayudado por Calcomanías!
Nada. No ocurrió absolutamente nada… Nunca la desilusión ofreció tan palpable expresión...
Encontramos, días después, que en contra de todo lo esperado –dadas las pruebas estadísticas de
verificación de la calidad que habíamos realizado en un comienzo–, muchos de los circuitos
integrados estaban dañados. ¡Precisamente por no haber pasado el control de calidad era que
nos los habían regalado! Nos llevó dos meses más: desoldar, verificar, extender circuitos,
analizar y casi enloquecer, para que operara por fin el CODIDAC, como lo habíamos concebido.
Puedo decir que, de la inmensa cantidad de cables que conectamos, sólo cinco (5) de ellos estuvieron
mal ubicados, gracias al procedimiento de conexión y verificación inmediata que seguíamos, con dos
grupos de trabajo simultáneos: el que hacía el trabajo, y el otro que constataba inmediata e
independientemente que la actividad hubiera quedado hecho tal como se requería.
Para aceptar la publicación de la parte escrita era requisito presentar un borrador a máquina. Solo
la Unidad de Control, que yo mismo mecanografié en mi vieja máquina de escribir Rémington,
ocupó 1.000 páginas, con dos copias hechas usando papel carbón, una para el tutor y otra para nosotros.
Muy pocos pueden imaginarse el trabajo que eso significó. El libro, que fue editado en una
tipografía comercial, con todas las de la ley, y del que se imprimieron y repartieron 100 ejemplares,
contó con un total de 500 páginas. Aún tengo dos o tres ejemplares en mi biblioteca.
El primer programa que hice para la demostración era uno en el que el CODIDAC se presentaba a
sí mismo, escribiendo en el teleimpresor un texto que repetíamos en voz alta para la copiosa
audiencia; en un momento dado el CODIDAC simulaba que atendía al teléfono –ante el repique
previamente planificado del timbre del aparato–. El segundo programa lo escribí también para la
presentación, y consistía en un juego en el que ganaba quien, haciendo unas sumas, sucesivas y
alternativas de números del uno al diez, llegara primero al cien. Desde luego, ¡el CODIDAC
siempre ganaba! Fue interesantísimo porque varios profesores se sentaron a jugar un rato esa
noche ante el teletipo. Puede decirse que también fuimos pioneros en los juegos de computadores...
EPÍLOGO
Mucho se queda en “el tintero” acerca de la vivencia de ese año y medio de intenso trabajo, auto
coordinado, muy disciplinado, de los 12 estudiantes participantes: Los viajes dentro del país (NCR),
el de un mes de María Helena a Nueva York a comprar los componentes que faltaban (acababan
de inventar el monoestable SN74121, que resultó insustituible en nuestro diseño), el haber
conseguido cofinanciamiento de COLCIENCIAS para la edición del libro, y las ayudas recibidas de
mucha, muchísima gente, como el arquitecto Polo, diseñador del precioso mueble de agradables
tonalidades naranja y amarilla ("Big Orange ...", como contraposición al “Big Blue” que representa
a IBM); de Aluminios Wonder que manufacturó y nos obsequió los racks; Induacero que regaló
la consola; Siemens nos alquiló por un peso al año un télex moderno para la época, y aquella
inconmensurable cantidad de revisores, dibujantes, correctores de pruebas, linotipistas, fanáticos y
familiares, quienes nos dieron su soporte y nos brindaron su amistad para regocijarse ampliamente
con nosotros cuando alcanzamos la meta.
La ceremonia de grado fue de gran gala, exclusivamente para nuestro grupo de graduandos,
estrenando –casi– el nuevo teatro de la Universidad, y contó con la asistencia de tantos y tantos
seres queridos, ahora ausentes.
Uno de estos días Alejandro, mi hijo menor, viendo en televisión un documental sobre la historia
de la computación, en donde resaltaba el trabajo de Steve Jobs –el creador del Apple en un garaje–
me comentó: "¿Cómo es que Ustedes fueron tan parecidos en sus comienzos y el resultado fue tan
diferente?"
Realmente no lo sé. Me imagino que el garaje de Steve fue uno más orientado a los negocios, en
cambio que el nuestro lo fue más hacia lo académico. Yo estoy muy contento a pesar de todo, Steve. Sin
embargo, habría que reflexionar en cómo el entorno puede facultar o deprimir iniciativas del todo
similares, y rogar porque nuestro actual ambiente mejore de una vez por todas. Hay una enorme
potencialidad en este país, completamente derrotada en aras de la insanía social.
A mí el proyecto me sirvió para muchas otras cosas más: la Javeriana me ofreció mi primer
empleo, trabajo como profesor e investigador en el área de sistemas digitales; allí me ennovié con
Elízabeth, en unos cursos de actualización que este joven ingeniero dictó, muy orgulloso, a los
antiguos egresados, y por éstas mismas credenciales me contrató también la Universidad Simón
Bolívar en Venezuela. Y aquí estamos, 40 años después... Hicimos proyectos industriales de
avanzada, imbuidos con el orgullo de que nuestros productos fueron mejores que los de las
grandes corporaciones, y que hicimos un montón de cosas, ¡antes !
FOTOS
1) VISTA GENERAL
El gabinete principal es el que está a la derecha, con 4 racks (se ven dos, uno arriba del otro). En el
de abajo alcanza a verse la memoria de núcleos magnéticos de ferrita.
El tercer gabinete, pequeño, situado entre los otros dos, alberga las fuentes de alimentación.
2) VISTA GENERAL DESDE OTRO ÁNGULO
En el gabinete de las fuentes alcanza a verse un panel de control, con interruptores y borneras de
interposición, y las protecciones (crowbar)
3) ACERCAMIENTO
Cuatro Racks con conectores (peines). Hasta 17 por fila, pero no están todas las filas completamente
pobladas, y algunas tarjetas eran de doble altura (dos conectores). El rack inferior derecho es el de la
memoria: Los bastidores con los núcleos magnéticos (entre láminas protectoras de acrílico), las tarjetas
controladoras (corrientes y sensores), y adicionalmente, una fila con 100 palabras de almacenamiento
semiconductor, hechas con registros de desplazamiento normales, que quedaron sin utilizar al terminar el
diseño.
9) GABINETE PRINCIPAL, VISTA POSTERIOR
Sirve como indicativo de la cantidad de cables de interconexión (no utilizamos “Mother Borard”).
Resaltan los sensores remotos (cinco y cinco) para leer a distancia el valor de las 10 alimentaciones y
llevarlo luego hasta los reguladores. Así se garantizaban los voltajes EN el destino, a pesar de la
separación considerable entre los gabinetes de las fuentes y de la electrónica.
10) GABINETE DE MEMORIA DE NÚCLEOS MAGNÉTICOS
Los núcleos estaban localizados en cuatro (4) planos. Cada bastidor se alambró a mano, cruzando
un hilo de Excitación (corriente) horizontal, llamado X, otro vertical Y, uno de Inhibición para
cancelar la excitación en las posiciones no seleccionadas, y el de Lectura . Los núcleos eran de
20 mils (milésimas de pulgadas de diámetro)…
11) ACERCAMIENTO A LA MEMORIA DE NÚCLEOS MAGNÉTICOS
12) DETALLE DE LA UNIDAD DE CONTROL
Se ven abajo los transformadores (¡nada pequeños!); un poco más arriba el ventilador para forzar
el aire y, a continuación, las 10 fuentes.
15) GABINETE DE FUENTES (ACERCAMIENTO; VISTA ANTERIOR)
16) GABINETE DE FUENTES (VISTA POSTERIOR)
Se escogía una parte de la sección, que se colocaría en una tarjeta de circuito impreso. Se ve la
parte escogida, el dibujo hecho sobre lámina flexible de acrílico (tinta china y plumilla), y el
negativo fotográfico que se usaba para la exposición sobre la tarjeta de cobre.
19) MÉTODO DE ELABORACIÓN DE CIRCUITOS IMPRESOS (3)
En la siguiente lámina (23), también sacada del periódico El Espectador, aparezco señalando el
cableado en la parte trasera del mueble del procesador. Lo que se ve corresponde a una cuarta (1/4)
parte de ese mueble. Pueden así darse una idea aproximada de la altura y del tamaño físico del
CODIDAC.
24) LA GRADUACIÓN
Francisco Viveros Moreno, María Helena Vergara,
Luis Guillermo Uribe Cataño,
Álvaro Pinedo, Jorge Mahmud, Oscar Flores,
Félix Castro, Carlos Camacho, Alfonso Cahueñas Vizcaíno,
Edgar Bernal, Ramiro Arias Restrepo, Mansur Arévalo.
Mantener durante 18 meses, sin ning una guía o conducción por parte de la universidad:
La Disciplina dentro del grupo de trabajo formado por 12 muchachos de 20 años
La Coordinación para que todas las unidades encajaran:
Control de fan-out , para que las diversas líneas que se generaban en una unidad, y se
usaban en otra, no se deterioraran por exceso de carga, o capacitancias parásitas (se
utilizó un Libro de Contabilidad, con entradas y salidas para cada señal)
Sincronismo, para que las unidades diseñadas por un grupo de trabajo, recibieran las
líneas de Control , generadas por otro grupo
Que los datos vinieran de la memoria (un grupo distinto)
Y los resultados fueran a parar apropiadamente al impresor (unidad aparte)
Se tomara correctamente la información desde el teclado (unidad de entrada)
Que las fuentes estuvieran cada una dentro de su rango de suministro de corriente
Que las tarjetas midieran lo mismo, y sus conectores calzaran perfectamente
Y que las interconexiones se hicieran con método , porque de lo contrario, todavía
estaríamos buscando cables mal colocados
Que todos trabajaran más o menos parejo, que no se recargaran unos en otros
No fue nada fácil …
Ing. Luis Guillermo Uribe Cataño
Revisiones: Marzo de 2016; Marzo de 2012. Publicado por la Javeriana, 2011 y Tekhne, UCAB.