La calculadora programable Programma 101

Antonio Estrella Contreras

La Programma 101 va sorgir en 1964 i la seua construcció estava basada en components discrets sent els transistors el més important d’ells. En aquesta mateixa dècada els computadors eren d’una grandària considerable i estaven orientats a usuaris molt especialitzats.

PROGRAMMA 101

Prema la imatge per a ampliar

L’Olivetti Programma 101

Vídeo de l’Olivetti Programma 101

DESENVOLUPAMENT I PRESENTACIÓ

En la primavera de 1962 Roberto Olivetti, el llavors president de la companyia italiana Olivetti, va donar instruccions a l’enginyer Pier Giorgio Perotto per iniciar l’estudi de viabilitat d’una calculadora electrònica capaç d’automatitzar una seqüència d’instruccions, la qual hauria d’estar a l’abast d’un usuari no especialitzat, a un preu raonable i que tingués unes dimensions reduïdes paregudes a les d’una màquina d’escriure.

Pier Giorgio Perotto va idear una màquina, xicoteta, flexible, amb memòria, fàcil utilitzar i programable mitjançant d’un llenguatge de programació senzill perquè qualsevol persona poguera programar-la, bàsicament era com un ordinador personal.

Per a exercir l’encàrrec, Perotto va crear un equip de desenvolupament amb quatre homes més; Gastone Garziera, Giovanni De Sandre, Giancarlo Toppi i Giuliano Gaiti.

Equip de desenvolupament
Prema la imatge per a ampliar

L’equip de desenvolupament amb el segon prototip de la Programma 101. (Agost de 1964)

D’esquerra a dreta i de dalt a baix: Gastone Garziera, Giancarlo Toppi, Pier Giorgio Perotto i Giovanni De Sandre. Giuliano Gaiti no apareix perquè va ser qui va realitzar la fotografia amb la càmera de Perotto.

Cortesia d’Associazione Archivio Storico Olivetti, Ivrea, Italia.

Dos punts molt importants per aconseguir l’èxit del projecte va ser, d’una banda, substituir les memòries existents al moment per memòries de línia de retard acústica magnetostrictiva, ja que era una bona opció per la seua grandària, senzillesa i cost. D’altra banda, es va utilitzar els nous (en aquell moment) transistors 2N708 que junt amb la seua mida reduïda no tenien tants problemes de sobrecalfament i fiabilitat com les vàlvules de buit que s’utilitzaven fins al moment, a més que la seua vida útil era excel·lent.

El treball de l’equip de desenvolupament de la Programma 101 va finalitzar la seua tasca a l’abril de 1964 –dos anys de treball– aconseguint un producte que seria el començament de la història dels PC (Personal Computer) o ordinadors personals i que van batejar, per motius de màrqueting, amb un nom femení, ”Programma 101”

A l’octubre de 1965 va tindre l’ocasió de donar-se a conéixer en l’Exposició Universal de Nova York BEMA, en ella es va realitzar una presentació de la Programma 101 dirigida a usuaris no especialitzats en informàtica on es calculava l’òrbita d’un satèl·lit al voltant de la Terra.

Exposició Universal de Nova York de 1965
Prema la imatge per a ampliar

Presentació de la Programma 101 en l’Exposició Universal de Nova York de 1965.

Cortesia d’Associazione Archivio Storico Olivetti, Ivrea, Italia.

Vídeo de la presentació de la Programma 101 en l’Exposició Universal de Nova York de 1965.

REPERCUSSIÓ: PREMSA I PUBLICITAT

L’èxit que la Programma 101 va arribar a tindre en l’Exposició Universal de Nova York va ser immediatament captada per la premsa nord-americana que ràpidament es va fer eco de l’aparició d’una computadora de sobretaula.

Retalls de premsa americana
Prema la imatge per a ampliar

Retalls de premsa americana sobre la Programma

Clic ací per a més detall

Olivetti va aprofitar el moment per a llançar una campanya publicitària de la Programma 101 per tot el món i a Espanya va tindre un espai entre la publicitat d’aquella època.

