IBM a sedm trpaslíků 14 - superpočítačová firma CDC

26. 5. 2011
Doba čtení: 14 minut

Sdílet

V dnešní části seriálu o historii vývoje výpočetní techniky se zaměříme na další společnost vyrábějící mainframy, která byla na začátku šedesátých let minulého století zařazována do skupiny „sedmi trpaslíků“. Jedná se o firmu Control Data Corporation, v níž se kromě klasických mainframů začaly konstruovat i superpočítače, za jejichž vznikem nestál nikdo jiný než Seymour Cray.

Obsah

1. Superpočítačová firma Control Data Corporation

2. Od společnosti ERA k firmě CDC

3. Stručná historie firem ERA, EMCC, Remington Rand, Sperry Corporation a CDC

4. CDC Little Character – prototyp počítače navržený Seymourem Crayem

5. První komerčně dostupný mainframe od CDC: CDC 1604

6. Procesorová jednotka mainframu CDC 1604

7. Aplikační oblasti mainframu CDC 1604

8. Další vývoj mainframů a superpočítačů firmy CDC

9. Odkazy na Internetu

1. Superpočítačová firma Control Data Corporation

V předchozích částech seriálu o historii vývoje výpočetní techniky jsme si již řekli základní informace o čtyřech společnostech vyrábějících sálové počítače (mainframy), které byly souhrnně a možná i poněkud posměšně označovány jako „sedm trpaslíků“. Jednalo se o společnosti EMCC (později sloučena se Sperry Rand s divizí UNIVAC), Burroughs, Honeywell a General Electric (GE). Tyto firmy sice zdánlivě byly v porovnání s obří společností IBM trpaslíky, ovšem ve skutečnosti právě v těchto firmách vznikly některé technologie, které dosti zásadním způsobem ovlivnily další vývoj výpočetní techniky. Pátým trpaslíkem z celé skupiny je společnost CDC neboli Control Data Corporation. Tato firma se proslavila především konstrukcí superpočítačů, tj. počítačů, u nichž byl prvotním cílem vysoký výpočetní výkon a více než typické je, že u zrodu většiny těchto superpočítačů stál Seymour Cray, s jehož prací jsme se již částečně taktéž v tomto seriálu seznámili.

Obrázek 1: Výměna jednoho modulu počítače Atlas.

Kořeny společnosti CDC musíme hledat již v období druhé světové války ve skupině odborníků v námořnictvu USA, kteří se soustředili na konstrukce specializovaných strojů určených pro luštění německých a japonských šifer. Po válce se někteří z těchto specialistů stali zaměstnanci nebo spoluvlastníky nově vzniklé společnosti ERA (Engineering Research Associates), v níž se zabývali mnoha různými a mnohdy vzájemně nesouvisejícími projekty, které však byly většinou zadávány námořnictvem USA nebo přímo vládou (nejednalo se tedy o klasické komerční projekty). Jedním z částečně úspěšných projektů byl počítač Demon specializovaný na luštění některých sovětských šifer. Tento velmi úzce specializovaný stroj se však v roce 1949 stal nepoužitelný, protože SSSR změnilo své šifry a kvůli tomu, že mnoho operací bylo v Demonu zadrátováno, nebylo ho možné žádným rozumným způsobem přeprogramovat. Námořnictvo USA tedy zadalo společnosti ERA novou zakázku na vytvoření programovatelného počítače, v němž by byl program uložený v operační paměti.

Obrázek 2: Při celkovém pohledu na počítač ERA 1101 je zřejmé, proč se těmto strojům říkalo sálové počítače.

2. Od společnosti ERA k firmě CDC

Výsledkem snahy o vytvoření programovatelného počítače (ostatně jednoho z prvních počítačů tohoto typu na světě) byla konstrukce stroje Atlas, jehož upravená verze začala být firmou ERA později nabízena pod názvem ERA 1101. Tento počítač byl následovaný dalšími modely, především 36bitovým strojem ERA 1103. Poměrně slibný vývoj na poli programovatelných počítačů však byl posléze pozastaven, a to především kvůli problémům s financováním dalšího vývoje těchto strojů ze strany námořnictva. Později dokonce došlo k prodeji firmy ERA společnosti Remington Rand. Aby to nebylo tak jednoduché, tak se po relativně krátkém čase firma Remington Rand spojila se společností Sperry Corporation a vzniklá nová firma byla pojmenována Sperry Rand. Toto sloučení dvou již relativně velkých firem mj. znamenalo i to, že se původní zaměstnanci ERA stali zaměstnanci divize UNIVAC (což byla současně i značka zde navrhovaných počítačů).

