IBM a sedm trpaslíků (druhá část)

16. 11. 2010
Doba čtení: 19 minut

Sdílet

V dnešní části seriálu o historii vývoje výpočetní techniky si popíšeme elektronkový počítač UNIVAC-1, který je významný především z toho důvodu, že se jednalo o první komerčně dostupný počítač a taktéž o první programovatelný stroj, který dokázal efektivně pracovat i s textovými daty, nejenom s číselnými údaji.

Obsah

1. Elektronkový počítač UNIVAC-1

2. První komerčně dostupný elektronický počítač na světě

3. UNIVAC-1 předpovídá výsledky prezidentských vo­leb

4. Technologie UNIVACu-1 a organizace jeho operační paměti

5. Když slovo „slovo“ skutečně znamenalo „slovo“

6. Úschova čísel a kód Excess-3

7. Instrukční soubor počítače UNIVAC-1

8. Vstupně-výstupní zařízení, UNISERVO a použití osciloskopu pro debugging

9. Odkazy na Internetu

1. Elektronkový počítač UNIVAC-1

V předchozí části seriálu o historii výpočetní techniky jsme se mj. seznámili i s počítačem BINAC (BINary Automatic Computer), který byl již v roce 1949 postaven firmou Eckert-Mauchly Computer Corporation (EMCC) založenou a vlastněnou J. P. Eckertem a Johnem Mauchlym, kteří se o několik let dříve podíleli na vývoji slavného ENIACu. Počítač BINAC je z technologického i historického hlediska významný především z toho důvodu, že v něm byly poprvé použity zpožďovací akustické linky vyvinuté samotným Eckertem, který při jejich konstrukci vycházel z existujících (analogových) obvodů používaných u některých typů leteckých radarů. Ovšem BINAC nebyl příliš úspěšným počítačem, mj. i kvůli jeho velké poruchovosti. Mnohem úspěšnější a taktéž slavnější je další počítač navržený firmou EMCC. Jedná se o počítač s názvem UNIVAC neboli „UNIVersal Automatic Computer“, s jehož parametry se seznámíme v následujícím tex­tu.

Obrázek 1: Elektronkový počítač UNIVAC-1

Zajímavé je, že firma EMCC byla ještě před prodejem počítače UNIVAC (ale až po dokončení jeho návrhu) v roce 1950 zakoupena společností Remington Rand, z které byla následně vyčleněna divize nesoucí stejné jméno UNIVAC jaké měly počítače, které tato divize navrhovala a vyráběla. Posléze se společnost Remington Rand v roce 1955 spojila s firmou Sperry Corp. v celek nazvaný Sperry Rand a po několika dalších akvizicích (Borroughs atd.) vznikla známá firma UNISYS. I kvůli slávě jména UNIVAC (minule jsme se ostatně zmiňovali o odvozenině MULTIVAC Isaaca Asimova) se můžeme v některých materiálech setkat s tvrzením, že prý existoval počítač IBM-UNIVAC, což však samozřejmě není pravda.

Obrázek 2: První vyrobený kus počítače UNIVAC-1 při jeho prezentaci na veřejnosti.

Naopak – zatímco počítač UNIVAC byl navržen především pro soukromou sféru a vládní „nesilové“ organizace, byla firma IBM v padesátých letech minulého století angažována především při konstrukci počítačů pro armádu USA (používaly se pravděpodobně jak pro výpočty související s vývojem zbraňových systémů, tak i pro klasickou byrokratickou agentu) a taktéž počítačů určených pro různé vědeckotechnické výpočty. Ostatně není bez zajímavosti, že společnost IBM jen v letech 1951 až 1959 získala z vládních zdrojů více než 390 milionů dolarů, což představovalo téměř 70% všech peněz, z nichž se financoval její výzkum a vývoj. Právě zde lze (samozřejmě kromě historických zkušeností s děrnoštítkovými třídicími a počítacími stroji a podobnými zařízeními) hledat jeden z důvodů, proč IBM měla v oblasti výpočetní techniky mnohem větší vliv než její méně dotovaní konkurenti. Mimochodem, první elektronkový počítač firmy IBM – model IBM 701 – byl použit jako „Defense Calculator“ v korejské válce.

2. První komerčně dostupný elektronický počítač na světě

