Hlavní navigace

Sálové počítače firmy IBM

3. 11. 2009
Doba čtení: 12 minut

Sdílet

V předchozích třech částech seriálu o historii počítačů jsme se zabývali minipočítači firmy DEC (Digital Equipment Corporation), popř. jejich klony vyráběnými v zemích RVHP. Nesmíme ovšem zapomenout ani na další společnosti, které se velkou měrou podílely na vývoji výpočetní techniky, zejména na firmu IBM a její sálové počítače.

Obsah

1. Sálové počítače firmy IBM

2. Řada 700 – první generace sálových počítačů

3. Řada 7000 – přechod od elektronek k tranzistorům

4. Rozdělení počítačů podle způsobu jejich použití

5. IBM 704 – sálový počítač určený pro vědeckotechnické výpočty

6. IBM 705 – sálový počítač navržený pro hromadné zpracování dat

7. Slavné počítače řady System/360

8. Odkazy na Internetu

1. Sálové počítače firmy IBM

Firmu IBM pravděpodobně není nutné čtenářům Roota představovat, protože její vliv na vývoj výpočetní techniky je značný – týká se to jak vlastních počítačů a jejich vybavení (hardware), tak i uživatelských aplikací, operačních systémů či překladačů. IBM se začala vývojem a posléze i výrobou (elektronických) sálových počítačů zabývat na počátku padesátých let minulého století. Již v roce 1952 byl představen první elektronický sálový počítač nesoucí označení IBM 701. Jednalo se o počítač, ve kterém byly jednotlivé logické členy sestavené z elektronek a pasivních elektronických součástek (rezistorů, kondenzátorů, cívek), což mělo samozřejmě vliv jak na velikost celého počítače, tak i na jeho vysokou cenu, nemluvě o spotřebě elektrické energie. Právě od velikosti elektronkových počítačů se odvozuje jak jejich český název – sálové počítače –, tak i název anglický – mainframe –, protože jednotlivé moduly těchto počítačů bývaly umístěny ve velkých kovových rámech (frame).

ibm01

Obrázek 1: Elektronky byly v prvních sálových počítačích firmy IBM použity pro konstrukci kombinačních i sekvenčních logických obvodů.

Vzhledem k tomu, že dnes má termín mainframe již poněkud odlišný význam (nehledě na to, že například celý počítač System/360 by bylo dnes možné umístit na jediný čip), budeme se v tomto článku držet spíše termínu sálový počítač, který poměrně přesně vystihuje dojem, jakým musely tyto stroje působit na své okolí. Vraťme se však k firmě IBM. O necelé desetiletí později, tj. na přelomu padesátých a šedesátých let, začaly být elektronkové počítače postupně nahrazovány počítači, jejichž procesorová jednotka byla složena z tranzistorů a pasivních elektronických součástek. Použití tranzistorů umožnilo vznik výkonnějších počítačů, které díky tomu dokázaly řešit i složitější úlohy, popř. stejné úlohy, ale za cenu menších finančních výdajů (spotřebovala se menší kvanta strojového času). Současně se měnily i technologie operačních pamětí. Původní katodové trubice, jejichž princip si vysvětlíme příště, byly nahrazeny nejprve paměťmi s feritovými jádry a posléze polovodičovými paměťovými moduly.

ibm02

Obrázek 2: Nažhavené elektronky – katody elektronek musely být zahřáty na dostatečně vysokou teplotu, aby z nich vyletovaly elektrony zachycované anodou (či anodami). Elektrony při svém letu musely většinou projít několika mřížkami, přičemž počet mřížek určoval typ elektronky (žádná mřížka – dioda, jedna mřížka – trioda, tři mřížky – pentoda atd.).

2. Řada 700 – první generace sálových počítačů

