INDIVIDUÁLNÍ PROJEKT 1 - ZPRACOVÁNÍ GNSS SIGNÁLU V GPU

Rozměr: px
Začít zobrazení ze stránky:

Download "INDIVIDUÁLNÍ PROJEKT 1 - ZPRACOVÁNÍ GNSS SIGNÁLU V GPU"

Transkript

1 V O J T Ě C H T E R Š INDIVIDUÁLNÍ PROJEKT 1 - ZPRACOVÁNÍ GNSS SIGNÁLU V GPU Ú K O L P R O J E K T U: Přeprogramování rychlé diskrétní Furierovy Transformace (FFT) do jazyka Open CL. V Y B R A N Á M E T O D A: Algoritmus Cooley-Tukey : Decimace v časové oblasti se základem 2. O ALGO R I T M U : Algoritmus vychází z definice Diskrétní Furierovy Transformace, která převádí ovzorkovaný vstupní signál o délce N vzorků z časové domény na frekvenční pomocí definičního vztahu: ( ) ( ). Kde j je imaginární jednotka, N počet prvků, k je index a n je násobek frekvence (0...N-1). Za předpokladu, že vstupem je reálný signál se sudým počtem vzorků, je jeho spektrum symetrické a komplexně sdružené kolem středu. Tzn. že reálná složka je sudá okolo středu a imaginární je lichá. Stačí tedy vypočíst první polovinu spektra, neboť ta druhá bude identická s opačným znaménkem u imaginární složky. Dostáváme : ( ) ( ) ( ) Přesněji: ( ) ( ) ( ). A po úpravě pak: ( ) ( ) Tedy : ( ) ( ) ( ) A: ( ) ( ) ( ) Pokud bychom takto postupovali dále a zkracovali neustále délku transformace (uvažujeme vstupní počet prvků 2 n ), dostaneme nakonec N/2 Transfomací 1. Řádu, tedy Diskrétních Furierových transformací o velikosti 2.Tomuto uspořádání odpovídá následující obrázek, kterému se kvůli jeho grafické podobě říká motýlek (Matematické operace nad těmito transformacemi ho skutečně připomínají) 1

2 1 ZDROJ:WIKIPEDIA.ORG Kde X (0) a X (1) jsou vstupní prvky a Y (0) a Y (1) jsou výstupní prvky. Přitom platí: Poslední výše zmíněný vztah se nazývá Twiddle Factor a reprezentuje rotaci v komplexní rovině. Přitom T je délka periody Twiddle factoru a k je jeho úhel. Z řešení vyplývá, že algoritmus bude celkem potřebovat provést N/2 * log2(n) motýlků (v každém kroku N/2 motýlků). Každý motýlek se přitom skládá ze 2 komplexních násobení a 2 komplexníxh sčítání. Pro DFT o velikosti 8 prvků vypadá pak postup následovně: 2ZDROJ: OPENCL PROGRAMMING BOOK Zde je třeba podotknout, že vstupní hodnoty jsou v bitově převráceném pořadí (Tzv. Bit Reversed Order). Vysvětlení celkem stručně vystihuje následující tabulka: Dekadický zápis pořadí Binární Zápis Bitová Inverze Nové Pořadí

3 K pochopení každého algoritmu však podle mne nejlépe přispěje nějaký příklad, takže se nyní pokusím spočítat pomocí výše uvedených vztahů FFT o 8 prvcích posloupnosti: (Zcela správně by bylo prohodit vstupní hodnoty dle pravidel bitové inverze ): Vstupní hodnoty Motýlek 1 Motýlek 2 Motýlek 3 0+0*i 1+0*i 6+0*i 28+0*i 1+0*i -1+0*i -1+i -1+2,41*i 2+0*i 5+0*i -4+0*i -4+4*i 3+0*i -1+0*i -1-i -1+0,4142*I 4+0*i 9+0*i 22+0*i -16+0*i 5+0*i -1+0*i -1+i -1-0,4142*i 6+0*i 13+0*i -4+0i -4-4*i 7+0*i -1+0*i -1-i -1-2,4142*i Jednotlivé kroky jsou naznačeny na následujících obrázcích: Motýlek 1: Motýlek 2: 3

4 Motýlek 3: Ú V O D D O P R O S T Ř E D Í G R A F I C K É H O J Á D R A Většina dnešních početně náročných algoritmů se snaží využívat výpočetního výkonu grafický karet. Oproti klasickému používání algoritmů na procesoru (CPU Central Processing Unit) mají totiž grafická jádra (GPU Graphics Processign Unit ) mnohonásobně více pracovních vláken, která mohou pracovat nezávisle na sobě. Např. při sčítání dvou vektorů musí procesor s jedním vláknem postupovat od souřadnice k souřadnici a pokaždé tyto sečíst tedy jedná sekvenčně,tzn. vyhodnocuje operace po sobě. Naproti tomu GPU si může dovolit téměř vždy spustit tolik pracovních vláken, kolik má daný vektor souřadnic. Každé vlákno sečte odpovídající prvky a tím jsou vektory sečtěny. Vlákna tedy pracují paralelně nezávisle na sobě. Většina dnešních GPU má přitom k dispozici pracovních vláken na jeden blok, který můžeme chápat jako skupinu vláken se společnými hardwarovými prostředky (například společnou lokální pamětí). Každé jádro zároveň může spouštět zhruba stejný počet pracovních bloků a to dokonce ve 3 dimenzích, což dohromady může dát i miliony pracovních vláken. Každé vlákno má přitom svůj vlastní index (unikátní v rámci celé pracovní mříže vláken a bloků). Proto není problém,,přemapovat daná vstupní data na určitou pracovní jednotku, která s nimi dále bude pracovat. Spouštění těchto algoritmů má však i některé nevýhody, které nejsou běžně vidět: vstupní data se obvykle nachází na straně CPU a je třeba je nejprve překopírovat do paměti GPU, tam je zpracovat a překopírovat zpět na CPU. Dnešní rychlosti sběrnic jsou sice vysoké, ale i tak jsou ve srovnání s výkonem grafických karet několikanásobně menší. Krom toho musíme brát v úvahu i fakt, že globální paměť na GPU (ač je opět velmi rychlá) má omezenou rychlost a většina čtecích a zapisovacích operací bude omnoho pomalejší, než například při použití lokální paměti v rámci jednotlivých bloků. Při navrhování algoritmu tedy musíme dávat především pozor na zbytečné kopírování a zbytečné zatěžování globální paměti. Ani tak ale situce není zcela optimalizovaná. Ideální programátor by si také měl uvědomit, že globální a lokální paměť využívá tzv. banky, do kterých jednotlivá vlákna přistupují při čtení/zapisování hodnot a že i tyto přístupy lze optimalizovat. K samotnému obecnému popisu algoritmů, běžících na straně GPU, pak slouží kernely. To jsou části kódu, které obsahují všechny potřebné informace pro výpočet; je v nich definováno, kolik se má spustit bloků a pracovních jednotek v rámci jednoho bloku, dále v jakých dimenzích, jak se mají přemapovat vstupní data a co které vlákno má v danou chvíli dělat. Z hlediska programování si musíme uvědomit, že paralelní implementace není tak jednoduchá, jak by se mohlo zdát i přes všechny výhody, které jsme popsali. Žádný jazyk totiž nemá definováno, jestli se například při použití obecných hodnot vlákna, která je měla zpracovávat, už dobrala 4

