VyÜlo v t²denφku: COMPUTERWORLD
╚φslo:6/94
RoΦnφk:1994
Rubrika/kategorie: TΘma t²dne

zp∞t do archivu Φlßnk∙ | rejst°φk | p°edchozφ Φlßnek | nßsledujφcφ Φlßnek

Ji°φ Peterka

Od tkalcovskΘho stavu k von Neumannov∞ koncepci

Tento Φlßnek vyÜel v tzv. tΘmatu t²dne v CW 6/94, jako prvnφ ze sΘrie Φlßnk∙ v∞novanΘ prvopoΦßtk∙m v²poΦetnφ techniky.

Pom∙cky, kterΘ by jim usnadnily provßd∞nφ nejr∙zn∞jÜφch numerick²ch v²poΦt∙, si lidΘ vyrßb∞li od nepam∞ti. Jednou z nejstarÜφch forem byl tzv. abakus (na v²chod od nßs dodnes znßm² spφÜe jako ÜΦot), po kterΘm nßsledovaly dokonalejÜφ pom∙cky typu logaritmick²ch pravφtek, mechanick²ch sΦφtaΦek, nßsobiΦek a jin²ch kalkulßtor∙. Stßle to vÜak byly jen pasivnφ pom∙cky, kterΘ provßd∞ly jednotlivΘ ·kony na bezprost°ednφ pokyn Φlov∞ka (Φi p°φmo pod jeho °φzenφm), ale samy si nedokßzaly volit dalÜφ pokraΦovßnφ Φi dalÜφ akce. Ty jim op∞t musel p°edepisovat Φlov∞k, kter² se tak musel sßm starat o to, Φemu se dnes °φkß °φzenφ (anglicky: control).

Prvnφ formou samoΦinnΘho °φzenφ na zßklad∞ p°edem p°ipravenΘho programu (programovΘho °φzenφ) nejspφÜe byly r∙znΘ hracφ mechanismy (hracφ sk°φ≥ky, sk°φn∞, flaÜinety apod.) ze 14. stoletφ, kterΘ m∞ly k dispozici p°edem zaznamenanou hudebnφ skladbu, a pak ji bez p°φmΘ lidskΘ ·Φasti reprodukovaly.

1724 - programovΘ °φzenφ (B. Bouchon)

S myÜlenkou vyu₧φt programovΘ °φzenφ k n∞Φemu praktiΦt∞jÜφmu, ne₧ jen k zßbav∞, p°ichßzφ v roce 1724 B. Bouchon, kter² pou₧il d∞rnou pßsku pro °φzenφ tkalcovskΘho stavu. O v²znamnΘ zdokonalenφ programov∞ °φzenΘho tkalcovskΘho stavu se v roce 1804 postaral francouz Joseph-Marie Jacquard (1752-1834), kter² takΘ nahradil d∞rnou pßsku d∞rn²mi Ütφtky. Tφm v²razn∞ p°isp∞l k doslovnΘ revoluci ve francouzskΘm textilnφm pr∙myslu, kter² ji₧ v roce 1812 pou₧φval 11000 Jacquardov²ch tkalcovsk²ch stav∙. Nebyly to sice ₧ßdnΘ poΦφtaΦe, ale myÜlenka programovΘho °φzenφ byla na sv∞t∞ a ukßzala, ₧e se hodφ i pro vφc, ne₧ jen pro zßbavu.

1833 - programovßnφ a poΦφtaΦ, °φzen² programem (Ch. Babbage)

S myÜlenkou pou₧φt programovΘ °φzenφ pro postupnΘ provßd∞nφ slo₧it∞jÜφch numerick²ch v²poΦt∙ p°ichßzφ Charles Babbage (1791-1871), kter² se sna₧il sestrojit univerzßlnφ poΦφtacφ stroj. M∞l se jmenovat Analytical Engine, m∞l b²t pohßnen parnφm strojem, b²t °φzen programem na d∞rn²ch Ütφtcφch, a m∞l b²t schopen m∞nit dalÜφ pr∙b∞h v²poΦtu v zßvislosti na v²sledku provßd∞n²ch operacφ. AΦkoli na n∞m Ch. Babbage pracoval tΘm∞° Φty°icet let (od roku 1833), nepoda°ilo se mu jej dokonΦit (proto₧e jeho realizace se ukßzala b²t nad tehdejÜφ technickΘ mo₧nosti).