Publicitat en mitjans espanyolsPublicitat en mitjans espanyols
Prema les imatges per a ampliar

Publicitat en mitjans espanyols de la Programma 101.

La Programma 101 va arribar a nombrosos àmbits on mai abans s’havia conegut l’ús d’ordinadors com és el cas, entre altres, de la medicina, xicotetes empreses, estudiants, topògrafs i va arribar a introduir-se exitosament dins de la vida quotidiana de les persones, quelcom inimaginable per a les grans computadores que en eixe moment existien.

Un altre ús que se li va donar a la Programma 101 va ser en la planificació d’operacions bèl·liques en la Guerra de Vietnam per part de les forces aèries nord-americanes, més concretament per a calcular coordenades en els bombardejos dirigits des de terra del B-52 Stratofortress.

L’agència espacial nord-americana NASA va comprar en 1966 més de 10 unitats que va utilitzar en l’elecció de punts d’aterratge i en el càlcul de les maniobres d’allunament de la missió Apol·lo 11 que en juliol de 1969 va portar a l’home a la lluna per primera vegada.

Missió Apol·lo 11Missió Apol·lo 11
Prema les imatges per a ampliar

Participació de la Programma 101 en la missió Apol·lo 11 de la NASA.

Cortesia d’Associazione Archivio Storico Olivetti, Ivrea, Italia.

TIPUS D’ELECTRÒNICA I MEMÒRIA

En aquell moment encara no existien els circuits integrats i utilitzant components electrònics discrets com; díodes, resistències, condensadors i transistors, l’equip de desenvolupament havia de ser capaç de construir aquesta màquina. Davant d’aquest repte els desenvolupadors van idear una memòria de línia de retard acústica magnetostrictiva amb fil d’aram metàl·lic. Aquest és un tipus de memòria que s’ha d’actualitzar (o refrescar) i és seqüencial, al contrari a les memòries actuals que són aleatòries.

Aquest tipus de memòria principalment consistix en un fil d’aram metàl·lic enrotllat per a aconseguir una àmplia longitud –6,5 metres en el cas de la Programma 101– ocupant el menor espai possible i connectat a aquest fil d’aram es troben uns transceptors formats per material piezoelèctric que converteixen senyals elèctrics en ones acústiques i viceversa.

Prototip de memòria de línia de retard acústica magnetostrictiva
Prema la imatge per a ampliar

Prototip de memòria de línia de retard acústica magnetostrictiva que es va construir en la primavera de 1962.

Es compon d’un fil d’aram metàl·lic d’una longitud de 1280 metres, dos bobines –color roig– com transductors per a l’escriptura i una bobina –color groc– com transductor per a la lectura. Aquest prototip tenia una capacitat de 256 bits i un retard de 256 microsegons.

Cortesia d’Associazione Archivio Storico Olivetti, Ivrea, Italia.

La unitat de memòria de la Programma 101 va ser construïda amb la tecnologia descrita, tenia una grandària de 18 x 19 x 2 cm, molt reduït en comparació a les memòries dels grans computadors existents en eixa època. Aquesta memòria tenia una capacitat per a emmagatzemar un total de 240 caràcters en codificació BCD on cada dígit decimal és codificat amb 4 bits tenint, per tant, una capacitat de memòria total de 960 bits.

Unitat de memòria
Prema la imatge per a ampliar

Unitat de memòria de la Programma 101.

TARGETA MAGNÈTICA

Altres de les novetats que incorporava la Programma 101 van ser les targetes magnètiques, les quals donaven la possibilitat de ser utilitzades com a mitjà d’emmagatzematge permanent. Els desenvolupadors van idear les dites targetes i el seu corresponent dispositiu de lectura/escriptura així com el mètode per mitjà de programació per a poder ser utilitzades. Fins al moment només es disposava de grans i pesats rotllos de cinta magnètica, no es disposava d’este tipus de mitjans ni la possibilitat d’emmagatzemar programes i dades amb una grandària tan reduïda.

