SEMESTR - PowerPoint PPT Presentation

About This Presentation
Title:

SEMESTR

Description:

SEMESTR LN PR CE Z P EDM TU HARDWARE PO TA Von Neumannova koncepce po ta e Jan Vym tal – PowerPoint PPT presentation

Number of Views:56
Avg rating:3.0/5.0
Slides: 15
Provided by: Josef165
Category:

less

Transcript and Presenter's Notes

Title: SEMESTR


1
SEMESTRÁLNÍ PRÁCE Z PREDMETU HARDWARE POCÍTACU
Von Neumannova koncepce pocítace
  • Jan Vymetal

2
  • Na myšlenku, že pocítace by mohly být rízeny
    programem, prišel více než sto let pred Johnem
    von Neumannem anglican Charles Babbage. Konkrétní
    zpusob realizace této myšlenky se ovšem vyvíjel
    postupne
  • první predstava byla taková, že pocítac má svuj
    program zaznamenán na nejakém vnejším záznamovém
    médiu
  • To ale sebou prináší nekteré nepríjemné
    komplikace - napríklad provedení skoku znamená
    premotání derné 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 zpusobem, aby byl celý trvale k dispozici
    (tj. aby se nemusel postupne nacítat), a aby bylo
    možné v nem libovolne (a hlavne "okamžite")
    skákat - navrhl tedy uchovávání celého programu v
    pameti pocítace, a navíc v takové pameti, která
    nemá sekvencní charakter, ale chová se jako pamet
    s tzv. prímým prístupem.

3
  • Velmi zajímavým momentem bylo také zpochybnení
    dosud zastávané predstavy o tom, že program a
    data jsou principiálne odlišné objekty, které v
    zásade není možné jakkoli míchat (a tudíž ani
    uchovávat spolecne).
  • Snad nejvýznamnejší myšlenkou celé von Neumannovy
    architektury je práve zásada, že program i data
    jsou ve své podstate jedno a totéž (a to
    posloupnost bitu), a o jejich povaze rozhoduje
    pouze zpusob, jakým je interpretuje ten, kdo s
    nimi pracuje. Tato zásada pak von Neumannovi
    umožnila navrhnout, aby pocítac mel jedinou pamet
    (tzv. operacní pamet), ve které by se spolecne
    uchovávaly jak data, tak i celé programy.
  • Pokud bychom trvali na tom, že data a program
    jsou neco v principu jiného, musel by prekladac a
    sestavující program vygenerovat preložený program
    do pameti pro data, a odsud by pak musel být
    tento program explicitne prenesen do pameti pro
    programy, odkud by teprve mohl být spušten

