Obsah
1. Společnost General Electric – další ze „sedmi trpaslíků“
2. Základní řada mainframů – GE-200
3. Společné znaky a rozdíly mezi modely GE-215, GE-225 a GE-235
4. Technologie sálových počítačů řady GE-200
5. Periferní zařízení mainframů řady GE-200
6. Konkurence sálových počítačů GE-200
7. Assemblery na mainframech GE-200
8. Programovací jazyky používané na sálových počítačích řady GE-200
1. Společnost General Electric – další ze „sedmi trpaslíků“
V předchozích jedenácti částech seriálu o historii vývoje výpočetní techniky jsme si popsali již tři společnosti, které se ve druhé polovině padesátých a v první polovině šedesátých let soustředily na návrhy a konstrukce mainframů. Samozřejmě nesmíme zapomenout ani na obří IBM, které jsme se více věnovali v úvodních částech tohoto seriálu a taktéž na společnosti, ať už státní či soukromé, které vyvíjely mainframy v Evropě (viz též již uvedený popis některých sálových počítačů zkonstruovaných v SSSR). Pokud zůstaneme u „sedmi trpaslíků“, zabývali jsme se sálovými počítači navrženými firmami UNIVAC (později Sperry-Rand), Burroughs a Honeywell. V dnešním článku upřeme svoji pozornost na společnost General Electric, v jejíž divizi Computer Department sídlící v Phoenixu vznikla mj. například i známá řada mainframů GE-200 následovaná technologicky značně odlišnými řadami sálových počítačů GE-400 a GE-600.
Obrázek 1: Sálový počítač General Electric GE-235.
Zajímavé je, že právě na mainframech řady GE-200, konkrétně na stroji GE-265 (ve skutečnosti se jednalo o GE-235 s přidaným systémem DN-30), byl v polovině šedesátých let minulého století poprvé implementován interpret programovacího jazyka BASIC, což mj. znamenalo, že se možnosti tvorby aplikací přiblížily i uživatelům z řad matematiků, fyziků, statistiků či inženýrů z technických oborů. I když je na tomto místě vhodné poznamenat, že samotný programovací jazyk BASIC byl kvůli některým svým vlastnostem právem kritizován, jeho vliv na rozšíření možností výpočetní techniky mimo tehdy relativně úzkou skupinu programátorů byl v šedesátých a sedmdesátých letech značný. Vzhledem k tomu, že pro společnost General Electric představovaly sálové počítače pouze zlomek jejích podnikatelských aktivit, byly licence na některé z těchto mainframů později prodané dalším společnostem – to se týká například řady GE-600, která začala být po prodeji celé „mainframové“ divize nabízena zpočátku firmou Honeywell a později společností NEC.
Obrázek 2: Jeden blok sálového počítače General Electric GE-225.
Autor fotografie: Ed Thelen
2. Základní řada mainframů – GE-200
Společnost General Electric začala s vývojem vlastních sálových počítačů o několik let později než například firmy IBM či UNIVAC. Ostatně v jednom z předchozích dílů tohoto seriálu jsme si řekli, že General Electric dokonce pro svoje interní potřeby nakoupila několik mainframů UNIVAC II od svého budoucího konkurenta. Vzhledem k tomu, že vývoj sálových počítačů začal v GE až na přelomu padesátých a šedesátých let, byly již první počítače této firmy založeny na diskrétních polovodičových součástkách, tj. jednalo se o mainframy druhé generace. Prvním komerčně nabízeným modelem byl sálový počítač nesoucí označení GE-225, jehož konstruktéry byli Arnold Spielberg a Chuck Prosper, což byli bývalí zaměstnanci firmy RCA (i s touto společností se ještě v dalších dílech tohoto seriálu seznámíme). Technologické parametry mainframu GE-225 byly zvoleny takovým způsobem, aby si tento počítač pořizovaly především bohaté banky, což bylo ostatně i primárním cílem některých dalších výrobců sálových počítačů. Právě z tohoto důvodu byl k těmto mainframům nabízen mj. i balíček utilit nazvaný příznačně BankPac.
Obrázek 3: Procesorová jednotka mainframu GE-225.
Autor fotografie: Ed Thelen
Zatímco aritmeticko-logická jednotka počítače GE-225 zpracovávala pouze binární čísla (podobně jako dnešní procesory), bylo k počítači možné dokoupit i další podpůrné moduly. Pro provádění bankovních a účetních operací byl dostupný modul (řekněme matematický koprocesor), který byl orientován na provádění aritmetických operací s BCD čísly. Naproti tomu se pro simulace a další vědeckotechnické výpočty mohl dokoupit matematický koprocesor provádějící operace s numerickými hodnotami reprezentovanými ve formátu plovoucí řádové čárky (FP – Floating Point). Pravděpodobně nejzajímavějším prvkem tohoto mainframu však byla architektura jedenácti na sobě nezávislých vstupně-výstupních kanálů, které umožňovaly souběžnou práci aritmeticko-logické jednotky a periferních zařízení, což ve svém důsledku pro uživatele znamenalo mnohem lepší využití strojového času počítače a pro samotnou firmu General Electric pak konkurenční výhodu, především v porovnání s mainframy řady IBM 1401 (viz též další text).
Obrázek 4: Pohled na vnitřní uspořádání procesorové jednotky mainframu GE-225.
Autor fotografie: Ed Thelen
3. Společné znaky a rozdíly mezi modely GE-215, GE-225 a GE-235
Řada mainframů GE-200 sestávala z několika různých typů sálových počítačů, které sice byly mezi sebou vzájemně kompatibilní, ovšem rychlost provádění instrukcí i některé základní výkonnostní parametry byly odlišné. Základním modelem byl mainframe GE-225, od nějž byl odvozen levnější model GE-215 se sníženým počtem vstupně-výstupních kanálů a s aritmeticko-logickou jednotkou pracující poloviční rychlostí. Na druhé straně výkonnostního spektra stál zpočátku pouze model GE-235, u nějž byl jednak rozšířen počet vstupně-výstupních kanálů (což zlepšilo propustnost počítače), tak i zvýšena rychlost provádění instrukcí na trojnásobek výkonu nabízeného sálovým počítačem GE-225. Na tomto místě je vhodné poznamenat, že sálový počítač GE-235 byl spolu se systémem DN-30 nabízen firmou General Electric pod názvem GE-265, i když se po technologické stránce od původního stroje GE-235 vlastně nijak nelišil.
Obrázek 5: Další pohled na vnitřní uspořádání procesorové jednotky mainframu GE-225.
Autor fotografie: Ed Thelen
V následující tabulce jsou vypsány základní rozdíly mezi jednotlivými modely řady GE-200. Povšimněte si, že i když je základní rychlost modelu GE-215 podle tvrzení samotného výrobce poloviční, než v případě základního modelu GE-225 (což je patrné u rychlosti instrukce součtu – 72µs versus 36µs), nejsou ve skutečnosti všechny aritmetické operace vykonávány přesně s poloviční rychlostí. Ani počet I/O kanálů není přesně poloviční. Naproti tomu u modelu GE-235, který dokáže základní instrukce (včetně operace součtu a rozdílu) vykonat třikrát rychleji, než to dokázal mainframe GE-225, bylo díky optimalizacím v zapojení aritmeticko-logické jednotky dosaženo mnohem vyšší rychlosti provádění multiplikativních operací:
Mainframe | GE-215 | GE-225 | GE-235 |
---|---|---|---|
Kapacita paměti | 4,8K slov | 4,8,16K slov | 4,8,16K slov |
Počet I/O kanálů | 6 | 11 | 2×11 |
Operace součtu | 72µs | 36µs | 12µs |
Operace součinu | 342µs | 288µs | 84µs |
Operace podílu | 531µs | 495µs | 85µs |
Obrázek 6: Děrovačka děrných štítků.
4. Technologie sálových počítačů řady GE-200
Sálové počítače řady GE-200 v době svého vzniku patřily, jak jsme si již ostatně řekli v předchozích kapitolách, mezi mainframy druhé generace. To znamená, že se jednalo o stroje, jejichž řadič i aritmeticko-logická jednotka byla sestavena z diskrétních pasivních i polovodičových součástek, především diod a bipolárních tranzistorů. Operační paměť, která byla nabízena v kapacitách 4, 8 nebo 16 kiloslov (přičemž jedno slovo mělo šířku 20 bitů), byla zkonstruována z feritových jader. Pro milovníky statistiky uvedu několik zajímavých čísel: sálový počítač v běžné konfiguraci s pamětí o kapacitě 8 kiloslov byl sestaven z cca tisíce plošných spojů, na nichž bylo umístěno deset tisíc tranzistorů, dvacet tisíc polovodičových diod a operační paměť měla cca 186000 feritových jader (musíme počítat i s několikaprocentním nárůstem počtu jader kvůli kódům pro detekci chyb). Celková spotřeba – a tím i tepelný výkon – takového „drobečka“ přesahoval 16 kW.
Obrázek 7: Jeden z plošných spojů mainframu GE-235.
Slova o šířce dvaceti bitů se používala jak pro ukládání binárních čísel zpracovávaných aritmeticko-logickou jednotkou či některým z matematických koprocesorů (BCD unit, FP unit), tak i pro reprezentaci instrukcí zpracovávaných řadičem. V tomto případě bylo dvacetibitové slovo rozděleno na tři části: v prvních pěti bitech byl umístěn operační kód instrukce (tj. o jakou instrukci se jedná – součet, skok, uložení hodnoty do paměti, komparace obsahu registru s hodnotou uloženou v operační paměti…), ve třinácti bitech byla umístěna adresa operandu (přímo tedy bylo možné adresovat pouze prvních 8192 slov, rozšíření na 16384 slov se řešilo pomocí paměťových bank) a ve zbývajících dvou bitech byl umístěn kód určující, jakým způsobem se má modifikovat adresa při provedení další instrukce. Samotný instrukční soubor byl poměrně jednoduchý, už jen z toho důvodu, že sálové počítače řady GE-200 měly k dispozici pouze tři hardwarové registry a čítač instrukcí. O tom, jakým způsobem se tyto mainframy programovaly, si řekneme více až v šesté kapitole.
Obrázek 8: Blok operační paměti vytvořené z feritových jader; celý blok má kapacitu 84×50 bitů.
5. Periferní zařízení mainframů řady GE-200
Firma General Electric přistupovala k vývoji, konstrukci a samozřejmě i k prodeji sálových počítačů způsobem, který se do značné míry podobal přístupu konkurenční firmy IBM. To mj. znamenalo, že si zákazníci mohli pořídit nejenom vlastní mainframe (aritmeticko-logickou jednotku, řadič, operační paměť a napájecí jednotku), ale i poměrně velké množství periferních zařízení vyráběných stejnou společností, u nichž byla z tohoto důvodu zaručena vzájemná kompatibilita i optimální využití strojového času sálového počítače. Popravdě řečeno však byly například některé tiskárny firmy General Electric nechvalně známé svými častými technickými problémy, takže u některých firem docházelo ke kombinaci mainframu řady GE-200 a některé rychlé řádkové tiskárny vyráběné firmou IBM.
Obrázek 9: Zvětšený pohled na feritová jádra tvořící blok operační paměti mainframů GE-200.
V následující tabulce jsou vypsány základní typy periferních zařízení, které se mohly k sálovým počítačům řady GE-200 připojit. U každého zařízení jsou navíc vypsány i jeho základní technologické parametry (jak si můžeme všimnout, některá zařízení byla nabízena ve dvou výkonově odlišných variantách):
Typ periferního zařízení | Základní technické parametry zařízení |
---|---|
Magnetický disk | kapacita 98304 slov, možnost připojit až 32 jednotek |
Jednotka magnetických pásek | 200 nebo 556 bitů na palec, rychlost čtení/zápisu 75 palců za sekundu |
Čtečka děrných štítků | 400 nebo 1000 přečtených štítků za minutu |
Děrovačka štítků | 100 nebo 300 vyděrovaných štítků za minutu |
Čtečka děrných pásek | 250 nebo 1000 znaků za sekundu |
Děrovačka pásek | 110 znaků za sekundu |
Řádková tiskárna | 900 řádků za minutu (teoreticky až 15 stránek za minutu, tisk na traktorový papír) |
Elektronický psací stroj | 10 znaků za sekundu |
Řadič sériové linky (portu) | od 75 do 1600 bitů za sekundu |
Obrázek 10: Úvodní stránka manuálu k mainframu GE-235.
6. Konkurence sálových počítačů GE-200
Mainframe GE-225 nepatřil (a ve skutečnosti ani neměl patřit) mezi ty nejvýkonnější dostupné počítače své doby. Bylo tomu právě naopak – jednalo se o počítač se spíše menším výkonem, od něhož se samozřejmě odvíjela i cena, která byla mnohem menší, než v případě těch nejvýkonnějších sálových počítačů. Ostatně GE-225 byl poměrně často používán buď pro přípravu dat pro rychlejší a dražší mainframy, nebo naopak pro postprocessing dat a tvorbu tiskových sestav. Ovšem právě v segmentu relativně málo výkonných a levných mainframů měl sálový počítač GE-225 vážnou konkurenci. Prvním z konkurentů byly počítače řady IBM 1401 (jichž bylo zákazníkům dodáno téměř neuvěřitelných patnáct tisíc kusů), druhým vážným konkurentem pak mainframy Honeywell H-200, jejichž popisem jsme se zabývali v předchozí části tohoto seriálu. Ovšem GE-225 měl oproti mainframu IBM 1401 jednu podstatnou výhodu – byl navržen takovým způsobem, že dokázal provádět všechny vstupně-výstupní operace bez toho, aby se musel pozastavovat hlavní program.
Obrázek 11: Mainframe GE-200 a jeho periferní zařízení v „maximální“ konfiguraci.
Zatímco u mainframů IBM 1401 se při vstupně-výstupní operaci (čtení dat z děrného štítku, zápis dat na děrný štítek, vytištění řádku na tiskárně, čtení či zápis bloku na magnetickou pásku atd.) musel hlavní program pozastavit, protože sběrnice byla využívána I/O operací, byl sálový počítač GE-225 zkonstruován bez tohoto poměrně závažného omezení, které způsobovalo, že GE-225 dokázal za jednotku času provést větší množství operací, což samozřejmě bylo v době, kdy se platilo za strojový čas, uživateli oceňované. GE-225 mohl být taktéž osazen až čtyřikrát objemnější pamětí, než základní modely řady IBM 1401 (48 tisíc znaků vs. 16 tisíc znaků) a v případě potřeby provádění výpočtů s čísly reprezentovanými ve formátu plovoucí řádové čárky (floating point format) bylo možné k sálovému počítači GE-225 dokoupit již zmiňovaný matematický koprocesor – ten si ovšem nepředstavujme jako malý čip, ale spíše skříň o velikosti přibližně dvou ledniček naplněnou diskrétními součástkami. Další konkurenční výhodou GE-225 byla existence emulátoru staršího mainframu IBM 650, který umožňoval spouštění programů vytvořených pro tento sice starší, ale poměrně populární a rozšířený počítač (prodáno bylo cca 2000 kusů tohoto stroje).
Obrázek 12: Typické obsazení vstupně-výstupních kanálů na mainframu GE-235.
7. Assemblery na mainframech GE-200
Na mainframech řady GE-200 bylo možné používat poměrně velké množství různých programovacích jazyků. Zpočátku se všechny programy, přesněji řečeno zdrojové kódy programů, psaly na speciální formuláře, jejichž obsah byl následně vyděrován na děrné štítky (většinou jeden štítek představoval jeden řádek programu) a posléze se ve vyhrazeném strojovém čase provedl překlad a uložení přeloženého programu na magnetickou pásku. Teprve o několik let později byly mainframy vybaveny terminály umožňujícími interaktivní práci s počítačem (která je ostatně na mainframech stále spíše výjimečná). Pro tvorbu systémových utilit a podprogramů, u nichž byla důležitá jejich rychlost a malé paměťové nároky, se většinou používal assembler nazvaný GAP, neboli General Assembly Program. Kromě assembleru GAP vznikl i plnohodnotný makroassembler ZOOM (poznámka: názvy všech překladačů i specializovaných jazyků jsou napsány verzálkami schválně, protože znaková sada mainframů neobsahovala minusky – každý znak byl reprezentován pouze šesti bity).
Obrázek 13: Část programu napsaného v programovacím jazyce TABSOL na formuláři určeném k vyděrování a následnému překladu (kompilaci).
Jako určitý doplněk k assemblerům a makroassemblerům existoval i programovací jazyk nazvaný WIZ. Nejednalo se však o plnohodnotný programovací jazyk s možností deklarace proměnných, uživatelských datových typů, funkcí či procedur, jazyk s programovými smyčkami apod., ale o specializovaný (jednoúčelový) jazyk určený pro překlad aritmetických a logických výrazů do strojového kódu. V praxi to znamenalo, že si programátor mohl nechat přeložit často volané výrazy do strojového kódu a ty pak použít (volat) ze svých aplikací. Ostatně z podobného jazyka – rozšířeného autokódu – se vyvinul i programovací jazyk FORTRAN.
Obrázek 14: Formulář určený pro zápis programů v assembleru.
8. Programovací jazyky používané na sálových počítačích řady GE-200
Kromě nízkoúrovňových assemblerů na mainframech řady GE-200 samozřejmě existovaly i vyšší programovací jazyky. Firma General Electric nabízela uživatelům těchto počítačů nástroj nazvaný GECOM neboli General Compiler, který podporoval tvorbu programů s využitím možností hned několika různých programovacích jazyků. Jednalo se o již popsané jazyky COBOL (definice datových typů a operace s nimi) a ALGOL (aritmetické a logické výrazy), dále o specializovaný jazyk GECOM Report Writer určený pro programování tiskových sestav s definicí jejich formátu a v neposlední řadě taktéž o specializovaný jazyk TABSOL, u nějž se na chvíli zastavíme. V jazyku TABSOL bylo možné zapisovat rozhodovací tabulky, tj. vytvářet programy ve stylu „pokud nastane podmínka xxx, proveď příkaz yyy“. I když se funkcionalita nabízená tímto jazykem může zdát nedostatečná, bylo možné jeho možnosti zkombinovat například s již zmíněným GECOM Report Writerem či dalšími jazyky, čímž jeho užitečnost vzrostla (rozhodovací tabulku nemusel nutně tvořit programátor–profesionál). Ke všem výše zmíněným programovacím jazykům můžeme připočíst i překladač FORTRANu II, který nesměl chybět na žádném tehdejším mainframu :-)
Obrázek 15: Skutečný význam programu (rozhodovací tabulky) z obrázku číslo 13.
9. Odkazy na Internetu
- General Electric (Wikipedia)
http://en.wikipedia.org/wiki/General_Electric - GE 225 vs. IBM 1401
http://ed-thelen.org/GE225-IBM1401.html - A GE-225 is found
http://ed-thelen.org/comp-hist/GE225.html - G.E. 200 Series Computers
http://www.smecc.org/g_e__200_series_computers.htm - DTSS – Dartmouth Time Sharing System
http://dtss.dartmouth.edu/index.php - John G. Kemeny: BASIC and DTSS: Everyone a Programmer
http://dtss.dartmouth.edu/everyoneaprogrammer.php - GE-200 series (Wikipedia)
http://en.wikipedia.org/wiki/GE-200_series - GE-400 series (Wikipedia)
http://en.wikipedia.org/wiki/GE-400_series - GE-600 series (Wikipedia)
http://en.wikipedia.org/wiki/GE-600_series - Mainframe – Introduction
http://www.thocp.net/hardware/mainframe.htm - Craig Jensen (as programmer)
http://www.craigjensen.com/programmer.html - Honeywell 800 (1958)
http://www.cs.clemson.edu/~mark/h800.html - Real Machines with 24-bit and 48-bit words
http://www.quadibloc.com/comp/cp0303.htm - Honeywell ARGUS
http://en.wikipedia.org/wiki/Honeywell_ARGUS - Honeywell Datamatic 1000
http://www.smecc.org/honeywell_datamatic_1000.htm - Honeywell
http://en.wikipedia.org/wiki/Honeywell - Whatever Happened to IBM and the Seven Dwarfs? Dwarf Four: Honeywell
http://www.dvorak.org/blog/ibm-and-the-seven-dwarfs-dwarf-four-honeywell/ - Datamatic 1000 by DATAmatic Corporation (1955)
http://www.computermuseum.li/Testpage/Datamatic-1000.html - Burroughs – Third Generation Computers
https://wiki.cc.gatech.edu/folklore/index.php/Burroughs_Third-Generation_Computers - NX bit (používán u některých moderních mikroprocesorů)
http://en.wikipedia.org/wiki/NX_bit - Burroughs B5000, B5500 and B5700 (original) documentation
http://www.bitsavers.org/pdf/burroughs/B5000_5500_5700/ - Burroughs B6500 and B6700 (original) documentation
http://www.bitsavers.org/pdf/burroughs/B6500_6700/ - Burroughs B8500 (original) documentation
http://www.bitsavers.org/pdf/burroughs/B8500/ - ALGOL in the early 1970s
http://www.simnia.com/it/clycl/algol/algol.htm - Burroughs: IF (Dec, 1961)
http://blog.modernmechanix.com/2009/02/10/burroughs-if/ - Burroughs B5000: Encyclopedia II – Burroughs B5000 – ALGOL
http://www.experiencefestival.com/a/Burroughs_B5000_-_ALGOL/id/4823149 - HOW ASCII GOT ITS BACKSLASH
http://www.bobbemer.com/BACSLASH.HTM - Burroughs B5000 Computer
http://www.cs.uaf.edu/2010/fall/cs441/proj1/b5000/ - Burroughs large systems (Wikipedia)
http://en.wikipedia.org/wiki/Burroughs_large_systems - Burroughs large systems instruction sets (Wikipedia)
http://en.wikipedia.org/wiki/Burroughs_large_systems_instruction_sets - William Seward Burroughs
http://history-computer.com/MechanicalCalculators/19thCentury/Burroughs.html - Burroughs Corporation (Wikipedia)
http://en.wikipedia.org/wiki/Burroughs_Corporation - Adding machine (Wikipedia)
http://en.wikipedia.org/wiki/Adding_machine - Burroughs B-205
http://www.angelfire.com/scifi/B205/ - Burroughs 205 Hardware Package Design
http://tjsawyer.com/B205Pkg.htm - ERA 1101 Documents
http://ed-thelen.org/comp-hist/ERA-1101-documents.html - Ukázkový program pro UNIVAC 1101/ERA 1101
https://wiki.cc.gatech.edu/folklore/index.php/Engineering_Research_Associates_and_the_Atlas_Computer_(UNIVAC_1101) - UNIVAC I Computer System
http://univac1.0catch.com/ - UNIVAC I Computer System
http://univac1.0catch.com/yellowpage.htm - UNIVAC (Wikipedia)
http://en.wikipedia.org/wiki/Univac - UNIVAC I (Wikipedia)
http://en.wikipedia.org/wiki/UNIVAC_I - UNIVAC II – Universal Automatic Computer Model II
http://ed-thelen.org/comp-hist/BRL61-u4.html - UNIVAC II (Wikipedia)
http://en.wikipedia.org/wiki/UNIVAC_II - UNIVAC III (Wikipedia)
http://en.wikipedia.org/wiki/UNIVAC_III - UNIVAC 1101 (Wikipedia)
http://en.wikipedia.org/wiki/UNIVAC_1101 - UNISYS History Newsletter
https://wiki.cc.gatech.edu/folklore/index.php/Main_Page - UNIVAC Solid State (Wikipedia)
http://en.wikipedia.org/wiki/UNIVAC_Solid_State - Bi-quinary coded decimal (Wikipedia)
http://en.wikipedia.org/wiki/Bi-quinary_coded_decimal - UNIVAC III Data Processing System
http://ed-thelen.org/comp-hist/BRL61-u4.html#UNIVAC-III - The UNIVAC III Computer
https://wiki.cc.gatech.edu/folklore/index.php/The_UNIVAC_III_Computer - UNIVAC III Photos
http://jwstephens.com/univac3/page01.htm - A History of Unisys Computers (kniha)
http://www.lulu.com/product/hardcover/a-history-of-unisys-computers/4627477 - UNIVAC III Instructions Reference Card
http://www.bitsavers.org/pdf/univac/univac3/UT-2455_UNIVACIII_RefCd61.pdf - Index register (Wikipedia)
http://en.wikipedia.org/wiki/Index_register - FLOW-MATIC, COBOL's Roots, Birth of COBOL…
http://www.inf.fu-berlin.de/lehre/SS01/hc/pl/cobol.htm - FLOW-MATIC
http://en.wikipedia.org/wiki/FLOW-MATIC - FLOW-MATIC Manual
http://archive.computerhistory.org/resources/text/Remington_Rand/Univac.Flowmatic.1957.102646140.pdf - Grace Murray Hopper
http://cs-www.cs.yale.edu/homes/tap/Files/hopper-story.html - Grace Hopper (Wikipedia)
http://en.wikipedia.org/wiki/Grace_Hopper - Biographies of Women Mathematicians: Grace Murray Hopper
http://www.agnesscott.edu/lriddle/women/hopper.htm - A-0 System (Wikipedia)
http://en.wikipedia.org/wiki/A-0_programming_language - Rosetta Code – Category:COBOL
http://rosettacode.org/wiki/Category:COBOL - COmmon Business Oriented Language
http://foldoc.org/COBOL - COBOL Compilers
http://www-01.ibm.com/software/awdtools/cobol/ - Cobol: Not Dead Yet
http://www.computerworld.com/s/article/266156/Cobol_Not_Dead_Yet?intsrc=kc_rfavs - The future's bright … the future's Cobol
http://features.techworld.com/applications/3056/the-futures-bright–the-futures-cobol/ - COBOL Example Programs
http://www.csis.ul.ie/COBOL/examples/default.htm - Introduction to COBOL
http://www.csis.ul.ie/COBOL/Course/COBOLIntro.htm - COBOL programming – tutorials, lectures, exercises, examples
http://www.csis.ul.ie/COBOL/ - Wikipedia: COBOL
http://en.wikipedia.org/wiki/COBOL - Humor on Computers, Systems and Programming
http://www-crypto.htw-saarland.de/weber/misc/programming.html - OpenCOBOL
http://en.wikipedia.org/wiki/OpenCOBOL - OpenCOBOL.org
http://opencobol.org/ - OpenCOBOL FAQ
http://opencobol.add1tocobol.com/ - TinyCOBOL
http://tiny-cobol.sourceforge.net/ - TinyCOBOL FAQ
http://tiny-cobol.sourceforge.net/docs/faq/ - JTC1/SC22/WG4 – COBOL
http://ra.dkuug.dk/jtc1/sc22/wg4/ - COBOL on COGS
http://www.coboloncogs.org/INDEX.HTM - Cobol Coders: Going, Going, Gone?
http://www.computerworld.com/s/article/266228/Cobol_Coders_Going_Going_Gone_ - BUNCH
http://en.wikipedia.org/wiki/BUNCH - The Colossus That Works
http://www.time.com/time/magazine/article/0,9171,949693–5,00.html - Mainframe computer
http://en.wikipedia.org/wiki/Mainframe_computer - United States Census Bureau
http://en.wikipedia.org/wiki/United_States_Census_Bureau - Slideshow – More Core Memories
http://spectrum.ieee.org/computing/hardware/slideshow-more-core-memories - UNIVAC I Mercury Delay Line Memory
http://ed-thelen.org/comp-hist/vs-univac-mercury-memory.html - Digital Number System Part-III
http://www.asic-world.com/digital/numbering3.html - Excess-3 – Definition
http://www.wordiq.com/definition/Excess-3 - Excess-3
http://en.wikipedia.org/wiki/Excess-3 - Method of complements
http://en.wikipedia.org/wiki/Method_of_complements - Univac documentation
http://www.bitsavers.org/pdf/univac/univac1/ - UNISERVO
http://en.wikipedia.org/wiki/UNISERVO - John Mauchly (Wikipedia)
http://en.wikipedia.org/wiki/John_Mauchly - J. Presper Eckert (Wikipedia)
http://en.wikipedia.org/wiki/J._Presper_Eckert - BINAC (Wikipedia)
http://en.wikipedia.org/wiki/BINAC - Delay line memory (Wikipedia)
http://en.wikipedia.org/wiki/Delay_line_memory - Paměť se zpožďovací linkou (Wikipedia)
http://cs.wikipedia.org/wiki/Paměť_se_zpožďovací_linkou - Description of the BINAC
http://www.palosverdes.com/lasthurrah/binac-description.html - UNIVersal Automatic Computer
http://www.thocp.net/hardware/univac.htm - IBM 36-bit computers
http://www.36bit.org/ibm/ - Symbolics 36-bit computers
http://www.36bit.org/symbolics/ - IBM System 360/370 Compiler and Historical Documentation
http://www.edelweb.fr/Simula/ - Who Was Who in IBM's Programming Research? Early FORTRAN Days
http://www.trailing-edge.com/~bobbemer/PRORES.HTM - Control Data Corporation (CDC) 6600: 1966–1977
http://www.cisl.ucar.edu/computers/gallery/cdc/6600.jsp - Control Data Corporation (CDC) 7600: 1971–1983
http://www.cisl.ucar.edu/computers/gallery/cdc/7600.jsp - Cray History
http://www.cray.com/About/History.aspx?404;http://www.cray.com:80/about_cray/history.html - Cray Historical Timeline
http://www.cray.com/Assets/PDF/about/CrayTimeline.pdf - Company: Cray Research, Inc. (Computer History)
http://www.computerhistory.org/brochures/companies.php?alpha=a-c&company=com-42b9d5d68b216 - PDP-1 Web Pages
http://www.pdp-1.org/ - PDP-1 Restoration Process
http://pdp-1.computerhistory.org/pdp-1/ - Programmed Data Processor (Wikipedia)
http://en.wikipedia.org/wiki/Programmed_Data_Processor - Digital Equipment Corporation (Wikipedia)
http://en.wikipedia.org/wiki/Digital_Equipment_Corporation - PDP-1 (Wikipedia)
http://en.wikipedia.org/wiki/PDP-1 - Ancient Computing Machinery
http://www.ee.ryerson.ca/~elf/ancient-comp/index.html - Spacewar – The first computer video game. Really!
http://www3.sympatico.ca/maury/games/space/spacewar.html - Programmed Data Processor-1 Handbook
http://www.dbit.com/~greeng3/pdp1/pdp1.html