A partir de l’aparició de les targetes magnètiques de la Programma 101 altres fabricants de computadors, com per exemple IBM, van copiar la idea i va ser evolucionant fins a arribar a desenvolupament dels disquets i tots els mitjans magnètics que s’utilitzen en l’actualitat.

Targeta magnèticaTargeta magnètica
Prema les imatges per a ampliar

Targeta magnètica de la Programma 101 i el seu mode d’utilització.

Vídeo de la targeta magnètica creada per a la Programma 101 i el seu mode d’utilització.

DISSENY

Un altre punt important d’aquesta màquina van ser les seues dimensions i aspecte, ja que fins al moment totes les computadores eren molt grans i en cap cas tenien una estètica agradable. L’equip de desenvolupadors va aconseguir construir la Programma 101 amb una grandària de 48 x 61 x 19 cm i un pes de 35,5 quilograms. L’estètica i ergonomia, que mai abans s’havien tingut en compte en el disseny d’aquest tipus de màquines, va ser encarregada personalment pel president de l’empresa Roberto Olivetti a l’arquitecte i dissenyador italià Mario Bellini. Havia d’aconseguir una màquina que es convertira en un objecte personal que interaccionara amb els usuaris i fora de fàcil comprensió.

El disseny creat per a la Programma 101 va ser tan revolucionari que va ser exposada en el Museu d’Art Modern de Nova York. Bellini va haver d’integrar en el seu disseny parts de la Programma 101 com el teclat, la roda de decimals per a indicar la precisió de les operacions aritmètiques, un display format per dos llums un verd per a les confirmacions i una roja per als errors, a més d’una impressora que mostra informació d’eixida sobre un rotllo de paper.

El disseny de la Programma 101 va estar orientat a un usuari que no tinguera grans coneixements en informàtica per a així, poder estendre el seu ús a tots els àmbits possibles. En aquest aspecte, Olivetti va canviar la filosofia que hi havia fins llavors en el que el perfil dels usuaris de les computadores existents era aquell on els usuaris eren personal molt especialitzat i amb amplis coneixements en la màquina que s’utilitzava usant-se només en àmbits molt restringits.

REGISTRES I MEMÒRIA

La memòria de la Programma 101 es dividix en 10 registres de 24 caràcters o dígits cada u, gràcies als quals la seua capacitat de còmput era molt elevada per a l’època en què va aparéixer.

Dos d’aquests registres estan reservats per al programa tenint entre els dos una capacitat per a 48 instruccions destinant-se la resta de registres –denominats M, A, R, B, C, D, E i F– a l’emmagatzematge de dades repartint la seua capacitat en 22 dígits per a la dada en si, un altre per a indicar la posició del punt decimal i l’últim per al signe.

Tres d’eixos –M, A i R– tenen un paper especial en el funcionament de la Programma 101; el M és l’encarregat de guardar les entrades que proporciona el teclat i distribuir eixa informació al registre adequat; el A fa la funció d’acumulador i en ell es guarden i retenen els resultats de les operacions realitzades; en el R ens trobem amb el resultat de les operacions aritmètiques que s’hagen realitzat actualitzant-se després de la finalització de cada una d’elles.

Altres tres –D, E i F– poden emmagatzemar instruccions en el cas que el codi de programació siga molt llarg sumant-los amb els dos registres destinats a instruccions, d’aquesta manera obtenim un total de 120 instruccions –nombre màxim que pot manejar–. Tant aquests tres, com els dos registres restants destinats exclusivament a emmagatzemar dades poden ser dividits en dos trobant-nos en una situació en què podrem guardar onze dades amb decimal i signe. En el cas de la divisió, els registres són referenciats com a b, B, c, C, d, D, e, E, f i F. Aquesta divisió es realitza per mitjà del comandament ”/” de tal forma que B/ = b

Configuracions registres
Prema la imatge per a ampliar

Possibles configuracions que ens permeten els registres de la Programma 101.

JOC D’INSTRUCCIONS

