CoDiDac

download CoDiDac

of 10

Transcript of CoDiDac

  • 8/7/2019 CoDiDac

    1/10

    EL CODIDAC, COMPUTADOR DIGITAL DIDCTICO.LOS ORGENES

    Finalizaba 1969, ltimo ao de mi carrera; la compaa norteamericana Texas Instruments habadonado a la Facultad de Electrnica una caja con ms de 4.000 circuitos digitales integrados, TTLen su mayora. El decano de entonces, ingeniero Sandro Sandri nuestro profesor de TcnicasDigitalespens que sera interesante construir un "simulador" de un computador, con propsitosdidcticos, que sirviera para demostrar a los estudiantes el funcionamiento de tales dispositivos, yas lo propuso como tema de Tesis. Hay que mencionar, a modo de ambientacin histrica, quepor esos aos los computadores eran escassimos en Colombia, y en el rea acadmica slo dosuniversidades los posean; si mi memoria no me abandona, stos eran el IBM 360/44 de laUniversidad de los Andes, en el que practicbamos el FORTRAN, y el IBM 650, antigualla de laUniversidad Nacional, que luego cambi por un 1401 en el que posteriormente aprend PL/I,programacin lineal y cmo hacer compiladores.EL ENTRENAMIENTO

    El tema propuesto por la facultad tena varios alicientes, siendo el patrocinio institucional unobien importante. Hacia noviembre del 69 nos habamos inscrito ya en el proyecto las 12 personasrequeridas, y comenz la etapa de diseo, que dur 6 meses. Nuestra aproximacin original

    consisti en que sera tan difcil simular un computador como realizarlo de verdad, por lo cualdecidimos olvidarnos del "simulador" y hacer uno real: el "Computador Digital Didctico",CODIDAC.Un reto que encarbamos tena que ver con el hecho de que los dispositivos electrnicos en losque habamos sido adiestrados durante los 5 aos anteriores, eran primordialmente tubos ovlvulas de vaco, y el proyecto requera la aplicacin de la tecnologa de los circuitos integrados,desconocida por nosotros, y que era dos niveles superior a la otra, pasando por encima de lostransistores. Adems, tanto nuestros conocimientos en el rea como la bibliografa a la quetenamos acceso eran exiguos e insuficientes; libros clsicos como el de Ivn Flores hacanreferencia a mtodos y procedimientos empleados una dcada atrs, o ms, y resultaban superadosy completamente inaplicables.

    A buena hora logramos que la NCR en Medelln nos aceptara para darnos un entrenamientoterico-prctico en sus instalaciones; all nos mostraron desinteresadamente lo que eran loscomputadores NCR de esa poca: por fin vimos uno de cerca, y hasta pudimos tocarlo porprimera vez.

  • 8/7/2019 CoDiDac

    2/10

    LA ARQUITECTURA

    Empezada, pues, la etapa de diseo, definimos en primer lugar la Arquitectura: El computadortendra una consola de operador, que albergara el teletipo o tlex Olivetty, vieja reliquia italiana,color verde militar, proveniente de la segunda guerra mundial, que se encontraba arrumada en ellaboratorio de Comunicaciones y que permitira tanto suministrarle datos al computador, medianteel teclado, como imprimir sus resultados en el clsico rollo de papel. La automatizacin para laintroduccin de informacin en mayores volmenes (bibliotecas de funciones, bases de datos) sehara mediante el lector adjunto de cinta de papel perforada. Adems, habra un tablero para eldespliegue de la informacin interna ms sobresaliente: registros, direcciones e instrucciones, yuna botonera para los interruptores de encendido y dems funciones que no fuera prctico realizardesde el teletipo.LAS IN STRUCCIONES

    El conjunto de instrucciones que ejecutara el computador fue diseado cuidadosamente, e incluycomandos para lectura de datos, impresin, las cuatro operaciones aritmticas, toma de decisionesy bifurcacin en el flujo de control, desplazamientos de informacin a derecha e izquierda,movimiento de datos entre diversas posiciones de memoria, borrado, espera y parada ofinalizacin. Un total de 14 instrucciones, todas codificadas en castellano. Nuestra aproximacinera, desde luego, que el CODIDAC pudiera realizar las operaciones que se programaban en elFORTRAN de la poca, que era, por cierto, FORTRAN a secas; no haba an ni FORTRAN II, oFORTRAN IV, slo FORTRAN!

    La belleza y el podero de las instrucciones del CODIDAC, que lo diferencian de cualquier otrocomputador, puede apreciarse en primer lugar, en la existencia de Clases de Informacindefinidas al nivel del lenguaje de mquina. Permtanme explicar esto un poco mejor. En loscomputadores convencionales, tipo Von Neumann, la naturaleza de un elemento de informacinno le es inherente; el significado se lo proporcionan las instrucciones que lo manipulan. As, por

    ejemplo, si sumo A con B, es la instruccin de suma la que les concede significacin numrica alas variables involucradas; pero si el programador hubiera almacenado un texto en esas posicionesA y B, el computador no tendra forma de saberlo

    En nuestro caso no era as! Por ejemplo, la instruccin para desplazar informacin lo haca deuna manera, si el operando contena un nmero, y de otra muy diferente si representaba un texto.En caso de nmeros, el resultado siempre era un nmero; desplazar, digamos, un nmeronegativo, produca otro nmero negativo. En caso de textos, el resultado siempre era un texto.

    Incluso las Instrucciones pertenecan a una Clase! lo que permita realizar con ellas operacionesaritmticassobre los campos numricos correspondientes a las direcciones de los operandosa

    fin de facilitar la manipulacin de subndices, estructuras, etc.LOS MODIFICADORES

    Un segundo aspecto sobresaliente era la forma como un modificador cambiaba las operaciones, desimples a repetitivas. Se poda as, con una sola instruccin de mquina (IM: IMprima), imprimir unnico valor o tambin un rango completo de resultados (IR: Imprima Repetitivamente).

  • 8/7/2019 CoDiDac

    3/10

    EL SUBSISTEMA DE ENTRADA Y SALIDA

    He aqu otra faceta importantsima: El subsistema de Entrada y Salida formaba parte intrnsecade la Arquitectura del procesador, con instrucciones especficas, ms poderosas que el INPUT oPRINT de ciertos lenguajes de alto nivel como el Basicy muy superiores al IN y al OUT desimples registros, que figuran en los microprocesadores actuales. Solo arquitecturas muy complejasincluyeron alguna vez instrucciones para el manejo de "canales" de entrada y salida.

    Tamaa sorpresa me llev cuando estudi el novedoso mini computador PDP-11, cuatro aos despus,y no encontr por ninguna parte las instrucciones de entrada y salida!

    LOS CDIGOS DE OPERACIN

    Como el aspecto didctico era preeminente, los cdigos de operacin tuvieron una basemnemnica de fcil comprensin y recordacin. Cuando dos palabras designaban un comando, setomaba la primera letra de cada una para conformar dicho cdigo, que era inteligible por lamquina as, directamente, sin mediar ni compilacin ni ensamblaje ni traduccin entre lossmbolos y el mdulo objeto. Era una mquina cuasi simblica. As por ejemplo, "AcepteInformacin" se codificaba como "AI", y eran esas mismas letras, la 'A' y la 'I', en cdigo baudotde 5 bits, las que se almacenaban dentro de la memoria del CODIDAC como Cdigo deInstruccin.

    Si el comando estaba designado por una sola voz imperativa, como "SUME", por ejemplo, elcdigo se conformaba con las dos (2) primeras letras: "SU".

    Y si se requera el modificador de iteracin para ejecutar repetidas veces una instruccin, se reemplazabala segunda letra por una R; por ejemplo: AReraAcepte informacin de manera Repetitiva (desde,hasta), SRsumariaba un rea completa de memoria, etc.

    EL EDITOR

    Para permitir la carga del programa desde el teletipo, el CODIDAC tena, obviamente, un editor de textopero, compuesto por CIRCUITOS! No era, como corresponda, un programa de software: Estabahecho en hardware, con compuertas y flip-flops! Para invocarlo se encontraba el respectivointerruptor en la consola, identificado como "Funcin Programa", y tambin el "Botn de Correccin"para deshacer entuertos tipogrficos.

    EL FORMATO DE LOS NMEROS

    La informacin numrica bsica se representaba en NBCD (ahora conocido como BCD), empleando la

    inusual alternativa de signo y magnitud, y era de "formato fijo": El nmero de cifras decimales sepreestableca, mediante selectores en la consola, yendo desde ningn decimalpara nmeros enteros, hasta"11" decimales. En cada "palabra", o posicin elemental de memoria, caban 12 dgitos BCD, en el casode nmeros, o 16 letras si se trataba de textos. La unidad de salida imprima la Coma de los nmerosen la posicin decimal designada, y obviaba la escritura de ceros no significativos a la izquierda delpunto; es decir, que el FORMAT estaba tambin incluido en la electrnica!

  • 8/7/2019 CoDiDac

    4/10

    LA CALCULADORA

    Sobrecogedora result, ante nuestra inexperiencia, la pregunta que alguien nos hiciera un dacuando muy entusiasmados le mostrbamos el diseo funcional, por ah a los 5 meses decomenzado el proyecto. "Y cmo hago para sumar dos nmeros?" Le explicamos que, desdeluego, se haca un programa que se almacenaba primero en la memoria y que incluirainstrucciones para leer los dos nmeros, sumarlos, imprimirlos y detenerse. "Todo eso parasumar 2 ms 2?" Lo que l esperaba era poder escribir "2 + 2" y obtener un resultado... Querauna calculadora!

    Nos pusimos a pensar que, despus de todo, haber diseado tremendo equipo y no poder hacer ni"2+2" resultaba realmente inexcusable, as que MODIFICAMOS EL DISEO para incorporarleel selector de Operaciones Inmediatas, que converta al CODIDAC en CALCULADORA!(CALDIDAC?)

    Y as fue. Ningn otro computador del planeta tuvo tal caracterstica... Como se ve, no tenamos muy

    clara la diferencia entre las calculadoras transistorizadas (las haba HP, de escritorio: nada de bolsillo; esovino aos despus) y los computadores; tambin desconocamos el aporte real que el software hubierapodido hacer al proyecto... Lo que tendramos que haber hecho era un Programa Calculadora!

    LA ESTRUCTURA

    La realizacin de la mquina fue del tipo serial, con lgica secuencial convencional, nomicroprogramada. Era espectacular observar la entrada de la informacin en los registrosaritmticos, desplegados en la consola por medio de pequeas luces de nen, rojas (no se habaninventado los LEDs!). Primero entraba, por ejemplo, el multiplicando al Registro A, luego,seleccionndolo mediante un conmutador de perilla, se vea el ingreso del multiplicador al RegistroB; despus se vea cmo se generaba el producto, dgito a dgito sobre el Registro C y finalmente,

    cmo sala el resultado por el otro extremo informacin siempre serpenteantepara alojarse enla memoria.

    Tenamos selectores que permitan trabajar a mxima velocidad (600 Kilo Hertz!) o en lentaanimacin para permitir el seguimiento del flujo de informacin con mayor claridad (habamosinventado el botn de "Turbo"!). Tena, desde luego, un interruptor de paso a paso para seguir, pulsoa pulso, las secuencias internas; uno para detener la operacin de un programa en cualquierinstante y otro para continuarla. Y no faltaba el Master Reset (que IBM elimin con eladvenimiento del PS/2, porque sus mquinas dizque nunca jams se congelaran... mmm!)DATOS ESTADSTICOS

    Algunas cifras pueden ayudarnos a visualizar el tamao del proyecto. Adems de los 4.000 y picocircuitos integrados se necesitaron 300 transistores, hicimos 200 tarjetas de circuito impreso;pusimos 160.000 puntos de soldadura cautn en ristre, perforamos 155.000 agujeros con eltaladro de mano; hubo 16.000 cablecitos de alambre telefnico, con una longitud total superior alos 2.500 metros, y se emplearon ms de 5 kilos de soldadura de estao.

  • 8/7/2019 CoDiDac

    5/10

    Fueron diez las fuentes de alimentacin, de 5 Voltios a 10 amperios cada una, amn de las fuentecitasde voltajes elevados para manejar los neones, el teleimpresor, etc. Estaban todas alojadas en un gabinetemetlico independiente, y los dos disipadores principales tenan la altura del gabinete! (como 1,70metros). El consumo de nuestro micro estaba por encima de los 3 kilovatios y la generacin de calor

    hizo indispensable la colocacin en el gabinete electrnico, de una pequea turbina elctrica para forzarla circulacin del aire, y de un poderoso ventilador alojado en la base del gabinete de alimentacin.

    LAS PRUEBAS EN FRO

    Terminado el diseo se generaron los diagramas elctricos y de conexin para todos lossubsistemas, y en reuniones plenarias del grupo de trabajo se verific en fro, a lpiz, pulso apulso de reloj, el comportamiento esperado del conglomerado, antes de proceder a la realizacinde los circuitos impresos. No haba programas de simulacin tales como Spice...

    Por cierto que en los primeros dibujos que hicimos para obtener de ellos los negativos fotogrficosnecesarios para la confeccin de los circuitos impresos, empleamos "rapidgrafos" de tinta china, pero

    luego vino la modernidad... y conseguimos en USA unas cintas adhesivas negras que se pegaban comopistas en el papel, en vez de dibujarlas, y tambin unos ojetes o redondeles que iban en los sitios deperforacin, para permitir el paso de los terminales de los "chips" y otros componentes: Diseoayudado por Calcomanas!

    EL CONGRESO DE INGENIEROS JA VERIANOS

    La culminacin de la parte terica del diseo coincidi con el Primer Congreso de Ingenieros de laUniversidad; el comit organizador, habiendo odo por all de nuestro proyecto, tuvo la gentilezade invitarnos a presentrselos en una de las sesiones de trabajo, a pesar de que nosotros no ramostodava ingenieros diplomados. Hicimos una preparacin intensiva, llevamos un montn de hojaspara el viejo rota folios, de puo y letra de un arquitecto amigo que siempre nos criticaba

    sealando que los ingenieros tenamos la mana de la simetra. Realmente l saba su oficio, y elmaterial que nos elabor (no haba Power Point...) qued bastante presentable.

    Muy orondos atendimos a nuestra comparecencia ante el conglomerado de ingenieros, quienesnos aplaudieron de manera por dems entusiasta. No cabamos de orgullo hasta que,intempestivamente, el nuevo decano de la Facultad, Hernando Correa, tom la voz paradescalificarnos en pblico, diciendo que no haba forma ni manera posibles de hacer uncomputador en el pas. Su voz resuena an en mis odos, 40 aos despus, y yo s que tambin enel de mis cada vez ms atnitos compaeros: "Hay qu ver si funciona...", chill ante la granaudiencia. "Y es ms, si no funciona, ustedes no se gradan; yo se los garantizo!".

    Increble, verdad? Podra la Academia habernos propuesto un tema de tesis inviable? Y si elproyecto s era factible, cul era el sentido de tamao anatema? Hasta ese da, jams se nos habapasado por la cabeza, ni remotamente, que nuestro proyecto pudiera no funcionar Lo cierto esque el reto de Correa sirvi, ms que ningn otro factor individual, como acicate para quellevramos a feliz culminacin el proyecto.

  • 8/7/2019 CoDiDac

    6/10

    EL PRIMER ENCENDIDO

    Habiendo terminado de construir el artefacto, e interconectado que hubimos todos lossubsistemas en el garaje de nuestro compaero Francisco Viveros (recuerdan el nacimiento de Apple,en un garaje, o el de la HP?), nos reunimos un da de octubre de 1970 los 12 del patbulo, como se noshaba sentenciado, y hacia las 7 de la noche lo encendimos; le suministr las primeras instruccionesdesde la consola, sentado ante el teleimpresor: "Master Reset, Funcin Programa, Inicie"...

    Nada. No ocurri absolutamente nada Nunca la desilusin ofreci tan palpable expresin...

    Encontramos, das despus, que en contra de todo lo esperadodadas las pruebas estadsticasde verificacin de la calidad que habamos realizado en un comienzo, muchos de los circuitosintegrados estaban daados. Precisamente por no haber pasado el control de calidad era quenos los haban regalado! Nos llev dos meses ms: desoldar, verificar, extender circuitos,analizar y casi enloquecer, para que operara por fin el CODIDAC, como lo habamos concebido.

    Puedo decir que, de la inmensa cantidad de cables que conectamos, slo cinco (5) de ellos estuvieronmal ubicados, gracias al procedimiento de conexin y verificacin inmediata que seguamos, con dosgrupos de trabajo simultneos: el que haca el trabajo, y el otro que constataba inmediata eindependientemente que la actividad hubiera quedado hecho tal como se requera.

    SUMMA CUM LAUDAE

    Hubo nuevas directivas en la facultad, Rodrigo Meja y Jos Gabriel Maldonado, y no tardaronmucho en percatarse de la magnitud y la importancia de nuestro trabajo. Nos ofrecieron un salnen las instalaciones de la facultad, para uso nuestro exclusivo, a fin de que abandonramos elgaraje y finalizramos el trabajo dentro del recinto universitario, de donde jams debi salir; noscondonaron una pequea deuda, a manera de ayuda financiera para nuestros ya muy exiguos

    presupuestos (o el de nuestros padres, quiero decir), y Alfonso Charum, nuestro valiente tutor dela Universidad Nacional, quien sin conocer mucho del tema puso en juego su prestigio profesionalen el afn de ayudarnos, solicit que se nos otorgara el ttulo Summa cum Laudae, peticin a lacual la Universidad accedi.

    Por mi parte, all zanjamos diferencias la institucin y yo.LA PRESENTACIN EN SOCIEDAD

    Habindolo visto extraoficialmente todo el claustro profesoral, concurrimos finalmente a lapresentacin formal y defensa de la tesis, con todo el diseo, planos, circuitos, anlisis,aproximaciones, y hasta unos programas de demostracin.

    Para aceptar la publicacin de la parte escrita era requisito presentar un borrador a mquina. Solola Unidad de Control, que yo mismo mecanografi en mi vieja mquina de escribir Rmington,ocup 1.000 pginas, con dos copias hechas usando papel carbn, una para el tutor y otra para nosotros.Muy pocos pueden imaginarse el trabajo que eso signific. El libro, que fue editado en unatipografa comercial, con todas las de la ley, y del que se imprimieron y repartieron 100 ejemplares,cont con un total de 500 pginas. An tengo dos o tres ejemplares en mi biblioteca.

  • 8/7/2019 CoDiDac

    7/10

    El primer programa que hice para la demostracin era uno en el que el CODIDAC se presentaba as mismo, escribiendo en el teleimpresor un texto que repetamos en voz alta para la copiosaaudiencia; en un momento dado el CODIDACsimulaba que atenda al telfono ante el repiquepreviamente planificado del timbre del aparato. El segundo programa lo escrib tambin para lapresentacin, y consista en un juego en el que ganaba quien, haciendo unas sumas, sucesivas yalternativas de nmeros del uno al diez, llegara primero al cien. Desde luego, el CODIDACsiempre ganaba! Fue interesantsimo porque varios profesores se sentaron a jugar un rato esanoche ante el teletipo. Puede decirse que tambin fuimos pioneros en los juegos de computadores...EPLOGO

    Mucho se queda en el tintero acerca de la vivencia de ese ao y medio de intenso trabajo, autocoordinado, muy disciplinado, de los 12 estudiantes participantes: Los viajes dentro del pas, el deun mes de Mara Helena a Nueva York a comprar los componentes que faltaban (acababan deinventar el monostable SN74121, que result insustituible en nuestro diseo), el haber conseguidocofinanciamiento de COLCIENCIAS para la edicin del libro, y las ayudas recibidas de mucha,

    muchsima gente, como el arquitecto Polo, diseador del precioso mueble de agradablestonalidades naranja y amarilla ("Big Orange...", para contraponerlo al Big Blue que representaa IBM); de Aluminios Wonder que manufactur y nos obsequi los racks; Induacero que regal laconsola, y aquella inconmensurable cantidad de revisores, dibujantes, correctores de pruebas,linotipistas, fanticos y familiares, quienes nos dieron su soporte y nos brindaron su amistad pararegocijarse ampliamente con nosotros cuando alcanzamos la meta.

    La ceremonia de grado fue de gran gala, exclusivamente para nuestro grupo de graduandos,estrenando casiel nuevo teatro de la Universidad, y cont con la asistencia de tantos y tantosseres queridos, ahora ausentes.

    La prensa recogi la noticia: "Computador hecho en garaje", "Primer computador hecho en elpas". An conservo los artculos del Espectador de Bogot y de algunos diarios de Medelln.

    Uno de estos das Alejandro, mi hijo menor, viendo en televisin un documental sobre la historiade la computacin, en donde resaltaba el trabajo de Steve Jobsel creador del Apple en un garajeme coment: "Cmo es que Ustedes fueron tan parecidos en sus comienzos y el resultado fue tandiferente?"

    Realmente no lo s. Me imagino que el garaje de Steve fue uno ms orientado a los negocios, encambio que el nuestro lo fue ms hacia lo acadmico. Yo estoy muy contento a pesar de todo, Steve. Sinembargo, habra que reflexionar en cmo elentorno puede facultar o deprimir iniciativas del todosimilares, y rogar porque nuestro actual ambiente mejore de una vez por todas. Hay una enormepotencialidad en este pas, completamente derrotada en aras de la insana social.

    A m el proyecto me sirvi para muchas otras cosas ms: la Javeriana me ofreci mi primerempleo, trabajo como profesor e investigador en el rea de sistemas digitales; all me ennovi conElzabeth, en unos cursos de actualizacin que este joven ingeniero dict, muy orgulloso, a losantiguos egresados, y por stas mismas credenciales me contrat tambin la Universidad Simn

  • 8/7/2019 CoDiDac

    8/10

    Bolvar en Venezuela. Y aqu estamos, 40 aos despus... Hicimos proyectos industriales deavanzada, imbuidos con el orgullo de que nuestros productos fueron mejores que los de lasgrandes corporaciones, y que hicimos un montn de cosas, antes!FOTOS

    Consola

    Pueden apreciar el teleimpresor y su sistema adjunto de perforacin y alimentacin de cinta de

    papel, y en el panel lateral, vertical, un cono para cada uno de los 14 comandos, el indicador

    de direcciones (Program Counter, arriba a la derecha, en Nixies), la botonera a la altura de la

    mesa; el registro en que se desplegaba la informacin interna del procesador, y nuestra cara de

    felicidad. La foto es del diario El Espectador de Bogot, del viernes 19 de febrero del 71.

    En la siguiente lmina, tambin de El Espectador, aparezco sealando 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 tamao fsico del CODIDAC..

  • 8/7/2019 CoDiDac

    9/10

  • 8/7/2019 CoDiDac

    10/10

    La Graduacin

    Francisco Viveros Moreno, Mara Helena Vergara,

    Luis Guillermo Uribe Catao,

    Alvaro Pinedo, Jorge Mahmud, Oscar Flrez,

    Flix Castro, Carlos Camacho, Alfonso Cahueas Vizcano,

    Edgar Bernal, Ramiro Arias Restrepo, Mansur Arvalo.