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

17. 3. 2011
Doba čtení: 19 minut

Sdílet

V dnešní části seriálu o historii výpočetní techniky si popíšeme další sálové počítače (mainframy) vyráběné na přelomu padesátých a šedesátých let společností Honeywell. Jedná se především o mainframe H-800 a taktéž o počítač H-200, který konkuroval jednomu z tehdy nejúspěšnějších strojů – sálovému počítači řady IBM 1400.

Obsah

1. Firma Honeywell a její sálový počítač H-800

2. Základní technické parametry sálového počítače H-800

3. Rozšířená instrukční sada počítače H-800

4. Význam znaménkového bitu v instrukčních slovech

5. Programování mainframu H-800

6. Sálové počítače řady IBM 1400

7. Přímá konkurence IBM 1400 – mainframy H-200

8. Obsah následující části seriálu

9. Odkazy na Internetu

1. Firma Honeywell a její sálový počítač H-800

V předchozí části seriálu o historii vývoje výpočetní techniky jsme si popsali první sálový počítač zkonstruovaný firmou Honeywell, která na přelomu padesátých a šedesátých let minulého století patřila mezi „sedm trpaslíků“ nad nimiž vysoko čněla společnost IBM s cca dvoutřetinovým podílem na trhu s mainframy. Víme již, že prvním mainframem Honeywellu byl sálový počítač Datamatic 1000, který byl ještě postavený na technologiích používaných v první generaci mainframů – jeho aritmeticko-logická jednotka i řadič byly sestaveny z elektronek a polovodičových diod. Současně se jednalo o poslední počítač společnosti Honeywell, který využíval tyto technologie – všechny další mainframy již byly plně založeny na polovodičové technologii, zpočátku na diskrétních bipolárních tranzistorech a diodách. Unipolární technologie se začala používat až v další generaci počítačů, protože například tranzistor typu MOSFET byl vyroben teprve v roce 1959, i když, což je možná trochu paradoxní, byl princip tranzistorů řízených elektrickým polem (FET) popsán již v roce 1925 Juliem Edgarem Lilienfeldem, tj. mnohem dříve, než popis bipolárního tranzistoru.

Obrázek 1: Tato kniha Williama Shockleyho byla považována za bibli v oblasti polovodičů.

Nicméně se vraťme ke společnosti Honeywell a k sálovým počítačům, které byly v této firmě zkonstruovány. Po počítači Datamatic 1000 byl v roce 1958 ohlášen další typ mainframu, jenž byl pojmenovaný Honeywell 800 nebo též zkráceně H-800. I přes poměrně časné ohlášení vzniku tohoto sálového počítače se s jeho skutečnou výrobou a prodejem začalo až v roce 1960. Celkem bylo zákazníkům dodáno 89 kusů tohoto stroje, což není z pohledu velmi drahých mainframů s nemalými prostorovými a energetickými nároky nijak zanedbatelné číslo: například mainframů UNIVAC III bylo oficiálně prodáno 96 kusů a počet prodaných sálových počítačů Burroughs B5500 jen těsně překročil hranici dvou set; ovšem tento typ počítače se vyráběl celých osm let, což je i na mainframy poměrně dlouhá doba, když si uvědomíme, že za těchto osm let se zcela změnila používaná technologie a na konci šedesátých let minulého století se již počítače konstruovaly s využitím integrovaných obvodů.

Obrázek 2: Jeden z modulů počítače Datatron 205 (vyráběného firmou Burroughs) osazený elektronkami a množstvím pasivních součástek.

2. Základní technické parametry sálového počítače H-800