V předchozí kapitole jsme si řekli, že počítač UNIVAC-1 byl navržen takovým způsobem, aby ho bylo možné použít pro automatizaci různých procesů prováděných ve velkých komerčních společnostech (malé společnosti v té době většinou neměly prostředky na pronájem jeho strojového času a už vůbec ne na pořízení vlastního počítače). Zatímco v oblasti vojenských aplikací (výpočty balistických drah…) a vědeckotechnických výpočtů se používaly na svou dobu velmi výkonné stroje optimalizované pro provádění operací s čísly s pevnou či plovoucí řádovou tečkou, byl počítač UNIVAC-1 postavený naprosto odlišným způsobem – byl totiž uzpůsoben pro provádění relativně jednoduchých aritmetických operací s velkým množstvím dat (představme si například účetní uzávěrku velké organizace nebo vedení skladů). Navíc dokázal – jako první elektronický počítač na světě – pracovat i s textovými daty, což je opět rozdíl oproti jiným typům strojů, které se na přelomu čtyřicátých a padesátých let v USA a paralelně též ve Velké Británii a SSSR konstruovaly.

Obrázek 3: Řídicí panel počítače UNIVAC-1.

Co je však neméně důležité – počítač UNIVAC-1 se poměrně snadno programoval, protože i relativně velké komerční společnosti neměly – opět na rozdíl od vládních organizací či velkých vědeckých institucí – dostatek prostředků na zaplacení armády programátorů a operátorek. Jak si řekneme v dalším textu, byly prakticky všechny jeho instrukce – kromě dvou binárně kódovaných instrukcí – zapisovány do paměti po jednotlivých znacích (každá instrukce byla zapsána šesticí znaků umístěných v pravé či levé polovině dvanácti znakového slova), což znamenalo, že se vlastně ani nemusel provádět překlad programu z assembleru do strojového kódu. A platila i opačná varianta: výpis programu z paměti byl ihned srozumitelný bez nutnosti zdlouhavě studovat instrukční kódy. Programy se, jak bylo v té době zvykem a vlastně i nutností, zapisovaly do speciálních formulářů, z nichž se na upravených psacích strojích přepisovaly na magnetickou pásku – buď přímo pomocí zařízení UNITYPE, nebo nepřímo s využitím děrných štítků a zařízení, které kopírovalo data z děrných štítků na magnetickou pásku.

Obrázek 4: Takto se programoval UNIVAC-1: instrukce se zapisovaly do předtištěných tabulek, posléze se na upravených psacích strojích vyděrovaly na děrnou pásku a následně překopírovaly na pásku magnetickou.

3. UNIVAC-1 předpovídá výsledky prezidentských voleb

Celkem bylo vyrobeno 46 kusů počítače UNIVAC-1, přičemž zcela první vyrobený kus byl sice již dopředu prodán, ale firma EMCC ho ještě několik týdnů používala pro prezentace – ostatně právě tento stroj je vyfocený na druhém obrázku v první kapitole. Jedním z prvních zákazníků, který si UNIVAC-1 pořídil, byl Úřad pro sčítání lidu (Bureau of the Census), který byl součástí Ministerstva obchodu USA (U.S. Department of Commerce). Zajímavé je, že v tomto úřadě pracovala dvojice počítačů UNIVAC-1 až do roku 1963 – první z nich celých dvanáct let a druhý více než devět roků (a to se přitom jednalo o revoluční období, kdy se u dalších počítačů postupně přešlo od elektronek k tranzistorům a integrovaným obvodům).

Ostatně Bureau of the Census měl s třídicími a počítacími stroji dlouholeté zkušenosti. Od roku 1790 se totiž každých 10 let provádělo v USA sčítání lidu. Desáté sčítání v roce 1880 ještě znamenalo ruční třídění a sčítání 50 milionů lístků, které trvalo celých sedm let. Naproti tomu jedenácté sčítání již využívalo revoluční Hollerithovy děrnoštítkové stroje (pantografový děrovač děrného štítku a pouhých dvanáct třídicích a počítacích strojů), což vedlo k tomu, že všech 62 milionů štítků bylo zpracováno do šesti týdnů (!) s úsporou více než půl milionu tehdejších (zlatých) dolarů.

Obrázek 5: Znak Ministerstva obchodu USA.

