DIPLOMOVÁ PRÁCA. Technická univerzita v Košiciach Fakulta elektrotechniky a informatiky Katedra elektroniky a multimediálnych telekomunikácií

Veľkosť: px
Začať zobrazovať zo stránky:

Download "DIPLOMOVÁ PRÁCA. Technická univerzita v Košiciach Fakulta elektrotechniky a informatiky Katedra elektroniky a multimediálnych telekomunikácií"

Prepis

1 Technická univerzita v Košiciach Fakulta elektrotechniky a informatiky Katedra elektroniky a multimediálnych telekomunikácií DIPLOMOVÁ PRÁCA Využitie SIMD a VLIW architektúry signálových procesorov Analog Devices v kryptografických algoritmoch SHA-384, SHA-512 a expanzii kľúča AES-Rijndael Košice, máj 2003 Anton Karabinoš

2 Čestné prehlásenie Prehlasujem, že som diplomovú prácu vypracoval samostatne s využitím uvedenej odbornej literatúry. V Košiciach, máj vlastnoručný podpis

3 Abstrakt Prezentovaná diplomová práca sa zaoberá využitím SIMD a VLIW architektúry signálových procesorov Analog Devices v kryptografických algoritmoch SHA- 384, SHA-512 a expanzii kľúča AES-Rijndael. Celý prístup bol postavený na predpoklade optimalizovať navrhnutú implementáciu z hľadiska rýchlosti a požiadavkov na pamäť. Hlavným prínosom tejto práce je ponuka metód pre implementáciu spomínaných kryptografických algoritmov na DSP. Spomínané metódy môžu nájsť uplatnenie v oblasti ďalšej implementácie programov pre ochranu dát na DSP. Abstract Presented thesis deals with the application of SIMD and VLIW architectures of Analog Devices DSP in SHA-384, SHA-512 and AES-Rijndael key-expansion cryptographic algorithms. Our approach is based on an assumption to optimise designed implementation from sight of speed and memory requirement. The main contribution of this thesis is the proposal of methods for implementation mentioned cryptographic algorithm on DSP. The mentioned above methods are can be useful for other implementation of programs in area of data protection on DSP.

4 Poďakovanie Týmto sa chcem poďakovať predovšetkým vedúcemu diplomovej práce Doc. Ing. M. Drutarovskému, CSc., ale i všetkým ostatným, za ich cenné rady a pripomienky, ktoré mi pomohli pri vypracovávaní tejto diplomovej práce. Vyjadrujem vďaku a uznanie svojim rodičom za podporu počas celého štúdia na Fakulte elektrotechniky a informatiky Technickej univerzity v Košiciach..

5 Zoznam skratiek AES Advanced Encryption Standard šifrovací štandard, nástupca šifrovacieho algoritmu DES. ALU Arithmetic Logic Unit aritmeticko-logická jednotka. Táto časť výpočtovej jednotky vykonáva aritmetické a logické operácie na vstupných dátach. DES Data Encryption Standard šifrovací algoritmus, predchodca AES. DMA Direct Memory Access mód s priamym prístupom do pamäte, bez účasti procesora. GF2 8 Galois Field galoisove pole s 256 prvkami. IALU Integer Arithmetic Logic Unit celočíselná aritmeticko-logická jednotka. Long Word operand o dĺžke 64-bitov, tvoria ho dve 32-bitové operandy. NIST National Institute of Standards and Technology Národný ústav pre štandardizáciu a technológie. PEx Processing Element x primárna výpočtová jednotka procesora. PEy Processing Element y sekundárna výpočtová jednotka procesora. Quad Word operand o dĺžke 128-bitov, tvoria ho štyri 32-bitové operandy. RISC Reduced Instruction Set Computer procesor s redukovanou inštrukčnou sadou. SHARC Super Harvard Architecture super harvardská architektúra procesora. SIMD Single Instruction Multiple Data režim procesora, keď sa v oboch jeho výpočtových jednotkách vykonáva rovnaká inštrukcia, ale nad rôznymi vstupnými dátami. SISD Single Instruction Single Data režim procesora, keď sa inštrukcia vykonáva iba v jednej výpočtovej jednotke procesora. SHA Secure Hash Algorithm algoritmus pre výpočet odtlačku správy. VLIW Very Long Instruction Word typ architektúry procesora umožňujúci paralelný výkon viacerých inštrukcií v jednom takte procesora.

6 Obsah 1. Úvod Opis procesora ADSP TS101 TigerSHARC Technické prostriedky procesora Súbor registrov ALU Aritmeticko-logická jednotka Násobička Multiplier Posúvač Shifter Celočíselné ALU Integer ALU - IALU Branch Target Buffer BTB Programové prostriedky procesora Typ prístupov k dátam Výkon inštrukcií Predávanie parametrov medzi kódom v jazyku C a asemblérom Koncepcia písania knižníc Vývojové prostredie Hashovacie algoritmy SHA SHA Implementácia SHA-512 a SHA-384 na procesore ADSP Opis knižnice sha.dlb na procesore ADSP SHARC Implementácia SHA-512 a SHA-384 na procesore ADSP TS Opis knižnice sha.dlb na procesore ADSP TS Zhodnotenie implementácie SHA-384 a SHA Testovanie správnosti implementácie Expanzia kľúča v algoritme AES-Rijndael Implementácia expanzie kľúča na procesore ADSP Opis knižnice key_exp.dlb na procesore ADSP Implementácia expanzie kľúča na procesore ADSP TS Opis knižnice key_exp.dlb na procesore ADSP TS Zhodnotenie implementácie expanzie kľúča pre AES-Rijndael Testovanie správnosti implementácie Záver Zoznam použitej literatúry Zoznam príloh Zoznam obrázkov a tabuliek...46

7 FEI TU v Košiciach Diplomová práca Strana 1 1. Úvod V súčasnosti preniká využitie výpočtovej techniky do všetkých oblastí života človeka. Internet a počítačové siete, ponúkajú veľké možnosti ich využitia, no aj zneužitia. Do popredia sa tak dostáva problém ochrany informácii pred ich zneužitím, a to aby sa k týmto informáciám dostal len oprávnený používateľ. V tejto oblasti nachádzajú uplatnenie hashovacie algoritmy Secure Hash Algorithm, ktorých úlohou je zaručiť, že prijatá informácia nebola počas prenosu pozmenená. Slúži nato výpočet tzv. odtlačku správy message digest. V oblasti utajenia prenášaných dát je významným predstaviteľom kryptografický algoritmus AES Advanced Encryption Standard, ktorý je nástupcom algoritmu DES Data Encryption Standard. Keďže parametre algoritmu DES napr. dĺžka kľúča už nepostačovali pre spoľahlivé utajenie obsahu šifrovaného textu a vzhľadom na vysoký nárast výpočtovej výkonnosti počítačov, bola národným ústavom pre štandardizáciu a technológie NIST-National Institute of Standards and Technology vyhlásená súťaž, ktorej cieľom bolo nájsť nástupcu algoritmu DES. Výhercom bol algoritmus Rijndael a teda sa stal základom pre algoritmus AES. Cieľom diplomovej práce je overiť možnosti využitia SIMD a VLIW architektúry digitálnych signálových procesorov ADSP SHARC a ADSP TS101 TigerSHARC pri implementácii algoritmov SHA-384, SHA-512 a expanzii kľúča v algoritme AES Rijndael. Pri implementácii bude kladený dôraz na čo najväčšie využitie výpočtového výkonu procesora a na čo najmenšie nároky navrhnutých knižničných funkcií na pamäť procesora. Výsledné knižnice budú taktiež obsahovať funkcie pre výpočet algoritmov SHA-1, SHA-256 a funkcie pre šifrovanie a dešifrovanie v algoritme AES-Rijndael. Návrh týchto funkcií je cieľom inej diplomovej práce [4]. V úvodnej časti diplomovej práce budú stručne opísané technické a programové prostriedky procesora ADSP TS101 TigerSHARC. Opis procesora ADSP SHARC je možné nájsť v [4]. Nasledujúca časť diplomovej práce je venovaná stručnému vysvetleniu činnosti implementovaných algoritmov spolu s popisom implementácie týchto algoritmov na oboch typoch procesorov. V diplomovej práci sú taktiež opísané dosiahnuté výsledky implementácie šifrovacích algoritmov na danom procesore, ako je výkon a pamäťové nároky navrhnutých knižničných funkcií. Dosiahnuté výsledky, ako aj stručný opis procesora TigerSHARC budú prezentované v rámci www stránky DSP laboratória.

8 FEI TU v Košiciach Diplomová práca Strana 2 2. Opis procesora ADSP TS101 TigerSHARC TigerSHARC je 128-bitový digitálny signálový procesor, ktorý patrí do druhej generácie výkonných procesorov od firmy Analog Devices [8]. Popis jeho predchodcu, procesora ADSP SHARC je obsiahnutý v [4] a [5]. Vysoký výpočtový výkon tohoto procesora je dosiahnutý za pomoci viacerých výpočtových jednotiek, ktoré môžu pracovať v aritmetike s pevnou aj pohyblivou rádovou čiarkou a vďaka veľkej šírke inštrukčného slova VLIW. Procesor TigerSHARC obsahuje na čipe 6-Mbit SRAM, integrované I/O periférie, rozhranie pre pripojenie ďalšieho procesora, DMA kontrolér, linkové porty a spoločnú zbernicu pre podporu vytvárania viacprocesorových systémov. Procesor pracuje s dvoj-cyklovým zreťazením v prípade aritmetických operácii. Zreťazenie v prípade vetvenia je od dvoch do šiestich cyklov. Pre zníženie oneskorenia v prípade vetvenia procesor obsahuje Branch Target Buffer BTB. Vysvetlenie jeho činnosti sa nachádza v kapitole Veľká šírka inštrukčného slova umožňuje procesoru vykonať v jednom takte až štyri 32-bitové inštrukcie. Kvôli maximálnemu využitiu programovej pamäte, sú inštrukcie zapisované do pamäte za sebou a nie sú v nej zarovnávané, podľa toho ako sú zapísané v inštrukčnom riadku. Táto vlastnosť je ilustrovaná na nasledujúcom obrázku. Obr. 1.1: Zápis inštrukcií v pamäti procesora 6-Mbit-ová interná pamäť je rozdelená na tri 128-bitové pamäťové bloky. Každý tento pamäťový blok je pripojený pomocou jednej z troch dátových/adresových zberníc. Toto delenie pamäte do blokov umožňuje v jednom cykle pristúpiť ku každému pamäťovému bloku. Pre komunikáciu s vonkajším prostredím, procesor obsahuje externý port so 64- bitovou zbernicou, štyri linkové porty s hardvérovou podporou dvojsmernej komunikácie, štyri DMA kanály a podporu pre spoluprácu viacerých procesorov.

9 FEI TU v Košiciach Diplomová práca Strana 3 Obr. 1.2: Bloková schéma procesora ADSP TS Technické prostriedky procesora Procesor obsahuje dve výpočtové jednotky. Každá jednotka obsahuje súbor tridsiatich dvoch 32-bitových registrov a tri nezávislé výpočtové jednotky: aritmetickologickú jednotku ALU, násobičku multiplier a posúvač shifter. Výpočtové jednotky, môžu vykonávať výpočty nezávisle na sebe, alebo spoločne, v SIMD móde. Procesor môže v jednom inštrukčnom cykle spracovať až dve inštrukcie pripadajúce na jednu výpočtovú jednotku. Výpočtové jednotky môžu spracovávať dáta vo viacerých formátoch s pevnou a pohyblivou rádovou čiarkou: Formáty s pevnou rádovou čiarkou Fixed-point format 64 bitový formát long, 32 bitový formát word, 16 bitový formát short a byte. Formáty s pohyblivou rádovou čiarkou Floating-point format jednoduchý 32- bitový a 40-bitový formát s pohyblivou rádovou čiarkou. Jednoduchý formát je štandartný IEEE 754/854 formát, zatiaľ čo 40-bitový formát zaberá 64 bitov, a má osem dodatočných LSB bitov mantisy, kvôli dosiahnutiu lepšej presnosti.

10 FEI TU v Košiciach Diplomová práca Strana 4 Obr. 2.1: 32-bitový formát s pohyblivou rádovou čiarkou Obr. 2.2: 40-bitový formát s pohyblivou rádovou čiarkou Súbor registrov Procesor obsahuje spolu 128 univerzálnych 32-bitových registrov. Každá výpočtová jednotka obsahuje 32 registrov, označených podľa príslušnosti k danej jednotke ako xr, resp. yr. Okrem týchto jednotiek aj jednotky IALU obsahujú každá po 32 registrov označovaných ako J, resp. K podľa príslušnosti k danej celočíselnej ALU. Rozmiestnenie registrov je znázornené na obr Tieto univerzálne 32-bitové registre, ktoré obsahuje každá výpočtová jednotka sú určené na prenos dát medzí výpočtovými jednotkami a zbernicami, a taktiež na uloženie pomocných výsledkov. Inštrukcie umožňujú prístup k registrom individuálne single, prípadne k dvom dual alebo štyrom registrom quad súčasne. načítanie do jedného registra: xr23=[j4+=1];; načítanie do dvoch registrov súčasne: xr23:22=l[j4+=2];; načítanie do štyroch registrov súčasne: xr23:20=q[j4+=2];;

