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

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

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

Átírás

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

2 Számítógép Architektúrák Horváth Gábor, BME Hálózati Rendszerek és Szolgáltatások Tsz. 2 Hol tartunk? Vezérlésáramlásos CPU Perifériák Adatáramlásos Igényvezérelt Memória

3 Számítógép Architektúrák Horváth Gábor, BME Hálózati Rendszerek és Szolgáltatások Tsz. 3 Utasításkészletek Processzorok jellemzője: Programozási felület / Utasításkészlet architektúra Részei: Utasítások Támogatott adattípusok Regiszterek Címzési módok Jelzőbitek Perifériakezelési mód Megszakítás- és kivételkezelés

4 Számítógép Architektúrák Horváth Gábor, BME Hálózati Rendszerek és Szolgáltatások Tsz. 4 Utasításkészletek Mit tanulunk erről? Miből áll egy utasítás? Milyen fajta utasítások vannak? És az operandusok hol vannak? Hogy kezelhető a feltételes ugrás és végrehajtás? Milyen formában tároljuk az utasításokat? Mi az a little-endian és big-endian? RISC vs. CISC

5 Számítógép Architektúrák Horváth Gábor, BME Hálózati Rendszerek és Szolgáltatások Tsz. 5 Utasítások jellemzői Utasítások felépítése: Utasítás kódja / művelet típusa Operandusok címei / értékei Eredmény címe Következő utasítás címe Takarékosság: Köv. utasítás címe elhagyható + R1 42 R2 Operadusok száma: 3 operandusú műveletek: R1 R2 + R3 2 operandusú műveletek: R1 R1 + R2 1 operandusú műveletek: ADD R1 / 5 R2 R3

6 Számítógép Architektúrák Horváth Gábor, BME Hálózati Rendszerek és Szolgáltatások Tsz. 6 Utasítások jellemzői Utasítások fajtái: Adatmozgatás R1 R2, R1 MEM[100], R1 42, MEM[100] R1, MEM[100] 42 Aritmetikai és logikai R1 R2+R3, R1 MEM[100]*42, MEM[100] R1 & R2 Vezérlésátadó: JUMP 42, JUMP +28 IF R1==R2, CALL proc, RETURN Veremkezelő PUSH R1, PUSH 42, R2 I/O műveletek IO[42] R1, R1 IO[42] Transzcendens függvények POP R2 SIN R1, R2 SQRT 42 Egyebek

7 Számítógép Architektúrák Horváth Gábor, BME Hálózati Rendszerek és Szolgáltatások Tsz. 7 Címzési módok Címzési mód megadja, hogy hol az operandus Ahol lehet: Magában az utasításkódban Regiszterben Memóriában Címzési mód Példa Regiszter R1 R2 + R3 Közvetlen konstans R1 R Direkt R1 R2 + MEM[42] Regiszter indirekt R1 R2 + MEM[R3] Eltolt indirekt R1 R2 + MEM[R3+42] Memória indirekt R1 R2 + MEM[MEM[R3]] Indexelt R1 R2 + MEM[R3+R4]

8 Számítógép Architektúrák Horváth Gábor, BME Hálózati Rendszerek és Szolgáltatások Tsz. 8 Vezérlésátadó utasítások Célszerűen relatív címzés, pl. JUMP -28 Feltételes ugrás 3 jellemző megvalósítása: Feltétel kódokkal: COMPARE R1, R2 JUMP label IF GREATER Feltétel regiszterekkel: R0 R1 > R2 JUMP label IF R0 Összehasonlít és ugrik : JUMP label IF R1 > R2

9 Számítógép Architektúrák Horváth Gábor, BME Hálózati Rendszerek és Szolgáltatások Tsz. 9 Predikátumok Predikátumok: feltételhez kötött utasítások R1 R IF P2 Predikátumregiszter: végrehajtási feltételt tárol Állítása: összehasonlító műveletekkel P2 R3 R5

10 Számítógép Architektúrák Horváth Gábor, BME Hálózati Rendszerek és Szolgáltatások Tsz. 10 Utasítások jellemzői Utasításokat binárisan kódolva tároljuk Binárisan kódolt utasítások hossza szerint: Fix hosszú kódolás: Változó hosszú kódolás:

11 Számítógép Architektúrák Horváth Gábor, BME Hálózati Rendszerek és Szolgáltatások Tsz. 11 Assembly programozás Alacsony szintű programozás: Utasítások kézi kódolása kényelmetlen A binárisan kódolt utasítássorozat emberi fogyasztásra alkalmatlan Eszköz: assembly programozás Assembly A legalacsonyabb szintű programozási nyelv A gépi utasítások szöveges megfelelője 1 assembly utasítás -ból 1 gépi utasítás lesz Assembler: az assembly leírásból gépi kódot készít Minden utasításkészlet architektúrára más és más!

12 Utasításkódolás Számítógép Architektúrák Horváth Gábor, BME Hálózati Rendszerek és Szolgáltatások Tsz. 12

13 Utasításkódolás Assembly kód A Terminátor processzora: MOS-6502 (akár az Apple II-é) (1975 és 1980 között messze a legolcsóbb CPU: a vele azonos képességű Intel és Motorola processzorok árának hatodába került) A Terminátor a Nibble magazin egyik példaprogramját futtatja Számítógép Architektúrák Horváth Gábor, BME Hálózati Rendszerek és Szolgáltatások Tsz. 13

14 Számítógép Architektúrák Horváth Gábor, BME Hálózati Rendszerek és Szolgáltatások Tsz. 14 Utasításkódolás Assembly kód Binárisan kódolt (gépi) utasítások

15 Számítógép Architektúrák Horváth Gábor, BME Hálózati Rendszerek és Szolgáltatások Tsz. 15 Példa utasításkódolásra (x86) ADD ECX, EAX = 01 C1 (ASCII: ) ADD EDI, [EBX] = 03 3B (ASCII: ;)

16 Számítógép Architektúrák Horváth Gábor, BME Hálózati Rendszerek és Szolgáltatások Tsz. 16 Példa utasításkódolásra (x86) ADD EBX, = 81 C3 15 6B (ASCII: Qü ke )