5 k výsledku. Tedy klidně se může stát, že některá vlákna mohou používat při špatné synchronizaci i nepravdivé a dokonce nesmyslné výsledky. Tomu se dá zabránit například synchronizací vláken, kdy všechna vlákna, která už zpracovala svou část kódu, čekají na zbývající. Pak opět pokračují všechna stejně, dokud se nedostanou k další synchronizační bariéře. Nicméně je dobré podoknout, že takto popsaná synchronizace funguje jen v rámci jednoho bloku a nikoliv v rámci celé výpočetní mřížky. Jinými slovy, neexistuje dostatečně vhodný způsob, jak zajistit, aby se synchronizovala všechna vlákna v rámci celého GPU. Metody, které by to zvládly, by byly z hlediska GPU časově náročné. Zde je skromné porovnání toho, jaký může mít vliv jeden klíčový synchronizační úsek kódu: Bez synchronizace vláken: 5

6 Se synchronizací vláken: I M P L E M E N T A C E ALGORI T M U Samotná Implementace spočívá v tom nejprve zinverzovat vstupní hodnoty a v průběhu algoritmu pak pokaždé správně načíst 2 odpovídající hodnoty počítaného motýlka (dle cyklu, ve kterém se nachází), správně spočítat Twiddle Factor a poté dle dalších pravidel zapsat výsledek pro další výpočet. Z výše zmíněných synchronizačních důvodů jsem řešil problém,jak správě navrhnout algoritmus? Buď bude rychlý a bude mít malý rozsah vstupních hodnot, a nebo bude pomalejší, ale bude moci zpracovávat velká množstí vstupních prvků. Nakonec jsem raději navrhl oba algoritmy jak v jazyce CUDA, tak v OpenCL. První zmíněný přitom využívá pracovních jednotek (vláken) jen v rámci jednoho bloku, kde je možná synchronizace a tedy celou for smyčku (jejíž velikost odpovídá log2(n)) je možné provádět přímo na GPU. Druhý algoritmus přitom neustále spouští nové kernely pro každou fázi výpočtu konkrétně 2 na jednu fázi. Toto spouštění samozřejmě neproběhne hned a má za následek nižší rychlost výpočtu. Krom toho je v každé fázi nutné spustit kernel s jinými parametry (vlastě konkrétně s jedním), nicméně se opět jedná o kopírování, které není moc efektivní. Při porovnávání rychlosti vykazovala tato druhá verze algoritmu při stejném vstupním počtu prvků (N=512) zhruba pětinásobnou časovou náročnost v jazyce CUDA. Samotné počítání s komplexními čísly jsem řešil následovně: ( ) ( ) { } { } Pro indexování jsem nejprve musel ověřit (pro případ, že by bylo spuštěno více vláken, než je vstupních prvků), že dané vlákno skutečně může počítat část FFT. Poté přišla na řadu otázka indexování aktivních vlláken (která jsou v dané fázi výpočtu aktivní). S tím jsem si poradil pomocí funkce modulo. Dá se ověřit, že pokud mám na začátku proměnnou a = 2 a v každém cyklu ji 6

7 vynásobím opět dvojkou, pak je dané vlákno aktivní jestliže platí: (tid % a) >=(a/2). Kde tid je index vlákna. Fáze Aktivní Tid % 2 = 1 Tid % 4 = 2,3 Tid % 8 = vlákna 4,5,6,7 Pro periodu Twiddle faktoru platí, že v každém dalším kroku je dvojnásobná a není tedy třeba ji nějak zvláště přepočítávat. Pokud bychom si navíc nakreslili diagram počítání FFT pro 8 hodnot, je zřejmé, že vstupní hodnoty každého motýlka jsou vzdáleny o a/2. (1,2,4,8...). Nejsložitější bylo pravděpodobně vhodně přeindexovat úhel Twiddle Factoru. Nicméně uvedu na příkladě: Mod Tid = Potřebný index k Z tabulky je patrné, že v první fázi je index vždy 0 (řešeno explicitně pro všechna vlákna). V dalších fázích je však možno k spočítat následovně: k = (tid % (a/2)). Vzhledem k tomu, že zadáním projektu však bylo navrhnout algoritmus v jazyce OpenCL, a nikoliv v jazyce CUDA, nezbývá než uvést na závěr stručný přepis daného algoritmu z CUDA do OpenCl. Jelikož oba jazyky fungují na stejné paralelní platformě, zachová se naprostá většina (asi 90%) kódu, běžícího na GPU - kernelů. V daném případě je rozdíl zřejmě jen v tom, že ve zdrojových souborech kernelů jazyka OpenCl nemohou být komentáře (k velké nelibosti programátora). Naprostá většina změn tedy proběhne v kódu na CPU, kde OpenCl vyžaduje následující postup: 1. Výběr platformy 2. Výběr zařízení 3. Vytvoření kontextu 4. Vytvoření fronty příkazů 5. Vytvoření paměťových zásobníků 6. Načtení všech kernelů 7. Vytvoření programu 8. Kompilace programu 9. Vytvoření objektů všech kernelů 10. Nastavení parametrů kernelů 11. Překopírování dat do zařízení 12. Spuštění kernelu 13. Překopírování výsledků 14. Uvolnění používaných prostředků 7

