Obsah
1. Krátká rekapitulace předcházejících částí seriálu
2. Mainframy, minipočítače a superpočítače popsané v předchozích částech
4. První z „trpaslíků“ – firma UNIVAC
5. Elektronický počítač BINAC (BINary Automatic Computer)
6. Technologie operačních pamětí použitých v první generaci elektronických počítačů
7. Využití magnetické hystereze – feritové a bubnové paměti
8. Princip funkce paměti se zpožďovací linkou
1. Krátká rekapitulace předcházejících částí seriálu
Seriál o historii vývoje výpočetní techniky jsme zahájili, jak se ostatně na server orientovaný zejména na unixové technologie sluší :-), popisem elektronických minipočítačů PDP (Programmed Data Processor), které začaly být před padesáti lety vyráběny firmou DEC neboli celým jménem Digital Equipment Corporation (v roce 1959 vznikl první prototyp PDP, v roce 1960 pak začal jeho komerční prodej). Tyto počítače jsou z hlediska historie celého oboru IT důležité především z toho důvodu, že na nich byl navržen a posléze i uskutečněn koncept interaktivní práce s počítačem (na rozdíl od tehdy mnohem obvyklejšího dávkového zpracování úloh) a později na nich navíc vznikl programovací jazyk B (předchůdce dnešního céčka) a taktéž operační systém Unics, což není nic jiného než prvotní verze Unixu. Posléze jsme se věnovali popisu mainframů (sálových počítačů) firmy IBM, a to jak základní řadou IBM 700, která byla postavená ještě na technologii elektronek a feritových i bubnových pamětí, tak i novější řadou 7000 používající pro stavbu procesorové jednotky (ALU a řadiče) tranzistory. Následně jsme se zmínili i o počítačích řady IBM System/360 a IBM System/370.
Obrázek 1: V pozadí této fotografie můžeme vidět počítač PDP-1 (především procesorovou jednotku i jednotku periferií), v popředí je vidět stůl operátora s řídicím panelem.
Kromě toho – pokud nyní pro jednoduchost vynecháme poměrně obsáhlou odbočku k historii programovacích jazyků – jsme se v tomto seriálu zabývali i popisem různých typů počítačů vyráběných v SSSR. Popsány byly například sálové počítače MESM a Strela používající technologii elektronek a Williamsových trubic, počítače Ural-1 i Ural-2 či poněkud menší, ale o to zajímavější stroj nazvaný Setuň, který pracoval v trojkové soustavě a programoval se v jazyce DSSP, což byl jazyk podobný Forthu, ovšem taktéž založený na trojkové soustavě (Setuň byl sestrojen především z diod a relé). Posléze jsme přešli na stručné seznámení se s počítači vyráběnými kromě samotného Sovětského svazu i v ostatních zemích RVHP. Především se jedná o takzvaný „Systém malých elektronických počítačů“ (SMEP) a „Jednotný systém elektronických počítačů“ (JSEP), v jehož rámci byly například vyráběny i československé počítače řady EC. Posledních pět části tohoto seriálu bylo věnováno firmě Cray a jejím slavným superpočítačům Cray-1, Cray X-MP a Cray-2.
Obrázek 2: Hlavní moduly počítače MESM včetně jeho řídicího (operátorského) panelu.
2. Mainframy, minipočítače a superpočítače popsané v předchozích částech
V následující tabulce jsou pro přehlednost vypsány počítače, o kterých jsme se již zmiňovali v předcházejících částech tohoto seriálu. Jedná se jak o sálové počítače (mainframy), tak i o minipočítače a superpočítače.
Obrázek 3: Pohled na počítač Strela vyráběný v SSSR, z jehož rozměrů je zřejmé, proč se těmto strojům říkalo „sálové počítače“.
Ke každému počítači je v tabulce přiřazena společnost nebo země původu, která počítač zkonstruovala, rok vzniku a taktéž vybraná zajímavá vlastnost či vlastnosti daného stroje:
Výrobce | Model počítače | Rok vzniku | Poznámka |
---|---|---|---|
PDP | PDP-5 | 1963 | bitová šířka ALU 12 bitů |
PDP | PDP-8 | 1964 | bitová šířka ALU 12 bitů |
PDP | PDP-11 | 1970 | bitová šířka ALU 16 bitů, vývoj jazyka C z jeho předchůdce B |
PDP | PDP-1 | 1960 | bitová šířka ALU 18 bitů, vznikla pro něj hra Spacewar! |
PDP | PDP-4 | 1963 | bitová šířka ALU 18 bitů |
PDP | PDP-7 | 1965 | bitová šířka ALU 18 bitů, vznik Unixu, jazyka B |
PDP | PDP-9 | 1965 | bitová šířka ALU 18 bitů |
PDP | PDP-15 | 1970 | bitová šířka ALU 18 bitů |
PDP | PDP-2 | nerealizováno | bitová šířka ALU 24 bitů |
PDP | PDP-3 | nerealizováno | bitová šířka ALU 36 bitů |
PDP | PDP-6 | 1964 | bitová šířka ALU 36 bitů |
PDP | PDP-10 | 1968 | bitová šířka ALU 36 bitů |
IBM | 701 | 1952 | první elektronický počítač firmy IBM |
IBM | 702 | 1953 | technologie elektronek, určeno pro hromadné zpracování dat |
IBM | 704 | 1954 | technologie elektronek, určeno pro vědeckotechnické výpočty |
IBM | 705 | 1954 | technologie elektronek, určeno pro hromadné zpracování dat |
IBM | 709 | 1958 | technologie elektronek, určeno pro vědeckotechnické výpočty |
IBM | 7090 | 1959 | technologie tranzistorů, určeno pro vědeckotechnické výpočty |
IBM | 7094 | 1962 | technologie tranzistorů, určeno pro vědeckotechnické výpočty |
IBM | 7094 II | 1964 | technologie tranzistorů, určeno pro vědeckotechnické výpočty |
IBM | 7040 | 1963 | technologie tranzistorů, určeno pro vědeckotechnické výpočty |
IBM | 7044 | 1963 | technologie tranzistorů, určeno pro vědeckotechnické výpočty |
IBM | 7080 | 1961 | technologie tranzistorů, určeno pro hromadné zpracování dat |
IBM | 7010 | 1962 | technologie tranzistorů, rozšířená verze IBM 1410 |
IBM | 7070 | 1960 | technologie tranzistorů, dekadická soustava (BDC) namísto binární |
IBM | 7072 | 1962 | technologie tranzistorů, dekadická soustava (BDC) namísto binární |
IBM | 7074 | 1961 | technologie tranzistorů, dekadická soustava (BDC) namísto binární |
IBM | 1240 | 1963 | zpracování řetězců a BCD čísel proměnné délky |
IBM | 1401 | 1959 | zpracování řetězců a BCD čísel proměnné délky |
IBM | 1410 | 1960 | zpracování řetězců a BCD čísel proměnné délky |
IBM | 1420 | 1962 | zpracování řetězců a BCD čísel proměnné délky |
IBM | 1440 | 1962 | zpracování řetězců a BCD čísel proměnné délky |
IBM | 1450 | 1968 | zpracování řetězců a BCD čísel proměnné délky |
IBM | 1460 | 1963 | zpracování řetězců a BCD čísel proměnné délky |
IBM | 7010 | 1962 | zpracování řetězců a BCD čísel proměnné délky |
SSSR | MESM | 1948 | první programovatelný počítač v Evropě, 6000 elektronek, 25 kW příkon |
SSSR | Strela-1 | 1953 | elektronkový počítač využívající bubnové paměti a Williamsovy (katodové) trubice |
SSSR | URAL-1 | 1957 | 36bitová CPU, bubnová paměť, autor R. I. Ramejev |
SSSR | URAL-2 | 1958 | dtto, výkon 12 tisíc operací součtu za sekundu |
SSSR | Setuň | 1956 | CPU pracující v trojkové soustavě, polovodičové diody a feritové paměti |
země RVHP | SM 3/20 | ? | řada SMEP, 16bit CPU, odvozeno od PDP 11/10 |
země RVHP | SM 4/20 | ? | řada SMEP, 16bit CPU, odvozeno od PDP 11/40 |
země RVHP | SM 52/11 | ? | řada SMEP, 16bit CPU, odvozeno od PDP 11/50 |
země RVHP | SM 52/12 | ? | řada SMEP, 32bit CPU, odvozeno od VAX 11/780 |
ČSSR | EC 1025 | ? | řada JSEP-2, 128–256kB RAM |
ČSSR | EC 1026 | ? | řada JSEP-2, 256–512kB RAM |
SSSR | EC 1036 | ? | řada JSEP-2, 2MB-4MB RAM |
SSSR | EC 1046 | ? | řada JSEP-2, 4MB-6MB RAM |
NDR | EC 1056 | ? | řada JSEP-2, 2MB-4MB RAM |
ČSSR | EC 1027 | ? | řada JSEP-3, 1–2 MB RAM |
SSSR | EC 1037 | ? | řada JSEP-3, 2–4 MB RAM |
NDR | EC 1057 | ? | řada JSEP-3, 2–16 MB RAM |
SSSR | EC 1087 | ? | řada JSEP-3, 16 MB RAM |
CRAY | CRAY 1 | 1977 | architektura PVP, počet CPU: 1 až 2, MFLOPS: 160 |
CRAY | CRAY 2 | 1985 | architektura PVP, počet CPU: 1 až 4, MFLOPS: 488 až 1951 |
CRAY | CRAY X-MP | 1986 | architektura PVP, počet CPU: 1 až 4, MFLOPS: 200 až 800 |
CRAY | CRAY X-MP EA | 1987 | architektura PVP, počet CPU: 1 až 4, MFLOPS: 235 až 942 |
Obrázek 4: Sovětský elektronkový počítač Ural-2. Nalevo od řídicího pultu se nachází ultramoderní MacBook, který byl na Ural-2 položen autorem této fotografie :-)
3. IBM a sedm trpaslíků
Historie výpočetní techniky, kterou jsme se zabývali ve všech předchozích částech tohoto seriálu, ovšem není zdaleka úplná, protože jsme se prozatím příliš nevěnovali těm firmám, které od začátku padesátých let až do přibližně konce sedmdesátých let minulého století soupeřily s firmou IBM na poli mainframů neboli sálových počítačů. Jednalo se o firmy Borroughs, UNIVAC, NCR, Control Data Corporation (CDC), Honeywell, RCA a General Electric (GE) (všechny tyto firmy měly sídlo v USA), které byly poněkud posměšně nazývány „sedm trpaslíků“ („seven dwarfs“), protože jejich společný podíl na trhu se sálovými počítači byl menší než podíl samotné firmy IBM (ta měla v roce 1965 podíl na trhu s mainframy větší než 65%). Později, přesněji řečeno po odchodu společností RCA a General Electric z tohoto segmentu trhu se zbylých „pět trpaslíků“ často označovalo zkratkou BUNCH (asi jste již přišli na to, že jde o počáteční písmena názvů těchto firem).
Obrázek 5: Sálový počítač IBM-702.
Připomeňme si ve stručnosti situaci, která ve vznikajícím oboru výpočetní techniky a informatiky na přelomu čtyřicátých a padesátých let minulého století panovala. Svět byl, zjednodušeně řečeno, rozdělený na tři části (západ, východ, třetí svět), přičemž vývoz počítačů ze západu do zemí RVHP byl zakázán, protože počítače byly (v tomto případě se dá říci, že oprávněně) považovány za strategicky důležité technologie. Navíc byly tehdejší počítače rozměrné a drahé, což spolu s velmi malým trhem (zpočátku tvořeném v podstatě pouze USA a Velkou Británií) znamenalo, že se výrobci počítačů soustředili především na stavbu vlastních výpočetních center a/nebo na plnění vládních zakázek, především vojenských programů a později i vznikajícího kosmického programu. S tím souvisí i způsob, jakým byly počítače ovládány – přístup k nim měli pouze školení pracovníci výpočetních středisek, proto bylo jejich vstupní rozhraní zpočátku omezeno na čtečky děrných štítků a magnetických pásek. Výstup byl prováděn buď opět na děrné štítky, nebo se používaly tiskárny a v některých případech obrazovky osciloskopu (což souvisí s popularitou analogových počítačů a zkušeností konstruktérů s touto technikou).
Obrázek 6: Sálový počítač IBM-704.
S pořizovací cenou těchto počítačů souvisela i relativně velká cena za strojový čas, která byla výpočetním střediskem účtována například za hodinu výpočetního výkonu věnovaného na zpracování konkrétní úlohy. Z tohoto důvodu byly veškeré úlohy připravovány mimo vlastní počítač a posléze dávkově zpracovány, což bylo z dnešního pohledu velmi těžkopádné a pomalé, protože úlohy musely čekat ve frontách na to, až bude počítač volný a navíc se každá chyba v programu velmi prodražila, protože bylo nutné úlohu „sjet“ znovu (mohlo se jednat například o setřídění dat, vytvoření tiskových sestav, vytvoření měsíční uzávěrky účetnictví, přeložení programu ve Fortranu atd.). Doba terminálů a interaktivní práce s počítačem prováděné například formou stále populárního a v mnoha ohledech dodnes nepřekonaného příkazového řádku, ještě na přelomu čtyřicátých a padesátých let nenastala a navíc tehdy žilo jen velmi málo lidí, kteří si něco podobného vůbec dokázali představit (myšlenka, že počítač pouze čeká na to, jakou klávesu uživatel zmáčkne, byla prostě při tehdejších cenách účtovaných prakticky za každou sekundu CPU naprosto absurdní).
Obrázek 7: Sálový počítač IBM-705.
4. První z „trpaslíků“ – firma UNIVAC
Po stručné rekapitulaci provedené v předchozích třech kapitolách se již konečně začneme zabývat popisem počítačů a s nimi souvisejících technologií, které byly navrženy, zkonstruovány a posléze i prodávány společností UNIVAC. Jedná se o jednoho z dnes již neexistujících „trpaslíků“ zmíněných v předchozí kapitole). Na počátku historie kdysi slavné firmy UNIVAC stojí neméně slavní pánové J. P. Eckert a John Mauchly, kteří se v letech 1943 až 1946 podíleli i na vzniku slavného elektronického počítače ENIAC, jenž byl sestrojen na Pennsylvánské universitě (tímto počítačem jsme se podrobněji nezabývali, protože nebyl v pravém slova smyslu programovatelný). Kvůli sporům s universitou ohledně patentů (a samozřejmě i výnosů z nich), které byly podány v rámci vývoje ENIACu, opustili J. P. Eckert s J. Mauchlym akademické prostředí aby ihned poté založili komerční firmu pojmenovanou zpočátku velmi obecným názvem Electronic Control Company (ECC), jež se však později přejmenovala na Eckert-Mauchly Computer Corporation (EMCC).
Obrázek 8: První elektronický počítač ENIAC se „programoval“ pomocí vodičů, kterými se spojovaly jeho jednotlivé moduly.
Mimochodem – jedná se o jednu z prvních firem (a možná dokonce o zcela první společnost), která měla ve svém názvu slovo „computer“. O několik let později se tato firma přejmenovala na UNIVAC, což je zkratka z plného názvu „UNIVersal Automatic Computer“. Zkratkou UNIVAC se označovaly i některé počítače této firmy, kterými se budeme zabývat v následující části tohoto seriálu. Na tomto místě je možná vhodné si připomenout fakt, že známý spisovatel sci-fi Isaac Asimov (mj. autor tří základních zákonů robotiky i autor světa Nadace) v některých svých povídkách představil fiktivní superpočítač nazvaný MULTIVAC, jehož název byl inspirovaný právě jménem UNIVAC (jednalo se o stroj s rozměry řádově stovky metrů až kilometrů umístěný na tajném místě v podzemí, který v některých povídkách řídil všechny důležité činnosti na Zemi a, což je zvláštní, pravděpodobně pracoval v multitaskovém režimu).
Obrázek 9: Pohled na sovětský „trojkový“ počítač Setuň.
5. Elektronický počítač BINAC (BINary Automatic Computer)
Prvním komerčním výrobkem firmy Eckert-Mauchly Computer Corporation (EMCC) byl již v roce 1949 elektronický počítač nazvaný BINAC neboli BINary Automatic Computer. Jednalo se o počítač s poměrně zajímavou architekturou – jednotlivá slova, z nichž se sestavovaly složitější datové struktury, totiž byla zpracovávána sériově – dvojicí na sobě nezávislých procesorových jednotek (CPU). Dvojice procesorových jednotek byla použita především kvůli poměrně velké poruchovosti tehdejších počítačů (Eckert a Mauchly měli v tomto ohledu ostatně velmi bohaté zkušenosti s ENIACem, v němž bylo nutné každých několik minut najít a vyměnit jednu vadnou elektronku). V případě BINACu měly veškeré výpočty probíhat paralelně na dvou nezávislých CPU s následným porovnáním vypočtených výsledků. Ve skutečnosti se však paradoxně tento způsob práce u BINACu v×praxi nikdy neujal, protože vždy alespoň jedna jednotka (CPU) byla nefunkční a opravovala se :-) což na druhou stranu skutečně dokazovalo poměrně velkou poruchovost tehdejších technologií používaných při konstrukci počítačů.
Obrázek 10: Elektronický počítač BINAC.
Ke každé procesorové jednotce byla přiřazena paměť o kapacitě 512 slov, přičemž každé slovo mělo dosti neobvyklou šířku 31 bitů, což znamená, že každý CPU mohl v daný okamžik pracovat s pouhými 512×31/8=1984 bajty a všechny další údaje musely být uloženy na externích paměťových médiích. Šířka slov 31 bitů se sice může dnešnímu čtenáři zdát poněkud zvláštní, ale například počítače IBM 704 z přibližně stejné doby zpracovávaly numerické hodnoty uložené v 36 bitových slovech, některé pozdější počítače PDP používaly 12bitová slova, počítač Strela-1 slova o šířce 43 bitů a určitě bychom našli i mnoho dalších z dnešního pohledu neobvyklých hodnot nedělitelných osmi bity (bajtem).
Obrázek 11: Další pohled na počítač BINAC.
Na počítači BINAC ale byla nejvíce zajímavá technologie, pomocí níž byla operační paměť o již zmíněném uspořádání 512×31 bitů zkonstruována. Tuto zdánlivě překonanou, ale ještě poměrně nedávno využívanou technologii (především v televizorech), si přiblížíme v následujících kapitolách.
Obrázek 12: Detail řadiče počítače BINAC.
6. Technologie operačních pamětí použitých v první generaci elektronických počítačů
Připomeňme si, že v první generaci programovatelných elektronických počítačů se pro konstrukci jejich operačních pamětí používaly různé a mnohdy i velmi neobvyklé až kuriózní technologie. Nezávisle na použité technologii můžeme rozeznat dva typy pamětí. Prvním typem jsou paměti se statickým záznamem informace – zde je využita nějaká forma hystereze, ať již hystereze magnetické (příkladem může být feritová paměť nebo bubnová paměť) nebo hystereze klopného obvodu. Druhým typem jsou paměti s dynamickým záznamem informace, v nichž je nutné hodnoty jednotlivých bitů neustále obnovovat. Obsluha dynamických pamětí je sice složitější, ovšem na druhou stranu se u nich dosahovalo větší hustoty záznamu informace a/nebo nižší ceny za jeden uložený bit. To ostatně platí dodnes, proto se také v osobních počítačích používají jako operační paměti DRAM namísto SRAM (které mají své místo v rychlejších, ale i dražších vyrovnávacích pamětech s obecně mnohem menší kapacitou než DRAM).
Obrázek 13: Williamsova trubice se svojí konstrukcí i principem činnosti podobá obrazovce osciloskopu. Jediná výraznější změna Williamsovy trubice spočívá v přidání kovové mřížky nebo plechu před stínítko.
Kromě v podstatě velmi konvenčních klopných obvodů zkonstruovaných z relé nebo elektronek můžeme v mnoha typech první generace elektronických počítačů najít například takzvané Williamsovy (katodové) trubice, feritové paměti, bubnové paměti apod. Williamsovy trubice používané v letech 1948 až přibližně 1955 jsme si již popsali v sedmnácté části tohoto seriálu. Jedná se o paměť založenou na obrazovce osciloskopu (katodové trubici s vychylovacími destičkami, nikoli cívkami), která je doplněna o kovovou mřížku nebo destičku umístěnou před stínítko. Data, resp. jednotlivé bity jsou ve Williamsově trubici ukládány tak, že se na obrazovku elektronovým paprskem nakreslí tečka v místě záznamu logické jedničky a mezera v místě logické nuly (záznam je většinou prováděn v jediném vodorovném obrazovém řádku). Čtení dat zapsaných na stínítku Williamsovy trubice je prováděno následovně: přes rozsvícený či naopak nerozsvícený bod je elektronovým paprskem nakreslena krátká čárka.
Obrázek 14: Obrazovka osciloskopu s vychylovacími destičkami namísto cívek. Právě kvůli použití vychylovacích destiček je obrazovka v porovnání s rozměry svého stínítka velmi dlouhá.
Pokud byl bod před nakreslením této čárky rozsvícený (což znamená, že zapsaný bit měl hodnotu 1) je nábojový rozdíl nakreslením čárky eliminován, což se projeví vznikem napěťového pulsu na kovové mřížce či destičce, která je umístěna před stínítkem. Tento puls je možné zesílit a následně přečíst zpět do počítače, jenž na základě aktuální pozice elektronového paprsku rozpozná, který bit právě přečetl. Vzhledem k tomu, že nábojový rozdíl byl na stínítku stabilizován jen po velmi krátkou dobu (desítky až stovky milisekund), bylo nutné obsah paměti zapsané na stínítko Williamsovy trubice neustále obnovovat opakovaným čtením a zápisem. Z tohoto důvodu se jedná o paměť s dynamickým záznamem informace (a navíc se data z této paměti většinou musela načítat sériově vždy všechna, takže přístup k jednotlivým paměťovým buňkám – bitům – nebyl zcela náhodný, ale závislý na tom, jaká byla pozice bitu v rámci obrazového řádku).
7. Využití magnetické hystereze – feritové a bubnové paměti
Další velmi často používanou technologií operačních pamětí založených na magnetickém principu (resp. magnetické hysterezi), která v některých aplikacích dokonce přežila až do dnešní doby, jsou paměti složené z feritových jader (ostatně známý termín core dump vychází z pojmenování feritových jader – core(s)). Tato paměť vypadá následovně: z izolovaných (adresových) vodičů je vytvořena pravidelná mřížka, přičemž v místě, kde se dvojice vodičů (nevodivě) kříží, je na oba tyto vodiče navlečeno feritové jadérko ve tvaru toroidu. Kromě toho prochází všemi jadérky jediný čtecí vodič vedený „cik-cak“. Každé feritové jadérko slouží pro záznam jednoho bitu. Zápis je proveden přivedením elektrického proudu do jednoho vodorovného a jednoho svislého vodiče, přičemž v místě jejich křížení dojde k takovému nárůstu magnetického toku, že to postačí na změnu stavu feritového jádra (nesmíme zapomenout na hysterezi, díky níž je stav zapamatován).
Podle směru toku elektrického proudu je do jadérka zapsána bitová jednička či nula. Čtení se provádí čtecím vodičem – opět je přiveden proud na příslušný vodorovný a svislý adresní vodič a na čtecím vodiči se zjistí míra indukce. Příslušné jadérko však musí být znovu zmagnetizováno (bit musí být znovu zapsán), protože operace čtení je destruktivní. Příkladem využití tohoto typu paměti je sálový počítač IBM 705, který 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 (operačním) znakem. Jeden znak byl uložený v šesti bitech, přičemž ALU počítače IBM 705 pracovala s 36bitovými slovy, tj. současně s šesticí znaků.
Obrázek 15: Matice feromagnetické paměti, jejíž kapacita dosahovala řádově několika stovek bajtů. Feromagnetické paměti díky svým lepším vlastnostem postupně vytlačily Williamsovy trubice. Jednou z předností feromagnetických pamětí byla dlouhá doba uchování informace, a to i při odpojeném napájení počítače – feritová jadérka si totiž svoji magnetizaci mohla zachovat po dobu několika minut a v některých případech dokonce i několika hodin (takže po pádu systému si programátoři mohli obsah paměti jednoduše přečíst – jedná se o pravý „core dump“, protože buňky feromagnetické paměti se nazývají jádra – „core“).
Dále se u některých sálových počítačů (zpočátku právě ve firmě IBM) používaly takzvané bubnové paměti neboli drum memories. Bubnová paměť je sestrojena z válce vytvořeného z nemagnetického materiálu (například z hliníku), na který je nanesena feromagnetická vrstva, podobně jako na magnetofonové pásce, disketě nebo plotně pevného disku. Válec se otáčí konstantní rychlostí a k jeho povrchu jsou přitlačovány čtecí a zápisové hlavy, podobné hlavám použitým v magnetofonech či disketových jednotkách. Tyto hlavy však nemění svou polohu, každá hlava tedy dokáže přečíst pouze jednu jedinou stopu po obvodu celého válce (jediným pohyblivým prvkem je samotný buben – válec).
Vzhledem k tomu, že je hlav vedle sebe umístěno více (typicky se jedná o šířku zpracovávaného slova, což však v tomto historickém kontextu neznamená nutně pouze šestnáct bitů, ale například 18 či dokonce již zmíněných 36 bitů), je čtení i zápis prováděn paralelně, což zjednodušuje implementaci řadiče a samozřejmě zvyšuje čtecí a zápisovou rychlost. Řídicí obvody, které byly k bubnové paměti připojeny, dokázaly na žádost počítače načíst buď jediné slovo (tj. muselo se čekat, až se válec otočí do správné polohy) nebo postupně načítat celou sekvenci slov – z tohoto důvodu byly již v padesátých letech strojové programy optimalizovány takovým způsobem, aby obsahovaly co nejméně skoků a co nejvíce instrukcí prováděných sekvenčně.
Obrázek 16: Bubnová paměť je z technologického hlediska předchůdcem dnešních pevných disků, i když se u některých počítačů používala jako sice pomalá, ale zato poměrně rozsáhlá operační paměť. 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ě.
8. Princip funkce paměti se zpožďovací linkou
V počítači BINAC zmíněném v páté kapitole byla paměť (přiřazená ke každé procesorové jednotce) o kapacitě 512×31 bitů realizována pomocí zpožďovací linky vytvořené válcem naplněným rtutí. Jednalo se o vynález samotného J. P. Eckerta, který v tomto případě využil své znalosti zpožďovacích linek používaných u radarů pro odstranění obrazů nepohyblivých předmětů. Aby se na stínítku radaru eliminovaly odrazy radarových paprsků od nepohyblivých předmětů, například kopců nebo vysokých budov, byl odražený signál přijatý radarem zobrazený na displeji a současně byl ten samý signál přiveden na zpožďovací linku. Signál odražený a zpětně přijatý radarem v dalším cyklu byl (analogově) odečten od původního signálu, takže se obrazy nepohyblivých předmětů vzájemně vyrušily a nezaplňovaly obraz na stínítku velkým množstvím falešných cílů. Právě zpožďovací linku použitou u radarů se podařilo Eckertovi upravit a využít jako paměťový prvek.
Obrázek 17: Piezoměnič používaný například v digitálních hodinkách nebo budících.
Úprava zpožďovací linky byla provedena takovým způsobem, že si (spolu s další pomocnou elektronikou) dokázala „zapamatovat“ sekvenci bitů, která však musela být periodicky obnovována (ostatně podobný děj se odehrává i v moderních dynamických pamětech – DRAM). Eckertova zpožďovací linka byla tvořena válcem naplněným rtutí, na jehož konce byly připevněny piezoelektrické senzory (měniče), z nichž jeden pracoval jako vysílač zvukových vln (velmi podobným způsobem jako piezoměniče známé z digitálních hodinek nebo různých starších digitálních her typu „Jen počkej zajíci“) a druhý piezoelektrický senzor naopak zvukové vlny detekoval, tj. měnil je na elektrický signál. Rtuť se i přes některé své nevýhody (velká toxicita a váha) používala především z toho důvodu, že měla podobnou akustickou impedanci jako piezoelektrické senzory, což omezovalo vznik nežádoucích odrazů zvukových vln.
Obrázek 18: Princip práce paměti se zpožďovací linkou.
Paměť se zpožďovací linkou pracovala takovým způsobem, že se na první piezoměnič přiváděl binární signál (sekvence nul a jedniček), který se přeměňoval na zvukové vlny putující válcem se rtutí (v ideálním případě bez odrazů). Po několika milisekundách byly jednotlivé bity detekovány piezoelektrickým senzorem na druhé straně válce a převedeny opět na elektrický signál. Důležité přitom bylo právě ono několika milisekundové zpoždění, které zajistilo veškerou funkci paměti – nyní již postačovalo, aby se detekovaná sekvence bitů převedená na elektrický signál zesílila, upravily se náběžné hrany, provedla se synchronizace přijímače a signál se znovu přivedl na piezoměnič umístěný na začátku válce (obnova obsahu paměti – refresh). Sekvenci bitů, která neustále ve zpožďovací lince cyklovala, bylo samozřejmě možné načítat nebo měnit. Každá zpožďovací linka se v počítači BINAC používala k úschově 32 slov po 31 bitech, ke kterým bylo přidáno dalších 11 bitů tvořících mezeru; dohromady se tedy jedná o 1003 bitů.
Kapacita této paměti byla omezena především rychlostí, s jakou bylo možné převádět elektrické pulsy (bity) na zvukové vlny a taktéž na délce válce se rtutí. Ovšem práce s tímto typem paměti nebyla příliš snadná, protože válce se rtutí musely být udržovány na konstantní teplotě přibližně 40°C (rychlost zvuku ve rtuti se mění s teplotou), takže v tehdejších výpočetních centrech bylo pořádné horko. Navíc bylo nutné válce před prvním použitím „naladit“ a po nějakém čase celý systém znovu seřídit. Nicméně i tak se jednalo o velký krok vpřed, protože tehdejší počítače bylo možné i díky této technologii vybavit pamětí s poměrně velkou kapacitou (větší, než by bylo možné za rozumnou cenu dosáhnout pomocí klopných obvodů sestavených z elektronek nebo dokonce z relé).
Obrázek 19: Paměť se zpožďovací linkou vystavená v muzeu.
9. Odkazy na Internetu
- 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 - UNIVAC
http://en.wikipedia.org/wiki/Univac - John Mauchly
http://en.wikipedia.org/wiki/John_Mauchly - J. Presper Eckert
http://en.wikipedia.org/wiki/J._Presper_Eckert - BINAC
http://en.wikipedia.org/wiki/BINAC - Delay line memory
http://en.wikipedia.org/wiki/Delay_line_memory - Paměť se zpožďovací linkou
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
http://en.wikipedia.org/wiki/Programmed_Data_Processor - Digital Equipment Corporation
http://en.wikipedia.org/wiki/Digital_Equipment_Corporation - PDP-1
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