Unic și uitat: nașterea sistemului sovietic de apărare antirachetă. Proiect EPOS
SUC
Jan G. Oblonsky, unul dintre primii studenți ai lui Svoboda și dezvoltatorul EPOS-1, își amintește astfel (Eloge: Antonin Svoboda, 1907-980, IEEE Annals of the History of Computing Vol. 2. Nr. 4, octombrie 1980) :
Pentru a înțelege cum funcționează, trebuie să vă amintiți ce este împărțirea numerelor naturale. Evident, cu numere naturale, nu putem reprezenta fracții, dar putem face împărțirea cu un rest. Este ușor de observat că atunci când se împarte numere diferite la același m dat, se poate obține același rest; în acest caz, se spune că numerele originale sunt comparabile modulo m. Evident, pot fi exact 10 resturi - de la zero la nouă. Matematicienii au observat rapid că este posibil să se creeze un sistem numeric în care, în locul numerelor tradiționale, să apară resturile de împărțire, deoarece acestea pot fi adunate, scăzute și înmulțite în același mod. Ca urmare, orice număr poate fi reprezentat nu printr-un set de numere în sensul obișnuit al cuvântului, ci printr-un set de astfel de resturi.
De ce astfel de perversiuni, chiar vor ușura lucrurile? De fapt, va fi diferit când vine vorba de efectuarea operațiilor matematice. După cum s-a dovedit, este mult mai ușor pentru o mașină să efectueze operații nu cu numere, ci cu resturi și iată de ce. În sistemul claselor reziduale, fiecare număr, cu mai multe cifre și foarte lung în sistemul pozițional obișnuit, este reprezentat ca un tuplu de numere cu o singură cifră, care sunt resturile împărțirii numărului inițial la RNS de bază (tuplu de coprime). numere).
Ce va accelera munca în timpul unei astfel de tranziții? Într-un sistem pozițional convențional, operațiile aritmetice sunt efectuate secvenţial prin cifre. În acest caz, transporturile sunt formate până la următoarea cifră cea mai semnificativă, ceea ce necesită mecanisme hardware complexe pentru procesarea lor; de obicei funcționează lent și secvenţial (există diverse metode de accelerare, multiplicatori de matrice etc., dar acest lucru, în orice caz, este design de circuit nebanal și greoi).
În RNS, este acum posibilă paralelizarea acestui proces: toate operațiunile cu resturile pentru fiecare bază sunt efectuate separat, independent și într-un singur ciclu de ceas. Evident, acest lucru accelerează toate calculele de multe ori; în plus, resturile sunt de o singură cifră prin definiție; în cele din urmă, rezultatele adunării, înmulțirii lor etc. pot fi calculate. nu este nevoie, doar flash-le în memoria tabelului de operații și citiți de acolo. Drept urmare, operațiunile pe numere în RNS sunt de sute de ori mai rapide decât abordarea tradițională! De ce acest sistem nu a fost implementat imediat și peste tot? Ca de obicei, totul este lin numai în teorie - calculele reale pot întâmpina probleme precum depășirea (atunci când numărul rezultat este prea mare pentru a se încadra într-un registru), rotunjirea în RNS este, de asemenea, foarte nebanală, precum și compararea numerelor (strict vorbind, RNS nu este sistemul pozițional și termenii „mai mult sau mai puțin” nu au deloc sens). Pe rezolvarea acestor probleme s-au concentrat Valach și Svoboda, deoarece avantajele pe care SOK le-a promis erau foarte mari.
Pentru a înțelege principiile de funcționare a mașinilor RNS, să luăm în considerare un exemplu (cei care nu sunt interesați de matematică îl pot omite):
Translația inversă, adică restabilirea valorii poziționale a unui număr din rest, este o chestiune mai supărătoare. Problema este că trebuie să rezolvăm de fapt sistemul de n comparații, ceea ce duce la calcule lungi. Sarcina principală a multor studii din domeniul RNS este de a optimiza acest proces, deoarece el stă la baza unui număr mare de algoritmi care, într-o formă sau alta, necesită cunoștințe despre poziția numerelor pe dreapta numerică. În teoria numerelor, metoda de rezolvare a sistemului indicat de comparații este cunoscută de foarte mult timp și constă într-un corolar al teoremei chineze deja menționate asupra resturilor. Formula de tranziție este destul de greoaie și nu o vom prezenta aici; vom observa doar că în majoritatea cazurilor această tranziție este evitată prin optimizarea algoritmilor în așa fel încât să rămână în cadrul RNS până la final.
Un avantaj suplimentar al acestui sistem este că, folosind o metodă tabelară și, de asemenea, într-un singur ciclu de ceas în RNS, puteți efectua nu numai operații asupra numerelor, ci și asupra funcțiilor arbitrar complexe care pot fi reprezentate ca polinom (cu excepția cazului, desigur, , rezultatul nu depășește intervalul de reprezentare). În cele din urmă, SOC are un alt avantaj important. Putem introduce motive suplimentare și astfel obținem redundanța necesară controlului erorilor, într-un mod natural și simplu, fără a aglomera sistemul cu redundanță triplă.
Mai mult, RNS permite controlul să fie efectuat în timpul calculului în sine și nu numai atunci când rezultatul este scris în memorie (cum fac codurile de corectare a erorilor într-un sistem de numere convențional). În general, aceasta este, în general, singura modalitate de a controla ALU așa cum funcționează, și nu rezultatul final în RAM. În anii 1960, procesorul ocupa un dulap sau mai multe, conținând multe mii de elemente individuale, contacte lipite și conector, precum și kilometri de conductori - o sursă garantată de diverse interferențe, defecțiuni și defecțiuni și necontrolate. Tranziția la SOC a făcut posibilă creșterea rezistenței sistemului la defecțiuni de sute de ori.
Drept urmare, mașina SOK a avut avantaje enorme.
- Cea mai mare toleranță la erori posibilă, cu control automat încorporat al corectitudinii fiecărei operațiuni în fiecare etapă - de la citirea numerelor la aritmetică și scrierea în RAM. Cred că este inutil să explic că pentru sistemele de apărare antirachetă aceasta este poate cea mai importantă calitate.
- Paralelismul maxim teoretic posibil al operațiilor (în principiu, absolut toate operațiile aritmetice din cadrul RNS ar putea fi efectuate într-un singur ciclu de ceas, fără a se acorda nicio atenție adâncimii de biți a numerelor sursei) și viteza calculelor, de neatins de către orice. altă metodă. Din nou, nu este nevoie să explicăm de ce calculatoarele ABM trebuie să fie cât mai productive posibil.
Astfel, mașinile SOK pur și simplu implorau să fie folosite ca computer de apărare antirachetă; în acei ani nu putea exista nimic mai bun decât ele în acest scop, dar astfel de mașini trebuiau încă construite în practică și toate dificultățile tehnice puteau fi ocolite. Cehii au făcut față cu brio acestui lucru.
Rezultatul a cinci ani de cercetare a fost articolul lui Walach „Originea sistemului de cod și numere al claselor rămase”, publicat în 1955 în colecția „Stroje Na Zpracovani Informaci”, vol. 3, Nakl. CSAV, la Praga. Totul era pregătit pentru a dezvolta computerul. Svoboda a implicat, pe lângă Walach, mai mulți studenți talentați și absolvenți în acest proces, iar munca a început. Din 1958 până în 1961, aproximativ 65% din componentele mașinii, numite EPOS I (din cehă elektronkovy počitač středni - computer de mijloc), au fost gata. Calculatorul urma să fie produs la uzina ARITMA, dar, ca și în cazul SAPO, implementarea EPOS I nu a fost lipsită de dificultăți, mai ales în domeniul producției de bază a elementului.
Lipsa feritelor pentru unitatea de memorie, calitatea proastă a diodelor, lipsa echipamentelor de măsurare - acestea sunt doar o listă incompletă a dificultăților cu care au avut de înfruntat Svoboda și elevii săi. Căutarea maximă a fost să obțineți un lucru atât de elementar precum o bandă magnetică, poveste achiziția ei seamănă și cu o mică poveste de dragoste industrială. În primul rând, în Cehoslovacia a lipsit ca clasă; pur și simplu nu a fost produs, deoarece nu aveau deloc echipament pentru asta. În al doilea rând, în țările CMEA situația era similară - până atunci doar URSS producea cumva banda. Nu numai că era de o calitate îngrozitoare (în general, problema cu perifericele și mai ales cu banda blestemata de la computer la casetele compacte i-a bântuit pe sovietici până la capăt, oricine a avut norocul să lucreze cu caseta sovietică are un număr imens de povești despre cum a fost rupt, turnat etc.), așa că din anumite motive comuniștii cehi nu au primit ajutor de la colegii lor sovietici și nimeni nu le-a dat panglica.
Drept urmare, ministrul Ingineriei Generale Karel Poláček a alocat o subvenție de 1,7 milioane de coroane pentru extracția de bandă în Occident, dar din cauza obstacolelor birocratice s-a dovedit că valută străină pentru această sumă nu a putut fi emisă în limita Ministerul Ingineriei Generale privind tehnologia importurilor. În timp ce rezolvăm această problemă, am ratat termenul limită de comandă pentru 1962 și a trebuit să așteptăm tot anul 1963. În cele din urmă, abia în timpul Târgului Internațional de la Brno din 1964, ca urmare a negocierilor dintre Comisia de Stat pentru Dezvoltarea și Coordonarea Științei și Tehnologiei și Comisia de Stat pentru Management și Organizare, a fost posibilă importarea memoriei pe bandă împreună cu ZUSE 23 computer (au refuzat să vândă separat banda cehoslovacă din cauza embargoului, a trebuit să cumpăr un computer întreg de la elvețian neutru și să scot unitățile magnetice de pe acesta).
EPOS 1
EPOS I era un computer cu tub unicast cu o structură modulară. În ciuda faptului că din punct de vedere tehnic a aparținut primei generații de mașini, unele dintre ideile și tehnologiile folosite în ea erau foarte avansate și au fost introduse pe scară largă abia câțiva ani mai târziu în mașinile de a doua generație. EPOS I era alcătuit din 15 de tranzistoare cu germaniu, 000 de diode cu germaniu și 56 de tuburi vid, în funcție de configurație avea o viteză de 000–7 kIPS, ceea ce, la vremea respectivă, nu era rău. Aparatul era echipat cu o tastatură cehă și slovacă. Limbajul de programare – autocod EPOS I și ALGOL 800.
Registrele mașinii au fost asamblate pe cele mai avansate linii de întârziere magnetostrictivă din nichel-oțel pentru acei ani. Aceasta a fost mult mai rece decât tuburile de mercur Arrow și a fost folosită în multe modele occidentale până la sfârșitul anilor 1960, deoarece o astfel de memorie era ieftină și relativ rapidă, folosită de LEO I, diferite mașini Ferranti, IBM 2848 Display Control și multe alte terminale video timpurii. (un fir a stocat de obicei 4 șiruri de caractere = 960 de biți). De asemenea, a fost folosit cu succes la primele calculatoare electronice desktop, inclusiv Friden EC-130 (1964) și EC-132, calculatorul programabil Olivetti Programma 101 (1965) și calculatoarele programabile Litton Monroe Epic 2000 și 3000 (1967).
În general, Cehoslovacia a fost un loc uimitor în această privință - ceva între URSS și Europa de Vest cu drepturi depline. Pe de o parte, la mijlocul anilor 1950 au existat probleme chiar și cu lămpile (să ne amintim că au existat și în URSS, deși nu într-o măsură atât de avansată), iar Svoboda a construit primele mașini pe tehnologia monstruos de depășită a Anii 1930 - pe de altă parte, la începutul anilor 1960, liniile de întârziere cu nichel complet moderne au devenit disponibile inginerilor cehi, care au început să fie utilizate în dezvoltările interne 5-10 ani mai târziu (în momentul în care au devenit învechite în Occident, pt. de exemplu, Iskra-11 intern a fost un analog aproximativ al lui Friden ”, 1970 și „Electronics-155”, 1973, iar acesta din urmă a fost considerat atât de avansat încât a primit chiar și o medalie de argint la VDNH).
EPOS I, după cum ați putea ghici, era zecimal și avea periferice bogate; în plus, Svoboda includea câteva soluții hardware unice în computer, care erau semnificativ înaintea timpului lor. Operațiunile I/O într-un computer sunt întotdeauna mult mai lente decât lucrul cu RAM și ALU, s-a decis să se folosească timpul de inactivitate al procesorului, în timp ce programul pe care îl executa a accesat unități externe lente, pentru a lansa un alt program independent - în acest fel se putea executa pana la 5 programe in paralel! Aceasta a fost prima implementare din lume de multiprogramare folosind întreruperi hardware. Mai mult, a fost introdusă diviziunea în timp externă (lansare paralelă a programelor care funcționează cu diverse module independente ale mașinii) și internă (conducte pentru operațiunea de diviziune, cea mai intensivă în muncă), ceea ce a făcut posibilă creșterea semnificativă a productivității.
Această soluție inovatoare este considerată pe bună dreptate o capodopera arhitecturală a Libertății și a fost utilizată pe scară largă în computerele industriale din Occident doar câțiva ani mai târziu. Control multiprogram computerizat EPOS I a fost dezvoltat atunci când însăși ideea de partajare a timpului era încă la început, chiar și în literatura profesională de inginerie electrică din a doua jumătate a anilor 1970 este încă menționată ca fiind foarte avansată.
Computerul a fost echipat cu un panou de informații convenabil pe care a fost posibilă monitorizarea progresului proceselor în timp real. Designul a presupus inițial că fiabilitatea componentelor principale nu era ideală, astfel încât EPOS I putea corecta erorile individuale fără a întrerupe calculul în curs. O altă caracteristică importantă a fost capacitatea de a schimba componente la cald, precum și de a conecta diverse dispozitive de intrare/ieșire și de a crește numărul de memorii de tambur sau magnetice. Datorită structurii sale modulare, EPOS I a avut o gamă largă de aplicații: de la prelucrarea în masă a datelor și automatizarea lucrărilor administrative până la calcule științifice, tehnice sau economice. În plus, era elegant și destul de frumos; cehii, spre deosebire de URSS, s-au gândit nu numai la performanță, ci și la designul și confortul mașinilor lor.
În ciuda solicitărilor urgente din partea guvernului și a subvențiilor financiare de urgență, Ministerul Ingineriei Generale nu a putut asigura capacitatea de producție necesară la uzina VHJ ZJŠ Brno, unde urma să fie fabricat EPOS I. Inițial, sa presupus că mașinile din această serie ar satisface nevoile economiei naţionale până în jurul anului 1970. În cele din urmă, totul a ieșit mult mai trist, problemele cu componentele nu au dispărut, în plus, puternica preocupare TESLA a intervenit în joc, care a fost teribil de neprofitabil pentru a produce mașini cehe.
În primăvara anului 1965, în prezența specialiștilor sovietici, au fost efectuate teste de stat de succes ale EPOS I, la care structura sa logică, a cărei calitate corespundea nivelului mondial, a fost deosebit de apreciată. Din păcate, computerul a devenit obiectul unor critici nefondate din partea unor „experți” în computer care au încercat să împingă decizia de a importa computere, de exemplu, a scris președintele Comisiei Slovace de Automatizare Jaroslav Michalica (Dovážet, nebo vyrábět samočinné počítače? În: Rudé právo , 13. dubna 1966, s. 3.):
Aceasta a fost o critică ofensivă și fără temei, deoarece niciunul dintre deficiențele indicate nu se referă direct la EPOS - consumul său de energie depindea doar de baza elementului utilizat și era destul de adecvat pentru o mașină cu lampă, problemele cu banda erau în general mai mult politice decât tehnice, și instalarea oricărui cadru principal în cameră și acum implică o pregătire atentă și este destul de dificilă. Software-ul nu a avut șansa să apară din aer - avea nevoie de mașini de producție. Inginerul Vratislav Gregor a obiectat la această problemă după cum urmează:
Din păcate, până la finalizarea dezvoltării și acceptării EPOS I, acesta era într-adevăr foarte depășit și VÚMS, fără a pierde timp, a început simultan să-și construiască versiunea complet tranzistorizată.
EPOS 2
EPOS 2 a fost dezvoltat din 1960 și a reprezentat punctul culminant al calculatoarelor de a doua generație din lume. Modularitatea designului a permis utilizatorilor să adapteze computerul, la fel ca prima versiune, la tipul specific de problemă rezolvată. Viteza medie de operare a fost de 38,6 kIPS. Pentru comparație: puternicul mainframe bancar Burroughs B5500 – 60 kIPS, 1964; CDC 1604A, mașina legendară a lui Seymour Cray, folosită inclusiv la Dubna în proiectele nucleare sovietice, avea o putere de 81 kIPS, chiar media din linia sa IBM 360/40, dintre care o serie au fost ulterior clonate în URSS, dezvoltate în URSS. 1965, a dat doar 40 de kIPS! Conform standardelor de la începutul anilor 1960, EPOS 2 era o mașină de primă clasă, la egalitate cu cele mai bune modele occidentale.
Distribuția timpului în EPOS 2 era încă controlată nu de software, ca în multe computere străine, ci de hardware. Ca întotdeauna, a fost o problemă cu banda blestemată, dar au fost de acord să o importe din Franța, iar mai târziu TESLA Pardubice și-a stăpânit producția. Pentru computer, a fost dezvoltat propriul sistem de operare - ZOS, și a fost flash în ROM. Codul ZOS a fost limba țintă pentru FORTRAN, COBOL și RPG. Testarea prototipului EPOS 2 în 1962 a avut succes, dar până la sfârșitul anului computerul nu a fost finalizat din aceleași motive ca EPOS 1. Ca urmare, producția a fost amânată până în 1967. Din 1968, ZPA Čakovice a produs în serie EPOS 2 sub denumirea ZPA 600, iar din 1971 - într-o versiune îmbunătățită ZPA 601. Producția în serie a ambelor computere s-a încheiat în 1973. ZPA 601 a fost parțial compatibil cu software-ul cu linia de vehicule sovietică MINSK 22. Au fost produse un total de 38 de modele ZPA, care au fost printre cele mai fiabile sisteme din lume. Au fost folosite până în 1978. Tot în 1969, a fost realizat un prototip al micului computer ZPA 200, dar nu a intrat în producție.
Revenind la TESLA, trebuie menționat că conducerea lor a sabotat cu adevărat proiectul EPOS cu toată puterea și dintr-un motiv simplu. În 1966, au împins Comitetul Central al Republicii Socialiste Cehoslovace în credite în valoare de 1,1 miliarde de coroane pentru achiziționarea de mainframe-uri franco-americane Bull-GE și nu aveau deloc nevoie de un computer intern simplu, convenabil și ieftin. Presiunile din partea Comitetului Central au dus la faptul că nu numai că a fost lansată o campanie de discreditare a lucrărilor lui Svoboda și a instituției sale (ați văzut deja un citat de acest fel și a fost publicat nu oriunde, ci în organul principal de tipar). al Partidului Comunist din Cehoslovacia Rudé právo), dar și în cele din urmă Ministerului Ingineriei Mecanice Generale i s-a ordonat să se limiteze la producerea a două EPOS I; în total, împreună cu prototipul, au fost realizate până la urmă 3 dintre ele.
EPOS 2 a primit și boot-ul, TESLA a încercat din răsputeri să arate că această mașină este inutilă, iar prin conducerea DG ZPA (Fabrici de instrumente și automatizări, de care aparținea VÚMS) a împins ideea unui concurs deschis pentru dezvoltarea de Freedom și cel mai recent mainframe TESLA 200. Producătorul francez de calculatoare BULL a fost în 1964, împreună cu producătorul italian Olivetti, americanii au cumpărat General Electric, au inițiat dezvoltarea unui nou mainframe BULL Gamma 140. Cu toate acestea, lansarea lui pentru piața americană a fost anulat, deoarece Yankees au decis că va concura pe plan intern cu propriul lor General Electric GE 400. Drept urmare, proiectul a rămas în aer, dar apoi reprezentanții TESLA au apărut cu succes și au cumpărat prototipul și drepturile de a-l produce pentru 7 milioane de dolari. (în final, TESLA nu numai că a produs aproximativ 100 dintre aceste computere, dar a reușit să vândă și câteva dintre ele în URSS!). Această mașină din a treia generație, numită TESLA 200, urma să învingă nefericitul EPOS.
TESLA avea un computer depanat în serie complet gata, cu un set complet de teste și software, VÚMS avea doar un prototip cu un set incomplet de periferice, un sistem de operare neterminat și unități cu o frecvență de magistrală de 4 ori mai mică decât cele instalate pe mainframe-ul francez. . După o rulare preliminară, rezultatele EPOS au fost, așa cum era de așteptat, dezamăgitoare, dar genialul programator Jan Sokol a modificat semnificativ algoritmul standard de sortare, angajații, lucrând non-stop, au șlefuit hardware-ul, au pus mâna pe câteva unități rapide similare. către TESLA, iar în cele din urmă EPOS 2 a câștigat un mainframe francez mult mai puternic!
În cadrul evaluării rezultatelor primei runde, Sokol, într-o discuție cu ZPA, a vorbit despre condițiile nefavorabile ale competiției, agreate cu conducerea. Cu toate acestea, plângerea sa a fost respinsă cu cuvintele „după o luptă, fiecare soldat este general”. Din păcate, victoria EPOS nu i-a influențat foarte mult soarta, în mare parte din cauza momentului nefericit - era 1968, trupele sovietice conduceau prin Praga rezervoare, suprimând Primăvara de la Praga și renumit întotdeauna pentru liberalismul său extrem, VÚMS (din care, de altfel, jumătate dintre cei mai buni ingineri au fugit recent în Occident împreună cu Libertatea) nu a fost, ca să spunem ușor, nu ținut la mare cinste de autorități. .
Dar apoi începe cea mai interesantă parte a poveștii noastre - despre modul în care evoluțiile cehe au stat la baza primelor mașini sovietice de apărare antirachetă și ce final neplăcut le-a așteptat în cele din urmă, dar despre asta vom vorbi data viitoare.
Va urma...
informații