Mașină experimentală la scară mică

Experimental Mașina de mici dimensiuni (SSEM), poreclit Pat , a fost prima masina din lume cu arhitectura von Neumann . Construit la Universitatea Victoria din Manchester de Frederic Calland Williams , Tom Kilburn și Geoff Tootill, a realizat primul său program pe21 iunie 1948.

Această mașină nu a fost construită pentru utilizarea sa practică ca computer, ci ca banc de testare pentru tubul Williams , o formă primitivă de memorie pentru computer. Deși considerată „mică și primitivă” după standardele timpului său, a fost prima mașină funcțională care conținea toate elementele esențiale ale unui computer electronic modern. Odată ce a demonstrat TAU fezabilitatea proiectului, un proiect a fost lansat la Universitatea din Manchester , să - l dezvolte , în scopul de a face computerele mai ușor de utilizat, The Manchester Mark I . La rândul său, Mark I a devenit rapid prototipul lui Ferranti Mark I , primul computer de uz general de pe piață.

SSEM a folosit cuvinte pe 32 de  biți și memorie pe 32 de cuvinte. Deoarece a fost proiectat pentru a fi cel mai simplu program de calculator stocat în memorie, singurele operații aritmetice implementate în hardware au fost scăderea (mai puțin binară) și opusul (negativ unar); celelalte operații aritmetice au fost efectuate prin programe. Primul dintre cele trei programe scrise pentru mașină a găsit cel mai mare divizor propriu de 2 18 (262 144), un calcul despre care se știa că durează mult timp pentru a rula, testând fiecare număr întreg de la 2 18 −1 la 1 în ordine descrescătoare, deoarece era necesar să se efectueze diviziunile prin scăderi iterate ale divizorului. Programul consta din 17 instrucțiuni și a rulat timp de 52 de minute înainte de a ajunge la răspunsul corect, 131 072. SSEM a efectuat 3,5 milioane de operațiuni pentru acest calcul, rezultând o viteză de 1,1  kIPS .

Context

De la mașina lui Turing la arhitectura lui von Neumann

Primul computer controlat de un program a fost mașina analitică construită de Charles Babbage în 1834 . Un secol mai târziu, în 1936, matematicianul Alan Turing și-a publicat descrierea a ceea ce este acum cunoscut sub numele de mașina Turing , un concept teoretic destinat explorării limitelor calculului mecanic. Turing nu și-a imaginat o mașină fizică, ci o persoană, pe care a numit-o „calculator”, care a urmat instrucțiunile oferite de o bandă pe care simbolurile puteau fi citite și scrise secvențial pe măsură ce trecea sub o bandă. Turing a demonstrat că, dacă este posibil să scrieți un algoritm pentru a rezolva o problemă matematică, atunci o mașină Turing poate efectua acest algoritm.

Z3 de Konrad Zuse a fost prima mașină programabilă lume funcțională. Complet automat, bazat pe circuite binare digitale, nu avea totuși conexiunile condiționate ale unei mașini Turing. ÎnMai 1941, a fost prezentat cu succes unui public de oameni de știință de la Deutsche Versuchsanstalt für Luftfahrt („Laboratorul german de aviație”) din Berlin . Programul lui Z3 a fost înregistrat pe o bandă externă, dar era mai degrabă electromecanică decât electronică. Colossus , fabricat în 1943, a fost primul instrument electronic de calcul, dar numai că decriptarea și , prin urmare , nu a fost o mașină generală.

ENIAC a fost, în 1946, primul aparat electronic este generalisti. A fost complet Turing , cu ramificare condiționată și programabil pentru a rezolva o gamă largă de probleme. Cu toate acestea, programul său a fost stocat în starea comutatoarelor în cabluri, nu în memorie, deci ar putea dura câteva zile pentru a-l reprograma. Cercetători precum Turing și Konrad Zuse au explorat ideea de a folosi memoria computerului pentru a deține programul și datele la care lucra, dar este considerat, în general, matematicianul John von Neumann care a definit această arhitectură a computerului, încă folosită în aproape toate computerele .

De la radar la computer

