SSEM

De Viquipèdia
Dreceres ràpides: navegació, cerca
Rèplica del SSEM al Museu de Ciència i Indústria a Manchester.

La Màquina Experimental de Petita Escala de Manchester (en anglès "Manchester Small-Scale Experimental Machine", SSEM), anomenada Baby, va ser el primer ordinador del món amb un programa emmagatzemat. Va ser desenvolupat a la Universitat de Manchester per Frederic C. Williams, Tom Kilburn i Geoff Tootill, i va executar el seu primer programa el 21 de juny de 1948. [1]

La màquina va ser dissenyada i construïda com a banc de prova del tub Williams, un dels primers tipus de memòries d'ordinador, no com un ordinador pràctic. No obstant això, el seu exitós resultat va motivar el desenvolupament de l'ordinador Manchester Mark I, el qual va permetre el desenvolupament del Ferranti Mark I, el primer ordinador disponible comercialment i de propòsit general. [2]

El SSEM tenia paraules de 32 bits de llarg i emmagatzemava fins a 32 paraules. Tres bits eren usats pel codi d'instrucció, donant un màxim de vuit instruccions, de les quals només set estaven definides. Tres programes van ser escrits per al SSEM: el primer calculava el factor més alt de 218, consistia en 17 instruccions i va trigar 52 minuts per arribar a la resposta després de realitzar 3,5 milions d'operacions.

Antecedents[modifica | modifica el codi]

Disseny de l'arquitectura de von Neumann (1947).

El 1936, el matemàtic Alan Turing va crear la teoria d'una "màquina de calcular universal" (coneguda avui dia com la "màquina de Turing"), un ordinador que emmagatzemava en una cinta el programa i les dades amb que treballava. Turing va demostrar que la màquina era capaç de resoldre qualsevol problema matemàtic que es puguès escriure en un algorisme. [3] Durant els anys 40, Turing i altres com Konrad Zuse, van desenvolupar la idea d'usar la pròpia memòria de l'ordinador per emmagatzemar el programa i les dades, [4] però es considera al matemàtic John von Neumann qui va definir l'arquitecura dels ordinadors, la qual es manté en ús en la majoria d'ordinadors actuals. Els primers ordiandors eren generalment programats modificant els seus circuits, dessoldant i soldant les connexions o mitjançant plugboards. No tenien el programa emmagatzemat en memòria de forma separada, igual que en els ordiandors moderns; reprogramar l'ENIAC era una tasca feixuga que costava alguns dies. [5]

La construcció d'un computador von Neumann pràctic depenia de la disponibilitat de dispositius de memòria. Durant la Segona Guerra Mundial, investigadors que treballaven en el problema d'eliminar les interferències dels senyals de radar van desenvolupar la memòria de línia de retard, la primera memòria d'ús pràctic, una de les quals va ser la memòria de línia de retard de mercuri, [6] desenvolupada per J. Presper Eckert. La idea era eliminar els ecos de radar dels objectes estàtics retardant cada pols de retorn entre polsos transmesos i comparar-lo amb cada pols emmagatzemat, deixant en el senyal resultant només les imatges dels objectes que es mouen. [7]

El 1945, continuant amb els treballs iniciats en Projecte Colossus, científics del Ministeri de Subministraments van considerar que la Gran Bretanya necessitava un Laboratori Nacional de Matemàtica per coordinar els càlculs assistits per màquines que es realitzaven. [8] Això va conduir a la creació de la Divisió de Matemàtiques al Laboratori Nacional de Física (National Physical Laboratory, NPL), i, el 19 de febrer de 1946, Alan Turing va presentar un disseny per a un ordinador electrònic de programa emmagatzemat, que seria conegut com l'ACE-Automatic Computing Engine. [8] Donat que el NPL no tenia la capacitat per construir aquest ordinador, van intentar obtenir d'una altra banda l'experiència necessària. Tommy Flowers i el seu equip del Laboratori d'Investigació Dollis Hill pertanyent al General Post Office(GPO) es van unir, però no van poder dedicar-s'hi a temps complet a causa de altres compromisos en computació i telefonia, tot i que van construir diverses memòries de línia de retard de mercuri per l'ACE. [8] Maurice Wilkes, del Laboratori de Matemàtiques de la Universitat de Cambridge, i el Telecommunications Research Establishment (TRE) també van ser contactats. [8]