Obrázek 3: Pohled na jeden z modelů bubnové paměti navržené inženýry ze společnosti ERA.

Ovšem někteří zakladatelé ERA, zejména Bill Norris, nebyli v nové velké, hierarchicky řízené a taktéž již poněkud těžkopádné společnosti spokojeni, takže Sperry Rand následně opustili a vytvořili novou společnost nazvanou Control Data Corporation (CDC). Jedním z klíčových lidí, kteří Sperry Rand opustili a přešli do CDC, byl i Seymour Cray, jenž se zabýval návrhem architektur nových typů počítačů. Nově vzniklá poměrně malá a agilní společnost CDC v první polovině padesátých let minulého století však ještě nenavrhovala ani nevyráběla vlastní počítače. Namísto toho se soustředila na dodávky různých počítačových subsystémů a počítačových periferií pro další výrobce; zejména se jednalo o výrobu bubnových pamětí, jejichž princip práce jsme si již v tomto seriálu vysvětlili. To se ovšem změnilo právě díky činnosti Seymoura Craye, který navrhl a posléze se i podílel na konstrukci většiny mainframů a superpočítačů, které ve firmě CDC vznikly.

Obrázek 4: Část původního schématu počítače ERA 1101/UNIVAC 1101 (pravděpodobně se jedná o obvod řídicí bubnovou paměť).

3. Stručná historie firem ERA, EMCC, Remington Rand, Sperry Corporation a CDC

Historie vzájemného slučování a naopak rozdělování firem, které se v padesátých letech minulého století zabývaly konstrukcí mainframů, je poměrně složitá a vzájemně propletená. Z tohoto důvodu jsem se v následujícím grafu pokusil shrnout vztahy mezi čtyřmi původními společnostmi ERA, EMCC, Remington Rand a Sperry Corporation, které se v průběhu zhruba sedmi let spojily do jediné velké společnosti Sperry Rand. Ovšem posléze došlo k odchodu některých klíčových zaměstnanců a zakladatelů firmy ERA do nové společnosti Control Data Corporation (CDC), z níž později (opět) odešli klíčoví zaměstnanci, kteří založili společnost Cray Research. Ještě si připomeňme, že jedna divize firmy Remington Rand se jmenovala UNIVAC – právě zde byly navrhovány a konstruovány známé počítače téhož jména. Následuje slíbený graf (pokud se tedy ASCII obrázek dá nazývat grafem :-):

EMCC: Eckert-Mauchly Computer Corporation
ERA:  Engineering Research Associates
CDC:  Control Data Corporation

 ERA      EMCC         Remington Rand      Sperry Corporation
(194?)   (1946)          (1927)                  (1933)
  |        |               |                       |
  |        |               |                       |
  |        | prodej        v                       |
  |        +-----------> (1950)                    |
  |                        |                       |
  | prodej společnosti     v                       |
  +--------------------> (1952)                    |
                           |                       |
                           | prodej/sloučení       v
                           +----------------> Sperry Rand
                                                 (1955)
                                                   |
                                odchod zaměstnanců |
                               +-------------------+
                               |  z původní ERA    |
                              CDC                  |
                             (1957)                |
                               |                   |
              +----------------+                   |
              |                |                   |
        Cray Research          |                   |
            (1972)             |                   v
              |                |                 Unisys
              v                v                 (1984)

Obrázek 5: Elektronický počítač BINAC navržený ve firmě Eckert-Mauchly Computer Corporation (EMCC), což je jedna z firem, která se stala součástí společnosti Sperry Rand.

4. CDC Little Character – prototyp počítače navržený Seymourem Crayem