11 FEI TU v Košiciach Diplomová práca Strana 5 Obr. 2.3: Súbor univerzálnych registrov procesora ALU Aritmeticko-logická jednotka Úlohou tejto jednotky je vykonávanie štandartných aritmetických a logických operácii v oboch formátoch vstupných operandov, s pevnou aj pohyblivou rádovou čiarkou. Typické príklady inštrukcií: sčítanie obsahu registrov Rm a Rn: Rs = Rm + Rn odčítanie obsahu registrov Rm a Rn: Rs = Rm Rn logický súčin obsahu registrov Rm a Rn: Rs = Rm AND Rn logický súčet obsahu registrov Rm a Rn: Rs = Rm OR Rn porovnanie obsahu registrov Rm a Rn: COMP Rm, Rn výpočet absolútnej hodnoty z obsahu registra Rm: Rs = ABS Rm súčasne sčítanie a odčítanie obsahu registrov Rm a Rn: Rs = Rm + Rn, Ra = Rm Rn extrakcia mantisy: Rs = MANT FRn

12 FEI TU v Košiciach Diplomová práca Strana Násobička Multiplier Táto jednotka vykonáva násobenie s pevnou a pohyblivou rádovou čiarkou, a v prípade operácií s dátami v pevnej rádovej čiarke aj MAC operácie Multiply-and- Accumulate, kedy sa vykoná operácia násobenia a sčítania. Typické príklady inštrukcií: násobenie obsahov registrov Rm a Rn: Rs = Rm * Rn MAC operácia, vynásobí obsahy Rm a Rn a výsledok sčíta s obsahom Mr: Mr += Rm * Rn MAC operácia, vynásobí obsahy Rm a Rn a výsledok odčíta od obsahu registra Mr: Mr -= Rm * Rn MAC operácia, vynásobí komplexné hodnoty v registroch Rm a Rn, a výsledok pripočíta k obsahu registra Mr: Mr += Rm ** Rn Posúvač Shifter 64-bitový posúvač vykonáva operácie logického a aritmetického posunu, bitovú manipuláciu, výber a vkladanie bitov do registra. Príklady inštrukcií: logický posun obsahu registra Rm o počet bitov udaných hodnotou v registri Rn: Rs = LSHIFT Rm BY Rn aritmetický posun obsahu registra Rm o počet bitov udaných hodnotou v registri Rn: Rs = ASHIFT Rm BY Rn rotácia obsahu registra Rm o počet bitov daný hodnotou v registri Rn: Rs = ROT Rm BY Rn extrakcia bitov z registra Rm, počet bitov a ich pozícia v registri Rm je daná hodnotou v registri Rn: Rs = FEXT Rm BY Rn Celočíselné ALU Integer ALU - IALU Tieto jednotky poskytujú pamäťové adresy, keď sú dáta prenášané medzi pamäťou a registrami. Umožňujú výkon výpočtových operácii s maximálnou efektivitou, keďže výpočtové jednotky sa môžu sústrediť len na spracovanie dát. Dve IALU umožňujú simultánne adresovať viacero operandov pre čítanie alebo zápis. Každá IALU má súbor 32 registrov, ktorých šírka je 32-bitov. Operácie, ktoré sú vykonávané v IALU niesu zreťazené. Tieto adresovacie jednotky, umožňujú pre-modify alebo post-modify adresovanie, a taktiež implementáciu kruhových bufrov. V prípade pre-modify adresovania je hodnota v registri ktorý je použitý na adresovanie upravená

13 FEI TU v Košiciach Diplomová práca Strana 7 pred načítaním dát, pri post-modify adresovaní je táto hodnota upravená až po načítaní dát. Pri nepriamom adresovaní, môže byť jeden register modifikovaný buď iným registrom zo súboru registrov IALU, alebo priamo 8, prípadne 32-bitovou hodnotou. Pre implementáciu kruhových bufrov je možné použiť prvé štyri registre z každej IALU. Príklady inštrukcií: príklady budú uvádzané iba pre JALU, to však neznamená, že tie isté operácie nie je možné realizovať pomocou jednotky KALU. post-modify adresovanie: Rs = [j8 += 8] pre-modify adresovanie: Rs = [j8 + 8 ] sčítanie obsahu registrov Jm a Jn: Js = Jm + Jn odčítanie obsahu registrov Jm a Jn: Js = Jm Jn porovnanie obsahu registrov Jm a Jn: COMP Jm, Jn logický súčin obsahov registrov Jm a Jn: Js = Jm AND Jn rotácia obsahu registra Jm o jeden bit vpravo: Js = ROTR Jm rotácia obsahu registra Jm o jeden bit vľavo: Js = ROTL Jm logický posun obsahu registra Jm o jeden bit vpravo: Js = LSHIFT Jm Branch Target Buffer BTB Úlohou tohto bufra je znížiť výkonové straty procesora, ktoré vnikajú v dôsledku vetvenia programu. Štruktúra tohto bufra je znázornená na nasledujúcom obrázku. Obr. 2.4: Štruktúra BTB

14 FEI TU v Košiciach Diplomová práca Strana 8 Každá inštrukcia vetvenia, ktorá využíva predikciu môže byť zapísaná do BTB. Hodnota PC Program Counter inštrukčného riadku, v ktorom nastáva vetvenie sa zapisuje do časti TAG a cieľová adresa do časti TARGET. Princíp činnosti je nasledujúci, BTB sleduje adresy inštrukcií pri ich čítaní z pamäte. Ak detekuje inštrukciu, ktorá už spôsobila vetvenie počas doterajšieho behu programu, adresa v časti TAG je zhodná s adresou v PC, nahradí hodnotu v PC hodnotou TARGET v BTB. Takto sa začínajú dekódovať inštrukcie od adresy TARGET. Ak bola predikcia správna a nastalo vetvenie, výkonové straty procesora sú redukované zo šiestich, prípadne troch stall cyklov na nulu. Do BTB bufra sú ukladané iba vetvenia v rámci internej pamäte procesora. 2.2 Programové prostriedky procesora Typ prístupov k dátam Inštrukcie umožňujú uloženie alebo načítanie jedného, dvoch alebo štyroch slov. Vo všeobecnosti v prípade načítavania štyroch slov quad-word musia byť tieto slova zarovnané tak aby ich pamäťová adresa bola deliteľná štyrmi a musia byť zoradené za sebou. To isté platí v prípade načítavania alebo zápisu dvoch slov long-word, v tomto prípade musí byť adresa deliteľná dvomi. načítanie jedného 32-bitového slova: xr23=[j4+=1];; načítanie do dvoch 32-bitových slov 64 bitov: xr23:22=l[j4+=2];; načítanie do štyroch 32-bitových slov: 128 bitov xr23:20=q[j4+=2];; Nie vždy je však možné a výhodné aby tieto slová boli zoradené za sebou, v tomto prípade je možné využiť dátový zarovnávací bufer DAB Data Alignment Buffer. Prístup pomocou DAB je možný len v prípade quad prístupu a len pre registre výpočtových jednotiek. DAB tvorí FIFO o veľkosti dvoch quad slov 256 bitov. Pri čítaní z pamäte do DAB sú dáta zarovnávané podľa požiadaviek v prípade quad prístupu musia byť čítané štyri slova za sebou, od adresy deliteľnej štyrmi. Zatiaľ čo prenos z DAB do registra už nieje zarovnávaný podľa adresy. Nezarovnané dáta sú tvorené z dát z predchádzajúcej transakcie medzi DAB a pamäťou a zo súčasného čítania z pamäte pomocou DAB. Pri čítaní z pamäte pomocou DAB je možné použiť iba registre J0 až J3, prípadne K0 až K3.

15 FEI TU v Košiciach Diplomová práca Strana Výkon inštrukcií Procesor TigerSHARC môže vykonať až štyri inštrukcie z jedného pamäťového bloku v jednom cykle vďaka 128 bitovému prístupu. Táto vlastnosť, vykonať viacero inštrukcií v jednom cykle, vychádza z jeho static superscalar architektúry. Tento typ architektúry je odlišný od superscalar architektúry, pretože v tomto prípade inštrukcie, ktoré sú vykonané v jednom cykle určuje programátor alebo kompilátor, a nie hardvér. V prípade procesora TigerSHARC nedochádza k žiadnej úprave poradia vykonávaných inštrukcií. Závislosti medzi použitými registrami sú zisťované hardvérom a v prípade nutnosti sú generované tzv. stall cykly. Sú to cykly procesora, kedy procesor čaká, kým budú k dispozícii výsledky predchádzajúcich inštrukcií potrebné na výkon danej inštrukcie. Proces načítavania, dekódovania a výkonu inštrukcií predstavuje osem cyklov procesora TigerSHARC. Spracovanie inštrukcií je zreťazené, pričom v jednom cykle je vykonaný jeden inštrukčný riadok Predávanie parametrov medzi kódom v jazyku C a asemblérom Parametre funkcií sa pri prechode medzi jazykom C a asemblérom nachádzajú v zásobníku. Prvé štyri parametre sú naviac predávané aj formou registrov. To v ktorých registroch budú uložené parametre funkcie, závisí od ich typu. V tabuľke 2.1 sú uvedené typy parametrov a príslušné registre, ktoré slúžia na ich predávanie. Pre predávanie návratových hodnôt sa používajú registre J8 alebo xr8 a xr9. To ktorý register sa použije závisí rovnako ako v prípade vstupných parametrov od typu návratovej hodnoty. Použitý register Parameter typ int alebo smerník typ float alebo double parameter 1 J4 xr4 parameter 2 J5 xr5 parameter 3 J6 xr6 parameter 4 J7 xr7 Tab. 2.1: Predávanie parametrov funkcie

16 FEI TU v Košiciach Diplomová práca Strana Koncepcia písania knižníc Pri tvorbe knižníc je výhodné použiť kombináciu jazyka C a asembléru. Použitie jazyka C umožní jednoduchšie volanie a deklaráciu funkcií knižnice. Nemalou výhodou je taktiež to, že kód je prehľadnejší ako v prípade použitia iba asembléru. Na druhej strane napísanie jadra knižnice v asembléry zníži jej náročnosť na počet cyklov procesora. V prípade implementácie kryptografických algoritmov, ktorá je cieľom tejto diplomovej práce bude použitá práve kombinácia jazyka C a asembléru. Funkcie budú deklarované v jazyku C, ale samotné telo funkcie bude tvorené asemblérom Vývojové prostredie Pri tvorbe knižníc bude použitá najnovšia verzia vývojového prostredia VisualDSP++. Ide o softvérový balík od firmy Analog Devices. V súčasnosti sa prechádza na verziu 3.0 tohto systému. Verzia VisualDSP bola vyvinutá, aby umožnila vývojovým pracovníkom vytvárať ich aplikácie rýchlejšie a s novou flexibilitou. Už s uvedením VisualDSP firma Analog Devices spojila vývojové prostredie, komponenty ako napr. DSP knižnice, plne integrovaný IDE/debuger, možnosť výberu medzi C/C++ a asemblérom, konfigurovateľný linker/loader a najnovší komponent VisualDSP++ Kernel VDK, vďaka ktorému dostali vývojári do rúk nástroj, ktorý urýchľuje vytváranie aplikácii založených na DSP. VDK je malý a prispôsobiteľný operačný systém reálneho času špeciálne vytvorený na efektívnu prácu so signálovými procesormi firmy Analog Devices. Základnými časťami vývojového prostredia sú: Integrované vývojové prostredie IDE poskytuje flexibilnú správu projektu pre vývoj aplikácii pre DSP. IDE umožňuje prístup k všetkým aktivitám nevyhnutným pre vývoj a ladenie aplikácii. Pomocou editora možno vytvárať a meniť zdrojové súbory a listovať v mape súborov, ktoré obsahuje daný projekt. Vývojové prostredie umožňuje prístup k C/C++ kompilátoru, C/C++ knižniciam, asembléru, linkéru, loaderu a spliteru. Nastavenie týchto nástrojov je možné v špeciálnom okne, pričom tieto nastavenia môžu byť definované pri vytváraní projektu, alebo môžu byť podľa potreby kedykoľvek zmenené. Spúšťanie a nastavovanie týchto nástrojov je možné aj z príkazového riadku. VisualDSP++ debuger má jednoduché rozhranie, ktoré je spoločné pre všetky simulátory a emulátory, ktoré sú dostupné od firmy Analog Devices. V debugery je možné nastavovať breakpointy, pozorovať a nastavovať obsahy pamäte a vybraných registrov. Registre je možné vybrať podľa príslušnosti k danej časti hardvéru DSP, alebo je možné si dať zobrazovať obsahy registrov podľa vlastného výberu. Táto možnosť uľahčuje hľadanie a odstraňovanie chýb v aplikácii. Debuger, ak je použitý