Krom∞ nedokonΦenΘho Analytical Engine vÜak Babbage lidstvu zanechal koncepci poΦφtaΦe °φzenΘho programem, obohacenou nejen o mo₧nost podmφn∞n²ch a nepodmφn∞n²ch skok∙, ale takΘ o princip podprogram∙. Za konkrΘtnφ autorku t∞chto dvou poslednφch myÜlenek, a souΦasn∞ s tφm i za prvnφho programßtora (resp. programßtorku) v historii je pova₧ovßna blφzkß spolupracovnice Ch. Babbage, lady Augusta Ada, hrab∞nka z Lovelace (1815-1853), dcera lorda Byrona. Podle nφ pak takΘ byl pojmenovßn jeden z modernφch programovacφch jazyk∙ - jazyk ADA.

1854 - Booleova algebra (George S. Boole)

Obrovsk² rozvoj poΦφtaΦ∙ ve druhΘ polovin∞ 20. stoletφ byl podmφn∞n nejen rozvojem nejr∙zn∞jÜφch v²robnφch technologiφ, ale takΘ pokrokem v teoretick²ch disciplφnßch, kterΘ poskytly pot°ebn² aparßt pro navrhovßnφ, v²voj, lad∞nφ a dalÜφ souvisejφcφ Φinnosti.

Jednou z disciplφn, kterΘ se v tomto sm∞ru uplatnily nejvφce, je i matematickß logika. V roce 1854 p°iÜel anglick² logik George S. Boole (1815-1864) s takov²m modelem matematickΘ logiky, ve kterΘm vystaΦil jen se t°emi zßkladnφmi operßtory (and, or a not), a s jejich pomocφ dokßzal z jednotliv²ch v²rok∙ sestavovat slo₧it∞jÜφ formule stejn²m zp∙sobem, jak²m se v matematice (konkrΘtn∞ v algeb°e) sestavujφ matematickΘ vzoreΦky. Svou logiku pak mohl formßln∞ vybudovat jako algebru, kterΘ se dodnes °φkß Booleova algebra.

George Boole jist∞ netuÜil, ₧e se jeho algebra stane zßkladnφm teoretick²m aparßtem pro modelovßnφ kombinaΦnφch obvod∙ Φφslicov²ch poΦφtaΦ∙. NetuÜil takΘ, ₧e technik∙m se budou nejlΘpe da°it takovΘ konstrukΦnφ prvky, kterΘ budou mφt jen dva mo₧nΘ stavy, a kter²m tedy bude odpovφdat takovß Booleova algebra, kterß mß prßv∞ jen tyto dva prvky (zatφmco George Boole ji navrhl pro obecn² poΦet prvk∙, nejmΘn∞ vÜak jako dvouprvkovou).

V²znam Booleovy algebry jako jeden z prvnφch ocenil William S. Jevons (1835-1882), kter² sestrojil mechanick² stroj, provßd∞jφcφ logickΘ operace prßv∞ na bßzi Booleovy algebry. Ani on vÜak netuÜil, ₧e jednou zvφt∞zφ na celΘ Φß°e algebra dvouprvkovß - sßm pou₧φval Φty°prvkovou Booleovu algebru.

Tφm, kdo poprvΘ ukßzal na souvislost dvouprvkovΘ Booleovy algebry s Φφslicov²mi obvody, byl Claude Shannon. To ovÜem bylo a₧ v roce 1937. Mezitφm se musela zrodit jeÜt∞ jedna velmi d∙le₧itß myÜlenka, kterß si vynutila pou₧φvßnφ prßv∞ dvouprvkovΘ Booleovy algebry.

1919 - dvoustavov² klopn² obvod (Eccles a Jordan)

Na samΘm poΦßtku 20. stoletφ doÜlo k zßkladnφmu zlomu v technologiφch: v roce 1904 sestrojil angliΦan J.A.Fleming prvnφ diodu, a v roce 1906 AmeriΦan Lee de Forest prvnφ triodu.

VÜechny elektronky jsou ale v zßsad∞ analogov²mi souΦßstkami, kterΘ pracujφ s analogov²mi veliΦinami (elektrick²m proudem a nap∞tφm). Nap°φklad trioda je nejjednoduÜÜφ zesilovacφ prvek, a jako takovß se zaΦala pou₧φvat p°edevÜφm v nejr∙zn∞jÜφch zesilovaΦφch. Teprve v roce 1919 vÜak p°ichßzφ dva ameriΦanΘ (W.H.Eccles a F.W.Jordan) na myÜlenku zapojit dv∞ elektronky "proti sob∞" takov²m zp∙sobem, aby se navzßjem udr₧ovaly v rovnovß₧nΘm stavu. Ukßzalo se dokonce, ₧e toto jejich zapojenφ mß rovnovß₧nΘ stavy dva, a ₧e je mo₧nΘ mezi nimi p°echßzet.

