Vezérlésfolyam gráf és X86 utasításkészlet

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "Vezérlésfolyam gráf és X86 utasításkészlet"

Átírás

1 Vezérlésfolyam gráf és X86 utasításkészlet Kód visszafejtés. Izsó Tamás november 3. Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 1

2 Intervallum algoritmus Procedure Intervals(G={N, E, h}) I := {} H := {h} for( n nem bejárt pontra n H ) do I(n) := {n} repeat I(n) := I(n) + {m N ahol p Pred(m) pontra teljesül p I(n)} until nincs több csomópont, ami hozzáadható I(n) hez H := H + {m N m / H m / I(n) ( p Pred(m) amelyre teljesül hogy p I(n))} I = I + I(n) end for end procedure Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 2

3 Megjegyzés az intervallum algoritmushoz Az eljárás egy vezérlésfolyam gráfot G = {N, E} és egy kezdőpontot h kap, és az intervallumok halmazát I adja vissza. Azokat a csomópontokat tesszük egy intervallumba, akikbe olyan helyről mutat él, amelyeket már felvettünk az aktuális intervallumba (belső repeat ciklus). Azok a pontok, amelyekre az intervallumban lévő csomópontokból mutat él, egy következő intervallum kezdőpontját képzik, és ezek a H (head) halmazba kerülnek. Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 3

4 Intervallum analízis szemléltetése B1 B2 B3 B4 B5 B6 B7 B12 B8 B13 B9 B14 B10 B15 B11 Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 4

5 Intervallum analízis szemléltetése B1 H1 = {B1} I1 = {B1} B2 B3 B4 B5 B6 B7 B12 B8 B13 B9 B14 B10 B15 B11 Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 4

6 Intervallum analízis szemléltetése B1 H1 = {B1} I1 = {B1, B2} B2 B3 B4 B5 B6 B7 B12 B8 B13 B9 B14 B10 B15 B11 Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 4

7 Intervallum analízis szemléltetése B1 H1 = {B1} I1 = {B1, B2, B3} B2 B3 B4 B5 B6 B7 B12 B8 B13 B9 B14 B10 B15 B11 Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 4

8 Intervallum analízis szemléltetése B1 H1 = {B1} I1 = {B1, B2, B3, B4} B2 B3 B4 B5 B6 B7 B12 B8 B13 B9 B14 B10 B15 B11 Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 4

9 Intervallum analízis szemléltetése B1 H1 = {B1} I1 = {B1, B2, B3, B4, B5} B2 B3 B4 B5 B6 B7 B12 B8 B13 B9 B14 B10 B15 B11 Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 4

10 Intervallum analízis szemléltetése B1 H1 = {B1} I1 = {B1, B2, B3, B4, B5} H2 = {B6} I2 = {B6} B2 B3 B4 B5 B6 B15 pont nincs az I1 halmazban ezért új intervallumot kell létrehozni! B7 B12 B8 B13 B9 B14 B10 B15 B11 Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 4

11 Intervallum analízis szemléltetése B1 H1 = {B1} I1 = {B1, B2, B3, B4, B5} H2 = {B6} I2 = {B6, B7} B2 B3 B4 B5 B6 B7 B12 B8 B13 B9 B14 B10 B15 B11 Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 4

12 Intervallum analízis szemléltetése B1 H1 = {B1} I1 = {B1, B2, B3, B4, B5} H2 = {B6} I2 = {B6, B7, B8} B2 B3 B4 B5 B6 B7 B12 B8 B13 B9 B14 B10 B15 B11 Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 4

13 Intervallum analízis szemléltetése B1 H1 = {B1} I1 = {B1, B2, B3, B4, B5} H2 = {B6} I2 = {B6, B7, B8, B9} B2 B3 B4 B5 B6 B7 B12 B8 B13 B9 B14 B10 B15 B11 Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 4

14 Intervallum analízis szemléltetése B1 H1 = {B1} I1 = {B1, B2, B3, B4, B5} H2 = {B6} I2 = {B6, B7, B8, B9, B10} B2 B3 B4 B5 B6 B7 B12 B8 B13 B9 B14 B10 B15 B11 Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 4

15 Intervallum analízis szemléltetése B1 H1 = {B1} I1 = {B1, B2, B3, B4, B5} H2 = {B6} I2 = {B6, B7, B8, B9, B10, B11} B2 B3 B4 B5 B6 B7 B12 B8 B13 B9 B14 B10 B15 B11 Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 4

16 Intervallum analízis szemléltetése B1 H1 = {B1} I1 = {B1, B2, B3, B4, B5} H2 = {B6} I2 = {B6, B7, B8, B9, B10, B11, B12} B2 B3 B4 B5 B6 B7 B12 B8 B13 B9 B14 B10 B15 B11 Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 4

17 Intervallum analízis szemléltetése B1 B2 H1 = {B1} I1 = {B1, B2, B3, B4, B5} H2 = {B6} I2 = {B6, B7, B8, B9, B10, B11, B12} H3 = {B6} I3 = {B13} B3 B4 B5 B6 B7 B12 B8 B9 B13 B14 B14 pont nincs az I2-es halmazban ezért új intervallumot kell létrehozni! B10 B15 B11 Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 4

18 Intervallum analízis szemléltetése B1 B2 H1 = {B1} I1 = {B1, B2, B3, B4, B5} H2 = {B6} I2 = {B6, B7, B8, B9, B10, B11, B12} H3 = {B6} I3 = {B13, B14} B3 B4 B5 B6 B7 B12 B8 B13 B9 B14 B10 B15 B11 Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 4

19 Intervallum analízis szemléltetése B1 B2 H1 = {B1} I1 = {B1, B2, B3, B4, B5} H2 = {B6} I2 = {B6, B7, B8, B9, B10, B11, B12} H3 = {B6} I3 = {B13, B14, B15} B3 B4 B5 B6 B7 B12 B8 B13 B9 B14 B10 B15 B11 Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 4

20 Improper struktúrák kezelése Fubo Zhang és Erik H. D Hollander bebizonyították, hogy az általuk definiált három elemi programtranszformációs lépés Forward Copy, Backward Copy, Cut segítségével minden nem strukturált programrész strukturált formává alakítható. Módszerüket magasszintű blokk strukturált programozási nyelvre alkalmazták. Haicheng Wu és társai kisebb átalakításokkal a módszert assembly szintű programra is alkalmazhatóvá tették. Cikkek: Fubo Zhang and Erik H. D Hollander. Using hammock graphs to structure programs. IEEE Trans. Software Eng., 30(4): , Haicheng Wu, Gregory Diamos, Jin Wang, Si Li, and Sudhakar Yalamanchili. Characterization and transformation of unstructured control flow in bulk synchronous gpu applications. Int. J. High Perform. Comput. Appl., 26(2): , May Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 5

