Teorijski uvod Lockovi Uvod Dostignut teoretski maksimum single-thread performansi Rešenje je prona deno u paralelizmu uvo denjem više jezgara u
|
|
- Јосиф Јокановић
- пре 5 година
- Прикази:
Транскрипт
1
2 Thread i konflikti Thread predstavlja kontekst izvršavanja nekog programa Rešenje je prona deno u paralelizmu uvo denjem više Konflikt me du threadovima ne postoji ukoliko rade nad različitim jezgara u podacima jedan procesor ili nad disjunktnim celinama istih podataka/resursa Konflikt nastaje kada više threadova želi da vrši operacije nad Od sada istim pa podskupom na dalje posmatraćemo resursa sisteme koji u paralelno procesiranje
3 Bagovi Čak i kada konflikt postoji on se ne mora uvek ispoljiti Rešenje Zbog toga jebagove prona deno nije ulako paralelizmu reprodukovati uvo denjem više UPostoje obe prethodne problemi kao arhitekture deadlock, je postojala livelock i (i contention postoji) Debugging multi-thread programa je generalno veoma Od težak sada pa na dalje posmatraćemo sisteme koji u paralelno procesiranje
4 Thread safety U nastavku ćemo smatrati da su programi koje koristimo tačni To ne znači da oni neće izazvati konflikte kada se Uizvršavaju obe prethodne u više threadova arhitekture je postojala (i postoji) Zato treba da obezbedimo da oni budu thread-safe Od sada pa na dalje posmatraćemo sisteme koji u paralelno procesiranje
5 Primer arhitekture CPU CORE 1 CORE 2 CORE 8 RešenjeL1 jecache prona deno L1 CACHE u paralelizmu uvo L1 CACHE denjem više jezgara ul2 jedan CACHE procesor L2 CACHE L2 CACHE L3 CACHE MEMORY u paralelno procesiranje
6 Intel Haswell-E u paralelno procesiranje
7 Primer situacije Multi-thread program koji vrši neku komplikovanu Dostignut simulaciju teoretski maksimum single-thread performansi Za potrebe kasnije analize svaka iteracija simulacije se beleži u jedinstven log fajl koji je zajednički za sve threadove Rešenje je prona deno u paralelizmu uvo denjem više Samo beleženje se vrši pozivom konkretne funkcije writelog(text) U obe prethodne arhitekture je postojala (i postoji) Ceo mogućnost program multi-threadinga se izvršava na jednom CPU koji ima efektivno 8 jezgara podržavaju Koji su sve problemi multi-threading koje moramo da rešimo? Konkurentno pisanje u fajl? u paralelno procesiranje
8 writelog funkcija Najjednostavnija implementacija bila bi: jezgara u jedan void procesor writelog(char *text) { fprintf(out, "%s", text); U obe prethodne } arhitekture je postojala (i postoji) Od Šta sada je problem pa na ovde? dalje posmatraćemo sisteme koji u paralelno procesiranje
9 writelog funkcija cont d fprintf u ovom slučaju predstavlja critical section kod koji Dostignut samo jedan teoretski thread maksimum sme da single-thread izvršava u nekom performansi trenutku Stoga u kodu želimo da onemogućimo da više od jednog threada istovremeno piše u fajl Jedno potencijalno rešenje: void writelog(char *text) { U obe prethodne acquirelock(lock); arhitekture je postojala (i postoji) fprintf(out, "%s", text); releaselock(lock); Od sada pa} na dalje posmatraćemo sisteme koji Ali kako implementirati ove funkcije? u paralelno procesiranje
10 Prvi pokušaj void acquirelock(bool *lock) { while(true) Dostignut teoretski { maksimum single-thread performansi if(*lock == false) { *lock = true; Rešenje break; je prona deno u paralelizmu uvo denjem više jezgara } u jedan procesor } } void releaselock(bool *lock) { *lock Od sada = false; pa na dalje posmatraćemo sisteme koji } u paralelno procesiranje
11 Atomske operacije Kod sa prethodnog slajda nije tačan Potrebna Dostignutnam teoretski je posebna maksimum atomska single-thread (nedeljiva) performansi mašinska instrukcija! Za tu svrhu postoji compare_and_swap(destination, Rešenje Comparand, je prona Exchange) deno uatomska paralelizmu operacija uvokoja: denjem više jezgara postavi u jedan Exchange procesor na Destination ukoliko je prvobitna vrednost Destination bila jednaka sa Comparand U obe vrati prethodne trenutnu vrednost arhitekture Destination je postojala u suprotnom (i postoji) Ova instrukcija zavisi od arhitekture: Od sada InterlockedCompareExchange na dalje posmatraćemo MSDN sisteme operacija koji na podržavaju Windowsu multi-threading sync_val_compare_and_swap u slučaju GCC kompajlera na Linux sistemima u paralelno procesiranje
12 Test and set (TAS) lock void Dostignut acquirelock(bool teoretski maksimum *lock) { single-thread performansi while(cas(lock, false, true)) { /* Nothing */ } Rešenje je prona deno u paralelizmu uvo denjem više } void U releaselock(bool obe prethodne arhitekture *lock) { je postojala (i postoji) *lock mogućnost = false; multi-threadinga } u paralelno procesiranje
13 Test and test and set (TATAS) lock void Dostignut acquirelock(bool teoretski maksimum *lock) { single-thread performansi do { while(*lock) {} } Rešenje while(cas(lock, je prona deno false, u paralelizmu true)); uvo denjem više } void U releaselock(bool obe prethodne arhitekture *lock) { je postojala (i postoji) *lock mogućnost = false; multi-threadinga } u paralelno procesiranje
14 Problemi sa TATAS Izaziva takmičenje za isti resurs (cache liniju koja sadrži lock) blago poboljšanje u odnosu na TAS Ne postoji kontorla oko toga koji thread dobija lock (ne postoji jasna polisa zaključavanja kao na primer FCFS) Postoji problem stampeda svi threadovi istovremeno Od pokušaju sada pa da na dobiju daljelock posmatraćemo (kako ovo rešiti?) sisteme koji u paralelno procesiranje
15 Rešenje stampeda: TATAS Dostignut Možemo koristiti teoretski nekakav maksimum back-off single-thread algoritam: performansi Posmatramo lock s iteracija jezgara Ako u se jedan lock ne procesor oslobodi, čekamo lokalno w iteracija (bez posmatranja locka!) Generalno, vrednosti s i w biramo u zavisnosti od problema i Od to najčešće sada pa na koristeći dalje posmatraćemo ograničeni eksponencijalni sisteme koji back-off podržavaju (back-off se multi-threading resetuje kada se lock dobije) u paralelno procesiranje
16 Queue-based lockovi Svi threadovi koji žele da dobiju lock se postavljaju u red: odmah dobijamo first come first serve (FCFS) ponašanje Svaki thread se vrti lokalno na flagu u svom queue entry-ju: nemamo pristup dubljim slojevima memorije dok čekamo Osloba danje (release) locka budi sledeći thread direktno: Od nemamo sada pa stampeda na dalje posmatraćemo sisteme koji u paralelno procesiranje
17 MCS lock lock: Lock predstavlja rep liste QNode 1 QNode 2 QNode 3 mogućnost FALSE multi-threadinga FALSE FALSE OdGlava sada pa na dalje posmatraćemo sisteme koji Lokalni flag Rep u paralelno procesiranje
18 MCS lock acquire void acquiremcs(mcs *lock, QNode *qn) { QNode Dostignut *prev; teoretski maksimum single-thread performansi qn->flag = false; qn->next = NULL; while(true) Rešenje je prona { deno u paralelizmu uvo denjem više jezgara prev = u jedan lock->tail; procesor /* Label 1 */ U obe if(cas(&lock->tail, prethodne arhitekture prev, je postojala qn)) break; (i postoji) } if(prev!= NULL) { Odprev->next sada pa na= dalje qn; posmatraćemo /* Label 2 */ sisteme koji podržavaju while(!qn->flag) multi-threading { } // Spin } } u paralelno procesiranje
19 MCS lock release void releasemcs(mcs *lock, QNode *qn) { if(lock->tail = qn) { Rešenje if(cas(&lock->tail, je prona deno u paralelizmu qn, NULL)) return; uvo denjem više } while(qn->next == NULL) { } qn->next->flag U obe prethodne= arhitekture true; je postojala (i postoji) } u paralelno procesiranje
20 Proširimo problem Zamislimo da naš log fajl sada ima i programe koji on-line analiziraju (čitaju) log-fajl U jezgara ovom uslučaju jedan nam procesor nije dovoljno da imamo samo mutex (true/false lock) kao do sada (sem u slučaju jednog čitača) mogućnost Stoga uvodimo multi-threadinga koncept Reader-writer lockova lockova kod kojih omogućavamo da više čitača istovremeno Od pristupa sadafajlu pa na dalje posmatraćemo sisteme koji u paralelno procesiranje
21 Writer acquire i release void acquirewrite(int *lock) { do { if((*lock == 0) && (CAS(lock, 0, -1))) { break; } while(true); } void releasewrite(int *lock) { *lock = 0; } u paralelno procesiranje
22 Reader acquire i release void acquireread(int *lock) { do Dostignut { teoretski maksimum single-thread performansi int oldval = *lock; if((oldval >= 0) && Rešenje (CAS(lock, je prona deno oldval, u paralelizmu oldval+1))) uvo { denjem više jezgara break; u jedan procesor }} while (true); } void releaseread(int *lock) { FADD(lock, Od sada pa-1); na dalje // Atomic posmatraćemo fetch-and-add sisteme koji } u paralelno procesiranje
23 Drugi vidovi konkurentnog procesiranja Hijerarhijski lockovi uspostavljaju prostorno-lokalan redosled na threadove koji zahtevaju lock (npr. po jezgru na kome se izvršavaju) Čitanje U obe prethodne bez lockova arhitekture u slučajevima postojala gde se (i postoji) malo piše a puno mogućnost čita, koriste multi-threadinga se sheme kao verzioni brojevi (version number schemes) u paralelno procesiranje
24 Dodatni materijal "The art of multiprocessor programming", Herlihy & Shavit jako dobar pregled struktura podataka u deljenoj memoriji, sa praktične i teoretske tačke gledišta Uhttp:// obe prethodne arhitekture je postojala (i postoji) mogućnost synch.pdf multi-threadinga orignialni Mellor-Crummey i Scott rad iz u kojem uvode MCS lockove u paralelno procesiranje
25 Ostale teme za superskalare i Rešenjechip pronamultiprocesore deno u paralelizmu uvo denjem više
26 Ubacivanje instrukcija u prozor In order, pa to radi programski brojač, ako se nije skočilo Skakanje na osnovu predikcije! Širina reči instrukcijskog keša danas 128 do 192 bita tipično nekoliko instrukcija U slučaju da je RISC, tada su cele instrukcije u reči (bloku) Ako mogućnost je CISC multi-threadinga tada ne moraju instrukcije na početku i na kraju široke reči da budu cele!!! Moramo podržavaju da multi-threading znamo granice instrukcija, a to se može uraditi tek nakon bar delimičnog dekodovanja!!
27 Šta se ubacuje po ciklusu u prozor - RISC Pravila: 1. Ako je PC pokazao na početak bloka i nema skokova, učitavaju se dalje sve instrukcije iz bloka i šalju na paralelno dekodovanje 2. Ako je PC pokazao početak bloka, a u bloku je 1 instrukcija skoka => ako je predikcija da nema skoka učitavaju se sve instrukcije, a ako je predikcija da ima, učitavaju se sve instrukcije do instrukcije skoka i instrukcija skoka, a ostale ne ulaze u prozor 3. Ako Odje sada doskakanje pa na dalje negde posmatraćemo u sredinu sisteme bloka, ne kojiučitava se deo do tačke uskakanja, a za ostatak važi 2., ali od tačke uskakanja 3
28 Dva skoka u bloku? Kompajler može da pravi razmak između instrukcija skoka (selidbe operacija) od najmanje onoliko instrukcija koliko ih ima u bloku Rešenje je prona deno u paralelizmu uvo denjem više Limit zbog jedne predikcije po ciklusu, maksimalni U obe prethodne instrukcijski arhitekture jeparalelizam postojala (i postoji) je 6-9 instrukcija po ciklusu! (Samo DoAll traže više) Eksperimenti Od sada pa na sa daljeprediktorima posmatraćemo sisteme koji rade koji dve predikcije podržavajupo multi-threading ciklusu 4
29 Šta raditi sa CISC? Lepiti delove instrukcija iz susednih blokova, jer zauzimaju 1-17 bajta! Raditi paralelno određivanje granica instrukcija u blokovima Kako to uraditi? Prediktor nam dozvoljava da se zalećemo i da radimo prefetching i delimično dekodovanje U obe prethodne većeg arhitekture broja reči jeinstrukcijskog postojala (i postoji) keša u kompleksni mogućnostfifo multi-threadinga (in order issue) zbog paralelnog određivanja granica instrukcija Radimo prefetching većeg broja bazičnih blokova na dinamičkom tragu još pre instrukcijskog prozora!!! 5
30 Posledice dohvatanja većeg broja bazičnih blokova Potreban je trace multiportni cache za pamćenje dinamičkog traga unapred Multiportni, jer se paralelno čita na više dekodera da bi se dobile mikrooperacije to Udodaje obe prethodne protočne arhitekture stepene je postojala i povećava (i postoji) kaznu zbog mogućnost greške multi-threadinga u predikciji nije previše značajno Imamo Od sada ograničenje pa na dalje posmatraćemo u propusnosti sistemezbog koji grananja 6
31 Predobrada za instrukcijski prozor Rešenje: dohvatati reči sa instrukcijama unapred nekoliko bazičnih blokova i obezbediti brže određivanje granica instrukcija nego što će se na kraju Rešenje ubacivati je pronau deno prozor u paralelizmu Intel 50% uvoviše denjem više Sve se to radi u pipeline-u: prediktor određuje šta se Uubacuje, obe prethodne u pipeline-u arhitekturese je postojala određuju (i postoji) granice instrukcija mogućnosti multi-threadinga zatim radi dekodovanje, a na kraju postoji i queue mikroinstrukcija koje se tek onda ubacuju Od sadau pa ROB, na dalje odnosno posmatraćemo instrukcijski sistemeprozor koji (ugrađenu dataflow mašinu) 7
32 Trace Cache Ključna ideja: Pakovati više nesusednih bazičnih blokova u jednu susednu keš reč BR BR BR BR Jedno dohvatanje je dohvatanje više bazičnih blokova gube se granice bazičnih blokova Trace cache indeksira na osnovu startne adrese i sledećih n predikcija podržavaju grananja multi-threading Korišćeno od Pentium 4 procesora za čuvanje dekodovanih mikrooperacija BR BR 8
33 Trace Cache za Haswell Otkrivanje granica instrukcija Trace cache 9
34 Zavisnosti po podacima preko memorije Prave zavisnosti, antizavisnosti i izlazne zavisnosti, jer nema dinamičkog preimenovanja za memoriju Store instrukcije treba po originalnom redosledu izvršavati Rešenje je i tek prona kada denosu u paralelizmu in order (commit) uvo denjem više mali ROB jezgara za store, u jedanpa procesor zbog redosleda nema izlaznih zavisnosti Antizavisnosti U obe prethodne praktično arhitekturene je postojala mogu nastati, (i postoji) ako postoji mogućnost load multi-threadinga buffer (load nije zavisan po podacima iz registara, pa kreće odmah u izvršavanje ako nema pravih zavisnosti preko memorije) Ali tada imamo store load store problem 10
35 Load-Store redovi Zavisnosti preko memorije bi mogli da značajno ograniče performanse, zbog velike dužine pipelina za Load i Store, upisa tek kada je commit Store instrukcije i sporosti memorije Mora jezgara se ugraditi u jedan procesor kompleksna load-store reordering tehnika da se smanji efektivno kašnjenje U obe prethodne memorije arhitekture dozvoljavanjem je postojala (i postoji) spekulativnih load-a Zašto su spekulativni? ne znamo da li neka ranija store instrukcija ne menja sadržaj lokacije, jer može još da se izračunava adresa 11
36 Spekulativni Store Buffer Store Store Ne sme se menjati sadržaj memorije dok store Address Data instrukcija nije komitovana. Zato spekulativni Speculative store buffer čuva podatke spekulativnih store Store Buffer Dostignut teoretski podataka maksimum single-thread performansi V S Tag Data Tokom dekodovanja se redom zauzimaju ulazi V S Tag Data (lokacije) po programskom redosledu V S Tag Data Rešenje je prona deno Store uoperacija paralelizmu se deli uvo na store denjemaddress više i store V S Tag Data data mikro-operacije - Store address izvršavanje upisuje tag, a Store data izvršavanje Store U obe prethodne arhitekture upisuje podatke Commit je postojala (i postoji) mogućnost Path multi-threadinga Store se komituje kada se podaci i adresa za najstariji store upišu i instrukcija je komitovana Tags Od sada Data pa na dalje (ROB): posmatraćemo sisteme koji Ukloni se 1 za spekulativni bit S i komitovani L1 Data Cache podaci se upisuju u cache Moguć store abort reset valid bita V 12
37 Load bypass iz spekulativnog store buffera Speculative Load Address Store Buffer Dostignut teoretski maksimum single-thread L1 Data performansi Cache V S V S V S V V V S Tag Tag Tag Tags Data S Rešenje Tag je prona Data deno u paralelizmu uvo denjem više S jezgara Tag u jedan Data procesor Tag Data Data Data Data Load Data Ako mogućnost i store buffer multi-threadinga i cache imaju podatak, koji uzeti? Spekulativni store buffer Ako Od je dva sada puta paista naadresa dalje posmatraćemo u store bufferu, sisteme koji upis uraditi? koji Najnoviji podržavaju store multi-threading (jer je podatak ranije store operacije pokupljen iz spekulativnog store buffer-a) 13
38 Memorijske zavisnosti sd x1, (x2) ld x3, (x4) Kada se može raditi load? 14
39 In-Order Memory Queue Sve Load i Store operacije moraju po programskom redosledu => Rešenje Load i jestore prona deno ne mogu u paralelizmu da napuste uvo denjem ROB više dok sve jezgara prethodne u jedan procesor Load i Store operacije ne završe izvršavanje Load i Store mogu spekulativno u odnosu na ostale instrukcije 15
40 Konzervativno O-o-O Load Izvršavanje sd x1, (x2) ld x3, (x4) Može load pre store-a ako se za adrese zna da je x4!= x2 Svaka U obe load prethodne adresa arhitekture se poredi je postojala sa adresama (i postoji) svih prethodno nekomitovanih store operacija Ne Od raditi sadaload, pa na dalje ako je posmatraćemo bilo koja od sisteme prethodnih koji adresa podržavaju store-a multi-threading nepoznata 16
41 Adresna Spekulacija sd x1, (x2) ld x3, (x4) Pretpostavimo Rešenje je pronada deno je ux4 paralelizmu!= x2 uvo denjem više Izvrši se load pre nego što je poznata store adresa Moraju U obe prethodne se čuvati arhitekture sve nekomitovane je postojala (iload/store postoji) adrese mogućnost u programskom multi-threadingaredosledu Ako se dogodi da je x4==x2, obustavi load i sve prateće Od sada instrukcije pa na dalje posmatraćemo (load exception) sisteme koji => Velika kazna za grešku zbog netačne pretpostavke o različitosti adresa 17
42 Load Store kod Haswell prozoru!!! Tri jedinice adresnih generatora 4 porta za memoriju u instrukcijskom 18
43 Haswell prozor, registri i FJ Vektorski registri AVX i vektorske ALU 19
44 Multithreading i Multicore 20
45 Šta razmatramo kod Multithreading-a Pregled Threading Algoritama Hyper-Threading Koncepti Hyper-Threading Arhitektura Prednosti i mane 21
46 Threading Algoritmi Time-slicing Procesor se prebacuje između niti u fiksnim vremenskim intervalima. Visoka cena, naročito ako je jedan od procesa u stanju čekanja. Fine grain Switch-on-event Niti se menjaju u slučaju da se događa bilo koje čekanje u niti koji se izvršava Ako se čekaju podaci sa sporog izvora, CPU se predaje nekom od drugih procesa (ne OS). Coarse grain 22
47 Threading Algoritmi (2) Multiprocesiranje Ukupan posao se distribuira na više procesora Značajan dodatni trošak Simultaneous Multi-Threading (SMT) Više niti se izvršavaju na jednom procesoru bez mogućnost izmene konteksta multi-threadinga Osnova za Intelovu Hyper-Threading tehnologiju. 23
48 Hyper-Threading Concept U svakom trenutku u vremenu, samo deo procesorskih resursa se koristi za izvršavanje programskog kôda niti Neiskorišćeni resursi mogu biti istovremeno iskorišćeni za paralelno izvršavanje druge niti/aplikacije Kod servera ili klijentskih računara često postoji puno niti, pa je veoma korisno 24
49 Quick Recall: Many Resources IDLE! For an 8-way superscalar. Od sada pa na dalje posmatraćemofrom: sisteme Tullsen, koji Eggers, and Levy, Simultaneous Multithreading: Maximizing On-chip Parallelism, ISCA
50 26
51 jezgara (a) u jedan procesor (b) (c) (d) (a) Superskalarni procesor bez multithreading-a (b) Superskalarni procesor sa coarse-grain multithreading-om (c) Superskalarni procesor sa fine-grain multithreading-om (d) Superskalarni procesor sa simultaneous multithreading-om (SMT) 27
52 Simultaneous Multithreading (SMT) Primer: novi Intel procesori sa Hyperthreading - om Osnovna Dostignut ideja: teoretski Iskoristiti maksimum instrukcijski single-thread nivo paralelizma performansinad više niti istovremeno; tj. pretvoriti paralelizam na nivou niti u dodatni instrukcijski nivo paralelizma Iskoristiti sledeće osobine modernih procesora: Više funkcionalnih jedinica, pa postoji znatan višak FJ u odnosu na prosečne potrebe jedne niti Preimenovanje registara i dinamičko raspoređivanje (ugrađena Od sadadata pa naflow daljemašina) posmatraćemo - Više sisteme instrukcija koji iz više nezavisnih podržavaju niti multi-threading mogu da koegzistiraju i da se istovremeno izvršavaju, uz veći ukupni paralelizam dva smanjena nepovezana dinamička DDG! 28
53 Hyper-Threading Arhitektura Prvo se pojavila kod Intel Xeon MP procesora Stvara iluziju kojom se jedan fizički procesor javlja kao više (2) logička procesora Svaki Rešenje logički je prona procesor deno uima paralelizmu kopiju arhitekturalnog uvo denjem više stanja Logički procesore dele jedan zajednički skup fizičkih resursa za izvršavanje 29
54 Hyper-Threading Arhitekture Operativni sistemi i korisnički konkurentni programi mogu da rasporede procese ili niti na logičke procesore kao da se raspoređuju na multiprocesorski Rešenje je prona deno sistem u paralelizmu sa istim uvo brojem denjem više fizičkih procesora Kako U obe logički prethodne procesori arhitekturemogu je postojala da koriste (i postoji) deljene resurse: Cache, izvršne jedinice, Prediktore grananja, kontrolnu logiku, OoO logiku, magistrale, fizičke registre,... 30
55 Power 5 dataflow... Zašto samo mogućnost dve niti? multi-threadinga Sa 4, neki od deljenih resursa (fizički registri, cache, memorijski propusni opseg) Od sada bi postao pa na usko dalje grlo posmatraćemo sisteme koji Cena: Power5 jezgro je oko 24% veći od Power4 jezgra zbog podrške za simultani multithreading 31
56 Prednosti Kod nekih procesora je dodatna površina na čipu oko 5% Nema gubitka performansi ako je samo jedna nit aktivna, a poboljšane performanse sa dve niti (dva manja nepovezana DDG niti istovremeno) Bolje iskorišćenje resursa 32
57 Mane Da se iskoristi, mora da bude konkurentni program Niti nisu determinističke i mora pažljivi dizajn jezgara aplikacije u jedan procesor Niti imaju dodatnu kontrolnu logiku Konflikti deljenih resursa cache i memorija pre svega Ukupni dobitak je mali, ali će rasti sa veličinama instrukcijskog prozora! 33
58 Multicore Multiprocesori na čipu UMA multiprocesori (symmetric multiprocessing) 34
59 Osnovna Shared Memory Arhitektura Procesori svi povezani na veliku deljenu memoriju Gde su cache memorije? P1 P2 Pn interconnect memory Koja su ograničenja, kako su napravljeni, limiti, programiranje? 35
60 Kako i gde Cache??? P 1 P n $ $ Bus Mem I/O devices Za visoke performanse sa deljenom memorijom: koristi cacheeve! Svaki jezgara procesor u jedan ima procesor jedan ili više svojih cache-eva Stavi podatke iz memorije u cache Writeback U obe prethodne cache: nemoj arhitekture slati sve jepodatke postojala preko (i postoji) bus-a u memoriju Cache-evi smanjuju srednje kašnjenje memorijskog sistema Automatska replikacija bliže procesoru Važnije podržavaju za multiprocesor multi-threading nego za jedan procesor: veća su kašnjenja Normalan uniprocesorski mehanizam za dohvatanje podataka Problem: Koherencija Cache-eva! 36
61 Primer problema koherencije Cache-a P 1 4 $ $ 5 $ P 2 P 3 u =? u =? 3 Dostignut u :5 teoretski maksimum single-thread performansi u :5 u = 7 Rešenje je prona deno u paralelizmu uvo I/O devices denjem više 1 2 jezgara u jedanu :5 procesor Memory Processori U obe prethodne mogu da vide arhitekture različite jevrednosti postojala u (inakon postoji) događaja 3 Sa write mogućnost back cache-evima, multi-threadinga vrednost upisana u memoriju zavisi od toga koji cache i kada da upiše u memoriju Kako Od ovo sada popraviti pa na dalje na bus-u: posmatraćemo Coherence sisteme Protocol koji Upotrebiti podržavajubus multi-threading da emituje (broadcast) upise ili invalidacije Jednostavni protokoli zasnovani na braodcast-u na bus-u Bus može do processora (max) 37
62 Ograničenja Bus-Based Shared Memory 140 MB/s 5.2 GB/s I/O MEM MEM Dostignut teoretski maksimum => 1.2 GB/s single-thread data BW at 30% performansi load-store Assume: 1 GHz processor w/o cache => 4 GB/s inst BW per processor (32-bit) Suppose 98% inst hit rate and 95% data hit rate Rešenje je prona deno u => paralelizmu 80 MB/s inst BW uvo per denjem processor više jezgara cache u jedan cache procesor => 60 MB/s data BW per processor 140 MB/s combined BW PROC PROC Assuming 1 GB/s bus bandwidth \ 8 processors will saturate bus 38
63 39
64 Cache Organizacija za Multi-core L1 cache je uvek privatan za core L2 cache može biti privatan ili deljeni Prednosti deljenog L2 cache-a: efikasna dinamička alokacija prostora za svaki core Podaci deljeni od strane više core-ova se ne repliciraju Prednosti privatnog L2 cache-a: brzi pristup privatnom L2 dobro za male programe privatan je bus do privatnog L2 manje sačekivanja 40
65 Podsetnik: SMT (Simultaneous Multi Threading) SMT vs. CMP 41
66 A Single Chip Multiprocessor Superscalar (SS) SMT CMP 42
67 Superskalar i SMT vs. CMP Zašto Core-ovi: Problemi hardverskog projektovanja (za SS i SMT): Površina čipa raste kvadratno sa kompleksnošću core-a Broj registara O(Instruction window size) Broj registarskih portova - O(broj izdatih instrukcija po ciklusu) CMP rešava problem (~ linearna zavisnost od ukupno izdatih instrukcija) Sporiji takt Produžavaju se žice zbog puno MUX Veliki mogućnost bufferi, multi-threadinga redovi i registarski file-ovi Da bi stalo na IK, smanjuje se ILP, skraćuje Pipeline, pa Branch mispredication Od sada pa na kazne daljesu posmatraćemo manje sisteme koji CMP brži takt, manji, oslanja se više na kompiler i na load balancing Kompleksni dizajn i verifikacija 43
68 Budućnost TLP (Thread Level Paralelizam) i PLP (Process Level Paralelizam) postaju Dostignut neminovnost teoretski u budućnosti maksimumi favorizuju single-thread CMP performansi i SMT na procesorima. Kako iskoristiti - KDP, ali se mora obezbediti i balansiranje opterećenja Rešenje procesora je prona deno u paralelizmu uvo denjem više SMT jezgara (Hyperthreading) u jedan procesor se adaptira na broj procesa i dinamički hardverski i transparentno deli procesorske resurse prema zahtevima U obe2 prethodne procesa. arhitekture je postojala (i postoji) Kada mogućnost nema multiprocesnog multi-threadinga rada, superskalari i SMT procesori su bolji od jednostavnih procesora u CMP Kompajleri i dalje igraju veliku ulogu prevode tako da kod u instrukcijskom prozoru u svakom trenutku bude što paralelniji, ali ograničenje je nepoznavanje svih zavisnosti u vreme prevođenja 44
69 SMT Dual-core: sve četiri niti mogu da se izvršavaju konkurentno L1 D-Cache D-TLB L1 D-Cache D-TLB Integer Floating Point Integer Floating Point L2 Cache and Control Bus Schedulers Schedulers Uop queues Rename/Alloc Rename/Alloc BTB Trace Cache Od sada pa na daljerom posmatraćemo sisteme koji Decoder Decoder BTB and I-TLB ucode L2 Cache and Control Bus BTB Uop queues Trace Cache BTB and I-TLB ucode ROM 45 Thread 1 Thread 3 Thread 2 Thread 4
70 I Haswell core-a 8 thread-ova (2 po core-u) Niz vektorskih instrukcija Multiply-Add Enkripcija i digitalno potpisivanje u hardveru postaju deo instrukcijskog seta Grafičke funkcije visokog nivoa kao instrukcije iako ima zaseban grafički procesor 46
Algoritmi i arhitekture DSP I
Univerzitet u Novom Sadu Fakultet Tehničkih Nauka Katedra za računarsku tehniku i međuračunarske komunikacije Algoritmi i arhitekture DSP I INTERNA ORGANIACIJA DIGITALNOG PROCESORA A OBRADU SIGNALA INTERNA
Више_sheets.dvi
Zavod za elektroniku, mikroelektroniku, 28. studenog 2008. računalne i inteligentne sustave 2. me duispit iz Arhitekture računala 2, teorijski dio 1. Koja komponenta modernih računala nije bila prisutnau
ВишеVezbe_AOR1_2014_V1.0
АРХИТЕКТУРА И ОРГАНИЗАЦИЈА РАЧУНАРА 1 Верзија 2014 1.0 САДРЖАЈ Садржај... 3 Кеш меморија (Cache Memory)... 5 Задатак 1.... 5 Задатак 2.... 6 Задатак 3.... 9 Задатак 4.... 12 Задатак 5.... 15 Задатак 6....
ВишеEdukacioni racunarski sistem
ТРАНСЛАЦИЈА ИНСТРУКЦИЈА 1. Разматра се рачунарски систем у коме се извршавање одређене инструкције одвија у 6 фаза помоћу измењеног процесора са стандардном проточном обрадом (слика 1.). У процесор са
ВишеIV Spekulativno I predikatsko izvršavanje
Instrukcijski nivo paralelizma 42 Spekulativno izvršavanje 4. Spekulativno izvršavanje Pod spekulativnim izvršanjem podrazumevamo izvršavanje operacije unapred, uprkos tome što možda nije uopšte trebala
ВишеZadatak T=5: Jedinica WBSD propušta vred Potiče iz polja Rwb.LMD Signal Rwb.WRLMD izaziva propuštanje ove vrednosti 2. Vrednost 0000
Zadatak 2.1 1. T=5: Jedinica WBSD propušta vred 0000 0003 Potiče iz polja Rwb.LMD Signal Rwb.WRLMD izaziva propuštanje ove vrednosti 2. Vrednost 0000 0003 koja je pročitana u taktu 5 (prethodno pitanje)
ВишеIV Spekulativno I predikatsko izvršavanje
Instrukcijski nivo paralelizma 42 Spekulativno izvršavanje 4. Spekulativno izvršavanje Pod spekulativnim izvršanjem podrazumevamo izvršavanje operacije, koja možda nije uopšte morala da se izvrši. Pritom,
Више13E114PAR, 13S113PAR DOMAĆI ZADATAK 2018/2019. Cilj domaćeg zadatka je formiranje petlje softverske protočnosti za minimalni broj ciklusa.
13E114PAR, 13S113PAR 29.04.2019. DOMAĆI ZADATAK 2018/2019. Cilj domaćeg zadatka je formiranje petlje softverske protočnosti za minimalni broj ciklusa. U okviru svake grupe data je doall ili doacross petlja
ВишеVektorski procesori Najveći izvor paralelizma su DoAll petlje kako je već definisano u poglavlju o paralelizaciji petlji. Paralelizam tih petlji, ako
Vektorski procesori Najveći izvor paralelizma su DoAll petlje kako je već definisano u poglavlju o paralelizaciji petlji. Paralelizam tih petlji, ako se razmatraju samo zavisnosti po podacima, je srazmeran
ВишеPowerPoint Presentation
УВОД Дa би рaчунaри нa мрежи могли међусобно да кoмуницирaју и рaзмeњују пoдaткe, пoтрeбнo je: дa сe увeду ПРOТOКOЛИ (утврђeна прaвилa и процедуре за комуникацију) да постоје АДРEСE кoje су jeдинствeнe
ВишеNastavna cjelina: 1. Jezik računala Kataloška tema: 1.1. Bit 1.2. Brojevi zapisani četvorkom bitova Nastavna jedinica: 1.1. Bit 1.2. Brojevi zapisan
Nastavna cjelina: 1. Osnove IKT-a Kataloška tema: 1.6. Paralelni i slijedni ulazno-izlazni pristupi računala 1.7. Svojstva računala Unutar računala podatci su prikazani električnim digitalnim signalima
ВишеPowerPoint Presentation
VMware Horizon 7 What s New Bojan Andrejić i Stefan Đoković COMING Computer Engineering Uvod u VMware Horizon 7 Obezbeđuje unapređeno i bezbedno upravljanje i isporučivanje Windows ili Linux desktopova,
ВишеGenerated by Foxit PDF Creator Foxit Software For evaluation only. Operativni sistem U računarstvu, operativni sistem (OS
Operativni sistem U računarstvu, operativni sistem (OS) je kompleksan programski sistem koji kontroliše i upravlja uređajima i računarskim komponentama i obavljanje osnovne sistemske radnje. Operativni
ВишеProgramiranje za UNIX Okruženje unix procesa
Programiranje za UNIX Okruženje unix procesa Sadržaj Memorijska slika UNIX procesa Argumenti naredbenog retka i varijable okruženja Životni ciklus procesa Izlazni status procesa 2 Memorijska slika UNIX
ВишеZbirka resenih zadataka iz arhitekture racunara
Ј. ЂОРЂЕВИЋ, З. РАДИВОЈЕВИЋ, М. ПУНТ, Б. НИКОЛИЋ, Д. МИЛИЋЕВ, Ј. ПРОТИЋ, А. МИЛЕНКОВИЋ АРХИТЕКТУРА И ОРГАНИЗАЦИЈА РАЧУНАРА ПРЕКИДИ, МАГИСТРАЛА И УЛАЗ/ИЗЛАЗ ЗБИРКА РЕШЕНИХ ЗАДАТАКА Београд 2013. i САДРЖАЈ
ВишеУвод у организацију и архитектуру рачунара 1
Увод у организацију и архитектуру рачунара 2 Александар Картељ kartelj@matf.bg.ac.rs Напомена: садржај ових слајдова је преузет од проф. Саше Малкова Увод у организацију и архитектуру рачунара 2 1 Секвенцијалне
ВишеPowerPoint Presentation
Java konkurentno programiranje Životni ciklus niti i problemi sinhronizacije resursa Multitasking Multithreading Životni ciklus niti http://www.roseindia.net/java/thread/lifecycle-of-threads.shtml Životni
ВишеP3.2 Paralelno programiranje 2
Paralelno programiranje II Analiza zavisnosti Struktura algoritma Pomoćne strukture Komunikacioni šabloni 1 4 Koraka paralelizacije programa 2 Evo algoritma. Gde je paralelizam? Dekompozicija zadataka
ВишеMicrosoft Word - 11 Pokazivaci
Pokazivači U dosadašnjem radu smo imali prilike da koristimo promenljive koje smo deklarisali na početku nekog bloka. Prilikom deklaracije promenljiva dobija jedinstveni naziv i odgovarajući prostor u
ВишеFunkcije predavač: Nadežda Jakšić
Funkcije predavač: Nadežda Jakšić funkcije delovi programa koji izvršavaju neki zadatak, celinu; dele na ugrađene, korisničke i main funkciju ugrađene funkcije printf,scanf... da bi se one izvršile potrebno
ВишеMicrosoft PowerPoint - 10 PEK EMT Logicka simulacija 1 od 2 (2012).ppt [Compatibility Mode]
ij Cilj: Dobiti što više informacija o ponašanju digitalnih kola za što kraće vreme. Metod: - Detaljni talasni oblik signala prikazati samo na nivou logičkih stanja. - Simulirati ponašanje kola samo u
ВишеPROMENLJIVE, TIPOVI PROMENLJIVIH
PROMENLJIVE, TIPOVI PROMENLJIVIH Šta je promenljiva? To je objekat jezika koji ima ime i kome se mogu dodeljivati vrednosti. Svakoj promenljivoj se dodeljuje registar (memorijska lokacija) operativne memorije
ВишеRAČUNALO
RAČUNALO HARDVER + SOFTVER RAČUNALO HARDVER strojna oprema računala tj. tvrdi, materijalni, opipljivi dijelovi računala kućište i sve komponente u njemu, vanjske jedinice SOFTVER neopipljivi dijelovi računala
ВишеP1.0 Uvod
Системска програмска подршка у реалном времену 1 Миодраг Ђукић miodrag.djukic@rt-rk.uns.ac.rs www.rt-rk.uns.ac.rs 1 Системска програмска подршка у реалном времену 1 програмска подршка = софтвер Системски
ВишеP11.3 Analiza zivotnog veka, Graf smetnji
Поједностављени поглед на задњи део компајлера Међурепрезентација (Међујезик IR) Избор инструкција Додела ресурса Распоређивање инструкција Инструкције циљне архитектуре 1 Поједностављени поглед на задњи
ВишеMicrosoft PowerPoint - Programski_Jezik_C_Organizacija_Izvornog_Programa_I_Greske [Compatibility Mode]
Programski jezik C organizacija izvornog programa Prevođenje Pisanje programa izvorni program Prevođenje programa izvršni program Izvršavanje programa rezultat Faze prevođenja Pretprocesiranje Kompilacija
ВишеELEKTROTEHNIČKI FAKULTET, UNIVERZITET U BEOGRADU KATEDRA ZA ELEKTRONIKU UVOD U ELEKTRONIKU - 13E041UE LABORATORIJSKA VEŽBA Primena mikrokontrolera
ELEKTROTEHNIČKI FAKULTET, UNIVERZITET U BEOGRADU KATEDRA ZA ELEKTRONIKU UVOD U ELEKTRONIKU - 13E041UE LABORATORIJSKA VEŽBA Primena mikrokontrolera CILJ VEŽBE Cilj ove vežbe je da se studenti kreiranjem
ВишеSlide 1
Što, zašto i kako? Noviteti Ispod haube... Malo reklame... Malo stvarnosti... Q&A Najbolje Oracle database rješenje za: Data Warehousing OLTP Konsolidaciju baza Najbolje Oracle database rješenje za: Data
ВишеPowerPoint Presentation
Mehanizmi čuvanja podataka baznog sustava za potrebe Billing aplikacije Autor: Domagoj Dukarić, HEP ODS d.o.o. Koautor: Mario Blažanović, HEP ODS d.o.o. Ukratko o Oracle bazi Instanca memorijske strukture
ВишеP2.1 Projektovanje paralelnih algoritama 1
Projektovanje paralelnih algoritama I Uvod Osnove dinamičke paralelizacije 1 Primer: Fibonačijev niz Primer rekurz. računanja Fibonačijevih brojeva: F 0 = 0; F 1 = 1; F i = F i -1 + F i -2 za i 2 Algoritam
ВишеPOSLOVNI INFORMACIONI SISTEMI I RA^UNARSKE
ZNAČAJ RAČUNARSKIH KOMUNIKACIJA U BANKARSKOM POSLOVANJU RAČUNARSKE MREŽE Računarske mreže su nastale kombinacijom računara i telekomunikacija dve tehnologije sa veoma različitom tradicijom i istorijom.
ВишеИСПИТНА ПИТАЊА (ОКВИРНИ СПИСАК) УОАР2 2018/19 ПРВИ ДЕО ГРАДИВА 1. Написати истинитоносне таблице основних логичких везника (НЕ, И, ИЛИ). 2. Написати и
ИСПИТНА ПИТАЊА (ОКВИРНИ СПИСАК) УОАР2 2018/19 ПРВИ ДЕО ГРАДИВА 1. Написати истинитоносне таблице основних логичких везника (НЕ, И, ИЛИ). 2. Написати истинитоносне таблице изведених логичких везника (НИ,
ВишеJEZGRO OPERATIVNOG SISTEMA I UPRAVLJANJE PROCESIMA 1. Šta je jezgro, a šta proces? Jezgro (nukleus ili kernel) je osnovni deo svakog operativnog siste
JEZGRO OPERATIVNOG SISTEMA I UPRAVLJANJE PROCESIMA 1. Šta je jezgro, a šta proces? Jezgro (nukleus ili kernel) je osnovni deo svakog operativnog sistema. U hijerarhijskom (slojevitom) modelu, jezgro je
ВишеMicrosoft PowerPoint - 13 PIK (Mentor Graphic ASIC).ppt
Projektovanje integrisanih kola Delimično projektovanje po narudžbini Sadržaj: Sadržaj: I. I. Uvod Uvod - sistem projektovanja II. II. CMOS Analiza Proces kola primenom računara III. III. Potpuno Optimizacija
ВишеPowerPoint Presentation
TRANSPORTNI SLOJ Predmet: Aktivni mrežni uređaji Predavač: dr Dušan Stefanović ENKAPSULACIJA DATA SEGMENT S.P / D.P. / S.N. / Ack # / DATA IPv / HLEN / Flag / S. IP / D. IP / PACKET DATA (SEGMENT) Frame
ВишеRAČUNARSKI SISTEM Ne postoji jedinstvena definicija pojma računarski sistem. Računarski sistem predstavlja skup mašina i pridruženih metoda (realizova
RAČUNARSKI SISTEM Ne postoji jedinstvena definicija pojma računarski sistem. Računarski sistem predstavlja skup mašina i pridruženih metoda (realizovanih u obliku softvera) organizovanih radi vršenja automatske
Више06 Poverljivost simetricnih algoritama1
ЗАШТИТА ПОДАТАКА Симетрични алгоритми заштите поверљивост симетричних алгоритама Преглед биће објашњено: коришћење симетричних алгоритама заштите како би се заштитила поверљивост потреба за добрим системом
ВишеSlide 1
OSNOVNI POJMOVI Naredba je uputa računalu za obavljanje određene radnje. Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Pisanje programa zovemo programiranje. Programski jezik
ВишеP9.1 Dodela resursa, Bojenje grafa
Фаза доделе ресурса Ова фаза се у литератури назива и фазом доделе регистара, при чему се под регистрима подразумева скуп ресурса истог типа. Додела регистара променљивама из графа сметњи се обавља тзв.
ВишеОрт колоквијум
Испит из Основа рачунарске технике - / (6.6.. Р е ш е њ е Задатак Комбинациона мрежа има пет улаза, по два за број освојених сетова тенисера и један сигнал који одлучује ко је бољи уколико је резултат
ВишеMicrosoft PowerPoint - C-4-1
Pregled iskaza u C-u Izraz; Iskaz dodele, serijski komponovani iskaz; blok Uslovni iskazi i izrazi; složeno grananje Iterativni iskazi Iskaz dodele Promena vrednosti a = Ψ; Izračunava vrednost izraza Ψ,
Више6-8. ČAS Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: Gde pretpostavljamo da je A celobrojna matrica dimenzije,. Takođe
6-8. ČAS Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: Gde pretpostavljamo da je A celobrojna matrica dimenzije,. Takođe, očekuje se da su koordinate celobrojne. U slučaju
ВишеJMBAG Ime i Prezime Mreže računala Završni ispit 16. veljače Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i službeni šalabahter.
Mreže računala Završni ispit Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i službeni šalabahter. Predajete samo papire koje ste dobili. Rezultati, uvid u ispit i upis ocjena:... Zadatak
ВишеР273 Пројектовање база података Примери питања за колоквијум 1. Навести најважније моделе података кроз историју рачунарства до данас. 2. Објаснити ос
Р273 Пројектовање база података Примери питања за колоквијум 1. Навести најважније моделе података кроз историју рачунарства до данас. 2. Објаснити основне концепте мрежног модела 3. Објаснити основне
ВишеMicrosoft PowerPoint - 01 Uvod u operativne sisteme.ppt
Uvod u operativne sisteme v.as.mr. Samir Lemeš slemes@mf.unze.ba Univerzitet u Zenici 2009 Operativni sistemi i mreže: način realizacije vježbi Tokom semestra 3 periodična testa (Operativni sistemi, Mrežni
ВишеMicrosoft PowerPoint - Programski_Jezik_C_Organizacija_Izvrsnog_Programa [Compatibility Mode]
Организација извршног програма (Марић, Јаничић: Програмирање 1, 9.3.3) Извршавање програма После успешног превођења (претпроцесирања, компилације, повезивања) програм може да се изврши Извршавање се захтева
ВишеUniverzitet u Novom Sadu Tehnički fakultet Mihajlo Pupin Zrenjanin Seminarski rad Predmet: Konkuretno programiranje doc. dr Dejan Lacmanovic Zorica Br
Univerzitet u Novom Sadu Tehnički fakultet Mihajlo Pupin Zrenjanin Seminarski rad Predmet: Konkuretno programiranje doc. dr Dejan Lacmanovic Zorica Brkić SI 29/15 Zrenjanin 2018. Softversko inženjerstvo
ВишеMicrosoft PowerPoint - 03-Slozenost [Compatibility Mode]
Сложеност алгоритама (Програмирање 2, глава 3, глава 4-4.3) Проблем: класа задатака истог типа Велики број различитих (коректних) алгоритама Величина (димензија) проблема нпр. количина података које треба
Више` 1.Врсте меморије На основу начина чувања података делимо их на меморије које привремено чувају податке (док је рачунар укључен) и меморије које трај
1.Врсте меморије На основу начина чувања података делимо их на меморије које привремено чувају податке (док је рачунар укључен) и меморије које трајно чувају податке. Привремено чување података карактерише
ВишеSlide 1
predmet Inženjerska informatika Operativni sistem dr Anica Milošević Koji operativni sistemi postoje? Microsoft Windows Linux Suse Red Hat Ubuntu Unix 26.1.2018. 2 Šta je Windows operativni sistem? Operativni
ВишеRA
ELEKTRONSKI SISTEMI PLAĆАNJA NА INTERNЕTU ELEKTRONSKI SISTEMI PLAĆАNJA NА INTERNЕTU U zavisnosti od novčanog iznosa koji je predmet plaćanja, ona se generalno mogu podeliti u dve kategorije: makroplаćаnjа
ВишеRačunarski softver Da bi računarski sistem mogao da radi, pored hardvera mora biti opremljen i odgovarajućim programima koji će njime upravljati.ova k
Računarski softver Da bi računarski sistem mogao da radi, pored hardvera mora biti opremljen i odgovarajućim programima koji će njime upravljati.ova komponenta računarskog sistema se zove SOFTVER(software
ВишеPRIRODNO MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA RAČUNARSKE NAUKE Utorak, godine PRIJEMNI ISPIT IZ INFORMATIKE 1. Koja od navedenih ekste
PRIRODNO MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA RAČUNARSKE NAUKE Utorak, 5.06.019. godine PRIJEMNI ISPIT IZ INFORMATIKE 1. Koja od navedenih ekstenzija se najčešće koristi za tekstualne datoteke? a)
ВишеRazvoj programa, Code::Blocks, struktura programa, printf, scanf, konverzioni karakteri predavač: Nadežda Jakšić
Razvoj programa, Code::Blocks, struktura programa, printf, scanf, konverzioni karakteri predavač: Nadežda Jakšić projektni zadatak projektovanje programa (algoritmi) pisanje programskog koda, izvorni kod,
ВишеCelobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: min c T x Ax = b x 0 x Z n Gde pretpostavljamo da je A celobrojna matrica
Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: min c T x Ax = b x 0 x Z n Gde pretpostavljamo da je A celobrojna matrica dimenzije m n, b Z m, c Z n. Takođe, očekuje se da
ВишеOPIS RAČUNARSKOG SISTEMA Računarski sistem se sastoji od procesora, operativne memorije, tajmera i terminala. Sve komponente računarskog sistema su me
OPIS RAČUNARSKOG SISTEMA Računarski sistem se sastoji od procesora, operativne memorije, tajmera i terminala. Sve komponente računarskog sistema su međusobno povezane preko sistemske magistrale. Tajmer
ВишеPowerPoint Presentation
Prof. dr Pere Tumbas Prof. dr Predrag Matkovid Identifikacija i izbor projekata Održavanje sistema Inicijalizacija projekata i planiranje Implementacija sistema Dizajn sistema Analiza sistema Faze životnog
ВишеDrugi kolokvij iz predmeta Operacijski sustavi 2. srpnja Napomene: PISATI ČITKO! Zadatke 7-10 rješavati na ovom papiru ili uz njih napisati "na
Drugi kolokvij iz predmeta Operacijski sustavi 2. srpnja 2019. Napomene: PISATI ČITKO! Zadatke 7-10 rješavati na ovom papiru ili uz njih napisati "na papirima". 1. (2) Opisati pristupni sklop za izravni
ВишеPowerPoint Presentation
Tehnička škola 9. maj Bačka Palanka Programiranje III razred Tok izvršavanja programa Tok izvršavanja programa Dosadašnji kod se izvršavao praktično linearno. Nije postojala nikakva uslovna ili brojačka
ВишеПовезивање са интернетом
Драгана Стопић Интернет Интернет је најпознатија и највећа светска мрежа која повезује рачунаре и рачунарске мреже у једну мрежу, у циљу сарадње и преноса информација употребом заједничких стандарда. INTERnational
ВишеMicrosoft PowerPoint - PRI2014 KORIGOVANO [Compatibility Mode]
1. Broj bitova koji se jednovremeno prenosi i obrađuje unutar procesora naziva se: a) radni takt b) procesorski kod c) procesorska reč d) procesorski takt 1. Broj bitova koji se jednovremeno prenosi i
ВишеPHP kod
PHP kod Fajl test.txt kreiran u Notepad-u Ugrađene funkcije u php-u fopen() otvara datoteku fclose() zatvara datoteku Primjer pokazuje kako se može najprije otvariti datoteka "test.txt" za čitanje, zatim
ВишеPowerPoint Presentation
Fakultet za kompjuterske nauke, Univerzitet Megatrend Uvod u računarstvo u oblaku Virtuelizacija (I deo: osnovni pojmovi) Nemanja Maček 1 Sadržaj Pojam virtuelizacije Arhitekture sa i bez virtuelizacije
ВишеРАСПОРЕД ИСПИТА У ИСПИТНОМ РОКУ ЈАНУАР 1 ШКОЛСКЕ 2016/2017. ГОДИНЕ (последња измена ) Прва година: ПРВА ГОДИНА - сви сем информатике Име пр
РАСПОРЕД ИСПИТА У ИСПИТНОМ РОКУ ЈАНУАР 1 ШКОЛСКЕ 2016/2017. ГОДИНЕ (последња измена 23.01.2017.) Прва година: ПРВА ГОДИНА - сви сем информатике Име предмета Датум и термин одржавања писменог дела испита
ВишеPowerPoint Presentation
Колоквијум # задатак подељен на 4 питања: теоријска практична пишу се програми, коначно решење се записује на папиру, кодови се архивирају преко сајта Инжењерски оптимизациони алгоритми /3 Проблем: NLP:
ВишеFunkcije predavač: Nadežda Jakšić
Funkcije predavač: Nadežda Jakšić do sada su korišćene "gotove" funkcije iz standardnih biblioteka (cin, cout...) one su pozivane iz main funkcije koja je glavna funkcija u programu jer izvršavanje programa
ВишеMicrosoft Word - Projekat iz MIPS-a - simCPU.doc
UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET KATEDRA ZA ELEKTRONIKU MIKROPROCESORSKI SISTEMI simcpu Mentor Prof. dr. Mile Stojčev Marko Ilić 9921 Nebojša Pejčić 9738 Aleksandar Stojadinović 10085 Bojan Janićijević
ВишеPrezentacija 1. i 2. cas
Uvod Osnovi informatike Nastavnik: Doc. dr Milutin Radonjić Saradnik: mr Boris Marković Fond časova: 2P+1V Nakon svakog predavanja studenti mogu dobiti slajdove Obaveze studenta u toku nastave: pohađa
ВишеRačunarski praktikum I - Vježbe 07 - Podstrukture, const, reference
Prirodoslovno-matematički fakultet Matematički odsjek Sveučilište u Zagrebu RAČUNARSKI PRAKTIKUM I Vježbe 07 - Podstrukture, const, reference v2018/2019. Sastavio: Zvonimir Bujanović Podstrukture Član
ВишеLAB PRAKTIKUM OR1 _ETR_
UNIVERZITET CRNE GORE ELEKTROTEHNIČKI FAKULTET STUDIJSKI PROGRAM: ELEKTRONIKA, TELEKOMUNIKACIJE I RAČUNARI PREDMET: OSNOVE RAČUNARSTVA 1 FOND ČASOVA: 2+1+1 LABORATORIJSKA VJEŽBA BROJ 1 NAZIV: REALIZACIJA
ВишеLogicko projektovanje racunarskih sistema I
PRIMERI SA PREDAVANJA 17 Beta asembler Zadatak 1. Posmatrajmo sledeću funkciju napisanu u programskom jeziku C, za računanje najvećeg zajedničkog delioca dva pozitivna cela broja: int gcd(int a, int b)
Вишеzad_6_2.doc
.. S- i S- komunikacioni standardi Zadatak. Pomoću MX i čipa, potrebno je realizovati konvertor S- na S-. MX ima raspored pinova kao na slici..,0μf +V +V ULZ V CC T IN T IN OUT IN T OUT 0 9 OUT IN T OUT
ВишеP1.2 Projektovanje asemblera
ПРОЈЕКТОВАЊЕ АСЕМБЛЕРА Асемблер Модули асемблера 1 Дефинисање новог лингвистичког нивоа превођењем Потребан преводилац алат који преводи програм написан на једном језику (на једном лингвистичком нивоу)
ВишеPojačavači
Programiranje u fizici Prirodno-matematički fakultet u Nišu Departman za fiziku dr Dejan S. Aleksić Programiranje u fizici dr Dejan S. Aleksić, vanredni profesor Kabinet 307 (treći sprat), lab. za elektroniku
ВишеMicrosoft PowerPoint - 13-Funkcije_2.ppt [Compatibility Mode]
Osnove programiranja Funkcije - Metode Prenos parametara Po vrednosti Po referenci Po izlazu Sadržaj Opseg važenja promenljive u drugim strukturama Rekurzije Prenos parametara Metoda može vratiti isključivo
ВишеPHP proširenja za rad sa bazama podataka Postoje pojedinačna proširenja za različite tipove baza podataka sa svojim bibliotekama funkcija npr. postoji
PHP proširenja za rad sa bazama podataka Postoje pojedinačna proširenja za različite tipove baza podataka sa svojim bibliotekama funkcija npr. postoji podrška za IBM DB2, Oracle, Ingres, MySQL, PostgreSQL,
ВишеIntroduction to Programming
SQL Indeksi Uloga Indeksa o Kako baza postaje sve veća dizajn baze postaje sve važniji o Indeksi igraju značajnu ulogu u brzini rada same baze jer pomažu DBMS da brže pronađe ono što tražimo o Slični su
ВишеMicrosoft PowerPoint - OOPpredavanja05 [Compatibility Mode]
OBJEKTNO ORIJENTISANO PROGRAMIRANJE PREDAVANJE 5 OBJEKTI U INTERAKCIJI Miloš Kovačević Đorđe Nedeljković 1 /25 OSNOVNI KONCEPTI - Abstrakcija - Modularizacija - Objektne reference - Klasni dijagram - Objektni
ВишеMicrosoft Word doc
Luka Bar AD Bar Broj: Mjesto i datum: Bar, 30.07.2019. god. Luka Bar AD Bar objavljuje: JAVNI POZIV ZA NABAVKU SERVERA I USLUGU MIGRACIJE AKTIVNOG DIREKTORIJUMA strana 1 od 7 I Podaci o naručiocu Naručilac:
ВишеMicrosoft PowerPoint - GR_MbIS_12_IDEF
Menadžment poslovnih informacionih sistema - 12 metode modeliranja funkcija pripremila Doc. dr Gordana Radić Integfated DEFinition Definicija: je metoda (jezik) modeliranja bazirana je na kombinaciji grafike
ВишеSlide 1
Osnove industrijskog inženjerstva Proučavanje međuzavisnosti zahvata Sinhronizacija resursa Dragoslav Slović Proučavanje međuzavisnosti zahvata Transportne staze M-S UM IM M RS ulaz - izlaz radnika IM
ВишеSlide 1
Funkcionalno programiranje Interoperabilnost jezika Scala i Java, 2019. Prevođenje u Java bajt kod Svi Java tipovi imaju ekvivalentan tip u jeziku Scala Većina Scala koda se direktno preslikava u odgovarajući
ВишеДРУШТВО ФИЗИЧАРА СРБИЈЕ МИНИСТАРСТВО ПРОСВЕТЕ И СПОРТА РЕПУБЛИКЕ СРБИЈЕ Задаци за републичко такмичење ученика средњих школа 2006/2007 године I разред
ДРУШТВО ФИЗИЧАРА СРБИЈЕ МИНИСТАРСТВО ПРОСВЕТЕ И СПОРТА РЕПУБЛИКЕ СРБИЈЕ Задаци за републичко такмичење ученика средњих школа 006/007 године разред. Електрични систем се састоји из отпорника повезаних тако
Више1, 2, 3, кодирај! Активности циклуса 4 Пројект «Аркадне игре» - Час 6: Програмирање падања новчића (наставак) Доминантна дисциплина Математикa Резиме
1, 2, 3, кодирај! Активности циклуса 4 Пројект «Аркадне игре» - Час 6: Програмирање падања новчића (наставак) Доминантна дисциплина Математикa Резиме Програмирање добијања награда омогућује ученицима да
ВишеLogicko projektovanje racunarskih sistema I
POKAZNA VEŽBA 10 Strukture za računanje Potrebno predznanje Urađena pokazna vežba 8 Poznavanje aritmetičkih digitalnih sistema i aritmetičko-logičkih jedinica Osnovno znanje upravljačkih jedinica digitalnih
ВишеMicrosoft PowerPoint - Strukturni dijagrami, Gantogram - Planiranje [Compatibility Mode]
+ Metode i tehnike planiranja projekta + Projektne strukture + Tehnike struktuiranja projekta Breakdow strukture strukture za dekomponovanje Matrice WBS: Project Work Breakdown Structure OBS: Organization
ВишеMicrosoft PowerPoint - JavaP9_2019
Programski jezik JAVA PREDAVANJE 9 2019 www.etf.ac.me Datoteke u Javi U paketu java.io nalaze se klase za rad sa datotekama i direktorijumima. Funkcionalnost koju omogućavaju te klase sastoji se od kreiranja,
ВишеПосебни услови пружања TOTAL GROUP услуге
Posebne uslove korišćenja Dopuna tarifnih planova za korisnike usluge Dopuna (1) Posebnim uslovima za korišćenje Dopuna tarifnih planova za korisnike usluge Dopuna (u daljem tekstu: Posebni uslovi) uređuju
ВишеОрт колоквијум
II колоквијум из Основа рачунарске технике I - 27/28 (.6.28.) Р е ш е њ е Задатак На улазе x, x 2, x 3, x 4 комбинационе мреже, са излазом z, долази четворобитни BCD број. Ако број са улаза при дељењу
ВишеMicrosoft Word - III godina - EA - Metodi vjestacke inteligencije
Школска година 2018/2019. Предмет Методи вјештачке интелигенције Шифра предмета 2284 Студијски програм Електроенергетика и аутоматика Циклус студија Година студија Семестар Број студената Број група за
Више2015_k2_z12.dvi
OBLIKOVANJE I ANALIZA ALGORITAMA 2. kolokvij 27. 1. 2016. Skice rješenja prva dva zadatka 1. (20) Zadano je n poslova. Svaki posao je zadan kao vremenski interval realnih brojeva, P i = [p i,k i ],zai
ВишеZA MEDICINSKE USTANOVE INTELIGENTAN WI-FI d'.;,.. SISTEM ZA ZADOVOLJNE PACIJENTE I POSETIOCE
ZA MEDICINSKE USTANOVE INTELIGENTAN WI-FI d'.;,.. SISTEM ZA ZADOVOLJNE PACIJENTE I POSETIOCE WI-FI ZA MEDICINSKE USTANOVE Brza i pouzdana WiFi mreža je danas očekivana u medicinskim ustanovama. Besplatan
ВишеI година Назив предмета I термин Вријеме II термин Вријеме Сала Математика : :00 све Основи електротехнике
I година Математика 1 2225 20.06.2019. 9:00 04.07.2019. 9:00 све Основи електротехнике 1 2226 17.06.2019. 9:00 01.07.2019. 13:00 све Програмирање 1 2227 21.06.2019. 9:00 05.07.2019. 9:00 све Основи рачунарске
ВишеI година Назив предмета I термин Вријеме II термин Вријеме Сала Математика : :00 све Основи електротехнике
I година Математика 1 2225 05.09.2019. 9:00 19.09.2019. 9:00 све Основи електротехнике 1 2226 02.09.2019. 9:00 16.09.2019. 9:00 све Програмирање 1 2227 06.09.2019. 9:00 20.09.2019. 9:00 све Основи рачунарске
ВишеI година Назив предмета I термин Вријеме II термин Вријеме Сала Математика : :00 све Основи електротехнике
I година Математика 1 2225 07.02.2019. 9:00 21.02.2019. 9:00 све Основи електротехнике 1 2226 04.02.2019. 9:00 18.02.2019. 9:00 све Програмирање 1 2227 08.02.2019. 9:00 22.02.2019. 9:00 све Основи рачунарске
ВишеFTDI DRAJVER uputstvo za instalaciju NEMANJINA 57 A, POŽAREVAC TEL: FAX:
FTDI DRAJVER uputstvo za instalaciju NEMANJINA 57 A, 12000 POŽAREVAC TEL: 012 541 022 FAX: 012 541 026 WWW.AIS.D-LOGIC.RS FTDI DRAJVER uputstvo za instalaciju www.ais.d-logic.rs AIS FREE SOFTVER uputstvo
ВишеПрилог аутоматској паралелизацији секвенцијалног машинског кода
УНИВЕРЗИТЕТ У НОВОМ САДУ ФАКУЛТЕТ ТЕХНИЧКИХ НАУКА Владимир Маринковић Прилог аутоматској паралелизацији секвенцијалног машинског кода ДОКТОРСКА ДИСЕРТАЦИЈА Ментор: проф. др Мирослав Поповић Нови Сад, 2018
ВишеОсновна школа Дринка Павловић Ул. Косовска 19, Београд Датум: год. Број: /18-7 У складу са чланом 63. став 3, а у вези става 2
Основна школа Дринка Павловић Ул. Косовска 19, 11000 Београд Датум: 18.02.2019. год. Број: 1.1.5./18-7 У складу са чланом 63. став 3, а у вези става 2. Закона о јавним набавкама ( Сл. гласник РС бр. 124/2012,
ВишеMicrosoft PowerPoint - X i XI termin - odredjivanje redosleda poslova [Compatibility Mode]
ODREĐIVANJE REDOSLEDA POSLOVA DŽONSONOV METOD P očetak k k k m in t i1 m a x t i2 ili m in t i3 m a x t i2 R e š e n je tre b a tra žiti n a d ru g i n ač in S vođenje p ro b le m a n x3 n a fik tiv a
Више