Construcția unui computer von Neumann a depins de disponibilitatea unui mediu de memorie pe care să salvați programul. În timpul celui de-al doilea război mondial , cercetătorii care lucrau la problema eliminării ecourilor rătăcite de pe semnalele radar au dezvoltat o formă de memorie a liniei de întârziere , a cărei prima aplicație a fost linia de întârziere cu mercur dezvoltată de John Presper Eckert . Transmițătoarele radar transmit impulsuri scurte și constante de energie radio, ale căror reflexii sunt afișate pe un ecran CRT . Deoarece operatorii sunt de obicei interesați doar de mișcarea țintelor, era de dorit să se elimine reflexiile din obiectele staționare. Această filtrare a fost făcută prin compararea fiecărui impuls primit cu precedentul și respingerea celor două dacă erau aceleași, rezultând un semnal care conținea doar imaginile obiectelor în mișcare. Pentru a înregistra fiecare bătăi de inimă primite pentru comparație ulterioară, aceasta a trecut printr-o linie de transmisie, întârziind-o exact cu timpul dintre două bătăi de inimă transmise.

Turing a sosit la Laboratorul Național de Fizică (NPL) din Teddington ( Richmond upon Thames , Marea Londra ) în octombrie 1945 . La acea vreme, oamenii de știință de la Departamentul de echipamente ale armatei au ajuns la concluzia că Marea Britanie avea nevoie de un laborator național de matematică pentru a coordona calculele asistate de mașini. O divizie de matematică a fost înființată la NPL, iar19 februarie 1946Alan Turing a prezentat un articol care descrie proiectarea unui computer electronic stocat în programe, cunoscut sub numele de Automatic Computing Engine (ACE). Acesta a fost unul dintre mai multe proiecte lansate în anii care au urmat celui de-al doilea război mondial, cu scopul de a construi un calculator program stocat în memorie. Aproximativ în același timp, EDVAC era în curs de dezvoltare la Școala de ingineri electrici Moore de la Universitatea din Pennsylvania , iar Laboratorul de matematică de la Universitatea Cambridge lucra la EDSAC .

Managerii de proiect de la NPL nu aveau expertiza pentru a construi o mașină ca ACE, așa că l-au contactat pe Tommy Flowers la centrul de cercetare de la Posta Generală. Flowers, care proiectase Colossus, primul computer electronic programabil din lume, avea alte angajamente și nu putea lua parte la proiect. Cu toate acestea, echipa sa a construit câteva linii de timp pentru ACE. De asemenea, au cerut ajutor de la Institutul de Cercetări în Telecomunicații (TRE) și Maurice Wilkes de la Laboratorul de Matematică de la Universitatea Cambridge.

Oficialii NPL din guvern au decis că, întrucât toate lucrările au fost făcute de TRE în numele său, ACE ar trebui să aibă cea mai mare prioritate. Decizia NPL a dus la o vizită a superintendentului diviziei de fizică TRE pe22 noiembrie 1946, alături de Frederic Calland Williams și AM Uttley, tot de la TRE. Williams a condus un grup de dezvoltare TRE care a lucrat pe mediile de memorie CRT și le-a aplicat pe radare, în loc de linii de întârziere. El acceptase deja o catedră la Universitatea Victoria din Manchester, iar majoritatea tehnicienilor săi de circuit erau în proces de a fi transferați la Departamentul de Energie Atomică. TRE a fost de acord să ajute un grup mic de tehnicieni condus de Williams la universitate și să sprijine un alt grup mic care lucrează cu Uttley la TRE.

Lovitura lui Williams

Primele computere, ca CSIRAC, exploatează liniile de întârziere din mercur . Cu toate acestea, această tehnologie avea dezavantaje: era greoaie, costisitoare și nu permitea accesul aleatoriu . Mai mult, deoarece datele au fost înregistrate ca o secvență de unde acustice propagate într-o coloană de mercur, temperatura mașinii a trebuit controlată foarte atent, deoarece viteza sunetului într-un mediu variază în funcție de temperatura sa. Williams a văzut un experiment la Bell Labs care a arătat eficiența tuburilor cu raze catodice (CRT) ca alternativă la întârzierea liniilor în îndepărtarea ecoului pământului de la semnalele radar. În timp ce lucrați la TRE, cu puțin timp înainte de a ajunge la Universitatea Manchester dinDecembrie 1946, el a dezvoltat o formă de memorie electronică cunoscută sub numele de tubul Williams , bazată pe un CRT standard, care a fost primul suport de înregistrare digitală cu acces aleatoriu. Mașina experimentală la scară mică a fost concepută pentru a dovedi viabilitatea tubului Williams ca mediu de înregistrare, prin verificarea faptului că datele pe care le conținea puteau fi actualizate continuu cu viteza necesară pentru utilizarea sa de către un computer.