El Departament d'Investigació Científica i Industrial (DSIR), que dirigia el NPL, pressionar el TRE per donar-li al ACE la màxima prioritat sobre tots els treballs que feia el TPE per al DSIR. [8] Això va portar al Dr Smith, Superintendent de la Divisió de Física de l'TRE, Frederic C. Williams i a A. M. Uttley a visitar el NPL el 22 de novembre de 1946. [8] Molts dels tècnics en circuits de Williams van ser transferits al Departament d'Energia Atòmica i Williams ocuparia sis setmanes després una càtedra a la Universitat de Manchester. [8] El TRE va acordar formar un segon equip (amb pocs integrants) a la Universitat de Manchester per treballar sota les ordres del professor Williams, i altres van treballar per al Dr A. M. Uttley al TRE. [8] El NPL també va enviar una proposta i un projecte de contracte a Williams ja Wilkes per treballar a l'ACE. [8]

L'ACE va ser un de diversos projectes creats durant els anys següents a la Segona Guerra Mundial que apuntaven a construir un ordinador amb programa emmagatzemat. L'EDVAC va ser desenvolupat a l'Escola d'Enginyeria Elèctrica Moore de la Universitat de Pennsilvània, Flowers i Wilkes van visitar l'escola tot presenciant la presentació de l'EDVAC, l'EDSAC estava sent desenvolupat al Laboratori de Matemàtiques de la Universitat de Cambridge, el Professor Max Newman es va anar a la Universitat de Manchester on esperava poder crear un laboratori de màquines de calcular basades en la memòria de tubs Selectron que estava sent desenvolupades per la RCA. [9] [8] Malgrat que els primers computadors , com el CSIRAC, van usar amb èxit la memòria memòria de línia de retard de mercuri, [10] aquesta tecnologia tenia diversos inconvenients: la quantitat de dades que podien emmagatzemar eren limitades, era pesat, i era car. A més, perquè les dades s'emmagatzemaven com una seqüència d'ones acústiques, i perquè la velocitat del so a través d'un mitjà varia amb la temperatura, el mercuri havia de ser mantingut a una temperatura constant.

El tub Williams[modifica | modifica el codi]

Rèplica del SSEM al Museu de la Ciència i de la Indústria de Manchester.
Article principal: Tub Williams

Frederic C. Williams havia presenciat un experiment en els Laboratoris Bell que va demostrar l'efectivitat dels tubs de raigs catòdics (CRT) com una alternativa al retard de temps per eliminar els ecos del terreny en els senyals de radar. Mentre treballava en l'Establiment d'Investigació de Telecomunicacions (Telecommunications Research Establishment, TRE), poc abans d'incorporar a la Universitat de Manchester al desembre de 1946, va desenvolupar una forma de memòria electrònica usant un CRT que es va conèixer com el "Tub Williams". [11] La "Màquina Experimental de Petita Escala de Manchester" (Manchester Small-Scale Experimental Machine, SSEM) va ser dissenyada per provar els tubs Williams, el primer dispositiu d'emmagatzematge digital d'accés aleatori, que podia treballar a la velocitat de l'ordinador. [12]

Per usar-se en un computador digital binari, el dispositiu podia emmagatzemar un de dos valors possibles en cada posició de memòria, corresponents als dígits binaris (bits) 0 i 1. Aquest aprofitava la càrrega electrostàtica positiva i negativa generada per un CRT, ja sigui un guió o un punt en qualsevol posició de la pantalla. Un guió generava una càrrega positiva, i un punt una càrrega negativa, qualsevol dels quals podia ser captat per un detector proper a la pantalla, la càrrega negativa representava un 0, i la positiva un 1. La càrrega podia dissipar-se en 0,2 segons, però podia refrescar automàticament "llegint" les dades amb la placa col·locada al front de la pantalla. [13]

Inicialment els tubs Williams es van desenvolupar sobre el CV1131, un CRT disponible comercialment de 300 mm de diàmetre, però un tub més petit de 150 mm, el CV1097, va ser usat en el SSEM. [14]

Disseny i Desenvolupament[modifica | modifica el codi]

Esquema de l'arquitectura mostrant com es col·locaven els quatre tubs de raigs catòdics (en verd).

Després del seu nomenament a la Presidència d'Enginyeria Elèctrica a la Universitat de Manchester, al desembre de 1946, Williams va contractar al seu col·lega del TRE Tom Kilburn. Per la tardor (en l'hemisferi boreal) de 1947 havien incrementat la capacitat dels tubs Williams d'un bit a 2.048, en una matriu de 64 per 32, [15] i van demostrar que podien emmagatzemar les dades durant quatre hores. [16] L'enginyer Geoff Tootill es va unir a l'equip a "préstec" del TRE el setembre de 1947, i va romandre en comissió fins a l'abril de 1949. [17]

