>> Ovšem již v polovině čtyřicátých let minulého století přišel John von Neumann s převratnou myšlenkou – libovolný algoritmus nemusí být přímo „zadrátován“ v počítači, ale může být zapsán ve formě programu složeného ze sekvence instrukcí...
O této myšlence publikoval odborný článek již Alan Turing v roce 1936. Alan Turing popsal konstrukci stroje (dnes nazývaného univerzální turnigův stroj), který na lineární operační paměti (páska) přijme program a vstupy a po skončení výpočtu zanechá na pásce správný výsledek. Ve stejném roce navrhl Konrád Zuse nikdy nerealizovaný stroj s Von Neumannovou architekturou. John von Neumann se seznámil s výsledky Turinga během svého pobytu v Cambridge v roce 1936 a během přednášek Turinga v Princetonu v roc 1937. Ve čtyřicátých John von Neumann v rámci armádní zakázky pouze postavil stroj podle myšlenek, které znal z přednášek Turinga.
Přesně tak. A právě proto a na jeho počest se tomu říká Turingův stroj, a ne von Neumannův.
Možná by taky nebylo od věci v souvislosti s tímto zmínit i Antonína Svobodu, který svými pracemi na téma konstrukce spolehlivých systémů z nespolehlivých součástí a syntézy obvodů analogových a digitálních počítačů výrazně přispěl k tomu, že celý projekt neskončil fiaskem.
Diky za upresneni, mate pravdu, ze univerzalni TS (rizeny programem na pasce) je zakladem (nejenom) von Neumannovy architektury. Ja mel na mysli spis az zpusoby uvedeni te myslenky do praxe.
Btw: o K. Zusem se jeste zminim, prozatim ale nemam vsechny obrazky jeho stroju, tak by byl clanek neuplny (mam hlavne fotky z repliky Z2). Taky informace o Plankalkulu (coz je tusim ten pocitac, ktery zminujete Vy) nemam uplne, coz je skoda, protoze podle strucneho popisu to vypada na hodne prevratnou vec. Pan Zuse mel proste smulu, ze pracoval na spatnem miste ;-|
Nojo, ale z druhe strany neni flasiNET :-) nebo tkaci stroj rizeny dernymi stitky (spis dernymi destickami) univerzalni zarizeni ale presne naopak - "algoritmus" jejich prace je doslova zadratovan primo v tom pristroji a na dernem stitku nebo bubnu s vystupky jsou pouze data, at jiz tkany vzorek, hrana melodie nebo spinani rele v pracce.
Priklad: i ten nejprimitivnejsi mikropocitac, napriklad nase PMI-80 nebo slavny Altair dokazal hrat sachy (samozrejme primitivne), ukazovat nejakym zpusobem cas, blikat LEDkou Morseovku atd. - ale treba ten flasinet nedokaze na zaklade nejakeho vstupu zahrat Morseovku ne? protoze se to vymyka "zadratovanemu" algoritmu a omezenych moznostech datoveho bubnu,
Tenhle článek je o mikroprogramových řadičích a u těch se (mikro)programy mění jen velmi zřídka. Prostě proto, že realizují například pevně definovanou sadu instrukcí (mikro)procesoru - co se pomocí těch instrukcí potom naprogramuje, to už je jiný příběh o jednu úroveň výš.
Ty tkací stroje a flašinety jsou typický případ řadiče s výměnnou ROMkou (co kus to jiný vzor nebo jiná melodie). Takže se vlastně mění přímo instrukční sada. Na stejném principu byl myslím vytvořen i (dnes už mrtvý) procesor Crusoe - dala se u něj měnit instrukční sada.
Aha tak pokud by se treba ten bubinek ve flasinetu chapal jako mikroprogramova pamet, tak souhlas. Ja porad vzpominam na automatickou pracku Philco (co nam mimochodem vydrzela 25 let, to je jeste "stare" Philco ne ten novej sunt) a tam byla takova obdoba flasinetu :-) proste motorek pres prevody ovladal otocnej prepinac, jedinym menitelnym vstupem byl volic programu, jinak co vim, tak pracka nedokazala detekovat nedostatek vody ani nic podobneho. Ale fungovala skvele, sousedi za tech 25 let vytopeny jen jednou a to jeste kvuli spatnymu odpadu :-)
Redakcni system magicky zmensil schema mikroprocesoru MOS 6502, tady je schema v plnem rozliseni:
"Krasne" (teda RISC) architektury .... ARM, AVR, MIPS, Power,Sparc, Alpha ... mikrokod nepouzivaju. Dufam, ze sa raz dozijem doby ked mikrokodove architektury a hlavne ich najrozsirenejsi predstavitel (x86) budu len v muzeu (ARM by mohlo byt celkom dostojnym a pravdepodobnym nastupcom).
Aj ked na druhej strane za "krasnu" by som oznacil aj mikrokodovu 68000, ktora je vsak nepredstavitelne pomala (najkratsia instrukcia 4 cykly, znamienkove nasobenie 42 cyklov !, znamienkove delenie 122 cyklov !)
Vsak ony RISCy v podstate uz vyhraly :-) minimalne v poctu vyrabenych kusu, protoze takovy MIPS (velmi krasna architektura, alespon pro me) je v routerech, prehravacich videa atd. atd.
Jen na PC se porad z nejakeho duvodu drzi Wintel ;-), i kdyz by dneska nebyl problem prejit jinam.
<nadsazka>Oostatne jen prechod z i386 na x86_64 vlastne znamena prekompilaci vsech programu, tak uz je jedno, jestli se prekladaci hodi dalsi target platforma</nadsazka>
V dnesnej dobe je uz aj prakticky mozne, aby bezna domacnost dokazala fungovat bez x86 architektury: Na pristup k internetu tablet s ARM a Androidom/iOS (pripadne s pripojenou klavesnicou a mysou), na prehravanie medii prehravac s MIPS, na hranie konzola s Power architekturou (Cell/Xenon) a v mikrovlnke a pracke AVR :-)
Ona to zas taková nadsázka není. Komplikace je ale v tom, že spousta historického, aůe stále používaného (hlavně ekonomického) software má v sobě části naprogramované v asembleru nebo dokonce ve strojáku. Ten by bylo nutné přepsat, pouhá rekompilace nestačí. Kromě toho i ve vyšším jazyce mohou nastat komplikace s nekompatibilitou typů, zejména u pointerů.
A dejte potom ruku do ohně za to, že program psaný před dvaceti lety bude na jiné platformě bezchybně fubgovat.
Taketo druhy nekompatibility sa daju riesit emulaciou/virtualnou masinou x86 beziacou na inej architekture.
Apple vcelku uspesne a relativne rychlo dokazal prejst z Power architektury na x86 aj vdaka technologii "Rosetta stone" co bol v podstate realtime emulator Power architektury. Existuju famy o tom, ze Apple chce prejst kompletne na ARM architekturu (kde uz bezi na iPhone a iPad iOS, co je v podstate okresany Mac OS X).
Urcite, ruku do ohne nedam ani za vlastni programy, natozpak na cizi kod :-) hlavne kdyz se pred 20 lety jeste moc neprosazovalo programovani + soucasne psani unit testu a integracnich testu, ktere by to mely odchytit.
Kdysi davno (5 let?) jsem takto predelaval jeden program, coz ve vysledku znamenalo jeho kompletni prepsani z assembleru i86 (16bitovy kod pro DOS a Wokna 3.11) do prenositelneho cecka, ale samozrejme doslo k zavleceni par novych chyb.