21 Forward Copy A következő ábrán a {B1, B2} és a {B3, B4} blokkok IfThen szerkezetet alkotnának, ha az E1 és E2 szaggatott élek nem szerepelnének. Forward Copy transzformáció: 1 Forward copy transzformáció során az IfThen szerkezetet alkotó {B1, B2} részgráf közös pontja B3 és az E2 él között található gráfot le kell másolni. 2 A (B2, B3) él végpontját a megismételt struktúra B 3 pontjára állítani. Az így kapott jobb oldali ábra {B3, B4} szerkezetére a forward copy transzformációt megismételve a gráf reducibilissé válik. Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 6

22 Forward Copy transzformáció Entry Entry B1 B1 B2 B2 B3 B3 B'3 B4 B4 B'4 B5 E1 E2 B5 E1 E2 B'5 E'1 Exit Exit Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 7

23 Backward Copy A következő ábrán található ciklus improper, mivel a belsejébe a B1 blokkokból az E1 élen keresztül be tudunk ugrani. Backward Copy transzformáció: 1 A ciklust alkotó blokkokat meg kell ismételni (backward copy). Ezzel megszüntethetjük a ciklus belsejébe történő ugrást. 2 A C1 élet a megismételt ciklusra kell állítani. A struktúra továbbra is irreducibilis maradt, mivel a {B1, B2, B3} IfThen szerkezetnek két kilépési pontja van, de ezt már az előbb ismertetett forward copy transzformációval megszüntethetjük. Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 8

24 Backward Copy transzformáció Entry Entry B1 B1 B2 B2 B'2 B3 E1 B3 E1 B'3 C1 B4 B4 B'4 C'1 B5 B5 C1 B'5 Exit Exit Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 9

25 Cut A következő ábrán a ciklus belsejéből az E1 és az E2 éleken keresztül is kiléphetünk, tehát ciklust több kilépési ponttal is rendelkezik. 1 Ciklus végét és a kilépés okát tartalmazó változók bevezetése. 2 "compare cycle" blokk bevezetése. A ciklus szervezését erre kell építeni. 3 "compare from" blokk bevezetése. Kilépés okának megfelelő folytatás elkészítése. Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 10

26 Cut transzformáció Entry Entry B1 B1 B2 B2 B3 cycle==true B3 E1 cycle==true B5 E1 B4 B5 B4 cycle:=true from:=b5 cycle:=false from:=b5 cycle:=false from:=b4 cycle==false B6 E2 cycle==false compare cycle Exit from==b4 compare from from==b5 B6 Exit Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 11

27 Gondolatok a strukturált programozásról improper keresztél irreducibilis nem struktúrált Dahl Dijkstra Hoare, Strukturált programozás 7. fejezet, A programok megértéséről Donald E. Knuth, Stuctured Programming with goto Statesments Linux: Using goto In Kernel Code C-ben a break, continue valóban megsérti a strukturált programozás elvét, avagy irreducibilis lesz a CFG (vezérlésfolyan gráf)? Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 12

28 Regiszter hozzárendelés Intel x86 processzor utasításkészlete kevés regisztert tartalmaz; néhány regiszter használata korlátozott; a gyors futás érdekében az adatokat érdemes a regiszterben tartani; ha nincs elég regiszter, ki kell menteni a memóriába; minimalizálni kell az egyidejűleg használt regiszterek számát; általában színezési problémára vezethető vissza. Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 13

29 Regiszter hozzárendelés s1 s2 s3 s4 s5 s6 s1 = 2 s2 = 4 s3 = s1 + s2 s4 = s3 + 1 s5 = s1 * s2 s6 = s4 * s5 Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 14

30 Regiszter hozzárendelés s1 s2 s3 s4 s5 s6 s1 = 2 s2 = 4 s3 = s1 + s2 s4 = s3 + 1 s5 = s1 * s2 s6 = s4 * s5 Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 14

31 Regiszter hozzárendelés s1 s2 s3 s4 s5 s6 s1 = 2 s2 = 4 s3 = s1 + s2 s4 = s3 + 1 s5 = s1 * s2 s6 = s4 * s5 Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 14

32 Regiszter hozzárendelés s1 s2 s3 s4 s5 s6 s1 = 2 s2 = 4 s3 = s1 + s2 s4 = s3 + 1 s5 = s1 * s2 s6 = s4 * s5 Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 14

33 Regiszter hozzárendelés s1 s2 s3 s4 s5 s6 s1 = 2 s2 = 4 s3 = s1 + s2 s4 = s3 + 1 s5 = s1 * s2 s6 = s4 * s5 Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 14

34 Regiszter hozzárendelés s1 s2 s3 s4 s5 s6 s1 = 2 s2 = 4 s3 = s1 + s2 s4 = s3 + 1 s5 = s1 * s2 s6 = s4 * s5 Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 14

35 Regiszter hozzárendelés s1 s2 s3 s4 s5 s6 s1 = 2 s2 = 4 s3 = s1 + s2 s4 = s3 + 1 s5 = s1 * s2 s6 = s4 * s5 Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 14

36 Regiszter hozzárendelés s1 s2 s3 s4 s5 s6 s1 = 2 s2 = 4 s1 s3 s6 s3 = s1 + s2 s4 = s3 + 1 s5 = s1 * s2 s2 s4 s5 s6 = s4 * s5 Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 14

37 Regiszter hozzárendelés s1 s2 s3 s4 s5 s6 s1 = 2 s2 = 4 s1 s3 s6 s3 = s1 + s2 s4 = s3 + 1 s5 = s1 * s2 s2 s4 s5 s6 = s4 * s5 Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 14

38 Regiszter hozzárendelés s1 s2 s3 s4 s5 s6 s1 = 2 s2 = 4 s1 s3 s6 s3 = s1 + s2 s4 = s3 + 1 s5 = s1 * s2 s2 s4 s5 s6 = s4 * s5 Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 14

39 Regiszter hozzárendelés s1 s2 s3 s4 s5 s6 s1 = 2 s2 = 4 s1 s3 s6 s3 = s1 + s2 s4 = s3 + 1 s5 = s1 * s2 s2 s4 s5 s6 = s4 * s5 Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 14

40 Egyéb optimalizálási eljárások aritmetikai egyszerűsítés: x = 4 * a; x = a «2; konstans kifejezés kiértékelése: 4 * Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 15

41 Optimalizált kód visszafejthetősége megjegyzések elvesznek; szimbólikus nevek elvesznek; adattípusok elvesznek; ciklus átrendezés, és kifejtés (unrolling); különböző lokális változók azonos regiszterekben cserélik egymást ; algebrai átírás; kódmozgás; Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 16

42 Section 1 Intel mikroprocesszor története Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 17

43 Intel mikroprocesszor család 1978-ban dobták piacra a 8086, 8088, processzorokat; 16-bites regiszterek; szegmens-offset címzés; szegmens regiszter állítás nélkül 64Kbyte címezhető; néggyel eltolt szegmensregiszter + a 16 bit offset 20 bites címet alkot; 8087 lebegőpontos koprocesszor. Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 18