Tφm se zrodil prvnφ tzv. klopn² obvod (anglicky: flip-flop) se dv∞ma rovnovß₧n²mi stavy, kter² ji₧ ve svΘm nßzvu nese mo₧nost "p°eklßp∞nφ" (to flip) obvodu z jednoho stavu do druhΘho. Dφky tomu, ₧e ka₧d² z obou mo₧n²ch stav∙ klopnΘho obvodu je rovnovß₧n², obvod v n∞m dokß₧e "vydr₧et" libovoln∞ dlouho, dokud nenφ vn∞jÜφm popudem p°inucen "p°eklopit se" do druhΘho stavu (a samoz°ejm∞ pokud je neustßle napßjen).

Dva mo₧nΘ stavy, ve kter²ch se klopn² obvod m∙₧e nachßzet, pak mohou reprezentovat dv∞ r∙znΘ diskrΘtnφ hodnoty - nap°φklad dv∞ logickΘ hodnoty (ano-ne), dv∞ Φφslice (nap°. 0 a 1) apod. U₧ tuÜφte, proΦ jsou dneÜnφ poΦφtaΦe dvojkovΘ, neboli binßrnφ?

1936 - abstraktnφ model poΦφtaΦe (Alan Turing)

V roce 1936 vydßvß anglick² matematik Alan Mathison Turing (1912-1954) zßsadnφ Φlßnek "On computable Numbers ...", ve kterΘm definuje abstraktnφ model ΦφslicovΘho poΦφtaΦe - tzv. Turing∙v stroj. Tφm poskytuje zßkladnφ teoretick² aparßt pro v∞deckou disciplφnu (tzv. teoretickou informatiku, theoretical computer science), kterß se spφÜe ne₧ praktick²mi otßzkami a aktußlnφmi schopnostmi zab²vß potencißlnφmi mo₧nostmi poΦφtaΦ∙ - tφm, co poΦφtaΦe mohou n∞kdy dokßzat, co z principu nedokß₧φ, v jakΘm Φase co dokß₧φ apod.

Tent²₧ Alan M. Turing pozd∞ji formuluje dalÜφ zßsadnφ myÜlenku, zam∞°enou na °eÜenφ otßzky, kterß ji₧ tehdy lidstvo trßpila: jak poznat, zda n∞jak² stroj (mφn∞no: poΦφtaΦ) je inteligentnφ? Turing navrhl podrobit jej testu - nechat jednoho Φlov∞ka v roli tazatele klßst otßzky dv∞ma respondent∙m, kterΘ nemß mo₧nost vid∞t. Jednφm z nich bude Φlov∞k, a druh²m poΦφtaΦ. Pokud Φlov∞k-tazatel nedokß₧e podle jejich odpov∞dφ rozliÜt, kter² z respondent∙ je Φlov∞k a kter² je stroj, pak je mo₧nΘ tento stroj pova₧ovat za inteligentnφ. Do dneÜnφ doby vÜak jeÜt∞ ₧ßdn² poΦφtaΦ neproÜel tφmto tzv. Turingov²m testem.

1937 - zßkladnφ aparßt pro navrhovßnφ Φφslicov²ch obvod∙ (Claude Shannon)

V roce 1937 obhajuje 21-let² Claude E. Shannon na MIT diplomovou prßci, ve kterΘ poprvΘ ukazuje na parallelu mezi dvouprvkovou Booleovou algebrou a tzv. kombinaΦnφmi obvody, kterΘ jsou zßkladnφm kamenem Φφslicov²ch poΦφtaΦ∙. Shannon ukßzal, ₧e funkci libovolnΘho kombinaΦnφho obvodu lze popsat formulφ Booleovy algebry, a ₧e naopak libovolnou formuli Booleovy algebry lze implementovat ve form∞ kombinaΦnφhbo obvodu.

Tento zßsadnφ objev pak umo₧nil pou₧φt pro navrhovßnφ kombinaΦnφch obvod∙ ji₧ tehdy pom∞rn∞ propracovan² aparßt Booleovy algebry, a vybudovat systematickΘ metody nßvrhu kombinaΦnφch (i sekvenΦnφch) obvod∙. Jednφm ze zajφmav²ch d∙sledk∙ paralely mezi kombinaΦnφmi obvody a Booleovou algebrou bylo nap°φklad zjiÜt∞nφ, kolik r∙zn²ch druh∙ zßkladnφch "stavebnφch kamen∙ (tzv. logick²ch Φlen∙) je t°eba k vytvo°enφ libovolnΘho kombinaΦnφho obvodu: v Booleov∞ algeb°e existujφ dva r∙znΘ operßtory (tzv. spojky), z nich₧ ka₧d² sßm o sob∞ staΦφ na sestavenφ libovolnΘ formule v Booleov∞ algeb°e. Vzhledem k paralele s kombinaΦnφmi obvody toto znamenß, ₧e i pro sestavenφ libovolnΘho kombinaΦnφho obvodu staΦφ mφt k dispozici v dosteΦnΘm mno₧stvφ jen jedin² druh "souΦßstky" (tzv. logickΘ Φleny NAND, nebo logickΘ Φleny NOR).

