pracovní dokument - ČeV - 1605-07

výhody

  • univerzálnost - von Neumann, jedno zařízení a libovolný počet programů
  • původně se program musel "zadrátovat" - obrovský pokrok
  • s rozvojem technologií princip zůstává stejný, ale umožňuje velké vývojové skoky

etapy - ukázat na popisu práce počítače, jak se to vyvíjelo ...

  • každý program samostatně, součástí počítače pouze zaváděcí program, načítání programů z trvalé paměti na vnějších médiích - děrná páska, filmová páska, děrný štítek - později opět podobně magnetofonová páska (malé 8-bitové počítače) a nakonec i diskety (počátky PC) - na počítači může současně běžet pouze 1 program

  • sálové počítače a minipočítače (miniaturizace se zlevněním součástek) - systémové programové vybavení a operační systém - nejprve "monitor a pod), pak od řady IBM 360 už operační systémy s multiprogramováním ("virtuální paměť" - tj. odkládání z pracovní do trvalé paměti) , princip přerušení

  • domácí počítače - jednoduché, opět zavádění programu - zavede se program "interpret" a tomu se mohou zadávat příkazy

  • PC a postupně datové sítě, klient server

  • internetická a mobilní revoluce - cloudové služby

 

programové řešení

  • současně jen jeden program
  • dávkové zpracování - postupné spouštění posloupnosti programů
  • multiprogramování, virtuální paměť, interaktivní zpracování - více programů najednou, řízeno systémem, přerušení, ... - mainframe s termínály, sítě, transakční zpracování, data v databance
  • domácí počítače - jeden program
  • PC a vývoj od příkazového řádku k řízení událostmi
  • pracovní stanice - server, paralelní vlákna
  • programy běží jinde a dodávají data - univerzální pravidla a propojení

< počítač - technický podsystém > 

< počítač - technický podsystém >

| počítač
| procesor, vestavěný systém - firmware
| paměť, operační paměť, trvalá paměť
| vstup/výstupní zařízení, terminál
| program ve strojovém kódu, strojová instrukce, operace, operand

Jak pracuje počítač

  • zavedení programu do pracovní paměti - (procesor, vstupní zařízení)
       kopie programu z trvalé paměti s nastavením na první příkaz
  • provádění posloupnosti příkazů programu - (procesor)
    • procesor přečte příkaz v pracovní paměti
    • varianty prováděné činnosti dle typu příkazu
      • načtení vstupních dat do pracovní paměti - (vstupní zařízení)
           / kopie z trvalé paměti
           / vložení dat z klávesnice 
           / přímé přečtení dat v reálném čase 
      • zápis výstupních dat z pracovní paměti - (výstupní zařízení)
           / kopie do trvalé paměti
           / zobrazení na obrazovce 
           / přímý zápis dat v reálném čase
      • práce s daty v pracovní paměti (procesor) 
           / přesuny a přiřazování dat 
           / vyhodnocování výrazů, výpočty, ...
           / pokyn k volání podprogramu nebo funkce 
    • varianty pokračování - (procesor)
         / přechod na následující příkaz - nastavení adresy dle výsledku činnosti
         / realizace podprogramu nebo funkce a přechod na následující příkaz
         / prováděný příkaz byl poslední
  • ukončení programu - (procesor, výstupní zařízení)
       / kopie příp. pracovní vyrovnávací paměti do trvalé paměti
       / uvolnění obsazené pracovní paměti  
       / uvolnění vstupních a výstupních zařízení

ČeV - únor 2016

< počítač - technický podsystém >

definice prog-story

  • prostor pro dočasné umístění programu a jím zpracovávaných dat - program i data jsou v paměti uloženy v binárním kódu tak, že vždy 8 bitů tvoří 1 bajt, který je adresovatelný v rámci operandů strojové instrukce
  • pracovní paměťový prostor konkretního programu je po jeho ukončení uvolněn k jinému využití
  • operační paměť nelze využít k trvalému uložení dat - po vypnutí počítače se její obsah ztrácí

rozcestník

ČeV - květen 2016

< počítač - technický podsystém >

definice prog-story

  • technické zařízení definované projektem, které zpracovává data podle zadaného programu
  • technické vybavení počítače (hardware) z hlediska základních funkcí
    • procesor a operační paměť
    • vstupní a výstupní zařízení
      • přímý vstup - klávesnice, skener, čidlo, ...
      • přímý výstup - obrazovka, display, ovládací prvrek, ...
      • ovládání trvalých pamětí (vnějších, sekundárních, ...) - zajištění čtení a zápisu dat či programů
    • zdroj energie
  • typy počítačů z hlediska programování
    • klasicky programovatelné univerzální počítače
    • specializované jednočipové počítače s vestavěným programem
    • jednočipové počítařče s možností programování

rozcestník

ČeV - květen 2016

< počítač - technický podsystém >

zavedení programu ve strojovém kódu do pracovní paměti
přečtení 1. příkazu

provádění příkazů dle programu - pokud není příkazem "konec programu"
varianty prováděného příkazu - dle typu operace
/ vstup-výstupní operace
/ operace procesoru
/ realizace volaného detailu
přečtení dalšího příkazu - dle výsledku operace

uvolnění pracovní paměti


Vývoj programovatelných počítačů

reléové a elektronkové počítače - do poloviny 20. stol.
      počítače pracovaly podle výše uvedeného schematu a z počátku skutečně zpracovávaly pouze jeden program,
      který byl nejprve zadáván měnitelným "zadrátováním" nebo propojovacími deskami a později zaváděním
      z děrné pásky nebo z děrných štítků a musel si veškerou činnost svými vlastními příkazy řídit a obsloužit sám

