stručná historie počítačů


OctopusLAB 72
Digitální technika – ohlédnutí do historie


Když v dnešní době chceme zjistit nějakou informaci, co automaticky uděláme? Otevřeme internetový prohlížeč a do vyhledávače zkoušíme zadat různé varianty hledaného. Zkoukneme pár odkazů (různě relevantních) a můžeme dohledávat i obrázky nebo videa. Máme možnost položit dotaz i na velkém počtu sociálních sítí a v nepřeberném množství rozmanitých diskusních skupin v nich. Značná část obecných technických informací je opravdu rychle a poměrně dobře dostupná.

Dovolím si připomenout, že ne vždy tomu tak bylo. V dobách „nedávných“ (kolem roku 1990) byl internet na našem území na úplném začátku. A k tomu byly stále patrny dozvuky studené války a s ním spojeného embarga na moderní technologie, kam výpočetní technika patřila především. Studiu historických počítačů se věnuji déle než deset let a některé detailnější dokumenty jsou dostupné (snadněji dohledatelné) až posledních pár let. Mám na mysli některé fotografie či krátká videa veškerých počítačů první až třetí generace (z období po druhé světové válce).

První opravdový počítač jsem viděl u táty v práci v již zmíněných osmdesátých letech. Byl to sálový počítač, měli i nějaké IBM System/360, pak zřejmě sovětský EC-1027/EC-1033 nebo EC-1021 vyráběný v ČSSR. Možná tam byly i nějaké terminálové stanice pro IBM-3090. To už nevím.
Internet byl výsadou západních univerzit, velkých korporací a armádních složek. Představa „mít počítač doma“ byla pro většinu lidí nejen velmi odvážná, ale reálně jsme se smířili s tím, že to asi ještě mnoho let nebude vůbec možné. A přitom na západ od nás už první modely hobby počítačů pomalu ale jistě vznikaly.


Historia magistra vitae


Posuňme se však na chvíli v čase ještě více do minulosti. Nemusíte se obávat, dlouho se nezdržíme. Rád bych vás především motivoval k vlastnímu hledání a samostatnému bádání. Pokud vás něco zaujme více, určitě zkuste zapátrat po již zmíněném internetu nebo ve vlastní knihovně.
(Můžete to zkusit hned s vyhledáním překladu a významu nadpisu, pokud ho zatím neznáte.)

Už od nepaměti si lidé snaží usnadnit si práci. „Již staří Římané…“ – i tak by se dalo začít. Protože snaha zjednodušit a urychlit si počítání se u člověka zřejmě objevila krátce po tom, co něco začal počítat. Počet kusů ve stádu lovené zvěře, počet nepřátel, počet nádob s vodou, počet kamenů na stavbu, počet zajatců… První písemné záznamy to dokládají, protože se velmi často jedná podobné evidence a přehledy. Zde také záhy narazíme na desítkovou soustavu, jejíž vznik je přisuzován tomu, že lidé mají deset prstů na rukou a první počty se prováděly jednoduše na prstech. U prvních záznamů byl občas důraz i na číslo pět (samostatný symbol pro pětku a podobně) protože to je počet prstů na jedné ruce. Z pokročilejších „prehistorických“ soustav zmiňme ještě šedesátkovou, jelikož 60 se dá lépe (celočíselně beze zbytku) rozdělit na polovinu, třetinu, čtvrtinu. Tato soustava se udržela pro počítání času (vteřiny, minuty…) a také v archaický slovech: kopa (60) je pět tuctů (12).


Abakus – první početní pomůcka

Řecké slovo abax označovalo destičku pokrytou pískem (nebo prachem) do něhož se kreslily výpočty. V další verzi to byl systém rovnoběžných rýh, v nichž se posunovaly kamínky nebo korálky na osičce. Zde opět zajímavost – tyto kamínky / oblázky (řecky calculli) daly základ slovu calculator, ze kterého vychází i naše kalkulačka.
Abakus je pravděpodobně babylonského původu (odhadem před 5000 lety) a historicky se oddělily dvě základní verze. Východní abakus (neboli čínský) se používá v Číně (suan pan), v Indonésii a v Japonsku soroban. Západní abakus se užívá v Rusku od 16. století dodnes. Nazývá se sčot. Setkáváme se i s dalšími modifikacemi kuličkových počitadel.