17 Számítógép Architektúrák Horváth Gábor, BME Hálózati Rendszerek és Szolgáltatások Tsz. 17 Utasításkészletek további jellemzői Bájtsorrend: Little endian: legkisebb helyiértékkel kezdi Big endian: legnagyobb helyiértékkel kezdi Példa: (=1656B15) Little endian: 15 6B Big endian: B 15 Perifériakezelő utasítások: Külön I/O utasítások (IN/OUT) Memóriára leképzett Ortogonalitás ill. közel ortogonalitás

18 Számítógép Architektúrák Horváth Gábor, BME Hálózati Rendszerek és Szolgáltatások Tsz. 18 RISC vs. CISC Trend a 70-es években: sok, összetett utasítás Motiváció: Lassú memória Drága memória Egyszerűbb fordítóprogram Ez a CISC (Complex Instruction Set Computer) Jellemzői: Kényelmes, összetett műveletek Regiszter-memória utasítások (pl. R1 Redundancia Sokféle címzési mód Változatos utasításhossz Változatos utasítás-végrehajtási idő R2 + MEM[42] )

19 Számítógép Architektúrák Horváth Gábor, BME Hálózati Rendszerek és Szolgáltatások Tsz. 19 RISC vs. CISC Trend a 80-as/90-es években: egyszerű utasítások Motiváció: Egyszerűbb processzor Átláthatóbb mikroarchitektúra hatékonyabb implementáció Ez a RISC (Reduced Instruction Set Computing) Jellemzői: Elemi utasítások, redundancia kerülése Load-Store és regiszter-regiszter műveletek R1 R2+MEM[42] helyett R3 MEM[42]; R1 R2+R3. Kevés címzési mód Fix utasításhossz Egyforma utasítás-végrehajtási idők

20 Számítógép Architektúrák Horváth Gábor, BME Hálózati Rendszerek és Szolgáltatások Tsz. 20 RISC vs. CISC Összehasonlítás: CISC: tömör RISC: egyszerű Kevesebb tervezési hiba Huzalozott vezérlés (vs. Mikroprogramozás) Kisebb IC Alacsonyabb fogyasztás Jobb gyártási kihozatal Járulékos eszközökkel integrálható CISC: kevés regiszter vs. RISC: több regiszter

21 Számítógép Architektúrák Horváth Gábor, BME Hálózati Rendszerek és Szolgáltatások Tsz. 21 Néhány érdekes utasításkészlet MISC: Minimal Istruction Set Computer pl. verem alapú OISC: One Istruction Set Computer pl. kivonás és ugrás, ha az eredmény negatív NISC: No Instruction Set Computer Nanokódot használ: közvetlenül a programozó vezérli a CPU funkcionális egységeit

22 Számítógép Architektúrák Horváth Gábor, BME Hálózati Rendszerek és Szolgáltatások Tsz. 22 x86 Történelemóra Első tag: 1971, Intel : Az Intel 8088-as lesz az IBM PC processzora Eredetileg 16 bites volt, később 32 és 64 bites kiterjesztések Nagy teljesítményű szerverektől a mobil eszközök piacáig 40 éves kompatibilitási kényszer Félvezetőipari beruházások hatalmas gyártástechnológiai előny

23 Számítógép Architektúrák Horváth Gábor, BME Hálózati Rendszerek és Szolgáltatások Tsz. 23 Történelemóra ARM Első megvalósítás: 1987 A legelterjedtebb utasításkészlet architektúra Kezdetektől 32 bites, 2011 óta 64 bites Elsődleges szempont: egyszerűség és a fogyasztás Az ARM nem gyárt processzort, de licenszel Utasításkészletet Saját tervezésű processzort (pl. ARM Cortex processzorcsalád) Licenszelők: Qualcomm: csak utasításkészletet vett, a processzor saját tervezésű Apple: vett processzor licenszet, de továbbfejlesztette Nvidia Tegra, Samsung Exynos, Texas OMAP, Marvell, Rockchip, Allwinner, Amlogic, Nufront, Broadcom, stb.: ARM Cortex magokat licenszelnek, gyártanak Fejlődés: 2008: A legerősebb ARM processzor: 680MHz (850 DMIPS, Apple iphone 1: 412 MHz) 2013: Qualcomm Snapdragon 800: 2.3 GHz, 4 mag, out-of-order utasításvégrehajtás (31188 DMIPS)

24 Számítógép Architektúrák Horváth Gábor, BME Hálózati Rendszerek és Szolgáltatások Tsz. 24 Történelemóra PowerPC 1991-ben, az IBM, Apple és Motorola összefogásában Felülmúlják az x86 processzorok teljesítményét (2010: 4.25 GHz, 8 magos, magonként 4 szál) A PC-kben nem terjedt el, munkaállomásokban és szerverekben igen Modern játékkonzolok mindegyike PowerPC-re épül (Kivéve a PS4 és az Xbox One: ezek 64 bites, x86 architektúrájú AMD processzorokat tartalmaznak)

25 Számítógép Architektúrák Horváth Gábor, BME Hálózati Rendszerek és Szolgáltatások Tsz. 25 Történelemóra SPARC 1987, SUN Kezdetektől 64 bites Nyílt platform A UltraSPARC T1 és T2 VeriLog szinten elérhető!!! 2011: a világ legerősebb számítógépe SPARC alapú (2013: a negyedik legerősebb) 2013: SPARC T5: 3.6 GHz, 8 mag, 16 szál/mag

26 Számítógép Architektúrák Horváth Gábor, BME Hálózati Rendszerek és Szolgáltatások Tsz. 26 m68k Történelemóra 1979, Motorola Kezdetektől 32 bites Az x86 legnagyobb vetélytársa volt Apple Macintosh, Commodore Amiga, Atari ST, SEGA MegaDrive, korai HP és SUN szerverek, lézernyomtatók,... Utolsó tag: 1994, Motorola 68060, kb. Pentium sebesség Halála: Motorola belépett a PowerPC szövetségbe

