Architektura počítačů a sítí: Porovnání verzí

Z ωικι.matfyz.cz
Přejít na: navigace, hledání
(Vstupně výstupní subsystémy, přerušení, DMA)
m (Vstupně výstupní subsystémy, přerušení, DMA)
Řádka 69: Řádka 69:
  
 
== Vstupně výstupní subsystémy, přerušení, DMA ==
 
== Vstupně výstupní subsystémy, přerušení, DMA ==
 +
 +
* Art of Assembly - [http://webster.cs.ucr.edu/AoA/Windows/HTML/IO.html Chapter Seven The I/O Subsystem]
 +
 
=== Přerušení ===
 
=== Přerušení ===
 
Přerušení je událost, která mění sekvenci, ve které CPU vykonává instrukce; je generováno HW nebo SW. Je pouzivano pro praci s I/O, virtualni pameti, DMA, ...
 
Přerušení je událost, která mění sekvenci, ve které CPU vykonává instrukce; je generováno HW nebo SW. Je pouzivano pro praci s I/O, virtualni pameti, DMA, ...

Verze z 26. 5. 2007, 01:19

Zdroje

Zpracování jednotlivých otázek

Von Neumannova architektura a její alternativy

  • Vychází z koncepce vzniklé v USA v letech 1940{1945, jejíľ hlavní tvůrce je John von Neumann.
  • Vnitřní strukturu počítače tvoří pamět, vstup, výstup a procesor. Strukura počítače se nemění s typem úlohy. Je jednotná pamět pro text programu i data. Rozdíl mezi programem a daty je dán jen jejich interpretací. Pamět je posloupnost stejně velkých pamětových míst. Počítač je řízen tokem instrukcí. ty se provádějí, kdyz na ně dojde řada. V kazdém okamziku probíhá jen jedna činnost.
  • nevyhody - zastaralá, navrhována jako sekvenční, von Neumann bottleneck (propustnost dat mezi RAM a CPU je prilis nizka (relativne vzhledem k velikosti pameti a rychlosti cpu))
  • Na Von Neumanove architekture jsou zalozeny vsechny dnesni mainstreamove pocitace. I kdyz od te doby doslo ke rade uprav (asynchronni I/O, cache, virtualni pamet)
  • alternativy - počítač řízený tokem dat - operace se provede, jakmile jsou známy vąechny její operandy, Harvardska architektura (Mark 1)

Multiprocesory

  • wikipedie
    • MIMD multiprocessing architecture is suitable for a wide variety of tasks in which completely independent and parallel execution of instructions touching different sets of data can be put to productive use. For this reason, and because it is easy to implement, MIMD predominates in multiprocessing.
    • SIMD multiprocessing is well suited to parallel or vector processing, in which a very large set of data can be divided into parts that are individually subjected to identical but independent operations. A single instruction stream directs the operation of multiple processing units to perform the same manipulations simultaneously on potentially large amounts of data.

Mikroprogramové a klasické řadiče, mikroprogramování

Paměťová hierarchie, vyrovnávací paměti

  • obdrzalkovy slidy na principy 07
  • registry - cpu, nejrychlejsi - 1ns, nejmensi ~B
  • vyrovnavaci pamet - L1, L2 cache, 10ns ~kB
  • operacni pamet - RAM 10-100ns ~MB
  • sekundarni pamet - HDD 10ms ~GB
  • archivni pamet - pasky, DVD, nejpomalejsi nejvetsi 100+ ms, TB
  • vyrovnávací paměti
    • obvykle pouziti - tam, kde je vyrazny rozdil v rychlostech - procesor vs ram, pristupy na disk.
    • Vyuziva se casove lokality pristupu - data jednou pouzita budou pravdepodobne pouzita podruhe a pametove lokality - kdyz pouziju nejaka data, tak asi budu pouzivat i data ulozena v nejblizsim okoli (pamet pracuje po strankach, takze typicky nactu i okoli) data v cache ulozena spolu se svou adresou. k vyhledavani je mozno pouzit nekolik druhu mapovani (plne asociativni, prime, ...)
    • cache ma typicky mnohem mensi kapacitu nez ta pamet, ktera je cacheovana (cpu ma radove 0,5MB cache vs RAM 0,5GB; HDD ma 8MB cache a kapacitu 200GB).
    • RAM je v podstate taky cache sekundarni pameti (disku).
    • Pro uvolnovani bloku z cache mozno pouzit ruzne algoritmy (LRU, LFU, FIFO, ...)
    • typy cache:
      • write-thru - používat průpis (co se zapíše do vyrovnávací paměti, zapíše se okamžitě i do hlavní)
      • write-back - uklízet modifikované bloky do hlavní paměti (vyšší výkon). Při zápisu do vyrovnávací paměti se pouze nastaví (dirty) příznak a do hlavní paměti se data zapíší, až když jsou vyhozena z cache (a pouze pokud mají nastaveno dirty).
    • U multiprocesoru je potřeba zaručit konzistenci dat mezi procesorovými cache.
    • Efektivni pristupova doba - "amortizovany" cas potrebny k pristupu do pameti - pomoci cetnosti vypadku stranek a prumerneho casu pristupu do cache a cacheovne pameti se spocita, jaky byl prumerny pristupovy cas ke strance.

Stránkování a segmentace

Virtualni pamet - zajišťuje větší adresový prostor, než je k dispozici fyzicke pameti. Existují dvě základní metody:

Stránkování

Procesy mají k dispozici velký virtuální adresový prostor. Operační paměť tvoří fyzický adresový prostor. Virtuální i fyzická pamět je rozdělena na bloky stejné velikosti - virtuální na stránky, fyzická na rámce. Proces se odvolává pouze na adresy ve svém virtuálním prostoru. Operační systém plní stránkovací tabulky informacemi o tom, které stránky jsou v kterých rámcích - mapování. Při pokusu procesu o přístup k paměti jednotka řízení paměti(mmu - memory management unit) dle stránkovacích tabulek zjistí, zda se stránka obsahující požadované místo nalézá v operační paměti. Pokud ano, provede překlad adresy na fyzickou a instrukci předá procesoru. Pokud ne, vygeneruje přerušení - nastal výpadek stránky(page fault).

OS nalezne volný rámec (případně nějaký uvolní tím, že jeho obsah zapíše do odkládací paměti - viz strategie vymeny stranek) a z odkládací paměti natáhne požadovanou stránku do rámce. Procesor nyní zopakuje instrukci, která přerušení vyvolala. Celý postup je pro proces naprosto transparentní. Pro 32bitovy prostor a 4kB stranky maji strankovaci tabulky uz velikost 4MB, takze se pouziva vice urovnove strankovani (strategie jako indexovani souboru)

32bitova virtualni "pametova adresa" pouzivana procesem je rozdelena na adresu stranky a adresu ve strance. U 4kB stranek se prvnich 20bitu pouzije pro mechanismus hledani fyzicke stranky a az je nalezena, tak poslednich 12 bitu urcuje poradi v ramci stranky, kde je to, co hledame. zvysovani vykonu: mmu primo soucasti procesoru, tlb - transaction lookaside buffer - naposledy pouzita mapovani jsou v malem bufferu, kde se vyhledaji rychleji

Strategie vymeny stranek:

  • FIFO - klasicka fronta, trpi Beladiovou anomalii
  • LFU - Least Frequently Used - stranky maji citac pristupu
  • LRU - Least Recently Used - casovy "citac"
  • OPT - vyhodit stranku, ktera bude potreba za nejdelsi casovy usek - neimplementovatelna teoreticka strategie.

inverzni strankovani - prevazne u 64bit. architektur - virtualni prostor by byl uz moc velky, tak se to organizuje pres ramce fyzicke pameti, ne pres stranky

Segmentace

todo spravit - to co popisuju je strankovana segmentace

Kazdy proces ma iluzi pro sebe vyhrazeneho prostoru - segmentu. Pro hledani fyzicke stranky se pak pouziva i cislo segmentu prirazene procesu. MMU nejdrive v tabulce segmentu najde, kde zacina tabulka stranek pro dany segment a pak se pokracuje jako vyse.

Vstupně výstupní subsystémy, přerušení, DMA

Přerušení

Přerušení je událost, která mění sekvenci, ve které CPU vykonává instrukce; je generováno HW nebo SW. Je pouzivano pro praci s I/O, virtualni pameti, DMA, ...

Přerušení lze generovat:

  • synchronně (trap) | vyvolala ho instrukce v běžícím programu, např. výpadek stránky
  • asynchronně (interrupt) | vnější událost, např. dokončení V/V operace, porucha HW: : :
  • výjimkou (exception) | nesprávné chování programu, např. dělení nulou

Postup při generování přerušení:

  • 1) vznik příčiny, vyslání žádosti
  • 2) rozhodnutí o přijetí či nepřijetí - přerušení lze maskovat - přerušení se uplatní až později
  • 3) identifikace zdroje přerušení a určení adresy obslužného programu - rutina, ktera vyresi duvod preruseni
  • 4) úschova aktuálního stavu procesoru na zásobník - je možno povolit víceúrovňové přerušení, ale je nutno zabránit zacyklení procesor obvykle při přijetí přerušení maskuje všechna přerušení
  • 5) provedení obslužného programu
  • 6) obnova stavu procesoru
  • 7) návrat do přerušeného programu | obvykle pomocí zvláštní strojové instrukce, která obnoví to, co CPU uklidil