Pokud chceme sečíst dvě čísla (a nestačí nám k tomu počet prstů), můžeme „naházet“ tyto určené dva počty kamínků do jedné misky a pak je spočítat. Pro „pravěkého“ člověka to byla téměř jediná možnost, neměl k dispozici ani symboly (pro počet objektů), ani nástroje pro práci s nimi.
Ale jak rychle sečíst 262+123? K tomu právě skvěle poslouží číselná soustava. V případě desítkové pak sčítáme stovky (deset desítek), desítky a jednotky zvlášť. Abakus to ještě zjednodušil „pětkou“ pro více než 4. Na obrázku třetího abaku si povšimněme takzvaného přenosu, kdy 3+2=5 a máme jen 4 kamínky, takže čtveřici posuneme dolů a kamínek 5 nahoru (5 = 4+1). Podobně máme přenos vymyšlen v dnes užívané desítkové soustavě, kdy 9 + 1 = 10 (jedna desítka plus nula jednotek).

Takže pro zvídavé: zjistěte si více o strastiplné cestě symbolu NULA, její velkou důležitost a proč staří Římané se svými římskými číslicemi (I, V, X, L, D, M) v matematice trochu zaostávali. A jak je to možné, že nakonec používáme číslice arabské (1,2,3,4,5,6,7,8,9) – souvisí to i se slovy algebra, algoritmus (jež jsou arabského původu).


OctopusLAB 73
Digitální technika – předchůdci počítačů

Dříve než se dostaneme k elektronickým počítačům, měli bychom se ještě zdržet u jejich mechanických předchůdců. Jelikož to byly právě „pohyblivé strojky“, které byly po tisíce let jedinou možností, o které soudobí „badatelé“ věděli. A v práci s ozubenými koly dosahovali v jistých obdobích neuvěřitelného mistrovství.
Vznikaly hodinové strojky (první mechanické hodiny udajně sestavil kolem roku 850 kněz z italské Verony Pacificus), vytvářely se měřící pomůcky, hrací skříňky (s pohyblivými figurami), celá řada přístrojů pro využití v astronomii (či astrologii).

Na obrázku můžete vidět zatím nejdokonalejší známý stroj starověku, takzvaný mechanismus z Antikythéry (dokonce se o něm mluví i jako o počítači z Antikythéry). Objevili ho potápěči už v roce 1902 ve vraku římské lodi, ale až v posledním desetiletí se jeho záhadu podařilo z velké části vyluštit. Vyrobili ho Řekové někdy mezi lety 150 a 100 před naším letopočtem.
Zařízení velikosti krabice od bot sestávalo z navzájem propojených 82 komponentů – 37 ozubených koleček a 45 pohyblivých destiček zasazených do částečně dřevěné a částečně bronzové bedýnky, která měla z jedné strany jeden a z druhé strany dva ciferníky. Součástky byly ručně vyrobeny z tenkých (dvoumilimetrových) bronzových desek. Následné průzkumy pomocí rentgenu a vysokoenergetického záření gama odhalily celou jeho původní vnitřní strukturu. Zařízení otáčením kliky ukazovalo na jedné straně pohyby Slunce a Měsíce v průběhu roku, umělo předpovídat jejich zatmění.“ (Wikipedia) 

Konstruktér Andrew Carol sestavil z Lega funkční repliku, která stejně jako předloha sleduje polohu Slunce a Měsíce a předpovídá zatmění těchto kosmických těles. Vyhledejte si krátké video na Youtube.


Hodinové strojky, ale především pak složité pohybující se hračky, probouzely fantazie o možnosti budoucnosti s počítacími, učícími se nebo dokonce myslícími stroji. A lidé v této oblasti několik tisíc let neznali (alespoň se o tom nedochovala žádná svědectví) nic jiného. Proto je dobré si připomínat, jak důležitých a zajímavých je posledních sto let, kdy se prolnulo století páry a benzínu se stoletím elektroniky.
Vždyť samotné slovo ROBOT známe teprve až od roku 1920, kdy bylo uvedeno divadelní vědeckofantastické drama Karla Čapka R.U.R. – Rossumovi univerzální roboti. Čapek byl ovlivněn zájmem o techniku, ale také obavami o budoucnost lidstva (destrukce za první světové války). A slovo ROBOT (robota je archaický obrat pro práce) se začalo používat po celém světě.

První mechanické „kalkulátory“

Stručně na časové ose:

1614 – John Napier popsal logaritmy, s jejichž využitím lze realizovat násobení a dělení pomocí sčítání a odčítání. Následně byly sestaveny první logaritmické tabulky a vzniklo i logaritmické pravítko, které se běžně používalo ještě před pár desetiletími. Z počátečních snah početní úkony alespoň částečně automatizovat se i tento princip aplikoval v některých prvních kalkulátorech.

1623 – Wilhelm Schickard sestavil jednoduchý počítací stroj z ozubených koleček z hodinových strojků. Tyto počítací hodiny uměly sčítat a odčítat šesticiferná čísla. Ale k opravdovému počítači vedla ještě dlouhá cesta, jelikož mnoho principů (v oblasti matematiky, fyziky i chemie) ještě stále čekalo na své objevení.

1642 – Blaise Pascal představil svůj osmimístný počítací stroj Pascalínu, který uměl sčítat a odčítat. Přestože knihtisk v Evropě byl znám už od druhé poloviny patnáctého století, tisklo se velmi málo knih (především Bible) a ostatní tisky se šířily velmi pomalu. Nebyl internet ani počítače ;-), takže mohlo trvat 10-20 let než se Pascal o Shickardově stroji vůbec dozvěděl.

První počítací byly vytvořeny na principu ozubených koleček. Na obrázku Pascalina (kolem roku 1642). Dnes už existují i počítačové emulátory, například https://www.edumedia-sciences.com/en/media/333-pascaline (přednostně pro školy, je nutná registrace)

1671 – Gottfried Wilhelm Leibniz – vznikla další propracovanější verze, která se využívala a rozvíjela dále.

1820 – Charles Xavier Thomas – první úspěšný sériově vyráběný kalkulátor Arithmometr. Uměl sčítat, odčítat, násobit a dělit a byl převážně založen na Leibnizově přístroji, ale celá cesta od prvních výraznějších předchůdců trvala zhruba 200 let!


OctopusLAB 74
Od tkaných vzorů k pevným diskům

Při studiu historie techniky mě velmi překvapilo, že to byl právě textilní průmysl, jehož rozvoj za posledních více než 200 let zásadně přispěl k některým technologiím pro periférie prvních počítacích strojů.

Tkalcovské stroje – první programovatelné automaty

Jen ve stručnosti si připomeňme pár zásadních vynálezů v kontextu let, ve kterých byly objeveny:

1725 – Basile Bouchon – jeho otec vyráběl varhany a tak měl k jistým mechanickým principům asi blízko. Zřejmě jako první použil děrované destičky (nejdříve dřevěné, později i papírové) pro řízení tkalcovského stavu. Částečně tak automatizoval zdlouhavý proces nastavování stavu pro vytváření vzorů.

1726 – Jean-Baptiste Falcon – jako asistent výše zmíněného Bouchona vylepšil funkci spojením jednotlivých papírových karet za sebe, čímž zrychlil načítání složitějších vstupů a zjednodušil změny programu vzorů.



1801 – Joseph Marie Jacquard –  zdokonalil a přizpůsobil některé důležité části tak, že se ústrojí dalo použít na téměř každém tkalcovském stavu. Použil děrné štítky, které bylo možné vyměnit beze změny v mechanice samotného stavu. Tento okamžik je považován za milník v programovatelnosti strojů.

Označení Jaquard (nebo žakár) se používá i v 21. století pro všechna zařízení, kterými se dá programovat a řídit pohyb jednotlivých osnovních nití na tkacích a pletacích strojích a také pro textilie vyrobené na těchto strojích.

1835 – Charles Babbage – vylepšil děrný štítek tak, že obsahoval znaky ve formě kombinace dírek a umožňoval obsah opakovaně použít.

Údajně jako první přišel s nápadem sestrojit programovatelný stroj – počítač.
V roce 1991 byl podle Babbageových originálních plánů a prostředků dostupných v 19. století sestaven plně funkční diferenční stroj. Tím se ukázalo, že by skutečně fungoval už tehdy. O devět let později dokončili ve vědeckém muzeu i tiskárnu, kterou Babbage pro svůj počítací stroj navrhl. (Wikipedia)

1890 – Herman Hollerith – vyhrál s metodou použití děrných štítků konkurz na sčítání lidu v USA.
To předchozí totiž trvalo plných 7 let a takhle se to velmi znatelně zkrátilo.
Jeho firma se později stala základem počítačové společnosti IBM. Pro analýzu a další zpracování dat na děrných štítcích byly vyvíjeny specializované stroje: děrovače, tabelátory a třídiče, které se využívaly i v prvních dobách počítačů. Ale to už se konečně dostáváme k éře opravdových počítačů.