17 FEI TU v Košiciach Diplomová práca Strana 11 so simulátorom dokáže generovať vstupy, výstupy a prerušenia ktoré umožňujú simulovať podmienky v akých bude daná aplikácia pracovať v reálnom prostredí. Podpora multiprocesorových systémov umožňuje užívateľovi paralelne pracovať so všetkými procesormi v systéme. Poskytuje možnosť zastavenia, krokovania a spustenia ktoréhokoľvek procesora. Užívateľ má možnosť nechať si zobraziť vo vývojovom prostredí obsahy registrov alebo pamäte jednotlivých procesorov v systéme. Statistical profiling táto unikátna vlastnosť VisualDSP++ umožňuje tvorcovi softvéru rýchlo a efektívne zistiť, ktoré časti kódu najviac zaťažujú procesor, a teda najviac spomaľujú výkon aplikácie. Programátor sa potom môže plne sústrediť nato, ako tieto časti kódu čo najviac zefektívniť. Pipeline Viewer umožňuje zobraziť tok inštrukcií. Zobrazenie zreťazenia umožňuje lepšie pochopiť okolnosti kvôli ktorým vznikajú pri vykonávaní programu stall cykly a následne optimalizovať zdrojový kód.

18 FEI TU v Košiciach Diplomová práca Strana Hashovacie algoritmy 3.1 SHA-512 Tento algoritmus slúži na kompresiu vstupných dát a jeho výsledkom je 512 bitový obsah z týchto dát, tzv. odtlačok správy message digest. SHA-512 pracuje s 1024 bitovým vstupným blokom šestnásť 64 bitových slov a 512 bitovou inicializačnou hashovacou konštantou osem 64 bitových slov. Hodnoty týchto inicializačných slov sú nasledujúce: H 0 1 H 0 2 H 0 3 H 0 4 H 0 5 H 0 6 H 0 7 H 0 8 = 6A09E668F3BCC908 = BB67AE8584CAA73B = 3C6EF372FE94F82B = A54FF53A5F1D36F1 = 510E527FADE682D1 = 9B05688C2B3E6C1F = 1F83D9ABFB41BD6B = 5BE0CD19137E2179 Pred spracovaním sa vstupný blok formátuje na požadovaný tvar. Celá správa sa rozdelí na 1024 bitové vstupné bloky, ktoré sú postupne spracovávané. V poslednom vstupnom bloku je na koniec správy doplnený jednotkový zakončovací bit. Za týmto bitom sa doplní správa nulami tak, aby platila rovnica: počet informačných bitov v poslednom bloku + zakončovací bit + k-nulových bitov = 896 K takto upravenému bloku sa nakoniec pripojí 128 bitový údaj o celkovej dĺžke hashovanej správy. Pripojením informácie o dĺžke dostávame posledný 1024 bitový vstupný blok. Pri tomto formátovaní môžu nastať tieto špeciálne prípady: počet informačných bitov v poslednom bloku je rovný 1024, v tomto prípade je potrebné spracovať ešte jeden 1024 bitový blok, ktorý obsahuje zakončovací bit, 895 nulových bitov a 128 bitovú informáciu o dĺžke hashovanej správy. počet informačných bitov v poslednom bloku je viac ako 895 a teda po pridaní zakončovacieho bitu, nezostáva dostatok miesta na doplnenie 128 bitov s informáciou o dĺžke správy. V tomto prípade sa posledný vstupný informačný blok doplní nulami na dĺžku 1024 bitov a vytvorí sa ďalší vstupný blok, ktorý bude obsahovať 896 nulových bitov a 128 bitov s dĺžkou správy.

19 FEI TU v Košiciach Diplomová práca Strana 13 počet informačných bitov je rovný 895, po pridaní zakončovacieho bitu sa už nepridávajú žiadne nulové bity, čiže k=0. Za zakončovací bit sa pridá 128 bitová informácia o dĺžke správy. Pred samotným výpočtom sa vstupné 1024 bitové bloky rozdelia na šestnásť 64 bitových slov. Postup spracovania jedného 1024 bitového bloku Mj i je nasledujúci: Zo šestnástich vstupných slov je vypočítaných ďalších 64 slov. Postup expanzie zo šestnástich vstupných slov na osemdesiat je opísaný v nasledujúcich vzťahoch: i Wj = Mj pre j = 0, pre { Wj σ } j = 16 až 79 1 W j 2 + W j 7 + σ 0 W j 15 + W j 16 Pričom funkcie σ 1 a σ 0 sú definované nasledovne: σ 0 1 x = S σ x = S 1 10 x S 8 x S x R 61 7 x R x 6 x kde: S 1 x - predstavuje rotáciu 64 bitového slova o 1 bit vpravo R 7 x - predstavuje logický posun 64 bitového slova o 7 bitov vpravo Po expanzii vstupných slov, dochádza ich k spracovávaniu v hlavnej slučke, ktorá je definovaná: inicializujú sa registre a = H i 1 1 b = H i 1 2 L h = H i 1 8 v prípade že ide o spracovanie prvého bloku, výrazy i 1 predstavujú inicializačné konštanty pre SHA-512 alebo SHA-384, v opačnom prípade tieto výrazy predstavujú výsledok hashovania predchádzajúceho 1024 bitového bloku H j

20 FEI TU v Košiciach Diplomová práca Strana 14 pre až 79 = 0 j { ,,,,,,,, T T a a b b c c d T d e e f f g g h c b a Maj a T Wj Kj g f e Ch e h T e S e S e S e a S a S a S a AND c b AND c a a AND b c b a Maj e AND g e AND f g f e Ch = = = = výraz prestavuje jednu z osemdesiatich 64-bitových konštánt, ktoré sú definované v [1] K j } Po ukončení slučky sa pomocou nasledujúcich vzťahov určia hashovacie konštanty pre nasledujúci blok: i i i i i i H h H H b H H a H L Po spracovaní celej správy hashovacie konštanty, ktoré vypočítame po spracovaní posledného bloku predstavujú odtlačok správy:,,,,,,, N N N N N N N N N H H H H H H H H H = 3.2 SHA-384 Tento algoritmus je identický s algoritmom pre SHA-512 s dvoma rozdielmi: 1. sú definované iné inicializačné konštanty: H 1 0 = CBBB9D5DC1059ED8 H 2 0 = 629A292A367CD507 H 3 0 = A3070DD17 H 4 0 = 152FECD8F70E5939 H 5 0 = FFC00B31 H 6 0 = 8EB44A H 7 0 = DB0C2E0D64F98FA7 H 8 0 = 47B5481DBEFA4FA4 2. výsledok hashovania posledného bloku je skrátený na 384 bitov:,,,,, i i i i i i N H H H H H H H =

21 FEI TU v Košiciach Diplomová práca Strana Implementácia SHA-512 a SHA-384 na procesore ADSP Pri implementácii hashovacich algoritmov na tomto procesore, bolo potrebné vyriešiť problém realizácie aritmeticko-logických operácii na 64 bitových vstupných slovách, keďže tento procesor pracuje s 32 bitovými operandami. Vzhľadom nato, je počet cyklov potrebných na spracovanie jedného bloku, asi trikrát väčší ako v prípade spracovania toho istého bloku na procesore TigerSHARC. V nasledujúcom texte bude opísaná knižnica, ktorej vypracovanie bolo jedným z cieľov tejto diplomovej práce. Táto knižnica obsahuje viacero funkcií, ktoré budú opísane v poradí v akom sú volané pri výpočte odtlačku správy. Pre realizáciu výpočtu oboch algoritmov SHA-384 a SHA-512 sa používajú tie isté funkcie. Opis činnosti funkcií pre výpočet odtlačkov správy podľa algoritmu SHA-1 a SHA-256, ktoré sú tiež súčasťou knižnice sa nachádza v [4]. Vytvorená knižnica a zdrojové súbory jednotlivých funkcií sa nachádzajú na priloženom CD. Zdrojové kódy všetkých funkcií sú plne komentované v anglickom jazyku. 4.1 Opis knižnice sha.dlb na procesore ADSP SHARC Ako prvá bude opísaná funkcia, ktorej úlohou je inicializácia hashovacích konštánt, pred začiatkom spracovania prvého bloku správy. Deklarácia tejto funkcie je nasledujúca: void SHA512_384_Init unsigned int dm *Hash_Constant, size_t dm Digest_Length; Vstupné parametre tejto funkcie sú: smerník na miesto dátovej v pamäti, kde majú byť uložené inicializačné hashovacie konštanty. Zároveň je to miesto, kde budú po spracovaní bloku uložené nové vypočítané hashovacie konštanty. V pamäti je potrebné vyhradiť miesto pre šestnásť 32 bitových konštánt, keďže procesor nedokáže pracovať so 64 bitovými vstupmi. Každá z ôsmych inicializačných konštánt zaberá dve pamäťové miesta. druhým parametrom funkcie je dĺžka odtlačku správy, tento parameter môže nadobúdať dve hodnoty a to 512, ak ide o výpočet podľa algoritmu SHA-512, alebo 384 ak ide o výpočet podľa algoritmu SHA-384. Podľa hodnoty tohto parametra sú použité na inicializáciu buď inicializačné konštanty pre SHA-512 alebo pre SHA- 384.

22 FEI TU v Košiciach Diplomová práca Strana 16 V tele funkcie sú podľa toho akú hodnotu nadobúda parameter funkcie Digest_Length nakopírované inicializačné konštanty na pamäťové miesto dané parametrom Hash_Constant. Čítanie a zápis konštánt prebieha v SIMD móde. Ďalšou funkciou knižnice je funkcia, ktorá realizuje hashovanie úplného 1024 bitového bloku správy. Táto funkcia realizuje hlavný výpočet a všetky ostatné funkcie slúžia len na prípravu vstupných parametrov pre túto funkciu. Deklarácia tejto funkcie je nasledovná: void SHA512_384_1024bit_Block unsigned int dm *Block, unsigned int dm *Hash_Constant; Vstupné parametre tejto funkcie sú nasledovné: prvým parametrom je smerník na vstupný 1024 bitový blok. Tento blok zaberá 32 pamäťových miest každé vstupné 64 bitové slovo zaberá dve pamäťové miesta v dátovej pamäti. Uloženie tohto bloku v dátovej pamäti je nevyhnutné pre správnu činnosť tejto funkcie. Funkcia predpokladá, že tento vstupný blok je naformátovaný, tak ako definuje algoritmus. Funkcia tento vstupný blok už nijako neupravuje. Požadovaný tvar vstupného bloku je na nasledujúcom obrázku. Obr. 4.1: Formát vstupného bloku druhým parametrom funkcie je smerník na miesto v pamäti, kde sa nachádzajú hashovacie konštanty, ktoré pripadajú na daný spracovávaný blok správy. Tieto konštanty musia byť taktiež uložené v dátovej pamäti. V prípade spracovávania prvého bloku správy ide o inicializačné konštanty, ak je spracovávaný j-ty vstupný blok správy ide o hashovacie konštanty, ktoré sú výsledkom spracovania j-1 vstupného bloku. V nasledujúcom texte bude vysvetlený spôsob činnosti tejto funkcie a to, ako boli realizované aritmeticko-logické operácie so 64 bitovým operandami, pomocou inštrukcií, ktoré pracujú s 32 bitovými vstupmi. Funkcia po zálohovaní registrov, u ktorých je potrebné obnoviť ich pôvodnú hodnotu pred návratom do jazyka C, nakopíruje 32 bitové slová zo vstupného poľa, do

23 FEI TU v Košiciach Diplomová práca Strana 17 pracovného poľa, ktorého veľkosť je 160 pamäťových miest. Táto veľkosť je daná tým, že po expanzii vstupných slov zo šestnásť na osemdesiat, bude každé slovo zaberať dve pamäťové miesta. Toto kopírovanie prebieha v SIMD móde, kedy sa načítajú v jednom cykle dve slova. Využitie SIMD módu redukuje počet cyklov potrebných na kopírovanie na polovicu. Po načítaní zo vstupného poľa dochádza k výmene obsahu registrov, do ktorých sa načítali vstupné slová medzi sebou, a k ich nasledovnému zápisu do pracovného poľa. Touto operáciou sa dosiahne toho, že v pracovnom poli sú jednotlivé slova zapísane v tvare ako je to znázornené na obr Obr. 4.2: Tvar zápisu slov v pracovnom poli Po nakopírovaní vstupných slov do pracovného poľa, funkcia vypočíta zvyšných 64 slov a zapíše ich do pracovného poľa. Pri výpočte týchto slov je potrebné realizovať podľa algoritmu operácie logického posunu a rotácie na 64 bitových slovách. Keďže procesor ADSP 21160, nemá v inštrukčnej sade inštrukcie, ktoré dokážu pracovať so 64 bitovými slovami, bolo potrebné realizovať tieto operácie ako postupnosť inštrukcií, ktoré pracujú s 32 bitovými slovami. To ako bola implementovaná rotácia, je opísané v nasledujúcom texte. V SIMD móde procesora sa načítajú dve 32 bitové slová, jedno do registra r v jednotke PEx Primary Processing Element a druhé do registra s v PEy Secondary Processing Element. Spôsob načítania je znázornený na obr Obr. 4.3: Spôsob načítania vstupných slov