tranzistorové počítače - přibližně do roku 1965
      zvýšením velikosti pamětí a výkonu umožnily využívat univerzální "základní programové vybavení",
      ze kterého později vznikly operační systémy, tj. sady programů, které se do pracovní paměti zaváděly jako první
      a následně zavedené aplikační programy si pak různé standardní služby již od nich mohly vyžádat 

počítače s integrovanými obvody - od roku 1965
      jsou charakterizované řadou sálových počítačů IBM 360 a jim podobných v různých výkonových řadách,
      ty umožnily tzv. multiprogramování, tj. zavedení do pracovní paměti více programů, které se o procesor dělí,
      tj. formou tzv. přerušení jsou střídavě jednotlivé programy pozastavovány (s uložením rozpracovaných dat)
      a následně (po obnovení dat) zpracování jejich příkazů pokračuje, což při rychlém střídání znamená
      zdánlivě "současné" zpracování více úloh najednou

mikroprocesory - po roce 1981 a následná další miniaturizace
      znamenaly nárůst výkonu procesorů a víceprocesorové, tj. skutečně s více programy paralelně pracující počítače
      a samostatné nasazování mikroporcesorů pro obsluhu vstup-výstupních kanálů a dalších služeb,
      současně se také objevily velké, rychlé a účelově přizpůsobené různé druhy pracovních pamětí

      za poznámku stojí, že osobní počítače PC s operačním systémem DOS, vyráběné po roce 1981
      byly jednoprogramové a i víceúlohové systémy Windows, Unix/Linux i  Mac OS X do nedávné doby pracovaly
      na základě zmíněných principů multiprogramování

současnost internetu, mobilních zařízení a technologií  - kolem roku 2015
      prakticky ani není možné nějak souhrnně charakterizovat, avšak na elementární úrovni jednotlivých programů
      zůstává uvedené schema stále principem spolupráce mezi programem, pracovní pamětí a procesorem,
      pouze těch procesorů či druhů paměti může být postupně či současně využíváno více

 

Doplňující komentáře

operace
      elementární programový krok jako základní jednotka zpracování, realizovaná procesorem - (viz též instrukce),
      v popisu systému "Počítač & spol." a jeho podsystémů je používán též obecnější pojem "příkaz programu",
      který v konkretních programovacích jazycích však může mít různě upřesněné širší nebo jiné významy (!)

vstup-výstupní operace
      obsluhují vstupní a výstupní zařízení

operace procesoru
      výpočty, vyhodnocování výrazů a manipulace s daty v pracovní paměti

realizace volaného detailu
      vyžádání realizace podřízeného podprogramu, funkce, metody či jiné programové služby,
      po jejímž ukončení se řízení vrátí na čtení dalšího příkazu

přečtení dalšího příkazu dle výsledku operace
      většina operací může mít více než 1 výsledek
          / vyhodnocení aktuálních podmínek může být pravdivé / nepravdivé / různě variantní
          / vstupem či výstupem proudu dat může být konkretní hodnota nebo příznak ukončení
          / při výpočtech nebo při manipulaci s daty v paměti mohou být překročena daná vymezení
          / ... atd
      všechny takové případy musí být v programu ošetřeny, tj. pro každou variantu výsledku musí být definováno,
         kterým příkazem bude program v té či oné situaci dále pokračovat   

ČeV - únor 2016

< počítač - technický podsystém >

definice prog-story

  • operační jednotka, která realizuje operace dle strojových instrukcí, obsažených v programu
  • spuštění programu znamená postupné čtení instrukcí v paměti procesorem
    a vykonávání operací, které jsou jimi definovány
  • různé typy procesorů pracují s různými sadami strojových instrukcí,
    proto nejsou programy ve strojovém kódu mezi nimi přenositelné

rozcestník

ČeV - květen 2016

< počítač - technický podsystém >

definice prog-story

  • binární kód, který obsahuje definice úseků paměti pro vstupní, pracovní a výstupní data
    a pokyny k jejich zpracování ve formě strojových instrukcí

rozcestník

ČeV - květen 2016

< počítač - technický podsystém >

definice prog-story

  • pokyn v programu ve strojovém kódu k vykonání určité operace procesorem
  • každá instrukce obsahuje typ operace, který definuje, co má být vykonáno
    a v závislosti na typu většinou též další upřesňující údaje (operandy) 

rozcestník

ČeV - květen 2016

< počítač - technický podsystém >

definice prog-story

  • paměťový prostor pro trvalé uložení programů a dat s možností jejich opakovaného čtení
    a většinou též i opakovaného záznamu

rozcestník

ČeV - květen 2016

< počítač - technický podsystém >

definice prog-story

  • jednoúčelový řídící počítač, zabudovaný v technickém zařízení, které ovládá
  • příslušné programové vybavení se označuje pojmem "firmware" (typicky např zavaděč - BOIS)
  • s rozvojem miniaturizace a rychlosti se uplatnění rychle rozšiřuje - viz rozcestník

rozcestník

ČeV - květen 2016

< počítač - technický podsystém >

definice prog-story

  • zařízení, umožňující přečtení příkazů, programů nebo vstupních dat s jejich zavedením do operační paměti 
    a dle potřeby též výstup dat z operační paměti formou zobrazení, tisku nebo zápisu do trvalé paměti

rozcestník

ČeV - květen 2016

< počítač - technický podsystém >