První generace sálových počítačů firmy IBM byla označována tříciferným kódem začínajícím na 7. Celkem se vyrábělo pět typů počítačů této generace – IBM 701, IBM 702, IBM 704, IBM 705 a IBM 709. Číselné označení těchto počítačů respektuje i posloupnost jejich vzniku (rok vzniku počítače), což u dalších řad již není vždy splněno. Procesor těchto počítačů byl sestaven z elektronek a pasivních elektronických součástek. Operační paměť se u modelů 701 a 702 skládala z katodových trubic a u dalších třech modelů pak z magnetické paměti vytvořené ze sítě feritových jader navlečených na adresové a čtecí/zápisové vodiče. Dva modely těchto počítačů byly určeny pro hromadné zpracování dat (tomu byla uzpůsobena především instrukční sada), další dva modely byly optimalizovány spíše pro vědeckotechnické výpočty – viz tabulka zobrazená pod tímto odstavcem.

Model Určení Rok výroby
701 první elektronický počítač firmy IBM 1952
702 hromadné zpracování dat 1953
704 vědeckotechnické výpočty 1954
705 hromadné zpracování dat 1954
709 vědeckotechnické výpočty 1958
ibm03

Obrázek 3: Feritová paměť, která nahradila složitou a drahou paměť vytvořenou pomocí katodových (Williamsových) trubic. Předností feritové paměti je poměrně dlouhá doba udržení zapsané informace, takže obsah paměti většinou úspěšně přestál i pád systému – nebylo zapotřebí implementovat programový core-dump :-)

I přes značné rozdíly v instrukční sadě i struktuře procesorů byla periferní zařízení pro všechny zmíněné modely počítačů víceméně shodná, což znamená, že se tyto počítače od sebe odlišovaly především instrukční sadou a strukturou procesorové jednotky, tj. počtem a typem pracovních registrů, typem zpracovávaných operandů (celočíselné či reálné hodnoty × řetězce), formátem instrukcí, formátem údajů ukládaných do paměti atd., ale jednotky pro čtení i zápis (děrování) dat na děrné štítky, magnetické pásky či bubnové paměti byly shodné a vzájemně zaměnitelné, stejně jako další typy zařízení, například tiskárny. Některé z těchto zařízení ostatně pocházely z dob minulých – firma IBM je používala například ve specializovaných systémech určených pro vedení účetnictví či zpracování statistických údajů. Zajímavé bylo, že tyto systémy byly dodávány bez přidaných utilit, teprve později začala firma IBM dodávat překladače jazyka Fortran a Cobol.

ibm04

Obrázek 4: Bubnová paměť je předchůdcem dnešních pevných disků. Na rozdíl od nich se pro každou stopu využívala samostatná sada čtecích a zápisových hlav, což zjednodušilo konstrukci paměti (nemusel se implementovat mechanismus pro vystavení hlav) a umožnilo paralelní zápis/čtení ze všech stop současně. Kvůli poměrně malému množství stop však byla kapacita bubnové paměti relativně nízká.

3. Řada 7000 – přechod od elektronek k tranzistorům

Druhá generace sálových počítačů firmy IBM, jejíž modely jsou označovány čtyřciferným kódem začínajícím opět na sedmičku, se od první generace odlišovala především v použití odlišné technologie elektronických součástek – namísto rozměrných a poruchových elektronek s velkou spotřebou elektrické energie se zde objevují tranzistory. Rozdělení počítačů podle způsobu jejich použití (vědeckotechnické výpočty, hromadné zpracování dat, účetní operace v dekadické soustavě) však zůstává zachováno. Některé modely z druhé generace nejsou v podstatě ničím jiným, než počítači první generace s upravenou součástkovou základnou a několika dalšími vylepšeními (příkladem může být model IBM 705, který byl nahrazen modernějším modelem IBM 7080). V následující tabulce jsou vypsány nejvýznamnější modely druhé generace sálových počítačů firmy IBM (vynechány jsou pouze některé méně často prodávané varianty těchto počítačů):

Model Určení Rok výroby
7090 vědeckotechnické výpočty 1959
7094 vědeckotechnické výpočty 1962
7094 II vědeckotechnické výpočty 1964
7040 vědeckotechnické výpočty 1963
7044 vědeckotechnické výpočty 1963
7080 hromadné zpracování dat 1961
7010 rozšířená verze IBM 1410 1962
7070 dekadická soustava 1960
7072 dekadická soustava 1962
7074 dekadická soustava 1961
ibm05