Zatímco Bureau of the Census byl významný zákazník především v tom ohledu, že se jednalo o státní zakázku, další významní zákazníci, kteří si UNIVAC-1 pořídili, byly již komerční firmy. Například se jednalo o pojišťovací společnost Prudential Insurance či další pojišťovací společnost Life and Casualty of Tennessee (zde jeden UNIVAC-1 pracoval dokonce až do roku 1970, tj. téměř 20 let!). Mezi další zákazníky, kteří si počítače UNIVAC-1 zakoupily nebo pronajaly, patřily i obří korporace, mezi jinými General Electric (což je paradoxní, protože GE vlastně svými stroji UNIVACu konkurovala), Du Pont, Westinghouse, U.S.Steel, ale taktéž další vládní organizace US Air Force či US Army Map Service (v tomto případě byl UNIVAC-1 umístěn přímo v Pentagonu).

Obrázek 6: Znak Úřadu pro sčítání lidu.

Počítače UNIVAC-1 se staly známé i mezi laickou veřejností poté, co byl v roce 1952 pátý z těchto strojů využit firmou CBS (jedna z největších amerických společností zabývajících se rádiovým a televizním vysíláním) k predikci výsledků prezidentských voleb. Do volebního modelu bylo zaneseno pouhé jedno procento všech hlasů a přesto byl předpovězený výsledek správný. Televizní diváci viděli přímo řídicí panel UNIVACu-1, u něhož stáli při komentování předpovězených výsledků reportéři – většina diváků zde poprvé mohla vidět skutečný pracující počítač. Možná právě zde můžeme hledat Asimovův námět na fiktivní počítač MULTIVAC řídicí světovou politiku i ekonomiku.

4. Technologie UNIVACu-1 a organizace jeho operační paměti

Počítač UNIVAC-1 pracoval s hodinovou frekvencí 2,25 MHz a dokázal provést cca 1905 operací za sekundu (jednou operací je zde myšlen přesun slova, součet dvou slov, porovnání dvou slov atd., operace násobení samozřejmě trvala mnohem delší dobu). Řadič a aritmeticko-logická jednotka byla sestavena z elektronek, kterých se v celém počítači nacházelo pouze 5200, což je méně než třetina elektronek použitých o několik let dříve u ENIACu. Celý počítač zabral plochu cca 35 metrů čtverečních (jen aritmeticko-logická jednotka a paměti byly umístěny ve skříni o rozměrech 4,3×2,4×2,6 metrů), vážil 13 tun a spotřeboval (pokud nepracovaly rychlotiskárny) přes 125 kW elektrické energie. Paměť byla tvořena zpožďovacími linkami popsanými v následujícím odstavci, sekundární paměť byla tvořena jednotkami s magnetickými páskami a výstup byl prováděn buď přímo na tiskárnu (což však nebylo příliš ekonomické), nebo se tisk prováděl v režimu offline, tj. mimo vlastní počítač, z tiskových sestav uložených na magnetických páscích.

Obrázek 7: Paměť se zpožďovací linkou počítače UNIVAC-1 vystavená v muzeu.

Operační paměť byla zkonstruována ze zpožďovacích akustických linek, jejichž princip jsme si popsali v předchozí části tohoto seriálu. Celá paměť byla vytvořena ze sedmi takzvaných tanků (jeden z těchto tanků je vyfocen na obrázku 7 a 8), přičemž každý tank obsahoval 18 samostatně a individuálně řízených kanálů (každý kanál měl k dispozici vlastní řídicí, obnovovací a synchronizační obvody). V každém kanálu „cirkulovalo“ deset dvanáctiznakových slov, což ve výsledku znamená, že celkem bylo možné mít v operační paměti uloženo 7×18×10=1260 slov. Ovšem pro vlastní data bylo vyhrazeno pouze 100 kanálů (1000 slov) ze 126, protože 12 kanálů bylo využito ve funkci I/O registrů (v podstatě se jednalo o dvojici bufferů – jeden vstupní a jeden výstupní), 6 kanálů bylo záložních, 7 kanálů bylo použito pro řízení teploty operační paměti (každý z těchto kanálů byl umístěn na jednom tanku) a poslední, tj.  126. kanál sloužil jako desetislovní pomocný registr Y. Průměrná přístupová doba k jednotlivým slovům byla poměrně slušná – jednalo se o 222 mikrosekund, ovšem konkrétní časy se samozřejmě lišily podle toho, kde se zrovna načítané či ukládané slovo v akustické zpožďovací lince nacházelo.

Obrázek 8: Proudový motor^W^W další pohled na jeden tank počítače UNIVAC-1 se zpožďovacími linkami.