44 Intel 286 mikroprocesszor 1982-ben vezették be; protected mód; 24-bit címsín; 16Mbyte memória címezhető. Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 19

45 Intel 386 mikroprocesszor 1985-ben vezették be; 32 bites regiszterek; 32 bites cím, 4 GByte címezhető; lapozást támogatja; szegmens kezelés kikerülhető, flat memóriamodell; linux futtatható rajta. Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 20

46 Intel 486 mikroprocesszor 1989-ben vezették be; DX verzióba beintegrálták a lebegőpontos koprocesszort; gyorsítótár (cache) alkalmazása; pipeline utasítás feldolgozás; Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 21

47 Intel Pentium mikroprocesszor 1993-ben vezették be; gyorsítótár méretét megduplázták, felét a kód felét az adatok számára használták; két pipeline utasításfeldolgozó egység; feltételes ugrásokra elágazásbecslést alkalmaztak két processzoros mód támogatása MMX utasításkészlet Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 22

48 Intel Pentium mikroprocesszor között jelent meg a Pentium 6, gyártástechnológia fejlődik, gyorsabb az elődöknél; NetBurst mikroarchitectura, SSE3 utasítások; 2003 Pentium-M kis fogyasztás; bites processzor 40 bites fizikai cím 1 Tbyte címezhető, 8-ról 16-ra növelték az általános célú regiszterek számát; két mag, 64 bit ; stb. Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 23

49 Section 2 Utasításkészlet Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 24

50 Utasításkészlet tervezésének szempontjai technológiából adódó kötöttségek (tranzisztorok száma); chipek költsége; fogyasztás; utasításkészlet bővíthetősége; előző sorozat kompatibilitásának a felvállalása; új utasítások és működési elvek oktatása. Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 25

51 RISC vs CISC CISC Complex Instruction Set Computing utasítások hossza változik; művelet végzés regiszterek és memória között; kevés számú regiszter. RISC (Reduced Instruction Set Computing) utasítások hossza azonos; műveletek végzés csak regiszterek között; sok regiszter. Intel 80x86 processzor Utasításkészlete CISC tulajdonságot mutat. Belül a CISC utasításokat egyszerű mikróműveletekre bontja (µ Op) és párhuzamosan képes ezeket végrehajtani. (pl. Sandy Bridge Pipeline architektúra). Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 26

52 Section 3 Intel X86 utasításkészlet Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 27

53 X86 regiszterek 8 darab 32 bites regiszter; 6 darab szegmens regiszter; statusz regiszter EFLAGS utasításszámláló EIP 32 bites általános célú regiszterek EAX EBX ECX EDX EFLAGS EIP EBP ESP ESI EDI szegmens regiszterek CS ES SS FS DS GS Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 28

54 Regiszterek speciális szerepe egyes utasításokban Speciális de nem kizárólagos felhasználása a regisztereknek. EAX akkumulátor regiszter, szorzáshoz osztáshoz; ECX counter regiszter (ciklusszámlálásra); ESP stack pointer; ESI string műveletek esetén a forrás memóriaterületet indexeli; EDI string műveletek esetén a cél memóriaterületet indexeli; EBP bázis pointer a stack kezeléshez. Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 29

55 x86 utasítás formátum Instruction prefix Opcode Modr/M SIB Displacement Immediate Opcionálisan adható 4 csoportba sorolható prefix Műveleti kód 1-,2-,3 byte 1 byte, ha szükséges 1 byte, ha szükséges Displacement (eltolás) 1-,2-,4 byte Immediate (közvetlen) adat 1-,2-,4 byte Reg/ Mod R/M Scale Index opcode Base Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 30

56 Utasítás prefix 1 csoport lock vagy repeat prefix F0H LOCK prefix multiprocesszoros környezetben az osztott memóriához kizárólagos hozzáférést biztosít. F2H REPNE/REPNZ prefix, amely string vagy input/output utasításokhoz lehet használni. F3H REP vagy REPE/REPZ prefix, amely string vagy input/output utasításokhoz lehet használni. 2 operandusok méretének az átdefiniálása csoport 66H operandus méretének megváltoztatása, azaz a 16 és 32 bites operandusok között választhatunk. csoport 67H cím méretének a megváltoztatása. Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 31

57 Utasítás prefix 3 szegmens módosítás, amely ugró utasításokra nem érvényes 2EH CS 36H SS 3EH DS 26H ES 64H FS 65H GS 4 elágazásbecslés feltételes vezérlésátadó utasításokhoz 2EH valószínűleg az ugrás nem fog végrehajtódni; 3EH valószínűleg az ugrás be fog következni. Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 32

Fordítás Kódoptimalizálás

Fordítás Kódoptimalizálás Fordítás Kódoptimalizálás Kód visszafejtés. Izsó Tamás 2015. október 15. Izsó Tamás Fordítás Kódoptimalizálás / 1 Aktív változók Angol irodalomban a Live Variables kifejezést használják, míg az azt felhasználó

Részletesebben

Intel x86 utasításkészlet

Intel x86 utasításkészlet Intel x86 utasításkészlet Kód visszafejtés. Izsó Tamás 2013. október 31. Izsó Tamás Intel x86 utasításkészlet/ 1 Section 1 Intel mikroprocesszor Izsó Tamás Intel x86 utasításkészlet/ 2 Intel mikroprocesszor

Részletesebben

A 32 bites x86-os architektúra regiszterei

A 32 bites x86-os architektúra regiszterei Memória címzési módok Jelen nayagrészben az Intel x86-os architektúrára alapuló 32 bites processzorok programozását tekintjük. Egy program futása során (legyen szó a program vezérléséről vagy adatkezelésről)

Részletesebben

Adatelérés és memóriakezelés

Adatelérés és memóriakezelés Adatelérés és memóriakezelés Jelen nayagrészben az Intel x86-os architektúrára alapuló 32 bites processzorok programozását tekintjük. Egy program futása során (legyen szó a program vezérléséről vagy adatkezelésről)

Részletesebben

Számítógépek felépítése

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

Részletesebben

Máté: Assembly programozás

Máté: Assembly programozás Dr. Máté Eörs docens Képfeldolgozás és Számítógépes Grafika Tanszék Árpád tér 2. II. em. 213 6196, 54-6196 (6396, 54-6396) http://www.inf.u-szeged.hu/~mate Tantárgy leírás: http://www.inf.u-szeged.hu/oktatas/kurzusleirasok/

Részletesebben

Digitális rendszerek. Utasításarchitektúra szintje

Digitális rendszerek. Utasításarchitektúra szintje Digitális rendszerek Utasításarchitektúra szintje Utasításarchitektúra Jellemzők Mikroarchitektúra és az operációs rendszer közötti réteg Eredetileg ez jelent meg először Sokszor az assembly nyelvvel keverik