Ihned poté, co Seymour Cray přešel ze společnosti Sperry Rand do nově vzniklé firmy Control Data Corporation, začal se zabývat konstrukcí nových typů počítačů. Nejprve navrhl relativně malý počítač (malý byl samozřejmě v kontextu doby v porovnání s ostatními mainframy), jenž byl interně nazývaný CDC Little Character. Tento počítač byl již plně založen na technologii polovodičových tranzistorů a dokázal zpracovávat slova o šířce šesti bitů. Kapacita jeho operační paměti se pohybovala v řádech desítek bajtů a počítač neobsahoval žádná periferní zařízení (kromě řídicího panelu). I z těchto údajů je zřejmé, že se nejednalo o počítač, který by byl určený pro prodej koncovým zákazníkům (z tohoto důvodu byl také vyroben pouze jeden jediný prototyp), ale o stroj, na němž si Seymour Cray odzkoušel některé postupy a technologie, které následně zužitkoval při konstrukci mnohem složitějších, výkonnějších a samozřejmě taktéž dražších mainframů.

Obrázek 6: Superpočítač CDC 6600, na jehož vývoji se v polovině šedesátých let minulého století významnou měrou podílel i Seymour Cray.

Z technologií navržených Seymourem Crayem, které byly využité v počítači CDC Little Character, se musíme zmínit především o jeho modulové architektuře, s níž Cray slavil později velké úspěchy i na poli superpočítačů, použití pouze omezeného množství unifikovaných typů plošných spojů osazených tranzistory a pasivními součástkami, které navíc obsahovaly i konektory pro vzájemné propojení a v neposlední řadě taktéž o strukturu vlastní sítě, kterou mezi sebou byly tyto moduly propojeny. Právě díky omezenému množství unifikovaných plošných spojů bylo možné stavět mainframy a posléze i minipočítače poměrně levně, protože se zjednodušila jak jejich výroba, tak i následné oživování počítače spojené s testováním jednotlivých modulů. Fotografii zachovaného prototypu počítače CDC Little Character lze najít na adrese http://www.com­puterhistory.or­g/VirtualVisi­bleStorage/po­pup_image.php?ba­se_name=DSC03096.

Obrázek 7: Seymour Cray na fotografii se svým superpočítačem Cray-1 z roku 1977.

5. První komerčně dostupný mainframe od CDC: CDC 1604

Postupy navržené Seymourem Crayem se osvědčily a zdálo se, že budou použitelné i pro mnohem větší stroje, než jakým byl CDC Little Character. Z tohoto důvodu firma CDC přistoupila k tomu, aby se starší, ale poměrně populární mainframe 1103 přestavěl s využitím v té době relativně nové technologie polovodičových tranzistorů a modularizovaných plošných spojů. Výsledkem této přestavby byl sálový počítač nazvaný CDC 1604; v roce 1959 se dokonce jednalo o první komerčně úspěšný tranzistorový počítač. Tento stroj zpracovával slova o šířce 48 bitů, přičemž i strojové instrukce byly ukládány do slov o této šířce: v každém 48bitovém slovu byly umístěny dvě instrukce, přičemž šířka obou instrukcí byla konstantní, tj. 24 bitů. Samotný instrukční kód v několika ohledech připomínal pozdější procesory s architekturou RISC (Load & Store architektura), protože každá instrukce obsahovala šestibitový operační kód, tři bity pro výběr indexového registru nebo podmínky skoku a následně patnáctibitovou adresu.

Obrázek 8: Superpočítač CDC 7600 má se svým předkem CDC 1604 společnou především modulovou architekturu.

Ostatně všechny adresy byly v případě sálového počítače CDC 1604 omezeny pouze na patnáct bitů, protože operační paměť složená z feritových jader měla strukturu 32768×48 bitů, což odpovídá kapacitě 192 kB při použití současných jednotek. Celá paměť byla fyzicky rozdělena na dva stejně velké bloky o struktuře 16384×48 bitů, přičemž v prvním bloku byla uložena slova se sudou adresou a v bloku druhém naopak slova s adresou lichou. Tento způsob konstrukce operační paměti urychlil přístup k datům, protože čtení z druhého bloku bylo oproti čtení dat z bloku prvního opožděno přesně o polovinu cyklu (namísto 6,4 mikrosekund se jednalo o 3,2 mikrosekund). Průměrná doba přístupu k datům a instrukcím uloženým v operační paměti tedy byla rovna 4,8 mikrosekundám, protože se vždy pracovalo s celými 48 bitovými slovy čtenými většinou sekvenčně. Rychlost provádění operací dosahovala 100000 operací za sekundu, ovšem sám Cray prohlašoval, že jeho další počítač bude padesátkrát rychlejší než CDC 1604.

