Po druhé světové válce přestávaly být počítače ojedinělými experimenty. V roce 1953 začala IBM dodávat elektronkový Model 701 výzkumným laboratořím, leteckým firmám a americkým úřadům, o rok později uvedla sériově vyráběný IBM 650. Současně už vznikaly první stroje založené na tranzistorech. Československo nechtělo ve výpočetní technice zůstat stranou a domácí odpovědí se měl stát SAPO.
Když se však v únoru 1958 rozběhl v kompletní sestavě, světový vývoj už postoupil dál. Se třemi operacemi za sekundu nemohl rychlostí soupeřit s tehdejšími elektronkovými počítači. Svobodův tým navíc musel stroj postavit ze součástek, které byly dostupné v Československu. Počítal proto s jejich nespolehlivostí a každou operaci svěřil třem aritmetickým jednotkám.
Program i data se do tehdejších počítačů zapisovaly děrováním kartonu. Na obrázku je 90znakový systém Remington Rand, dobová obdoba 90sloupcových štítků používaných československou Aritmou.
Hotový počítač zabíral na Loretánském náměstí přibližně sto metrů čtverečních. Programy a data přijímal na děrných štítcích, výsledky i hlášení o chybách zapisoval elektrický psací stroj. Rozměry SAPO dobře ukazuje dochovaná fotografie, na níž u ovládacího pultu sedí konstruktér Zdeněk Korvas a za ním pokračují řady počítačových skříní.
Tři jednotky, jeden výsledek
Každou početní operaci prováděly současně tři nezávislé aritmetické jednotky. Kontrolní obvod jejich výsledky porovnal a vybral hodnotu, na které se shodly alespoň dvě. Pokud jedna jednotka chybovala a zbývající dvě vypočítaly totéž, SAPO mohl pokračovat.
Trojice tedy nezrychlovala výpočet rozdělením práce. Sloužila k přehlasování jednoho chybného výsledku. Dvě jednotky by pouze odhalily, že se jejich výsledky liší; třetí umožnila rozhodnout hlasováním. Princip se dnes označuje jako trojnásobná modulární redundance, SAPO jej však používal v době, kdy integrované obvody ještě nebyly součástí počítačů.
Relé spíná mechanickým pohybem kontaktů. SAPO jich používal přibližně sedm tisíc; na snímku je dobový prvek z počítače Zuse Z4.
Odolnost proti poruchám byla důležitá kvůli základním stavebním prvkům stroje. Hlavní logiku tvořilo asi sedm tisíc elektromagnetických relé, tedy spínačů s pohyblivými kontakty. Doplňovalo je přibližně čtyři sta elektronek. Sepnutí relé trvalo déle než změna elektrického stavu v elektronkovém obvodu a jeho kontakty se mohly opotřebovat nebo selhat. Hlasování tří jednotek pomáhalo tyto náhodné chyby zvládnout bez okamžitého zastavení výpočtu.
Počítač z dostupných součástek
Za projektem stál Antonín Svoboda, který se už před druhou světovou válkou zabýval výpočetní technikou pro řízení protiletadlové palby. Po útěku před nacisty se dostal do Spojených států a v letech 1941 až 1946 pracoval na MIT. Po návratu do Československa chtěl přispět k vybudování domácího počítačového výzkumu a průmyslu.
Antonín Svoboda vedl tým, který v Československu navrhl a postavil počítač SAPO.
První návrh elektronického matematického stroje představil Svoboda už v roce 1947. O tři roky později začal jeho tým v Ústředním ústavu matematickém připravovat SAPO. Ústav navrhoval samotný počítač, Aritma ve Vokovicích měla vyrobit část založenou na relé a Tesla-Elektronika dostala na starost bubnovou paměť. Původní plán počítal s dokončením na přelomu let 1955 a 1956.
Zleva Zdeněk Korvas, Jan Oblonský a vedoucí projektu Antonín Svoboda.
Svoboda elektronkové počítače znal, vhodné elektronky pro hlavní obvody se však v Československu nevyráběly a jejich dovoz komplikovalo západní embargo. Konstruktéři proto museli hlavní logiku založit na relé, která dokázal dodat domácí průmysl.
Otáčející se magnetický buben uchovával program i data. Paměť nabízela 1 024 slov po 32 bitech, tedy celkem 4 KiB. Jedna instrukce obsahovala pět adres: dvě ukazovaly na vstupní hodnoty, třetí určovala místo pro výsledek a poslední dvě vybíraly další krok programu podle znaménka výsledku. SAPO tak mohl v jediné instrukci spojit výpočet s rozhodnutím, kudy bude program pokračovat.
Magnetický buben ukládal data do stop na rotujícím válci. Tento exemplář pochází z IBM 650, který stejně jako SAPO používal bubnovou paměť.
Kombinace relé a bubnové paměti byla pomalá. Dobový technický popis uváděl průměr deset tisíc operací za hodinu, což odpovídá necelým třem operacím za sekundu. Elektronkový MESM u Kyjeva přitom už při převzetí do provozu na konci roku 1951 zvládal v průměru asi padesát operací za sekundu. Přímé srovnání různých instrukcí má své meze, rychlostní odstup však ukazuje dobře.
IBM 650 byl sériově vyráběný elektronkový počítač s bubnovou pamětí. SAPO naproti tomu zůstal jediným reléovým prototypem.
Rychlost nebyla jediným rozdílem. IBM 650 měl stejně jako SAPO magnetický buben, tím však podobnost končila. Šlo o elektronkový počítač určený pro sériovou výrobu: první zákazník jej dostal v prosinci 1954 a IBM nakonec instalovala téměř dva tisíce kusů. SAPO vznikl jako výzkumný prototyp v jediném exempláři a další počítač stejné konstrukce se nevyráběl.
„Znovu prosím o rok důvěry“
Termín na přelomu let 1955 a 1956 se nepodařilo dodržet. V červnu 1956 stále chyběla polovina potřebných relé, ústavu navíc chyběly vhodné dílny, peníze i lidé. Svoboda proto musel zpoždění vysvětlovat před prezidiem Československé akademie věd.
V domě na Loretánském náměstí 3 sídlil Ústav matematických strojů a SAPO zde zabíral několik místností.
Historik Petr Kovář ve své archivní rekonstrukci cituje Svobodovu obhajobu projektu. Připomněl při ní, že Václav Černý kreslil schéma operační jednotky čtrnáct měsíců.
Svoboda žádal, aby Akademie neposuzovala projekt jen podle rychlosti stroje. Zdůrazňoval také zkušenosti lidí, kteří se během vývoje naučili počítač navrhovat a stavět. Vystoupení uzavřel větou: „Znovu prosím o rok důvěry.“
Ani tento rok nestačil na úplné dokončení. SAPO se podařilo oživit v září 1957 a první úlohy počítal na podzim. V kompletní sestavě začal pracovat v únoru 1958.
Dva roky výpočtů ukončil požár
Od února 1958 pracoval SAPO v kompletní sestavě téměř dva roky. Bezproblémový provoz to nebyl, počítač postihovaly občasné poruchy a výpadky. Trojice aritmetických jednotek chránila jednotlivé výpočty před jednou náhodnou chybou, nedokázala však zabránit každé závadě stroje se sedmi tisíci mechanickými spínači.
Za dobu provozu počítal SAPO úlohy přibližně pro 38 podniků a institucí. Dochované záznamy uvádějí Astronomický ústav ČSAV, Avii, Ministerstvo hutí a rudných dolů, Ocelářský ústav nebo Ústav tepelné techniky. Na počítači probíhaly také experimenty z matematické lingvistiky.
Zdeněk Kašpar mezi otevřenými panely SAPO. Snímek ukazuje hustotu relé a kabeláže, kterou musel tým udržovat v provozu.
Jeden z jeho úkolů se týkal přímo budoucnosti československých počítačů. Konstruktéři na SAPO provedli část výpočtů potřebných pro návrh logických obvodů elektronkového nástupce EPOS 1.
Provoz ukončil v únoru 1960 požár. Jiskřící kontakty zapálily olej používaný k promazávání relé. Oheň poškodil jen přibližně dvě procenta zařízení, oprava zastaralého stroje už se však nepovažovala za hospodárnou. SAPO byl v roce 1962 rozebrán a některé jeho části převzaly odborné školy a Národní technické muzeum.
Za dva roky provozu SAPO svět rychlostí nedohnal. Počítal však pro desítky pracovišť a jeho provoz ověřil neobvyklou ochranu proti chybám. Když byl rozebrán, jeho konstruktéři už zkušenosti z projektu SAPO i výsledky jeho výpočtů využívali při stavbě další generace počítačů.