8 Tato zdlouhavá procedura má za následek špatnou orientaci v kódu (ve kterém naštěstí komentáře být mohou), větší výskyt chyb a samozřejmě několikanásobně delší kód.pro srovnání s jazykem CUDA: 1. Alokování paměti na GPU 2. Kopírování vstupních dat 3. Spuštění kernelu 4. Překopírování výsledků 5. Uvolnění prostředků Což je důvod prvotní implementace algoritmu v jazyce CUDA, kde se rovněž i snáze měří čas potřebný ke spočtení FFT. Má implementovaná verze v OpenCL vybere první dostupnou platformu a první dostupný grafický procesor (ač obecně se dá OpenCl spouštět i na vícejaderném procesoru). Následně si vytvoří paměťové objekty, načte zdrojový kód kernelů (který zároveň i zobrazí), vytvoří a překompiluje program (v případě chyby je uvedena v příkazovém řádku), vytvoří požadované kernely, překopíruje vstupní data a následně spustí kernely, po jejichž ukončení následuje nezbytné překopírování výsledků a uvolnění použitých prostředků. Závěrem práce bych doporučil používat CUDA místo OpenCL. P O U Ž I T Á LI T E R A T U R A: OpenCLProgramming Guide (Aaftab Munshi, Bnedict Gaster,Timothy Mattson, James Fung, Dan Ginsburg) The OpenCl Programming Book (Ryoji Tsuchiyama, Takashi Nakamura, Takuro Iizuka, Akihiro Asahara, Jeongdo Son, Satoshi Miki) Cuda Application Design And Developement (Rob Farber) Cuda By Example An Introduction to General-Purpose GPU Programming (Jason Sanders, Edward Kandrot) nvidia CUDA C Programming Guide 8

Paralelní programování

Paralelní programování Paralelní programování přednáška 5 Michal Krupka 15. března 2011 Michal Krupka (KI UP) Paralelní programování 15. března 2011 1 / 13 Ještě ke kritickým sekcím Použití v praxi obvykle pomocí zámků (locks)

Více

KTE/TEVS - Rychlá Fourierova transformace. Pavel Karban. Katedra teoretické elektrotechniky Fakulta elektrotechnická Západočeská univerzita v Plzni

KTE/TEVS - Rychlá Fourierova transformace. Pavel Karban. Katedra teoretické elektrotechniky Fakulta elektrotechnická Západočeská univerzita v Plzni KTE/TEVS - Rychlá Fourierova transformace Pavel Karban Katedra teoretické elektrotechniky Fakulta elektrotechnická Západočeská univerzita v Plzni 10.11.011 Outline 1 Motivace FT Fourierova transformace

Více

C2115 Praktický úvod do superpočítání

C2115 Praktický úvod do superpočítání C2115 Praktický úvod do superpočítání IX. lekce Petr Kulhánek, Tomáš Bouchal kulhanek@chemi.muni.cz Národní centrum pro výzkum biomolekul, Přírodovědecká fakulta, Masarykova univerzita, Kotlářská 2, CZ-61137

Více

VEKTORY. Obrázek 1: Jediný vektor. Souřadnice vektoru jsou jeho průměty do souřadných os x a y u dvojrozměrného vektoru, AB = B A

VEKTORY. Obrázek 1: Jediný vektor. Souřadnice vektoru jsou jeho průměty do souřadných os x a y u dvojrozměrného vektoru, AB = B A VEKTORY Vektorem se rozumí množina všech orientovaných úseček, které mají stejnou velikost, směr a orientaci, což vidíme na obr. 1. Jedna konkrétní orientovaná úsečka se nazývá umístění vektoru na obr.

Více

Transformace obrazu Josef Pelikán KSVI MFF UK Praha

Transformace obrazu Josef Pelikán KSVI MFF UK Praha Transformace obrazu 99725 Josef Pelikán KSVI MFF UK Praha email: Josef.Pelikan@mff.cuni.cz WWW: http://cgg.ms.mff.cuni.cz/~pepca/ Transformace 2D obrazu dekorelace dat potlačení závislosti jednotlivých

Více

Hardware - komponenty počítačů Von Neumannova koncepce počítače. Von Neumannova koncepce počítače

Hardware - komponenty počítačů Von Neumannova koncepce počítače. Von Neumannova koncepce počítače V roce 1945 vystoupil na přednášce v USA matematik John von Neumann a představil architekturu samočinného univerzálního počítače (von Neumannova koncepce/schéma/architektura). Základy této koncepce se

Více

OPS Paralelní systémy, seznam pojmů, klasifikace

OPS Paralelní systémy, seznam pojmů, klasifikace Moorův zákon (polovina 60. let) : Výpočetní výkon a počet tranzistorů na jeden CPU chip integrovaného obvodu mikroprocesoru se každý jeden až dva roky zdvojnásobí; cena se zmenší na polovinu. Paralelismus

Více

Obecné výpočty na GPU v jazyce CUDA. Jiří Filipovič

Obecné výpočty na GPU v jazyce CUDA. Jiří Filipovič Obecné výpočty na GPU v jazyce CUDA Jiří Filipovič Obsah přednášky motivace architektura GPU CUDA programovací model jaké algoritmy urychlovat na GPU? optimalizace Motivace Moorův zákon stále platí pro

Více

Nvidia CUDA Paralelní programování na GPU

Nvidia CUDA Paralelní programování na GPU Mendelova univerzita v Brně Provozně ekonomická fakulta Nvidia CUDA Paralelní programování na GPU 2014 O čem to bude... Trocha historie Shadery Unifikace GPGPU CUDA Využití GPGPU GPU a jeho Hardware Nvidia

Více

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic Přednáška třetí (a pravděpodobně i čtvrtá) aneb Úvod do lineární algebry Matice a soustavy rovnic Lineární rovnice o 2 neznámých Lineární rovnice o 2 neznámých Lineární rovnice o dvou neznámých x, y je

Více

X37SGS Signály a systémy

X37SGS Signály a systémy X7SGS Signály a systémy Matlab minihelp (poslední změna: 0. září 2008) 1 Základní maticové operace Vytvoření matice (vektoru) a výběr konkrétního prvku matice vytvoření matice (vektoru) oddělovač sloupců

Více

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ 1) PROGRAM, ZDROJOVÝ KÓD, PŘEKLAD PROGRAMU 3 2) HISTORIE TVORBY PROGRAMŮ 3 3) SYNTAXE A SÉMANTIKA 3 4) SPECIFIKACE

Více

