====== Tahák ====== ===== StateCharts ===== * Rozšíření nedeterministického KA * Synchronní komunikační mechanizmus * Přechod na základě detekce události reset ===== Diskrétní události ===== * Globální čas * Událost kdykoliv asynchronně * Výpočet daného bloku v nanosekundách ===== Codesign konečné automaty ===== * Kombinace nedeterministických konečných automatů a diskrétních událostí * Lokálně synchronní a globálně asynchronní * Neblokující buffery s konečnou velikostí -- lze je přeplnit ===== VLIW ===== * Více funkčních jednotek * Load/store architektura ===== Souběžnost řízená tokem dat ===== * Datové závislosti mezi operandy ===== Behaviorální hierarchie ===== * Dekompozice popisu chování úlohy * Konec = výpočet všech podúloh v dané hierarchii ===== Komunikace ===== * Čtení sdíleného média * Zprávy přes abstraktní kanály ===== Synchronizace ===== * Souběžně probíhající úlohy * Společné hodinové signály ===== SpecCharts ===== * Program state machine * Sdílená paměť __a__ zasílání zpráv * Přechody po ukončení stavu, __nebo__ vyjímka ===== Rozdělování ===== * Exponenciální časová složitost ===== Univerzální standardní modelovací jazyk ===== * Neexistuje * Překlad front-end -> standardní ===== Hierarchický clustering ===== * Průměr hran //do kříže//((Je to složitější, ale u zkoušek to stačilo :-D)) {{http://wiki.fituska.eu/images/f/f9/Hsc-clustering.png}} ===== Stupeň využití ===== * Slack je zbytek do celého clocku (operace, která trvá 1,1 CLK má slack 90 %). * Pak se jen vynásobí slacky počty operací a sečte se to. ===== Doba výpočtu ===== Cílem je nejmenší doba výpočtu.((V zadání může být něco jiného!)) {{http://wiki.fituska.eu/images/2/2d/2007-2008-1-termin-B-1.png}} ^ Komponenta ^ Počet ^ Cena ^ Doba výpočtu ^^^^ ^:::^:::^:::^ T1 ^ T2 ^ T3 ^ T4 ^ | MIPS | 1 | 150 ^ 4 | | ^ 2 | | DSP | 1 | 90 | | 20 ^ 15 | 30 | | FPGA | 1 | 210 | ^ 11 | 9 | | *Proč u T2 a T3 právě 11 a 15? Protože 11 + 15 < 20 + 9. *A proč ne 11 a 9? Protože //max//(11, 15) < 11 + 9, no a taky proto, že máme jen jeden FPGA. Doba výpočtu = 4 + //max//(11, 15)((Musí se počkat na nejpomalejší člen)) + 2 = 4 + 15 + 2 = __21__\\ Cena = MIPS((Jen jednou, protože nejsou paralelně)) + DSP + FPGA = 150 + 90 + 210 = __450__ ===== Fidelity ===== Uděláš si dvojice ze všech možných kombinací odhadů a měření (odhad s odhadem, měření s měřením). Pak se koukneš, jestli jsou stejná znaménka nerovnosti u dvojic odhadu a měření, a výsledná fidelity je správně/dvojic. ^ ^ //A// ^ //B// ^ //C// ^ //D// ^ ^ //E// | 8 | 4 | 2 | 1 | ^ //M// | 7 | 3 | 4 | 2 | * //E//(//A//) > //E//(//B//); //M//(//A//) > //M//(//B//) ✔ * //E//(//A//) > //E//(//C//); //M//(//A//) > //M//(//C//) ✔ * //E//(//A//) > //E//(//D//); //M//(//A//) > //M//(//D//) ✔ * //E//(//B//) > //E//(//C//); //M//(//B//) < //M//(//C//) ✘ * //E//(//B//) > //E//(//D//); //M//(//B//) > //M//(//D//) ✔ * //E//(//C//) > //E//(//D//); //M//(//C//) > //M//(//D//) ✔ 5/6 = __83 %__ ===== Struktury ===== ^ AND ^ OR ^ Struktura ^ | Fixní | Programovatelné | ROM | | Programovatelné | Programovatelné | PLA | | Programovatelné | Fixní | PAL | ===== Amdahlův zákon ===== //Speedup// = (//sekvenční// + //paralelizovatelné//) / (//sekvenční// + (//paralelizovatelné// / //stupeň urychlení//)) 40 % operací se podařilo urychlit dvojnásobně: 1 / (0,6 + (0,4/2)) = 1 / 0,8 = __1,25__