24 FEI TU v Košiciach Diplomová práca Strana 18 Predpokladajme, že je potrebné zarotovať vstupné slovo o devätnásť bitov vpravo. Procesor je nastavený pre prácu v SIMD móde, kedy sa vykonáva identická operácia v oboch výpočtových jednotkách procesora, ale na rôznych vstupných dátach. Bližší popis je možné nájsť v [4]. V prvom kroku sa realizuje logický posun dolných aj horných 32 bitov o devätnásť bitov vpravo. r14=lshift r0 by -19; predpokladáme, že vstupné slovo sa nachádza v registroch r0 a s0, výsledok operácie bude v registroch r14 a s14. Po tejto operácii je potrebné urobiť opäť logický posun dolných aj horných 32 bitov o 13 bitov ale vľavo. r15=lshift r0 by 13; inštrukcia realizuje logický posun obsahu registrov r0 a s0 o trinásť bitov vľavo, a výsledok zapíše do registrov r15 a s15. Nasleduje výmena obsahov registrov r15 a s15, čím sa horných 32 bitov výsledku poslednej operácie dostane do registra r15, a naopak dolných 32 bitov do registra s15. r15 <-> s15; Ako posledná operácia sa vykoná sčítanie obsahov registrov r14 a r15, keďže procesor je stále v SIMD móde vykoná sa taktiež sčítanie obsahu registrov s14 a s15. Výsledok, teda rotácia vstupného 64 bitového slova sa nachádza v registroch r15 a s15. r15=r15 + r14; Celý tento postup je znázornený na obrázku 4.4.

25 FEI TU v Košiciach Diplomová práca Strana 19 Obr. 4.4: Realizácia rotácie na 64 bitových slovách Realizácia logického posunu vpravo, na 64 bitovom vstupnom slove je podobná realizácii rotácie. Naviac je tu potrebné vynulovať toľko bitov zo vstupného slova o koľko sa realizoval logický posun. Realizácia logického posunu je nasledovná, predpokladajme, že je potrebné realizovať logický posun o šesť bitov vpravo. Vykonáme rotáciu vstupného slova o šesť bitov, pričom výsledok tejto operácie bude v registroch r13 dolných 32 bitov a s13 horných 32 bitov. bit clr MODE1 PEYEN; prepneme procesor do SISD módu, nastavením bitu PEYEN v registri procesora MODE1 do nuly. r13 <-> s13; vymeníme obsah registrov r13 a s13 medzi sebou. Táto výmena prebieha ešte v SIMD móde, pretože na prechod medzi SISD a SIMD režimom procesora je potrebný jeden cyklus. Touto operáciou dostaneme horných 32 bitov do registra r13, a dolných 32 bitov do registra s13.

26 FEI TU v Košiciach Diplomová práca Strana 20 bit set MODE1 PEYEN; prepneme procesor späť do SIMD režimu, nastavením bitu PEYEN v registri MODE1 na jednotku. Keďže ide o logický posun, je potrebné vynulovať šesť MSB bitov v registri r13. Túto operáciu urobíme pomocou inštrukcie fext, ktorá vyberie z registra daný počet bitov od zadanej pozície a ostatné doplní nulami. r13=fext r13 by 0:26; do registra r13 sa uloží dvadsaťšesť bitov sprava z registra r13. Ostatné bity sa doplnia nulami. Činnosť tejto inštrukcie je znázornená na obrázku 4.5. Táto inštrukcia sa vykonáva ešte v SISD móde, kedy sa výpočet vykonáva iba v PEx. Nastavenie procesora pre prácu v SIMD móde sa prejaví až v nasledujúcej inštrukcii. r13 <-> s13; urobíme výmenu obsahu registrov r13 a s13. Táto výmena sa vykonáva v SIMD móde. Takto máme výsledok logického posunu v registroch r13 dolných 32 bitov a s13 horných 32 bitov. Pri realizácii logického posunu bolo potrebné nastavovať režim procesora pre prácu v SISD a v SIMD móde. Keďže zmena režimu sa prejaví až z jednocyklovým oneskorením, bolo potrebné upraviť algoritmus tak, aby pri tejto zmene nenastávali prázdne cykly procesora. To sa podarilo, a teda pri prechode medzi jednotlivými režimami procesora nevzniká žiadne oneskorenie. Obr. 4.5: Činnosť funkcie fext

27 FEI TU v Košiciach Diplomová práca Strana 21 V algoritme pre expanziu vstupných slov sa taktiež nachádza sčítanie 64 bitových slov, ktoré je realizované v aritmetike mod Tento problém, sa dal vyriešiť o niečo jednoduchšie ako v prípade rotácie, či logického posunu. V tomto prípade, bolo možné využiť inštrukciu procesora, ktorá pri sčítaní berie do úvahy prenos, ktorý nastal pri predchádzajúcom sčítaní. Sčítanie bolo teda realizované v dvoch krokoch, najprv sa vykonalo sčítanie dolných 32 bitov a potom sa sčítalo horných 32 bitov s prípadným prenosom, ak nastal pri sčítaní dolných 32 bitov. Celé sčítanie sa realizuje v SISD móde. V nasledujúcom texte je uvedený príklad realizácie sčítania. r14=r14+r9; do registra r14 sa uloží súčet obsahov registrov r14 a r9. Registre r14 a r9 obsahujú dolných 32-bitov sčítavaných operandov. r5=r15+r10+ci; do registra r5 sa uloží súčet obsahov registrov r15 a r10 plus prípadný prenos, ak nastal pri predchádzajúcom sčítaní. Registre r15 a r10 obsahujú horných 32-bitov sčítavaných operandov. Po expanzii vstupných slov, sa začína samotný výpočet hashovacích konštánt, podľa algoritmu. Tento výpočet je realizovaný v slučke, ktorá sa vykoná spolu osemdesiat krát. Počas jej vykonávania je procesor nastavený na prácu v SIMD móde, okrem častí, v ktorých sa vykonáva sčítanie mod Pre samotným začiatkom výkonu hlavnej slučky sa inicializačné konštanty pripadajúce pre daný spracovávaný blok, načítajú z pamäte do registrov. Načítavanie je vykonávané v SIMD móde, kedy sa dolných 32 bitov načítava do registrov primárnej výpočtovej jednotky PEx a horných 32 bitov sa načítava do registrov sekundárnej výpočtovej jednotky PEy. Po ukončení hlavnej slučky, sa nuluje obsah vstupného poľa a vypočítavajú sa nové hodnoty hashovacích konštánt, podľa pravidiel, ktoré sú definované v algoritme [1]. Tieto nové konštanty sa zapisujú na miesto v dátovej pamäti, určené smerníkom *Hash_Constant. Takto dôjde k prepisu starých konštánt novými. Poslednou funkciou, ktorá sa vykonáva pri výpočte odtlačku správy, je funkcia na spracovanie posledného bloku správy. Veľkosť tohto bloku môže byť menšia ako 1024 bitov.

28 FEI TU v Košiciach Diplomová práca Strana 22 Deklarácia tejto funkcie je nasledovná: void SHA512_384_Last_Blockunsigned int dm *Block, unsigned int dm *Hash_Constant, size_t dm Block_Length, unsigned int dm *Message_Length, size_t dm Digest_Length; Vstupné parametre tejto funkcie sú: prvým parametrom je smerník na spracovávaný blok. Tento blok musí byť rovnako ako v prípade funkcie na spracovanie úplného 1024 bitového bloku uložený v dátovej časti pamäte. Veľkosť tohto bloku môže byť maximálne 1024 bitov. druhým parametrom je smerník na miesto v dátovej časti pamäte, kde sa nachádzajú inicializačné hashovacie konštanty pre posledný blok. Ide o konštanty získané na základe spracovania predchádzajúcich blokov správy, alebo ak má správa iba jeden vstupný blok, v tomto prípade sú to konštanty definované algoritmom. tretím parametrom je dĺžka posledného bloku. Táto dĺžka musí byť zadaná v bitoch. Dĺžka posledného bloku môže byť v rozsahu 0 až 1024 bitov. ďalším parametrom je smerník na miesto v dátovej pamäti, kde je uložená celková dĺžka správy, ktorá musí byť taktiež zadaná v bitoch. Požiadavka zadania celkovej dĺžky správy v bitoch nie je nutná z hľadiska správnej činnosti tejto funkcie, ale kvôli požiadavkám algoritmu. Dĺžka správy musí byť v pamäti uložená v tomto tvare: bit bit bit bit Tento tvar zápisu je potrebný pre správne naformátovanie posledného bloku. posledným parametrom je zadanie dĺžky odtlačku správy v bitoch. Tento parameter, môže nadobúdať dve hodnoty, a to 512 ak ide o výpočet algoritmu SHA-512, alebo 384 ak ide o SHA-384. Funkcia na základe tohto parametra upraví vypočítaný odtlačok správy podľa definícií pre jednotlivé algoritmy. Na začiatku činnosti funkcia načíta svoje posledné dva vstupné parametre zo zásobníka. Tieto parametre sa nachádzajú v zásobníku, pretože priame odovzdávanie parametrov pomocou registrov medzi zdrojovým kódom v jazyku C a asemblérom je možné iba v prípade prvých troch parametrov. Tieto parametre sa nachádzajú v registroch primárnej výpočtovej jednotky PEx. Ide o registre r4, r8 a r12. Všetky hodnoty ostatných parametrov sa potom predávajú pomocou zásobníka. Bližší opis predávania parametrov sa nachádza v [7]. Po načítaní parametrov a výkone inštrukcií, ktoré sú nutné z hľadiska správnej spolupráce medzi jazykom C a asemblérom, funkcia zisťuje, či dĺžka posledného bloku nie je rovná 1024 bitom. V tomto prípade je volaná funkcia pre spracovanie plného bloku a formátovaný bude až ďalší spracovávaný blok.

29 FEI TU v Košiciach Diplomová práca Strana 23 r0=sha512_block_length; do registra r0 sa vloží konštanta 1024, ktorá predstavuje veľkosť bloku pre algoritmus SHA-512, resp. SHA-384. compur0,r12; porovná sa obsah registra r0 s obsahom registra r12, ktorý obsahuje údaj o dĺžke posledného bloku bit tst ASTAT ASTAT_AZ; testuje sa hodnota bitu AZ v registri ASTAT, ktorý sa nastaví na jednotku ak je hodnota v registri r12 rovnaká ako hodnota v registri r0. Na hodnotu tohto bitu sa nastaví testovací bit TF. if not TF jump Less_1024; ccall_sha512_384_1024bit_block; ak je hodnota bitu TF rovná jednej je volaná funkcia na spracovanie úplného bloku, keďže dĺžka posledného bloku je rovná Ak má bit TF hodnotu nula, znamená to, že dĺžka posledného bloku je menej ako 1024 bitov. Ak je dĺžka bloku menšia ako 1024 bitov, tento blok bude formátovaný podľa definície algoritmu. Na základe dĺžky posledného bloku funkcia zistí pozíciu posledného bitu správy a na nasledujúcu pozíciu doplní zakončovací bit. Po doplnení zakončovacieho bitu funkcia zisťuje, či je vo vstupnom poli dostatok miesta na doplnenie 128 bitovej informácie o celkovej dĺžke správy, teda či dĺžka posledného bloku bez zakončovacieho bitu je menšia ako 896 bitov. Ak táto podmienka nie je splnená, je volaná funkcia na spracovanie úplného bloku a dĺžka správy sa bude spracovávať až v nasledujúcom bloku. Ak má posledný blok menej ako 896 bitov, pridá sa informácia o dĺžke správy do posledných štyroch slov vstupného poľa a volá sa funkcia na spracovanie úplného bloku. Po jeho spracovaní, sa zisťuje či ide o výpočet odtlačku správy podľa algoritmu SHA-512 alebo SHA-384. Ak ide o algoritmus SHA-512, na mieste v dátovej pamäti, kde boli predtým inicializačné konštanty pre posledný blok sa teraz nachádza odtlačok správy. V prípade výpočtu odtlačku správy podľa algoritmu SHA-384, sa posledné dve hashovacie konštanty vynulujú, čím sa dosiahne orezanie odtlačku správy o 128 bitov zľava ako definuje algoritmus. Dĺžka odtlačku správy v tomto prípade bude 384 bitov a bude sa taktiež nachádzať na mieste v dátovej pamäti, kde boli predtým inicializačné konštanty pre posledný blok správy.

30 FEI TU v Košiciach Diplomová práca Strana Implementácia SHA-512 a SHA-384 na procesore ADSP TS101 Tento procesor na rozdiel od procesora ADSP SHARC umožňuje vykonávať aritmeticko-logické operácie na 64 bitových vstupoch. Táto vlastnosť výrazne znížila počet cyklov potrebných na spracovanie bloku správy. Tento procesor, však pracuje s osem úrovňovým zreťazením, ktoré zvyšuje zložitosť vývoja efektívne pracujúceho kódu. To, že výsledky nie sú k dispozícii, hneď v nasledujúcom cykle v niektorých prípadoch núti procesor čakať, čím zostáva časť jeho výpočtového výkonu nevyužitá. Počet cyklov procesora, kedy čakal na potrebné výsledky iných inštrukcií, sa nie vždy podarilo znížiť na nulu, no aj napriek tomu je výpočet odtlačku správy pomocou tohto procesora asi trikrát rýchlejší, čo sa počtu inštrukčných cyklov týka, ako v prípade procesora ADSP SHARC. Funkcie pre výpočet odtlačku správy podľa algoritmov SHA-512 a SHA-384 sú tie isté ako v prípade implementácie na ADSP Vytvorená knižnica a zdrojové súbory jednotlivých funkcií sa nachádzajú na priloženom CD. Zdrojové kódy všetkých funkcií sú plne komentované v anglickom jazyku. 5.1 Opis knižnice sha.dlb na procesore ADSP TS101 Podobne ako v prípade opisu knižničných funkcií pre procesor ADSP 21160, aj teraz budú funkcie opísané v poradí, v akom je nutné ich vykonávať pri výpočte odtlačku správy. Názvy funkcií, aj ich parametrov sú v prípade tejto knižnice zhodné s názvami použitými v prípade funkcií pre procesor ADSP Ako prvá bude opísaná činnosť funkcie na inicializáciu hashovacích konštánt, jej deklarácia je nasledovná: void SHA512_384_Init unsigned int dm *Hash_Constant, size_t dm Digest_Length; Vstupné parametre funkcie sú: prvým parametrom je smerník na adresu v pamäti, kde majú byť uložené inicializačné konštanty. Adresa pamäťového miesta, kde budú uložené tieto konštanty, musí byť deliteľná štyrmi, pretože funkcie knižnice využívajú tzv. quad word" prístup pri čítaní a zápise týchto konštánt. Pri tomto prístupe sa naraz načítavajú/zapisujú štyri 32-bitové slová do/zo susedných registrov napr. xr0 až xr3. Tento prístup je bližšie opísaný v kapitole, ktorá sa venuje opisu procesora TigerSHARC.