5. Když slovo „slovo“ skutečně znamenalo „slovo“

V předchozí kapitole jsme si řekli, že operační paměť vytvořená z akustických zpožďovacích linek dokázala uchovat jeden tisíc slov. Termínem „slovo“ je v tomto kontextu myšleno dvanáct znaků nebo dvanáct desítkových číslic, což znamená, že se skutečně jednalo o jednotku informace schopnou uchovat skutečné slovo, například jméno zaměstnance při výpočtu mezd nebo občana při sčítání lidu. Ostatně populární věta „na začátku bylo slovo a to slovo mělo dva bajty“ je sice v hackerských kruzích relativně často používána, ovšem termín „bajt“ se ve skutečnosti objevil až o několik let později než termín „slovo“.

Obrázek 9: Popis jednotlivých částí paměti se zpožďovacími linkami počítače UNIVAC-1.

Nicméně se vraťme ke slovům zpracovávaným počítačem UNIVAC-1. Tento počítač měl znakovou sadu s 63 alfanumerickými znaky a mezerou (viz též obrázek číslo 10), což znamenalo, že pro úschovu jednoho znaku bylo zapotřebí použít šestici bitů. Slovo tedy mělo šířku 12×6=72 bitů, ke kterým byly navíc připojeny ještě bity pro detekci chyb a k nim se při uložení slova do akustické zpožďovací linky přidávaly další synchronizační bity. Celková programátory využitelná kapacita operační paměti by v dnešních jednotkách byla rovna: 1000×72=72000 bitům = 9000 bajtům, což není mnoho, když si uvědomíme, že v nich byla uložena jak data, tak i vlastní program (ovšem data bylo možné průběžně načítat z magnetických pásek, takže se takto kapacita paměti dala plynule navyšovat).

Obrázek 10: Znaková sada používaná u UNIVACu-1.

6. Úschova čísel a kód Excess-3

Pokud se ve slovu uchovávaly numerické hodnoty, byla každá desítková číslice uložena jako běžný znak, tj. do šesti bitů. Celé číslo mělo délku 11 decimálních číslic, protože dvanáctý znak byl použit pro úschovu znaménka (nejedná se tedy o příliš paměťově efektivní způsob záznamu informací). Ze šesti bitů pro každou decimální číslici měly význam pouze čtyři bity (16 možných kombinací, z nichž 10 bylo korektních), přičemž se při kódování hodnoty používala varianta BCD kódu známá pod názvem Excess-3, nebo též Stibitzův kód. BCD kódy se velmi často používaly u první i druhé generace počítačů především z toho důvodu, že bylo velmi snadné od sebe oddělit jednotlivé dekadické číslice, a to jak při vstupu dat z děrných štítků, tak i při jejich tisku. Počítání v binárním kódu je sice snadnější (a to i implementačně), ale samotný převodník z binárního kódu do BCD a naopak z kódu BCD do kódu binárního byl v některých případech složitější než samotná aritmeticko-logická jednotka počítačů první generace. Z tohoto důvodu se binární kód prosadil až o mnoho let později u počítačů, v nichž byla použita složitější a výkonnější ALU.

Ostatně není bez zajímavosti, že podpora pro komprimované i nekomprimované BCD kódy stále existuje například i na „moderní“ platformě x86 dodnes; postačuje se podívat na instrukce AAA, AAS, AAM a AAD určené pro nekomprimovaný BCD (jedna číslice uložená v jednom bajtu), i DAA a DAS pro komprimované BCD (dvě číslice uložené v jednom bajtu). Popravdě řečeno jsem však kromě instrukcí DAA a DAS zbývající čtyři instrukce v žádném reálném programu neviděl. Naproti tomu typ „decimal“ používaný matematickými koprocesory je využit v některých finančních aplikacích, zejména kvůli naprosté přesnosti při práci s desetinami a setinami.

Obrázek 11: Klávesnice operátora, která mohla taktéž sloužit k editaci programu v paměti.

Vraťme se však ke kódu Excess-3. Oproti běžnému váhovému kódu BCD má kód Excess-3 několik předností, kvůli nimž byl použit ve více typech počítačů první a druhé generace. Především lze snadno vytvořit takzvaný devítkový doplněk prostou inverzí všech čtyř bitů reprezentujících desítkovou číslici. Devítkový doplněk má přitom stejnou funkci jako dvojkový doplněk u binárního kódu – umožňuje převést operaci rozdílu na operaci součtu prvního operandu s devítkovým doplňkem operandu druhého. Dále je snadné zjistit přetečení při sčítání – postačuje přečíst bit carry z poslední (čtvrté) sčítačky. Jedinou a to poměrně malou nevýhodou tohoto kódu je to, že se po každé operaci součtu musí provést úprava výsledku součtu, aby byl taktéž reprezentován v kódu Excess-3.

