Obsah
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
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).
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.
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 |
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.
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 |
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.
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:
- 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.
- Čí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).
- 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).
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.
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).
Obrázek 9: Sálový počítač System/360 model 40.
8. Odkazy na Internetu
- Mainframe family tree and chronology
http://www-03.ibm.com/…ame_FT1.html - 704 Data Processing System
http://www-03.ibm.com/…e_PP704.html - 705 Data Processing System
http://www-03.ibm.com/…e_PP705.html - The IBM 704
http://www.columbia.edu/…ory/704.html - IBM Mainframe album
http://www-03.ibm.com/…e_album.html - Mainframe computer
http://en.wikipedia.org/…ame_computer - IBM mainframe
http://en.wikipedia.org/…BM_mainframe - IBM 700/7000 series
http://en.wikipedia.org/…/7000_series - IBM System/360
http://en.wikipedia.org/…M_System/360 - IBM System/370
http://en.wikipedia.org/…M_System/370 - IBM Floating Point Architecture
http://en.wikipedia.org/…Architecture - Extended Binary Coded Decimal Interchange Code
http://en.wikipedia.org/wiki/EBCDIC - ASCII/EBCDIC Conversion Table
http://docs.hp.com/…/apcs01.html - EBCDIC
http://www.hansenb.pdx.edu/…s/ebcdic.php - EBCDIC tables
http://home.mnet-online.de/…ic/cc_en.htm - The Mainframe Blog
http://mainframe.typepad.com/…nal_mai.html - IBM Tightens Stranglehold Over Mainframe Market Gets Hit with Antitrust Complaint in Europe
http://www.ccianet.org/…Europe.shtml - Lectures in the History of Computing: Mainframes
http://www.computinghistorymuseum.org/…omputers.ppt - 36-bit
http://en.wikipedia.org/…_word_length - 36bit.org
http://www.36bit.org/
Obrázek 10: Sálový počítač System/360 model 50.