Obrázek 5: Sálový počítač IBM-702.

4. Rozdělení počítačů podle způsobu jejich použití

Nehledě na technologii elektronických součástek používaných při implementaci logických obvodů (elektronky × tranzistory) byly první dvě generace sálových počítačů firmy IBM vyráběny v několika různých řadách, které se od sebe odlišovaly především tím, pro jaký typ úloh byly tyto počítače určeny. Jedná se o odlišný přístup, než na jaký jsme zvyklí dnes, protože v současnosti se setkáváme s prakticky zcela univerzálními počítači (i když výjimky se také najdou, jedná se například o specializované mikrořadiče, zařízení se signálovými procesory atd.). Nicméně na přelomu padesátých a šedesátých let minulého století byli inženýři firmy IBM (a nejenom oni) přesvědčeni o tom, že struktura procesoru (aritmeticko-logické jednotky, řadiče a registrů) a tím pádem i jeho instrukční sada musí být optimalizována s ohledem na to, k jakému účelu je daný model počítače používán, zda pro numerické vědeckotechnické výpočty (tyto počítače byly například používány v misích NASA), účetní operace či pro hromadné zpracování dat.

ibm06

Obrázek 6: Ovládací panel sálového počítače IBM-702.

Instrukční sady sálových počítačů byly navíc poměrně složité (dnes bychom řekli, že se jednalo o architekturu CISC), což sice pomáhalo programátorům při psaní aplikací v assembleru, ale s nástupem překladačů vyšších programovacích jazyků se ukázalo, že mnohé strojové instrukce tyto překladače vůbec nepoužívají a že zjednodušení instrukční sady procesorů může vést k urychlení zpracování instrukcí (například se vynechá nutnost mikroprogramování či dokonce nanoprogramování, zjednoduší se dekodér instrukcí atd.), což je idea, která a mnoho let později vedla ke vzniku procesorů RISC, tj. procesorů se zjednodušenou instrukční sadou. Nicméně v dobách sálových počítačů 7×x a 7×xx se firmy, které si tyto počítače pořizovaly, musely podle plánovaného nasazení těchto strojů rozhodnout, který typ si zakoupí – bližší informace jsou uvedeny v navazujících kapitolách.

5. IBM 704 – sálový počítač určený pro vědeckotechnické výpočty

Typickým představitelem sálových počítačů navržených pro provádění vědeckotechnických výpočtů je model IBM 704. Jedná se o počítač založený na dnes již překonaných technologiích – elektronkách (procesor, tj. jak aritmeticko-logická jednotka, tak i řadič) a feritových pamětech s dobou přístupu 12 mikrosekund. Tento počítač zpracovával numerické hodnoty uložené ve slovech, jejichž šířka byla rovna 36 bitům, přičemž akumulátor (registr používaný jako zdroj i cíl aritmetických operací) byl rozšířen o další dva bity na celkovou šířku 38 bitů. Aritmeticko-logická jednotka tohoto počítače dokázala zpracovávat tři typy hodnot:

  1. Celá čísla či čísla s pevnou řádovou čárkou. Absolutní hodnota čísla byla uložena v 35 bitech, bit s nejvyšší váhou nesl znaménko uložené či zpracovávané hodnoty.
  2. Čísla s pohyblivou řádovou čárkou, u kterých byl jeden bit rezervován pro uložení znaménka, osm bitů pro uložení exponentu (posunutého o hodnotu 128) a zbylých 27 bitů bylo použito pro uložení mantisy (v akumulátoru bylo díky dalším dvou bitům možné mantisu uložit v 29 bitech). Formát čísel s pohyblivou řádovou čárkou použitý u tohoto počítače do značné míry připomíná formát „single“ specifikovaný v normě IEEE 754, ovšem s tím rozdílem, že pro mantisu je zde použit větší počet bitů (základem exponentu je v obou případech hodnota 2).
  3. Alfanumerické znaky uložené po šesticích do slova s délkou 36 bitů. Každý alfanumerický znak je v tomto případě představován šesti bity, tj. rozeznávalo se pouze 64 různých znaků (oproti ASCII chyběla například malá písmena).
