SWAC (prescurtare de la engleză [National Bureau of] Standards's Western Automatic Computer , Western Automatic Computer of the Bureau of Standards) este al doilea computer digital electronic , creat în 1950 la US National Bureau of Standards (NBS) din Los Angeles (SUA) . Proiectat de Harry Husky . Primul computer NBS a fost SEAC , instalat în Washington DC .
În 1945, BNS a creat divizia Laboratoarelor Naționale de Matematică Aplicată pentru a furniza servicii de calcul altor organizații guvernamentale și consiliul de conducere al BNS pentru matematică aplicată. Inițial, laboratoarele plănuiau să achiziționeze calculatoare de la una dintre firmele private (de la începutul anului 1948, erau în curs de negocieri cu Echert-Mauchly Computer Corporation și Raytheon ), însă, datorită faptului că dezvoltarea computerelor electronice de către aceste companii a fost amânată, în mai 1948, consiliul de conducere în matematică aplicată, sa decis să-și construiască propriul computer la Washington (viitorul SEAC ). Totodată, s-a decis achiziționarea de la Echert-Mouchly Computer Corporation a trei calculatoare UNIVAC (care erau în curs de dezvoltare la acel moment), care urmau să fie apoi instalate la Biroul de Recensământ , la Centrul de Logistică al Forțelor Aeriene (Air Material Command Command). ) și la Institutul de analiză numerică ( Institutul de analiză numerică , INA), care făcea parte din Laboratoarele de matematică aplicată. Achiziționarea calculatoarelor trebuia plătită din bugetul militar, totuși, din mai multe motive birocratice, acest lucru s-a dovedit a fi imposibil, așa că în octombrie 1948 consiliul de conducere a decis să construiască un al doilea computer la Institutul de analiză numerică, care era situat în campusul Universității din California din Los Angeles (UCLA).
Harry Douglas Huskey , care a contribuit anterior la dezvoltarea calculatoarelor ENIAC , EDVAC și Pilot ACE , a fost adus la conducerea proiectului . Lucrările au început în ianuarie 1949. Echipa era formată din trei grupuri de probleme care lucrau la memorie (B.F. Ambrosio (BFAmbrosio), Harry Larson (Harry Larson) și Bill Gunning (Bill Gunning) de la Rand Corporation), unitatea de aritmetică (condusă de Edward Lacey) și unitatea de control (condusă de David Ruthland).
Inițial, bazat pe un design dezvoltat de proiectul EDVAC cu memorie de linie de întârziere cu mercur, armata care sponsorizează proiectul a cerut BNS să construiască computere care diferă ca design de alte proiecte finanțate din fonduri publice. Prin urmare, Husky a apelat la experiența profesorului F.K. Williams de la Universitatea din Manchester despre utilizarea tuburilor catodice (CRT) ca dispozitive de memorie, care au fost numite tuburi Williams . Această experiență a fost cu atât mai interesantă, deoarece promitea acces mai rapid la memorie și, prin urmare, performanță mai rapidă a computerului. Sa decis ca computerul să aibă o unitate aritmetică paralelă de biți și magistrale de date paralele pentru a maximiza beneficiile memoriei CRT. La dezvoltarea proiectului s-a acordat o mare atenție și economiei și fiabilității computerului creat. În acest scop, dezvoltatorii au încercat să folosească numai componente produse în serie, disponibile în comerț - lămpi, tuburi catodice - care au contribuit atât la scăderea prețului, cât și la facilitarea funcționării viitorului computer. Pentru a facilita întreținerea, au încercat să construiască un computer din blocuri standard, care, dacă nu reușeau, puteau fi înlocuite cu ușurință cu altele de rezervă. Aproape 80% din computer era format din astfel de blocuri. Împreună cu computerul, au fost dezvoltate standuri de diagnosticare care au permis diagnosticarea autonomă și repararea unităților defecte, în timp ce computerul a continuat să-și rezolve principalele sarcini. Calculatorul a fost construit conform arhitecturii von Neumann cu programul stocat în memorie. Capacitatea cifrelor a fost de 36 de biți cu un bit suplimentar pentru semn - un total de 37 de biți în cuvântul mașină. Numerele semnate au fost reprezentate prin modul și semn, adică. zero ar putea avea atât un semn pozitiv, cât și unul negativ. Numerele erau reprezentate cu un punct fix, folosind reprezentarea punctului „stânga”, populară la acea vreme, când se credea că toate numerele erau fracționale și variau de la -1+2 -36 la 1-2 -36 . Memoria RAM a fost realizată pe 37 de tuburi catodice, fiecare dintre ele fiind responsabil pentru stocarea „propriilor” cuvinte. Fiecare CRT a furnizat o capacitate de 256 de biți, astfel încât capacitatea totală de memorie a fost de 256 de cuvinte de 37 de biți. Ciclul de schimb cu memoria a fost de 16 μs. Datorită cantității mici de memorie RAM, computerul a fost echipat cu memorie suplimentară pe un tambur magnetic cu o capacitate de 4096 de cuvinte. Schimbul cu toba s-a realizat în blocuri de 8, 16 sau 32 de cuvinte, timpul de schimb a fost de 17 ms. Calculatorul a implementat un sistem de instrucțiuni cu 4 adrese , în care fiecare instrucțiune (cu excepția comenzilor de intrare și ieșire) conținea adresele a două argumente, adresa rezultatului și adresa instrucțiunii următoare. Sistemul de instrucțiuni includea următoarele instrucțiuni: adunarea, scăderea, înmulțirea rotunjită (cu un rezultat de 37 de biți), înmulțirea cu un rezultat complet (74 de biți), compararea, extragerea biților prin mască, intrare și ieșire. Ca parte a unității aritmetice logice (ALU) , au fost implementate trei registre - un buffer pentru citirea din memorie, un acumulator și un registru R - o extensie a acumulatorului pentru stocarea factorului și a părții extinse a produsului. Ca dispozitive de intrare/ieșire au fost folosite un telemașină de scris (Flexowriter) și un cititor de bandă perforată . Ulterior, computerul a fost echipat cu un cititor de carduri perforate (IBM 077) și un dispozitiv de ieșire pentru carduri perforate (IBM 513).
SWAC a fost montat în 3 dulapuri personalizate și a fost foarte compact pentru vremea lui. Conținea 37 de CRT, 2600 de lămpi și 3700 de diode semiconductoare. În timpul funcționării, a consumat 30 kW de energie electrică.
Adunarea SWAC a fost finalizată în iulie 1950, iar în perioada 17-19 august a avut loc acceptarea sa oficială, în cadrul căreia a avut loc un mic simpozion de tehnologie informatică și a avut loc o demonstrație de computer. La momentul acceptării, SWAC s-a dovedit a fi cel mai rapid computer din lume. A executat fiecare instrucțiune, cu excepția înmulțirii, împărțirii și I/O, în 64 µs (15'625 ops/sec). Înmulțirea și împărțirea au fost efectuate în 384 µs, iar comenzile I/O au fost efectuate în funcție de viteza dispozitivelor respective. Acest record a ținut mult timp - până la apariția computerului Whirlwind și înainte de a fi echipat cu o memorie de ferită , ceea ce s-a întâmplat abia în 1953. Calculatorul a fost folosit pentru a rezolva diverse probleme de analiză numerică, în special, pentru a căuta numere prime Mersenne (numere de forma 2 p −1, unde p este un număr prim). Folosind SWAC, matematicianul Raphael Robinson a reușit să găsească cele mai mari 5 astfel de numere, pentru acestea din urmă valoarea p fiind 2297. SWAC a studiat și circulația atmosferei Pământului. În cursul rezolvării acestei probleme, au fost procesate 750.000 de valori de intrare și s-au obținut un număr comparabil de rezultate. Timpul de soluție a fost de 325 de ore. SWAC sa dovedit a fi destul de fiabil în funcționare. Timpul mediu de lucru productiv a fost de 53 de ore pe săptămână, sau 70% din timpul total al calculatorului.
Principala problemă în funcționarea computerului a fost lipsa de încredere a memoriei bazate pe tuburi Williams. Deși echipa de dezvoltare a redus densitatea de stocare față de ceea ce a fost planificat inițial, memoria a eșuat din cauza a două probleme. Prima s-a datorat faptului că fosforul din CRT-urile ieftine a fost contaminat cu fibre de bumbac, care au fost carbonizate sub acțiunea fasciculelor de electroni și au devenit conductori. Din acest motiv, până la 1-2% din suprafața tuturor CRT-urilor au fost defecte și nu țineau încărcare. Pentru a combate acest fenomen, au fost selectate tuburi, au fost marcate locuri defecte pe acestea și s-a încercat reglarea circuitelor de control în așa fel încât rasterul de pe tub să nu traverseze zonele defecte. A doua problemă a fost răspândirea sarcinii între celule - cu acces prea frecvent la o singură adresă de memorie, norul de electroni secundari format în timpul înregistrării s-a așezat pe celulele vecine ale fiecăruia dintre tuburi, ceea ce a dus la ștergerea datelor din aceste celule. Programatorii, atunci când scriau programe, trebuiau să se asigure că fiecare locație de memorie nu era folosită prea des în program.
La începutul lucrării, creatorii SWAC i-au dat numele de lucru ZEPHYR - după numele brizei blânde din vest. Sub acest nume, a apărut multă vreme în diverse documente. I s-a dat apoi numele mai prozaic „Calculatorul Institutului de Analiză Numerică”. Spre finalul lucrării, conducerea BNS a cerut ca BNS să fie prezent în numele ambelor calculatoare aflate în dezvoltare. Așa au apărut denumirile National Bureau of Standards' Eastern/Western Automatic Computer și abrevierile SEAC și SWAC bazate pe acestea.
Din 1950 până în 1954, SWAC a fost operat la Institutul de analiză numerică. În 1954, INA a fost scos din BNS și computerul a fost transferat la Universitatea din California (UCLA). A funcționat acolo până la dezafectarea sa în decembrie 1967. Părți selectate supraviețuitoare ale SWAC sunt în prezent expuse la Muzeul Științei și Industriei din Los Angeles și în alte muzee din SUA.