4
  • Dovedete si predstavit, jak by na takovémto
    pocítaci fungovaly všechny ty dnešní integrované
    prekladace typu compilego (tj. "prelož a ihned
    spust")!
  • A co teprve nejruznejší ladící programy
    (debuggery), které se chvíli dívají na jednu a
    tutéž posloupnost bitu jako na program, a chvíli
    se k nim zase chovají jako k datum?

5
  • Další zásadní myšlenkou celé von Neumannovy
    koncepce je ciste sekvencní zpusob fungování
    pocítace.
  • Tato predstava pocítá s tím, že jednotlivé
    strojové instrukce, tvorící program, se budou
    provádet postupne tak, jak jsou umísteny za sebou
    (až na prípadné skoky, volání a návraty z
    podprogramu). Ve své podstate tento prístup
    znamená, že úkol, který má být splnen, je
    rozdelen na posloupnost kroku, a tyto se provádí
    postupne - nikoli soubežne!
  • Pro cloveka, který takovýto program píše, je jeho
    dekompozice do posloupnosti sekvencne provádených
    kroku mnohem prirozenejší a jednodušší, než
    rozklad do takových cinností, které se mohou
    provádet soubežne, mohou se prolínat v case, a je
    nutné dbát na jejich správnou návaznost

6
  • Ciste sekvencní charakter je dnes tím, co je von
    Neumannove architekture snad nejvíce vycítáno.
    Duvodem je skutecnost, že sekvencní charakter
    výpoctu nedává témer žádný prostor pro jejich
    zásadní zrychlení, které by naopak bylo možné,
    kdyby nekteré cinnosti bylo možné provádet
    soubežne (paralelne).

7
  • Objevily se samozrejme i ruzné alternativní
    architektury (tzv. ne-von Neumannovské), které s
    možností paralelismu predem pocítají. Ovšem
    skutecnost, že se prosadily jen v dosti
    speciálních aplikacích, naznacuje zajímavou
    souvislost že není ani tak težké zkonstruovat
    paralelní pocítac, jako jeho paralelismus využít!
  • Problém je tedy spíše v samotném cloveku, který
    musí stále ješte zajištovat algoritmizaci
    rešených úkolu, neboli jejich vhodné
    naprogramování. Lidskému myšlení je skutecne
    blíže sekvencní postup, než velká míra
    paralelismu.

8
  • Velmi duležitou myšlenkou, která se prosadila v
    rámci von Neumannovy architektura, je následující
    zásada pocítac by se nemel prizpusobovat
    potrebám konkrétní aplikace svou vnitrní
    strukturou, ale pouze programem. Jinými slovy
    vnitrní struktura pocítace by se nemela menit, a
    mela by být maximálne univerzální, tak aby
    vycházela vstríc potrebám co možná nejširšího
    okruhu aplikací. "Šité na míru" by naopak mely
    být programy.

9
  • Popis zjednodušené funkce pocítace podle von
    Neumanna
  • Úloha se zadá vstupní jednotce v podobe dat a
    programu cinnosti pocítace.
  • Radic iniciuje vstupní jednotku, aby úlohu
    prijala (provede operátor od rídicího pultu).
  • Vstupní jednotka prevede podle vnitrních pravidel
    systému zadání do rady nul a jednicek, data a
    program prevede do bunek operacní pameti (které
    si lze predstavit jako adresovatelné prihrádky).
    Program je rada instrukcí popisujících postup pri
    rešení úlohy.
  • Radic prevezme z operacní pameti první instrukci
    s pokynem co má udelat.
  • Radic vydá príkaz operacní pameti, která data z
    bunek na urcených adresách má vydat aritmetické
    jednotce.

10
  • 6. Pamet predá data z uvedených adres do registru
    aritmetické jednotky.
  • 7. Radic prikáže aritmetické jednotce, aby
    provedla s daty, která nabehla do registru,
    operaci podle instrukce c.1 (napr. aby secetla,
    logicky porovnala a pod.).
  • 8. Výsledek výpoctu, ci logického porovnání se
    uloží do operacní pameti.
  • 9. Radic je informován o uložení predchozí
    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 zacne opakovat
    cyklus kroku 4 až 8 tak dlouho, až se dospeje k
    vyrešení úlohy .
  • 10. Radic zapojí výstupní jednotku, která predá
    výsledek úlohy. Pritom se predpokládá, že adresa,
    kde je výsledek úlohy v operacní pameti uložen,
    soucasne prikázal krokem 5.

11
NEUMANNOVO SCHÉMA
12
  • Tato zásada má jednu obrovskou výhodu veškerou
    složitost, spojenou s rešením urcitého zadání,
    prevádí pouze na složitost návrhu programu (a
    nikoli na složitost návrhu vnitrní struktury
    pocítace) - reší ji tedy jen v softwaru, a nikoli
    v hardwaru. I v oblasti návrhu hardwaru
    samozrejme existují ruzné metody a nástroje,
    umožnující vyrovnat se s velkou složitostí
    rešeného úkolu, ale na poli softwaru jsou
    analogické metody a nástroje mnohem výkonnejší,
    lacinejší i rychlejší, a v dusledku toho umožnují
    zvládnout i složitejší a nárocnejší úkoly.

13
  • Jinou otázkou je ovšem efektivnost tohoto rešení.
    Pocítac von Neumannovy koncepce je zcela zámerne
    navržen tak, aby na nem šlo naprogramovat
    prakticky cokoli. Na druhé strane hardware, který
    je "šit na míru" potrebám nejakého úzce
    vymezeného okruhu aplikací, bude zcela zákonite
    efektivnejší. Príkladem muže být skutecnost, že
    úspešné šachové pocítace nejsou univerzálními
    pocítaci, ale pocítaci úzce specializovanými.
  • Na vývoji von Neumannovy architektury je zajímavé
    i to, že k nejvetšímu poctu jejích vylepšení
    došlo pomerne brzy po jejím vzniku (zhruba do
    roku 1960). Poté následovalo urcité období
    "klidu", a teprve pozdeji, v souvislosti s
    vývojem v oblasti polovodicových a jiných
    technologií, se zase objevují další zajímavá
    vylepšení puvodní von Neumannovy architektury.

14
KONEC
Write a Comment
User Comments (0)
About PowerShow.com