Részletesebben

Assembly. Iványi Péter

Assembly. Iványi Péter Assembly Iványi Péter További Op. rsz. funkcionalitások PSP címének lekérdezése mov ah, 62h int 21h Eredmény: BX = PSP szegmens címe További Op. rsz. funkcionalitások Paraméterek kimásolása mov di, parameter

Részletesebben

Számítógép architektúrák

Számítógép architektúrák Számítógép architektúrák Számítógépek felépítése Digitális adatábrázolás Digitális logikai szint Mikroarchitektúra szint Gépi szint Operációs rendszer szint Assembly nyelvi szint Probléma orientált (magas

Részletesebben

találhatók. A memória-szervezési modell mondja meg azt, hogy miként

találhatók. A memória-szervezési modell mondja meg azt, hogy miként Memória címzési módok Egy program futása során (legyen szó a program vezérléséről vagy adatkezelésről) a program utasításai illetve egy utasítás argumentumai a memóriában találhatók. A memória-szervezési

Részletesebben

8. Fejezet Processzor (CPU) és memória: tervezés, implementáció, modern megoldások

8. Fejezet Processzor (CPU) és memória: tervezés, implementáció, modern megoldások 8. Fejezet Processzor (CPU) és memória: The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3rd Edition, Irv Englander John Wiley and Sons 2003 Wilson Wong, Bentley

Részletesebben

8. Fejezet Processzor (CPU) és memória: tervezés, implementáció, modern megoldások

8. Fejezet Processzor (CPU) és memória: tervezés, implementáció, modern megoldások 8. Fejezet Processzor (CPU) és memória: The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3rd Edition, Irv Englander John Wiley and Sons 2003 Wilson Wong, Bentley

Részletesebben

5-6. ea Created by mrjrm & Pogácsa, frissítette: Félix

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.

Részletesebben

Számítógépek felépítése, alapfogalmak

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

Részletesebben

Bevezetés az informatikába

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.

Részletesebben

Assembly Címzési módok. Iványi Péter

Assembly Címzési módok. Iványi Péter Assembly Címzési módok Iványi Péter Gépi kód Gépi kód = amit a CPU megért 1-13 byte hosszúak lehetnek az utasítások Kb. 20 000 variációja van a gépi kódú utasításoknak Számítógép architektúrától függ Feszültség

Részletesebben

Fordító Optimalizálás

Fordító Optimalizálás Fordító Optimalizálás Kód visszafejtés. Izsó Tamás 2012. szeptember 27. Izsó Tamás Fordítás Optimalizálás / 1 Section 1 Fordító részei Izsó Tamás Fordítás Optimalizálás / 2 Irodalom Fordító részei Optimalizálás

Részletesebben

2016/08/31 02:45 1/6 Hardver alapok

2016/08/31 02:45 1/6 Hardver alapok 2016/08/31 02:45 1/6 Hardver alapok < Hardver Hardver alapok Szerző: Sallai András Copyright Sallai András, 2011, 2013, 2014 Licenc: GNU Free Documentation License 1.3 Web: http://szit.hu Bevezetés A számítógépet

Részletesebben

2017/12/16 21:33 1/7 Hardver alapok

2017/12/16 21:33 1/7 Hardver alapok 2017/12/16 21:33 1/7 Hardver alapok < Hardver Hardver alapok Szerző: Sallai András Copyright Sallai András, 2011, 2013, 2014 Licenc: GNU Free Documentation License 1.3 Web: http://szit.hu Bevezetés A számítógépet

Részletesebben

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

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

Részletesebben

Számítógép Architektúrák

Számítógép Architektúrák Számítógép Architektúrák Utasításkészlet architektúrák 2015. április 11. Budapest Horváth Gábor docens BME Hálózati Rendszerek és Szolgáltatások Tsz. ghorvath@hit.bme.hu Számítógép Architektúrák Horváth

Részletesebben

Máté: Számítógép architektúrák

Máté: Számítógép architektúrák Pentium 4 Nagyon sok előd kompatibilitás!), a fontosabbak: 44: 4 bites, 88: 8 bites, 886, 888: es, 8 bites adat sín 8286: 24 bites nem lineáris) címtartomány 6 K darab 64 KB-os szegmens) 8386: IA-32 architektúra,

Részletesebben

Máté: Számítógép architektúrák

Máté: Számítógép architektúrák Máté: Számítógép architektúrák 211117 Utasításrendszer architektúra szintje ISA) Amit a fordító program készítőjének tudnia kell: memóriamodell, regiszterek, adattípusok, ok A hardver és szoftver határán

Részletesebben

Számítógépek felépítése, alapfogalmak

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 SZE MTK MSZT lovas.szilard@sze.hu B607 szoba Nem reprezentatív felmérés kinek van ilyen számítógépe? Nem reprezentatív felmérés kinek van

Részletesebben

Utasításfajták Memóriacímzés Architektúrák Végrehajtás Esettanulmányok. 2. előadás. Kitlei Róbert november 28.

Utasításfajták Memóriacímzés Architektúrák Végrehajtás Esettanulmányok. 2. előadás. Kitlei Róbert november 28. 2. előadás Kitlei Róbert 2008. november 28. 1 / 21 Adatmozgató irányai regiszter és memória között konstans betöltése regiszterbe vagy memóriába memóriából memóriába közvetlenül másoló utasítás nincsen

Részletesebben

Processzor (CPU - Central Processing Unit)

Processzor (CPU - Central Processing Unit) Készíts saját kódolású WEBOLDALT az alábbi ismeretanyag felhasználásával! A lap alján lábjegyzetben hivatkozz a fenti oldalra! Processzor (CPU - Central Processing Unit) A központi feldolgozó egység a

Részletesebben

Fordító részei. Fordító részei. Kód visszafejtés. Izsó Tamás szeptember 29. Izsó Tamás Fordító részei / 1

Fordító részei. Fordító részei. Kód visszafejtés. Izsó Tamás szeptember 29. Izsó Tamás Fordító részei / 1 Fordító részei Kód visszafejtés. Izsó Tamás 2016. szeptember 29. Izsó Tamás Fordító részei / 1 Section 1 Fordító részei Izsó Tamás Fordító részei / 2 Irodalom Izsó Tamás Fordító részei / 3 Irodalom Izsó

Részletesebben

Algoritmizálás és adatmodellezés tanítása 1. előadás

Algoritmizálás és adatmodellezés tanítása 1. előadás Algoritmizálás és adatmodellezés tanítása 1. előadás Algoritmus-leíró eszközök Folyamatábra Irányított gráf, amely csomópontokból és őket összekötő élekből áll, egyetlen induló és befejező éle van, az

Részletesebben

Gábor Dénes Főiskola Győr. Mikroszámítógépek. Előadás vázlat. 2004/2005 tanév 4. szemeszter. Készítette: Markó Imre 2006