Management procesu I Mgr. Josef Horálek

Management procesu I Mgr. Josef Horálek Management procesu I Mgr. Josef Horálek Procesy = Starší počítače umožňovaly spouštět pouze jeden program. Tento program plně využíval OS i všechny systémové zdroje. Současné počítače umožňují běh více

Více

SEMESTRÁLNÍ PRÁCE Z X37SAS Zadání č. 7

SEMESTRÁLNÍ PRÁCE Z X37SAS Zadání č. 7 SEMESTRÁLNÍ PRÁCE Z X37SAS Zadání č. 7 Daniel Tureček St-lichý týden, 9:15 Zadání Určete periodu signálu s(k), určete stejnosměrnou složku, výkon, autokorelační funkci. Záznam signálu je v souboru persig2.

Více

Operační systémy. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit

Operační systémy. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit Jednoduché stránkování Operační systémy Přednáška 8: Správa paměti II Hlavní paměť rozdělená na malé úseky stejné velikosti (např. 4kB) nazývané rámce (frames). Program rozdělen na malé úseky stejné velikosti

Více

0.1 Úvod do lineární algebry

0.1 Úvod do lineární algebry Matematika KMI/PMATE 1 01 Úvod do lineární algebry 011 Vektory Definice 011 Vektorem aritmetického prostorur n budeme rozumět uspořádanou n-tici reálných čísel x 1, x 2,, x n Definice 012 Definice sčítání

Více

Přidělování CPU Mgr. Josef Horálek

Přidělování CPU Mgr. Josef Horálek Přidělování CPU Mgr. Josef Horálek Přidělování CPU = Přidělování CPU je základ multiprogramového OS = pomocí přidělování CPU různým procesům OS zvyšuje výkon výpočetního systému; = Základní myšlenka multiprogramování

Více

1 Základní funkce pro zpracování obrazových dat

1 Základní funkce pro zpracování obrazových dat 1 Základní funkce pro zpracování obrazových dat 1.1 Teoretický rozbor 1.1.1 Úvod do zpracování obrazu v MATLABu MATLAB je primárně určen pro zpracování a analýzu numerických dat. Pro analýzu obrazových

Více

Přednáška. Správa paměti II. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Přednáška. Správa paměti II. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Přednáška Správa paměti II. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Příprava studijního programu Informatika je podporována projektem financovaným z Evropského

Více

[1] samoopravné kódy: terminologie, princip

[1] samoopravné kódy: terminologie, princip [1] Úvod do kódování samoopravné kódy: terminologie, princip blokové lineární kódy Hammingův kód Samoopravné kódy, k čemu to je [2] Data jsou uložena (nebo posílána do linky) kodérem podle určitého pravidla

Více

Real Time programování v LabView. Ing. Martin Bušek, Ph.D.

Real Time programování v LabView. Ing. Martin Bušek, Ph.D. Real Time programování v LabView Ing. Martin Bušek, Ph.D. Úvod - související komponenty LabVIEW development Konkrétní RT hardware - cíl Použití LabVIEW RT module - Pharlap ETS, RTX, VxWorks Možnost užití

Více

Pokročilé architektury počítačů

Pokročilé architektury počítačů Pokročilé architektury počítačů Tutoriál 3 CUDA - GPU Martin Milata Výpočetní model CUDA Organizace kódu Sériově organizovaný kód určený pro CPU Paralelní kód prováděný na GPU Označuje se jako kernel GPU

Více

SIGNÁLY A LINEÁRNÍ SYSTÉMY

SIGNÁLY A LINEÁRNÍ SYSTÉMY SIGNÁLY A LINEÁRNÍ SYSTÉMY prof. Ing. Jiří Holčík, CSc. holcik@iba.muni.cziba.muni.cz II. SIGNÁLY ZÁKLADNÍ POJMY SIGNÁL - DEFINICE SIGNÁL - DEFINICE Signál je jev fyzikální, chemické, biologické, ekonomické

Více

Procesy a vlákna (Processes and Threads)

Procesy a vlákna (Processes and Threads) ÚVOD DO OPERAČNÍCH SYSTÉMŮ Ver.1.00 Procesy a vlákna (Processes and Threads) Správa procesů a vláken České vysoké učení technické Fakulta elektrotechnická 2012 Použitá literatura [1] Stallings, W.: Operating

Více

2. úkol MI-PAA. Jan Jůna (junajan) 3.11.2013

2. úkol MI-PAA. Jan Jůna (junajan) 3.11.2013 2. úkol MI-PAA Jan Jůna (junajan) 3.11.2013 Specifikaci úlohy Problém batohu je jedním z nejjednodušších NP-těžkých problémů. V literatuře najdeme množství jeho variant, které mají obecně různé nároky

Více

Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy

Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy Lukáš Havrlant Univerzita Palackého 10. ledna 2014 Primární zdroj Jiří Adámek: Foundations of Coding. Strany 137 160. Na webu ke stažení, heslo:

Více

Jasové transformace. Karel Horák. Rozvrh přednášky:

Jasové transformace. Karel Horák. Rozvrh přednášky: 1 / 23 Jasové transformace Karel Horák Rozvrh přednášky: 1. Úvod. 2. Histogram obrazu. 3. Globální jasová transformace. 4. Lokální jasová transformace. 5. Bodová jasová transformace. 2 / 23 Jasové transformace

Více

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty Data v počítači Informační data (elementární datové typy) Logické hodnoty Znaky Čísla v pevné řádové čárce (celá čísla) v pohyblivé (plovoucí) řád. čárce (reálná čísla) Povelová data (instrukce programu)

Více

Jako pomůcka jsou v pravém dolním rohu vypsány binární kódy čísel od 0 do 15 a binární kódy příkazů, které máme dispozici (obr.21). Obr.

Jako pomůcka jsou v pravém dolním rohu vypsány binární kódy čísel od 0 do 15 a binární kódy příkazů, které máme dispozici (obr.21). Obr. Model procesoru Jedná se o blokové schéma složené z registrů, paměti RAM, programového čítače, instrukčního registru, sčítačky a řídicí jednotky, které jsou propojeny sběrnicemi. Tento model má dva stavy:

Více

Co je grafický akcelerátor

Co je grafický akcelerátor Co je grafický akcelerátor jednotka v osobním počítači či herní konzoli přebírá funkce hlavního procesoru pro grafické operace graphics renderer odlehčuje hlavnímu procesoru paralelní zpracování vybaven

