Újrakonfigurálható technológiák nagy teljesítményű alkalmazásai
|
|
- Lajos Szilágyi
- 8 évvel ezelőtt
- Látták:
Átírás
1 Újrakonfigurálható technológiák nagy teljesítményű alkalmazásai Magas szintű hardver leírás Szántó Péter BME MIT, FPGA Laboratórium
2 Hardver leírás RTL (register transfer level) leírás Verilog/VHDL A feladat újragondolását, manuális párhuzamosítását igényli Viszonylag kényelmetlen tesztkörnyezet létrehozása LASSÚ szimuláció Magas szintű leírás C leírásból hardver szintézis Modell alapú, grafikus fejlesztői környezetek Xilinx System Generator (Simulink) Synopsys Synplify DSP (Simulink) NI LabView FPGA
3 C hardver Xilinx Forge: Java alapú HW leíró nyelv Celoxica Handel-C , Oxford University Computing Laboratory {Celoxica, Catalytic} Agility 2009: Mentor Graphics megvásárolja a Handel-C-hez kapcsolódó jogokat, termékeket Streams-C Los Alamos National Laboratory Impulse C Mitrionics Mitrion-C Elsősorban HPC területre Calypto (ex-mentor) Graphics Catapult-C Altera C2H, Xilinx AutoESL, Synopsys Synphony
4 Celoxica Handel-C ANSI-C szintaxis, néhány kiegészítő nyelvi elemmel Módosítatlan C kód szekvenciális végrehajtás Párhuzamosítás explicit, a programozó feladata par{ } kulcsszó Kommunikáció a párhuzamos kódok között: channel FIFO jellegű felhasználás Szinkronizáció Kimenet Szintetizált EDIF file a támogatott FPGA-kra Verilog/VHDL kód
5 Handel-C változók Tetszőleges bitszélességű változók unsigned int 13 x; 13 bites előjel nélküli int 16 y; 16 bites előjeles Nincs automatikus cast/típus konverzió Van bit kiválasztás ( [ ] ) és konkatenálás ) int 16 x; int 14 y; x = y; macro expr copy(x, n) = select(n==1, x, copy(x, n-1))); macro expr extend(y, m) = copy(y[width(y)-1], y; width( ): visszaadja egy változó szélességét bit-ben
6 Handel-C függvények NINCS rekurzív függvény hívás A függvények paraméter listája konstans Paraméterek típusa ismert main( ) függvénynek nincs visszatérési értéke és nincsenek paraméterei Egy main( ) egy adott órajelről működik Lehet több main( ), több órajel tartomány
7 Handel-C ciklusok Ciklusok időbeli ciklikusságot írnak le, a végrehajtás szekvenciális Ciklus magot legalább egyszer végre kell hajtani Ha ez nem biztosítható, alternatív végrehajtás kell if (rt!= 0) for (i=0; i<rt; i++) { } else delay;
8 Handel-C párhuzamosítás C kód végrehajtása alapvetően szekvenciális Párhuzamosítás: par{ } blokk 1 változó 1 blokkból írható Par ciklus is létrehozható x = 0; y = 1; par{ x = 0; 1 órajel z = 2; seq{ x = 0; y = 1; z = 2; } 3 órajel } y = 1; z = 2; par{ 2 órajel x = 0; seq{ y = 1; z = 2; } }
9 Handel-C channel Szinkronizációhoz vagy adatcseréhez (FIFO) chanin/chanout: szimulációban file olvasás/írás chan int 16 MyCh; chan int 16 MyCh with {fifolength = 4}; Egy időben egy helyről írható/olvasható Olvasás Írás MyCh? x; MyCh! x;
10 Handel-C prialt Több channel kezelése egy process-ben while(1) prialt { } case chan1? y: break; case chan2? y: break; case chan3? y: break; Prioritás: chan1 chan3
11 ifselect Fordítási idejű elágazások létrehozása Pl. shift regiszter int 16 q; int 16 shr[15]; par (i=0; i<16; i++) { ifselect (i==0) shr[0] = input; else ifselect (i==15) q = shr[i-1]; else shr[i] = shr[i-1]; }
12 Shared expression Alapértelmezés: minden értékadáshoz saját HW seq{ a = b * c; d = e * f; g = h * i;} 3 órajel (szekvenciális) 3 szorzó 1/3 kihasználtság Megosztott erőforrás: shared expression shared expr mult(x, y) = x * y; seq{ a = mult(b, c); d = mult(e, f); g = mult(h, i); } 3 órajel (szekvenciális) 1 szorzó
13 RAM/ROM Egy port-os RAM/ROM deklaráció ram int 6 a[43]; static rom int 16 b[23] = { }; Több portos memória mpram mpram_s{ ram <signed 16> rw0[16]; rom <signed 16> r1[16]; }; mpram mpram_s memory_inst; Címzés: megfelelő szélességű változóval!
14 Példa: FIR szűrő while(1){ par{ InCh? smpl_ram.rw0[sw_addr]; accu = 0; c_addr = 0; sr_addr = sw_addr;sw_addr++; } while(c_addr<=7) par{ accu = accu+ ext(coeff[c_addr[2:0]],32)*ext(smpl_ram.rw0[sr_addr], 32)+ ext(coeff[7-c_addr[2:0]],32)*ext(smpl_ram.r1[sr_addr-8], 32); sr_addr--; c_addr++; } SimOut! accu[30:15]; }
15 Impulse-C Kiterjesztett C nyelvű leírás Process: független kódrészlet implementáció: SW vagy HW Kommunikáció Stream: adatfolyam (FIFO) Signal: 1:1 szinkronizáció Szemafor: 1:több szinkronizáció Register Shared Memory: osztott memória a HW és SW között
16 Impulse-C Platform: implementáció cél FPGA, processzor, kommunikációs busz,.
17 Impulse-C Egyszerű HW gyorsító fejlesztés Stream használatával Stream: két process közötti FIFO kapcsolat Használat: Stream létrehozása Stream megnyitása mindkét process-ben (SW & HW) Stream írása ill. Stream olvasása Stream bezárása
18 Impulse-C Stream létrehozása (név, típus, FIFO méret) strm_image_value = co_stream_create("img_val",int_type(16),bufsize); Stream megnyitás (mode: O_RDONLY vagy O_WRONLY) co_stream_open(co_stream stream, mode_t mode, co_type type); Stream írás & olvasás (SW & HW is!) co_error co_stream_write(co_stream stream, const void *buffer, size_t buffersize); co_error co_stream_read(co_stream stream, void *buffer, size_t buffersize); SW oldalon van burst támogatás
19 HW generálás Instruction stage 1 órajel Új instruction stage -t okozó utasítások Vezérlés (if, swicth) Ciklus Memória/tömb újabb hozzáférés Pl. 1 stage a ciklus magja: for (i=0; i<10; i++) sum += i << 1; 1 órajel alatt 1 összeadás és shiftelés Összesen 10 órajel
20 HW generálás #pragma nélküli C kód for (i=1; i<16; i++){ accu = accu + shr[i]*3; }
21 Pipeline #pragma CO PIPELINE for (i=1; i<16; i++){ #pragma CO PIPELINE #pragma CO SET stagedelay 16 accu = accu + shr[i]*3; }
22 Loop unroll for (i=1; i<16; i++){ #pragma CO UNROLL #pragma CO PIPELINE #pragma CO SET stagedelay 16 accu = accu + shr[i]*3; }
23 Egyéb pragma-k #pragma CO FLATTEN case & if-else szerkezetek kiterítése (1 órajel) #pragma CO NONRECURSIVE Tömbök: az elérés nem rekurzív, szabadon pipelineosíthstó #pragma CO SET "mul2_s.xx" 1 XX=lut, dsp, pipeline Megkötések Csak teljes unroll támogatott Pipeline cikluson belül nem lehet másik ciklus (!!!)
24 Mentor Catapult-C Időzítetlen C kódból HW generálás Algoritmus: C kód Architektúra: C kód Pl. cirkuláris buffer vagy shift regiszter Mikroarchitektúra Implementációs lehetőségek a funkcionalitás megváltoztatása nélkül Pl. 4 szorzás elvégzése 1/2/4 szorzóval Megadás: GUI Direktívák és pragma-k
25 Catapult-C Top-level hardver modul: C függvény Tetszőleges szélességű változók: AC adattípus Standard C könyvtár, szabadon felhasználható ac_datatypes Nem támogatott C elemek Dinamikus memória foglalás Pointerek tömb indexeléshez Union float és double adattípusok Rekurzió nem konstans rekurzió mélyésggel
26 AC típusok AC: Algorithmic C adattípus egész típus: ac_int.h fixpontos típus: ac_fixed.h Egész deklaráció: ac_int<w, false> x; W: bit szélesség false: pozitív true: kettes komplemens Ábrázolási tartománynál nagyobb érték: túlcsordul
27 AC típusok Fix pontos Deklaráció: ac_fixed<w,i,s,q,o> x; W: változó teljes bitszélessége I: egészrész mérete S: false: pozitív; true: kettes komplemens Q: kvantálási mód O: túlcsordulás mód Példák ac_fixed<4, 4, false>: 0 15, felbontás: 1 ac_fixed<4, 6, true>: , felbontás: 4 ac_fixed<4,-1, false>: 0 15/32, felbontás: 1/32
28 AC kvantálás Mód AC_TRN (alapértelmezett) AC_TRN_ZERO AC_RND AC_RND_ZERO AC_RND_INF AC_RND_MIN_INF AC_RND_CONV Csonkolás - felé Csonkolás 0 felé Kerekítés felé Kerekítés 0 felé Kerekítés ± felé Kerekítés - felé Kerekeítés a legközelebbi páros q többszörösre
29 AC túlcsordulás Mód AC_WRAP (alapértelmezett) AC_SAT AC_SAT_ZERO AC_SAT_SYM Túlcsordulás Szaturáció MIN/MAX-ra Szaturáció 0-ra Túlcsordulás vagy MIN érték esetén ±MAX Kerekítés és szaturáció HW erőforrást igényel! Pl. 24 bites, előjeles, szaturált, kerekített változó ac_fixed<24, 1, 1, AC_RND_ZERO, AC_SAT> x;
30 AC függvények slc<w2>(int_type i) bit-vektor kiválasztás Verilog ekvivalens: x[w2-1+i : i] visszatérési típus: ac_int<w2,s> x = y.slc<2>(5); set_slc(int_type i, ac_int<w2,s2> x): bit-vektor beállítás bits[w2-1+i : i] x x.set_slc(7, y); to_int(), to_uint(), to_long(), to_ulong(), to_int64(), to_uint64() length( ): visszaadja a változó szélességét
31 AC visszatérési típus A bemenetek automatikusan kiterjesztődnek Előjel Tört és egészrész Kettedespontok illesztettek Ez igaz a bit-operátorokra (, &, ^) is! Relációs operátorok kimenete bool, bemenetre a fentiek igazak
32 AC visszatérési típus Aritmetikai operátorok a művelet teljes végeredményét adják ac_int<8,false> a ; ac_int<8,false> b ; (a + b): 9-bites értéket ad (a * b): 16-bites értéket ad Integer konstans: ac_int<32,true>!! Shift operátor a bemeneti vektor szélességének megfelelő értékkel tér vissza ac_int<8,false> x = 255; // x = ac_int<9,false> y = x; // y = ac_int<9,false> z = x << 1; // z = ac_int<9,false> q = y << 1; // q =
33 Bool konverzió támogatott, így felhasználható bool-t igénylő esetben while( y[k] && z[m] ) {} z = y[k]? a : b; Bit kiválasztás Átadható int típus (LSB értékét kapja meg) x[k] = n; x[k] = (ac_int<1,false>) n; x[k] = 1 & n;
34 AC complex Definíció: ac_complex.h ac_complex<ac_fixed<16,8,true> > x (2.0, -3.0); valós és imaginárius rész is ac_fixed<16,8,true> típus kezdőérték 2, -3 Az operátorok visszatérési típusa megegyezik a használt ac_ típusnál látottakkal A típusok keverhetőek a műveletekben Kivéve ac_ és float/double
35 AC Channel Streaming jellegű interfész FIFO Top-level interfész Interfész hardver modulok között Több órajelet használó rendszereknél elkerülhetetlen Definíció: ac_channel.h
36 Hardver modul deklaráció Modulok között statikus channel AC típussal AC Channel void hw_module ( ac_channel< int > &data_in, ac_channel< int > &data_out ); static ac_channel< int > channel0; ac_channel< ac_int<10,true> > &data_in;
37 available(n) Van-e n darab adat a FIFO-ban CSAK szimulációban használható Mindig igazzá szintetizálódik Channel olvasás: AC Channel read_value = data_in.read(); Channel írás data_out.write( write_data );
38 Órajel constraint Befolyásolja az architektúrát (FF FF késleltetés), de nincs hatással a műveletek párhuzamosítási fokára műveletvégzők közötti regiszter szintek beillesztése automatikus, de ez NEM pipeline végrehajtás
39 Tömbök/memóriák Tömb deklaráció: Ki-, ill. bemeneti változók Belső változó Ha engedélyezett a RAM primitívek használata, a tömbök automatikusan egy portos RAM-ba kerülnek! Egy tömbhöz rendelt memória adatszélessége lehet kisebb vagy nagyobb mint a tömbváltozó Egy órajel alatt részleges vagy több adat kiolvasása Egy tömb több fizikai memória blokkra szétosztható Block Interleave
40 Tömbök Block/Interleave Egy tömb szétosztása 4 fizikai memóriába Block: egymást követő blokkok más-más memóriában Interleave: egymást követő címek más-más memóriában
41 Tömbök összefogása Több tömb elhelyezhető ugyanabban a fizikai memóriában Sidebyside A tömbök eleminek konkatenálása Compact Tömbök folytonos egymás után helyezése Base aligned Tömbök egymás után helyezése, de minden tömb 2 hatvány címen kezdődik
42 Interfész szintézis bemenet mgc_in_wire Csak adatbusz handshake nélkül mgc_in_wire_en Adatbusz + read acknowledge kimenet mgc_in_wire_wait Adatbusz + read acknowledge + input valid mgc_out_stdreg Csak kimeneti adatregiszter
43 Interfész szintézis kimenet mgc_out_stdreg Csak kimeneti adatregiszter mgc_out_stdreg_en Kimeneti adatregiszter + output valid (egyórajeles impulzus, egyébként a kimenet nem definiált) mgc_out_stdreg_wait Mint az _en, plusz output acknowledge bemenet mgc_out_buf_wait Plusz kimeneti regiszter nem blokkolódik az acknowledge megérkezéséig mgc_out_fifo_wait
44 Interfész - handshake in_vz: data in valid in_lz: data in read acknowledge out_lz: data out valid out_vz: data out acknowledge
45 Ciklusok Minden terv legalább egy ciklust tartalmaz main( ) függvény önmaga Ciklusok az optimalizáció kulcspontjai merging: ciklusok párhuzamos ill. szekvenciális végrehajtása unroll: ciklus kifejtése (párhuzamos végrehajtása) pipeline: ciklus mag pipeline-osítása milyen gyakran futtatható le a ciklusmag újra Iterációk száma (annak maximuma) legyen ismert! Korábbi kilépés: break Célszerű: legalább egyszer lefut (hátul tesztelő) Ciklusok elnevezhetők nagyon hasznos!
46 Ismeretlen iteráció void func ( int a[256], int n, int result ) { int acc = 0 ; int i = 0 ; do { acc += a[i] ; i++; } while (i <= n); result = acc; } void func ( int a[256], int n, int result ) { int acc = 0 ; for (int i=0; i<=n; i++) acc += a[i]; result = acc; }
47 Jó megoldás void func ( int a[256], int n, int result ) { int acc = 0 ; int i = 0 ; do { acc += a[i]; i++; if (i==n) break; } while (i < 256); result = acc; } void func ( int a[256], int n, int result ) { int acc = 0 ; for (int i=0; i<256; i++) { acc += a[i]; if (i==n) break; } result = acc; }
48 Unrolling Több ciklus iteráció párhuzamos végrehajtása Nem lehet adatfüggőség Bemeneti értékek rendelkezésre állása! Esetleges sávszélesség limit Lehetséges teljes és részleges unroll Értelemszerűen több erőforrást igényel void main0 ( d_type a[2], d_type b[2], d_type c[2] ) { for (int i=0; i<2; i++) c[i] = a[i] + b[i]; }
49 Blokkvázlat Unroll kikapcsolva Időzítés
50 Unroll = 2 Blokkvázlat Időzítés
51 Unrolling mit? Egymásba ágyazott ciklusoknak a belső ciklusát (legalábbis először) Belső ciklusokat tartalmazó ciklus kibontása kerülendő Eredmény: szekvenciális ciklus, komplex vezérlés Kifejtésre alkalmas Kis iterációs szám (vagy részleges unroll) Nem túl bonyolult ciklusmag Nem visszacsatolt Fontos: megfelelő sávszélesség biztosítása
52 Loop pipelining A ciklusmag pipeline végrehajtása Következő iteráció azelőtt megkezdődik, mielőtt az előző befejeződött volna Kis erőforrásigény-többlet (esetlegesen zéró) Limit Adat sávszélesség Adatfüggőség az egyes iterációk között Iteration Interval (II): iteráció elkezdésének periódusideje (órajelben) 1: minden órajelben újabb iteráció kezdődik
53 Loop pipelining 3 órajelet igénylő szekvenciális művelet (II = 3) II = 1 II = 2
54 Egymásba ágyazott ciklusok OUT: for ( ) MID0: for (0 1) IN0: for (0 2) func0( A, B, C ); MID1: for (0 1) IN1: for (0 2) func1( D, E, F) Nincs pipeline
55 Egymásba ágyazott ciklusok IN0 és IN1: II = 1 OUT: for ( ) MID0: for (0 2) IN0: for (0 2) func0( A, B, C ); MID1: for (0 2) IN1: for (0 2) func1( D, E, F)
56 Egymásba ágyazott ciklusok MID0 és MID1: II = 1 OUT: for ( ) MID0: for (0 2) IN0: for (0 2) func0( A, B, C ); MID1: for (0 2) IN1: for (0 2) func1( A, B, C)
57 Egymásba ágyazott ciklusok OUT: II = 1 OUT: for ( ) MID0: for (0 2) IN0: for (0 2) func0( A, B, C ); MID1: for (0 2) IN1: for (0 2) func1( A, B, C)
58 Példa design flow Setup Design Cél eszköz, elérhető primitívek Cél működési frekvencia Reset beállítás Architecture Constraints Interfész szintézis (handshake, tömb RAM összerendelés) Ciklus tulajdonságok beállítása (unroll, pipeline, ) Schedule Ütemezés eredmény Gantt táblában
59 Példa void main0 ( d_type a[4], d_type b[4], d_type c[4], d_type d[4], d_type q[4] ) { for (int i=0; i<4; i++) q[i] = a[i] + b[i] + c[i] + d[i]; } órajel constraint hatása wire bemenet: szekvenciális, unroll RAM bemenet: szekvenciális, unroll RAM sávszélesség növelése
60 Példa: átlagolás Implementációra szánt függvény #include "ac_fixed.h" #include "ac_channel.h" #include "type.h" void avg( ac_channel< d_type > &data_in, ac_channel< d_type > &data_out ) { if (data_in.available(2)) { d_type acc = 0 ; for (int i=0; i<2; i++) acc += data_in.read() ; data_out.write(acc >> 1) ; } } Mentor AC header fileok Saját típus deklaráció Be- és kimeneti channel Átlagolás Channel írás
61 Példa: átlagolás Testbench int main(){ static ac_channel< d_type > data_in; static ac_channel< d_type > data_out; for (int i=0;i<8;i++){ int z = i ; data_in.write(z) ; cout << "writing " << z << endl; avg(data_in, data_out) ; } cout << endl << "emptying stream" ; cout << endl << endl; do { cout << data_out.read() << endl; } while (data_out.available(1)) ; }!! include!! Channel deklarációk Bemeneti adatok generálása avg meghívása Kimeneti stream kiírása
62 Példa: átlagolás Az avg függvényből generált hardver kimeneti regiszter összeadó késleltetett bemenet
63 1. gyakorlat 64 TAP-es FIR szűrő megvalósítása Lebegőpontos modell C-ben Catapult-C implementációra szánt fix pontos verzió C Testbench Gerjesztés előállítása Lebegőpontos & fixpontos verzió összehasonlítása FIR szűrő Új bemeneti adat beolvasása shift regiszterbe TAP számú MAC művelet végrehajtása akkumulátoron Eredmény kiírása
Xilinx Vivado HLS gyakorlat (2018.) C implementáció és testbench
Xilinx Vivado HLS gyakorlat (2018.) C implementáció és testbench 1. Töltse le a tárgy honlapjáról a gyakorlathoz tartozó file-t. 2. Hozzon létre egy Vivado HLS projektet az alábbi beállításokkal. a. Adja
Újrakonfigurálható technológiák nagy teljesítményű alkalmazásai
Újrakonfigurálható technológiák nagy teljesítményű alkalmazásai Xilinx System Generator Szántó Péter BME MIT, FPGA Laboratórium Xilinx System Generator MATLAB Simulink Toolbox Simulink Modell alapú grafikus
Szűrő architektúrák FPGA realizációjának vizsgálata
Szűrő architektúrák FPGA realizációjának vizsgálata Kutatási beszámoló a Pro Progressio alapítvány számára Szántó Péter, 2013. Bevezetés Az FPGA-ban megvalósítandó jelfeldolgozási feladatok közül a legfontosabb
Mintavételes szabályozás mikrovezérlő segítségével
Automatizálási Tanszék Mintavételes szabályozás mikrovezérlő segítségével Budai Tamás budai.tamas@sze.hu http://maxwell.sze.hu/~budait Tartalom Mikrovezérlőkről röviden Programozási alapismeretek ismétlés
5. KOMBINÁCIÓS HÁLÓZATOK LEÍRÁSÁNAK SZABÁLYAI
5. KOMBINÁCIÓS HÁLÓZATOK LEÍRÁSÁNAK SZABÁLYAI 1 Kombinációs hálózatok leírását végezhetjük mind adatfolyam-, mind viselkedési szinten. Az adatfolyam szintű leírásokhoz az assign kulcsszót használjuk, a
Programozás II. 2. Dr. Iványi Péter
Programozás II. 2. Dr. Iványi Péter 1 C++ Bjarne Stroustrup, Bell Laboratórium Első implementáció, 1983 Kezdetben csak precompiler volt C++ konstrukciót C-re fordította A kiterjesztés alapján ismerte fel:.cpp.cc.c
Java II. I A Java programozási nyelv alapelemei
Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2008. 02. 19. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve az annak
Laborgyakorlat 3 A modul ellenőrzése szimulációval. Dr. Oniga István
Laborgyakorlat 3 A modul ellenőrzése szimulációval Dr. Oniga István Szimuláció és verifikáció Szimulációs lehetőségek Start Ellenőrzés után Viselkedési Funkcionális Fordítás után Leképezés után Időzítési
Hardver leíró nyelvek (HDL)
Hardver leíró nyelvek (HDL) Benesóczky Zoltán 2004 A jegyzetet a szerzıi jog védi. Azt a BME hallgatói használhatják, nyomtathatják tanulás céljából. Minden egyéb felhasználáshoz a szerzı belegyezése szükséges.
Magas szintű optimalizálás
Magas szintű optimalizálás Soros kód párhuzamosítása Mennyi a várható teljesítmény növekedés? Erős skálázódás (Amdahl törvény) Mennyire lineáris a skálázódás a párhuzamosítás növelésével? S 1 P 1 P N GPGPU
Digitális technika (VIMIAA02) Laboratórium 1
BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika (VIMIAA02) Laboratórium 1 Fehér Béla Raikovich Tamás,
Digitális technika (VIMIAA02) Laboratórium 1
BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika (VIMIAA02) Laboratórium 1 Fehér Béla Raikovich Tamás,
Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double
Programozás alapjai C nyelv 4. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.10.10.. -1- Mit tudunk már? Típus fogalma char, int, float,
Occam 1. Készítette: Szabó Éva
Occam 1. Készítette: Szabó Éva Párhuzamos programozás Egyes folyamatok (processzek) párhuzamosan futnak. Több processzor -> tényleges párhuzamosság Egy processzor -> Időosztásos szimuláció Folyamatok közötti
A C programozási nyelv I. Bevezetés
A C programozási nyelv I. Bevezetés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv I. (bevezetés) CBEV1 / 1 A C nyelv története Dennis M. Ritchie AT&T Lab., 1972 rendszerprogramozás,
Verilog HDL ismertető 2. hét : 1. hét dia
BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Verilog HDL ismertető 2. hét : 1. hét + 15 25 dia Fehér Béla, Raikovich
Pénzügyi algoritmusok
Pénzügyi algoritmusok A C++ programozás alapjai Az Integrált Fejlesztői Környezet C++ alapok Az Integrált Fejlesztői Környezet Visual Studio 2013 Community Edition Kitekintés: fordítás Preprocesszor Fordító
Java II. I A Java programozási nyelv alapelemei
Java2 / 1 Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2009. 02. 09. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve
A C programozási nyelv I. Bevezetés
A C programozási nyelv I. Bevezetés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv I. (bevezetés) CBEV1 / 1 A C nyelv története Dennis M. Ritchie AT&T Lab., 1972 rendszerprogramozás,
5-6. ea Created by mrjrm & Pogácsa, frissítette: Félix
2. Adattípusonként különböző regisztertér Célja: az adatfeldolgozás gyorsítása - különös tekintettel a lebegőpontos adatábrázolásra. Szorzás esetén karakterisztika összeadódik, mantissza összeszorzódik.
Fejlett programozási nyelvek C++ Iterátorok
Fejlett programozási nyelvek C++ Iterátorok 10. előadás Antal Margit 2009 slide 1 Témakörök I. Bevezetés II. Iterátor definíció III. Iterátorok jellemzői IV. Iterátorkategóriák V. Iterátor adapterek slide
Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)
Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD) Bevezetés A laborgyakorlatok alapvető célja a tárgy későbbi laborgyakorlataihoz szükséges ismeretek átadása, az azokban szereplő
GPU Lab. 4. fejezet. Fordítók felépítése. Grafikus Processzorok Tudományos Célú Programozása. Berényi Dániel Nagy-Egri Máté Ferenc
4. fejezet Fordítók felépítése Grafikus Processzorok Tudományos Célú Programozása Fordítók Kézzel assembly kódot írni nem érdemes, mert: Egyszerűen nem skálázik nagy problémákhoz arányosan sok kódot kell
Mit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3)
Programozás alapjai C nyelv 4. gyakorlat Szeberényi Imre BME IIT Mit tudunk már? Típus fogalma char, int, float, double változók deklarációja operátorok (aritmetikai, relációs, logikai,
Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós augusztus 29. Széchenyi István Egyetem, Gy r
Programozás alapjai (GKxB_INTM023) Széchenyi István Egyetem, Gy r 2019. augusztus 29. Feladat: írjuk ki az els 10 természetes szám négyzetét! #i n c l u d e i n t main ( v o i d ) { p r
Magas szintű szintézis (High Level Synthesis)
Budapesti Műszaki és Gazdaságtudományi Egyetem Elektronikus Eszközök Tanszéke (High Level Synthesis) Timár András 2013. Április 8. A hagyományos tervezési folyamat Indulás: specifikáció Lehet szöveges
Szoftvertechnológia alapjai Java előadások
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz e-mail: fandrew@mit.bme.hu tárgy honlap: http://home.mit.bme.hu/~fandrew/szofttech_hu.html A mai előadás tartalma: Miért pont Java?
Pénzügyi algoritmusok
Pénzügyi algoritmusok A C++ programozás alapjai Tömbök (3. rész) Konstansok Kivételkezelés Tömbök 3. Többdimenziós tömbök Többdimenziós tömbök int a; Többdimenziós tömbök int a[5]; Többdimenziós tömbök
Szoftvertervezés és -fejlesztés I.
Szoftvertervezés és -fejlesztés I. Operátorok Vezérlési szerkezetek Gyakorlás 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő anyag vázlatát képezik.
Informatika terméktervezőknek
Informatika terméktervezőknek C# alapok Névterület (namespace) using Osztály (class) és Obejtumok Metódus (function, procedure, method) main() static void string[] arg Szintaxis // /* */ \n \t Névadások
Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar
Programozás I. 3. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 1 Primitív típusok Típus neve Érték Alap érték Foglalt tár Intervallum byte Előjeles egész 0 8 bit
Mikrorendszerek tervezése
BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Mikrorendszerek tervezése Megszakítás- és kivételkezelés Fehér Béla Raikovich
1. Alapok. Programozás II
1. Alapok Programozás II Elérhetőség Név: Smidla József Elérhetőség: smidla dcs.uni-pannon.hu Szoba: I916 2 Irodalom Bjarne Stroustrup: A C++ programozási nyelv 3 Irodalom Erich Gamma, Richard Helm, Ralph
Programozás alapjai. 5. előadás
5. előadás Wagner György Általános Informatikai Tanszék Cserélve kiválasztásos rendezés (1) A minimum-maximum keresés elvére épül. Ismétlés: minimum keresés A halmazból egy tetszőleges elemet kinevezünk
LabView Academy. 4. óra párhuzamos programozás
LabView Academy 4. óra párhuzamos programozás Ellenőrző kérdések Hogyan lehet letiltani az automatikus hibakezelés funkciót? a) Engedélyezzük az Execution highlighting ot b) A subvi error out cluster-jét
A Memory Interface Generator (MIG) beállítása a Logsys Kintex-7 FPGA kártyához
A Memory Interface Generator (MIG) beállítása a Logsys Kintex-7 FPGA kártyához Ellenőrizzük a projektből importált adatokat. Ha rendben vannak, akkor kattintsunk a Next gombra. Válasszuk a Create Design
Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT
BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT Eddig Tetszőleges
Digitális technika VIMIAA01 9. hét
BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT Eddig Tetszőleges
S z á m í t ó g é p e s a l a p i s m e r e t e k
S z á m í t ó g é p e s a l a p i s m e r e t e k 7. előadás Ami eddig volt Számítógépek architektúrája Alapvető alkotóelemek Hardver elemek Szoftver Gépi kódtól az operációs rendszerig Unix alapok Ami
Számítógépek felépítése
Számítógépek felépítése Emil Vatai 2014-2015 Emil Vatai Számítógépek felépítése 2014-2015 1 / 14 Outline 1 Alap fogalmak Bit, Byte, Word 2 Számítógép részei A processzor részei Processzor architektúrák
Készítette: Trosztel Mátyás Konzulens: Hajós Gergely
Készítette: Trosztel Mátyás Konzulens: Hajós Gergely Monte Carlo Markov Chain MCMC során egy megfelelően konstruált Markov-lánc segítségével mintákat generálunk. Ezek eloszlása követi a céleloszlást. A
Apple Swift kurzus 3. gyakorlat
Készítette: Jánki Zoltán Richárd Dátum: 2016.09.20. Apple Swift kurzus 3. gyakorlat Kollekciók: Tömb: - let array = [] - üres konstans tömb - var array = [] - üres változó tömb - var array = [String]()
Tartalom Tervezési egység felépítése Utasítások csoportosítása Értékadás... 38
Bevezetés... 11 1. A VHDL mint rendszertervező eszköz... 13 1.1. A gépi tervezés... 13 1.2. A VHDL általános jellemzése... 14 1.3. Tervezési eljárás VHDL-lel... 15 2. A VHDL nyelv alapszabályai... 19 2.1.
Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe
Mechatronika és mikroszámítógépek 2017/2018 I. félév Bevezetés a C nyelvbe A C programozási nyelv A C egy általános célú programozási nyelv, melyet Dennis Ritchie fejlesztett ki Ken Thompson segítségével
Memóriagazdálkodás. Kódgenerálás. Kódoptimalizálás
Kódgenerálás Memóriagazdálkodás Kódgenerálás program prológus és epilógus értékadások fordítása kifejezések fordítása vezérlési szerkezetek fordítása Kódoptimalizálás L ATG E > TE' E' > + @StPushAX T @StPopBX
Párhuzamos és Grid rendszerek
Párhuzamos és Grid rendszerek (10. ea) GPGPU Szeberényi Imre BME IIT Az ábrák egy része az NVIDIA oktató anyagaiból és dokumentációiból származik. Párhuzamos és Grid rendszerek BME-IIT
A C# programozási nyelv alapjai
A C# programozási nyelv alapjai Tisztán objektum-orientált Kis- és nagybetűket megkülönbözteti Ötvözi a C++, Delphi, Java programozási nyelvek pozitívumait.net futtatókörnyezet Visual Studio fejlesztőkörnyezet
Labor gyakorlat Mikrovezérlők
Labor gyakorlat Mikrovezérlők ATMEL AVR ARDUINO 1. ELŐADÁS BUDAI TAMÁS 2015. 09. 06. Tartalom Labor 2 mikrovezérlők modul 2 alkalom 1 mikrovezérlők felépítése, elmélet 2 programozás, mintaprogramok Értékelés:
Maximum kiválasztás tömbben
ELEMI ALKALMAZÁSOK FEJLESZTÉSE I. Maximum kiválasztás tömbben Készítette: Szabóné Nacsa Rozália Gregorics Tibor tömb létrehozási módozatok maximum kiválasztás kódolása for ciklus adatellenőrzés do-while
Operációs Rendszerek II. labor. 2. alkalom
Operációs Rendszerek II. labor 2. alkalom Mai témák (e)grep Shell programozás (részletesebben, példákon keresztül) grep Alapvető működés: mintákat keres a bemeneti csatorna (STDIN vagy fájl) soraiban,
Programozás C és C++ -ban
Programozás C és C++ -ban 2. További különbségek a C és C++ között 2.1 Igaz és hamis A C++ programozási nyelv a C-hez hasonlóan definiál néhány alap adattípust: char int float double Ugyanakkor egy új
Az UPPAAL egyes modellezési lehetőségeinek összefoglalása. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék
Az UPPAAL egyes modellezési lehetőségeinek összefoglalása Majzik István BME Méréstechnika és Információs Rendszerek Tanszék Résztvevők együttműködése (1) Automaták interakciói üzenetküldéssel Szinkron
Szkriptnyelvek. 1. UNIX shell
Szkriptnyelvek 1. UNIX shell Szkriptek futtatása Parancsértelmez ő shell script neve paraméterek shell script neve paraméterek Ebben az esetben a szkript tartalmazza a parancsértelmezőt: #!/bin/bash Szkriptek
Labor gyakorlat Mikrovezérlők
Labor gyakorlat Mikrovezérlők ATMEL AVR ARDUINO 1. ELŐADÁS BUDAI TAMÁS Tartalom Labor 2 mikrovezérlők modul 2 alkalom 1 mikrovezérlők felépítése, elmélet 2 programozás, mintaprogramok Értékelés: a 2. alkalom
1. Egyszerű (primitív) típusok. 2. Referencia típusok
II. A Java nyelv eszközei 1. Milyen eszközöket nyújt a Java a programozóknak Korábban már említettük, hogy a Java a C nyelvből alakult ki, ezért a C, C++ nyelvben járatos programozóknak nem fog nehézséget
Java programozási nyelv
Java programozási nyelv 2. rész Vezérlő szerkezetek Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/23 Tartalomjegyzék
Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED
UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED AWK - szintaxis, vezérlési szerkezetek Operációs rendszerek 11. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik
OpenCL alapú eszközök verifikációja és validációja a gyakorlatban
OpenCL alapú eszközök verifikációja és validációja a gyakorlatban Fekete Tamás 2015. December 3. Szoftver verifikáció és validáció tantárgy Áttekintés Miért és mennyire fontos a megfelelő validáció és
Programozás BMEKOKAA146. Dr. Bécsi Tamás 2. előadás
Programozás BMEKOKAA146 Dr. Bécsi Tamás 2. előadás Szintaktikai alapok Alapvető típusok, ismétlés C# típus.net típus Méret (byte) Leírás byte System.Byte 1Előjel nélküli 8 bites egész szám (0..255) char
Adatok ábrázolása, adattípusok
Adatok ábrázolása, adattípusok Összefoglalás Adatok ábrázolása, adattípusok Számítógépes rendszerek működés: információfeldolgozás IPO: input-process-output modell információ tárolása adatok formájában
Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Előfeldolgozó rendszer Tömbök. Dr. Bécsi Tamás 4. Előadás
Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Előfeldolgozó rendszer Tömbök Dr. Bécsi Tamás 4. Előadás A?: operátor Nézzük meg a következő kifejezést: if (a>b) z=a; else z=b; Ez felírható
Programozás alapjai gyakorlat. 2. gyakorlat C alapok
Programozás alapjai gyakorlat 2. gyakorlat C alapok 2016-2017 Bordé Sándor 2 Forráskód, fordító, futtatható állomány Először megírjuk a programunk kódját (forráskód) Egyszerű szövegszerkesztőben vagy fejlesztőkörnyezettel
A programozás alapjai előadás. A C nyelv típusai. Egész típusok. C típusok. Előjeles egészek kettes komplemens kódú ábrázolása
A programozás alapjai 1 A C nyelv típusai 4. előadás Híradástechnikai Tanszék C típusok -void - skalár: - aritmetikai: - egész: - eger - karakter - felsorolás - lebegőpontos - mutató - függvény - union
Programozási nyelvek JAVA EA+GY 1. gyakolat
Programozási nyelvek JAVA EA+GY 1. gyakolat EÖTVÖS LORÁND TUDOMÁNYEGYTEM INFORMATIKAI KAR PROGRAMOZÁSI NYELVEK ÉS FORDÍTÓPROGRAMOK TANSZÉK 2018/2019. tavaszi félév Tartalom 1 A Java alapjai 2 Java program
Python tanfolyam Python bevezető I. rész
Python tanfolyam Python bevezető I. rész Mai tematika Amiről szó lesz (most): Interpretált vs. fordított nyelvek, GC Szintakszis Alaptípusok Control flow: szekvencia, szelekció, iteráció... Függvények
Bevezetés Kiíratás Beolvasás Formázás Fájlkezelés Gyakorló feladatok C++ I/O. Bevezetés. Izsó Tamás február 20. Izsó Tamás C++ I/O / 1
C++ I/O Bevezetés Izsó Tamás 2014. február 20. Izsó Tamás C++ I/O / 1 Section 1 Bevezetés Izsó Tamás C++ I/O / 2 Irodalom Izsó Tamás C++ I/O / 3 Paraméter illesztés függvénynév túlterhelés esetén 1 Pontos
A PROGAMOZÁS ALAPJAI 1. Függvény mint függvény paramétere. Függvény mint függvény paramétere. Függvény mint függvény paramétere
2012. április 10. A PROGAMOZÁS ALAPJAI 1 Vitéz András egyetemi adjunktus BME Híradástechnikai Tanszék vitez@hit.bme.hu Miről lesz ma szó? alaki szabályok használata - mintapélda használata - mintapélda
Autóipari beágyazott rendszerek. Komponens és rendszer integráció
Autóipari beágyazott rendszerek és rendszer integráció 1 Magas szintű fejlesztési folyamat SW architektúra modellezés Modell (VFB) Magas szintű modellezés komponensek portok interfészek adattípusok meghatározása
1. Gyakorlat. Rövid elméleti összefoglaló. <tárolási osztály>típus <típus > változónév <= kezdőérték><, >;
Rövid elméleti összefoglaló 1. Gyakorlat A C++ nyelv hatékony, általános célú programozási nyelv, amely hagyományos fejlesztőeszközként és objektum-orientált programozási nyelvként egyaránt használható.
Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás 2. előadás
Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606 Dr. Bécsi Tamás 2. előadás Console I/O bővebben Lásd mintaprogram 2015.09.21. Számítástechnika I. 2. Előadás 2 Számábrázolásról
Digitális technika VIMIAA hét
BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK VIMIAA02 14. hét Fehér Béla BME MIT Rövid visszatekintés, összefoglaló
A tervfeladat sorszáma: 1 A tervfeladat címe: ALU egység 8 regiszterrel és 8 utasítással
.. A tervfeladat sorszáma: 1 A ALU egység 8 regiszterrel és 8 utasítással Minimálisan az alábbi képességekkel rendelkezzen az ALU 8-bites operandusok Aritmetikai funkciók: összeadás, kivonás, shift, komparálás
Pénzügyi algoritmusok
Pénzügyi algoritmusok A C++ programozás alapjai Folyamok kezelése Fájlok írása/olvasása Folyamok kezelése Szabvány folyamok Eddig Kiírás a szöveges konzolra:
The modular mitmót system. DPY kijelző kártya C API
The modular mitmót system DPY kijelző kártya C API Dokumentációkód: -D 01.0.0.0 Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Beágyazott Információs Rendszerek
Az INTEL D-2920 analóg mikroprocesszor alkalmazása
Az INTEL D-2920 analóg mikroprocesszor alkalmazása FAZEKAS DÉNES Távközlési Kutató Intézet ÖSSZEFOGLALÁS Az INTEL D 2920-at kifejezetten analóg feladatok megoldására fejlesztették ki. Segítségével olyan
C programozás. 6 óra Függvények, függvényszerű makrók, globális és
C programozás 6 óra Függvények, függvényszerű makrók, globális és lokális változók 1.Azonosítók A program bizonyos összetevőire névvel (azonosító) hivatkozunk Első karakter: _ vagy betű (csak ez lehet,
FPGA áramkörök alkalmazásainak vizsgálata
FPGA áramkörök alkalmazásainak vizsgálata Kutatási beszámoló a Pro Progressio alapítvány számára Raikovich Tamás, 2012. 1 Bevezetés A programozható logikai áramkörökön (FPGA) alapuló hardver gyorsítók
egy szisztolikus példa
Automatikus párhuzamosítás egy szisztolikus példa Áttekintés Bevezetés Példa konkrét szisztolikus algoritmus Automatikus párhuzamosítási módszer ötlet Áttekintés Bevezetés Példa konkrét szisztolikus algoritmus
Digitális technika II. (vimia111) 5. gyakorlat: Tervezés adatstruktúra-vezérlés szétválasztással, vezérlőegység generációk
Digitális technika II. (vimia111) 5. gyakorlat: Tervezés adatstruktúra-vezérlés szétválasztással, vezérlőegység generációk Elméleti anyag: Processzoros vezérlés általános tulajdonságai o z induló készletben
Programozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás V 1.0 OE-NIK,
Programozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás OE-NIK, 2013 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk
7.2.2. A TMS320C50 és TMS320C24x assembly programozására példák
7.2.2. A TMS320C50 és TMS320C24x assembly programozására példák A TMS320C50 processzor Ez a DSP processzor az 1.3. fejezetben lett bemutatva. A TMS320C50 ##LINK: http://www.ti.com/product/tms320c50## egy
Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós március 3. Széchenyi István Egyetem, Gy r
Programozás (GKxB_INTM021) Széchenyi István Egyetem, Gy r 2018. március 3. Függvények Mi az a függvény (function)? Programkód egy konkrét, azonosítható, paraméterezhet, újrahasznosítható blokkja Miért
SZÁMÍTÓGÉP ARCHITEKTÚRÁK
SZÁMÍTÓGÉP ARCHITEKTÚRÁK Az utasítás-pipeline szélesítése Horváth Gábor, Belső Zoltán BME Hálózati Rendszerek és Szolgáltatások Tanszék ghorvath@hit.bme.hu, belso@hit.bme.hu Budapest, 2018-05-19 1 UTASÍTÁSFELDOLGOZÁS
Egyszerű mikroprocesszor RTL modellek (VHDL)
Budapesti Műszaki és Gazdaságtudományi Egyetem Egyszerű mikroprocesszor RTL modellek (VHDL) Horváth Péter Elektronikus Eszközök Tanszéke 2014. augusztus 11. Horváth Péter Egyszerű mikroprocesszor RTL modellek
Alkalmazott modul: Programozás 4. előadás. Procedurális programozás: iteratív és rekurzív alprogramok. Alprogramok. Alprogramok.
Eötvös Loránd Tudományegyetem Informatikai Kar Alkalmazott modul: Programozás 4. előadás Procedurális programozás: iteratív és rekurzív alprogramok Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
1. Bevezetés szeptember 9. BME Fizika Intézet. Szám. szim. labor ea. Tőke Csaba. Tudnivalók. feladat. Tematika. Moodle Házi feladatok
Számítógépes szimulációk 1. Bevezetés BME Fizika Intézet 2015. szeptember 9. Bevezetés A félév menete C-ismétlés, 1. rész Oktatók: Nagyfalusi Balázs: nagyfalusi@phy.bme.hu, F3 211. : tcsaba@eik.bme.hu,
ISA szimulátor objektum-orientált modell (C++)
Budapesti Műszaki és Gazdaságtudományi Egyetem ISA szimulátor objektum-orientált modell (C++) Horváth Péter Elektronikus Eszközök Tanszéke 2015. február 12. Horváth Péter ISA szimulátor objektum-orientált
Digitális technika VIMIAA hét
BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika VIMIAA02 14. hét Fehér Béla BME MIT Digitális technika
Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós február 18. Széchenyi István Egyetem, Gy r
Programozás (GKxB_INTM021) Széchenyi István Egyetem, Gy r 2018. február 18. Minimum és maximumkeresés u s i n g n a m e s p a c e s t d ; i n t main ( ) { c o u t
... S n. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak.
Párhuzamos programok Legyen S parbegin S 1... S n parend; program. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak. Folyamat
Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)
Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD) Multiplexer (MPX) A multiplexer egy olyan áramkör, amely több bemeneti adat közül a megcímzett bemeneti adatot továbbítja a kimenetére.
Bevezetés az informatikába
Bevezetés az informatikába 3. előadás Dr. Istenes Zoltán Eötvös Loránd Tudományegyetem Informatikai Kar Programozáselmélet és Szoftvertechnológiai Tanszék Matematikus BSc - I. félév / 2008 / Budapest Dr.
Szimuláció RICHARD M. KARP és AVI WIGDERSON. (Készítette: Domoszlai László)
Szimuláció RICHARD M. KARP és AVI WIGDERSON A Fast Parallel Algorithm for the Maximal Independent Set Problem című cikke alapján (Készítette: Domoszlai László) 1. Bevezetés A következőkben megadott algoritmus
Perifériák hozzáadása a rendszerhez
Perifériák hozzáadása a rendszerhez Intellectual Property (IP) katalógus: Az elérhető IP modulok listája Bal oldalon az IP Catalog fül Ingyenes IP modulok Fizetős IP modulok: korlátozások Időkorlátosan
Architektúra, megszakítási rendszerek
Architektúra, megszakítási ek Mirıl lesz szó? Megszakítás fogalma Megszakítás folyamata Többszintű megszakítási ek Koschek Vilmos Példa: Intel Pentium vkoschek@vonalkodhu Koschek Vilmos Fogalom A számítógép
6. fejezet: Ciklusok
6. fejezet: Ciklusok Mint a nyelvekben általában, itt is léteznek ciklusok. Az alapvető három ciklus-típus: elöltesztelő, hátultesztelő és számláló. Lássuk ezeket sorban! Elöltesztelő = while. A while
Újrakonfigurálható eszközök
Újrakonfigurálható eszközök 5. A Verilog sűrűjében: véges állapotgépek Hobbielektronika csoport 2017/2018 1 Debreceni Megtestesülés Plébánia Felhasznált irodalom és segédanyagok Icarus Verilog Simulator:
Bevezetés a párhuzamos programozási koncepciókba
Bevezetés a párhuzamos programozási koncepciókba Kacsuk Péter és Dózsa Gábor MTA SZTAKI Párhuzamos és Elosztott Rendszerek Laboratórium E-mail: kacsuk@sztaki.hu Web: www.lpds.sztaki.hu Programozási modellek
Objektumorientált Programozás III.
Objektumorientált Programozás III. Vezérlési szerkezetek ismétlés Matematikai lehetőségek Feladatok 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő
Számítógépek felépítése, alapfogalmak
2. előadás Számítógépek felépítése, alapfogalmak Lovas Szilárd, Krankovits Melinda SZE MTK MSZT kmelinda@sze.hu B607 szoba Nem reprezentatív felmérés kinek van ilyen számítógépe? 2 Nem reprezentatív felmérés