DŽUS
Jan G. Oblonsky, jeden z prvních studentů Svobody a vývojář EPOS-1, to takto připomíná (Eloge: Antonin Svoboda, 1907-l980, IEEE Annals of the History of Computing Vol. 2. č. 4, říjen 1980):
Původní myšlenku předložil Svoboda na svém kurzu počítačového vývoje v roce 1950, kdy si při vysvětlování teorie budování multiplikátorů všiml, že v analogovém světě neexistuje žádný strukturální rozdíl mezi sčítačem a multiplikátorem (jediný rozdíl je v aplikaci příslušná měřítka na vstupu a výstupu), zatímco zatímco jejich digitální implementace jsou zcela odlišné struktury. Pozval své studenty, aby se pokusili najít digitální obvod, který by prováděl násobení a sčítání se srovnatelnou lehkostí. O nějaký čas později jeden ze studentů, Miroslav Valach, oslovil Svobodu s myšlenkou kódování, které se stalo známým jako systém zbytkové třídy.
Abyste porozuměli jeho práci, musíte si pamatovat, co je to dělení přirozených čísel. Je zřejmé, že pomocí přirozených čísel nemůžeme reprezentovat zlomky, ale dělíme dělení se zbytkem. Je snadné vidět, že při dělení různých čísel stejným zadaným m lze získat stejný zbytek, v takovém případě říkají, že původní čísla jsou srovnatelná modulo m. Očividně může být přesně 10 zbytků - od nuly do devíti. Matematici si rychle všimli, že je možné vytvořit číselnou soustavu, kde se místo tradičních čísel objeví zbytky dělení, protože je lze sčítat, odčítat a násobit stejným způsobem. Výsledkem je, že jakékoli číslo může být reprezentováno sadou ne čísel v obvyklém slova smyslu, ale sadou takových zbytků.
Proč takové zvrácenosti, opravdu něco usnadňují? Jak to vlastně bude s prováděním matematických operací. Jak se ukázalo, pro stroj je mnohem snazší provádět operace ne s čísly, ale se zbytky, a tady je důvod. V systému zbytkových tříd je každé číslo, víceciferné a velmi dlouhé v obvyklém pozičním systému, reprezentováno jako n-tice jednociferných čísel, což jsou zbytky dělení původního čísla základnou RNS (a n -tice čísel coprime).
Jak se práce při takovém přechodu zrychlí? V konvenčním pozičním systému jsou aritmetické operace prováděny postupně bit po bitu. V tomto případě se převody tvoří na další nejvýznamnější bit, který pro jejich zpracování vyžaduje složité hardwarové mechanismy, fungují zpravidla pomalu a postupně (existují různé metody zrychlení, multiplikátory matic atd., Ale toto, v v každém případě jde o netriviální a těžkopádné obvody).
RNS má nyní schopnost paralelizovat tento proces: všechny operace se zbytky pro každou základnu se provádějí samostatně, nezávisle a v jednom hodinovém cyklu. Očividně to mnohonásobně zrychlí všechny výpočty, navíc jsou zbytky podle definice jednobitové a v důsledku toho vypočítají výsledky jejich sčítání, násobení atd. není to nutné, stačí je flashovat do paměti operační tabulky a odtud číst. Výsledkem je, že operace s čísly v RNS jsou stokrát rychlejší než tradiční přístup! Proč nebyl tento systém implementován okamžitě a všude? Jako obvykle se to děje pouze hladce teoreticky - skutečné výpočty mohou mít takovou nepříjemnost, jako je přetečení (když je konečné číslo příliš velké na to, aby bylo možné ho vložit do registru), zaokrouhlování v RNS je také velmi netriviální, stejně jako srovnání čísel (přesně řečeno, RNS není poziční systém a termíny „více či méně“tam nemají vůbec žádný význam). Právě na řešení těchto problémů se Valakh a Svoboda zaměřili, protože výhody, které SOC slibovala, byly již velmi velké.
Abyste zvládli principy fungování strojů SOC, zvažte příklad (kdo se nezajímá o matematiku, může jej vynechat):
Reverzní překlad, tj. Obnovení poziční hodnoty čísla ze zbytků, je problematičtější. Problém je, že ve skutečnosti potřebujeme vyřešit systém n srovnání, což vede k dlouhým výpočtům. Hlavním úkolem mnoha studií v oblasti RNS je tento proces optimalizovat, protože je základem velkého počtu algoritmů, ve kterých jsou v té či oné formě nezbytné znalosti o poloze čísel na číselné ose. V teorii čísel je metoda řešení naznačeného systému srovnání známá již velmi dlouhou dobu a spočívá v důsledku již zmíněné čínské zbytkové věty. Přechodový vzorec je poměrně těžkopádný a nebudeme jej zde uvádět, pouze poznamenáváme, že ve většině případů se tomuto překladu pokoušíme vyhnout, přičemž optimalizujeme algoritmy tak, aby zůstaly v RNS až do konce.
Další výhodou tohoto systému je, že tabulkovým způsobem a také v jednom cyklu v RNS můžete provádět nejen operace s čísly, ale také s libovolně složitými funkcemi reprezentovanými formou polynomu (pokud samozřejmě výsledek nepřekračuje rozsah zobrazení). Nakonec má SOC ještě jednu důležitou výhodu. Můžeme zavést další důvody a tak získat redundanci nezbytnou pro řízení chyb přirozeným a jednoduchým způsobem, aniž bychom přeplnili systém trojitou redundancí.
RNS navíc umožňuje provádět řízení již v procesu samotného výpočtu, a to nejen tehdy, když je výsledek zapsán do paměti (jak to dělají kódy pro opravu chyb v konvenčním číselném systému). Obecně je to obecně jediný způsob, jak ovládat ALU v průběhu práce, a ne konečný výsledek v paměti RAM. V šedesátých letech procesor obsadil skříň nebo několik, obsahoval mnoho tisíc jednotlivých prvků, pájené a rozebíratelné kontakty a také kilometry vodičů - zaručený zdroj různých interferencí, selhání a selhání a nekontrolovaných. Přechod na SOC umožnil stokrát zvýšit stabilitu systému vůči poruchám.
Díky tomu měl stroj SOK kolosální výhody.
- Nejvyšší možná odolnost proti chybám „po vybalení z krabice“s automatickou vestavěnou kontrolou správnosti každé operace v každé fázi - od čtení čísel po aritmetiku a zápis do paměti RAM. Myslím, že je zbytečné vysvětlovat, že pro systémy protiraketové obrany je to možná nejdůležitější kvalita.
-
Maximální možná teoretická rovnoběžnost operací (v zásadě by mohly být absolutně všechny aritmetické operace v rámci RNS prováděny v jednom cyklu, přičemž se vůbec nevěnuje pozornost bitové hloubce původních čísel) a rychlost výpočtů nedosažitelná jinou metodou. Opět není třeba vysvětlovat, proč měly být počítače protiraketové obrany co nejefektivnější.
Stroje SOK tedy jednoduše prosily o jejich použití jako protiraketového obranného počítače, v těchto letech pro tento účel nemohlo být nic lepšího než oni, ale takové stroje bylo stále třeba stavět v praxi a bylo nutné obejít všechny technické potíže. Češi se s tím skvěle vyrovnali.
Výsledkem pětiletého výzkumu byl Wallachův článek „Původ kódové a číselné soustavy zbývajících tříd“, publikovaný v roce 1955 ve sbírce „Stroje Na Zpracovani Informaci“, roč. 3, Nakl. CSAV, v Praze. Vše bylo připraveno pro vývoj počítače. Kromě Wallacha do procesu přilákal Svoboda ještě několik talentovaných studentů a postgraduálních studentů a práce začala. Od roku 1958 do roku 1961 bylo připraveno asi 65% součástí stroje s názvem EPOS I (z českých elektronkových počitač středni - střední počítač). Počítač měl být vyroben v zařízeních závodu ARITMA, ale stejně jako v případě SAPO nebylo zavedení EPOS I bezproblémové, zejména v oblasti výroby základny prvků.
Nedostatek feritů pro paměťovou jednotku, špatná kvalita diod, nedostatek měřicího zařízení - to je jen neúplný seznam obtíží, se kterými se Svoboda a jeho studenti museli potýkat. Maximálním úkolem bylo získat tak elementární věc, jako je magnetická páska, příběh jejího získání také čerpá z malého průmyslového románu. Za prvé, v Československu to jako třída chybělo; prostě se to nevyrábělo, protože na to neměli vůbec žádné vybavení. Za druhé, v zemích RVHP byla situace podobná - v té době pásku nějakým způsobem vyráběl pouze SSSR. Nejen, že to bylo děsivé kvality (obecně problém s periferiemi a zejména s tou zatracenou páskou od počítače po kompaktní kazety pronásledoval Sověty až do samého konce, každý, kdo měl to štěstí pracovat se sovětskou páskou, má obrovské řada příběhů o tom, jak se to trhalo, sypalo atd.), takže čeští komunisté z nějakého důvodu nečekali na pomoc od svých sovětských kolegů a nikdo jim nedal stužku.
Výsledkem je, že ministr všeobecného strojírenství Karel Poláček přidělil dotaci 1,7 milionu korun na těžbu pásky na Západě, ale kvůli byrokratickým překážkám se ukázalo, že cizí měnu pro tuto částku nelze uvolnit v rámci limitu ministerstva všeobecného strojírenství pro dovozovou technologii. Zatímco jsme řešili tento problém, zmeškali jsme termín objednávky na rok 1962 a museli jsme čekat na celý rok 1963. Nakonec až během mezinárodního veletrhu v Brně v roce 1964, v důsledku jednání mezi Státní komisí pro rozvoj a koordinaci vědy a technologie a Státní komisí pro řízení a organizaci, bylo možné dosáhnout importu páskové paměti společně s počítačem ZUSE 23 (odmítli prodat pásku z Československa samostatně kvůli embargu, musel jsem koupit celý počítač od neutrálních Švýcarů a odstranit z něj magnetické mechaniky).
EPOS 1
EPOS I byl modulární unicast elektronkový počítač. Navzdory skutečnosti, že technicky patřil k první generaci strojů, některé myšlenky a technologie v něm použité byly velmi pokročilé a byly masivně implementovány až o několik let později ve strojích druhé generace. EPOS I sestával z 15 000 germaniových tranzistorů, 56 000 germaniových diod a 7800 elektronek, v závislosti na konfiguraci měl rychlost 5–20 kIPS, což v té době nebylo špatné. Vůz byl vybaven českou a slovenskou klávesnicí. Programovací jazyk - autocode EPOS I a ALGOL 60.
Registry stroje byly za ty roky shromážděny na nejmodernějších magnetostrikčních zpožďovacích linkách z niklové oceli. Bylo to mnohem chladnější než rtuťové trubice Strela a používalo se v mnoha západních provedeních až do konce 60. let, protože taková paměť byla levná a relativně rychlá, používaly ji LEO I, různé stroje Ferranti, IBM 2848 Display Control a mnoho dalších raných video terminálů (jeden drát obvykle ukládá 4 znakové řetězce = 960 bitů). Úspěšně byl také použit v raných stolních elektronických kalkulačkách, včetně Friden EC-130 (1964) a EC-132, programovatelné kalkulačky Olivetti Programma 101 (1965) a programovatelných kalkulaček Litton Monroe Epic 2000 a 3000 (1967).
Obecně bylo Československo v tomto ohledu úžasné místo - něco mezi SSSR a plnohodnotnou západní Evropou. Jednak v polovině padesátých let byly problémy dokonce s lampami (připomeňme, že byly také v SSSR, i když ne v tak zanedbané míře), a Svoboda postavil první stroje na monstrózně zastaralé technologii 30. let - relé naopak začátkem šedesátých let dostaly české inženýry k dispozici docela moderní niklové zpožďovací linky, které se začaly používat v domácím vývoji o 5-10 let později (v době jejich zastarávání na Západě, např. například domácí Iskra-11 ", 1970, a„ Electronics-155 ", 1973, a ten byl považován za tak pokročilý, že již obdržel stříbrnou medaili na výstavě hospodářských úspěchů).
EPOS I, jak asi tušíte, byl desítkový a měl bohatá periferie, navíc Svoboda poskytl v počítači několik unikátních hardwarových řešení, která výrazně předběhla dobu. I / O operace v počítači jsou vždy mnohem pomalejší než práce s RAM a ALU, bylo rozhodnuto použít čas nečinnosti procesoru, zatímco program, který prováděl, přistupoval k pomalým externím jednotkám, ke spuštění dalšího nezávislého programu - celkem tímto způsobem bylo možné provádět až 5 programů paralelně! Jednalo se o první implementaci multiprogramování na světě pomocí hardwarových přerušení. Kromě toho bylo zavedeno externí (paralelní spouštění programů pracujících s různými nezávislými strojovými moduly) a interní (pipeline pro divizní provoz, nejnáročnější) sdílení času, což umožnilo mnohonásobně zvýšit produktivitu.
Toto inovativní řešení je právem považováno za architektonické mistrovské dílo Svobody a bylo masivně aplikováno v průmyslových počítačích na Západě až o několik let později. Počítačové řízení EPOS I s více programováním bylo vyvinuto, když samotná myšlenka sdílení času byla ještě v plenkách, dokonce i v odborné elektrotechnické literatuře druhé poloviny 70. let minulého století je stále označována jako velmi pokročilá.
Počítač byl vybaven praktickým informačním panelem, na kterém bylo možné sledovat průběh procesů v reálném čase. Návrh původně předpokládal, že spolehlivost hlavních komponent není ideální, takže EPOS I mohl opravit jednotlivé chyby bez přerušení aktuálního výpočtu. Další důležitou funkcí byla možnost hot swap komponent, stejně jako připojení různých I / O zařízení a zvýšení počtu bubnových nebo magnetických úložných zařízení. Díky své modulární struktuře má EPOS I širokou škálu aplikací: od hromadného zpracování dat a automatizace administrativní práce až po vědecké, technické nebo ekonomické výpočty. Navíc byl ladný a docela pohledný, Češi na rozdíl od SSSR mysleli nejen na výkon, ale také na design a pohodlí svých vozů.
Navzdory naléhavým žádostem vlády a nouzovým finančním dotacím nebylo ministerstvo generálního strojírenství schopno zajistit potřebnou výrobní kapacitu v závodě VHJ ZJŠ Brno, kde se měl vyrábět EPOS I. Původně se předpokládalo, že stroje tato řada by zhruba do roku 1970 splňovala potřeby národního hospodářství. Nakonec vše dopadlo mnohem smutnější, problémy s komponenty nezmizely, navíc do hry zasáhl výkonný koncern TESLA, který byl na výrobu českých aut strašně nerentabilní.
Na jaře 1965 byly za přítomnosti sovětských specialistů provedeny úspěšné státní testy EPOS I, na nichž byla obzvláště oceněna jeho logická struktura, jejíž kvalita odpovídala světové úrovni. Počítač se bohužel stal předmětem neopodstatněné kritiky některých počítačových „odborníků“, kteří se pokusili prosadit rozhodnutí o importu počítačů, napsal například předseda Slovenské automatizační komise Jaroslav Michalica (Dovážet, nebo vyrábět samočinné počítače?: Rudé právo, 13.ubna 1966, s. 3.):
Kromě prototypů nebyl v Československu vyroben ani jeden počítač. Z pohledu světového vývoje je technická úroveň našich počítačů velmi nízká. Například spotřeba energie EPOS I je velmi vysoká a dosahuje 160–230 kW. Další nevýhodou je, že má pouze software ve strojovém kódu a není vybaven potřebným počtem programů. Konstrukce počítače pro vnitřní instalaci vyžaduje velké stavební investice. Navíc jsme plně nezajistili dovoz magnetické pásky ze zahraničí, bez které je EPOS I zcela k ničemu.
Byla to urážlivá a nepodložená kritika, protože žádný z uvedených nedostatků přímo nesouvisel s EPOS - jeho spotřeba energie závisela pouze na použité základně prvků a pro lampový stroj byl zcela dostačující, problémy s páskou byly obecně více politické než technické a instalace jakéhokoli sálového počítače do místnosti a nyní je spojena s jeho důkladnou přípravou a je docela obtížná. Software neměl šanci objevit se z ničeho - potřeboval sériová auta. Inženýr Vratislav Gregor se proti tomu ohradil:
Prototyp EPOS I fungoval perfektně 4 roky v nepřizpůsobených podmínkách ve třech směnách bez klimatizace. Tento první prototyp našeho stroje řeší úkoly, které je obtížné vyřešit na jiných počítačích v Československu … například sledování kriminality mladistvých, analýza fonetických dat, kromě menších úkolů v oblasti vědeckých a ekonomických výpočtů, které mají významnou praktickou aplikaci. Pokud jde o programovací nástroje, EPOS I je vybaven ALGOL … Pro třetí EPOS I bylo vyvinuto asi 500 I / O programů, testů atd. Žádný jiný uživatel importovaného počítače nám nikdy neměl k dispozici programy tak včas a v takovém množství.
Bohužel v době, kdy byl vývoj a přijetí EPOS I dokončen, byl již opravdu velmi zastaralý a VÚMS, aniž by ztrácel čas, souběžně začal budovat svoji plně tranzistorizovanou verzi.
EPOS 2
EPOS 2 se vyvíjí od roku 1960 a představuje vrchol počítačů druhé generace na světě. Modulární konstrukce umožnila uživatelům přizpůsobit počítač, jako první verze, konkrétnímu typu úkolů, které je třeba vyřešit. Průměrná provozní rychlost byla 38,6 kIPS. Pro srovnání: výkonný bankovní mainframe Burroughs B5500 - 60 kIPS, 1964; CDC 1604A, legendární stroj Seymour Cray, který byl také používán v Dubně v sovětských jaderných projektech, měl výkon 81 kIPS, dokonce průměr v řadě IBM 360/40, jehož řada byla později klonována v SSSR, vyvinuté v roce 1965, ve vědeckých problémech vydalo pouze 40 kIPS! Podle standardů z počátku šedesátých let byl EPOS 2 špičkovým autem na úrovni nejlepších západních modelů.
Distribuci času v EPOS 2 stále neřídil software, jako u mnoha zahraničních počítačů, ale hardware. Jako vždy tam byla zástrčka se zatracenou páskou, ale souhlasili s dovozem z Francie a později TESLA Pardubice zvládla její výrobu. Pro počítač byl vyvinut vlastní operační systém ZOS, který byl flashován do ROM. ZOS kód byl cílovým jazykem pro FORTRAN, COBOL a RPG. Testy prototypu EPOS 2 v roce 1962 byly úspěšné, ale do konce roku nebyl počítač dokončen ze stejných důvodů jako EPOS 1. V důsledku toho byla výroba odložena až na rok 1967. Od roku 1968 vyrábí ZPA Čakovice sériově EPOS 2 pod označením ZPA 600 a od roku 1971 - ve vylepšené verzi ZPA 601. Sériová výroba obou počítačů skončila v roce 1973. ZPA 601 byl částečně softwarově kompatibilní se sovětskými stroji řady MINSK 22. Celkem bylo vyrobeno 38 modelů ZPA, které byly jedním z nejspolehlivějších systémů na světě. Byly používány až do roku 1978. Také v roce 1969 byl vyroben prototyp malého počítače ZPA 200, ale do výroby se nedostal.
Když se vrátíme k společnosti TESLA, je třeba poznamenat, že jejich vedení skutečně sabotovalo projekt EPOS ze všech sil a z jednoho prostého důvodu. V roce 1966 prosadili na ÚV Československa alokace ve výši 1, 1 miliardy korun na nákup francouzsko-amerických mainframů Bull-GE a jednoduchý, pohodlný a levný domácí počítač vůbec nepotřebovali. Tlak ústředního výboru vedl k tomu, že byla zahájena nejen kampaň na diskreditaci děl Svobody a jejího institutu (citát tohoto druhu jste již viděli a nebyl zveřejněn nikde, ale v hlavním tiskovém orgánu Komunistická strana Československa Rudé právo), ale také nakonec bylo nařízeno ministerstvo generální stavby strojů omezit výrobu dvou EPOS I, celkem byly společně s prototypem nakonec vyrobeny 3 kusy.
Také EPOS 2 dostal hit, společnost TESLA se všemožně snažila ukázat, že tento stroj je k ničemu, a prostřednictvím vedení DG ZPA (Instrument and Automation Factories, do kterého VÚMS patřil) prosadil myšlenku otevřené soutěže mezi vývoj Liberty a nejnovějšího sálového počítače TESLA 200. Francouzský výrobce počítačů BULL byl V roce 1964 společně s italským výrobcem Olivetti koupili Američané General Electric, zahájili vývoj nového sálového počítače BULL Gamma 140. Jeho vydání pro americký trh byl zrušen, protože se Yankees rozhodli, že bude interně konkurovat jejich vlastní General Electric GE 400. Výsledkem bylo, že projekt visel ve vzduchu, ale poté se úspěšně objevili zástupci společnosti TESLA a za 7 milionů dolarů koupili prototyp a práva na jeho výrobu (v důsledku toho TESLA nejen vyrobila asi 100 takových počítačů, ale několik se jich podařilo prodat také v SSSR!). Právě tento vůz třetí generace s názvem TESLA 200 měl porazit nešťastné EPOS.
TESLA měla kompletně hotový sériově odladěný počítač s plnou sadou testů a softwaru, VÚMS měl jen prototyp s neúplnou sadou periferií, nedokončeným operačním systémem a pohony s frekvencí sběrnice 4krát menší, než jaké byly instalovány na francouzském mainframe. Po předběžném běhu byly výsledky EPOS podle očekávání zklamáním, ale důmyslný programátor Jan Sokol výrazně upravil pravidelný algoritmus řazení, zaměstnanci, kteří pracovali nepřetržitě, připomínali hardware, zmocnili se několika rychlých disků podobně jako TESLA, a ve výsledku EPOS 2 vyhrál mnohem výkonnější francouzský mainframe!
Při hodnocení výsledků prvního kola hovořil Sokol při diskusi se ZPA o nepříznivých podmínkách soutěže, souhlasil s vedením. Jeho stížnost však byla zamítnuta se slovy „po boji je každý voják generál“. Vítězství EPOS bohužel jeho osud nijak výrazně neovlivnilo, a to především kvůli neblahé době - psal se rok 1968, Prahou projížděly sovětské tanky, potlačující pražské jaro a VÚMS, vždy proslulý extrémním liberalismem (z něhož navíc, nedávno uprchl se Svobodou), polovina nejlepších inženýrů na Západě) byla, mírně řečeno, úřady příliš neoceněna.
Pak ale začíná nejzajímavější část našeho příběhu - jak český vývoj tvořil základ prvních sovětských protiraketových obranných prostředků a jaký neslavný konec je nakonec čekal, o tom si ale povíme příště.