Obrázek 12: Cesta od programu a dat napsaných na papíru a posléze na magnetické pásce ke kýženému výsledku – zpracovaným datům (například tiskové sestavě).

Následuje tabulka pro převod mezi desítkovými číslicemi a kódem Excess-3. Při podrobnějším pohledu na tuto tabulku je zřejmé, odkud se vzal název tohoto kódu – oproti běžnému BCD je jediný rozdíl v tom, že jsou všechny binární kódy posunuty o hodnotu 3:

Číslice Sekvence bitů
0 0011
1 0100
2 0101
3 0110
4 0111
5 1000
6 1001
7 1010
8 1011
9 1100

7. Instrukční soubor počítače UNIVAC-1

V této kapitole si stručně popíšeme formát instrukcí používaných na počítači UNIVAC-1. Instrukční soubor tohoto počítače byl z důvodů uvedených v úvodních kapitolách velmi jednoduchý a snadno naučitelný. Navíc byly všechny instrukce v operační paměti i na magnetických páskách uloženy takovým způsobem, že se daly jednoduše číst (zde je myšleno čtení programátorem) a modifikovat. Každá instrukce byla vytvořena ze šestice alfanumerických znaků, což znamenalo, že se do jednoho slova mohly uložit dvě instrukce – první instrukce v levé části slova, druhá instrukce v části pravé. Tento formát nebyl příliš úsporný, proto byl později zaveden speciální formát se třemi čtyřznakovými instrukcemi uloženými v jednom slovu. Většina instrukcí obsahovala adresní část zapsanou trojicí decimálních číslic (víc číslic nebylo nutných, když celá paměť měla pouze 1000 slov, tj. adresní rozsah 000 až 999). Adresní část byla použita při ukládání slov, jejich načítání nebo při podmíněném nebo nepodmíněném skoku.

Obrázek 13: Interní struktura počítače UNIVAC-1.

Programátoři mohli využívat několik registrů, především akumulátor A, pomocný registr X, registr pro porovnávání L a řídicí registr CC, který vlastně vykonával funkci čítače instrukcí (PC). V následující tabulce je vypsáno několik instrukcí z instrukční sady UNIVACu-1 (popravdě řečeno příliš mnoho dalších instrukcí zde nebylo implementováno). Důležité je si uvědomit, že se nejedná pouze o mnemotechnické názvy instrukcí, ale přímo o formát či kód, jakým jsou instrukce uloženy v operační paměti v šesti znacích, což je rozdíl oproti dnes běžným instrukčním kódům, kde každému mnemotechnickému názvu odpovídá více či méně složitý binární kód závisející například na použitém adresním režimu atd. U UNIVACu-1 existují jen dva adresní režimy – přímá adresa operandu v operační paměti (absolute address) či konstanta 000–999 (immediate). Ostatní adresní režimy se nahrazovaly samomodifikujícím se kódem:

Instrukce Význam
B00XXX přenos slova z adresy XXX do registru A a X
L00XXX přenos slova z adresy XXX do registru LX
C00XXX uložení obsahu registru A do paměti na adresu XXX
A00XXX přičtení obsahu paměti z adresy XXX k registru A (X je použit pro přenosy)
Q00×xx pokud jsou registry L a A rovny, naplň registr CC číslem XXX – neboli proveď skok v následujícím tak­tu
000×xx SKIP (odpovídá instrukcím typu NOP)
900×xx STOP (zastavení programu a indikace tohoto stavu na řídicím panelu počítače)

Obrázek 14: Programátorský model UNIVACu-1. Kromě vlastní operační paměti s 1000 slovy a dvojice bufferů (vstupní a výstupní registry I a O), jsou důležité především pracovní registry L, A a X používané při aritmetických operacích a porovnávání. Celá ALU je vlastně zjednodušena na sčítačku a komparátor. Registry F a X jsou automaticky naplňovány a přepisovány při provádění mnoha operací, například paměťových přesunech nebo sčítání.