I přes nepochybně revoluční změnu v použité technologii se některé další vlastnosti sálového počítače Honeywell 800 nijak podstatně neodlišovaly od jeho předchůdce Datamatic 1000. Aritmeticko-logické jednotky obou počítačů totiž zpracovávaly slova a šířce 48 bitů. Tato slova buď představovala osmici znaků, přičemž každý znak byl reprezentován pomocí šesti bitů, nebo mohlo být v každém slovu uloženo číslo s jedenácti číslicemi kódovanými v BCD (čtyři bity pro jednu desítkovou číslici) a znaménkem. V případě mainframu H-800 bylo umožněno zpracovávat i binárně kódovaná čísla se znaménkem i bez znaménka. Zde ovšem narážíme na jednu zvláštnost vyplývající z interní struktury aritmeticko-logické jednotky. Zatímco celá čísla bez znaménka byla reprezentována v klasickém binárním formátu s rozsahem 0 až 248-1, byl v případě čísel se znaménkem použit poněkud neobvyklý formát: první čtyři bity reprezentovaly znaménko (stejně jako v případě BCD kódu, tj. první bit byl znaménkový a další tři bity nulové) a pouze zbylých 44 bitů bylo možné použít pro uložení hodnoty binárně kódovaného čísla, což v praxi znamenalo, že rozsah reprezentovatelných číselných hodnot nebyl –140737488355328 až 140737488355327, ale „pouze“ –8796093022208 až 8796093022207.

Obrázek 3: Celkový pohled na sálový počítač Honeywell 800 (H-800).

Programový řadič taktéž, podobně jako aritmeticko-logická jednotka, zpracovával 48bitová slova. Každé z těchto slov představovalo instrukci, která mohla (samozřejmě kromě instrukčního kódu) obsahovat i adresy tří operandů: dvou operandů zdrojových a jednoho operandu cílového. Formát těchto typů instrukcí jsme si již popsali v předchozí části seriálu: v instrukci o konstantní šířce 48 bitů se nacházel znaménkový bit s významem popsaným dále, tři zónové bity (které zvyšovaly adresu příslušného operandu o dekadickou hodnotu 1000), tři adresy operandů (každá představovaná trojicí BCD číslic, tj. jednalo se o adresový rozsah 000 až 999) a konečně osm bitů, v nichž byl uložen operační kód instrukce. Bity, ze kterých se skládal 48bitový instrukční kód s výše popsaným formátem, jsou vypsány v následující tabulce:

Index bitu Počet bitů Význam
0 1 znaménkový bit – u většiny instrukcí je vynulovaný
1 1 zónový bit pro první operand
2 1 zónový bit pro druhý operand
3 1 zónový bit pro třetí operand
4 4 vyšší číslice představující operační kód instrukce [0–9]
8 4 nižší číslice představující operační kód instrukce [0–9]
12 4 jedna dekadická číslice adresy prvního operandu [0–9]
16 4 -//-
20 4 -//-
24 4 jedna dekadická číslice adresy druhého operandu [0–9]
28 4 -//-
32 4 -//-
36 4 jedna dekadická číslice adresy třetího operandu [0–9]
40 4 -//-
44 4 -//-

Obrázek 4: Fotografie řídicího panelu sálového počítače DATAmatic 1000 – předchůdce mainframu H-800.

3. Rozšířená instrukční sada počítače H-800

Instrukční sada sálového počítače Honeywell 800 obsahovala kromě výše popsaných tříadresových instrukcí i další typy instrukcí, v jejichž instrukčním kódu se používaly odlišné typy adresování. U těchto instrukcí byl znaménkový bit (popsaný dále) i operační kód instrukce shodný, stejné bylo i kódování cílové adresy, tj. určení paměťové buňky, do níž se měl zapsat výsledek operace. Ovšem při specifikaci první a druhé zdrojové adresy byl význam jednotlivých bitů v instrukčním slovu odlišný. První odlišnost spočívala v tom, že tři bity adresy určovaly číslo index registru, kterých bylo k dispozici celkem osm. Kromě toho bylo možné namísto zdrojové adresy (tj. 48bitového slova ležícího v operační paměti) určit i číslo registru, kterých bylo na jeden proces alokováno 32 (do tohoto počtu se započítávaly i index registry). Třetí změnou – možná tou nejzajímavější – bylo pět bitů obsahujících hodnotu, která se přičetla ke zvolenému index registru po provedení operace. Díky těmto pěti bitům bylo možné procházet například polem a po každé instrukci zvyšovat adresu použitou při další iteraci o hodnotu 0 až 31.

Obrázek 5: Sálový počítač Honeywell 200 (H-200).