31 FEI TU v Košiciach Diplomová práca Strana 25 druhý parameter, slúži na určenie toho, podľa akého algoritmu sa bude vypočítavať odtlačok správy. Tento parameter môže nadobúdať dve hodnoty, 512 ak ide o algoritmus SHA-512, alebo 384 v prípade algoritmu SHA-384. Podľa algoritmu, ktorý sa použije na výpočet odtlačku správy sa nainicializujú hashovacie konštanty. Funkcia pri inicializácii využíva prístup do pamäte, pri ktorom je možné v jednom cykle načítať 128 bitov, čo v tomto prípade znamená dva inicializačné konštanty. Vďaka tomu sa zníži počet cyklov potrebných na inicializáciu, oproti procesoru ADSP o viac ako polovicu. Základnou funkciou, podobne ako v prípade implementácie pre procesor ADSP je funkcia na spracovanie úplného 1024 bitového bloku. Táto funkcia predpokladá, že vstupný blok, ktorý sa bude spracovávať je už naformátovaný podľa pravidiel, ktoré definuje algoritmus. Deklarácia tejto funkcie je: void SHA512_384_1024bit_Block unsigned int dm *Block, unsigned int dm *Hash_Constant; Vstupné parametre funkcie sú: prvým parametrom je smerník na vstupný blok, pre ktorý sa budú počítať hashovacie konštanty. Adresa tohto bloku v pamäti musí byť deliteľná dvomi, kvôli možnosti tzv. long word prístupu do pamäte procesora. Veľkosť bloku je 32 slov, čo predstavuje 1024 bitov. druhým parametrom funkcie je smerník na inicializačné hashovacie konštanty, ktoré pripadajú na daný spracovávaný blok. Tieto konštanty dostaneme ako výsledok spracovania predchádzajúceho bloku, alebo ak ide o prvý blok správy, sú tieto inicializačné konštanty definované algoritmom. Funkcia v prvom kroku nakopíruje 64 bitové slová zo vstupného bloku do pracovného poľa, ktorého veľkosť je 160 slov, čo predstavuje 5120 bitov. Veľkosť tohto poľa je odvodená od počtu slov, ktoré dostaneme ako výsledok expanzie vstupných 64 bitových slov. Počet slov po expanzii je osemdesiat, pričom každé slovo má 64 bitov. Jedno slovo teda v pamäti procesora zaberá dve pamäťové miesta, preto veľkosť pracovného poľa dostaneme ako dvojnásobok počtu slov. Pri kopírovaní slov zároveň dochádza k výmene pozície horných a dolných 32 bitov, tak že do pracovného poľa sa najprv zapíše dolných 32 bitov a na nasledujúcu pozíciu horných 32 bitov. Spôsob akým sú vstupné slová uložené v pracovnom poli dokumentuje obr Po prekopírovaní obsahu vstupného bloku do pracovného poľa, funkcia začne v slučke, vypočítavať zvyšných 64 slov. V tejto slučke bolo možné využiť VLIW architektúru procesora, ktorá umožňuje vykonať v jednom cykle až štyri inštrukcie. Táto vlastnosť procesora umožnila využiť obe výpočtové jednotky procesora, pričom

32 FEI TU v Košiciach Diplomová práca Strana 26 každá jednotka vykonávala inú operáciu. Týmto sa znížil počet cyklov potrebných na expanziu vstupných slov. Problém však spôsobovalo zreťazenie s ktorým pracuje procesor. Toto zreťazenie spôsobilo, že nie v každom inštrukčnom riadku bolo možné a efektívne využiť všetky štyri inštrukcie. Tým že výsledky operácii vykonaných v danom inštrukčnom riadku neboli k dispozícii v nasledujúcom inštrukčnom riadku, vznikali prázdne cykly procesora, kedy procesor čakal na potrebné výsledky, aby mohol vykonať dané inštrukcie. Preto bolo výhodné radšej vykonať v jednom inštrukčnom riadku menej inštrukcií, ale procesor potom pracoval plynulo, bez čakania na výsledky operácii. Popis spôsobu výkonu inštrukcii, a počet cyklov kedy je výsledok k dispozícii, je opísaný v prvej kapitole tejto diplomovej práce. V nasledujúcej tabuľke je uvedený údaj o počte cyklov procesora potrebných na spracovanie jedného bloku spolu s údajom o počte cyklov, kedy procesor čakal na potrebné údaje, kvôli zreťazeniu. Počet cyklov potrebných na spracovanie jedného bloku* Počet stall cyklov pri spracovaní jedného bloku Tab. 5.1: Využitie výkonu procesora pri spracovávaní bloku *v údaji o počte cyklov sú zahrnuté aj stall cykly Keďže v niektorých inštrukčných riadkoch nebolo možné využiť všetky štyri dostupné inštrukcie, tieto prázdne miesta boli využité na načítanie inicializačných konštánt do registrov. Tieto konštanty sa síce načítavajú znova a znova pri každom opakovaní slučky, no to nemá vplyv na nárast počtu cyklov. Príklad takéhoto načítania inicializačnej konštanty je demonštrovaný na nasledujúcom inštrukčnom riadku. xlr17:16=lshift r23:22 by -6; ylr15:14=rot r23:22 by -8; xlr5:4=l[j5+10];; v uvedenom inštrukčnom riadku sa okrem logického posunu obsahu registrov xr23 a xr22 o šesť bitov vpravo a rotácie obsahu registrov yr23 a yr22 o osem bitov vpravo vykonáva načítanie inicializačnej konštanty do registrov xr5 a xr4 z pamäťového miesta daného súčtom obsahu registra j5 a konštanty 10. Po expanzii vstupných slov sa začína vykonávať hlavná slučka na výpočet hashovacích konštánt spracovávaného bloku. Táto slučka sa vykoná spolu osemdesiat krát, pričom v tejto slučke bolo možné opäť využiť VLIW architektúru procesora ako v prípade expanzie vstupných slov. Pri výkone hlavnej slučky sú použité oba výpočtové jednotky procesora, pričom v každej z nich sa vykonáva iný výpočet, takto je možné paralelne vykonávať jednotlivé časti algoritmu na výpočet hashovacích konštánt. V rámci výkonu tejto slučky, sú pri každom výpočte vypočítavané výsledné hashovacie konštanty

Úroveň strojového kódu procesor Intel Pentium Pamäťový operand Adresovanie pamäte Priama nepriama a indexovaná adresa Práca s jednorozmerným poľom Pra

Úroveň strojového kódu procesor Intel Pentium Pamäťový operand Adresovanie pamäte Priama nepriama a indexovaná adresa Práca s jednorozmerným poľom Pra Úroveň strojového kódu procesor Intel Pentium Pamäťový operand Adresovanie pamäte Priama nepriama a indexovaná adresa Práca s jednorozmerným poľom Praktické programovanie assemblerových funkcií Autor:

Podrobnejšie

Microsoft PowerPoint - Prog_p08.ppt

Microsoft PowerPoint - Prog_p08.ppt Štruktúra záznam Operácie s bitovými údajmi 1. Štruktúra záznam zložený typ štruktúry záznam varianty štruktúr záznam reprezentácia štruktúry záznam použitie štruktúry záznam v jazyku C 2. Operácie s bitovými

Podrobnejšie

Snímka 1

Snímka 1 Technická univerzita v Košiciach Fakulta elektrotechniky a informatiky Katedra elektroniky a multimediálnych telekomunikácií Študijný program: Elektronika Študent: Štefan Hedvig Vedúci práce: doc. Ing.

Podrobnejšie

Tue Oct 3 22:05:51 CEST Začiatky s jazykom C 2.1 Štruktúra programu Štruktúra programu by sa dala jednoducho popísať nasledovnými časťami, kto

Tue Oct 3 22:05:51 CEST Začiatky s jazykom C 2.1 Štruktúra programu Štruktúra programu by sa dala jednoducho popísať nasledovnými časťami, kto Tue Oct 3 22:05:51 CEST 2006 2. Začiatky s jazykom C 2.1 Štruktúra programu Štruktúra programu by sa dala jednoducho popísať nasledovnými časťami, ktoré si postupne rozoberieme: dátové typy príkazy bloky

Podrobnejšie

Paralelné algoritmy, cast c. 2

Paralelné algoritmy, cast c. 2 Paralelné algoritmy, čast č. 2 František Mráz Kabinet software a výuky informatiky, MFF UK, Praha Paralelné algoritmy, 2009/2010 František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy,

Podrobnejšie

Zobrazenie čísiel v počítači Celé nezáporné čísla - čísla bez znamienka dvojková sústava iné používané sústavy - šestnástková a osmičková BCD kódovani

Zobrazenie čísiel v počítači Celé nezáporné čísla - čísla bez znamienka dvojková sústava iné používané sústavy - šestnástková a osmičková BCD kódovani Zobrazenie čísiel v počítači Celé nezáporné čísla - čísla bez znamienka dvojková sústava iné používané sústavy - šestnástková a osmičková BCD kódovanie - Binary-Coded Decimal Všetky celé čísla - čísla

Podrobnejšie

Matej Kendera - PDF, word, lucene, java

Matej Kendera - PDF, word, lucene, java Matej Kendera - PDF, word, lucene, java Indexovanie PDF a Word dokumentov na disku - Konvertovanie dokumentov do systému - Spracovanie dokumentov - Využitie Lucene, na indexáciu a vyhľadanie podobných

Podrobnejšie

NÁVRH UČEBNÝCH OSNOV PRE 1

NÁVRH  UČEBNÝCH  OSNOV  PRE  1 PROGRAMOVANIE UČEBNÉ OSNOVY do ŠkVP Charakteristika voliteľného učebného predmetu Programovanie Programovanie rozširuje a prehlbuje žiacke vedomosti z predchádzajúcich povinného predmetu Informatika. Kompetencie

Podrobnejšie

Informačné technológie

Informačné technológie Informačné technológie Piatok 15.11. 2013 Matúš Péči Barbora Zahradníková Soňa Duchovičová Matúš Gramlička Začiatok/Koniec Z K Vstup/Výstup A, B Načítanie vstupných premenných A, B resp. výstup výstupných

Podrobnejšie

Resolution

Resolution Nastavenie rozlíšenia obrazovky Kvôli podstate technológie displeja z tekutých kryštálov (LCD) je rozlíšenie obrazu vždy pevne stanovené. Najlepší výkon zobrazenia dosiahnete nastavením rozlíšenia obrazovky

Podrobnejšie

Hardwarové prerušenie Nasledujúci kód ukazuje inštaláciu obsluhy časovača vrátane jeho inicializácie // inicializace časovače, přerušení každou milise

Hardwarové prerušenie Nasledujúci kód ukazuje inštaláciu obsluhy časovača vrátane jeho inicializácie // inicializace časovače, přerušení každou milise Hardwarové prerušenie Nasledujúci kód ukazuje inštaláciu obsluhy časovača vrátane jeho inicializácie // inicializace časovače, přerušení každou milisekundu mov r1, 0 st TMRPR, r1 mov r1, 3124 st TMRCTR,

Podrobnejšie

STRUČNÝ NÁVOD KU IP-COACHU

STRUČNÝ NÁVOD KU IP-COACHU STRUČNÝ NÁVOD KU COACHU 6 Otvorenie programu a voľba úlohy na meranie Otvorenie programu Program COACH na meranie otvoríme kliknutím na ikonu Autor na obrazovke, potom zvolíme Užívateľskú úroveň Pokročilý

Podrobnejšie

Microsoft Word - 06b976f06a0Matice - Uzivatelska Dokumentacia

Microsoft Word - 06b976f06a0Matice - Uzivatelska Dokumentacia Matice Užívateľská dokumentácia k programu Autor: Miroslav Jakubík 2009 Obsah 1 Úvod... 2 1.1 Stručný popis programu... 2 1.2 Spustenie programu... 2 1.3 Otvorenie dokumentu... 3 1.4 Ovládanie programu...

Podrobnejšie

Matematický model činnosti sekvenčného obvodu 7 MATEMATICKÝ MODEL ČINNOSTI SEKVENČNÉHO OBVODU Konečný automat predstavuje matematický model sekvenčnéh