Jako malou ukázku programování počítače UNIVAC-1 si uveďme velmi jednoduchý program, který prohodí obsah slov na adresách 100 a 101, přičemž slovo na adrese 102 je použito pro uložení mezivýsledku:

Adresa Levá část slova Pravá část slova Poznámka
000 B00 100 C00 102 kopie slova z adresy 100 na adresu 102
001 B00 101 C00 100 kopie slova z adresy 101 na adresu 100
002 B00 102 C00 101 kopie slova z adresy 102 na adresu 101
003 900 000 000 000 instrukce STOP a doplnění slova o instrukci SKIP (NOP)

8. Vstupně-výstupní zařízení, UNISERVO a použití osciloskopu pro debugging

K počítači UNIVAC-1 bylo možné připojit několik typů periferních zařízení. Především se jednalo o páskové mechaniky UNISERVO, kterých mohlo být současně připojeno až deset. Při popisu interní struktury UNIVACu-1 jsme si řekli, že kromě operační paměti a pracovních registrů byla část zpožďovacích audio linek vyhrazena pro vstupní a výstupní buffery I a O (resp. rI a r0) používané právě páskovými mechanikami. Důležité bylo to, že čtení a zápis dat na magnetické pásky se prováděl paralelně s prací aritmeticko-logické jednotky a programového řadiče, což v praxi znamenalo, že se data mohla postupně načítat, zpracovávat a taktéž ukládat a to bez většího zdržení výpočtu – tímto způsobem se vlastně rozšiřovalo množství údajů, které bylo možné programem zpracovat. Navíc uměly páskové jednotky UNISERVO při čtení/zápisu posunovat páskou jak dopředu, tak i dozadu, což zjednodušilo například implementaci algoritmů pro řazení nebo slučování dat (samozřejmě se jednalo o velmi časté operace, které byly předchůdkyněmi operací prováděných dnes většinou v relačních databázích).

Obrázek 15: Princip práce páskové jednotky zůstal zachován i po dalších téměř 40 let.

Při zápisu dat na magnetické pásky UNISERVO se používalo známé kódování Manchester, především kvůli nutnosti průběžné synchronizace časovače. Šířka magnetické pásky byla rovna jedné polovině palce (13 mm) a její délka cca 1200 stop. Data byla organizována do bloků o velikosti 60 slov po 12 znacích – jedná se tedy o velikost odpovídající kapacitě vstupního a výstupního bufferu. Magnetické pásky byly používány i několika offline zařízeními (termín offline se zde používá proto, že tato zařízení pracovala bez ohledu na vlastní počítač zcela samostatně). Jednalo se především o konvertor z děrných štítků na magnetické pásky a taktéž o tiskárnu, která zpracovávala tiskové sestavy uložené na magnetické pásce – tyto časově náročné operace se tedy mohly provádět, aniž by bylo nutné obětovat drahý strojový čas počítače (systémy se sdílením strojového času byly vytvořeny až pro výkonnější počítače s mnohem větší kapacitou operační paměti).

bitcoin školení listopad 24

Obrázek 16: Páskové jednotky používané u modernějších typů počítačů UNIVAC.

Ovšem pravděpodobně nejzajímavějším zařízením byl řídicí panel s připojeným osciloskopem. Na tomto panelu se mj. nacházely i tři sloupce přepínačů 0–9, pomocí nichž bylo možné navolit adresu 000–999 libovolného slova v operační paměti. Signál, kterým bylo toto slovo „uloženo“ ve zpožďovací audio lince, se poté zobrazoval na připojeném osciloskopu – jedná se vlastně o jednu z prvních forem prohlížení obsahu operační paměti v reálném čase (což dnes již prakticky není možné). Díky tomu, že se na osciloskopu zobrazoval přímo analogový signál detekovaný obnovovacími a synchronizačními obvody, dokázal zkušený operátor nejenom rozeznat uložené slovo (tj. všech jeho 12×6=72 bitů), ale i bity pro detekci chyb, synchronizační bity a některé chyby, které ve zpožďovací lince mohly nastat v případě, že se celý systém „rozladil“ (například kvůli poruše regulátoru teploty) – v tomto případě byly signály buď příliš utlumené, nebo naopak docházelo k jejich odrazům.