Max Newman va ser nomenat director del departgament de Matemàtica Pura de la Universitat de Manchester el 1945. Durant la Segona Guerra Mundial va treballar com a criptògraf a Bletchley Park, i va abandonar l'equip que havia produït els primers ordiandors desxifradors de codi Colossus el 1943. Encara que Newman no tenir un paper molt actiu en el desenvolupament del SSEM, o dels altres computadors de Manchester, va ser un entusiasta del projecte i el va recolzar activament, i va acordar les compres dels excedents de guerra, incloent els racks de metall del servei postal General (General Post Office, GPO) de Bletchley. [18]

Al juny de 1948 el SSEM havia estat construït i estava en funcionamdent. [15] Tenia 5,16 m de llarg, 2,33 m d'alt, i pesava al voltant d'1 t. Cada paraula de 32 bits de la memòria principal podia contenir tant instruccions com dades. En una instrucció del programa, els bits 0-12 representaven l'adreça de memòria de l'operant a usar, i els bits 13-15 especificaven que operació havia de executar, els 24 bits restants no s'utilitzaven. [19] El SSEM tenia, per tant, una arquitectura amb conjunt d'instruccions simples. El segon operant implícit de qualsevol operació és l'acumulador, i dels comandaments del programa especificaven només l'adreça de les dades en la memòria principal.

Una paraula de la memòria principal podia ser llegida, emmagatzemada o refrescada en 360 microsegons. Una instrucció requeria quatre accessos a la paraula per a ser executada, donant-li una mitjana d'execució de 700 instruccions per segon. La memòria principal es refrescava contínuament, i el procés prenia 20 milisegons per completar, i cada paraula de 32 bits del SSEM era llegida i refrescada en forma seqüencial. [15]

El SSEM representava els nombres negatius amb complement a dos, [20] com molts ordinadors actuals. En aquesta representació, el valor del bit més significatiu representa el signe; nombre positius tenen un zero en aquesta posició, i els negatius tenen un 1. Per tant, el rang de nombres que podia emmagatzemar-se en cada paraula de 32 bits era de -2 31 a +231-1 (en decimal: de -2147483648 fins a +2147483647).

Programació[modifica | modifica el codi]

El joc d'instruccions de tres bits del SSEM permetia un màxim de 8 instruccions diferents (23). En contrast amb la convenció moderna, la màquina emmagatzemava el dígit menys significatiu a l'esquerra, de manera que un un era representat en tres bits com "100", en lloc de la forma convencional "001". [20]


Joc d'instruccions del SSEM [21]
Codi Binari mnemònica Moderna Operació
000 JMP S Salta a la instrucció en l'adreça de memòria especificada (salt incondicional absolut)
100 JRP S Salta a la instrucció en l'adreça de memòria especificada més el nombre indicat (salt incondicional relatiu)
010 LDN S Llegeix el número en l'adreça de memòria especificada, ho nega, i el carrega en l'acumualdor
110 STO S Emmagatzema el número de l'acumulador a l'adreça de memòria especificada
001 o 101 * SUB S Resta el nombre de l'adreça de memòria especificada del valor de l'acumulador, i l'emmagatzema a l'acumulador
011 CMP Salta la instrucció següent si l'acumulador conté un valor negatiu
111 STP Aturar
* Els bits de funció eren parcialment decodificats, per estalviar elements lògics. [21]

Les operacions amb negatius eren incòmodes com a resultat de la manca d'un sumador de 32 bits en el SSEM. No es va considerar necessari abans de les proves construir un sumador pel fet que la suma pot implementar fàcilment mitjançant restes, [19] és a dir, X+Y\, pot ser calculat com -(-X - Y). Per tant, sumar dos nombres, X i Y, requeria quatre instruccions: [21]

LDN X//càrrega X com negatiu a l'acumulador
SUB I//resta I al valor de l'acumulador
STO S//emmagatzema el resultat en S
LDN S//carrega el valor en S com negatiu a l'acumulador

Els programes eren carregats en forma binària utilitzant el dispositiu d'entrada per establir el valor de cada bit de cada paraula del programa un per un. [15]

Primers programes[modifica | modifica el codi]

El CRT de sortida.

Es van escriure tres programes per a l'ordinador. El primer, que consistia de 17 instruccions, va ser escrit per Kilburn, i hauria corregut per primera vegada el 21 de juny de 1948. [22] va ser dissenyat per trobar el divisor més alt de 218 (262.144) calculant cada sencer des de 218-1 cap avall. Les divisions es van implementar fent restes successives del divisor. El SSEM va necessitar 3,5 milions d'operacions i 52 minuts per donar la resposta (131.072). El programa va usar vuit paraules de la memòria de treball més les 17 paraules de les instruccions, donant-li al programa una mida de 25 paraules. [23]