Pentru a fi utilizabil într-un computer digital binar , tubul trebuia să poată stoca oricare dintre cele două stări în fiecare dintre locațiile sale de memorie, pentru a reprezenta biții 0 și 1. A exploatat încărcătura electrostatică generată afișând fie o linie, adică spuneți un punct la fiecare poziție de pe ecranul CRT. Acest fenomen se numește emisie secundară . O linie a generat o încărcare pozitivă și un punct a generat o încărcare negativă. O placă de detectare din fața ecranului a primit încărcarea, care a reprezentat 0 dacă a fost negativă, 1 dacă a fost pozitivă. Încărcarea s-a disipat în aproximativ 0,2 secunde, dar ar putea fi reîmprospătată automat din datele preluate de detector. Inițial, tubul Williams se baza pe CV1131, un CRT Trade cu diametrul de 30  cm , dar un tub mai mic, cu diametrul de 15  cm , CV1097, a fost utilizat în TAU.

Dezvoltare și proiectare

Numit la catedra de inginerie electrică de la Universitatea din Manchester, Williams și-a recrutat colegul de la TRE Tom Kilburn ca asistent. Până în toamna anului 1947, cei doi oameni de știință au mărit capacitatea de stocare a tubului Williams cu un bit la 2.048, aranjată într-o matrice de 64 de biți pe 32 de biți și au arătat că este posibil să păstreze acești biți timp de patru ore. Inginerul Geoff Tootill s-a alăturat echipei, detașat de la TRE înSeptembrie 1947, și a rămas ca asistent până la Aprilie 1949.

Max Newman a fost numit în catedra de matematică pură de la Universitatea din Manchester în 1945. În timpul celui de-al doilea război mondial a lucrat ca criptanalist la Bletchley Park și a condus echipa care, în 1943, a produs primul computer. Întrerupătoare de cod colos. Deși Newman nu a jucat niciun rol activ în dezvoltarea SSEM și niciunul dintre computerele Manchester care au urmat, el a susținut proiectul care l-a entuziasmat și a organizat achiziționarea de surplusuri de război pentru construcția sa, inclusiv dulapuri metalice pentru Bletchley General Post Office .

În Iunie 1948, SSEM a fost construit și funcționează. Avea 5,2  m lungime , 2,2  m înălțime și cântărea aproape o tonă. Mașina conținea 550  de tuburi de electroni , 300  diode și 250  pentode și consuma 3.500 de wați. Unitatea aritmetică a fost realizată din tuburi de electroni EF50 (pentode Philips), care au fost utilizate pe scară largă în timpul războiului. SSEM a folosit un tub Williams pentru a furniza 32 de cuvinte de 32 de biți de RAM , o a doua a adăpostit acumulatorul în care rezultatele intermediare ale unui calcul au fost stocate temporar, iar un al treilea a ținut instrucțiunea executată și adresa acesteia în memorie. Un al patrulea CRT, care nu era echipat cu dispozitivele electronice pentru stocarea celorlalte trei, a fost folosit ca dispozitiv de ieșire. Ar putea afișa biții conținuți în orice alt tub.

Fiecare cuvânt de 32 de biți de RAM poate conține fie o instrucțiune de program, fie date. Într-o instrucțiune de program, biții de la 0 la 12 au reprezentat adresa de memorie a operandului care urmează să fie utilizat, iar biții de la 13 la 15 au specificat operația care trebuie efectuată, cum ar fi stocarea unui număr în memorie; ceilalți 16 biți erau neutilizați. Arhitectura SSEM a fost „  acumulator  ”, ceea ce înseamnă că acumulatorul ar putea reprezenta un al doilea operand implicit pentru operații aritmetice. Pentru instrucțiunile de pauză de secvență (salt necondiționat relativ), contorul de program a corespuns și unui operand implicit. În toate cazurile, instrucțiunile programului indicau doar un singur operand, prin adresa memoriei sale, ceilalți operanzi (dacă erau necesari) erau implicați: mașina SSEM avea așa-numita arhitectură cu adresă unică.

Un cuvânt din memoria computerului poate fi citit, scris sau actualizat în 360 de microsecunde. Executarea unei instrucțiuni a durat de patru ori mai mult decât a citit un cuvânt în memorie, rezultând o viteză de execuție de aproximativ 700 de instrucțiuni pe secundă. RAM-ul a fost reîmprospătat continuu, ceea ce a durat 20 de milisecunde, deoarece a fost necesar să citiți și apoi să reîmprospătați fiecare dintre cele 32 de cuvinte ale SSEM în ordine.

