Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

SEMESTRÁLNÍ PRÁCE Z PŘEDMĚTU HARDWARE POČÍTAČŮ Jan Vymětal Von Neumannova koncepce počítače.

Podobné prezentace


Prezentace na téma: "SEMESTRÁLNÍ PRÁCE Z PŘEDMĚTU HARDWARE POČÍTAČŮ Jan Vymětal Von Neumannova koncepce počítače."— Transkript prezentace:

1 SEMESTRÁLNÍ PRÁCE Z PŘEDMĚTU HARDWARE POČÍTAČŮ Jan Vymětal Von Neumannova koncepce počítače

2 Na myšlenku, že počítače by mohly být řízeny programem, přišel více než sto let před Johnem von Neumannem angličan Charles Babbage. Konkrétní způsob realizace této myšlenky se ovšem vyvíjel postupně: - první představa byla taková, že počítač má svůj program zaznamenán na nějakém vnějším záznamovém médiu - To ale sebou přináší některé nepříjemné komplikace - například provedení skoku znamená přemotání děrné pásky na požadované místo (analogicky pro štítky), což trvá nezanedbatelnou dobu. - Proto John von Neumann navrhl uchovávat program takovým způsobem, aby byl celý trvale k dispozici (tj. aby se nemusel postupně načítat), a aby bylo možné v něm libovolně (a hlavně "okamžitě") skákat - navrhl tedy uchovávání celého programu v paměti počítače, a navíc v takové paměti, která nemá sekvenční charakter, ale chová se jako paměť s tzv. přímým přístupem.

3 Velmi zajímavým momentem bylo také zpochybnění dosud zastávané představy o tom, že program a data jsou principiálně odlišné objekty, které v zásadě není možné jakkoli míchat (a tudíž ani uchovávat společně). Snad nejvýznamnější myšlenkou celé von Neumannovy architektury je právě zásada, že program i data jsou ve své podstatě jedno a totéž (a to posloupnost bitů), a o jejich povaze rozhoduje pouze způsob, jakým je interpretuje ten, kdo s nimi pracuje. Tato zásada pak von Neumannovi umožnila navrhnout, aby počítač měl jedinou paměť (tzv. operační paměť), ve které by se společně uchovávaly jak data, tak i celé programy. Pokud bychom trvali na tom, že data a program jsou něco v principu jiného, musel by překladač a sestavující program vygenerovat přeložený program do paměti pro data, a odsud by pak musel být tento program explicitně přenesen do paměti pro programy, odkud by teprve mohl být spuštěn

4 Dovedete si představit, jak by na takovémto počítači fungovaly všechny ty dnešní integrované překladače typu compile&go (tj. "přelož a ihned spusť")! A co teprve nejrůznější ladící programy (debuggery), které se chvíli dívají na jednu a tutéž posloupnost bitů jako na program, a chvíli se k nim zase chovají jako k datům?

5 Další zásadní myšlenkou celé von Neumannovy koncepce je čistě sekvenční způsob fungování počítače. Tato představa počítá s tím, že jednotlivé strojové instrukce, tvořící program, se budou provádět postupně tak, jak jsou umístěny za sebou (až na případné skoky, volání a návraty z podprogramů). Ve své podstatě tento přístup znamená, že úkol, který má být splněn, je rozdělen na posloupnost kroků, a tyto se provádí postupně - nikoli souběžně! Pro člověka, který takovýto program píše, je jeho dekompozice do posloupnosti sekvenčně prováděných kroků mnohem přirozenější a jednodušší, než rozklad do takových činností, které se mohou provádět souběžně, mohou se prolínat v čase, a je nutné dbát na jejich správnou návaznost

6 Čistě sekvenční charakter je dnes tím, co je von Neumannově architektuře snad nejvíce vyčítáno. Důvodem je skutečnost, že sekvenční charakter výpočtů nedává téměř žádný prostor pro jejich zásadní zrychlení, které by naopak bylo možné, kdyby některé činnosti bylo možné provádět souběžně (paralelně).