Nejčastější kódování (vycházelo z dálnopisu / psacího stroje QWERTY)


Původní děrované destičky (18. století) byly čteny čistě mechanicky. Pomocí kolíčkových stavítek byl detekován otvor a mechanicky se provedlo dílčí nastavení ve stroji. S přechodem na elektronická zařízení se začal využívat elektromechanický princip, kdy napružené kontakty při přechodu přes dírku spínaly elektrický obvod. Pro zvýšení spolehlivosti, rychlosti a životnosti se pak ve století dvacátém využívalo optického prvku. Fotočidlo (miniaturní fotodioda nebo fototranzistor) detekovalo při přechodu otvoru světelný záblesk, který přicházel od zdroje světla na druhé straně pásky.



V OctopusLABu připravujeme další „přístrojové“ bloky pro naše univerzální digitální rozhraní, které pak bude hlavní součástí většího projektu Octopus_23_RUR (retro ultra replika). Tato výuková experimentální soustava bude umět emulovat celou řadu opravdu historických počítačů (máme v plánu i EDSAC, jedno z prvních PDP, až po IMSAI8080 či Altair8800). Repozitář projektu je již založen – sledujte, zkoušejte, přispějte:
https://github.com/octopuslab-cz/octopus_23_rur

Naše čtečka Octopus_RR_01 (retro_reader version 1) vznikla z nutnosti otestovat, předvést a „ověřit“ princip pohodlnějšího vkládání opakovaného programu. Základ tvoří KPX80 (sestava deseti fototranzistorů Tesla, původně určená pro čtečky děrné pásky). Využili jsme jen pětici z nich pro paralelní čtení pěti bitů. Vyzkoušeli jsem citlivost a zjednodušili tvorbu datové pásky pouhým tiskem černých plošek, které propustí světlo jinak, než bílá nepotištěná část a tak není nutno děrovat. Máme rozpracovaný i jednoduchý program v Pythonu, který nám datové pásky vytváří.
Jádro čtečky pak obsahuje kultovní ESP32 a firmware zatím vzniká v Micropythonu (rychlé, pohodlné, dostačující). Další verze (02) by mohla mít i automatický posun (realizovaný malým krokovým motorem, na obrázku nahoře).


Pokud se chystáte na tradiční předvánoční setkání radioamatérů v Národním technickém muzeu (v Praze), zastavte se na našem „stanovišti“. Můžete si pár modulů prohlédnout a vyzkoušet.


OctopusLAB 75
Digitální technika – generace počítačů


jen vybrané události s důrazem ne něktré zajímavosti, které si zaslouží více pozornosti

časová osa

Elektronky – velká energetická spotřeba, malá spolehlivost
Tranzistory – stále složité komplexně propojované desky s velkými nároky na zprovoznění a případné opravy
Integrované obvody – obrovský technologický skok, který vyřešil většinu problémů předchozích generací počítačů

Turing, hacknutí ENIGMy
ENIAC 10 bit, tvoření tabulek pro trajektorie balistických střel, složité výpočty v projektu jádro / atomové bomy
EDVAC binární – von neuman – rtuťové zpoždující linky RAM
dlouhá cesta bit (1947) – a byte a pak ASCII
počítací stoje elektomechanické – relé, děrná páska (telegraf – dálnopis)
následně elektronky a pak i tranzistory
první náznak větší integrace pro počíač pro Apolo – paměti – feritová jádra

von neuman pC:

Univerzální digitální rozhraní

OctopusLAB 71
Univerzální digitální rozhraní – úvod

Univerzální digitální rozhraní (Universal digital interface – UDI) patří mezi jeden z našich dlouhodobých nekomerčních projektů. Další fázi základní sestavy jsme představili i na letošním pražském festivalu Maker Faire a jelikož vzbudila jistý zájem, rozhodl jsem se právě tomuto tématu věnovat více prostoru.