SSEM a reprezentat numere negative prin complementul celor două , așa cum fac încă majoritatea computerelor. În această reprezentare, valoarea celui mai semnificativ bit denotă semnul numărului: este 0 pentru numerele pozitive și 1 pentru numerele negative. Deci, intervalul de numere care ar putea fi reprezentat în fiecare cuvânt a fost de la -2 31 până la +2 31 -1 , sau de la -2 147 483 648 până la + 1447 483 647.

Programare

Set de instrucțiuni

SSEM 3-bit instrucțiuni set permis maxim 8 (2 3 ) instrucțiuni separate. Contrar convențiilor moderne, memoria mașinii a fost aranjată cu cei mai puțin semnificativi biți din stânga  ; numărul 1 a fost, prin urmare, reprezentat de „100”, în loc de „001”, care ar fi mai obișnuit.

Set de instrucțiuni SSEM
Cod binar Notare originală Mnemonică modernă Interventie chirurgicala
000 S, Cl JMP S Conexiune la instrucțiunea la adresa obținută la adresa S indicată (salt absolut necondiționat)
100 Adăugați S, Cl JRP S Conexiune la instrucțiune la adresa corespunzătoare contorului de program plus (+) valoarea relativă obținută la adresa indicată S (salt relativ necondiționat)
010 -S, C LDN S Luați numărul la adresa S indicată, calculați opusul și salvați rezultatul în acumulator
110 c, S STO S Înregistrați numărul în acumulator la adresa S. specificată
001 sau
101.
SUB S SUB S Scădeți numărul la adresa S specificată din valoarea acumulatorului și salvați rezultatul în acumulator
011 Test CMP Săriți următoarea declarație dacă acumulatorul conține o valoare negativă
111 STOP Vă rog Stop
  1. Deoarece contorul programului a fost incrementat în timpul procesului de decodare, adresa stocată în memorie trebuia să se potrivească cu adresa țintă - 1.
  2. Deoarece contorul programului a fost incrementat în timpul procesului de decodare, valoarea stocată în memorie trebuia să corespundă cu adresa țintă - PC-1.
  3. Biții care reprezintă instrucțiunea au fost decodați doar parțial, pentru a salva elemente logice

Prezența opusului în unele operații a fost o consecință a lipsei de material în SSEM pentru a efectua orice altă operațiune decât scăderea și opusul . Construcția unui sumator nu a fost considerată necesară înainte de începerea testelor, deoarece adăugarea poate fi ușor realizată prin scădere. De exemplu, x + y poate fi calculat prin - (- x - y ). Adăugarea a două numere a necesitat, prin urmare, patru instrucțiuni. Următorul cod efectuează acest calcul.

LDN X // charge −X dans l'accumulateur SUB Y // retranche Y de la valeur de l'accumulateur STO S // enregistre le résultat dans S LDN S // charge −S dans l'accumulateur

Programele au fost încărcate sub formă binară parcurgând toate cuvintele din memorie în ordine și folosind un set de 32 de comutatoare, care au acționat ca un dispozitiv de intrare, pentru a seta valoarea fiecărui bit din fiecare cuvânt la 0 sau 1. SSEM nu a aveți un cititor de carduri sau bandă perforată .

Primele programe

Au fost scrise trei programe pentru computer. Primul, care consta din 17 instrucțiuni, a fost scris de Kilburn și a lucrat la el21 iunie 1948. A fost conceput pentru a găsi cel mai mare factor propriu de 2 18 (262 144) încercând toate numerele între 2 18 -1 în ordine descrescătoare. Diviziunile au fost efectuate prin scăderea iterată a divizorului. SSEM a luat 3,5 milioane de operațiuni și 52 de minute pentru a găsi soluția (131.072). Programul a folosit 8 cuvinte de RAM în plus față de cele 17 cuvinte de instrucțiuni, rezultând o dimensiune a programului de 25 de cuvinte.

Geoff Tootill a scris o versiune modificată a programului luna următoare, iar la mijlocul lunii iulie Alan Turing, care fusese numit cititor la Departamentul de matematică de la Universitatea din Manchester dinSeptembrie 1948, a scris al treilea program, care a efectuat împărțirea lungă. Turing fusese, la acea vreme, numit asistent director al laboratorului de mașini de calcul al universității, o poziție simbolică, deoarece laboratorul nu a devenit o realitate fizică decât în ​​1951.

Urmările experienței

Williams și Kilburn au descris SSEM într-o scrisoare publicată de revista Nature înSeptembrie 1948.

Manchester Mark I și Ferranti Mark I