27 Számítógép Architektúrák Horváth Gábor, BME Hálózati Rendszerek és Szolgáltatások Tsz. 27 Alpha Történelemóra 1992, DEC Alpha Kezdetektől 64 bites Rendkívül innovatív: 21164: első CPU nagy, a CPU-val egy szilíciumon elhelyezett cache-el 21264: első CPU magas órajellel ÉS sorrenden kívüli végrehajtással 21364: első CPU integrált memóriavezérlővel 21464: első többszálúságot támogató CPU (lett volna, ha forgalomba kerül) Nagyon erős lebegőpontos egység 833 MHz > 3x Pentium 1 GHz! Kézi tervezés Halála: Compaq felvásárolja és leállítja a fejlesztést

28 Számítógép Architektúrák Horváth Gábor, BME Hálózati Rendszerek és Szolgáltatások Tsz. 28 Történelemóra PA-RISC 1986, HP PA-RISC Eleinte 32, majd 64 bites A korosodó m86k szerverek kiváltására Nem használ másodszintű cache-t, de elsőszintűt annyit, amennyit azóta sem használ senki Nagyon erős lebegőpontos egység 552 MHz > 2x Pentium 1 GHz! Halála: HP az Intel Itanium mellett teszi le a voksát

29 Számítógép Architektúrák Horváth Gábor, BME Hálózati Rendszerek és Szolgáltatások Tsz. 29 Történelemóra IA-64 (Itanium) 1994-ben indul a HP & Intel közös fejlesztés Hatalmas sajtófigyelem, költséges fejlesztés Első tag: 2001, kiábrándító teljesítménnyel, pár ezret adtak el Hardveres kompatibilitás az x86-tal: a 100MHz Pentium sebességén... Gond: spéci compiler kell, nem gondolták, hogy ez ilyen nehéz Azóta is fejlesztik, között db-ot adtak el Egyre több cég hagy fel a platform támogatásával 2008: Microsoft 2011 március: Oracle

30 Számítógép Architektúrák Horváth Gábor, BME Hálózati Rendszerek és Szolgáltatások Tsz. 30 Összehasonlítás x86 ARM PowerPC SPARC Hány bites 64 32/ Megjelenés éve Operandusok Műveletek Reg-mem Reg-reg Reg-reg Reg-reg CISC vs. RISC CISC RISC RISC RISC Regiszterek sz. 8/16 16/ Utasításkódolás Vált. (1-17) Fix (4) Fix (4 töm.) Fix (4) Felt. utasítások Feltétel kód Feltétel kód Feltétel kód Feltétel kód Bájtsorrend Little Big Big/Bi Bi Címzési módok Perifériakezelés I/O utasítások Mem. lekép. Mem. lekép. Mem. lekép. Predikátumok Nincs Van Nincs Nincs

31 Számítógép Architektúrák Horváth Gábor, BME Hálózati Rendszerek és Szolgáltatások Tsz. 31 Összehasonlítás m68k Alpha PA-RISC Itanium Hány bites Megjelenés éve Operandusok Műveletek Reg-mem Reg-reg Reg-reg Reg-reg CISC vs. RISC CISC RISC RISC EPIC Regiszterek sz Utasításkódolás Vált. (2-22) Fix (4) Fix (4) Fix (16) Felt. utasítások Feltétel kód Feltétel reg. Összeh. & ugr.? Bájtsorrend Big Bi Big Bi Címzési módok 9 1 5? Perifériakezelés Mem. lekép. Mem. lekép. Mem. lekép. Mem. lekép. Predikátumok Nincs Nincs Nincs Van

32 Számítógép Architektúrák Horváth Gábor, BME Hálózati Rendszerek és Szolgáltatások Tsz. 32 Esettanulmány: Fibonacci sorozat #include <stdio.h> int main () { int i, n, a, b, f; scanf("%d", &n); a = 0; b = 1; for (i=0; i<n; i++) { f = a + b; a = b; b = f; } } printf ("%d\n", f);

33 Számítógép Architektúrák Horváth Gábor, BME Hálózati Rendszerek és Szolgáltatások Tsz. 33 Esettanulmány Megvalósítás x86-ban (=IA-32) Csak a ciklus: ESP+20: f ESP+24: b ESP+28: a ESP+32: n ESP+36: i mov DWORD PTR [ESP + 36], 0 jmp.lbb0_1.lbb0_2: mov EAX, DWORD PTR [ESP + 28] add EAX, DWORD PTR [ESP + 24] mov DWORD PTR [ESP + 20], EAX mov EAX, DWORD PTR [ESP + 24] mov DWORD PTR [ESP + 28], EAX mov EAX, DWORD PTR [ESP + 20] mov DWORD PTR [ESP + 24], EAX inc DWORD PTR [ESP + 36].LBB0_1: mov EAX, DWORD PTR [ESP + 36] cmp EAX, DWORD PTR [ESP + 32] jl.lbb0_2 i = 0 f = a + b a = b b = f i ++ i és n összehasonlítása ugrás (még egy kör), ha kisebb

34 Számítógép Architektúrák Horváth Gábor, BME Hálózati Rendszerek és Szolgáltatások Tsz. 34 Esettanulmány Megvalósítás x86-ban (=IA-32) Csak a ciklus: ESP+20: f ESP+24: b ESP+28: a ESP+32: n ESP+36: i mov DWORD PTR [ESP + 36], 0 jmp.lbb0_1.lbb0_2: mov EAX, DWORD PTR [ESP + 28] add EAX, DWORD PTR [ESP + 24] mov DWORD PTR [ESP + 20], EAX mov EAX, DWORD PTR [ESP + 24] mov DWORD PTR [ESP + 28], EAX mov EAX, DWORD PTR [ESP + 20] mov DWORD PTR [ESP + 24], EAX inc DWORD PTR [ESP + 36].LBB0_1: mov EAX, DWORD PTR [ESP + 36] cmp EAX, DWORD PTR [ESP + 32] jl.lbb0_2 Memóriareferens műveletek: CISC! i = 0 f = a + b a = b b = f i ++ i és n összehasonlítása ugrás (még egy kör), ha kisebb