Gábor Dénes Főiskola Győr. Mikroszámítógépek. Előadás vázlat. 2004/2005 tanév 4. szemeszter. Készítette: Markó Imre 2006 Gábor Dénes Főiskola Győr Mikroszámítógépek Előadás vázlat 102 2004/2005 tanév 4. szemeszter A PROCESSZOR A processzorok jellemzése A processzor felépítése A processzorok üzemmódjai Regiszterkészlet Utasításfelépítés,

Részletesebben

Programozás alapjai. 10. előadás

Programozás alapjai. 10. előadás 10. előadás Wagner György Általános Informatikai Tanszék Pointerek, dinamikus memóriakezelés A PC-s Pascal (is) az IBM PC memóriáját 4 fő részre osztja: kódszegmens adatszegmens stackszegmens heap Alapja:

Részletesebben

Mi az assembly? Gyakorlatias assembly bevezető. Sokféle assembly van... Mit fogunk mi használni? A NASM fordítóprogramja. Assembly programok fordítása

Mi az assembly? Gyakorlatias assembly bevezető. Sokféle assembly van... Mit fogunk mi használni? A NASM fordítóprogramja. Assembly programok fordítása Mi az assembly Gyakorlatias assembly bevezető Fordítóprogramok előadás (A, C, T szakirány) programozási nyelvek egy csoportja gépközeli: az adott processzor utasításai használhatóak általában nincsenek

Részletesebben

Intel x86 utasításkészlet + disassembler működése

Intel x86 utasításkészlet + disassembler működése Intel x86 utasításkészlet + disassembler működése Kód visszafejtés. Izsó Tamás 2016. november 10. Izsó Tamás Intel x86 utasításkészlet + disassembler működése / 1 Section 1 Intel X86 utasításkészlet Izsó

Részletesebben

VI. SZOFTVERES PROGRAMOZÁSÚ VLSI ÁRAMKÖRÖK

VI. SZOFTVERES PROGRAMOZÁSÚ VLSI ÁRAMKÖRÖK VI. SZOFTVERES PROGRAMOZÁSÚ VLSI ÁRAMKÖRÖK 1 Az adatok feldolgozását végezhetjük olyan általános rendeltetésű digitális eszközökkel, amelyeket megfelelő szoftverrel (programmal) vezérelünk. A mai digitális

Részletesebben

ARM Cortex magú mikrovezérlők

ARM Cortex magú mikrovezérlők ARM Cortex magú mikrovezérlők 3. Cortex-M0, M4, M7 Scherer Balázs Budapest University of Technology and Economics Department of Measurement and Information Systems BME-MIT 2018 32 bites trendek 2003-2017

Részletesebben

Assembly programozás levelező tagozat

Assembly programozás levelező tagozat Assembly programozás levelező tagozat Szegedi Tudományegyetem Képfeldolgozás és Számítógépes Grafika Tanszék 2011-2012-2 Tematika Assembly nyelvi szint. Az Intel 8086/88 regiszter készlete, társzervezése,

Részletesebben

1. Az utasítás beolvasása a processzorba

1. Az utasítás beolvasása a processzorba A MIKROPROCESSZOR A mikroprocesszor olyan nagy bonyolultságú félvezető eszköz, amely a digitális számítógép központi egységének a feladatait végzi el. Dekódolja az uatasításokat, vezérli a műveletek elvégzéséhez

Részletesebben

Máté: Számítógép architektúrák

Máté: Számítógép architektúrák I-51 (19) Cél: beépített rendszerekben való alkalmazás Fő szempont: olcsóság (ma már 1-15 ), sokoldalú alkalmazhatóság A memóriával, be- és kivitellel együtt egyetlen lapkára integrált számítógép Mikrovezérlő

Részletesebben

Bevezetés a számítástechnikába

Bevezetés a számítástechnikába Bevezetés a számítástechnikába, Címzési módok, Assembly Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010. november 2/9. ú utasítás

Részletesebben

SZÁMÍTÓGÉP ARCHITEKTÚRÁK

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

Részletesebben

Assembly. Iványi Péter

Assembly. Iványi Péter Assembly Iványi Péter Miért? Ma már ritkán készül program csak assembly-ben Általában bizonyos kritikus rutinoknál használják Miért nem használjuk? Magas szintű nyelven könnyebb programozni Nehéz más gépre

Részletesebben

Tamás Péter (D. 424) Mechatronika, Optika és Gépészeti Informatika Tanszék (D 407)

Tamás Péter (D. 424) Mechatronika, Optika és Gépészeti Informatika Tanszék (D 407) Tamás Péter (D. 424) Mechatronika, Optika és Gépészeti Informatika Tanszék (D 407) 1 Előadás Bevezetés az informatikába Adatszerkezetek Algoritmusok, programozási technológiák Számítástudomány alapjai

Részletesebben

Szupermikroprocesszorok és alkalmazásaik

Szupermikroprocesszorok és alkalmazásaik Szupermikroprocesszorok és alkalmazásaik VAJDA FERENC MTA Központi Fizikai Kutató Intézet Mérés- és Számítástechnikai Kutató Intézet 1. Bevezetés ÖSSZEFOGLALÁS Egy rétegezett modell alapján mutatjuk be

Részletesebben

Fordító Optimalizálás

Fordító Optimalizálás Fordító Optimalizálás Kód visszafejtés. Izsó Tamás 2013. október 9. Izsó Tamás Fordítás Optimalizálás / 1 Section 1 Fordító részei Izsó Tamás Fordítás Optimalizálás / 2 Irodalom Fordító részei Optimalizálás

Részletesebben

Virtuális memóriakezelés Védelem. Memória védelem. Intel x68. Izsó Tamás október 18. Izsó Tamás Memória védelem/ 1

Virtuális memóriakezelés Védelem. Memória védelem. Intel x68. Izsó Tamás október 18. Izsó Tamás Memória védelem/ 1 Memória védelem Intel x68 Izsó Tamás 213. október 18. Izsó Tamás Memória védelem/ 1 Section 1 Virtuális memóriakezelés Izsó Tamás Memória védelem/ 2 Operációs rendszer hardver szintű támogatása Hardver

Részletesebben

3. Az elektronikus számítógépek fejlődése napjainkig 1

3. Az elektronikus számítógépek fejlődése napjainkig 1 2. Az elektronikus számítógépek fejlődése napjainkig Vázold fel az elektronikus eszközök fejlődését napjainkig! Részletesen ismertesd az egyes a számítógép generációk technikai újdonságait és jellemző

Részletesebben

Az assembly nyelv sor-orientált nyelv, tehát minden sorba pontosan egy utasítás kerül. Egy sor mezőkből áll a következőképpen:

Az assembly nyelv sor-orientált nyelv, tehát minden sorba pontosan egy utasítás kerül. Egy sor mezőkből áll a következőképpen: Informatika szigorlat 16-os tétel: Az assembly nyelvek tulajdonságai és fordítása Az assembly nyelv tulajdonképpen a gépi kód szimbolikus megfelelője, azért jött létre, hogy könnyebben lehessen programozni

Részletesebben

Stack Vezérlés szerkezet Adat 2.

Stack Vezérlés szerkezet Adat 2. Stack Vezérlés szerkezet Adat 2. Kód visszafejtés. Izsó Tamás 2013. november 14. Izsó Tamás Stack Vezérlés szerkezet Adat 2./ 1 Változó típusú paraméterekátadása 1. #include < s t d i o. h> int64 myfunc

Részletesebben

Paraméter átadás regisztereken keresztül

Paraméter átadás regisztereken keresztül Eljárások paramétereinek átadási módjai Az eljárások deklarációjánál nincs mód arra, hogy paramétereket adjunk meg, ezért más, közvetett módon tudunk átadni paramétereket az eljárásoknak. Emlékeztetőül:

Részletesebben

Operandus típusok Bevezetés: Az utasítás-feldolgozás menete

Operandus típusok Bevezetés: Az utasítás-feldolgozás menete Operandus típusok Bevezetés: Az utasítás-feldolgozás menete Egy gépi kódú utasítás általános formája: MK Címrész MK = műveleti kód Mit? Mivel? Az utasítás-feldolgozás általános folyamatábrája: Megszakítás?

Részletesebben

Informatikai alapismeretek földtudományi BSC számára

Informatikai alapismeretek földtudományi BSC számára Informatikai alapismeretek földtudományi BSC számára 2010-2011 Őszi félév Heizlerné Bakonyi Viktória HBV@ludens.elte.hu Neumann János 1903-1957 Neumann János matematikus, fizikus, vegyészmérnök. Tanulmányok:

Részletesebben

Nagyteljesítményű mikrovezérlők

Nagyteljesítményű mikrovezérlők Nagyteljesítményű mikrovezérlők 4. Cortex M0, M4, M7 Scherer Balázs Budapest University of Technology and Economics Department of Measurement and Information Systems BME-MIT 2015 ARM Cortex M (Mikrovezérlő)

Részletesebben

Balaton Marcell Balázs. Assembly jegyzet. Az Assembly egy alacsony szintű nyelv, mely a gépi kódú programozás egyszerűsítésére született.

Balaton Marcell Balázs. Assembly jegyzet. Az Assembly egy alacsony szintű nyelv, mely a gépi kódú programozás egyszerűsítésére született. Balaton Marcell Balázs Assembly jegyzet Az Assembly egy alacsony szintű nyelv, mely a gépi kódú programozás egyszerűsítésére született. 1. Regiszterek Regiszterek fajtái a. Szegmensregiszterek cs (code):

Részletesebben

Archi2 Gyak. (Processzorok Utasításszintű Kezelése) 2014 ősz

Archi2 Gyak. (Processzorok Utasításszintű Kezelése) 2014 ősz Archi2 Gyak (Processzorok Utasításszintű Kezelése) 2014 ősz Ajánlott irodalom Agárdi Gábor: Gyakorlati Assembly, LSI Oktatóközpont, 1996, ISBN 963 577 117 7 Agárdi G.: Gyakorlati Assembly haladóknak, LSI

Részletesebben

Virtuális memóriakezelés Védelem. Memória védelem. Intel X86. Izsó Tamás október 1. Izsó Tamás Memória védelem/ 1

Virtuális memóriakezelés Védelem. Memória védelem. Intel X86. Izsó Tamás október 1. Izsó Tamás Memória védelem/ 1 Memória védelem Intel X86 Izsó Tamás 2015. október 1. Izsó Tamás Memória védelem/ 1 Section 1 Virtuális memóriakezelés Izsó Tamás Memória védelem/ 2 Operációs rendszer hardver szintű támogatása Hardver

Részletesebben

SzA19. Az elágazások vizsgálata