Matematický model činnosti sekvenčného obvodu 7 MATEMATICKÝ MODEL ČINNOSTI SEKVENČNÉHO OBVODU Konečný automat predstavuje matematický model sekvenčnéh 7 MTEMTICKÝ MODEL ČINNOSTI SEKVENČNÉHO OBVODU Konečný automat predstavuje matematický model sekvenčného obvodu. Konečný automat je usporiadaná pätica = (X, S, Y, δ, λ,) (7.) kde X je konečná neprázdna

Podrobnejšie

Externé mediálne karty Používateľská príručka

Externé mediálne karty Používateľská príručka Externé mediálne karty Používateľská príručka Copyright 2006 Hewlett-Packard Development Company, L.P. Logo SD je obchodná známka svojho vlastníka. Java je obchodná známka spoločnosti Sun Microsystems,

Podrobnejšie

Organizácia počítačových systémov Procesory Vnútorná pamäť Vonkajšie pamäte Vstupné a výstupné zariadenia Autor: Peter Tomcsányi Niektoré práva vyhrad

Organizácia počítačových systémov Procesory Vnútorná pamäť Vonkajšie pamäte Vstupné a výstupné zariadenia Autor: Peter Tomcsányi Niektoré práva vyhrad Organizácia počítačových systémov Procesory Vnútorná pamäť Vonkajšie pamäte Vstupné a výstupné zariadenia Autor: Peter Tomcsányi Niektoré práva vyhradené v zmysle licencie Creative Commons http://creativecommonsorg/licenses/by-nc-sa/3/

Podrobnejšie

Paralelné algoritmy, cast c. 3

Paralelné algoritmy, cast c. 3 Paralelné algoritmy, čast č. 3 František Mráz Kabinet software a výuky informatiky, MFF UK, Praha Paralelné algoritmy, 2009/2010 František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 3 Paralelné algoritmy,

Podrobnejšie

Študijný program (Študijný odbor) Školiteľ Forma štúdia Téma Elektronické zbraňové systémy (8.4.3 Výzbroj a technika ozbrojených síl) doc. Ing. Martin

Študijný program (Študijný odbor) Školiteľ Forma štúdia Téma Elektronické zbraňové systémy (8.4.3 Výzbroj a technika ozbrojených síl) doc. Ing. Martin doc. Ing. Martin Marko, CSc. e-mail: martin.marko@aos.sk tel.: 0960 423878 Metódy kódovania a modulácie v konvergentných bojových rádiových sieťach Zameranie: Dizertačná práca sa bude zaoberať modernými

Podrobnejšie

Počítačové siete DOCSIS

Počítačové siete DOCSIS Počítačové siete DOCSIS DOCSIS Data Over Cable Service Interface Specif. používaný na prenos IP paketov cez rozvody káblovej TV využíva koaxiálne / hybridné siete hybridné = kombinácia optických káblov

Podrobnejšie

Centrum vedecko-technických informácií, Odbor pre hodnotenie vedy, Oddelenie pre hodnotenie publikačnej činnosti Vyhľadávanie a práca so záznamami - C

Centrum vedecko-technických informácií, Odbor pre hodnotenie vedy, Oddelenie pre hodnotenie publikačnej činnosti Vyhľadávanie a práca so záznamami - C Centrum vedecko-technických informácií, Odbor pre hodnotenie vedy, Oddelenie pre hodnotenie publikačnej činnosti Vyhľadávanie a práca so záznamami - CREPČ 2 Manuál pre autorov (aktualizované dňa 18.3.2019)

Podrobnejšie

PowerPoint Presentation

PowerPoint Presentation ColdFire Embedded Controllers Ing. Michal Varchola Miso.Varchola@tuke.sk 21.11.2007 TUKE FEI KEMT 2007 1 Úvod Motorola Freescale Semiconductor Freescale Semiconductor: 8, 16, 32 bit MCU & MPU Digitálne

Podrobnejšie

Súkromné gymnázium, Česká 10, Bratislava INFORMATIKA

Súkromné gymnázium, Česká 10, Bratislava INFORMATIKA Súkromné gymnázium, Česká 10, 831 03 Bratislava INFORMATIKA ÚVOD Cieľom maturitnej skúšky z informatiky je zistiť u žiakov najmä úroveň: - schopností riešiť algoritmické problémy, - schopností zdokumentovať

Podrobnejšie

Microsoft Word - zapis-predmetov-AiS

Microsoft Word - zapis-predmetov-AiS Zápis predmetov do AiS na aktuálny akademický rok Pred zápisom predmetov Vám odporúčame pozorne si prečítať študijný plán pre Váš študijný program. Môžete si ho zobraziť v AiSe kliknutím na "Študijné programy"

Podrobnejšie

Microsoft Word - prirucka_katedry_nova

Microsoft Word - prirucka_katedry_nova Práca v systéme BUXUS Príručka pre katedrových redaktorov Michal Minarik michal.minarik@stuba.sk 2 Obsah Prihlásenie do systému BUXUS... 3 Prihlasovacie údaje... 3 Prihlasovacia obrazovka... 3 Úvodné menu...

Podrobnejšie

Úvod do lineárnej algebry Monika Molnárová Prednášky 2006

Úvod do lineárnej algebry Monika Molnárová Prednášky 2006 Úvod do lineárnej algebry Monika Molnárová Prednášky 2006 Prednášky: 1. 3. marca 2006 2. 10. marca 2006 c RNDr. Monika Molnárová, PhD. Obsah 1 Aritmetické vektory a matice 4 1.1 Aritmetické vektory........................

Podrobnejšie

Katalóg cieľových požiadaviek k maturitnej skúške

Katalóg  cieľových požiadaviek  k maturitnej skúške CIEĽOVÉ POŽIADAVKY NA VEDOMOSTI A ZRUČNOSTI MATURANTOV Z INFORMATIKY BRATISLAVA 2019 Schválilo Ministerstvo školstva, vedy, výskum a športu Slovenskej republiky dňa 12. júna 2019 pod číslom 2019/2049:2-A1020

Podrobnejšie

SK MATEMATICKA OLYMPIADA 2010/ ročník MO Riešenia úloh domáceho kola kategórie Z4 1. Doplň do prázdnych políčok čísla od 1 do 7 každé raz tak,

SK MATEMATICKA OLYMPIADA 2010/ ročník MO Riešenia úloh domáceho kola kategórie Z4 1. Doplň do prázdnych políčok čísla od 1 do 7 každé raz tak, SK MATEMATICKA OLYMPIADA 2010/2011 60. ročník MO Riešenia úloh domáceho kola kategórie Z4 1. Doplň do prázdnych políčok čísla od 1 do 7 každé raz tak, aby matematické operácie boli vypočítané správne.

Podrobnejšie

Metódy násobenie v stredoveku

Metódy násobenie v stredoveku 1 Lucia Pekarčíková História matematiky Metódy násobenia v stredoveku (Referát) Lucia Pekarčíková 1.roč. II.stupňa Mat Inf ÚVOD V dobe ranného stredoveku sa v Európe všeobecne nepoužíval abakus, nerobili

Podrobnejšie

Elektronický ukazovateľ polohy s batériou Návod na použitie

Elektronický ukazovateľ polohy s batériou Návod na použitie Elektronický ukazovateľ polohy s batériou Návod na použitie Mechanické a elektronické vlastnosti Napájanie Životnosť batérie Display Lithium battery CR2450 3.0 V 5 rokov 5-číslicové LCD s 8mm vysokým špeciálnym

Podrobnejšie

IQ Easy firmy Simco-ION Nová generácia výrobkov pre ovládanie statickej elektriny SÚHRN: Firma Simco-ION predstavuje novú generáciu výrobkov pre elimi

IQ Easy firmy Simco-ION Nová generácia výrobkov pre ovládanie statickej elektriny SÚHRN: Firma Simco-ION predstavuje novú generáciu výrobkov pre elimi IQ Easy firmy Simco-ION Nová generácia výrobkov pre ovládanie statickej elektriny SÚHRN: Firma Simco-ION predstavuje novú generáciu výrobkov pre elimináciu statickej elektriny, elektrostatické nabíjanie

Podrobnejšie

Identity Lifecycle Management

Identity Lifecycle Management MPI tutoriál (21.3.2011) MPI Message Passing Interface 1 Systémy s distribuovanou pamäťou Autonómne procesory s vlastnou pamäťou prepojené komunikačnou sieťou Komunikácia realizovaná posielaním správ Procesory

Podrobnejšie

STRUČNÝ NÁVOD KU IP-COACHU

STRUČNÝ NÁVOD KU IP-COACHU STRUČNÝ NÁVOD KU COACHU 5 Otvorenie programu a voľba úlohy na meranie Otvorenie programu Program IP- COACH na meranie otvoríme kliknutím na ikonu na obrazovke: Obr.1 Voľba úlohy na meranie Po kliknutí

Podrobnejšie

Vzorové riešenia úlohy 4.1 Bodovanie Úvod do TI 2010 Dôvod prečo veľa z Vás malo málo bodov bolo to, že ste sa nepokúsili svoje tvrdenia dokázať, prič

Vzorové riešenia úlohy 4.1 Bodovanie Úvod do TI 2010 Dôvod prečo veľa z Vás malo málo bodov bolo to, že ste sa nepokúsili svoje tvrdenia dokázať, prič Vzorové riešenia úlohy 4.1 Bodovanie Úvod do TI 2010 Dôvod prečo veľa z Vás malo málo bodov bolo to, že ste sa nepokúsili svoje tvrdenia dokázať, pričom to je veľmi dôležitá súčasť úlohy. Body sa udeľovali

Podrobnejšie

Modem a lokálna sieť LAN Používateľská príručka

Modem a lokálna sieť LAN Používateľská príručka Modem a lokálna sieť LAN Používateľská príručka Copyright 2007 Hewlett-Packard Development Company, L.P. Informácie obsiahnuté v tomto dokumente sa môžu zmeniť bez predchádzajúceho upozornenia. Jediné

Podrobnejšie

Rollei DF-S 310 SE Užívateľský manuál

Rollei DF-S 310 SE Užívateľský manuál Užívateľský manuál Obsah balenia skener Držiaky negatívov / filmov Držiak formátu Super8 Držiak formátu 110 Podavač diapozitívov Napájací adapter káble Čistiace štetec Užívateľská príručka Osadenie negatívu

Podrobnejšie

iot business hub whitepaper isdd_em_New.pdf

iot  business hub whitepaper isdd_em_New.pdf IoT Business Hub I.S.D.D. plus, s.r.o. Pažítková 5 821 01 Bratislava 27 Slovenská republika 1 IoT Business Hub Univerzálna platforma, pre vaše dáta z akýchkoľvek IoT zariadení prostredníctvom IoT siete

Podrobnejšie

Objektovo orientované programovanie

Objektovo orientované programovanie Objektovo orientované programovanie (Inštalácia prostredia a vytvorenie jednoduchého programu) Vladislav Novák FEI STU v Bratislave 23.9.2014 Obsah Úvod... 1 Java (Java Development Kit)... 1 Inštalácia

Podrobnejšie

Microsoft Word - Priloha_1.docx

Microsoft Word - Priloha_1.docx Obsah 1 Úvod... 1 2 Hlavné menu verejnej časti ITMS2014+... 1 3 Zoznam ŽoNFP na verejnej časti ITMS2014+... 2 3.1 Vyhľadávanie ŽoNFP... 2 3.2 Horná lišta zoznamu ŽoNFP... 2 3.3 Stĺpce zoznamu ŽoNFP...

Podrobnejšie

VSDC Free Video Editor stručný návod na používanie Link na sťahovanie softvéru: K prog

VSDC Free Video Editor stručný návod na používanie Link na sťahovanie softvéru:   K prog VSDC Free Video Editor stručný návod na používanie Link na sťahovanie softvéru: http://www.videosoftdev.com/free-video-editor?avgaffiliate=3305 K programu je prístupný podrobný manuál doplnený s videotutoriálmi

Podrobnejšie

Navigácia po úvodnej stránke elektronickej schránky Dátum zverejnenia: Verzia: 10 Dátum aktualizácie: Navigácia po úvodnej st

Navigácia po úvodnej stránke elektronickej schránky Dátum zverejnenia: Verzia: 10 Dátum aktualizácie: Navigácia po úvodnej st Navigácia po úvodnej stránke elektronickej schránky UPOZORNENIE: Od 1. 1. 2019 sa mení názov odosielateľa správ z Úrad vlády Slovenskej republiky ÚPVS na Ústredný portál verejnej správy. Zoznam zmien:

Podrobnejšie

Pokrocilé programovanie XI - Diagonalizácia matíc

Pokrocilé programovanie XI - Diagonalizácia matíc Pokročilé programovanie XI Diagonalizácia matíc Peter Markoš Katedra experimentálnej fyziky F2-523 Letný semester 2015/2016 Obsah Fyzikálne príklady: zviazané oscilátory, anizotrópne systémy, kvantová

Podrobnejšie

SK_mTransfer_Technicka_dokumentacia_ indd

SK_mTransfer_Technicka_dokumentacia_ indd mtransfer Technická dokumentácia Pre externých partnerov vložka číslo: 1503/B, IČO: 36 819 638, DIČ: 2022429156, IČ DPH: SK 2022429156 tel. č.: +421 2 68 23 03 01, fax: +421 2 68 23 03 00, www., e-mail:

Podrobnejšie

GEODETICKÝ A KARTOGRAFICKÝ ÚSTAV BRATISLAVA Chlumeckého 4, Bratislava II Obsah 1. Export údajov ZBGIS do CAD formá

GEODETICKÝ A KARTOGRAFICKÝ ÚSTAV BRATISLAVA Chlumeckého 4, Bratislava II     Obsah 1. Export údajov ZBGIS do CAD formá GEODETICKÝ A KARTOGRAFICKÝ ÚSTAV BRATISLAVA Chlumeckého 4, 827 45 Bratislava II www.gku.sk, www.geoportal.sk Obsah 1. Export údajov ZBGIS do CAD formátu (DGN, DXF) pomocou Konverznej služby... 2 Konverzia

Podrobnejšie

Inteligentné rozhodovacie systémy Heuristické prehľadávanie SP Október, 2018 Katedra kybernetiky

Inteligentné rozhodovacie systémy Heuristické prehľadávanie SP   Október, 2018 Katedra kybernetiky Inteligentné rozhodovacie systémy Heuristické prehľadávanie SP Marian.Mach@tuke.sk http://people.tuke.sk/marian.mach Október, 2018 Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 1 Best-first

Podrobnejšie

gis5 prifuk

gis5 prifuk Úrovne implementácie vektorového GIS. Eva Mičietová Univerzita Komenského v Bratislave Prírodovedecká fakulta Katedra kartografie, geoinformatiky a diaľkového prieskumu zeme Email: miciet@fns.uniba.sk

Podrobnejšie

Pomôcka Setup Používateľská príručka

Pomôcka Setup Používateľská príručka Pomôcka Setup Používateľská príručka Copyright 2007, 2008 Hewlett-Packard Development Company, L.P. Windows je ochranná známka spoločnosti Microsoft Corporation registrovaná v USA. Informácie obsiahnuté

Podrobnejšie

NSK Karta PDF

NSK Karta PDF Názov kvalifikácie: Architekt informačných systémov Kód kvalifikácie U2511002-01348 Úroveň SKKR 6 Sektorová rada IT a telekomunikácie SK ISCO-08 2511002 / IT architekt, projektant SK NACE Rev.2 J INFORMÁCIE

Podrobnejšie

SLOVENSKÁ TECHNICKÁ UNIVERZITA V BRATISLAVE Fakulta informatiky a informačných technológií STU Ústav počítačových systémov a sietí ZADANIE SEMESTRÁLNE

SLOVENSKÁ TECHNICKÁ UNIVERZITA V BRATISLAVE Fakulta informatiky a informačných technológií STU Ústav počítačových systémov a sietí ZADANIE SEMESTRÁLNE Riešitelia: Bc. Michal Behúň Názov projektu: Napájací zdroj ovládaný cez sériové rozhranie počítača Navrhnite a zrealizujte zdroj napätia od 0 do 10 V ovládaný cez sériové rozhranie počítača na báze mikropočítača

Podrobnejšie

1 Portál pre odborné publikovanie ISSN Heuristický adaptívny PSD regulátor založený na miere kmitavosti Šlezárová Alexandra Elektrotechnika

1 Portál pre odborné publikovanie ISSN Heuristický adaptívny PSD regulátor založený na miere kmitavosti Šlezárová Alexandra Elektrotechnika 1 Portál pre odborné publikovanie ISSN 1338-0087 Heuristický adaptívny PSD regulátor založený na miere kmitavosti Šlezárová Alexandra Elektrotechnika 28.04.2010 Článok spočíva v predstavení a opísaní algoritmu

Podrobnejšie

Úroveň strojového kódu procesor Intel Pentium Úvod Štruktúra procesorov Intel Pentium Základné inštrukcie Vetvenia a cykly Praktické programovanie jed

Úroveň strojového kódu procesor Intel Pentium Úvod Štruktúra procesorov Intel Pentium Základné inštrukcie Vetvenia a cykly Praktické programovanie jed Úroveň strojového kódu procesor Intel Pentium Úvod Štruktúra procesorov Intel Pentium Základné inštrukcie Vetvenia a cykly Praktické programovanie jednoduchých assemblerových funkcií Autor: Peter Tomcsányi,

Podrobnejšie

Microsoft Word - Zmeny v dlhodobom majetku.docx

Microsoft Word - Zmeny v dlhodobom majetku.docx Zmeny v dlhodobom majetku s dopadom na DPPO A) Úprava základu dane pri osobných automobiloch so vstupnou cenou 48 000 Eur a viac Ak je v evidencii majetku osobný automobil so vstupnou cenou 48 000 Eur

Podrobnejšie

aplikácia do mobilého telefónu na stiahnutie digitálneho tachografu

aplikácia do mobilého telefónu na stiahnutie digitálneho tachografu aplikácia do mobilého telefónu na stiahnutie digitálneho tachografu 1. Ako zistiť či je mobil vhodný na používanie DigiDown GO Vzhľadom na rôznorodosť výrobcov mobilných telefónov, rôznorodosť systémov

Podrobnejšie

enum

enum Objektovo orientované programovanie (enumeračné typy) 8. prednáška (3. časť) Vladislav Novák FEI STU v Bratislave 4.11.2014 (úprava 10.11. na str. 1, 3, 5) Enumeračné typy (Vymenované typy) Enumeračný

Podrobnejšie

ECDL Syllabus V50 SK-V01

ECDL Syllabus V50  SK-V01 SYLLABUS ECDL Modul Computing, M16 (Základy informatického myslenia a programovania) Sylabus, verzia 1.0 ECDL Module Computing Syllabus Version 1.0 Účel Tento dokument uvádza v plnom znení sylabus pre

Podrobnejšie

Digitálne technológie v každodennom živote 3. ročník akademický rok 2019/2020 Harmonogram prednášok

Digitálne technológie v každodennom živote 3. ročník akademický rok 2019/2020 Harmonogram prednášok Digitálne technológie v každodennom živote 3. ročník akademický rok 2019/2020 Harmonogram prednášok Zimný semester akademického roka 2019/2020 13.09.2019 o 9:00 1. Modul Grafika a Textový editor Obrázky:

Podrobnejšie

PowerPoint Presentation

PowerPoint Presentation Využitie web služieb na vývoj online aplikácií Katarína Žáková Slovenská technická univerzita v Bratislave Fakulta elektrotechniky a informatiky Ústav automobilovej mechatroniky katarina.zakova@stuba.sk

Podrobnejšie

NSK Karta PDF

NSK Karta PDF Názov kvalifikácie: Projektový manažér pre informačné technológie Kód kvalifikácie U2421003-01391 Úroveň SKKR 7 Sektorová rada IT a telekomunikácie SK ISCO-08 2421003 / Projektový špecialista (projektový

Podrobnejšie

Manuál aplikácie eoev

Manuál aplikácie eoev Manuál aplikácie eoev Obsah Zmeny v dokumente... 3 Informácie o aplikácii... 4 Určenie... 4 Funkcie... 4 Požiadavky... 4 Inštalácia aplikácie... 5 Používanie aplikácie... 6 Spustenie... 6 Popis hlavného

Podrobnejšie

Microsoft Word - 18.doc

Microsoft Word - 18.doc 96 ZARIADENIE NA ZÍSKAVANIE ELEKTRICKÝCH VELIČÍN OBEHOVÉHO ČERPADLA SLNEČNÉHO KOLEKTORA PAULOVIČ Stanislav - MAKVA Martin Abstrakt: Príspevok oboznamuje s možnosťou automatického merania elektrických veličín.

Podrobnejšie

Pripojenie sa na počítač a ovládanie vzdialenej obrazovky cez CM Remote

Pripojenie sa na počítač a ovládanie vzdialenej obrazovky cez CM Remote Pripojenie sa na vzdialenú plochu - podrobný popis, ako sa pripojiť k vzdialenej ploche. Ovládanie vzdialenej plochy - vysvetlenie všetkých funkcií, ktoré možno využiť pri ovládaní vzdialenej plochy. Pripojenie

Podrobnejšie

Informačný systém pre externú časť a písomnú formu internej časti maturitnej skúšky Informačný systém pre EČ a PFIČ maturitnej skúšky Užívateľská prír

Informačný systém pre externú časť a písomnú formu internej časti maturitnej skúšky Informačný systém pre EČ a PFIČ maturitnej skúšky Užívateľská prír Informačný systém pre EČ a PFIČ maturitnej skúšky Užívateľská príručka pre opravný termín EČ a PFIČ Máj 2019 Obsah 1. ZÁKLADNÉ POKYNY... 3 2. ÚDAJE O ŠKOLE... 4 2.1 KONTROLA A ZMENA ÚDAJOV... 4 2.2 ZMENA

Podrobnejšie

Používateľská príručka POUŽÍVATEĽSKÁ PRÍRUČKA Generátor XML dávok pre Informačný systém kontrolných známok z MS Excel šablóny Dátum: Verzia

Používateľská príručka POUŽÍVATEĽSKÁ PRÍRUČKA Generátor XML dávok pre Informačný systém kontrolných známok z MS Excel šablóny Dátum: Verzia Používateľská príručka POUŽÍVATEĽSKÁ PRÍRUČKA Generátor XML dávok pre Informačný systém kontrolných známok z MS Excel šablóny Dátum: 23.05.2017 Verzia aplikácie: 1.12 Strana 2 / 11 Zmenená funkcionalita

Podrobnejšie

test z informatiky - hardvér Test vytvoril Stanislav Horváth Vstupno - výstupné zariadenia Otázka č.1: Aké zariadenie je na obrázku? (1 bod) a) vstupn

test z informatiky - hardvér Test vytvoril Stanislav Horváth Vstupno - výstupné zariadenia Otázka č.1: Aké zariadenie je na obrázku? (1 bod) a) vstupn test z informatiky - hardvér Test vytvoril Stanislav Horváth Vstupno - výstupné zariadenia Otázka č.1: Aké zariadenie je na obrázku? a) vstupno - výstupné b) vstupné c) výstupné Otázka č.2: Aké zariadenie

Podrobnejšie

Microsoft Word - 6 Výrazy a vzorce.doc

Microsoft Word - 6 Výrazy a vzorce.doc 6 téma: Výrazy a vzorce I Úlohy na úvod 1 1 Zistite definičný obor výrazu V = 4 Riešte sústavu 15 = 6a + b, = 4a c, 1 = 4a + b 16c Rozložte na súčin výrazy a) b 4 a 18, b) c 5cd 10c d +, c) 6 1 s + z 4

Podrobnejšie

Aktion.NEXT Novinky vo verzii 1.9

Aktion.NEXT Novinky vo verzii 1.9 Aktion.NEXT Novinky vo verzii 1.9 Windows aplikácia Nové moduly a funkcionalita Prídavné moduly rozširujú systém Aktion.NEXT o dodatočné agendy a funkcie. Môže sa jednať o úplne novú funkcionalitu, ktorá

Podrobnejšie

Pracovný postup pre vypĺňanie údajov elektronického formulára IŠIS pre spravodajskú jednotku 1

Pracovný postup pre vypĺňanie údajov elektronického formulára IŠIS pre spravodajskú jednotku 1 Pracovný postup pre vypĺňanie údajov elektronického formulára IŠIS pre spravodajskú jednotku 1 Prihláste sa do aplikácie pomocou prihlasovacích údajov pre spravodajskú jednotku. Link na aplikáciu: http://isis.statistics.sk/

Podrobnejšie

FAQ

FAQ Import skladových kariet Potrebujete si preniesť do programu OMEGA zoznam skladových kariet, prípadne nový cenník z Excelu? Vyžite funkciu importu skladových kariet: V menu Sklad Skladové karty potvrdíme

Podrobnejšie

Prevodník USB/20mA

Prevodník USB/20mA PREVODNÍK USB / 20mA DX5220 obj. č. K4133 Návod na obsluhu Námestovo, september 2006 A0881.doc 06/2007 Obsah 1. ÚVOD...2 2. OBSLUHA ZARIADENIA...2 2.1. POPIS PREVODNÍKA... 2 2.2. INŠTALÁCIA OVLÁDAČA...

Podrobnejšie

DJ 1T ID ver 1.2 Návod na použitie Návod na použitie Dverná jednotka DJ 1T ID Strana 1