Více

Základní principy konstrukce systémové sběrnice - shrnutí. Shrnout základní principy konstrukce a fungování systémových sběrnic.

Základní principy konstrukce systémové sběrnice - shrnutí. Shrnout základní principy konstrukce a fungování systémových sběrnic. Základní principy konstrukce systémové sběrnice - shrnutí Shrnout základní principy konstrukce a fungování systémových sběrnic. 1 Co je to systémová sběrnice? Systémová sběrnice je prostředek sloužící

Více

Semestrální práce z předmětu Speciální číslicové systémy X31SCS

Semestrální práce z předmětu Speciální číslicové systémy X31SCS Semestrální práce z předmětu Speciální číslicové systémy X31SCS Katedra obvodů DSP16411 ZPRACOVAL: Roman Holubec Školní rok: 2006/2007 Úvod DSP16411 patří do rodiny DSP16411 rozšiřuje DSP16410 o vyšší

Více

Úvod do zpracování signálů

Úvod do zpracování signálů 1 / 25 Úvod do zpracování signálů Karel Horák Rozvrh přednášky: 1. Spojitý a diskrétní signál. 2. Spektrum signálu. 3. Vzorkovací věta. 4. Konvoluce signálů. 5. Korelace signálů. 2 / 25 Úvod do zpracování

Více

Architektura počítačů

Architektura počítačů Architektura počítačů Studijní materiál pro předmět Architektury počítačů Ing. Petr Olivka katedra informatiky FEI VŠB-TU Ostrava email: petr.olivka@vsb.cz Ostrava, 2010 1 1 Architektura počítačů Pojem

Více

Osobní počítač. Zpracoval: ict Aktualizace: 10. 11. 2011

Osobní počítač. Zpracoval: ict Aktualizace: 10. 11. 2011 Osobní počítač Zpracoval: ict Aktualizace: 10. 11. 2011 Charakteristika PC Osobní počítač (personal computer - PC) je nástroj člověka pro zpracovávání informací Vyznačuje se schopností samostatně pracovat

Více

Přehled paralelních architektur. Dělení paralelních architektur Flynnova taxonomie Komunikační modely paralelních architektur

Přehled paralelních architektur. Dělení paralelních architektur Flynnova taxonomie Komunikační modely paralelních architektur Přehled paralelních architektur Přehled paralelních architektur Dělení paralelních architektur Flynnova taxonomie Komunikační modely paralelních architektur Přehled I. paralelní počítače se konstruují

Více

Unity a Objekty (NMIN102) RNDr. Michal Žemlička, Ph.D.

Unity a Objekty (NMIN102) RNDr. Michal Žemlička, Ph.D. Unity a Objekty Programování 2 (NMIN102) RNDr. Michal Žemlička, Ph.D. Větší programy Časté problémy: Ve více programech by se nám hodilo využít stejné řešení nějakého podproblému dalo by se vyřešit překopírováním

Více

" Furierova transformace"

 Furierova transformace UNIVERZITA JANA EVANGELISTY PURKYNĚ V ÚSTÍ NAD LABEM FAKULTA ŽIVOTNÍHO PROSTŘEDÍ " Furierova transformace" Seminární práce z předmětu Dálkový průzkum Země Marcela Bartošová, Veronika Bláhová OŽP, 3.ročník

Více

Operační systémy 2: Zápočtové úkoly

Operační systémy 2: Zápočtové úkoly Operační systémy 2: Zápočtové úkoly 18. listopad 2010 1 Paralelní Mergesort Implementujte paralelní verzi algoritmu Merge sort, který bude řadit celá čísla uložená v textovém souboru. Program bude mít

Více

0.1 Úvod do lineární algebry

0.1 Úvod do lineární algebry Matematika KMI/PMATE 1 01 Úvod do lineární algebry 011 Lineární rovnice o 2 neznámých Definice 011 Lineární rovnice o dvou neznámých x, y je rovnice, která může být vyjádřena ve tvaru ax + by = c, kde

Více

INFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE

INFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE Název školy: Střední odborná škola stavební Karlovy Vary Sabinovo náměstí 16, 360 09 Karlovy Vary Autor: Ing. Hana Šmídová Název materiálu: VY_32_INOVACE_13_HARDWARE_S1 Číslo projektu: CZ 1.07/1.5.00/34.1077

Více

Profilová část maturitní zkoušky 2013/2014

Profilová část maturitní zkoušky 2013/2014 Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2013/2014 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA

Více

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Registrační číslo projektu Šablona Autor Název materiálu CZ.1.07/1.5.00/34.0951 III/2 INOVACE A ZKVALITNĚNÍ VÝUKY PROSTŘEDNICTVÍM ICT Mgr. Petr

Více

Pointery II. Jan Hnilica Počítačové modelování 17

Pointery II. Jan Hnilica Počítačové modelování 17 Pointery II 1 Pointery a pole Dosavadní způsob práce s poli zahrnoval: definici pole jakožto kolekce proměnných (prvků) jednoho typu, umístěných v paměti za sebou int pole[10]; práci s jednotlivými prvky

Více

SIGNÁLY A LINEÁRNÍ SYSTÉMY

SIGNÁLY A LINEÁRNÍ SYSTÉMY SIGNÁLY A LINEÁRNÍ SYSTÉMY prof. Ing. Jiří Holčík, CSc. holcik@iba.muni.cz II. SIGNÁLY ZÁKLADNÍ POJMY SIGNÁL - DEFINICE SIGNÁL - DEFINICE Signál je jev fyzikální, chemické, biologické, ekonomické či jiné

Více

II. Úlohy na vložené cykly a podprogramy

II. Úlohy na vložené cykly a podprogramy II. Úlohy na vložené cykly a podprogramy Společné zadání pro příklady 1. - 10. začíná jednou ze dvou možností popisu vstupních dat. Je dána posloupnost (neboli řada) N reálných (resp. celočíselných) hodnot.

Více

STRUKTURA RASTROVÝCH DAT

STRUKTURA RASTROVÝCH DAT STRUKTURA RASTROVÝCH DAT dva typy rastrové vrstvy v GIS 1) Digitální obraz TV, počítač, mobil - obrazovka obraz z bodů mapa - mřížka s barevnými plochami 2) Rastrová data data pro analýzu a) binární -

Více

Architektura počítače