Obrázek 9: První superpočítač na světě: CDC 6600.

6. Procesorová jednotka mainframu CDC 1604

Vlastní procesorová jednotka sálového počítače CDC 1604 byla relativně jednoduchá, a to i v porovnání s ostatními mainframy, které vznikly na přelomu padesátých a šedesátých let minulého století. Procesor obsahoval jediný akumulátor označovaný symbolem A, programový čítač P, maskovací registr Q (použitelný i jako druhý pracovní registr, ovšem jen pro některé typy instrukcí) a šestici indexových registrů pojmenovaných I1I6. Zatímco akumulátor i maskovací registr měly shodně šířku 48 bitů (tj. stejnou šířku, jakou měly slova uložená v operační paměti), byla velikost programového čítače a všech indexových registrů snížena na patnáct bitů kvůli výše uvedeným omezením v maximální adresovatelné kapacitě operační paměti. Všechny celočíselné hodnoty byly v pracovních registrech i v buňkách operační paměti reprezentovány ve formátu jedničkového doplňku, na rozdíl od dvojkového doplňku používaného v současnosti na prakticky všech typech procesorů.

Obrázek 10: Detailní pohled na konzoli superpočítače CDC 6600.

Kromě celočíselných hodnot bylo možné na sálovém počítači CDC 1604 pracovat i s čísly reprezentovanými ve formátu plovoucí řádové čárky (floating point). V tomto případě se pracovalo s 64bitovými dvojslovy, přičemž 32 bitů bylo rezervováno pro mantisu, jeden bit pro znaménko mantisy a 15 bitů pro exponent (resp. pro offset exponentu), takže se z 64 bitů ve skutečnosti využívala pouze podmnožina 48 bitů. Teprve u dalších sálových počítačů firmy Control Data Corporation, například CDC 3600, se využíval plnohodnotný formát čísel s plovoucí řádovou čárkou s dvojitou přesností, který byl o zhruba patnáct let později ještě jednou poupraven v souvislosti s vývoji superpočítačů Cray. Ani jeden z popisovaných FP formátů neodpovídal standardu IEEE 754 a původní formát počítače CDC 1604 nebyl navržen takovým způsobem, aby dokázal reprezentovat například nekonečno či NaN (not a number).

Obrázek 11: CDC 160A byla zjednodušená varianta počítače CDC 1604.

7. Aplikační oblasti mainframu CDC 1604

Sálové počítače CDC 1604 se v praxi používaly v několika značně odlišných oblastech, například i pro první poměrně nesmělé pokusy o text mining (získávání rozličných metainformací z nestrukturovaných textů). Ovšem pravděpodobně nejzajímavější aplikací těchto počítačů bylo jejich využití pro navádění mezikontinentálních střel LGM-30A Minuteman.

Obrázek 12: Mezikontinentální balistická raketa Minuteman I.

Samozřejmě to neznamená, že by sálový počítač byl přímo zabudován do relativně malé střely (o váze necelých 30 tun) – to nebylo možné hned z několika důvodů – ale dvojice vzájemně zálohovaných strojů CDC 1604 se používala pro přepočítání parametrů letu na základě zadaného cíle a taktéž počasí panujícího v oblastech, kterými střela prolétala v „atmosférické“ části své trajektorie. Po přepočítání parametrů letu se výsledky nahrály do inerciálního naváděcího systému umístěného ve střele (výrobek firmy Rockwell Internacional). Nejednalo se sice o ideální řešení, protože se na výpočet muselo čekat, což snižovalo možnosti změn cílů v případě odvetného útoku, ale vylepšené navádění střel bylo implementováno až o několik let později.