35 Számítógép Architektúrák Horváth Gábor, BME Hálózati Rendszerek és Szolgáltatások Tsz. 35 Esettanulmány Megvalósítás x86-ban (=IA-32) Csak a ciklus: ESP+20: f ESP+24: b ESP+28: a ESP+32: n ESP+36: i mov DWORD PTR [ESP + 36], 0 jmp.lbb0_1.lbb0_2: mov EAX, 1 DWORD 2 PTR [ESP + 28] add EAX, DWORD PTR [ESP + 24] mov DWORD PTR [ESP + 20], EAX mov EAX, DWORD PTR [ESP + 24] mov DWORD PTR [ESP + 28], EAX mov EAX, DWORD PTR [ESP + 20] mov DWORD PTR [ESP + 24], EAX inc DWORD PTR [ESP + 36].LBB0_1: mov EAX, DWORD PTR [ESP + 36] cmp EAX, DWORD PTR [ESP + 32] jl.lbb0_2 Kétoperandusú műveletek: CISC! i = 0 f = a + b a = b b = f i ++ i és n összehasonlítása ugrás (még egy kör), ha kisebb

36 Számítógép Architektúrák Horváth Gábor, BME Hálózati Rendszerek és Szolgáltatások Tsz. 36 Esettanulmány Megvalósítás x86-ban (=IA-32) Csak a ciklus: ESP+20: f ESP+24: b ESP+28: a ESP+32: n ESP+36: i mov DWORD PTR [ESP + 36], 0 jmp.lbb0_1.lbb0_2: mov EAX, DWORD PTR [ESP + 28] add EAX, DWORD PTR [ESP + 24] mov DWORD PTR [ESP + 20], EAX mov EAX, DWORD PTR [ESP + 24] mov DWORD PTR [ESP + 28], EAX mov EAX, DWORD PTR [ESP + 20] vezérlésátadás mov DWORD PTR [ESP + 24], EAX inc DWORD PTR [ESP + 36].LBB0_1: mov EAX, DWORD PTR [ESP + 36] cmp EAX, DWORD PTR [ESP + 32] jl.lbb0_2 Feltétel kódokra alapozott i = 0 f = a + b a = b b = f i ++ i és n összehasonlítása ugrás (még egy kör), ha kisebb

37 Számítógép Architektúrák Horváth Gábor, BME Hálózati Rendszerek és Szolgáltatások Tsz. 37 Esettanulmány Megvalósítás x86-ban (=IA-32) Optimalizálás után: ESI: f ECX: b EDI: a EAX: n EDX: i xor.lbb0_2: mov add inc mov mov cmp jl EDX, EDX ESI, EDI ESI, ECX EDX EDI, ECX ECX, ESI EDX, EAX.LBB0_2 i = 0 f = a + b i ++ a = b b = f i és n összehasonlítása ugrás (még egy kör), ha kisebb A változók regiszterekbe kerültek a ciklusban nincs CPU-Memória adatmozgatás!