Per a poder ser programada la Programma 101 disposa d’un joc d’instruccions amb 16 comandaments. A continuació es descriuen i classifiquen segons els seus respectius propòsits:

GENERALS
”S” (Stop/Start) Espera que s’introduïsca per teclat una vàlua/Reprén l’execució.
”*” (Clear) Esborra el contingut del registre especificat.
”◊” (Print) Imprimeix el contingut del registre especificat.
TRANSFERÈNCIA DE DADES
” (To A) Passa el contingut del registre especificat a l’acumulador.
” (From M) Trasllada el contingut de M al registre especificat.
” (Exchange) Intercanvia el contingut del registre especificat i l’acumulador.
”RS” (D-R Exchange) Intercanvia el contingut dels registres d i D amb el del registre R.
”/” (Decimal To M) Passa la part decimal del contingut del registre A al registre M.
OPERACIONS ARITMÈTIQUES
”+” (Addition) Suma el contingut del registre especificat amb el de A.
”-” (Subtraction) Resta al contingut de A, la vàlua guardada en el registre especificat.
”x” (Multiplication) Multiplica les vàlues dels registres A y l’especificat.
”÷” (Division) Divideix el contingut d’A pel contingut del registre especificat. El quocient es guardat en A i la resta en R.
”√” (Square Root) Realitza l’arrel quadrada del contingut del registre especificat i guarda el resultat en A.
”A” (Absolute Value) Calcula la vàlua absoluta de A.
OPERACIONS DE SALT
Incondicionals Bota a la referència a punte (destinació).
Condicionals Si el contingut del registre A és major que 0, bota. En cas contrari continua amb la següent instrucció.

Olivetti va dissenyar un formulari perquè servira de plantilla a aquells usuaris que es dedicaren a programar aquesta computadora. La dita plantilla mostra de forma compacta tota la informació necessària per a eixa funció, tal com el contingut dels registres, el codi del programa com constants necessàries, l’estat de la roda que configura el nombre de decimals, així com informació per al seu arxiu i associació amb altres targetes magnètiques on s’emmagatzemara la dita programació.

Càlcul de l'òrbita d'un satèl·lit
Prema la imatge per a ampliar

Càlcul de l’òrbita d’un satèl·lit al voltant de la Terra, executat en l’Exposició Universal de Nova York de 1965.

Veure vídeo
Per a veure el vídeo, prema en la imatge

Vídeo on apareix la Programma 101 calculant l’òrbita d’un satèl·lit al voltant de la Terra.

Per a veure el vídeo, prema ací o sobre la imatge

SIMULADORS

En Internet es poden trobar diversos simuladors sobre la Programma 101 dels quals s’han seleccionat dos d’ells per les seues característiques.

El primer d’aquests simuladors és el desenvolupat per Marco Galeotti. Té una interfície didàctica enfocada a ensenyar com funcionava internament la Programma 101, ja que no manté l’aspecte d’aquesta però és molt útil per a comprendre com funciona el flux de dades dins de la màquina.

Simulador
Prema la imatge per a ampliar

Simulador desenvolupat per Marco Galeotti.

Prema ací per accedir al simulador.

El segon dels simuladors seleccionats és el desenvolupat per l’enginyer Claudio Larini. Aquest simulador, malgrat tindre una interfície espartana, ha estat seleccionat perquè reprodueix el teclat, eixida de dades i altres controls tal com ens ho trobaríem davant d’una Programma 101 tant en disposició davant de l’usuari com en proporcions entre ells.

L’aspecte o interfície que presenta aquest simulador és molt similar al de la Programma 101 però a més, la manera en què s’usa també ho és, si seguim el manual d’usuari i el manual de programació de la Programma 101 podem manejar aquest simulador sense problemes.

Simulador
Prema la imatge per a ampliar

Simulador desenvolupat per l’enginyer Claudio Larini.

Prema ací per accedir al simulador.

Video del paper històric de la Programma 101

Moltes gràcies pel teu temps i espere que hages gaudit amb la Programma 101.