Jádro UDI tvoří náš oblíbený mikrokontrolér ESP32, ke kterému jsme přidali dva šesnáctibitové expandery, posilovače sběrnice a zobrazovací prvky. Dále zkoušíme připojování pamětí (RAM, ROM, EEPROM i I2C malých EEPROM) a rodí se části emulátoru strojových kódů některých „retro“ mikroprocesorů, které však tvoří základ 99% všech soudobých procesorů.
To vše je na obrázku ohraničeno oranžovým obdélníkem, vlevo je modré rozhraní vstupů a výstupů pro emulátor i4004, nad kterým je zdrojová část. V pozadí je pak deska emulátoru PC286 pro AMIGU.


O čem miniseriál bude?

Už ve chvíli, kdy jsem začal článek připravovat, jsem věděl, že téma je natolik obsáhlé, že zabere několik dílů. Jelikož jsem to chtěl vzít poctivě „zeširoka“ a někdy i hlouběji, některé podkapitoly ještě v průběhu sestavování stále doplňuji a rozšiřuji.

Rád bych se zaměřil na věci podstatné a občas se i zdržel u těch zajímavých, ale úvahy vycházely z následující osnovy:

  • přiblížení, jak funguje klasický (von Neuman) počítač
  • odhlédnutí do minulosti: „Již staří Římané…“, meziválečná éra
  • bity, bajty, jak a co si má stroj pamatovat?
  • první osmibitové počítače – pro každého zájemce
  • k čemu všemu se hodí UDI-22?
  • práce s obsahem starších ROM/EPROM
  • emulátory některých strojových kódů osmibitů
  • opravdové pochopení principu algoritmizace a hledání nového přístupu

  • (osnova se průběžně modifikuje, ale základ zůstává)

Vzpomínám si, jak jsem byl fascinován první kalkulačkou (Model TI-1450 z roku 1976), kterou přivezl „ze Západu“ náš příbuzný. Na obrázku vlevo.
Bylo to něco nového a v té době (kolem roku 1980) nebylo tak snadné rychle nasytit mou dětskou zvídavost. Jak to funguje? A že je to tak maličké. Od ABC jsem přešel k VTM, kde sice pár odpovědí bylo, ale jen ve velmi v hrubých obrysech. Byly to právě „tajemné“ první počítače, které mě přivedly k elektronice a následně jsem se snažil něco pochytit i z Amatérského rádia. Někdy v roce 1979 mi kamarád, který studoval matematické gymnázium, ukázal programovatelnou kalkulačku TI-58 a to bylo teprve „zjevení“ – úplná magie, psát si vlastní programy, třeba Přistání na měsíci. Její emulátor si dnes každý (kdo chce) může stáhnout i do svého mobilního telefonu, ale v té době jich v republice byly jednotky kusů.

Proto možná vznikl i „papírový počítač„, jakýsi simulátor opravdového stroje, který umí zpracovat program. Bylo v roce 1980, kdy ve VTM vyšla papírová skládačka CGS (Computer Game system), která pracovala na principu manuálního provádění posloupnosti příkazů (z postupně sem a tam posouvaného proužku papíru) a průběžné zapisování mezivýsledků do registrů (také proužky papíru nebo „tužka-guma“).


Pro testování moderních řídících, diagnostických, měřících či monitorovacích systémů se hodí jistá komplexnější znalost problematiky digitálních (číslicových) systémů i s pohledem do hlubší minulosti. Protože mnoho pojmů, postupů a komponent má své velmi logické důvody a nyní i jasně dohledatelné kořeny.






1. přiblížení, jak funguje klasický (von Neuman) počítač

foto koláž retro ENIAC…
Ilustrační foro počítač ENIAC – MANIAC a EDVAC

foto koláž retro osmibity

trochu historie – (historia magistra vitae) – pro pochoení velmi dobře pomáhá nastudovat cesty hledání a následné důvody proč je něco tak, jak to známe dnes

Stručná historie počítačů

Von Neuman:




2. první osmibitové počítače

opuštění armádního, kosmického prostoru (modelovámí a simulace, zpracování dat a řízení) – a velké státní zakázky typu sčítání obyatelstva a statistky nad získanými daty

1970 – i4004 – první komerčně dostupný (čtyřbitový) mikroprocesor (sdružující základ dle von neumana)
4 bity? do jednoduché kalkulačky satčí a také pro řídící obvod v tiskárně

následuje éra 8mi bitů:
8008
8060
8080
8085
Z80
6205

3. práce s obsahem starších ROM/EEPROM

čtení – výpis obsahu (hex_dump)
kopírování do souboru
náhrada moderními sériovými I2C EEPROM (DIL8 oproti DIL 24+)