38 Számítógép Architektúrák Horváth Gábor, BME Hálózati Rendszerek és Szolgáltatások Tsz. 38 Esettanulmány Megvalósítás ARM-ban Optimalizálás nélkül (csak a ciklus): [sp]: f [sp #4]: b [sp #8]: a [sp #12]: n [sp #16]: i mov r4, #0 str r4, [sp, #16] b.lbb0_2.lbb0_1: ldmib sp, {r0, r1} add r0, r1, r0 str r0, [sp] ldr r1, [sp, #4] str r1, [sp, #8] ldr r2, [sp] str r2, [sp, #4] ldr r1, [sp, #16] add r0, r1, #1 str r0, [sp, #16].LBB0_2: ldr r0, [sp, #12] ldr r1, [sp, #16] cmp r1, r0 blt.lbb0_1 i = 0 Ugrás a ciklusfeltétel ellenőrzésére f = a + b a = b b = f i ++ i és n összehasonlítása ugrás (még egy kör), ha kisebb

39 Számítógép Architektúrák Horváth Gábor, BME Hálózati Rendszerek és Szolgáltatások Tsz. 39 Esettanulmány Megvalósítás ARM-ban Optimalizálás nélkül (csak a ciklus): mov r4, #0 str r4, [sp, #16] b.lbb0_2.lbb0_1: ldmib sp, 1 {r0, 2 3r1} add r0, r1, r0 str r0, [sp] ldr r1, [sp, #4] str r1, [sp, #8] ldr r2, [sp] str r2, [sp, #4] ldr r1, [sp, #16] add r0, r1, #1 str r0, [sp, #16].LBB0_2: ldr r0, [sp, #12] ldr r1, [sp, #16] cmp r1, r0 blt.lbb0_1 i = 0 f = a + b a = b Háromoperandusú műveletek: RISC! b = f i ++ i és n összehasonlítása [sp]: f [sp #4]: b [sp #8]: a [sp #12]: n [sp #16]: i Ugrás a ciklusfeltétel ellenőrzésére ugrás (még egy kör), ha kisebb

40 Számítógép Architektúrák Horváth Gábor, BME Hálózati Rendszerek és Szolgáltatások Tsz. 40 Esettanulmány Megvalósítás ARM-ban Optimalizálás nélkül (csak a ciklus): mov r4, #0 str r4, [sp, #16] b.lbb0_2.lbb0_1: ldmib sp, {r0, r1} add r0, r1, r0 str r0, [sp] ldr r1, [sp, #4] str r1, [sp, #8] ldr r2, [sp] str r2, [sp, #4] ldr r1, [sp, #16] add r0, r1, #1 str r0, [sp, #16].LBB0_2: ldr r0, [sp, #12] ldr r1, [sp, #16] cmp r1, r0 blt.lbb0_1 i = 0 f = a + b a = b Nincsenek regiszter-memória műveletek: RISC! b = f i ++ i és n összehasonlítása [sp]: f [sp #4]: b [sp #8]: a [sp #12]: n [sp #16]: i Ugrás a ciklusfeltétel ellenőrzésére ugrás (még egy kör), ha kisebb

41 Számítógép Architektúrák Horváth Gábor, BME Hálózati Rendszerek és Szolgáltatások Tsz. 41 Esettanulmány Megvalósítás ARM-ban Optimalizálás nélkül (csak a ciklus): mov r4, #0 str r4, [sp, #16] b.lbb0_2.lbb0_1: ldmib sp, {r0, r1} add r0, r1, r0 str r0, [sp] ldr r1, [sp, #4] str r1, [sp, #8] ldr r2, [sp] str r2, [sp, #4] ldr r1, [sp, #16] add r0, r1, #1 str r0, [sp, #16].LBB0_2: ldr r0, [sp, #12] ldr r1, [sp, #16] cmp r1, r0 blt.lbb0_1 i = 0 f = a + b Nincs redundancia, az az inkrementálásra nincs külön utasítás: RISC! b = f inkrementálásra nincs külön a = b i ++ i és n összehasonlítása [sp]: f [sp #4]: b [sp #8]: a [sp #12]: n [sp #16]: i Ugrás a ciklusfeltétel ellenőrzésére ugrás (még egy kör), ha kisebb

42 Számítógép Architektúrák Horváth Gábor, BME Hálózati Rendszerek és Szolgáltatások Tsz. 42 Esettanulmány Megvalósítás ARM-ban Optimalizálás nélkül (csak a ciklus): mov r4, #0 str r4, [sp, #16] b.lbb0_2.lbb0_1: ldmib sp, {r0, r1} add r0, r1, r0 str r0, [sp] ldr r1, [sp, #4] str r1, [sp, #8] ldr r2, [sp] str r2, [sp, #4] ldr r1, [sp, #16] add r0, r1, #1 str r0, [sp, #16].LBB0_2: ldr r0, [sp, #12] ldr r1, [sp, #16] cmp r1, r0 blt.lbb0_1 i = 0 f = a + b a = b Több regiszter feltöltése egymás utáni memóriacímekről b = f i ++ i és n összehasonlítása [sp]: f [sp #4]: b [sp #8]: a [sp #12]: n [sp #16]: i Ugrás a ciklusfeltétel ellenőrzésére ugrás (még egy kör), ha kisebb

43 Számítógép Architektúrák Horváth Gábor, BME Hálózati Rendszerek és Szolgáltatások Tsz. 43 Esettanulmány Megvalósítás ARM-ban Optimalizálás után: r0: a r1: f r2: b r3: i r12: n mov r3, #0.LBB0_2: add r1, r0, r2 add r3, r3, #1 mov r0, r2 mov r2, r1 cmp r3, r12 blt.lbb0_2 i = 0 f = a + b i ++ a = b b = f i és n összehasonlítása ugrás (még egy kör), ha kisebb A változók regiszterekbe kerültek a ciklusban nincs CPU-Memória adatmozgatás! Itt is feltételkódokra alapozott elágazáskezelés

44 Számítógép Architektúrák Horváth Gábor, BME Hálózati Rendszerek és Szolgáltatások Tsz. 44 Esettanulmány Megvalósítás PowerPC 32-ben (PPC32) Optimalizálás után: 7: a 6: b 5: i 4: f 3: n li 5, 0.LBB0_2: add 4, 7, 6 addi 5, 5, 1 mr 7, 6 mr 6, 4 cmpw 0, 5, 3 blt 0,.LBB0_2 i = 0 f = a + b i ++ a = b b = f i és n összehasonlítása (eredmény: 0. reg) ugrás (még egy kör), ha kisebb Rendes RISC processzor: 3 operandusú műveletek Nincsenek memóriareferens műveletek (a load/store-tól eltekintve) Nincs redundancia: az inkrementálás az addi (add integer) utasítással oldható meg

45 Számítógép Architektúrák Horváth Gábor, BME Hálózati Rendszerek és Szolgáltatások Tsz. 45 Esettanulmány Megvalósítás PowerPC 32-ben (PPC32) Optimalizálás után: li 5, 0.LBB0_2: i = 0 7: a 6: b 5: i 4: f 3: n add 4, 7, 6 addi 5, 5, 1 mr 7, 6 mr 6, 4 cmpw 0, 5, 3 blt 0,.LBB0_2 f = a + b i ++ a = b b = f i és n összehasonlítása (eredmény: 0. reg) ugrás (még egy kör), ha kisebb Feltételkódokra alapozott elágazáskezelés, DE: Van 8 speciális feltétel regiszter (condition register) Az összehasonlítás művelet eredményét bármelyikbe irányíthatjuk A feltételes elágazásnál megadhatjuk, hogy melyik feltétel regisztertől függjön az ugrás Ez már majdnem feltétel regiszterre alapozott elágazáskezelés! Teljesen az akkor lenne, ha nem lenne külön feltétel regiszter, hanem bármelyik általános regisztert használhatnánk erre a célra

46 Számítógép Architektúrák Horváth Gábor, BME Hálózati Rendszerek és Szolgáltatások Tsz. 46 Esettanulmány Megvalósítás Alpha-ban Optimalizálás után: $3: a $1: b $2: i $4: f $0: n $BB0_2: mov $31,$2 addq $3,$1,$4 addl $2,1,$2 mov $1,$3 mov $4,$1 cmplt $2,$0,$5 bne $5,$BB0_2 i = 0 (a $31 mindig konstans 0) f = a + b i ++ a = b b = f i és n összehasonlítása (eredmény: $5-be) ugrás (még egy kör), ha kisebb Mint az eddig látott RISC architektúrák De: feltétel regiszterre alapozott elágazásbecslése van Az összehasonlítás művelet eredményét tetszőleges általános regiszterbe irányíthatjuk A feltételes elágazásnál megadhatjuk, hogy melyik regisztertől függjön az ugrás

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

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

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

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

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

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 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

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

SZÁMÍTÓGÉPES ARCHITEKTÚRÁK Misák Sándor SZÁMÍTÓGÉPES ARCHITEKTÚRÁK Nanoelektronikai és Nanotechnológiai Részleg DE TTK v.0.1 (2007.02.13.) 2. előadás A STRUKTURÁLT SZÁMÍTÓGÉP-FELÉPÍTÉS 2. előadás 1. Nyelvek, szintek és virtuális

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

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

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

Számítógép Architektúrák (MIKNB113A) PANNON EGYETEM, Veszprém Villamosmérnöki és Információs Rendszerek Tanszék Számítógép Architektúrák (MIKNB113A) 4. előadás: Utasítás végrehajtás folyamata: címzési módok, RISC-CISC processzorok Előadó:

Részletesebben

Számítógép architektúrák I. Várady Géza varadygeza@pmmik.pte.hu

Számítógép architektúrák I. Várady Géza varadygeza@pmmik.pte.hu Számítógép architektúrák I. Várady Géza varadygeza@pmmik.pte.hu 1 Bevezetés - fogalmak Informatika sokrétű Információk Szerzése Feldolgozása Tárolása Továbbítása Információtechnika Informatika a technikai

Részletesebben

SZÁMÍTÓGÉPES ARCHITEKTÚRÁK A STRUKTURÁLT SZÁMÍTÓGÉP-FELÉPÍTÉS. Misák Sándor. 2. előadás DE TTK

SZÁMÍTÓGÉPES ARCHITEKTÚRÁK A STRUKTURÁLT SZÁMÍTÓGÉP-FELÉPÍTÉS. Misák Sándor. 2. előadás DE TTK Misák Sándor SZÁMÍTÓGÉPES ARCHITEKTÚRÁK Nanoelektronikai és Nanotechnológiai Részleg 2. előadás A STRUKTURÁLT SZÁMÍTÓGÉP-FELÉPÍTÉS DE TTK v.0.1 (2007.02.13.) 2. előadás 1. Nyelvek, szintek és virtuális

Részletesebben

HARDVERKÖZELI PROGRAMOZÁS1

HARDVERKÖZELI PROGRAMOZÁS1 HARDVERKÖZELI PROGRAMOZÁS1 Dr. Varga Imre Debreceni Egyetem Informatikai Rendszerek és Hálózatok Tanszék 2015.05.11 Követelmények Gyakorlat (aláírás) Óralátogatás (maximum hiányzás: 3) C programozási beugró

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

Ú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

Egyszerű RISC CPU tervezése

Egyszerű RISC CPU tervezése IC és MEMS tervezés laboratórium BMEVIEEM314 Budapesti Műszaki és Gazdaságtudományi Egyetem Egyszerű RISC CPU tervezése Nagy Gergely Elektronikus Eszközök Tanszéke (BME) 2013. február 14. Nagy Gergely

Részletesebben

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

Számítógép Architektúrák Multiprocesszoros rendszerek Horváth Gábor 2015. május 19. Budapest docens BME Híradástechnikai Tanszék ghorvath@hit.bme.hu Párhuzamosság formái A párhuzamosság milyen formáit ismerjük? Bit szintű párhuzamosság

Részletesebben

Az informatika fejlõdéstörténete

Az informatika fejlõdéstörténete Az informatika fejlõdéstörténete Elektronikus gépek A háború alatt a haditechnika fejlõdésével felmerült az igény a számítások precizitásának növelésére. Több gépet is kifejlesztettek, de ezek egyike sem

Részletesebben

1. ábra: Perifériára való írás idődiagramja

1. ábra: Perifériára való írás idődiagramja BELÉPTETŐ RENDSZER TERVEZÉSE A tárgy első részében tanult ismeretek részbeni összefoglalására tervezzük meg egy egyszerű mikroprocesszoros rendszer hardverét, és írjuk meg működtető szoftverét! A feladat

Részletesebben

[cimke:] [feltétel] utasítás paraméterek [; megjegyzés]

[cimke:] [feltétel] utasítás paraméterek [; megjegyzés] Szoftver fejlesztés Egy adott mikroprocesszoros rendszer számára a szükséges szoftver kifejlesztése több lépésből áll: 1. Forrás nyelven megírt program(ok) lefordítása gépi kódra, amihez megfelelő fejlesztő

Részletesebben

Digitális technika VIMIAA01

Digitális technika VIMIAA01 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 Fehér Béla BME MIT Digitális Rendszerek Számítógépek

Részletesebben

Teljesítmény: időegység alatt végrehajtott utasítások száma. Egységek: MIPS, GIPS, MFLOPS, GFLOPS, TFLOPS, PFLOPS. Mai nagyteljesítményű GPGPU k: 1-2

Teljesítmény: időegység alatt végrehajtott utasítások száma. Egységek: MIPS, GIPS, MFLOPS, GFLOPS, TFLOPS, PFLOPS. Mai nagyteljesítményű GPGPU k: 1-2 2009. 10. 21. 1 2 Teljesítmény: időegység alatt végrehajtott utasítások száma. Egységek: MIPS, GIPS, MFLOPS, GFLOPS, TFLOPS, PFLOPS. Mai nagyteljesítményű GPGPU k: 1-2 PFLOPS. (Los Alamosban 1 PFLOPS os

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

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

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 utasítás szint Operációs rendszer szint Assembly nyelvi szint Probléma orientált

Részletesebben

A MiniRISC processzor

A MiniRISC processzor BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK A MiniRISC processzor Fehér Béla, Raikovich Tamás, Fejér Attila BME MIT

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

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

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

Számítógép Architektúrák Számítógép Architektúrák Perifériakezelés a PCI-ban és a PCI Express-ben 2015. március 9. Budapest Horváth Gábor docens BME Hálózati Rendszerek és Szolgáltatások Tanszék ghorvath@hit.bme.hu Tartalom A

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

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

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

Memóriák - tárak. Memória. Kapacitás Ár. Sebesség. Háttértár. (felejtő) (nem felejtő)

Memóriák - tárak. Memória. Kapacitás Ár. Sebesség. Háttértár. (felejtő) (nem felejtő) Memóriák (felejtő) Memória Kapacitás Ár Sebesség Memóriák - tárak Háttértár (nem felejtő) Memória Vezérlő egység Központi memória Aritmetikai Logikai Egység (ALU) Regiszterek Programok Adatok Ez nélkül

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

Ez egy program. De ki tudja végrehajtani?

Ez egy program. De ki tudja végrehajtani? Császármorzsa Keverj össze 25 dkg grízt 1 mokkás kanál sóval, 4 evőkanál cukorral és egy csomag vaníliás cukorral! Adj hozzá két evőkanál olajat és két tojást, jól dolgozd el! Folyamatos keverés közben

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

Assembly Rekurzív függvények, EXE, C programok. Iványi Péter

Assembly Rekurzív függvények, EXE, C programok. Iványi Péter Assembly Rekurzív függvények, EXE, C programok Iványi Péter Algoritmusok előadás Rekurzív függvény FÜGGVÉNY nyomtat(n) print n HA n!= 0 nyomtat(n-1) ELÁGAZÁS VÉGE FÜGGVÉNY VÉGE Rekurzív függvény org 100h

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

Dr. Illés Zoltán zoltan.illes@elte.hu

Dr. Illés Zoltán zoltan.illes@elte.hu Dr. Illés Zoltán zoltan.illes@elte.hu Operációs rendszerek kialakulása Op. Rendszer fogalmak, struktúrák Fájlok, könyvtárak, fájlrendszerek Folyamatok Folyamatok kommunikációja Kritikus szekciók, szemaforok.

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

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

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

A Számítógépek felépítése, mőködési módjai

A Számítógépek felépítése, mőködési módjai Mechatronika, Optika és Gépészeti Informatika Tanszék Kovács Endre tud. Mts. A Számítógépek felépítése, mőködési módjai Mikroprocesszoros Rendszerek Felépítése Buszrendszer CPU OPERATÍV TÁR µ processzor

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

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 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

Részletesebben

Az integrált áramkörök kimenetének kialakítása

Az integrált áramkörök kimenetének kialakítása 1 Az integrált áramörö imeneténe ialaítása totem-pole three-state open-olletor Az áramörö általános leegyszerűsített imeneti foozata: + tápfeszültség R1 V1 K1 imenet V2 K2 U i, I i R2 ahol R1>>R2, és K1,

Részletesebben

ELŐADÁS 2016-01-05 SZÁMÍTÓGÉP MŰKÖDÉSE FIZIKA ÉS INFORMATIKA

ELŐADÁS 2016-01-05 SZÁMÍTÓGÉP MŰKÖDÉSE FIZIKA ÉS INFORMATIKA ELŐADÁS 2016-01-05 SZÁMÍTÓGÉP MŰKÖDÉSE FIZIKA ÉS INFORMATIKA A PC FIZIKAI KIÉPÍTÉSÉNEK ALAPELEMEI Chip (lapka) Mikroprocesszor (CPU) Integrált áramköri lapok: alaplap, bővítőkártyák SZÁMÍTÓGÉP FELÉPÍTÉSE

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

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

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

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

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

1.1. Általános áttekintés

1.1. Általános áttekintés 1.1. Általános áttekintés A mesterséges intelligencia megjelenésének az alapja a számítógép első működő eszköz az ENIAC számítógép volt amit a Manhattan-terv keretében fejlesztették ki 1946-ban. A memóriakezelő

Részletesebben

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

Máté: Számítógép architektúrák 2010.12.01. Máté: Számítógép architektúrák... A feltételes ugró utasítások eldugaszolják a csővezetéket Feltételes végrehajtás (5.5 5. ábra): Feltételes végrehajtás Predikáció ió C pr. rész Általános assembly Feltételes

Részletesebben

Karunkról Kari digitális könyvtár

Karunkról Kari digitális könyvtár . előadás Jegyzet www.inf.elte.hu Karunkról Kari digitális könyvtár i az assembly? gépi kód: a számítógép által közvetlenül értelmezett és végrehajtott jelsorozat assembly: a gépi kód emberek számára könnyen

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

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

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

Számítógép Architektúrák Cache memória Horváth Gábor 2016. március 30. Budapest docens BME Hálózati Rendszerek és Szolgáltatások Tanszék ghorvath@hit.bme.hu Már megint a memória... Mindenről a memória tehet. Mert lassú. A virtuális

Részletesebben

8. hét Véges állapotú gépek

8. hét Véges állapotú gépek 8. hét Véges állapotú gépek 8.1. Bevezetés: A véges állapotú gépek definíciója Korábbi előadásokon már tisztáztuk a logikai hálózat fogalmát. Logikai hálózatnak nevezzük azokat a rendszereket, melyeknek

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

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

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

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

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

Számítógép Architektúrák I-II-III.

Számítógép Architektúrák I-II-III. Kidolgozott államvizsgatételek Számítógép Architektúrák I-II-III. tárgyakhoz 2010. június A sikeres államvizsgához kizárólag ennek a dokumentumnak az ismerete nem elégséges, a témaköröket a Számítógép

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

Programozás alapjai C nyelv 5. gyakorlat. Írjunk ki fordítva! Írjunk ki fordítva! (3)

Programozás alapjai C nyelv 5. gyakorlat. Írjunk ki fordítva! Írjunk ki fordítva! (3) Programozás alapjai C nyelv 5. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.10.17. -1- Tömbök Azonos típusú adatok tárolására. Index

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

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

Számítógépes alapismeretek

Számítógépes alapismeretek Számítógépes alapismeretek 1. előadás Dr. Istenes Zoltán Eötvös Loránd Tudományegyetem Informatikai Kar Programozáselmélet és Szoftvertechnológiai Tanszék Programtervező Informatikus BSc 2008 / Budapest

Részletesebben

Fábián Zoltán Hálózatok elmélet

Fábián Zoltán Hálózatok elmélet Fábián Zoltán Hálózatok elmélet Számolóeszközök fejlődése Automatizálás, vezérlés fejlődése Adatfeldolgozás fejlődése ie. 3000 -Abakusz (Babilónia) csillagászati célok Középkorban -Rováspálca (tally, kerbholz)

Részletesebben

DSP architektúrák dspic30f család

DSP architektúrák dspic30f család DSP architektúrák dspic30f család A Microchip 2004 nyarán piacra dobta a dspic30f családot, egy 16 bites fixpontos DSC. Mivel a mikróvezérlők tantárgy keretén belül a PIC családdal már megismerkedtetek,

Részletesebben

Mikrovezérlık története (nagyon) röviden

Mikrovezérlık története (nagyon) röviden Cím: Mikrovezérlık története (nagyon) röviden Készítette: Motika László Károly SZTE TTK Mérnök Informatikus I. félév 2006. november Mikrovezérlık története (nagyon) röviden A beágyazott számítógépeket

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

Az INTEL D-2920 analóg mikroprocesszor alkalmazása

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

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

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

Vezérlésfolyam gráf és X86 utasításkészlet Vezérlésfolyam gráf és X86 utasításkészlet Kód visszafejtés. Izsó Tamás 2016. november 3. Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 1 Intervallum algoritmus Procedure Intervals(G={N, E, h})

Részletesebben

Mikrokontroller alapú rendszerek

Mikrokontroller alapú rendszerek I / 1. oldal Elektronikus jegyzet Készítette: docens BME 1117. Budapest, Magyar tudósok körútja 2. Q ép. B szárny II. em. B216. Tel: 463-2881 Fax: 463-2871 (adm.) Mail: tevesz@aut.bme.hu Hallgatják: Nappali

Részletesebben

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 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

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

IT TERMÉKEK TANÚSÍTÁSA

IT TERMÉKEK TANÚSÍTÁSA RG_0140.fmx v.2.01 CD2E4A5EB23A9DB2DE2A4F95820958DFA4869790 RG_0150.fmx v.2.01 A288B76997952CA18C18316CE61A3D595EE071E5 RG_0151.fmx v.2.01 70F70BC8E467DC6E0F176FE64DB2295634E8533E rg_0157.fmx v.2.01 730016671CA42824C2D7CA504E44492AA390005F

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

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

Számítógép architektúrák Számítógép architektúrák Kártyás ajtónyitó tervezése 2016. március 7. Budapest Horváth Gábor docens BME Hálózati Rendszerek és Szolgáltatások Tanszék ghorvath@hit.bme.hu Számítógép Architektúrák Horváth

Részletesebben

Virtualizációs Technológiák Bevezetés Kovács Ákos Forrás, BME-VIK Virtualizációs technológiák https://www.vik.bme.hu/kepzes/targyak/vimiav89/

Virtualizációs Technológiák Bevezetés Kovács Ákos Forrás, BME-VIK Virtualizációs technológiák https://www.vik.bme.hu/kepzes/targyak/vimiav89/ Virtualizációs Technológiák Bevezetés Kovács Ákos Forrás, BME-VIK Virtualizációs technológiák https://www.vik.bme.hu/kepzes/targyak/vimiav89/ Mi is az a Virtualizáció? Az erőforrások elvonatkoztatása az

Részletesebben

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

A PC története. Informatika alapjai-9 Személyi számítógép (PC) 1/15. (Personal computer - From Wikipedia, the free encyclopedia) Informatika alapjai-9 Személyi számítógép (PC) 1/15 (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

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

TANÚSÍTVÁNY KARBANTARTÁS Jegyzıkönyv

TANÚSÍTVÁNY KARBANTARTÁS Jegyzıkönyv TANÚSÍTVÁNY KARBANTARTÁS Jegyzıkönyv A HUNGUARD Számítástechnikai-, informatikai kutató-fejlesztı és általános szolgáltató Kft. a 9/2005. (VII.21.) IHM rendelet alapján, mint a Magyar Köztársaság Miniszterelnöki

Részletesebben

Digitális technika II. (vimia111) 5. gyakorlat: Mikroprocesszoros tervezés, egyszerű feladatok HW és SW megvalósítása gépi szintű programozással

Digitális technika II. (vimia111) 5. gyakorlat: Mikroprocesszoros tervezés, egyszerű feladatok HW és SW megvalósítása gépi szintű programozással Digitális technika II. (vimia111) 5. gyakorlat: Mikroprocesszoros tervezés, egyszerű feladatok HW és SW megvalósítása gépi szintű programozással Megoldás Elméleti anyag: Processzor belső felépítése, adat

Részletesebben

FIR SZŰRŐK TELJESÍTMÉNYÉNEK JAVÍTÁSA C/C++-BAN

FIR SZŰRŐK TELJESÍTMÉNYÉNEK JAVÍTÁSA C/C++-BAN Multidiszciplináris tudományok, 4. kötet. (2014) 1. sz. pp. 31-38. FIR SZŰRŐK TELJESÍTMÉNYÉNEK JAVÍTÁSA C/C++-BAN Lajos Sándor Mérnöktanár, Miskolci Egyetem, Matematikai Intézet, Ábrázoló Geometriai Intézeti

Részletesebben

Ismétlés: Moore törvény. Tranzisztorok mérőszáma: n*százmillió, n*milliárd.

Ismétlés: Moore törvény. Tranzisztorok mérőszáma: n*százmillió, n*milliárd. 1 2 3 Ismétlés: Moore törvény. Tranzisztorok mérőszáma: n*százmillió, n*milliárd. 4 5 Moore törvényhez érdekesség: a várakozásokhoz képest folyamatosan alulteljesített, ezért többször is újra lett fogalmazva

Részletesebben

Bevezetés az informatikába

Bevezetés az informatikába Bevezetés az informatikába 4. 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

2016/06/23 07:47 1/13 Kérdések

2016/06/23 07:47 1/13 Kérdések 2016/06/23 07:47 1/13 Kérdések < Számítástechnika Kérdések Hardver Kérdés 0001 Hány soros port lehet egy PC típusú számítógépen? 4 COM1 COM2 COM3 COM4 Kérdés 0002 Egy operációs rendszerben mit jelent a

Részletesebben

Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT

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

Részletesebben

Mikrokontrollerek. Tihanyi Attila 2007. május 8

Mikrokontrollerek. Tihanyi Attila 2007. május 8 Mikrokontrollerek Tihanyi Attila 2007. május 8 !!! ZH!!! Pótlási lehetőség külön egyeztetve Feladatok: 2007. május 15. Megoldási idő 45 perc! Feladatok: Első ZH is itt pótolható Munkapont számítás Munkapont

Részletesebben

Digitális technika VIMIAA01 9. hét

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

Részletesebben

Bevezetés Alapfogalmak Jog

Bevezetés Alapfogalmak Jog Bevezetés Alapfogalmak Jog Kód visszafejtés. Izsó Tamás 2015. szeptember 18. Izsó Tamás Bevezetés Alapfogalmak / 1 Tartalom 1 Bevezetés 2 Alapfogalmak 3 Motivációs példák 4 Jog Izsó Tamás Bevezetés Alapfogalmak

Részletesebben

Introduction to 8086 Assembly

Introduction to 8086 Assembly Introduction to 886 Assembly Lecture 7 D and N-D Arrays D Arrays 4 5 tabular data rows and columns 4 6 8 6 9 5 4 8 6 D Arrays 4 5 4 6 8 6 9 5 https://advancedmathclubsk.weebly.com/matrices.html 4 8 6 5

Részletesebben