DJ 1T ID ver 1.2 Návod na použitie Návod na použitie Dverná jednotka DJ 1T ID Strana 1 Návod na použitie Dverná jednotka DJ 1T ID Strana 1 Mechanické časti a ich funkcie 1 Montáž 1.1 Pripojenie káblov JP / LK: Prepínač typu ovládania zámku, interným napájaním / ovládacím relé (kapitola 1.5.1,

Podrobnejšie

Sila [N] Sila [N] DIPLOMOVÁ PRÁCA Príloha A: Sila v ose skrutky v mieste predpätia P = 0,

Sila [N] Sila [N] DIPLOMOVÁ PRÁCA Príloha A: Sila v ose skrutky v mieste predpätia P = 0, Príloha A: Sila v ose skrutky v mieste predpätia P =, Sila v ose skrutky v mieste predpätia P =, Obr. Priebeh síl v ose skrutiek pri stúpaní P =, a P =, ÚMTMB FSI VUT v Brně Sila v ose skrutky v mieste

Podrobnejšie

A51

A51 Mobilné siete Univerzita Komenského, 2019 Mgr. Ján Kotrady Kľúčové slová Ki Kc RAND SRES (XRES) RES A3, A5 IMSI 15 čísel AUTN, MAC, SQN Kľúčové slová USIM - Universal Subscriber Identity Module UE - User

Podrobnejšie

fm 2012 a predajňa.doc

fm 2012 a predajňa.doc WISP Predajňa a FM od 01.01.2012 Od verzie programu 165.2928 a DB 165.1079 sú v programe doplnené a doladené úpravy pre užívateľov WISPu, modulu Predajňa. Potrebné nastavenia modulu Predajňa a Fiškálneho

Podrobnejšie

Slide 1

Slide 1 Programové zmeny v PS ODBYT ver. 1.230 1. Zápis dokladov 1.1. Výdaj externý 1.2. Zápis VS v hlavičke faktúry 1.3. Prenos daňovej povinnosti Novelou zákona s účinnosťou od 1.1.2018

Podrobnejšie

MATEMATICKÁ OLYMPIÁDA NA STREDNÝCH ŠKOLÁCH 54. ročník, školský rok 2004/2005 Zadania úloh 3. kola kategórie P 1. súťažný deň Na riešenie úloh máte 4.5

MATEMATICKÁ OLYMPIÁDA NA STREDNÝCH ŠKOLÁCH 54. ročník, školský rok 2004/2005 Zadania úloh 3. kola kategórie P 1. súťažný deň Na riešenie úloh máte 4.5 MATEMATICKÁ OLYMPIÁDA NA STREDNÝCH ŠKOLÁCH 54. ročník, školský rok 2004/2005 Zadania úloh 3. kola kategórie P 1. súťažný deň Na riešenie úloh máte 4.5 hodiny čistého času. Riešenie každého príkladu musí

Podrobnejšie

PL_FMS5713_004_

PL_FMS5713_004_ Obj. kód: FMS5713 Capture Box Popis Capture box je analógovo-digitálny prevodník kompozitných AV vstupov (DVB-T, DVB-S, DVD prehrávač, USB (MP3/MP4) prehrávač, CCD kamera a pod. ) do MOD systému. K MOD

Podrobnejšie

0022-vub-mobilne-tokeny-200x200-v03.indd

0022-vub-mobilne-tokeny-200x200-v03.indd MOBILNÝ TOKEN Sprievodca aktiváciou a používaním VŠETKO, ČO JE MOŽNÉ www.vub.sk, 0850 123 000 Bank of 1. ČO JE MOBILNÝ TOKEN Mobilný Token je aplikácia v mobilnom telefóne, ktorá umožňuje jednoducho potvrdzovať

Podrobnejšie

Prenosový kanál a jeho kapacita

Prenosový kanál a jeho kapacita Prenosový kanál a jeho kapacita Stanislav Palúch Fakulta riadenia a informatiky, Žilinská univerzita 5. mája 2011 Stanislav Palúch, Fakulta riadenia a informatiky, Žilinská univerzita Prenosový kanál a

Podrobnejšie

PoĊítaĊová sieť

PoĊítaĊová sieť Počítačová sieť Def. 1: Systém vzájomne prepojených a spolupracujúcich PC Def. 2 Skupina PC (minimálne dvoch), ktoré sú navzájom prepojené takým spôsobom, že je možný prenos dát medzi nimi. Druhy počítačov

Podrobnejšie

SLOVENSKÁ TECHNICKÁ UNIVERZITA V BRATISLAVE FAKULTA INFORMATIKY A INFORMAČNÝCH TECHNOLÓGIÍ Metodika archivácie verzií HW Tímový projekt Stratos FIIT M

SLOVENSKÁ TECHNICKÁ UNIVERZITA V BRATISLAVE FAKULTA INFORMATIKY A INFORMAČNÝCH TECHNOLÓGIÍ Metodika archivácie verzií HW Tímový projekt Stratos FIIT M SLOVENSKÁ TECHNICKÁ UNIVERZITA V BRATISLAVE FAKULTA INFORMATIKY A INFORMAČNÝCH TECHNOLÓGIÍ Metodika archivácie verzií HW Tímový projekt Stratos FIIT MANAŽMENT V SOFTVÉROVOM INŽINIERSTVE 2016 Ján Pánis

Podrobnejšie

Návod na vytvorenie kvalifikovaného elektronického podpisu prostredníctvom občianskeho preukazu s čipom Dátum zverejnenia: Verzia: 1 Dátu

Návod na vytvorenie kvalifikovaného elektronického podpisu prostredníctvom občianskeho preukazu s čipom Dátum zverejnenia: Verzia: 1 Dátu Návod na vytvorenie kvalifikovaného elektronického podpisu prostredníctvom občianskeho preukazu s čipom Na Ústrednom portáli verejnej správy www.slovensko.sk (ďalej aj ÚPVS ) môžete podpísať formuláre

Podrobnejšie

SAEAUT SNMP OPC Server

SAEAUT SNMP OPC Server SAEAUT SNMP OPC Server Monitoring a riadenie s využitím SNMP protokolu a prepojenie s inými systémami cez OPC. SAE Automation, s.r.o., Nová Dubnica Interoperabilita pre Vaše zariadenia a softvérové aplikácie

Podrobnejšie

Vnútorná reprezentácia údajových typov

Vnútorná reprezentácia údajových typov Základné princípy zobrazovania informácií v počítači Roman Horváth, Pedagogická fakulta, Trnavská univerzita v Trnave. roman.horvath@truni.sk Kódovanie Kód súbor znakov (vzorov) určených na zaznamenávanie

Podrobnejšie

MO_pred1

MO_pred1 Modelovanie a optimalizácia Ľudmila Jánošíková Katedra dopravných sietí Fakulta riadenia a informatiky Žilinská univerzita, Žilina Ludmila.Janosikova@fri.uniza.sk 041/5134 220 Modelovanie a optimalizácia

Podrobnejšie

dFlex Nitra spol. s r.o.

dFlex Nitra spol. s r.o. dflex, spol. s r. o. E.F.Scherera 17, 921 01 Piešťany Tel: +421 (0)33 3260400 Fax: +421 (0)33 7724086 IČO: 31418341 IČ DPH: SK2020395806 e-mail: sap.support@dflex.sk internet: www.dflex.sk REG: Okresný

Podrobnejšie

Podvojné účtovníctvo, fakturácia a sklad ekasa: štandardný predaj priamo z programu Pri predaji s priamym napojením na softvér je potrebné mať online

Podvojné účtovníctvo, fakturácia a sklad ekasa: štandardný predaj priamo z programu Pri predaji s priamym napojením na softvér je potrebné mať online ekasa: štandardný predaj priamo z programu Pri predaji s priamym napojením na softvér je potrebné mať online registračnú pokladnicu (ďalej ORP) neustále pripojenú k počítaču, teda k programu OMEGA. Zároveň

Podrobnejšie

Xesar Softvér Stručný návod

Xesar Softvér Stručný návod Xesar Softvér Stručný návod Pridanie osoby Nový zamestnanec nastupuje do firmy Povinné polia treba bezpodmienečne vyplniť (meno a priezvisko) Prideľte osobe podľa potreby oprávnenie pre Manuálne trvalé

Podrobnejšie

trafo

trafo Výpočet rozptylovej reaktancie transformátora Vo väčších transformátoroch je X σk oveľa väčšia ako R k a preto si vyžaduje veľkú pozornosť. Ak magnetické napätia oboch vinutí sú presne rovnaké, t.j. N

Podrobnejšie

Microsoft PowerPoint - OOP_prednaska_10.pptx

Microsoft PowerPoint - OOP_prednaska_10.pptx Creational Design Patterns Lecture #10 doc. Ing. Martin Tomášek, PhD. Department of Computers and Informatics Faculty of Electrical Engineering and Informatics Technical University of Košice 2018/2019

Podrobnejšie

Úvod

Úvod Žilinská univerzita v Žiline Fakulta stavebná XX. ročník súťaže Študentskej vedeckej a odbornej činnosti stavebných fakúlt Českej a Slovenskej republiky Akademický rok 2018/2019 Názov práce ŠVOČ Meno a

Podrobnejšie

Novinky programu MSklad

Novinky programu MSklad Novinky v programe MSklad 1.51 Poznámka v receptúre V receptúre je možné po novom pripísať ku každej položke poznámku, ktorá sa potom zobrazí pri tlači delenej žiadanky a voliteľne tiež pri tlači komplexnej

Podrobnejšie

Teória pravdepodobnosti Zákony velkých císel

Teória pravdepodobnosti Zákony velkých císel 10. Zákony veľkých čísel Katedra Matematických metód Fakulta Riadenia a Informatiky Žilinská Univerzita v Žiline 6. apríla 2014 1 Zákony veľkých čísel 2 Centrálna limitná veta Zákony veľkých čísel Motivácia

Podrobnejšie

Criss Cross je 3-valcový výherný prístroj, ktorý sa hrá až na 27 výherných líniách na všetkých pozíciách valcov. Hra je prístupná aj prostredníctvom m

Criss Cross je 3-valcový výherný prístroj, ktorý sa hrá až na 27 výherných líniách na všetkých pozíciách valcov. Hra je prístupná aj prostredníctvom m Criss Cross je 3-valcový výherný prístroj, ktorý sa hrá až na 27 výherných líniách na všetkých pozíciách valcov. Hra je prístupná aj prostredníctvom mobilnej verzie, pričom pravidlá hry, vklady a výhry

Podrobnejšie

Súhrnné špecifikácie

Súhrnné špecifikácie Dell Inspiron 560/570: Komplexné technické údaje Tento dokument ponúka informácie, ktoré by ste mohli potrebovať pri nastavovaní, aktualizovaní ovládačov a inovovaní počítača. POZNÁMKA: Ponuka sa môže

Podrobnejšie

Sprievodný list SofComs.r.o., Priemyselná 1, Liptovský Mikuláš Program basic.sk Verzia ( ) Dátum Autor Ing. J. Malíček

Sprievodný list SofComs.r.o., Priemyselná 1, Liptovský Mikuláš Program basic.sk Verzia ( ) Dátum Autor Ing. J. Malíček Sprievodný list SofComs.r.o., Priemyselná 1, 031 01 Liptovský Mikuláš Program basic.sk Verzia 3.01.11 (3.02.01) Dátum 20.12.2017 Autor Ing. J. Malíček, Z. Patka Hot - line 044/562 41 97-8 Vážený používateľ

Podrobnejšie

Microsoft Word - pk07033_03.rtf

Microsoft Word - pk07033_03.rtf O d ô v o d n e n i e A. Všeobecná časť Návrh vyhlášky Ministerstva spravodlivosti Slovenskej republiky, ktorou sa mení a dopĺňa vyhláška Ministerstva spravodlivosti Slovenskej republiky č. 25/2004 Z.

Podrobnejšie

(Microsoft Word - Tuzemsk\341 a zahrani\350n\341 jazda \232tandardn\341 jazda.docx)

(Microsoft Word - Tuzemsk\341 a zahrani\350n\341 jazda \232tandardn\341 jazda.docx) Vytvorenie tuzemskej a zahraničnej jazdy, štandardná jazda V postupe sú uvedené kroky, ktorými môžeme rýchlo a jednoducho vytvoriť ďalšie jazdy a cestovné príkazy pomocou štandardných jázd. Tuzemská jazda

Podrobnejšie

Ministerstvo pôdohospodárstva a rozvoja vidieka Slovenskej republiky ako Riadiaci orgán pre Integrovaný regionálny operačný program vydáva dokument AK

Ministerstvo pôdohospodárstva a rozvoja vidieka Slovenskej republiky ako Riadiaci orgán pre Integrovaný regionálny operačný program vydáva dokument AK Ministerstvo pôdohospodárstva a rozvoja vidieka Slovenskej republiky ako Riadiaci orgán pre Integrovaný regionálny operačný program vydáva dokument AKTUALIZÁCIA č. 1 k výzve na predkladanie projektových

Podrobnejšie

Ako hrat Burlesque Queen V 1.4

Ako hrat Burlesque Queen V 1.4 Burlesque Queen je 5-valcový, multi-líniový výherný video prístroj. Hrať možno na dvadsaťjeden fixných herných líniách. Hráč sa tu stretne s rôznymi hernými prvkami ako bonusová hra, voľné spiny. Hra je

Podrobnejšie

Agenda záverečnej práce pedagóg Celá agenda týkajúca sa záverečnej práce je dostupná v obrazovke Záverečná práca (menu Agenda pedagóga -> Záverečné pr

Agenda záverečnej práce pedagóg Celá agenda týkajúca sa záverečnej práce je dostupná v obrazovke Záverečná práca (menu Agenda pedagóga -> Záverečné pr Agenda záverečnej práce pedagóg Celá agenda týkajúca sa záverečnej práce je dostupná v obrazovke Záverečná práca (menu Agenda pedagóga -> Záverečné práce). ZP1 odovzdanie záverečnej práce blok je prístupný

Podrobnejšie

User:tomas.melicher

User:tomas.melicher User:tomas.melicher 1 Úvod do problematiky Databáza internetovej encyklopédie freebase má v komprimovanom tvare zhruba 30 GB a v nekomprimovanom zhruba 300 GB. Vyhľadávať v takejto rozsiahlej databáze

Podrobnejšie