Architektura počítače Architektura počítače Výpočetní systém HIERARCHICKÁ STRUKTURA Úroveň aplikačních programů Úroveň obecných funkčních programů Úroveň vyšších programovacích jazyků a prostředí Úroveň základních programovacích

Více

SUPERPOČÍTAČE DANIEL LANGR ČVUT FIT / VZLÚ

SUPERPOČÍTAČE DANIEL LANGR ČVUT FIT / VZLÚ SUPERPOČÍTAČE DANIEL LANGR ČVUT FIT / VZLÚ TITAN / HOPPER / NOTEBOOK TITAN HOPPER NOTEBOOK Počet CPU jader 299 008 153 216 2 Operační paměť [GB] 598 016 217 000 8 Počet GPU (CUDA) jader 50 233 344 0 8

Více

Paralelní výpočty ve finančnictví

Paralelní výpočty ve finančnictví Paralelní výpočty ve finančnictví Jan Houška HUMUSOFT s.r.o. houska@humusoft.cz Výpočetně náročné úlohy distribuované úlohy mnoho relativně nezávislých úloh snížení zatížení klientské pracovní stanice

Více

Způsoby realizace této funkce:

Způsoby realizace této funkce: KOMBINAČNÍ LOGICKÉ OBVODY U těchto obvodů je výstup určen jen výhradně kombinací vstupních veličin. Hodnoty výstupních veličin nezávisejí na předcházejícím stavu logického obvodu, což znamená, že kombinační

Více

Test prvočíselnosti. Úkol: otestovat dané číslo N, zda je prvočíslem

