Od Antikythersk´eho stroje k cˇ´ıslicov´emu poˇc´ıtaˇci Pavel Pokorn´y ´ Ustav matematiky, Vysok´a sˇkola chemicko-technologick´a v Praze http://www.vscht.cz/mat/Pavel.Pokorny 29. 10. 2008 O v´yvoji poˇc´ıtaˇcu˚ od starovˇek´ych mechanizm˚u pˇres analogov´e aˇz k dneˇsn´ım digit´aln´ım.
1
Jak´y je nejstarˇs´ı dnes zn´am´y poˇc´ıtaˇc?
Za nejstarˇs´ı dnes zn´am´y poˇc´ıtaˇc je povaˇzov´an Antikythersk´y stroj. Je to pravˇek´y mechanick´y kalkul´ator pro urˇcov´an´ı poloh Slunce, Mˇes´ıce a nˇekter´ych planet (Merkuru, Venuˇse, Marsu a Jupiteru) na obloze. Tedy pˇredch˚udce Staromˇestsk´eho orloje z roku 1410 (obr. 3).
Obr. 1: Origin´al Antikythersk´eho stroje – nejstarˇs´ıho dnes zn´am´eho poˇc´ıtaˇce – se nach´az´ı v N´arodn´ım archeologick´em muzeu v Ath´en´ach. Byl objeven v Antikythersk´em vraku u ˇreck´eho ostrova Antikythera mezi Kytherou a Kr´etou v roce 1901. Ned´avn´e v´yzkumy, zejm´ena z roku 2006, ukazuj´ı, zˇ e poch´az´ı z obdob´ı cca 100 pˇr. n. l. a m´a se za to, zˇ e byl na palubˇe lodi, ˇ ıma mezi 80-60 pˇr. n. l. kter´a se potopila na cestˇe z ˇreck´eho ostrova Rhodos do R´ Pˇr´ıstroje srovnateln´e sloˇzitosti se objevily aˇz o tis´ıc let pozdˇeji. Pouˇzit´ı modern´ıch metod, jako rentgenov´a tomografie s vysok´ym rozliˇsen´ım, dovoluje rozluˇstit ˇreck´e n´apisy na jeho cifern´ıc´ıch a n´avod k pouˇzit´ı na jeho stˇen´ach. Posledn´ı v´yzkumy naznaˇcuj´ı, zˇ e umoˇznˇ oval tak´e stanovit f´aze Mˇes´ıce a zaˇca´ tky starovˇek´ych olympijsk´ych her. Stroj m´a 3 cˇ´ıseln´ıky a 37 ozuben´ych kol, z nichˇz se dochovalo 30. Dnes je vystaven´y v N´arodn´ım archeologick´em muzeu v Ath´en´ach (obr. 1) spolu s replikou (obr. 2). Pˇr´ıstroj do dneˇsn´ı doby pˇritahuje pozornost odborn´ık˚u [1], [2].
1
Obr. 2: Replika Antikythersk´eho stroje.
2
Jak´y je rozd´ıl mezi analogov´ym a digit´aln´ım poˇc´ıtaˇcem?
Analogov´y poˇc´ıtaˇc pracuje se spojitˇe promˇenn´ymi veliˇcinami, kter´e mohou nab´yvat vˇsech hodnot z jist´eho intervalu. Prvn´ı analogov´e poˇc´ıtaˇce vyuˇz´ıvaly mechanick´e souˇca´ sti. Jin´e byly hydraulick´e konstrukce. Velk´eho rozmachu v druh´e polovinˇe dvac´at´eho stolet´ı dos´ahly elektronick´e analogov´e poˇc´ıtaˇce postaven´e z operaˇcn´ıch zesilovaˇcu˚ , odpor˚u, kondenz´ator˚u a polovodiˇcov´ych diod. Vhodn´ym propojen´ım tˇechto stavebn´ıch prvk˚u je moˇzn´e sestavit obvod, kter´y lze popsat diferenci´aln´ı rovnic´ı. Potom sledov´an´ım cˇ asov´eho pr˚ubˇehu napˇet´ı na v´ystupu tohoto obvodu dostaneme ˇreˇsen´ı dan´e diferenci´aln´ı rovnice. To je zejm´ena uˇziteˇcn´e v pˇr´ıpadˇe, kdy dan´a diferenci´aln´ı rovnice nem´a analytick´e ˇreˇsen´ı. Zmˇenou parametr˚u elektrick´eho obvodu cˇ i zmˇenou jeho kofigurace lze ˇreˇsit jinou diferenci´aln´ı rovnici z jist´e tˇr´ıdy rovnic.
3
˚ Jak´e jsou nev´yhody analogov´ych poˇc´ıtaˇcu?
Pˇri pr´aci s analogov´ymi veliˇcinami se nezbav´ıme sˇumu, kter´y postupnˇe degraduje zpracov´avanou analogovou informaci v kaˇzd´em kroku (z´ısk´an´ı, pˇrenos, zpracov´an´ı, uchov´an´ı). Dalˇs´ı nev´yhodou je to, zˇ e nelze dobˇre uchovat v´ysledek jednoho v´ypoˇctu a pouˇz´ıt jej jako vstup pro dalˇs´ı v´ypoˇcty. V neposledn´ı ˇradˇe rychlost analogov´ych poˇc´ıtaˇcu˚ je menˇs´ı neˇz rychlost digit´aln´ıch poˇc´ıtaˇcu˚ . Tyto nev´yhody analogov´eho zpracov´an´ı informace se projevuj´ı v tom, zˇ e digit´aln´ı
2
Obr. 3: Astronomick´a cˇ a´ st Staromˇestsk´eho orloje je obdobou Antikythersk´eho stroje. technika dnes pˇrevaˇzuje nad analogovou nejen v oblasti vˇedecko technick´ych v´ypoˇct˚u, ale pˇri zpracov´an´ı jak´ekoliv informace. Jako pˇr´ıklad lze uv´ezt digit´aln´ı fotoapar´at cˇ i kameru, CD pˇrehr´avaˇc, kter´y vytlaˇcil gramofon, MP3 pˇrehr´avaˇc nahradil magnetofon, mobiln´ı telefon, kter´y dnes pouˇz´ıvaj´ı i dˇeti pˇredˇskoln´ıho vˇeku, jiˇz ani opravdov´eho analogov´eho pˇredch˚udce nem´a.
4
Jak pracuje elektronick´y digit´aln´ı poˇc´ıtaˇc?
B A
A 0 0 1 1
e Y
B 0 1 0 1
Y 1 1 1 0
Obr. 4: Sch´ematick´a znaˇcka a pravdivostn´ı tabulka pro hradlo NAND, kter´e pln´ı funkci negovan´eho logick´eho souˇcinu Y = NOT (A AND B). Je netrivi´aln´ım faktem, zˇ e z tˇechto hradel lze postavit poˇc´ıtaˇc, kter´y v´as poraz´ı ve hˇre sˇachy. Z´akladem je hradlo, jednoduch´y elektronick´y obvod sestaven´y dnes z tranzistor˚u, dˇr´ıve z elektronek nebo rel´e, kter´y pln´ı jednu logickou funkci, napˇr. negovan´y logick´y souˇcin. M´a napˇr. dva vstupy a jeden v´ystup. Na kaˇzd´y vstup je pˇrivedeno urˇcit´e napˇet´ı. Je-li napˇet´ı menˇs´ı neˇz jist´a hodnota, napˇr. 2V, je povaˇzov´ano za logickou hodnotu 0, je-li vˇetˇs´ı neˇz jin´a hodnota, napˇr. 3V, je povaˇzov´ano za logickou hodnotu 1. Rozsah mezi tˇemito dvˇema hodnotami, napˇr. 2V aˇz 3V je tzv. zak´azan´a oblast, ta se nepouˇz´ıv´a a slouˇz´ı pro omezen´ı vlivu sˇumu. Pln´ı-li hradlo funkci negovan´eho logick´eho souˇcinu, je na jeho v´ystupu logick´a hodnota 0 pouze v pˇr´ıpadˇe, zˇ e na obou jeho vstupech je
3
Obr. 5: Hradlo NAND realizovan´e technologi´ı CMOS – sch´ema. logick´a hodnota 1, jinak je na v´ystupu 1 (viz obr. 4). D˚uleˇzit´e je, zˇ e v´ystup m´a jist´e mal´e zpoˇzdˇen´ı v˚ucˇ i zmˇen´am na vstupech. V praxi je sice zˇ a´ douc´ı, aby toto zpoˇzdˇen´ı bylo co nejmenˇs´ı, ale d´ıky tomu, zˇ e je vˇzdy nenulov´e, lze takov´ato hradla pospojovat do klopn´ych obvod˚u, kter´e jiˇz mohou slouˇzit jako pamˇet’.
5
Jak pracuje klopn´y obvod?
S
R
e q Q HH H H e
Obr. 6: Klopn´y obvod S-R lze sloˇzit ze dvou hradel NAND. Ze dvou hradel NAND lze sloˇzit klopn´y obvod S-R (obr. 6). Ten slouˇz´ı d´ıky kladn´e zpˇetn´e vazbˇe jako pamˇet’ov´a buˇnka o kapacitˇe jeden bit. Pˇrivedeme-li na jeho vstupy hodnoty S = 0 a R = 1, bude na v´ystupu horn´ıho hradla u´ rovˇenˇ Q = 1 (protoˇze na jednom jeho vstupu je hodnota 0) a na v´ystupu doln´ıho hradla u´ roveˇn 0 (protoˇze na obou jeho vstupech je hodnota 1). Tento v´ystup z˚ustane zachov´an (zapamatov´an) i po zmˇenˇe vstupu S na hodnotu 1. Jsou-li na obou vstupech hodnoty 1, obvod si pamatuje stav. Pˇrivedeme-li na urˇcitou dobu na jeden ze vstup˚u hodnotu 0, pak vstup S (set) nastav´ı v´ystup Q na hodnotu 1, vstup R (reset) nastav´ı v´ystup Q na hodnotu 0. Kombinace vstup˚u S = 0 R = 0 se nepouˇz´ıv´a. Z klopn´ych obvod˚u lze sestavit registry, kter´e slouˇz´ı pro uchov´an´ı posloupnosti pˇr´ıkaz˚u, vstupn´ıch a v´ystupn´ıch dat a z hradel lze sestavit obvod, kter´y pln´ı z´akladn´ı logick´e a aritmetick´e funkce. T´ım dostaneme z´akladn´ı funkˇcn´ı celky cˇ´ıslicov´eho poˇc´ıtaˇce.
4
Je nˇejak´y mezistupenˇ mezi analogov´ym a digit´aln´ım poˇc´ıtaˇcem?
6
Analogov´y poˇc´ıtaˇc pracuje se sign´aly, kter´e nab´yvaj´ı nekoneˇcnˇe mnoha hodnot z jist´eho intervalu a kter´e se v pr˚ubˇehu v´ypoˇctu spojitˇe mˇen´ı. Digit´aln´ı poˇc´ıtaˇc naproti tomu pracuje se sign´aly, u kter´ych se uvaˇzuj´ı pouze dvˇe hodnoty (napˇr. logick´a hodnota 0 a logick´a hodnota 1) a aritmetick´e operace se prov´adˇej´ı po bytech (nebo po mal´ych skupin´ach byt˚u) – podobnˇe, jako kdyˇz clovˇek napˇr. pˇri p´ısemn´em n´asoben´ı poˇc´ıt´a po cˇ´ıslic´ıch. Existuje vˇsak jeden zaj´ımav´y mezistupeˇn: tzv. elektronick´e cˇ´ıslicov´e logaritmick´e prav´ıtko [6], kter´e se doˇckalo i realizace z cˇ eskoslovensk´ych souˇca´ stek [4].
Hodiny
fH b r
ˇ ıtaˇc C´
-
fY r-
Impulzov´y gener´ator 6 Y
V´ystupn´ı cˇ´ıtaˇc
-
Z
ˇ Casovac´ ı obvod 6 X
Obr. 7: Propojen´ı hlavn´ıch funkˇcn´ıch cˇ a´ st´ı elektronick´eho logaritmick´eho prav´ıtka pˇri v´ypoˇctu exponenci´aln´ı funkce Z = exp(kX). Elektronick´e logaritmick´e prav´ıtko je cˇ´ıslicov´y obvod, pracuj´ıc´ı se sign´aly logick´a nula a logick´a jedniˇcka, podobnˇe jako digit´aln´ı poˇc´ıtaˇc, ale v´ysledek se nez´ısk´av´a po bytech, ale postupn´ym integrov´an´ım impulz˚u v cˇ´ıtaˇci. Stav cˇ´ıtaˇce se postupnˇe zvyˇsuje, cˇ´ımˇz se obvod podob´a analogov´emu poˇc´ıtaˇci. Pˇr´ıstroj se skl´ad´a z pˇeti hlavn´ıch cˇ a´ st´ı: 1. Hodinov´y obvod, kter´y generuje posloupnost impulz˚u o kmitoˇctu fH . ˇ 2. Casovac´ ı obvod, kter´y cˇ´ıt´a vstupn´ı impulzy a pˇri dosaˇzen´ı zvolen´e hodnoty X odpoj´ı hodinov´y obvod. 3. Impulzn´ı gener´ator dost´av´a na vstupu hodinov´e impulzy o kmoˇctu fH a vytv´arˇ´ı na v´ystupu impulzy o kmitoˇctu fY = kY fH , kde k je konstanta a Y je hodnota, kterou dod´av´a k tomu urˇcen´y cˇ´ıtaˇc. ˇ ıtaˇc impulzov´eho gener´atoru cˇ´ıt´a vstupn´ı impulzy a v´ysledek Y v podobˇe cˇ´ıseln´e hodnoty poskytuje impul4. C´ zov´emu gener´atoru. 5. V´ystupn´ı cˇ´ıtaˇc cˇ´ıt´a impulzy na sv´em vstupu a jeho stav Z pˇredstavuje v´ysledek aritmetick´e operace. Propojen´ı tˇechto hlavn´ıch cˇ a´ st´ı pˇri v´ypoˇctu exponenci´aln´ı funkce ukazuje obr. 7. V´ysledek cˇ innosti lze snadno odvodit takto: impulzov´y gener´ator vytv´aˇr´ı sign´al o kmitoˇctu fY (t) = kfH Y (t). Nastav´ıme-li na poˇca´ tku cˇ´ıtaˇc impulzov´eho gener´atoru do stavu Y (0) = 1, bude jeho stav v cˇ ase t roven Zt Y (t) = 1 +
fY (τ )dτ 0
tedy Zt Y (t) = 1 + kfH
Y (τ )dτ. 0
5
hardware Opteron 254 2,8 GHz Itanium2 1,5 GHz Turion 64x2 TL50 1,6 GHz Pentium3 1GHz SGI Origin 2000 IBM SP2 IBM RS6000/375 HP 9000/735 DEC 2100/500 SGI Power Challenge SGI Challenge S SGI MIPS R4600 SGI MIPS R4000 HP 9000/712 HP 9000/720 SGI MIPS R2000A/R3000 MIPS RC6280 Pentium/100MHz 486/99MHz 386
cˇ as 0,032 0,037 0,053 0,14 0,15 0,55 0,63 0,74 0,80 0,90 1,0 1,0 1,5 1,8 2,3 3,0 3,1 6,2 6,8 17,0
Tabulka 1: Porovn´an´ı rychlosti nˇekter´ych poˇc´ıtaˇcu˚ – doba v mikrosekund´ach potˇrebn´a pro v´ypoˇcet funkce cos. Po zderivov´an´ı dostaneme diferenci´aln´ı rovnici Y 0 (t) = kfH Y (t) s poˇca´ teˇcn´ı podm´ınkou Y (0) = 1, kter´a m´a ˇreˇsen´ı Y (t) = exp(kfH t). Nastav´ıme-li cˇ asovac´ı obvod tak, aby odpojil hodinov´e impulzy po dobˇe T , kdy naˇc´ıt´a X = fH T impulz˚u, bude v´ysledek Z = exp(kX). Jinou volbou propojen´ı hlavn´ıch cˇ a´ st´ı elektronick´eho logaritmick´eho prav´ıtka lze prov´adˇet aritmetick´e operace sˇc´ıt´an´ı, n´asoben´ı, dˇelen´ı, umocˇnov´an´ı dvˇema, odmocˇnov´an´ı dvˇema, pˇrirozen´y logaritmus. Aˇc je tento obvod sestaven z cˇ´ıslicov´ych obvod˚u, v´ysledek se z´ısk´av´a postupn´ym nar˚ust´an´ım veliˇcin. Tento n´ar˚ust nen´ı spojit´y jako u analogov´ych poˇc´ıtaˇcu˚ , ale je ve skoc´ıch, protoˇze stav cˇ´ıtaˇce je pops´an cel´ym cˇ´ıslem. Zm´ınku o elektronick´em cˇ´ıslicov´em prav´ıtku jsme zde uvedli jako uk´azku d˚uvtipn´eho technick´eho ˇreˇsen´ı. Hlavn´ı nev´yhodou je vˇsak mal´a rychlost v´ypoˇctu, kter´a nav´ıc roste exponenci´alnˇe s poˇctem platn´ych m´ıst v´ysledku. Dalˇs´ı v´yvoj sˇel jin´ym smˇerem: dneˇsn´ı cˇ´ıslicov´e poˇc´ıtaˇce prov´adˇej´ı aritmetick´e operace v aritmeticko–logick´e jednotce (ALU), coˇz je kombinaˇcn´ı obvod, kter´y zpracov´av´a napˇr. dva 64-bitov´e operandy najednou.
7
˚ Jak se vyv´ıj´ı rychlost poˇc´ıtaˇcu?
Univerz´aln´ı objektivn´ı mˇeˇr´ıtko pro porovn´an´ı v´ykonnosti r˚uzn´ych poˇc´ıtaˇcu˚ neexistuje. Existuje sice rˇada testovac´ıch program˚u, ty ale vyˇzaduj´ı jistou minim´aln´ı hardwarovou konfiguraci. Uˇzivatel, kter´y potˇrebuje vyˇc´ıslovat matematick´e funkce si snadno zjist´ı, zˇ e operace sˇc´ıt´an´ı, odˇc´ıt´an´ı, n´asoben´ı a dˇelen´ı jsou rychlejˇs´ı neˇz vyˇc´ıslov´an´ı matematick´ych funkc´ı jako logaritmus nebo goniometrick´e funkce. Tabulka 1 uv´ad´ı cˇ as potˇrebn´y pro v´ypoˇcet funkce cos na r˚uzn´ych hardwarov´ych konfigurac´ıch. ˇ Podrobn´y a zaj´ımav´y pˇrehled v´yvoje mikropoˇc´ıtaˇcu˚ vˇcetnˇe popisu situace v Cech´ ach lze nal´ezt v [3].
6
8
Jak´y je celkov´y poˇcet aritmetick´ych operac´ı, kter´e vˇsechny poˇc´ıtaˇce svˇeta provedly?
Na tuto ot´azku nelze d´at pˇresnou odpovˇed’, lze ji jen velice zhruba odhadnout. Pokud bude poˇcet poˇc´ıtaˇcu˚ n ≈ 1010 , doba cˇ innosti t ≈ 108 s a kmitoˇcet procesoru f ≈ 108 Hz, bude poˇcet operac´ı N = ntf ≈ 1026 , coˇz je v´ıce neˇz Avogadrova konstanta NA ≈ 6 × 1023 mol−1 , kter´a je nˇekdy povaˇzov´ana za hraniˇcn´ı poˇcet jedinc˚u, nad kter´ym se chov´an´ı syst´emu jako celek kvalitativnˇe odliˇsuje od chov´an´ı jeho stavebn´ıch prvk˚u.
9
Jak´y je cˇ esk´y pˇr´ınos poˇc´ıtaˇcov´emu svˇetu?
Zakonˇceme toto ohl´ednut´ı za v´yvojem v´ypoˇcetn´ı techniky jednou cˇ eskou kuriozitou. Nejlepˇs´ım souˇcasn´ym programem pro hru sˇachy je program Rybka a jeho autorem je Vasik Rajlich [5], syn cˇ esk´ych rodiˇcu˚ narozen´y v USA. Tato pr´ace je podporov´ana projektem MSM 6046137306 a vznikla d´ıky pˇr´ıstupu k v´ypoˇcetn´ım zdroj˚um METACentrum v r´amci MSM 6383917201.
Literatura [1] T. Freeth et al.: Decoding the ancient Greek astronomical calculator known as the Antikythera Mechanism. Nature 444, 587-591, 2006. [2] T. Freeth et al.: Calendars with Olympiad display and eclipse prediction on the Antikythera Mechanism. Nature 454, 614-617, 2008. [3] K. Frejlach: Pˇetatˇric´at´e v´yroˇc´ı mikropoˇc´ıtaˇcu˚ . Konstrukˇcn´ı elektronika a radio 4 2008. ˇ [4] P. Perut´ık: Elektronick´e logaritmick´e prav´ıtko. Z´avˇereˇcn´a pr´ace postgradu´aln´ıho studia, CVUT FEL 1972. [5] www.rajlich.com [6] H. Schmidt, D. S. Busch: An Electronic Digital Slide Rule. The Electronic Engineer Vol. 27, 1968.
7