Obrázek 13: Mezikontinentální balistická raketa Minuteman II.

8. Další vývoj mainframů a superpočítačů firmy CDC

Otázka jednoho manažera z IBM:
„How is it that this tiny company (myšleno CDC) of 34 people – including the janitor – can be beating us when we have thousands of people?“

Odpověď Seymoura Craye:
„You just answered your own question“ 

ict ve školství 24

Úspěšný návrh a následný komerční úspěch sálového počítače CDC 1604 měly pro společnost Control Data Corporation velký význam. Později se tato firma začala více orientovat na vývoj superpočítačů, kde byla jedním z konkurentů i firma IBM – viz též výrok uvedený na začátku této kapitoly. V následující tabulce jsou pro zajímavost vypsány další počítače a superpočítače sestrojené ve společnosti CDC (některé si ještě v tomto seriálu popíšeme):

Rok Modely počítačů
1957 založení společnosti CDC
1959 1604
1960 1604-B
1961 160
1962 924
1963 160A, 1604-A, 3400, 6600
1964 160-G, 3100, 3200, 3600, 6400
1965 1604-C, 1700, 3300, 3500, 8050, 8090
1966 3800, 6200, 6500, STATION 6000
1968 7600
1969 6700
1970 STAR-100
1971 CYBER 71, CYBER 72, CYBER 73, CYBER 74, CYBER 76
1972 5600, 8600
1973 CYBER 170, CYBER 172, CYBER 173, CYBER 174, CYBER 175, SYSTEM 17
1976 CYBER 18
1977 CYBER 171, CYBER 176, OMEGA/480
1979 CYBER 203, CYBER 720, CYBER 730, CYBER 740, CYBER 750, CYBER 760
1980 CYBER 205
1982 CYBER 815, CYBER 825, CYBER 835, CYBER 845, CYBER 855, CYBER 865, CYBER 875
1983 ETA10
1984 CYBER 810, CYBER 830, CYBER 840, CYBER 850, CYBER 860, CYBER 990, CYBERPLUS
1987 CYBER 910, CYBER 930, CYBER 995
1988 CYBER 960
1989 CYBER 920, CYBER 2000

Obrázek 14: Superpočítač ETA10.