Již v předchozím odstavci jsem se zmínil o pracovních registrech a index registrech. Index registrů existovalo pro každý proces osm, pracovních registrů šestnáct a dalším osmi registrům byly přiřazeny speciální funkce (z tohoto hlediska se počítače Honeywell 800 částečně podobaly architektuře RISC, ovšem tento pojem byl poprvé použit až o zhruba dvacet pět let později). 32 registrů (16 pracovních registrů + 8 index registrů + 8 speciálních registrů) tvořilo takzvanou registrovou sadu, kterých bylo k dispozici celkem osm. V praxi to znamenalo, že v jeden okamžik mohlo být na počítači Honeywell 800 provozováno osm samostatně běžících procesů, z nichž každý používal vlastní sadu registrů a vlastní programový čítač (přesněji řečeno čítače). O přepínání procesů se staral řadič a jediným podstatným rozdílem mezi tímto způsobem práce s procesy a moderní variantou mikroprocesoru s podporou multiprocesingu bylo to, že sálové počítače Honeywell 800 neobsahovaly plnohodnotnou ochranu paměti, což znamenalo, že špatně naprogramovaná aplikace mohla přepisovat paměť jinému procesu.

Obrázek 6: Sálové počítače Honeywell (nebo přesněji řečeno jejich periferní zařízení) se objevily i v několika filmech (zde v Billion-Dollar Brain).

4. Význam znaménkového bitu v instrukčních slovech

Poslední zajímavou a dnes již zcela neobvyklou vlastnost instrukční sady sálového počítače Honeywell 800 představuje již několikrát zmíněný bit reprezentující u číselných hodnot znaménko čísla. Tento bit (jedná se o nejvyšší bit v instrukčním slovu, tj. o bit s indexem 47) měl speciální význam i u instrukcí, protože se na základě jeho hodnoty vybíralo, který ze dvou programových čítačů se použije při načítání další instrukce. Sálové počítače Honeywell 800 totiž neobsahovaly pouze jediný programový čítač, který je v současnosti většinou pojmenovaný PC (Program Counter), ale dvojici programových čítačů pojmenovaných Sequence Counter (SC) a Cosequence Counter (CSC). Pomocí znaménkového bitu v instrukci se určovalo, který z těchto čítačů bude použit pro výběr následující instrukce (ovšem na tomto místě je nutné poznamenat, že se v průběhu vykonávání instrukce zvyšovala hodnota toho programového čítače, který byl použit při načítání instrukce – je to ostatně očekávatelné chování).

Obrázek 7: Další ukázka použití mainframů Honeywell ve filmu.

Díky této vlastnosti instrukční sady bylo možné v některých případech do jisté míry omezit počet skokových instrukcí (a vlastně i skoků) v aplikacích, v nichž byl například implementován stavový automat nebo se často vykonával nějaký podprogram. V praxi se však tato vlastnost instrukční sady počítače Honeywell 800 příliš často nepoužívala, protože vyžadovala poměrně sofistikovanou ruční optimalizaci aplikací v assembleru a jen poměrně malé množství programátorů mělo dostatečné zkušenosti k tomu, aby dvojici programových čítačů dokázala efektivně využít. U dalších generací počítačů, včetně počítačů založených na moderních mikroprocesorech, se s touto vlastností již nesetkáme, takže je složité říci, jak a zda vůbec by si s dvojicí programových čítačů poradily moderní překladače nebo interpretry (dynamicky typovaných) programovacích jazyků. Ovšem další vlastnosti instrukční sady H-800, tj. podpora index registrů s možností jejich autoinkrementace (zde dokonce o specifikovanou hodnotu 0 až 31) již nesou srovnání s moderními mikroprocesory.

ibm09

Obrázek 8: Sálový počítač System/360 firmy IBM model 40 byl současníkem mainframů Honeywell H-200 i H-800 (zkonstruován byl jen o cca tři roky později).

5. Programování mainframu H-800