SzA19. Az elágazások vizsgálata SzA19. Az elágazások vizsgálata (Az elágazások csoportosítása, a feltételes utasítások használata, a műveletek eredményének vizsgálata az állapottér módszerrel és közvetlen adatvizsgálattal, az elágazási

Részletesebben

Programok működése dióhéjban

Programok működése dióhéjban Programok működése dióhéjban Intel x68 Izsó Tamás 2015. október 30. Izsó Tamás Programok működése dióhéjban/ 1 Section 1 Fordítás Izsó Tamás Programok működése dióhéjban/ 2 authenticate.c 1 // cl /GS-

Részletesebben

Mikroprocesszorok (Microprocessors, CPU-s)

Mikroprocesszorok (Microprocessors, CPU-s) Mikroprocesszorok (Microprocessors, CPU-s) 1971-2011 Források: CHIP magazin index.hu wikipedia internetes források 1 Intel Adatbusz 4 bit 16 bit 16 bit 32 bit 32 bit 32 bit 32 bit 32 bit 32 bit 32 bit

Részletesebben

A fordítóprogramok szerkezete. Kódoptimalizálás. A kódoptimalizálás célja. A szintézis menete valójában. Kódoptimalizálási lépések osztályozása

A fordítóprogramok szerkezete. Kódoptimalizálás. A kódoptimalizálás célja. A szintézis menete valójában. Kódoptimalizálási lépések osztályozása A fordítóprogramok szerkezete Forrásprogram Forrás-kezelő (source handler) Kódoptimalizálás Fordítóprogramok előadás (A,C,T szakirány) Lexikális elemző (scanner) Szintaktikus elemző (parser) Szemantikus

Részletesebben

PE/COFF fájl formátum

PE/COFF fájl formátum PE/COFF fájl formátum Kód visszafejtés. Izsó Tamás 2013. december 5. Izsó Tamás PE/COFF fájl formátum/ 1 Szimbólumtábla A programozási nyelvekben az típusokra, adatokra, függvényekre, ugrási címekre szimbólikus

Részletesebben

Tamás Péter (D. 424) Mechatronika, Optika és Gépészeti Informatika Tanszék (D 407)

Tamás Péter (D. 424) Mechatronika, Optika és Gépészeti Informatika Tanszék (D 407) Tamás Péter (D. 424) Mechatronika, Optika és Gépészeti Informatika Tanszék (D 407) 1 Előadás Bevezetés az informatikába Adatszerkezetek Algoritmusok, programozási technológiák Számítástudomány alapjai

Részletesebben

Processzorok Utasításszintű Kezelése tavasz

Processzorok Utasításszintű Kezelése tavasz Processzorok Utasításszintű Kezelése 2014 tavasz Ajánlott irodalom Agárdi Gábor: Gyakorlati Assembly, LSI Oktatóközpont, 1996, ISBN 963 577 117 7 Agárdi G.: Gyakorlati Assembly haladóknak, LSI oktatóközpont,

Részletesebben

Mintavételes szabályozás mikrovezérlő segítségével

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

Részletesebben

A mikroszámítógép felépítése.

A mikroszámítógép felépítése. 1. Processzoros rendszerek fő elemei mikroszámítógépek alapja a mikroprocesszor. Elemei a mikroprocesszor, memória, és input/output eszközök. komponenseket valamilyen buszrendszer köti össze, amelyen az

Részletesebben

Architektúra, megszakítási rendszerek

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

Részletesebben

Utasításrendszer jellemzése (utasítás részei) 1. műveleti kód 2. operandusok 3. következő utasítás címe (elmaradhat)

Utasításrendszer jellemzése (utasítás részei) 1. műveleti kód 2. operandusok 3. következő utasítás címe (elmaradhat) Informatika 1 vizsgafeladatok Számítógép architektúrák témakör Számítógép architektúra: Az elemi áramkörökből felépített funkcionális egységek alkotta hardver és az operációs rendszer között rész. Az architektúra

Részletesebben

Szegmentálás. Memória kezelési stratégia mely a felhasználó nézőpontját támogatja Például:

Szegmentálás. Memória kezelési stratégia mely a felhasználó nézőpontját támogatja Például: Szegmentálás 1 Szegmentálás Memória kezelési stratégia mely a felhasználó nézőpontját támogatja Például: Egy program szegmensekből áll Mindegyik szegmens külön címtér Egy eljárás nullás címen kezdődik

Részletesebben

Labor gyakorlat Mikrovezérlők

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

Részletesebben

Tamás Péter (D. 424) Mechatronika, Optika és Gépészeti Informatika Tanszék (D 407)

Tamás Péter (D. 424) Mechatronika, Optika és Gépészeti Informatika Tanszék (D 407) Tamás Péter (D. 424) Mechatronika, Optika és Gépészeti Informatika Tanszék (D 407) 1 Kérdőív Tematika A számítógép működése Adatok Program Objektum 2 Kérdőív Kitöltötte 204 fő Felkészültség 28% 39% alap

Részletesebben

Operációs rendszerek III.

Operációs rendszerek III. A WINDOWS NT memóriakezelése Az NT memóriakezelése Memóriakezelő feladatai: Logikai-fizikai címtranszformáció: A folyamatok virtuális címterének címeit megfelelteti fizikai címeknek. A virtuális memóriakezelés

Részletesebben

Máté: Számítógép architektúrák

Máté: Számítógép architektúrák A mikroprogram Mic 1: 4.. ábra. 51x3 bites vezérlőtár a mikroprogramnak, MPC (MicroProgram Counter): mikroprogram utasításszámláló. MIR (MicroInstruction Register): mikroutasítás regiszter. Az adatút ciklus

Részletesebben

Máté: Számítógép architektúrák

Máté: Számítógép architektúrák Pentium 4 utasításformái (514 ábra) Több generáción keresztül kialakult architektúra Csak egy operandus lehet memória cím Prefix, escape (bővítésre), MOD, SIB (Scale Index Base) 0 5 1 2 0 1 0 1 0 4 0 4

Részletesebben

A programozás alapjai

A programozás alapjai A programozás alapjai Változók A számítógép az adatokat változókban tárolja A változókat alfanumerikus karakterlánc jelöli. A változóhoz tartozó adat tipikusan a számítógép memóriájában tárolódik, szekvenciálisan,

Részletesebben

TARTALOMJEGYZÉK. 1. BEVEZETÉS A logikai hálózatok csoportosítása Logikai rendszerek... 6

TARTALOMJEGYZÉK. 1. BEVEZETÉS A logikai hálózatok csoportosítása Logikai rendszerek... 6 TARTALOMJEGYZÉK ELŐSZÓ... 3 1. BEVEZETÉS... 4 1.1. A logikai hálózatok csoportosítása... 5 1.2. Logikai rendszerek... 6 2. SZÁMRENDSZEREK ÉS KÓDRENDSZEREK... 7 2.1. Számrendszerek... 7 2.1.1. Számok felírása

Részletesebben

Mikrorendszerek tervezése

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 MicroBlaze processzor Fehér Béla Raikovich Tamás

Részletesebben

Java II. I A Java programozási nyelv alapelemei

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

Részletesebben

Programozási nyelvek (ADA)

Programozási nyelvek (ADA) Programozási nyelvek (ADA) Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 1. előadás Hasznos weboldal http://kto.web.elte.hu Program felépítése Programegységek (program unit) eljárások (procedure)

Részletesebben

Java II. I A Java programozási nyelv alapelemei

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

Részletesebben

Járműfedélzeti rendszerek I. 3. előadás Dr. Bécsi Tamás

Járműfedélzeti rendszerek I. 3. előadás Dr. Bécsi Tamás Járműfedélzeti rendszerek I. 3. előadás Dr. Bécsi Tamás ATmega128 CPU Single-level pipelining Egyciklusú ALU működés Reg. reg., reg. konst. közötti műveletek 32 x 8 bit általános célú regiszter Egyciklusú

Részletesebben

Nagy adattömbökkel végzett FORRÓ TI BOR tudományos számítások lehetőségei. kisszámítógépes rendszerekben. Kutató Intézet

Nagy adattömbökkel végzett FORRÓ TI BOR tudományos számítások lehetőségei. kisszámítógépes rendszerekben. Kutató Intézet Nagy adattömbökkel végzett FORRÓ TI BOR tudományos számítások lehetőségei Kutató Intézet kisszámítógépes rendszerekben Tudományos számításokban gyakran nagy mennyiségű aritmetikai művelet elvégzésére van

Részletesebben

DSP architektúrák dspic30f család memória kezelése

DSP architektúrák dspic30f család memória kezelése DSP architektúrák dspic30f család memória kezelése Az adatmemória Az adatmemória 16 bites, két külön memóriazóna van kiépítve, az X és az Y memória, mindkettőnek címgeneráló egysége és adat sínrendszere

Részletesebben

Újrakonfigurálható technológiák nagy teljesítményű alkalmazásai

Újrakonfigurálható technológiák nagy teljesítményű alkalmazásai Újrakonfigurálható technológiák nagy teljesítményű alkalmazásai Gyakorlat: SSE utasításkészlet Szántó Péter BME MIT, FPGA Laboratórium Vektorizáció Inline assembly Minden fordító támogatja (kivéve VS x64

Részletesebben

Labor gyakorlat Mikrovezérlők

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:

Részletesebben

Magas szintű optimalizálás

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

Részletesebben

Architektúra, címzési módok

Architektúra, címzési módok Architektúra, címzési módok Mirıl lesz szó? Címzés fogalma, címzési módok Virtuális tárkezelés Koschek Vilmos Példa: Intel vkoschek@vonalkodhu Fogalom A címzési mód az az út (algoritmus), ahogyan az operandus

Részletesebben

A számítógép alapfelépítése

A számítógép alapfelépítése Informatika alapjai-6 számítógép felépítése 1/8 számítógép alapfelépítése Nevezzük számítógépnek a következő kétféle elrendezést: : Harvard struktúra : Neumann struktúra kétféle elrendezés alapvetően egyformán

Részletesebben

Hatékony memóriakezelési technikák. Smidla József Operációkutatási Laboratórium január 16.

Hatékony memóriakezelési technikák. Smidla József Operációkutatási Laboratórium január 16. Hatékony memóriakezelési technikák Smidla József Operációkutatási Laboratórium 2014. január 16. 1 Tartalom A cache áthidalása Cache optimalizálás Adatszerkezetek tervezése A programkód szerkezete Prefetch

Részletesebben

Tamás Péter (D. 424) Mechatronika, Optika és Gépészeti Informatika Tanszék (D 407)

Tamás Péter (D. 424) Mechatronika, Optika és Gépészeti Informatika Tanszék (D 407) Tamás Péter (D. 424) Mechatronika, Optika és Gépészeti Informatika Tanszék (D 407) Előadás Bevezetés az informatikába Adatszerkezetek Algoritmusok, programozási technológiák Számítástudomány alapjai Számítógépek

Részletesebben

Adatok ábrázolása, adattípusok

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

Részletesebben

SZÁMÍTÓGÉPARCHITEKTÚRÁK

SZÁMÍTÓGÉPARCHITEKTÚRÁK ESSZÉ LÁNG LÁSZLÓ Zilog mokroprocesszor családok Z800 2005. December 1. Előszó A Zilog cég betörése a piacra rendkívül eredményesnek mondható volt, sőt később sikerült a csúcsra fejleszteniük a technológiájukat.

Részletesebben

Mikroprocesszor CPU. C Central Központi. P Processing Számító. U Unit Egység

Mikroprocesszor CPU. C Central Központi. P Processing Számító. U Unit Egység Mikroprocesszor CPU C Central Központi P Processing Számító U Unit Egység A mikroprocesszor általános belső felépítése 1-1 BUSZ Utasítás dekóder 1-1 BUSZ Az utasítás regiszterben levő utasítás értelmezését

Részletesebben

Utasításszintű architektúra Adattér

Utasításszintű architektúra Adattér Budapesti Műszaki Főiskola Regionális Oktatási és Innovációs Központ Székesfehérvár Utasításszintű architektúra Adattér Dr. Seebauer Márta főiskolai tanár seebauer.marta@roik.bmf.hu ISA Instruction Set

Részletesebben

Számítógép Architektúrák

Számítógép Architektúrák Soron kívüli utasítás-végrehajtás Horváth Gábor 2016. április 27. Budapest docens BME Hálózati Rendszerek és Szolgáltatások Tsz. ghorvath@hit.bme.hu Különböző késleltetésű műveletek Láttuk, hogy a lebegőpontos

Részletesebben

SZÁMÍTÓGÉP ARCHITEKTÚRÁK

SZÁMÍTÓGÉP ARCHITEKTÚRÁK SZÁMÍTÓGÉP ARCHITEKTÚRÁK Pipeline utasításfeldolgozás 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-04-24 1 UTASÍTÁSOK

Részletesebben

A PC története. Informatika alapjai-9 Személyi számítógép (PC) 1/12. (Personal computer - From Wikipedia, the free encyclopedia)

A PC története. Informatika alapjai-9 Személyi számítógép (PC) 1/12. (Personal computer - From Wikipedia, the free encyclopedia) Informatika alapjai-9 Személyi számítógép (PC) 1/12 (Personal computer - From Wikipedia, the free encyclopedia) A személyi számítógépet ára, mérete és képességei és a használatában kialakult kultúra teszik

Részletesebben

Hardver Ismeretek IA32 -> IA64

Hardver Ismeretek IA32 -> IA64 Hardver Ismeretek IA32 -> IA64 Problémák az IA-32-vel Bonyolult architektúra CISC ISA (RISC jobb a párhuzamos feldolgozás szempontjából) Változó utasításhossz és forma nehéz dekódolni és párhuzamosítani

Részletesebben

GPU Lab. 3. fejezet. Az X86 Utasításkészlet. Grafikus Processzorok Tudományos Célú Programozása. Berényi Dániel Nagy-Egri Máté Ferenc

GPU Lab. 3. fejezet. Az X86 Utasításkészlet. Grafikus Processzorok Tudományos Célú Programozása. Berényi Dániel Nagy-Egri Máté Ferenc 3. fejezet Az X86 Utasításkészlet Grafikus Processzorok Tudományos Célú Programozása Assembly nyelv Assembly nyelv: Bitkódok (gépikód) helyett rövid párbetűs nevek (mnemonic) az utasításoknak és a regisztereknek.

Részletesebben

(11) Lajstromszám: E 006 221 (13) T2 EURÓPAI SZABADALOM SZÖVEGÉNEK FORDÍTÁSA

(11) Lajstromszám: E 006 221 (13) T2 EURÓPAI SZABADALOM SZÖVEGÉNEK FORDÍTÁSA !HU000006221T2! (19) HU (11) Lajstromszám: E 006 221 (13) T2 MAGYAR KÖZTÁRSASÁG Magyar Szabadalmi Hivatal EURÓPAI SZABADALOM SZÖVEGÉNEK FORDÍTÁSA (21) Magyar ügyszám: E 0 7178 (22) A bejelentés napja:

Részletesebben

VLIW processzorok (Működési elvük, jellemzőik, előnyeik, hátrányaik, kereskedelmi rendszerek)

VLIW processzorok (Működési elvük, jellemzőik, előnyeik, hátrányaik, kereskedelmi rendszerek) SzA35. VLIW processzorok (Működési elvük, jellemzőik, előnyeik, hátrányaik, kereskedelmi rendszerek) Működési elvük: Jellemzőik: -függőségek kezelése statikusan, compiler által -hátránya: a compiler erősen

Részletesebben

C programozás. 1 óra Bevezetés

C programozás. 1 óra Bevezetés C programozás 1 óra Bevezetés A C nyelv eredete, fő tulajdonságai 1. Bevezető C nyelv alapelemei többsége a BCPL (Basic Combined Programming Language {1963}) Martin Richards B nyelv Ken Thompson {1970}

Részletesebben

Multimédia hardver szabványok

Multimédia hardver szabványok Multimédia hardver szabványok HEFOP 3.5.1 Korszerű felnőttképzési módszerek kifejlesztése és alkalmazása EMIR azonosító: HEFOP-3.5.1-K-2004-10-0001/2.0 Tananyagfejlesztő: Máté István Lektorálta: Brückler

Részletesebben