Geoff Tootill va escriure una versió corregida del programa el mes següent, i a mitjans de juliol Alan Turing -qui havia estat nomenat com professor "Lector" (rang acadèmic) en el departament de matemàtiques a la Universitat de Manchester el setembre de 1948- va enviar el tercer programa, per calcular divisions llargues. Turing havia estat nomenat per al càrrec de Director Adjunt del Laboratori de Màquina Computacional de la Universitat, [22] encara que aquest laboratori no es va fer realitat fins al 1951. [24]

Últims desenvolupaments[modifica | modifica el codi]

Williams i Kilburn van donar a conèixer el desenvolupament del SSEM en una publicació a la revista Nature, publicada al setembre de 1948. [25] El seu èxit va portar ràpidament a la creació d'un equip més pràctic, el Manchester Mark I. Els treballs es van iniciar l'agost de 1948, i la primera versió va entrar en operacions a l'abril de 1949. [24] El Manchester Mark 1 al seu torn va conduir al desenvolupament del Ferranti Mark I, el primer computador comercialment disponible de propòsit general del món. [2]

El 1998 es va construir una rèplica funcional del SSEM per celebrar el 50 aniversari de l'execució del seu primer programa. La màquina està en exhibició en el Museu de Ciència i Indústria a Manchester, on es realitzen demostracions de funcionament en forma regular. [26] El 2008 es va descobrir una fotografia panoràmica de la màquina completa a la Universitat de Manchester. La fotografia va ser presa el 15 de desembre de 1948 per un estudiant investigador, Alec Robinson, i va ser reproduïda en el Illustrated London News al juny de 1949. [27] [28]

Vegeu també[modifica | modifica el codi]

Referències[modifica | modifica el codi]

  1. Enticknap, Nicholas (Summer 1998), "Computing s Golden Jubilee", Resurrection (The Computer Conservation Society) (no. 20), ISSN 0958-7403, <http://www.cs.man.ac.uk/CCS/res/res20.htm#d>. Consultat el 19 abril 2008
  2. 2,0 2,1 Napper, R. B. E., <http://www.computer50.org/mark1/mark1intro.html>. Consultat el 4 novembre 2008
  3. Turing 1936
  4. Zuse, Horst, "Part 10: Konrad Zuse and the stored Program Computer", The Life and Work of Konrad Zuse, Wimborne Publishing, <http://www.epemag.com/zuse/default.htm#index>. Consultat el 16 novembre 2008
  5. Early Electronic Computers (1946-1951), Universitat de Manchester, <http://www.computer50.org/mark1/contemporary.html>. Consultat el 16 novembre 2008
  6. Lavington 1998, p. 1
  7. Brown 1999, p. 429
  8. 8,0 8,1 8,2 8,3 8,4 8,5 8,6 8,7 8,8 8,9 Lavington (1980), Chapter 5: "ACE, the 'British National Computer'".
  9. Lavington 1998, pàg. 8-9
  10. CSIRAC, 4 April 2006, <http://www.csse.unimelb.edu.au/dept/about/csirac/store.html>. Consultat el 16 novembre 2008
  11. «Early computers at Manchester University». . The Computer Conservation Society, 1, 19 abril 2008. ISSN: 0958-7403.
  12. Lavington 1998, p. 13, 24
  13. Lavington 1998, p. 12
  14. Lavington 1998, pàg. 12-13
  15. 15,0 15,1 15,2 15,3 Napper 2000, p. 366
  16. Lavington 1998, p. 13
  17. Lavington 1998, p. 16
  18. Lavington 1998, pàg. 6-7
  19. 19,0 19,1 Napper 2000, p. 367
  20. 20,0 20,1 Lavington 1998, p. 14
  21. 21,0 21,1 21,2 Lavington 1998, p. 15
  22. 22,0 22,1 Lavington 1998, pàg. 16-17
  23. Tootill, Geoff. «The Original Original Program». . The Computer Conservation Society, Summer 1998. ISSN: 0958-7403.
  24. 24,0 24,1 Lavington 1998, p. 17
  25. "Elctronic Digital Computers", Nature 162: 487, 25 September 1948, <http://www.computer50.org/kgill/mark1/natletter.html>
  26. Meet Baby, Manchester Museum of Science & Industry, <http://www.msim.org.uk/whats-on/meet-baby>. Consultat el 17 novembre 2008
  27. Highfield, Roger (17 June 2008), Daily Telegraph
  28. image of SSEM and other audiovisual records (Digital 60, Universitat de Manchester)
Bibliografia

Lectura addicional[modifica | modifica el codi]

Enllaços externs[modifica | modifica el codi]

A Wikimedia Commons hi ha contingut multimèdia relatiu a: SSEM Modifica l'enllaç a Wikidata