9. Odkazy na Internetu

  1. BUNCH
    http://en.wiki­pedia.org/wiki/BUN­CH
  2. Mainframe computer
    http://en.wiki­pedia.org/wiki/Ma­inframe_compu­ter
  3. John Mauchly
    http://en.wiki­pedia.org/wiki/Joh­n_Mauchly
  4. J. Presper Eckert
    http://en.wiki­pedia.org/wiki/J­._Presper_Eckert
  5. BINAC
    http://en.wiki­pedia.org/wiki/BI­NAC
  6. Description of the BINAC
    http://www.pa­losverdes.com/las­thurrah/binac-description.html
  7. UNIVersal Automatic Computer
    http://www.thoc­p.net/hardware/u­nivac.htm
  8. Control Data Corporation (CDC) 6600: 1966–1977
    http://www.cis­l.ucar.edu/com­puters/gallery/cdc/6600­.jsp
  9. Control Data Corporation (CDC) 7600: 1971–1983
    http://www.cis­l.ucar.edu/com­puters/gallery/cdc/7600­.jsp
  10. Cray History
    http://www.cra­y.com/About/His­tory.aspx?404;http:­//www.cray.com:80/a­bout_cray/his­tory.html
  11. Cray Historical Timeline
    http://www.cra­y.com/Assets/PDF/a­bout/CrayTime­line.pdf
  12. Company: Cray Research, Inc. (Computer History)
    http://www.com­puterhistory.or­g/brochures/com­panies.php?al­pha=a-c&company=com-42b9d5d68b216
  13. General Electric GE-400
    http://www.feb-patrimoine.com/PRO­JET/ge400/ge-400.htm
  14. GE-400 Time-sharing information systems:
    http://www.com­puterhistory.or­g/collections/ac­cession/102646147
  15. GE 225 vs. IBM 1401
    http://ed-thelen.org/GE225-IBM1401.html
  16. A GE-225 is found
    http://ed-thelen.org/comp-hist/GE225.html
  17. G.E. 200 Series Computers
    http://www.smec­c.org/g_e__200_s­eries_computer­s.htm
  18. GE-200 series (Wikipedia)
    http://en.wiki­pedia.org/wiki/GE-200_series
  19. GE-400 series (Wikipedia)
    http://en.wiki­pedia.org/wiki/GE-400_series
  20. GE-600 series (Wikipedia)
    http://en.wiki­pedia.org/wiki/GE-600_series
  21. Mainframe – Introduction
    http://www.thoc­p.net/hardware/ma­inframe.htm
  22. Honeywell 800 (1958)
    http://www.cs­.clemson.edu/~mar­k/h800.html
  23. Real Machines with 24-bit and 48-bit words
    http://www.qu­adibloc.com/com­p/cp0303.htm
  24. Honeywell ARGUS
    http://en.wiki­pedia.org/wiki/Ho­neywell_ARGUS
  25. Honeywell Datamatic 1000
    http://www.smec­c.org/honeywe­ll_datamatic_1000­.htm
  26. Honeywell
    http://en.wiki­pedia.org/wiki/Ho­neywell
  27. 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/
  28. Datamatic 1000 by DATAmatic Corporation (1955)
    http://www.com­putermuseum.li/Tes­tpage/Datamatic-1000.html
  29. Burroughs – Third Generation Computers
    https://wiki.cc­.gatech.edu/fol­klore/index.php/Bu­rroughs_Third-Generation_Com­puters
  30. Burroughs B5000, B5500 and B5700 (original) documentation
    http://www.bit­savers.org/pdf/bu­rroughs/B5000_55­00_5700/
  31. Burroughs B6500 and B6700 (original) documentation
    http://www.bit­savers.org/pdf/bu­rroughs/B6500_67­00/
  32. Burroughs B8500 (original) documentation
    http://www.bit­savers.org/pdf/bu­rroughs/B8500/
  33. ERA 1101 Documents
    http://ed-thelen.org/comp-hist/ERA-1101-documents.html
  34. 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)
  35. UNIVAC I Computer System
    http://univac1­.0catch.com/
  36. UNIVAC I Computer System
    http://univac1­.0catch.com/y­ellowpage.htm
  37. UNIVAC (Wikipedia)
    http://en.wiki­pedia.org/wiki/U­nivac
  38. UNIVAC I (Wikipedia)
    http://en.wiki­pedia.org/wiki/U­NIVAC_I
  39. UNIVAC II – Universal Automatic Computer Model II
    http://ed-thelen.org/comp-hist/BRL61-u4.html
  40. UNIVAC II (Wikipedia)
    http://en.wiki­pedia.org/wiki/U­NIVAC_II
  41. UNIVAC III (Wikipedia)
    http://en.wiki­pedia.org/wiki/U­NIVAC_III
  42. UNIVAC 1101 (Wikipedia)
    http://en.wiki­pedia.org/wiki/U­NIVAC_1101
  43. UNISYS History Newsletter
    https://wiki.cc­.gatech.edu/fol­klore/index.php/Ma­in_Page
  44. UNIVAC Solid State (Wikipedia)
    http://en.wiki­pedia.org/wiki/U­NIVAC_Solid_Sta­te
  45. Bi-quinary coded decimal (Wikipedia)
    http://en.wiki­pedia.org/wiki/Bi-quinary_coded_de­cimal
  46. UNIVAC III Data Processing System
    http://ed-thelen.org/comp-hist/BRL61-u4.html#UNIVAC-III
  47. The UNIVAC III Computer
    https://wiki.cc­.gatech.edu/fol­klore/index.php/The_U­NIVAC_III_Com­puter
  48. UNIVAC III Photos
    http://jwstep­hens.com/univac3/pa­ge01.htm
  49. A History of Unisys Computers (kniha)
    http://www.lu­lu.com/produc­t/hardcover/a-history-of-unisys-computers/4627477
  50. UNIVAC III Instructions Reference Card
    http://www.bit­savers.org/pdf/u­nivac/univac3/UT-2455_UNIVACII­I_RefCd61.pdf

Autor článku

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