ibm07

Obrázek 7: Sálový počítač IBM-704.

Operační paměť byla z hlediska zpracování dat organizována po slovech o šířce 36 bitů (viz předchozí text), přičemž celkový počet těchto slov uložených v paměti mohl nabývat hodnot 4096, 8192 či 32768, což odpovídá postupně 18 kB, 36 kB a 144 kB (pro představu – v posledním případě musela feritová paměť obsahovat přes jeden milion feritových jadérek a několik desítek tisíc vodičů). Samotná aritmeticko-logická jednotka dokázala provádět i operace násobení a dělení, přičemž tyto operace trvaly 240 mikrosekund, tj. za jednu sekundu bylo možné provést cca 4000 těchto operací. Součet a rozdíl číselných hodnot reprezentovaných ve formátu pohyblivé řádové čárky byl proveden už za 84 mikrosekund (maximálně 12000 součtů a rozdílů za sekundu). Jako externí paměť se používaly buď děrné štítky (na rozdíl od děrných pásek využívaných u počítačů PDP), magnetické pásky s kapacitou až 5 MB nebo i bubnové paměti(1, 2). Dále bylo možné k tomuto počítači připojit i tiskárny, například model IBM 716.

6. IBM 705 – sálový počítač navržený pro hromadné zpracování dat

Další řadou sálových počítačů firmy IBM jsou počítače určené pro hromadné zpracování dat. Jedná se o modely IBM 702, IBM 705 a IBM 7080. Procesory těchto počítačů se v mnoha ohledech lišily od výše popsaného modelu IBM 704. Struktura procesoru využitá v modelu IBM 704 je totiž i přes některé své zvláštnosti vlastně velmi podobná současným procesorům – základním datovým typem je n-bitová hodnota, přičemž n je vhodně zvoleno takovým způsobem, aby bylo možné pracovat i se znaky popř. skupinami znaků (do 36 bitů lze uložit šest znaků, přičemž každý znak byl reprezentován šesticí bitů). Podobnost 36bitového sálového počítače IBM 704 s 32bitovými architekturami (například i386) je tedy poměrně velká. Zcela odlišná struktura procesoru však byla použitá u modelů IBM 702, IBM 705 a IBM 7080, které byly určené především pro hromadné zpracování dat.

ibm08

Obrázek 8: Sálový počítač IBM-705.

Tyto počítače byly vybaveny registry, do nichž bylo možné uložit řetězce znaků ukončené zvláštním symbolem zvaným record mark (jeho význam je podobný jako je tomu v případě znaku nula u céčkových řetězců). Model IBM 702 obsahoval dva akumulátory pojmenované A a B, z nichž každý mohl obsahovat až 512 znaků. Model IBM 705 měl sice jen jeden akumulátor A o kapacitě 256 znaků, kromě toho však obsahoval i čtrnáct přídavných paměťových míst (dnes bychom nejspíše řekli pracovních registrů) o kapacitě 16 znaků a jedno místo s maximální kapacitou 32 znaků. Model IBM 7080 obsahoval více těchto přídavných míst a navíc mělo každé z míst i vyšší kapacitu, což přispívalo (samozřejmě při korektním naprogramování) k urychlení zpracování dat. Na zpracování řetězců byl orientován i repertoár strojových instrukcí procesoru – prakticky každá instrukce obsahovala kromě operačního kódu i adresu jednoho z operandů, což je taktéž poněkud nezvyklé, protože dnes jsme spíše zvyklí na to, že instrukce pracují s registry a nikoli přímo s místy v paměti.

