Analytický motor - Analytical Engine
Historie výpočetní techniky |
---|
Hardware |
Software |
Počítačová věda |
Moderní koncepty |
Podle země |
Časová osa výpočtu |
Glosář počítačové vědy |
Analytical Engine byl navržený mechanický general-purpose počítače navržený anglický matematik a počítačový průkopník Charles Babbage . Poprvé byl popsán v roce 1837 jako nástupce Babbageova rozdílového motoru , který byl návrhem pro jednodušší mechanický počítač.
Analytical Engine začlenil aritmetickou logickou jednotku , řídící tok ve formě podmíněného větvení a smyček a integrovanou paměť , což z něj činí první návrh pro univerzální počítač, který lze moderně popsat jako Turing-Complete . Jinými slovy, logická struktura Analytical Engine byla v podstatě stejná jako ta, která dominovala počítačovému designu v elektronické éře. Analytical Engine je jedním z nejúspěšnějších počinů Charlese Babbage.
Babbage nebyl nikdy schopen dokončit stavbu žádného ze svých strojů kvůli konfliktům s jeho hlavním inženýrem a nedostatečným financováním. Až v roce 1941 postavil Konrad Zuse první počítač pro všeobecné použití Z3 , více než sto let poté, co Babbage v roce 1837 navrhl průkopnický analytický motor.
Design
Babbageův první pokus o mechanické výpočetní zařízení, Difference Engine , byl účelový stroj navržený pro tabelaci logaritmů a goniometrických funkcí vyhodnocením konečných rozdílů k vytvoření aproximujících polynomů . Stavba tohoto stroje nebyla nikdy dokončena; Babbage měl konflikty se svým hlavním inženýrem Josephem Clementem a nakonec britská vláda stáhla financování projektu.
Během tohoto projektu si Babbage uvědomil, že je možný mnohem obecnější design, Analytical Engine. Práce na konstrukci analytického motoru byly zahájeny v c. 1833.
Vstup, skládající se z programů („vzorců“) a dat, měl být stroji poskytován pomocí děrných karet , což byla v té době metoda, která směrovala mechanické tkalcovské stavy , jako je žakárový tkalcovský stav . Pro výstup by stroj měl tiskárnu, křivkový plotter a zvonek. Stroj by byl také schopen vysekat čísla na karty, aby je bylo možné přečíst později. Používal obyčejnou aritmetiku s pevným bodem o základně 10 .
Měl existovat obchod (tj. Paměť) schopný pojmout 1 000 čísel po 40 desetinných číslicích (přibližně 16,6 kB ). Aritmetická jednotka (dále jen „mlýn“) by měl být schopen provádět všechny čtyři aritmetické operace , plus srovnávání a případně druhé odmocniny . Zpočátku (1838) byl koncipován jako rozdílový motor zakřivený zpět na sebe, v obecně kruhovém uspořádání, přičemž dlouhý sklad vystupoval na jednu stranu. Pozdější kresby (1858) zobrazují regularizované rozložení mřížky. Stejně jako centrální procesorová jednotka (CPU) v moderním počítači by mlýn spoléhal na své vlastní vnitřní postupy , které by byly uloženy ve formě kolíků vložených do rotujících bubnů zvaných „sudy“, aby provedly některé složitější pokyny uživatelský program může určit.
Programovací jazyk, který mají používat uživatelé, byl podobný moderním montážním jazykům . Smyčky a podmíněné větvení byly možné, a tak jazyk, jak byl koncipován, by byl Turing-úplný, jak později definoval Alan Turing . Byly použity tři různé typy děrovacích karet: jeden pro aritmetické operace, jeden pro numerické konstanty a jeden pro operace načítání a ukládání, přenos čísel z úložiště do aritmetické jednotky nebo zpět. Pro tři typy karet existovaly tři samostatné čtečky. Babbage vyvinul asi dvě desítky programů pro Analytical Engine v letech 1837 až 1840 a o jeden program později. Tyto programy zpracovávají polynomy, iterační vzorce, Gaussovu eliminaci a Bernoulliho čísla .
V roce 1842 zveřejnil italský matematik Luigi Federico Menabrea popis motoru ve francouzštině na základě přednášek, které Babbage přednesl při návštěvě Turína v roce 1840. V roce 1843 byl popis přeložen do angličtiny a rozsáhle komentován Adou Lovelace , která se začala zajímat. v motoru o osm let dříve. Jako uznání jejích dodatků k Menabreaině papíru, který zahrnoval způsob výpočtu Bernoulliho čísel pomocí stroje (široce považován za první kompletní počítačový program), byla popsána jako první počítačový programátor .
Konstrukce
Pozdě v životě hledal Babbage způsoby, jak postavit zjednodušenou verzi stroje, a před smrtí v roce 1871 sestavil jeho malou část.
V roce 1878 výbor Britské asociace pro rozvoj vědy popsal Analytický motor jako „zázrak mechanické vynalézavosti“, ale nedoporučoval jej stavět. Výbor uznal užitečnost a hodnotu stroje, ale nedokázal odhadnout náklady na jeho stavbu a nebyl si jistý, zda bude stroj po stavbě správně fungovat.
Přerušovaně od roku 1880 do roku 1910 stavěl Babbageův syn Henry Prevost Babbage část mlýna a tiskařského aparátu. V roce 1910 byl schopen vypočítat (chybný) seznam násobků pí . To představovalo pouze malou část celého motoru; nebylo to programovatelné a nemělo to žádné úložiště. (Populární obrázky této sekce byly někdy chybně označeny, což naznačuje, že to byl celý mlýn nebo dokonce celý motor.) „Analytický motorový mlýn“ Henryho Babbageho je vystaven ve Vědeckém muzeu v Londýně. Henry také navrhl sestrojit demonstrační verzi plného motoru s menší skladovací kapacitou: „pro první stroj by to možná udělalo deset (sloupců), v každém patnáct kol“. Taková verze by mohla manipulovat s 20 čísly po 25 číslicích a to, co by jí bylo řečeno, aby s těmi čísly dělalo, mohlo být stále působivé. „Je to jen otázka karet a času,“ napsal Henry Babbage v roce 1888, „... a není důvod, proč by (dvacet tisíc) karet nemělo být v případě potřeby použito v analytickém stroji pro účely matematika ".
V roce 1991 londýnské vědecké muzeum postavilo kompletní a funkční exemplář Babbageova rozdílového motoru č. 2 , designu, který začlenil upřesnění, která Babbage objevil během vývoje analytického motoru. Tento stroj byl postaven s použitím materiálů a technických tolerancí, které by byly k dispozici pro Babbage, což potlačilo tvrzení, že Babbageovy návrhy nemohly být vyrobeny pomocí výrobní technologie své doby.
V říjnu 2010 zahájil John Graham-Cumming kampaň „Plán 28“ na získání finančních prostředků „veřejným předplatným“ s cílem umožnit seriózní historické a akademické studium Babbageových plánů s cílem poté vybudovat a otestovat plně funkční virtuální design, který následně zase umožnit konstrukci fyzického analytického motoru. V květnu 2016 nebyla provedena skutečná stavba, protože z původních návrhových výkresů Babbage nebylo dosud možné získat konzistentní porozumění. Zejména nebylo jasné, zda dokáže zpracovat indexované proměnné, které byly vyžadovány pro program Bernoulli společnosti Lovelace. Do roku 2017 úsilí „Plán 28“ hlásilo, že je k dispozici prohledávatelná databáze veškerého katalogizovaného materiálu a byla dokončena počáteční revize objemných Babbageových knih Scribbling.
Mnoho původních Babbageových kreseb bylo digitalizováno a jsou veřejně dostupné online.
Instrukční sada
Není známo, že by Babbage zapsal explicitní sadu instrukcí pro motor na způsob moderní příručky procesoru. Místo toho ukázal své programy jako seznamy stavů během jejich provádění a ukazoval, jaký operátor byl spuštěn v každém kroku, s malým náznakem, jak bude řízen řídicí tok.
Allan G. Bromley předpokládá, že balíček karet lze číst v dopředném a zpětném směru jako funkci podmíněného větvení po testování podmínek, což by způsobilo Turingovo dokončení motoru:
... karty mohly být nařízeny k pohybu vpřed a vzad (a tedy ke smyčce) ...
Představení poprvé, v roce 1845, uživatelských operací pro různé servisní funkce, včetně, co je nejdůležitější, efektivního systému pro uživatelské ovládání smyčky v uživatelských programech. Neexistuje žádný údaj o tom, jak je určen směr otáčení operace a proměnných karet. Při absenci dalších důkazů jsem musel přijmout minimální výchozí předpoklad, že jak operační, tak variabilní karty lze otočit pouze zpět, jak je nutné k implementaci smyček používaných ve vzorových programech Babbage. S umístěním směru pohybu pod kontrolou uživatele by nebyly žádné mechanické ani mikroprogramovací potíže.
Fourmilab ve svém emulátoru motoru říká:
Čtečka karet motoru není omezena na to, aby karty od začátku do konce jednoduše zpracovávaly jedna za druhou. Kromě toho může být řízen samotnými kartami, které čte, a radit, zda je aktivována páka rozběhu mlýna, buď posunout řetěz karet dopředu, přeskočit zasahující karty nebo dozadu, což způsobí, že dříve načtené karty budou zpracovány jednou znovu.
Tento emulátor poskytuje písemnou symbolickou sadu instrukcí, i když ji vytvořili její autoři, nikoli na základě Babbageových původních děl. Faktoriální program by byl například napsán jako:
N0 6 N1 1 N2 1 × L1 L0 S1 – L0 L2 S0 L2 L0 CB?11
kde CB je instrukce podmíněné větve nebo „kombinovaná karta“ použitá k přeskočení řídicího toku, v tomto případě zpět o 11 karet.
Vliv
Předvídaný vliv
Babbage pochopil, že existence automatického počítače by vzbudila zájem v oblasti nyní známé jako algoritmická účinnost , ve svých pasážích ze života filozofa píše: „Jakmile bude existovat analytický stroj, bude nezbytně řídit budoucí průběh věda. Kdykoli je jeho pomocí hledán jakýkoli výsledek, vyvstane otázka - jakým průběhem výpočtu může tyto výsledky dosáhnout stroj v nejkratším čase ? "
Počítačová věda
Od roku 1872 Henry pilně pokračoval v práci svého otce a poté přerušovaně v důchodu v roce 1875.
Percy Ludgate psal o motoru v roce 1914 a publikoval svůj vlastní návrh analytického motoru v roce 1908. Byl vypracován podrobně, ale nikdy nebyl postaven a kresby nebyly nikdy nalezeny. Ludgate se motor bude mnohem menší (asi 8 kubických stop (230 L )) než Babbage je, a hypoteticky by byl schopen násobení dvou 20-desetinného-čísla číslice asi za šest sekund.
Leonardo Torres y Quevedo psal o Babbageových motorech v Eseje o automatizaci (1913). Kniha obsahuje návrh pro elektromechanický stroj schopný vypočítat hodnotu funkce zcela automaticky a zahrnovala také myšlenku aritmetiky s pohyblivou řádovou čárkou . Torres dvakrát prokázal, v roce 1914 a v roce 1920, že všechny funkce ozubeného kola počítacího stroje, jako je Babbage, lze implementovat pomocí elektromechanických částí. Jeho analytický stroj z roku 1914 používal malou paměť s elektromagnety; jeho stroj 1920 používal psací stroj k přijímání příkazů a tisku jeho výsledků.
Vannevar Bushův papír Instrumentální analýza (1936) obsahoval několik odkazů na Babbageovu práci. Ve stejném roce zahájil projekt Rapid Arithmetical Machine, aby prozkoumal problémy při konstrukci elektronického digitálního počítače.
Navzdory tomuto základu se Babbageova práce dostala do historické nejasnosti a Analytický stroj nebyl znám stavitelům elektromechanických a elektronických výpočetních strojů ve 30. a 40. letech 20. století, když začali pracovat, což vedlo k potřebě znovu objevit mnoho architektonických inovací Babbage navrhl. Howard Aiken , který v letech 1937 až 1945 sestrojil rychle zastaralou elektromechanickou kalkulačku Harvard Mark I , ocenil Babbageovu práci pravděpodobně jako způsob, jak zlepšit jeho vlastní postavu, ale během stavby Mark I nevěděl nic o architektuře Analytical Engine a jeho návštěvu konstruované části Analytického stroje považoval za „největší zklamání mého života“. Mark I nevykazoval žádný vliv Analytical Engine a postrádal nejpředvídanější architektonický rys Analytical Engine, podmíněné větvení . J. Presper Eckert a John W. Mauchly si podobně nebyli vědomi podrobností práce Babbage's Analytical Engine před dokončením jejich návrhu prvního elektronického univerzálního počítače ENIAC .
Srovnání s jinými ranými počítači
Pokud by byl postaven Analytical Engine, byl by digitální , programovatelný a Turingův . Bylo by to však velmi pomalé. Luigi Federico Menabrea ve Sketch of the Analytical Engine uvedl : „Pan Babbage věří, že podle svého motoru dokáže za tři minuty vytvořit součin dvou čísel, z nichž každé obsahuje dvacet číslic“. Pro srovnání, Harvard Mark I mohl provést stejný úkol za pouhých šest sekund. Moderní počítač dokáže totéž za méně než miliardtinu sekundy.
název | První funkční | Číselný systém | Výpočetní mechanismus | Programování | Turing dokončen | Paměť |
---|---|---|---|---|---|---|
Diferenční motor | Postaven až v roce 1990 (design 1820s) | Desetinný | Mechanické | Není programovatelný; počáteční numerické konstanty polynomických rozdílů nastaveny fyzicky | Ne | Fyzikální stav kol v osách |
Analytický motor | Není postaven (design 1830s) | Desetinný | Mechanické | Program řízený děrnými kartami | Ano | Fyzikální stav kol v osách |
Ludgate 's Analytical Engine | Nestavěno (design 1909) | Desetinný | Mechanické | Program řízený děrnými kartami | Ano | Fyzikální stav tyčí |
Zuse Z1 (Německo) | 1939 | Binární plovoucí desetinná čárka | Mechanické | Programově řízen děrované 35 mm filmový skladem | Ne | Fyzikální stav tyčí |
Bombe (Polsko, Velká Británie, USA) | 1939 ( polský ), březen 1940 (britský), květen 1943 (USA) | Výpočty postav | Elektromechanický | Není programovatelný; nastavení šifrového vstupu určeného propojovacími kabely | Ne | Fyzikální stav rotorů |
Zuse Z2 (Německo) | 1940 | Binární plovoucí desetinná čárka | Elektromechanický ( mechanická paměť) | Programově řízen děrované 35 mm filmový skladem | Ne | Fyzikální stav tyčí |
Zuse Z3 (Německo) | Května 1941 | Binární plovoucí desetinná čárka | Elektromechanický | Programově řízen děrované 35 mm filmový skladem | V zásadě | Mechanická relé |
Atanasoff – Berry Computer (USA) | 1942 | Binární | Elektronický | Není programovatelný; vstupy lineárních systémových koeficientů pomocí děrných karet | Ne | Paměť regeneračního kondenzátoru |
Colossus Mark 1 (Velká Británie) | Prosince 1943 | Binární | Elektronický | Programově řízený propojovacími kabely a přepínači | Ne | Termionické ventily (vakuové trubice) a tyratrony |
Harvard Mark I - IBM ASCC (USA) | Května 1944 | Desetinný | Elektromechanický | Programově řízený 24kanálovou děrovanou papírovou páskou (ale bez podmíněné větve) | Ne | Mechanická relé |
Zuse Z4 (Německo) | Březen 1945 (nebo 1948) | Binární plovoucí desetinná čárka | Elektromechanický | Programově řízen děrované 35 mm filmový skladem | Ano | Mechanická relé |
ENIAC (USA) | Července 1946 | Desetinný | Elektronický | Programově řízený propojovacími kabely a přepínači | Ano | Žabky triode vakuové trubice |
Manchester Baby (Velká Británie) | 1948 | Binární | Elektronický | Binární program zadávaný do paměti pomocí klávesnice (první elektronický počítač s digitálním uloženým programem) | Ano | Williamsova katodová trubice |
EDSAC (Spojené království) | 1949 | Binární | Elektronický | Pětibitový operační kód a operand s proměnnou délkou (první počítač s uloženým programem nabízející výpočetní služby široké komunitě). | Ano | Mercury zpožďovací linky |
V populární kultuře
- Tyto cyberpunkové romanopisci William Gibson a Bruce Sterling spoluautorem steampunk román alternativní historie s názvem The Difference Engine , v němž Babbage rozdíl a analytické motory byly k dispozici na viktoriánské společnosti. Román zkoumá důsledky a důsledky raného zavedení výpočetní technologie.
- Moriarty by Modem , povídka Jacka Nimersheima, popisuje alternativní historii, kde byl Babbageův analytický motor skutečně dokončen a byl britskou vládou považován za vysoce klasifikovaný. Postavy Sherlocka Holmese a Moriartyho byly ve skutečnosti souborem prototypových programů napsaných pro Analytical Engine. Tato povídka sleduje Holmese, jak je jeho program implementován na moderních počítačích, a on je nucen znovu soupeřit se svým nepřítelem v moderních protějšcích Babbageova analytického stroje.
- Podobné nastavení používá Sydney Padua ve webcomicu The Thrilling Adventures of Lovelace and Babbage . Obsahuje alternativní historii, kde Ada Lovelace a Babbage postavili Analytical Engine a používají jej k boji proti zločinu na žádost královny Viktorie . Komiks je založen na důkladném výzkumu životopisů a korespondence mezi Babbageem a Lovelace, který je poté zkroucen pro humorný efekt.
- Na rameno Orion on-line projekt představuje Machina Babbagenseii , plně vnímající Babbage inspirované mechanické počítače. Každý z nich má velikost velkého asteroidu, který je schopen přežít pouze v podmínkách mikrogravitace, a zpracovává data rychlostí 0,5% rychlosti lidského mozku.
Reference
Bibliografie
- Babbage, Charles (1864). „Kapitola VIII - Analytického stroje“ . Pasáže ze života filozofa . Londýn: Longman, Green, Longman, Roberts a Green. s. 112–141.
- Babbage, Charles (1889). Babbage, Henry P. (ed.). Babbageovy kalkulační motory - sbírka papírů, které se jich týkají; Jejich historie a konstrukce (PDF) . New York: Cambridge University Press. ISBN 978-1-108-00096-3. Archivováno z originálu (PDF) dne 4. března 2016 . Citováno 24. prosince 2015 .
- Bromley, Allan G. (červenec – září 1982). „Analytický stroj Charlese Babbageho, 1838“ (PDF) . IEEE Annals of the History of Computing . 4 (3): 197–217. doi : 10,1109/mahc.1982.10028 .
- Bromley, Allan G. (1990). „Rozdílné a analytické motory“. V Aspray, William (ed.). Počítače před počítači (PDF) . Ames: Iowa State University Press. s. 59–98. ISBN 978-0-8138-0047-9.
- Bromley, Allan G. (říjen – prosinec 2000). „Babbage's Analytical Engine Plans 28 and 28a-the Programmer's Interface“. IEEE Annals of the History of Computing . 22 (4): 5–19. doi : 10,1109/85,8887986 . S2CID 17597243 .
- Cohen, I. Bernard (2000). „8 - Aikenův základ ve výpočetní technice a znalost Babbageových strojů“. Howard Aiken: Portrét počítačového průkopníka . Cambridge: MIT Press. s. 61–72. ISBN 9780262531795.
- Collier, Bruce (1970). Malé motory, které mohly: Počítací stroje Charlese Babbage (PhD). Harvardská univerzita . Citováno 18. prosince 2015 .
- Green, Christopher D. (2005). „Měl být Babbageův analytický stroj mechanickým modelem mysli?“ (PDF) . Historie psychologie . 8 (1): 35–45. doi : 10,1037/1093-4510.8.1.35 . PMID 16021763 . Citováno 25. prosince 2015 .
- Hyman, Anthony (1982). Charles Babbage: Životopis . Oxford: Oxford University Press. ISBN 9780198581703.
- Menabrea, Luigi Federico ; Lovelace, Ada (1843). "Náčrt analytického motoru vynalezl Charles Babbage ... s poznámkami překladatele. Přeložila Ada Lovelace" . V Richard Taylor (ed.). Vědecké paměti . 3 . Londýn: Richard a John E. Taylor. s. 666–731.
- Randell, Brian (říjen – prosinec 1982). „Od analytického motoru k elektronickému digitálnímu počítači: Příspěvky společnosti Ludgate, Torres a Bush“ (PDF) . IEEE Annals of the History of Computing . 4 (4): 327–341. doi : 10,1109/mahc.1982.10042 . S2CID 1737953 .
- Rojas, Raul (leden – březen 2021). „Počítačové programy Charlese Babbage“. IEEE Annals of the History of Computing . 43 (1): 6–18. doi : 10,1109/MAHC.2020.3045717 .
- Wilkes, Maurice Vincent (1971). „Babbage jako počítačový průkopník“. Proč. Babbage Memorial Memorial . London: British Computer Society. s. 415–440.
externí odkazy
- Babbage Papers , archiv muzea vědy
- Analytical Engine ve společnosti Fourmilab zahrnuje historické dokumenty a online simulace
- „Obrázek„ Obecného plánu velkého Babbageova výpočetního motoru “(1840) a moderní popis provozních a programovacích funkcí“ . Archivovány od originálu dne 21. srpna 2008.
- Obrázek pozdějšího plánu analytického motoru s rozložením mřížky (1858)
- První funkční Babbageův „sud“ byl skutečně sestaven, kolem roku 2005
- Zvláštní vydání, IEEE Annals of the History of Computing , svazek 22, číslo 4, říjen – prosinec 2000 (nutné předplatné)
- Babbage , Vědecké muzeum, Londýn
- „Úžasný analytický motor- jak to funguje“ . 2D brýle . 31. května 2015 . Citováno 23. srpna 2017 .