Sálové počítače byly svým zákazníkům v naprosté většině případů dodávány i s operačním systémem (v té době většinou poměrně jednoduchým „spouštěčem procesů“) a sadou nástrojů určených pro vývoj vlastních aplikací. V případě mainframu Honeywell 800 se jednalo především o překladač programovacího jazyka COBOL (COmmon Business Oriented Language), který patřil vedle Fortranu k nejpoužívanějším vyšším programovacím jazykům druhé generace mainframů. Ovšem kromě tohoto programovacího jazyka měli programátoři k dispozici i poměrně zajímavý assembler nazvaný ARGUS neboli Automatic Routine Generating and Updating System. Jednalo se o assembler obsahující jak podporu pro tvorbu podprogramů (subrutin), tak i podporu maker. Spolu s assemblerem ARGUS bylo dodáváno i několik knihoven s podprogramy a mnoha makry, které programátorům ulehčily například práci s magnetickými páskami (ukládání a čtení dat uložených v blocích), tisk výsledků na administrátorskou konzoli nebo tiskárnu atd.

ibm-5

Obrázek 9: Manuál k první verzi FORTRANu určeného pro mainframy IBM 704.

Jak překladač programovacího jazyka COBOL, tak i assembler ARGUS byly navrženy takovým způsobem, aby mohly zpracovávat programy uložené na děrných štítcích. To mj. znamenalo, že assembler ARGUS, který programy napsané v jazyku symbolických adres (JSA) překládal v několika krocích, si musel mezivýsledky své činnosti ukládat do operační paměti, popř. též na magnetické pásky. V prvním kroku docházelo především k textové expanzi maker, v kroku druhém k vlastnímu překladu jednotlivých instrukcí, ovšem s tou výjimkou, že některé adresy nebyly správně vyplněny (mohlo se jednat například o dopředné skoky, volání podprogramů ležících na vyšších adresách paměti atd.) a teprve ve třetím kroku se vytvořil výsledný objektový kód určený pro spuštění operačním systémem. Vzhledem k tomu, že instrukční sada počítače Honeywell 800 neobsahovala podporu pro psaní realokovatelného kódu, nemusel se program při načítání do operační paměti nijak dále zpracovávat a pouze se spustil. Na druhou stranu ovšem musely dva programy, které měly pracovat současně, využívat různé oblasti operační paměti, aby si navzájem nepřepisovaly data a instrukce.

ibm6

Obrázek 10: První zveřejněná publikace o programovacím jazyku COBOL.

6. Sálové počítače řady IBM 1400

Nyní na chvíli odbočíme od popisu sálových počítačů firmy Honeywell k největší počítačové firmě padesátých a šedesátých let minulého století – k IBM. Tato společnost začala v roce 1959 nabízet svým zákazníkům sálové počítače řady 1400, které byly i přes technologické a výkonnostní rozdíly vzájemně kompatibilní (dokonce i počítače řady IBM System/360 dokázaly spouštět programy určené původně pro řadu 1400). Při stavbě procesorů sálových počítačů IBM 1400 byla použita technologie DTL (tranzistory, diody a pasivní součástky) a operační paměť byla vytvořena na bázi feritové paměti, tj. použitá technologie byla prakticky stejná, jako u druhé generace sálových počítačů firmy Honeywell. Procesory mainframů řady 1400 byly optimalizovány pro zpracování řetězců a decimálních čísel proměnné délky a také proto, že tyto počítače byly mj. určeny i pro vytváření různých tiskových sestav, byly na počítačích IBM 1400 používány především takové programovací jazyky, ve kterých se snadno pracovalo s řetězci. Jedná se především o COBOL a taktéž o jazyk RPG (Report Program Generator), který „přežil“, i když v poněkud modernější podobě, i do dnešních dnů, takže se s ním můžeme setkat i na soudobých mainframech. Později byly pro tyto počítače vytvořeny i překladače dalších programovacích jazyků, především Fortranu.

ibm2

Obrázek 11: Část sálového počítače IBM 1401.

Tabulka jednotlivých modelů sálových počítačů vyráběných v rámci řady IBM 1400:

Označení modelu Rok vzniku
IBM 1240 1963
IBM 1401 1959
IBM 1410 1960
IBM 1420 1962
IBM 1440 1962
IBM 1450 1968
IBM 1460 1963
IBM 7010 1962
ibm2

Obrázek 12: Zrekonstruovaný řídicí panel počítače IBM 1401.

7. Přímá konkurence IBM 1400 – mainframy H-200