Demonstrarea viabilității mașinii a dus în curând la construirea unui computer mai util în practică, Manchester Mark I , pe care a început lucrarea înAugust 1948. Această mașină a fost prima din istorie care conține registre index, ceea ce a făcut posibilă modificarea comportamentului instrucțiunilor. Avea mai multă memorie, cu 64 de cuvinte de 40 de biți plus un tambur magnetic care conținea 1.024 de cuvinte și avea un set complet de instrucțiuni, inclusiv un multiplicator hardware. Prima versiune a fost operațională înAprilie 1949și, la rândul său, a condus direct la dezvoltarea Ferranti Mark I , primul computer de uz general comercializat din lume.

Reconstrucţie

În 1998, o replică funcțională a TAU, expusă acum la Muzeul de Știință și Industrie din Manchester, a fost construită pentru a sărbători cea de-a 50- a  aniversare a execuției primului program. Demonstrațiile mașinii în mișcare au loc în mod regulat la muzeu. În 2008, la Universitatea din Manchester a fost descoperită o fotografie panoramică originală a întregului aparat. Fotografia, realizată15 decembrie 1948de către un stagiar de cercetare, Alec Robinson, fusese reprodus în Illustrated London News dinIunie 1949.

Note și referințe

(fr) Acest articol este preluat parțial sau în totalitate din articolul Wikipedia engleză intitulat „  Manchester Small-Scale Experimental Machine  ” (a se vedea lista autorilor ) .

Note

  1. Gradul de cititor este specific Regatului Unit. Este aproximativ echivalent, în sistemul anglo-saxon, cu cel de profesor asistent cu funcție .

Referințe

  1. (în) Nicholas Enticknap , "  Computing's Golden Jubilee  " , Resurrection , The Computer Conservation Society, n o  20,vara 1998( ISSN  0958-7403 , citiți online )
  2. (în) „  Early Electronic Computers (1946-1951)  ” , Universitatea din Manchester (accesat la 26 aprilie 2010 )
  3. (în) EBITDA Napper, „  Introduction to the Mark 1  ” , Universitatea din Manchester (accesat la 26 aprilie 2010 )
  4. Turing 1937
  5. (în) „  Z3  ” , Universitatea Tehnică din Berlin
  6. (în) Horst Zuse, „  Viața și opera lui Konrad Zuse, Partea 2: Primele idei ale lui Konrad Zuse despre calcul  ” , Everyday Practical Electronics (accesat la 26 aprilie 2010 )
  7. Lavington 1998 , p.  7
  8. Lavington 1998 , p.  1
  9. Brown 1999 , p.  429
  10. Lavington 1998 , p.  9
  11. Lavington 1980 , Capitolul 5: ACE, „British National Computer”
  12. Lavington 1998 , p.  8-9
  13. Lavington 1998 , p.  5
  14. (în) „  Cum a funcționat CSIRAC?: Depozitare  ” , Universitatea din Melbourne și 4 aprilie 2006 (accesat la 26 aprilie 2010 )
  15. (în) „  Early computers at Manchester University  ” , Resurrection , The Computer Conservation Society, vol.  1, n o  4,vara 1992( ISSN  0958-7403 , citiți online )
  16. Lavington 1998 , p.  13
  17. Lavington 1998 , p.  24
  18. Lavington 1998 , p.  12
  19. Lavington 1998 , p.  12-13
  20. Napper 2000 , p.  366
  21. Lavington 1998 , p.  16
  22. Lavington 1998 , p.  6-7
  23. (în) [PDF] "  The Baby": The World's Stored-Program Computer First  " , Manchester Museum of Science & Industry (accesat la 27 aprilie 2010 )
  24. Napper 2000 , p.  367
  25. Lavington 1998 , p.  14
  26. Lavington 1998 , p.  15
  27. Parțial disponibil online
  28. (în) Geoff Tootill , „  The Original Original Program  ” , Resurrection , The Computer Conservation Society, n o  20,vara 1998( ISSN  0958-7403 , citiți online )
  29. Lavington 1998 , p.  16-17
  30. Lavington 1998 , p.  17
  31. „  Calculatoare digitale electronice  ”, Nature , vol.  162,25 septembrie 1948, p.  487 ( citește online )
  32. (în) „  Meet Baby  ” , Manchester Museum of Science & Industry (accesat la 27 aprilie 2010 )
  33. (în) Roger Highfield , „  Fotografie a străbunicului computerelor moderne găsite  ” , Daily Telegraph ,17 iunie 2008( citește online )
  34. (în) „  Imagine panoramică a TAU și a altor înregistrări audiovizuale (Digital 60, Universitatea din Manchester)  ” (accesat la 27 aprilie 2010 )

Anexe

Bibliografie

Articole similare

linkuri externe