7 Objevily se samozřejmě i různé alternativní architektury (tzv. ne-von Neumannovské), které s možností paralelismů předem počítají. Ovšem skutečnost, že se prosadily jen v dosti speciálních aplikacích, naznačuje zajímavou souvislost: že není ani tak těžké zkonstruovat paralelní počítač, jako jeho paralelismus využít! Problém je tedy spíše v samotném člověku, který musí stále ještě zajišťovat algoritmizaci řešených úkolů, neboli jejich vhodné naprogramování. Lidskému myšlení je skutečně blíže sekvenční postup, než velká míra paralelismu.

8 Velmi důležitou myšlenkou, která se prosadila v rámci von Neumannovy architektura, je následující zásada: počítač by se neměl přizpůsobovat potřebám konkrétní aplikace svou vnitřní strukturou, ale pouze programem. Jinými slovy: vnitřní struktura počítače by se neměla měnit, a měla by být maximálně univerzální, tak aby vycházela vstříc potřebám co možná nejširšího okruhu aplikací. "Šité na míru" by naopak měly být programy.

9 Popis zjednodušené funkce počítače podle von Neumanna 1. Úloha se zadá vstupní jednotce v podobě dat a programu činnosti počítače. 2. Řadič iniciuje vstupní jednotku, aby úlohu přijala (provede operátor od řídicího pultu). 3. Vstupní jednotka převede podle vnitřních pravidel systému zadání do řady nul a jedniček, data a program převede do buněk operační paměti (které si lze představit jako adresovatelné přihrádky). Program je řada instrukcí popisujících postup při řešení úlohy. 4. Řadič převezme z operační paměti první instrukci s pokynem co má udělat. 5. Řadič vydá příkaz operační paměti, která data z buněk na určených adresách má vydat aritmetické jednotce.

10 6. Paměť předá data z uvedených adres do registru aritmetické jednotky. 7. Řadič přikáže aritmetické jednotce, aby provedla s daty, která naběhla do registru, operaci podle instrukce č.1 (např. aby sečetla, logicky porovnala a pod.). 8. Výsledek výpočtu, či logického porovnání se uloží do operační paměti. 9. Řadič je informován o uložení předchozí operace, což je podmínkou k zahájení následující operace, ke které si krokem 4 vyžádá v programu následující instrukci, a tím se začne opakovat cyklus kroků 4 až 8 tak dlouho, až se dospěje k vyřešení úlohy. 10. Řadič zapojí výstupní jednotku, která předá výsledek úlohy. Přitom se předpokládá, že adresa, kde je výsledek úlohy v operační paměti uložen, současně přikázal krokem 5.

11 NEUMANNOVO SCHÉMA

12 Tato zásada má jednu obrovskou výhodu: veškerou složitost, spojenou s řešením určitého zadání, převádí pouze na složitost návrhu programu (a nikoli na složitost návrhu vnitřní struktury počítače) - řeší ji tedy jen v softwaru, a nikoli v hardwaru. I v oblasti návrhu hardwaru samozřejmě existují různé metody a nástroje, umožňující vyrovnat se s velkou složitostí řešeného úkolu, ale na poli softwaru jsou analogické metody a nástroje mnohem výkonnější, lacinější i rychlejší, a v důsledku toho umožňují zvládnout i složitější a náročnější úkoly.

13 Jinou otázkou je ovšem efektivnost tohoto řešení. Počítač von Neumannovy koncepce je zcela záměrně navržen tak, aby na něm šlo naprogramovat prakticky cokoli. Na druhé straně hardware, který je "šit na míru" potřebám nějakého úzce vymezeného okruhu aplikací, bude zcela zákonitě efektivnější. Příkladem může být skutečnost, že úspěšné šachové počítače nejsou univerzálními počítači, ale počítači úzce specializovanými. Na vývoji von Neumannovy architektury je zajímavé i to, že k největšímu počtu jejích vylepšení došlo poměrně brzy po jejím vzniku (zhruba do roku 1960). Poté následovalo určité období "klidu", a teprve později, v souvislosti s vývojem v oblasti polovodičových a jiných technologií, se zase objevují další zajímavá vylepšení původní von Neumannovy architektury.

14 KONEC


Stáhnout ppt "SEMESTRÁLNÍ PRÁCE Z PŘEDMĚTU HARDWARE POČÍTAČŮ Jan Vymětal Von Neumannova koncepce počítače."

Podobné prezentace


Reklamy Google