Programové přerušení se využívá ke zpřístupnění služeb OS, instrukce call se nepoužívá kvůli ochraně | vstupní body jsou při volání přes přerušení pevně dány.

DMA (Direct Memory Access)

  • je způsob rychlého přenosu dat bez ucasti procesoru při I/O operacích přesunech dat v paměti, zobrazování, refreshi . . .
  • Přenos není řízen strojovými instrukcemi, ale řadičem DMA.
  • Přenos probíhá přímo mezi pamětí a I/O zařízením, procesor je odpojen od sběrnic.
  • Jak se řadič DMA a procesor dohodnou, kdy provést přenos?
    • dávkový režim - řadič o sběrnice žádá, po dobu přenosu je procesor odstaven
    • kradení cyklů - řadič je schopen uspat procesor, když nepracuje se sběrnicemi a provést přenos; náročné na hardware
    • transparentní režim - řadič pozná, kdy procesor nepracuje se sběrnicemi, a v této době provede přenos - procesor o tom ani neví

Způsoby obsluhy periferií

Vstupně-výstupní topologie

Sběrnice a jejich řízení (SCSI, USB, AGP, ..)

Mezipočítačová komunikace

Sériové a paralelní kanály

Modemy

Topologie sítí

Přístupové metody

Síťové technologie - ATM, FDDI, FastEthernet, beztrátové technologie

RM ISO/OSI

Aktivní prvky (bridge, routery)

Síťový model TCP/IP, IPv6

Přenosové služby počítačových sítí

Přenos a sdílení dat

Elektronická pošta

Služby zpřístupnění informací

Bezpečnost síťového přístupu, zabezpečené protokoly

Překlad adres

Firewally

Certifikáty

VPN

Jednotlivé požadavky

Von Neumannova architektura..., Mikroprogramové a klasické řadiče..., Paměťová hierarchie..., Vstupně-výstupní subsystémy..., Vstupně-výstupní topologie..., Mezipočítačová komunikace..., Topologie sítí..., Síťové technologie..., RM ISO/OSI, aktivní prvky, Síťový model TCP/IP, IPv6, Přenosové služby počítačových sítí..., Přenos a sdílení dat..., Bezpečnost síťového přístupu...