9. Odkazy na Internetu

  1. BUNCH
    http://en.wiki­pedia.org/wiki/BUN­CH
  2. The Colossus That Works
    http://www.ti­me.com/time/ma­gazine/article/0,9171,9­49693–5,00.html
  3. Mainframe computer
    http://en.wiki­pedia.org/wiki/Ma­inframe_compu­ter
  4. UNIVAC
    http://en.wiki­pedia.org/wiki/U­nivac
  5. UNIVAC I
    http://en.wiki­pedia.org/wiki/U­NIVAC_I
  6. United States Census Bureau
    http://en.wiki­pedia.org/wiki/U­nited_States_Cen­sus_Bureau
  7. Slideshow – More Core Memories
    http://spectrum­.ieee.org/com­puting/hardwa­re/slideshow-more-core-memories
  8. UNIVAC I Mercury Delay Line Memory
    http://ed-thelen.org/comp-hist/vs-univac-mercury-memory.html
  9. Digital Number System Part-III
    http://www.asic-world.com/digi­tal/numbering3­.html
  10. Excess-3 – Definition
    http://www.wor­diq.com/defini­tion/Excess-3
  11. Excess-3
    http://en.wiki­pedia.org/wiki/Ex­cess-3
  12. Method of complements
    http://en.wiki­pedia.org/wiki/Met­hod_of_comple­ments
  13. Univac documentation
    http://www.bit­savers.org/pdf/u­nivac/univac1/
  14. UNISERVO
    http://en.wiki­pedia.org/wiki/U­NISERVO
  15. John Mauchly
    http://en.wiki­pedia.org/wiki/Joh­n_Mauchly
  16. J. Presper Eckert
    http://en.wiki­pedia.org/wiki/J­._Presper_Eckert
  17. BINAC
    http://en.wiki­pedia.org/wiki/BI­NAC
  18. Delay line memory
    http://en.wiki­pedia.org/wiki/De­lay_line_memo­ry
  19. Paměť se zpožďovací linkou
    http://cs.wiki­pedia.org/wiki/Pa­měť_se_zpožďo­vací_linkou
  20. Description of the BINAC
    http://www.pa­losverdes.com/las­thurrah/binac-description.html
  21. UNIVersal Automatic Computer
    http://www.thoc­p.net/hardware/u­nivac.htm
  22. IBM 36-bit computers
    http://www.36bit­.org/ibm/
  23. Symbolics 36-bit computers
    http://www.36bit­.org/symbolic­s/
  24. IBM System 360/370 Compiler and Historical Documentation
    http://www.edel­web.fr/Simula/
  25. Who Was Who in IBM's Programming Research? Early FORTRAN Days
    http://www.tra­iling-edge.com/~bob­bemer/PRORES.HTM
  26. Control Data Corporation (CDC) 6600: 1966–1977
    http://www.cis­l.ucar.edu/com­puters/gallery/cdc/6600­.jsp
  27. Control Data Corporation (CDC) 7600: 1971–1983
    http://www.cis­l.ucar.edu/com­puters/gallery/cdc/7600­.jsp
  28. Cray History
    http://www.cra­y.com/About/His­tory.aspx?404;http:­//www.cray.com:80/a­bout_cray/his­tory.html
  29. Cray Historical Timeline
    http://www.cra­y.com/Assets/PDF/a­bout/CrayTime­line.pdf
  30. Company: Cray Research, Inc. (Computer History)
    http://www.com­puterhistory.or­g/brochures/com­panies.php?al­pha=a-c&company=com-42b9d5d68b216
  31. PDP-1 Web Pages
    http://www.pdp-1.org/
  32. PDP-1 Restoration Process
    http://pdp-1.computerhis­tory.org/pdp-1/
  33. Programmed Data Processor
    http://en.wiki­pedia.org/wiki/Pro­grammed_Data_Pro­cessor
  34. Digital Equipment Corporation
    http://en.wiki­pedia.org/wiki/Di­gital_Equipmen­t_Corporation
  35. PDP-1
    http://en.wiki­pedia.org/wiki/PDP-1
  36. Ancient Computing Machinery
    http://www.ee­.ryerson.ca/~el­f/ancient-comp/index.html
  37. Spacewar – The first computer video game. Really!
    http://www3.sym­patico.ca/mau­ry/games/space/spa­cewar.html
  38. Programmed Data Processor-1 Handbook
    http://www.dbit­.com/~greeng3/pdp1/pdp1­.html

Autor článku

Vystudoval VUT FIT a v současné době pracuje na projektech vytvářených v jazycích Python a Go.