Sálový počítač IBM 705 byl vybaven feritovou pamětí, jejíž kapacita mohla dosahovat 20 000, 40 000 či dokonce 80 000 znaků, přičemž doba čtení i zápisu dat byla rovna 17 mikrosekundám, což je současně i minimální doba, během níž mohla být vykonána jedna strojová instrukce s jedním znakem. Oproti předchozímu modelu (IBM 702) se tak rychlost zpracování dat zvýšila téměř sedminásobně, kapacita operační paměti pak minimálně dvojnásobně (10 000 → 20 000 znaků). K tomuto počítači bylo možné připojit velké množství externích zařízení, od čtečky a děrovačky děrných štítků přes bubnovou paměť či zařízení pro práci s magnetickými páskami až po tiskárny. Součástí standardní dodávky byl řídicí panel/operátorská konzole (umístěný na samostatném stole) a elektronický psací stroj s rychlostí tisku cca 600 znaků za minutu. Funkce dostupné z řídicího panelu se asi nejvíce podobají funkcím dostupným z různých monitorů (které mohou znát majitelé některých osmibitových domácích počítačů) či programu debug z MS-DOSu – z panelu bylo možné řídit přenosy dat mezi operační pamětí a dalšími zařízeními, zjišťovat stav registrů i čítačů a zobrazit obsah zvolených míst v operační paměti.

7. Slavné počítače řady System/360

V roce 1964 uvedla firma IBM na trh další řadu počítačů pojmenovanou System/360. Číslo 360 v názvu těchto počítačů má evokovat 360°, tj. celý kruh, protože se jednalo o univerzální počítače určené jak pro vědeckotechnické výpočty, tak i pro hromadné zpracování dat, účetní operace, řízení různých procesů atd. Oproti první a druhé generaci sálových počítačů se tedy jednalo o poměrně velkou změnu zachycenou i v názvu této nové generace. Počítače System/360, které se od sebe odlišovaly především svým výpočetním výkonem i kapacitami operačních a externích pamětí, se staly velmi populární, což ostatně dokazuje i fakt, že se vyráběly až do roku 1977, tj. celých třináct let. V následující části tohoto seriálu si popíšeme jak základní architekturu System/360, tak i některé konkrétní modely, které se (každý svým způsobem) zapsaly do historie výpočetní techniky. Na tomto místě stojí za připomenutí i to, že některé modely sloužily i jako „inspirace“ pro počítače řady EC vyráběné v zemích RVHP (jednalo se o řadu EC – viz další díly tohoto seriálu).

ibm09

Obrázek 9: Sálový počítač System/360 model 40.

bitcoin_skoleni

8. Odkazy na Internetu

  1. Mainframe family tree and chronology
    http://www-03.ibm.com/…ame_FT1.html
  2. 704 Data Processing System
    http://www-03.ibm.com/…e_PP704.html
  3. 705 Data Processing System
    http://www-03.ibm.com/…e_PP705.html
  4. The IBM 704
    http://www.columbia.edu/…ory/704.html
  5. IBM Mainframe album
    http://www-03.ibm.com/…e_album.html
  6. Mainframe computer
    http://en.wikipedia.org/…ame_computer
  7. IBM mainframe
    http://en.wikipedia.org/…BM_mainframe
  8. IBM 700/7000 series
    http://en.wikipedia.org/…/7000_series
  9. IBM System/360
    http://en.wikipedia.org/…M_System/360
  10. IBM System/370
    http://en.wikipedia.org/…M_System/370
  11. IBM Floating Point Architecture
    http://en.wikipedia.org/…Architecture
  12. Extended Binary Coded Decimal Interchange Code
     http://en.wikipedia.org/wiki/EBCDIC
  13. ASCII/EBCDIC Conversion Table
    http://docs.hp.com/…/apcs01.html
  14. EBCDIC
    http://www.hansenb.pdx.edu/…s/ebcdic.php
  15. EBCDIC tables
    http://home.mnet-online.de/…ic/cc_en.htm
  16. The Mainframe Blog
    http://mainframe.typepad.com/…nal_mai.html
  17. IBM Tightens Stranglehold Over Mainframe Market Gets Hit with Antitrust Complaint in Europe
     http://www.ccianet.org/…Europe.shtml
  18. Lectures in the History of Computing: Mainframes
     http://www.computinghistorymuseum.org/…omputers.ppt
  19. 36-bit
    http://en.wikipedia.org/…_word_length
  20. 36bit.org
    http://www.36bit.org/
ibm10

Obrázek 10: Sálový počítač System/360 model 50.

Autor článku

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