Technologické parametry sálových počítačů řady IBM 1400 jsme si již v tomto seriálu popsali. Ovšem z hlediska vzájemného konkurenčního boje firmy IBM a „sedmi trpaslíků“ je velmi zajímavé taktéž to, že se řada IBM 1400 stala jedním z nejúspěšnějších mainframů své doby. Jen původního modelu IBM 1401 se v letech 1959 až 1967 vyrobilo a prodalo přibližně 9350 kusů, což je v porovnání s konkurencí (a ostatně i s dalšími mainframy IBM!) úctyhodné číslo. Celkový počet všech kusů mainframů série IBM 1400 přesahoval v roce 1967 hodnotu 15 000, což představovalo celou třetinu všech počítačů na světě! Není tedy příliš překvapující, že další výrobci sálových počítačů se snažili na úspěchu řady IBM 1400 nějakým způsobem participovat – buď výrobou periferních zařízení nebo konstrukcí sálových počítačů, které byly s IBM 1400 kompatibilní (a ideálně rychlejší a/nebo levnější). Jedním z takových mainframů byl i stroj Honeywell 200.

Obrázek 13: Sálový počítač Honeywell 200.

Mainframe Honeywell 200 byl navržen s ohledem na velmi dobrou kompatibilitu se sálovým počítačem IBM 1401, ovšem s tím rozdílem, že výpočty na stroji od Honeywellu probíhaly dvakrát a třikrát větší rychlostí, což samozřejmě bylo velmi důležité, protože se platilo za spotřebovaný strojový čas počítače. Kompatibilita s modelem IBM 1401 byla dodržena do takové míry, že většina původních programů mohla být spuštěna i na počítači H-200 bez nutnosti jejich úprav nebo rekompilace (to zdaleka nebylo v šedesátých letech minulého století obvyklé). Konstruktéři tohoto počítače taktéž dosáhli toho, že se k H-200 mohla připojovat původní periferní zařízení firmy IBM, jako jsou děrnoštítkové jednotky, řádkové tiskárny atd.

Obrázek 14: Další fotografie sálového počítače Honeywell 200.

Právě tato programová i hardwarová kompatibilita spolu s vyšší výpočetní rychlostí mainframu H-200 způsobila, že se firmě Honeywell skutečně podařilo získat poměrně značnou část trhu, minimálně do doby, než společnost IBM začala nabízet nový typ mainframů – slavnou řadu IBM System/360.

Obrázek 15: Mainframe Honeywell 200 bylo možné používat společně s periferiemi určenými pro mainframy řady IBM 1400.

bitcoin_skoleni

8. Obsah následující části seriálu

V následující části seriálu o historii vývoje výpočetní techniky si řekneme podrobnější informace o sálovém počítači Honeywell 200. Taktéž se budeme zabývat dalšími mainframy této firmy, jejíž počítačová divize byla později prodána evropské firmě Groupe Bull. V této firmě posléze vzniklo velké množství různých typů sálových počítačů a superpočítačů, přičemž některé z těchto strojů, například zcela nový systém Tera 100 s výpočetním výkonem přesahujícím 1 petaFLOP, patří mezi nejvýkonnější počítačové systémy současnosti.

ibm2

Obrázek 16: Jedno velmi často používané periferní zařízení – řádková tiskárna IBM 1403. Mimochodem: právě tuto tiskárnu můžete vidět ve slavném filmu Dr. Divnoláska (Dr. Strangelove).