Claude Shannon se ovÜem nezaslou₧il jen o aplikaci Booleovy algebry p°i navrhovßnφ kombinaΦnφch obvod∙. ╚ast∞ji je vnφmßn spφÜe coby zakladatel teorie informace jako disciplφny, kterß se zab²vß p°esnou kvantifikacφ objemu informacφ, p°enßÜen²ch sd∞lovacφmi kanßly, efektivnostφ vyu₧itφ t∞chto informacφ atd..

Jednφm z bezprost°ednφch a velmi praktick²ch d∙sledk∙ Shannonovy prßce na tomto poli bylo i stanovenφ zßvislosti mezi Üφ°kou p°enosovΘho pßsma a maximßlnφm objemem "u₧iteΦnΘ" informace, kter² je mo₧nΘ po tomto kanßlu p°enΘst p°i dodr₧enφ urΦitΘ minimßlnφ kvality p°enßÜenΘho signßlu (odstupu signßlu od Üumu). V²sledek je a nav₧dy bude noΦnφ m∙rou vÜech v²robc∙ telefonnφch modem∙: °φkß toti₧, ₧e po komutovanΘm telefonnφm okruhu s p°enosov²m pßsmem 300 a₧ 3400 Hz nelze v principu dosßhnout vyÜÜφ p°enosovΘ rychlosti, ne₧ cca 30 000 bit∙ za sekundu (bez p°φpadnΘ komprese).

1945 modernφ architektura poΦφtaΦe (John von Neumann)

Prvnφ poΦφtaΦe v dneÜnφm slova smyslu se objevujφ a₧ v pr∙b∞hu druhΘ sv∞tovΘ vßlky a t∞sn∞ po n. V tΘ dob∞ pak takΘ zcela zßkonit∞ zaΦφnajφ krystalizovat p°edstavy o tom, jak by poΦφtaΦe m∞ly b²t konstruovßny a jak by m∞ly fungovat.

Nejv∞tÜφ vliv na utvß°enφ t∞chto p°edstav m∞ly t²my odbornφk∙, kterΘ pracovaly na v²voji poΦφtaΦ∙ v USA - zejmΘna pak skupina, kterß na univerzit∞ v Pennsylvßnii p°ipravovala poΦφtaΦ ENIAC (Electronic Numerical Integrator and Computer). V²znamn²m momentem v prßci tΘto skupiny byl okam₧ik, kdy se k nφ v roce 1944 p°idal americk² matematik ma∩arskΘho p∙vodu John von Neumann (1903-1957), jeho₧ myÜlenky prßci celΘho t²mu v²razn∞ ovlivnily. JeÜt∞ v pr∙b∞hu prßce na poΦφtaΦi ENIAC (kter² byl dokonΦen v roce 1946) zaΦala vznikat koncepce jeÜt∞ dokonalejÜφho poΦφtaΦe (poslΘze nazvanΘho EDVAC, od: Electronic Discrete Variable Automatic Computer). Tato p°edstava byla zßhy zve°ejn∞na - v Φlßnku "First draft of a report on the EDVAC", vydanΘm v roce 1945, a b∞hem sΘrie p°ednßÜek, kterΘ John von Neumann a jeho spolupracovnφci uspo°ßdali na univerzit∞ v Pennsylvßnii (v roce 1946). Dodnes je tato p°edstava, Φi spφÜe soustava myÜlenek a nßzor∙ na to, jak by poΦφtaΦe m∞ly b²t konstruovßny a jak by m∞ly fungovat, znßma jako tzv. von Neumannova koncepce, Φi von Neumannova architektura.

Podstatu a hlavnφ myÜlenky von Neumannovy architektury shrnuje box "Von Neumannova architektura"


zp∞t do archivu Φlßnk∙ | rejst°φk | p°edchozφ Φlßnek | nßsledujφcφ Φlßnek
Tento Φlßnek m∙₧e b²t voln∞ Üφ°en, pokud se tak d∞je pro studijnφ ·Φely, na nev²d∞leΦnΘm zßklad∞ a se zachovßnφm tohoto dov∞tku. Podrobnosti hledejte zde, resp. na adrese http://archiv.czech.net/copyleft.htm