Test prvočíselnosti. Úkol: otestovat dané číslo N, zda je prvočíslem Test prvočíselnosti Úkol: otestovat dané číslo N, zda je prvočíslem 1. zkusit všechny dělitele od 2 do N-1 časová složitost O(N) cca N testů 2. stačí zkoušet všechny dělitele od 2 do N/2 (větší dělitel

Více

Obsah. Kapitola 1 Hardware, procesory a vlákna Prohlídka útrob počítače...20 Motivace pro vícejádrové procesory...21

Obsah. Kapitola 1 Hardware, procesory a vlákna Prohlídka útrob počítače...20 Motivace pro vícejádrové procesory...21 Stručný obsah 1. Hardware, procesory a vlákna... 19 2. Programování s ohledemna výkon... 45 3. Identifikování příležitostí pro paralelizmus... 93 4. Synchronizace a sdílení dat... 123 5. Vlákna v rozhraní

Více

Limita funkce. FIT ČVUT v Praze. (FIT) Limita funkce 3.týden 1 / 39

Limita funkce. FIT ČVUT v Praze. (FIT) Limita funkce 3.týden 1 / 39 Limita funkce FIT ČVUT v Praze 3.týden (FIT) Limita funkce 3.týden 1 / 39 Definice funkce. Zobrazení (f, D f ), jehož definiční obor D f i obor hodnot H f je podmnožinou množiny reálných čísel, se nazývá

Více

Základní komunikační operace

Základní komunikační operace Základní komunikační operace Úvod Operace send a recieve Blokující a neblokující posílání zpráv Blokující posílání zpráv Neblokující posílání zpráv One-to-all broadcast/all-to-one reduction All-to-all

Více

Princip funkce počítače

Princip funkce počítače Princip funkce počítače Princip funkce počítače prvotní úlohou počítačů bylo zrychlit provádění matematických výpočtů první počítače kopírovaly obvyklý postup manuálního provádění výpočtů pokyny pro zpracování

Více

Architektura Intel Atom

Architektura Intel Atom Architektura Intel Atom Štěpán Sojka 5. prosince 2008 1 Úvod Hlavní rysem Atomu je podpora platformy x86, která umožňuje spouštět a běžně používat řadu let vyvíjené aplikace, na které jsou uživatelé zvyklí

Více

11. Logické analyzátory. 12. Metodika měření s logickým analyzátorem

11. Logické analyzátory. 12. Metodika měření s logickým analyzátorem +P12 11. Logické analyzátory Základní srovnání logického analyzátoru a číslicového osciloskopu Logický analyzátor blokové schéma, princip funkce Časová analýza, glitch mód a transitional timing, chyba

Více

Matice přechodu. Pozorování 2. Základní úkol: Určete matici přechodu od báze M k bázi N. Každou bázi napíšeme do sloupců matice, např.

Matice přechodu. Pozorování 2. Základní úkol: Určete matici přechodu od báze M k bázi N. Každou bázi napíšeme do sloupců matice, např. Matice přechodu Základní úkol: Určete matici přechodu od báze M k bázi N. Každou bázi napíšeme do sloupců matice, např. u příkladu 7 (v ) dostaneme: Nyní bychom mohli postupovat jako u matice homomorfismu

Více

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace Vektory a matice Aplikovaná matematika I Dana Říhová Mendelu Brno Obsah 1 Vektory Základní pojmy a operace Lineární závislost a nezávislost vektorů 2 Matice Základní pojmy, druhy matic Operace s maticemi

Více

Projektč.3dopředmětuIZP. Maticové operace

Projektč.3dopředmětuIZP. Maticové operace Projektč.3dopředmětuIZP Maticové operace 17. prosince 2006 Kamil Dudka, xdudka00@stud.fit.vutbr.cz Fakulta informačních technologií Vysoké Učení Technické v Brně Obsah 1 Úvod 1 2 Analýza problému 1 2.1

Více

Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací.

Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací. Trochu teorie Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací. Každá spuštěná aplikace má alespoň jeden proces

Více

Paralelní a distribuované výpočty (B4B36PDV)

Paralelní a distribuované výpočty (B4B36PDV) Paralelní a distribuované výpočty (B4B36PDV) Branislav Bošanský, Michal Jakob bosansky@fel.cvut.cz Artificial Intelligence Center Department of Computer Science Faculty of Electrical Engineering Czech

Více

1 Linearní prostory nad komplexními čísly

1 Linearní prostory nad komplexními čísly 1 Linearní prostory nad komplexními čísly V této přednášce budeme hledat kořeny polynomů, které se dále budou moci vyskytovat jako složky vektorů nebo matic Vzhledem k tomu, že kořeny polynomu (i reálného)

Více

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ M. Sysel, I. Pomykacz Univerzita Tomáše Bati ve Zlíně, Fakulta aplikované informatiky Nad Stráněmi 4511, 760 05 Zlín, Česká republika

Více

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru: 3 Maticový počet 3.1 Zavedení pojmu matice Maticí typu (m, n, kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru: a 11 a 12... a 1k... a 1n a 21 a 22...

Více

Úvod do lineární algebry

Úvod do lineární algebry Úvod do lineární algebry 1 Aritmetické vektory Definice 11 Mějme n N a utvořme kartézský součin R n R R R Každou uspořádanou n tici x 1 x 2 x, x n budeme nazývat n rozměrným aritmetickým vektorem Prvky

Více

PROCESOR. Typy procesorů

PROCESOR. Typy procesorů PROCESOR Procesor je ústřední výkonnou jednotkou počítače, která čte z paměti instrukce a na jejich základě vykonává program. Primárním úkolem procesoru je řídit činnost ostatních částí počítače včetně

Více

základní vlastnosti, používané struktury návrhové prostředky MATLAB problém kvantování koeficientů

základní vlastnosti, používané struktury návrhové prostředky MATLAB problém kvantování koeficientů A0M38SPP - Signálové procesory v praxi - přednáška 4 2 Číslicové filtry typu FIR a IIR definice operace filtrace základní rozdělení FIR, IIR základní vlastnosti, používané struktury filtrů návrhové prostředky

Více

1 Projekce a projektory

1 Projekce a projektory Cvičení 3 - zadání a řešení úloh Základy numerické matematiky - NMNM20 Verze z 5. října 208 Projekce a projektory Opakování ortogonální projekce Definice (Ortogonální projekce). Uvažujme V vektorový prostor

Více

Kurz LSL skriptování. Shiny Iceberg 2009

Kurz LSL skriptování. Shiny Iceberg 2009 Kurz LSL skriptování Shiny Iceberg 2009 2 2 Kurz LSL skriptování Shiny Iceberg v Second Life od roku 2006 shiny.iceberg@virtualmagazine.cz Aktuální projekty virtualmagazine.cz Urbanica, Shinyland Bwindi

Více

31SCS Speciální číslicové systémy Antialiasing

31SCS Speciální číslicové systémy Antialiasing ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE 2006/2007 31SCS Speciální číslicové systémy Antialiasing Vypracoval: Ivo Vágner Email: Vagnei1@seznam.cz 1/7 Převod analogového signálu na digitální Složité operace,

Více

Přidělování zdrojů (prostředků)

Přidělování zdrojů (prostředků) Přidělování zdrojů (prostředků) Proces potřebuje zdroje (prostředky) hardware (I/O zařízení, paměť) software (data, programy) Klasifikace zdrojů (z hlediska multitaskingového režimu) Násobně použitelné

Více

Systém adresace paměti

Systém adresace paměti Systém adresace paměti Základní pojmy Adresa fyzická - adresa, která je přenesena na adresní sběrnici a fyzicky adresuje hlavní paměť logická - adresa, kterou má k dispozici proces k adresaci přiděleného

Více

Matice. a m1 a m2... a mn

Matice. a m1 a m2... a mn Matice Nechť (R, +, ) je okruh a nechť m, n jsou přirozená čísla Matice typu m/n nad okruhem (R, +, ) vznikne, když libovolných m n prvků z R naskládáme do obdélníkového schematu o m řádcích a n sloupcích

Více

FOURIEROVA ANAL YZA 2D TER ENN ICH DAT Karel Segeth

FOURIEROVA ANAL YZA 2D TER ENN ICH DAT Karel Segeth FOURIEROVA ANALÝZA 2D TERÉNNÍCH DAT Karel Segeth Motto: The faster the computer, the more important the speed of algorithms. přírodní jev fyzikální model matematický model numerický model řešení numerického

Více

Čísla, reprezentace, zjednodušené výpočty

Čísla, reprezentace, zjednodušené výpočty Čísla, reprezentace, zjednodušené výpočty Přednáška 4 A3B38MMP kat. měření, ČVUT - FEL, Praha J. Fischer A3B38MMP, 2014, J.Fischer, ČVUT - FEL, kat. měření 1 Čísla 4 bitová dec bin. hex. 0 0000 0 1 0001

Více

Funkce a lineární funkce pro studijní obory

Funkce a lineární funkce pro studijní obory Variace 1 Funkce a lineární funkce pro studijní obory Autor: Mgr. Jaromír JUŘEK Kopírování a jakékoliv další využití výukového materiálu je povoleno pouze s uvedením odkazu na www.jarjurek.cz. 1. Funkce

Více

Bootkity v teorii a praxi. Martin Dráb martin.drab@email.cz Http://www.jadro-windows.cz

Bootkity v teorii a praxi. Martin Dráb martin.drab@email.cz Http://www.jadro-windows.cz Bootkity v teorii a praxi Martin Dráb martin.drab@email.cz Http://www.jadro-windows.cz Definice Pod pojmem bootkit budeme rozumět software, který začíná být aktivní během procesu startu počítače ještě

Více

označme j = (0, 1) a nazvěme tuto dvojici imaginární jednotkou. Potom libovolnou (x, y) = (x, 0) + (0, y) = (x, 0) + (0, 1)(y, 0) = x + jy,

označme j = (0, 1) a nazvěme tuto dvojici imaginární jednotkou. Potom libovolnou (x, y) = (x, 0) + (0, y) = (x, 0) + (0, 1)(y, 0) = x + jy, Komplexní čísla Množinu všech uspořádaných dvojic (x, y) reálných čísel x, y nazýváme množinou komplexních čísel C, jestliže pro každé dvě takové dvojice (x, y ), (x 2, y 2 ) je definována rovnost, sčítání

Více

Matematika I (KMI/PMATE)

Matematika I (KMI/PMATE) Přednáška první aneb Úvod do matematické analýzy Funkce a její vlastnosti Úvod do matematické analýzy Osnova přednášky pojem funkce definice funkce graf funkce definiční obor funkce obor hodnot funkce

Více

Zpracování obrazu v FPGA. Leoš Maršálek ATEsystem s.r.o.

Zpracování obrazu v FPGA. Leoš Maršálek ATEsystem s.r.o. Zpracování obrazu v FPGA Leoš Maršálek ATEsystem s.r.o. Základní pojmy PROCESOROVÉ ČIPY Křemíkový čip zpracovávající obecné instrukce Různé architektury, pracují s různými paměti Výkon instrukcí je závislý

Více

Profilová část maturitní zkoušky 2017/2018

Profilová část maturitní zkoušky 2017/2018 Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2017/2018 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA

Více

Poznámka. V některých literaturách se pro označení vektoru také používá symbolu u.

Poznámka. V některých literaturách se pro označení vektoru také používá symbolu u. Vektory, operace s vektory Ž3 Orientovaná úsečka Mějme dvojici bodů, (na přímce, v rovině nebo prostoru), které spojíme a vznikne tak úsečka. Pokud budeme rozlišovat, zda je spojíme od k nebo od k, říkáme,

Více

VISUAL BASIC. Přehled témat

VISUAL BASIC. Přehled témat VISUAL BASIC Přehled témat 1 ÚVOD DO PROGRAMOVÁNÍ Co je to program? Kuchařský předpis, scénář k filmu,... Program posloupnost instrukcí Běh programu: postupné plnění instrukcí zpracovávání vstupních dat

Více

Lekce 01 Úvod do algoritmizace

Lekce 01 Úvod do algoritmizace Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů Lekce 01 Úvod do algoritmizace Tento projekt CZ.1.07/1.3.12/04.0006 je spolufinancován Evropským sociálním

Více

Disková pole (RAID) 1

Disková pole (RAID) 1 Disková pole (RAID) 1 Architektury RAID Důvod zavedení RAID: reakce na zvyšující se rychlost procesoru. Pozice diskové paměti v klasickém personálním počítači vyhovuje pro aplikace s jedním uživatelem.

Více

Česká letecká servisní a. s.

Česká letecká servisní a. s. Česká letecká servisní a. s. 1/20 Česká letecká servisní a. s. Your integrator of the avionics Česká letecká servisní a. s. Česká letecká servisní a. s. 2/20 Úvod do problematiky synchronizace tasků O

Více

09. Memory management. ZOS 2006, L.Pešička

09. Memory management. ZOS 2006, L.Pešička 09. Memory management ZOS 2006, L.Pešička Správa paměti paměťová pyramida absolutní adresa relativní adresa počet bytů od absolutní adresy fyzický prostor adres fyzicky k dispozici výpočetnímu systému

Více

PB002 Základy informačních technologií

PB002 Základy informačních technologií Operační systémy 25. září 2012 Struktura přednašky 1 Číselné soustavy 2 Reprezentace čísel 3 Operační systémy historie 4 OS - základní složky 5 Procesy Číselné soustavy 1 Dle základu: dvojková, osmičková,

Více

Paralelní programování

Paralelní programování Paralelní programování přednášky Jan Outrata únor duben 2011 Jan Outrata (KI UP) Paralelní programování únor duben 2011 1 / 14 Atomické akce dále nedělitelná = neproložitelná jiným procesem izolovaná =

Více

Matematika (KMI/PMATE)

Matematika (KMI/PMATE) Úvod do matematické analýzy Funkce a její vlastnosti Funkce a její vlastnosti Veličina Veličina - pojem, který popisuje kvantitativní (číselné) vlastnosti reálných i abstraktních objektů. Funkce a její

Více

Iterační výpočty Projekt č. 2

Iterační výpočty Projekt č. 2 Dokumentace k projektu pro předměty IUS & IZP Iterační výpočty Projekt č. 2 Autor: Jan Kaláb (xkalab00@stud.fit.vutbr.cz) Úvod Úkolem bylo napsat v jazyce C program sloužící k výpočtům matematických funkcí

Více

Funkce komplexní proměnné a integrální transformace

Funkce komplexní proměnné a integrální transformace Funkce komplexní proměnné a integrální transformace Fourierovy řady I. Marek Lampart Text byl vytvořen v rámci realizace projektu Matematika pro inženýry 21. století (reg. č. CZ.1.07/2.2.00/07.0332), na

Více

2 Postup při programování, úvod do programovacího jazyka Java

2 Postup při programování, úvod do programovacího jazyka Java 2 Postup při programování, úvod do programovacího jazyka Java Studijní cíl V tomto bloku bude věnována pozornost správnému postupu při programování, budou detailně vysvětleny jednotlivé etapy programování

Více

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické Jak v Javě primitivní datové typy a jejich reprezentace BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické Obsah Celočíselný datový typ Reálný datový typ Logický datový typ, typ Boolean

Více

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem.

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem. Algoritmus Algoritmus je schematický postup pro řešení určitého druhu problémů, který je prováděn pomocí konečného množství přesně definovaných kroků. nebo Algoritmus lze definovat jako jednoznačně určenou

Více

PROGRAMY PRO GIS. Formovat/formulovat problém pro aplikaci v počítači. Fungování GIS programů na základní úrovni - "uvažovat" jako počítač

PROGRAMY PRO GIS. Formovat/formulovat problém pro aplikaci v počítači. Fungování GIS programů na základní úrovni - uvažovat jako počítač PROGRAMY PRO GIS Formovat/formulovat problém pro aplikaci v počítači Fungování GIS programů na základní úrovni - "uvažovat" jako počítač Jak počítače řeší problémy procesor central processing unit - CPU

Více

1/1 ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE PROVOZNĚ EKONOMICKÁ FAKULTA PŘIJÍMACÍ ŘÍZENÍ 2017/2018

1/1 ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE PROVOZNĚ EKONOMICKÁ FAKULTA PŘIJÍMACÍ ŘÍZENÍ 2017/2018 ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE PROVOZNĚ EKONOMICKÁ FAKULTA PŘIJÍMACÍ ŘÍZENÍ 2017/2018 Informační technologie 1 - Doporučená doba zpracování: 40 minut 1) Termín DCL v relačně databázové technologii

Více

VÝVOJ ŘÍDICÍCH ALGORITMŮ HYDRAULICKÝCH POHONŮ S VYUŽITÍM SIGNÁLOVÉHO PROCESORU DSPACE

VÝVOJ ŘÍDICÍCH ALGORITMŮ HYDRAULICKÝCH POHONŮ S VYUŽITÍM SIGNÁLOVÉHO PROCESORU DSPACE VÝVOJ ŘÍDICÍCH ALGORITMŮ HYDRAULICKÝCH POHONŮ S VYUŽITÍM SIGNÁLOVÉHO PROCESORU DSPACE Přednáška na semináři CAHP v Praze 4.9.2013 Prof. Ing. Petr Noskievič, CSc. Ing. Miroslav Mahdal, Ph.D. Katedra automatizační

Více