9. Odkazy na Internetu

  1. Mainframe – Introduction
    http://www.thoc­p.net/hardware/ma­inframe.htm
  2. Craig Jensen (as programmer)
    http://www.cra­igjensen.com/pro­grammer.html
  3. Honeywell 800 (1958)
    http://www.cs­.clemson.edu/~mar­k/h800.html
  4. Real Machines with 24-bit and 48-bit words
    http://www.qu­adibloc.com/com­p/cp0303.htm
  5. Honeywell ARGUS
    http://en.wiki­pedia.org/wiki/Ho­neywell_ARGUS
  6. Honeywell Datamatic 1000
    http://www.smec­c.org/honeywe­ll_datamatic_1000­.htm
  7. Honeywell
    http://en.wiki­pedia.org/wiki/Ho­neywell
  8. Whatever Happened to IBM and the Seven Dwarfs? Dwarf Four: Honeywell
    http://www.dvo­rak.org/blog/ibm-and-the-seven-dwarfs-dwarf-four-honeywell/
  9. Datamatic 1000 by DATAmatic Corporation (1955)
    http://www.com­putermuseum.li/Tes­tpage/Datamatic-1000.html
  10. Burroughs – Third Generation Computers
    https://wiki.cc­.gatech.edu/fol­klore/index.php/Bu­rroughs_Third-Generation_Com­puters
  11. NX bit (používán u některých moderních mikroprocesorů)
    http://en.wiki­pedia.org/wiki/NX_bit
  12. Burroughs B5000, B5500 and B5700 (original) documentation
    http://www.bit­savers.org/pdf/bu­rroughs/B5000_55­00_5700/
  13. Burroughs B6500 and B6700 (original) documentation
    http://www.bit­savers.org/pdf/bu­rroughs/B6500_67­00/
  14. Burroughs B8500 (original) documentation
    http://www.bit­savers.org/pdf/bu­rroughs/B8500/
  15. ALGOL in the early 1970s
    http://www.sim­nia.com/it/cly­cl/algol/algol­.htm
  16. Burroughs: IF (Dec, 1961)
    http://blog.mo­dernmechanix.com/2009/02­/10/burroughs-if/
  17. Burroughs B5000: Encyclopedia II – Burroughs B5000 – ALGOL
    http://www.ex­periencefesti­val.com/a/Burrou­ghs_B5000_-_ALGOL/id/4823149
  18. HOW ASCII GOT ITS BACKSLASH
    http://www.bob­bemer.com/BAC­SLASH.HTM
  19. Burroughs B5000 Computer
    http://www.cs­.uaf.edu/2010/fa­ll/cs441/proj1/b5000/
  20. Burroughs large systems (Wikipedia)
    http://en.wiki­pedia.org/wiki/Bu­rroughs_large_sys­tems
  21. Burroughs large systems instruction sets (Wikipedia)
    http://en.wiki­pedia.org/wiki/Bu­rroughs_large_sys­tems_instructi­on_sets
  22. William Seward Burroughs
    http://history-computer.com/Mecha­nicalCalculator­s/19thCentury/Bu­rroughs.html
  23. Burroughs Corporation (Wikipedia)
    http://en.wiki­pedia.org/wiki/Bu­rroughs_Corpo­ration
  24. Adding machine (Wikipedia)
    http://en.wiki­pedia.org/wiki/Ad­ding_machine
  25. Burroughs B-205
    http://www.an­gelfire.com/sci­fi/B205/
  26. Burroughs 205 Hardware Package Design
    http://tjsawy­er.com/B205Pkg­.htm
  27. ERA 1101 Documents
    http://ed-thelen.org/comp-hist/ERA-1101-documents.html
  28. Ukázkový program pro UNIVAC 1101/ERA 1101
    https://wiki.cc­.gatech.edu/fol­klore/index.php/En­gineering_Rese­arch_Associates_an­d_the_Atlas_Com­puter_(UNIVAC_1101)
  29. UNIVAC I Computer System
    http://univac1­.0catch.com/
  30. UNIVAC I Computer System
    http://univac1­.0catch.com/y­ellowpage.htm
  31. UNIVAC (Wikipedia)
    http://en.wiki­pedia.org/wiki/U­nivac
  32. UNIVAC I (Wikipedia)
    http://en.wiki­pedia.org/wiki/U­NIVAC_I
  33. UNIVAC II – Universal Automatic Computer Model II
    http://ed-thelen.org/comp-hist/BRL61-u4.html
  34. UNIVAC II (Wikipedia)
    http://en.wiki­pedia.org/wiki/U­NIVAC_II
  35. UNIVAC III (Wikipedia)
    http://en.wiki­pedia.org/wiki/U­NIVAC_III
  36. UNIVAC 1101 (Wikipedia)
    http://en.wiki­pedia.org/wiki/U­NIVAC_1101
  37. UNISYS History Newsletter
    https://wiki.cc­.gatech.edu/fol­klore/index.php/Ma­in_Page
  38. UNIVAC Solid State (Wikipedia)
    http://en.wiki­pedia.org/wiki/U­NIVAC_Solid_Sta­te
  39. Bi-quinary coded decimal (Wikipedia)
    http://en.wiki­pedia.org/wiki/Bi-quinary_coded_de­cimal
  40. UNIVAC III Data Processing System
    http://ed-thelen.org/comp-hist/BRL61-u4.html#UNIVAC-III
  41. The UNIVAC III Computer
    https://wiki.cc­.gatech.edu/fol­klore/index.php/The_U­NIVAC_III_Com­puter
  42. UNIVAC III Photos
    http://jwstep­hens.com/univac3/pa­ge01.htm
  43. A History of Unisys Computers (kniha)
    http://www.lu­lu.com/produc­t/hardcover/a-history-of-unisys-computers/4627477
  44. UNIVAC III Instructions Reference Card
    http://www.bit­savers.org/pdf/u­nivac/univac3/UT-2455_UNIVACII­I_RefCd61.pdf
  45. Index register (Wikipedia)
    http://en.wiki­pedia.org/wiki/In­dex_register
  46. FLOW-MATIC, COBOL's Roots, Birth of COBOL…
    http://www.inf.fu-berlin.de/leh­re/SS01/hc/pl/co­bol.htm
  47. FLOW-MATIC
    http://en.wiki­pedia.org/wiki/FLOW-MATIC
  48. FLOW-MATIC Manual
    http://archive­.computerhisto­ry.org/resources/tex­t/Remington_Ran­d/Univac.Flow­matic.1957.102646140­.pdf
  49. Grace Murray Hopper
    http://cs-www.cs.yale.e­du/homes/tap/Fi­les/hopper-story.html
  50. Grace Hopper (Wikipedia)
    http://en.wiki­pedia.org/wiki/Gra­ce_Hopper
  51. Biographies of Women Mathematicians: Grace Murray Hopper
    http://www.ag­nesscott.edu/lrid­dle/women/hop­per.htm
  52. A-0 System (Wikipedia)
    http://en.wiki­pedia.org/wiki/A-0_programming_lan­guage
  53. Rosetta Code – Category:COBOL
    http://rosetta­code.org/wiki/Ca­tegory:COBOL
  54. COmmon Business Oriented Language
    http://foldoc­.org/COBOL
  55. COBOL Compilers
    http://www-01.ibm.com/sof­tware/awdtool­s/cobol/
  56. Cobol: Not Dead Yet
    http://www.com­puterworld.com/s/ar­ticle/266156/C­obol_Not_Dead_Y­et?intsrc=kc_rfavs
  57. The future's bright … the future's Cobol
    http://features­.techworld.com/ap­plications/3056/the-futures-bright–the-futures-cobol/
  58. COBOL Example Programs
    http://www.csis­.ul.ie/COBOL/e­xamples/defau­lt.htm
  59. Introduction to COBOL
    http://www.csis­.ul.ie/COBOL/Cou­rse/COBOLIntro­.htm
  60. COBOL programming – tutorials, lectures, exercises, examples
    http://www.csis­.ul.ie/COBOL/
  61. Wikipedia: COBOL
    http://en.wiki­pedia.org/wiki/CO­BOL
  62. Humor on Computers, Systems and Programming
    http://www-crypto.htw-saarland.de/we­ber/misc/program­ming.html
  63. OpenCOBOL
    http://en.wiki­pedia.org/wiki/O­penCOBOL
  64. OpenCOBOL.org
    http://openco­bol.org/
  65. OpenCOBOL FAQ
    http://openco­bol.add1tocobol­.com/
  66. TinyCOBOL
    http://tiny-cobol.sourcefor­ge.net/
  67. TinyCOBOL FAQ
    http://tiny-cobol.sourcefor­ge.net/docs/faq/
  68. JTC1/SC22/WG4 – COBOL
    http://ra.dku­ug.dk/jtc1/sc2­2/wg4/
  69. COBOL on COGS
    http://www.co­boloncogs.org/IN­DEX.HTM
  70. Cobol Coders: Going, Going, Gone?
    http://www.com­puterworld.com/s/ar­ticle/266228/C­obol_Coders_Go­ing_Going_Gone_
  71. BUNCH
    http://en.wiki­pedia.org/wiki/BUN­CH
  72. The Colossus That Works
    http://www.ti­me.com/time/ma­gazine/article/0,9171,9­49693–5,00.html
  73. Mainframe computer
    http://en.wiki­pedia.org/wiki/Ma­inframe_compu­ter
  74. United States Census Bureau
    http://en.wiki­pedia.org/wiki/U­nited_States_Cen­sus_Bureau
  75. Slideshow – More Core Memories
    http://spectrum­.ieee.org/com­puting/hardwa­re/slideshow-more-core-memories
  76. UNIVAC I Mercury Delay Line Memory
    http://ed-thelen.org/comp-hist/vs-univac-mercury-memory.html
  77. Digital Number System Part-III
    http://www.asic-world.com/digi­tal/numbering3­.html
  78. Excess-3 – Definition
    http://www.wor­diq.com/defini­tion/Excess-3
  79. Excess-3
    http://en.wiki­pedia.org/wiki/Ex­cess-3
  80. Method of complements
    http://en.wiki­pedia.org/wiki/Met­hod_of_comple­ments
  81. Univac documentation
    http://www.bit­savers.org/pdf/u­nivac/univac1/
  82. UNISERVO
    http://en.wiki­pedia.org/wiki/U­NISERVO
  83. John Mauchly (Wikipedia)
    http://en.wiki­pedia.org/wiki/Joh­n_Mauchly
  84. J. Presper Eckert (Wikipedia)
    http://en.wiki­pedia.org/wiki/J­._Presper_Eckert
  85. BINAC (Wikipedia)
    http://en.wiki­pedia.org/wiki/BI­NAC
  86. Delay line memory (Wikipedia)
    http://en.wiki­pedia.org/wiki/De­lay_line_memo­ry
  87. Paměť se zpožďovací linkou (Wikipedia)
    http://cs.wiki­pedia.org/wiki/Pa­měť_se_zpožďo­vací_linkou
  88. Description of the BINAC
    http://www.pa­losverdes.com/las­thurrah/binac-description.html
  89. UNIVersal Automatic Computer
    http://www.thoc­p.net/hardware/u­nivac.htm
  90. IBM 36-bit computers
    http://www.36bit­.org/ibm/
  91. Symbolics 36-bit computers
    http://www.36bit­.org/symbolic­s/
  92. IBM System 360/370 Compiler and Historical Documentation
    http://www.edel­web.fr/Simula/
  93. Who Was Who in IBM's Programming Research? Early FORTRAN Days
    http://www.tra­iling-edge.com/~bob­bemer/PRORES.HTM
  94. Control Data Corporation (CDC) 6600: 1966–1977
    http://www.cis­l.ucar.edu/com­puters/gallery/cdc/6600­.jsp
  95. Control Data Corporation (CDC) 7600: 1971–1983
    http://www.cis­l.ucar.edu/com­puters/gallery/cdc/7600­.jsp
  96. Cray History
    http://www.cra­y.com/About/His­tory.aspx?404;http:­//www.cray.com:80/a­bout_cray/his­tory.html
  97. Cray Historical Timeline
    http://www.cra­y.com/Assets/PDF/a­bout/CrayTime­line.pdf
  98. Company: Cray Research, Inc. (Computer History)
    http://www.com­puterhistory.or­g/brochures/com­panies.php?al­pha=a-c&company=com-42b9d5d68b216
  99. PDP-1 Web Pages
    http://www.pdp-1.org/
  100. PDP-1 Restoration Process
    http://pdp-1.computerhis­tory.org/pdp-1/
  101. Programmed Data Processor (Wikipedia)
    http://en.wiki­pedia.org/wiki/Pro­grammed_Data_Pro­cessor
  102. Digital Equipment Corporation (Wikipedia)
    http://en.wiki­pedia.org/wiki/Di­gital_Equipmen­t_Corporation
  103. PDP-1 (Wikipedia)
    http://en.wiki­pedia.org/wiki/PDP-1
  104. Ancient Computing Machinery
    http://www.ee­.ryerson.ca/~el­f/ancient-comp/index.html
  105. Spacewar – The first computer video game. Really!
    http://www3.sym­patico.ca/mau­ry/games/space/spa­cewar.html
  106. 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.