Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Számítógépek és processzorok Elvek, felépítés, működés utolsó módosítás: 2016.VII.29.

Hasonló előadás


Az előadások a következő témára: "Számítógépek és processzorok Elvek, felépítés, működés utolsó módosítás: 2016.VII.29."— Előadás másolata:

1 Számítógépek és processzorok Elvek, felépítés, működés utolsó módosítás: 2016.VII.29.

2 I.1. Mi az a számítógép? Nem triviális kérdés! Sok különböző felépítésű, működésű és célú számítógép létezik. Személyi számítógép, szuperszámítógép, beágyazott rendszer stb. Analóg vs digitális, bináris vs decimális vs trináris, boole – fuzzy - neurális – kvantum – dns...

3 Ez?

4 Vagy ez?

5 Netán ez?

6 Esetleg ez?

7 E?

8 Ez meg mi?

9 Hát?

10 I.2. Alapelvek Algoritmus: egy probléma megoldásához használt eljárás, módszer, utasítássorozat -» program Al Hvarizmi (kb ), perzsa tudós nevének torzított alakjából, aki „Hiszáb al-dzsabr va l-mukábala” c. munkájában lefektette az algebra alapjait.

11 Alapelvek Univerzális, programozható számítógép

12 Computer (1949)

13 Alapelvek Számítógép Computer: eredetileg a számításokat végző embereket hívták így Számológép (hagyományos): matematikai számolások elvégzésére képes Számítógép: a számológép + az őt kezelő személy Ebből a személyből is idővel gép lett, így született a modern számítógép

14 Alapelvek Analóg számítógép

15 Alapelvek Digitális számítógép

16 Számítógép Program: számítások, műveletek sorozata, amelyek adott bemenő adatokból (input) a kívánt kimeneti adatokat (output) előállítja (matematikailag: algoritmus, azaz annak megvalósítása adott gépen) Tárolt program: előre bevihetjük a programot és az adatokat egy (több) tárolóba (memória), ahonnan a gép a saját ütemezésében be tudja hívni

17 Számítógép A tárolt program teszi lehetővé az összetettebb műveleteket, vezérlési lehetőségeket, időzített működést stb. Fontos részei a feltételes utasítások (elágazások), ugrások (függvényhívások) és ciklusok – ezek különböztetik meg az egyszerű, soros (szekvenciális) programú számológépektől

18 Személyi számítógép (Personal Computer) Otthoni és munkahelyi használatra. Emberre szabott beviteli, kiviteli és feldolgozó eszközökkel (perifériákkal): (billentyűzet, egér, képernyő, nyomtató, mikrofon, hangszóró és ezek meghajtó egységei, háttértárak stb.) közepesen nagy teljesítményigényű feladatokra van kitalálva

19 Személyi számítógép Az eredeti IBM-PC (IBM 5150) 1981

20 Mobil számítógépek Valahol a PC és a beágyazott rendszer között. „Okostelefon”, tablet, stb.

21 Mobil személyi számítógép

22 Szuperszámítógép Tudományos és mérnöki számításokhoz. Működtetése gyakran más számítógépeken keresztül történik, saját humán interfészek nem szükségesek Nagyon nagy számítási teljesítmény (sok processzoros párhuzamos rendszerek) Akár hónapokig is számolhat egy feladatot

23 Szuperszámítógép

24 Beágyazott rendszer (Embedded system) Különböző eszközök (gépek) vezérlésével foglalkozó, azokba beépített számítógép. Jellemzően nem rendelkezik humán input- output (IO) eszközökkel Más eszközökkel való kommunikációra alkalmas IO eszközei vannak (interfészek, portok) Kis, közepes számítási teljesítmény

25 Beágyazott rendszer

26

27

28 Beágyazott rendszer humán interfésszel

29 II. Számítógépek és processzorok működése

30 II.1. Számítógépek alapelvei Turing, 1936 „On computable numbers...” Neumann, 1945 „First Draft of a Report on the EDVAC” Turing 1946 Automatic Computing Engine  fenti publikációk egymásra is hatottak, ezek írják le a ma Neumann-elvekként ismert alapokat  tárolt (flexibilis) program, kettes számrendszer, egész, fixpontos, lebegőpontos ábrázolás, kettes komplemens  alapvető felépítés Turing 1950 „Computing machinery and intelligence”

31 Neumann elvek (számítógép) Kettes számrendszer, számábrázolási formátumok Tárolt program; tárolt adatok alap blokkvázlat (ALU, CU, IO, memória, perifériák)

32 Neumann vs. Harvard architektúra Neumann: közös adat és program tárolás (kb. pl. PC) Harvard: külön program és adat tárolás (pl.mikrovezérlők) Vegyes (pl. PC -> cache) szokás szerint nem egyértelmű és sok változatuk van

33 II.2. Utasításkészlet Utasításkészlet (instruction set): a processzor által „hardveresen” ismert utasítások halmaza Gépi kód (machine code): az utasításkészletben található utasítások sorozatából álló program, binárisan tárolva, gyakran hexadecimálisan megjelenítve. Ez a processzor által közvetlenül futtatható program.

34 Utasításkészlet Assembly: a legalacsonyabb szintű, processzorfüggő programozási nyelv. Lényegében a gépi utasításokhoz egy-egy könnyebben megjegyezhető szót rendelünk (mnemonic), ill. megkönnyítjük az adatábrázolást, behelyettesítéseket (tehát pl. a számadatokat írhatjuk decimálisban, a szöveges adatot ascii-ban, az ugrásoknál név szerint hivatkozhatunk a sorokra stb.).

35 Utasításkészlet Az eredetileg nem gépi kódban megírt programokat fordítóprogram (compiler) segítségével (régen kézzel!) alakítják gépi kódra. Magasabb szintű (pl. grafikus) nyelveknél ez akár több lépésben (közbenső nyelv használatával) is történhet. Kérdés: milyen nyelven írják a fordítót?

36 II.3. Mi van a processzorban? Processzor fő részei: ALU: aritmetikai és logikai egység (arithmetic and logic unit) CU: vezérlő egység (control unit) regiszterek: kisméretű belső memória az ideiglenes adatoknak (számolási részeredményeknek) adatbusz csatlakozás: a bináris adatoknak (jell. párhuzamos) címbusz csatlakozás: a külső memória és perifériák címzéséhez (jell. párhuzamos)

37

38 Processzor működése Szükséges egy órajelet (clock) biztosítani Ennek ütemére végzi a processzor a feladatok lépéseit, olvassa be és küldi ki az adatokat Egy-egy művelet elvégzése sok órajel-ütemet is igénybe vehet! Pipeline és párhuzamos feldolgozás miatt az órajel frekvenciája nem egyértelmű mutatója a műveletvégrehajtási sebességnek

39 Processzor működése Memória címzése (address bus), olvasás parancs (control bus, memory read) Utasítás beolvasása (fetch) (data bus->instruction register) Memóriacím növelése (program counter) minden beolvasott utasítás „szó” (memóriacella) után Utasítás értelmezése (decode) Szükség esetén utasítás következő részének beolvasása Szükség esetén utasításhoz tartozó adat beolvasása Utasítás végrehajtása (execute) Szükség esetén végeredmény kiadása (data bus) vagy ugrás végrehajtása (program counter) ld. Z80 folyamatábrás diasor!

40 Pipeline („csővezeték”) Program futtatás meggyorsítását célzó üzemmód Lényege, hogy több lépésre bontjuk a program végrehajtását, és azokat futószalagszerűen hajtjuk végre Akkor optimális, ha kevés az ugrás/elágazás a programban

41 Utasításkészlet fajtái RISC: reduced instruction set computer CISC: complex instruction set computer egyéb (pl. OISC: one instruction) szokás szerint nem egységes a definíció, nem egyértelmű a meghatározás

42 CISC sok utasítás (nem feltétlen!) összetett utasítások (bonyolultabb feladatok megoldhatóak egy utasításból) összetett adatszerkezetek támogatása utasítások többféleképpen, közvetlenül is hozzáférnek memóriához (sokak szerint ez a fő ismérve CISC-nek)

43 CISC Előnyei:  magasabb szintű nyelvekről könnyebb fordítani (?)  ha sok összetett utasításra van szükségünk, gyorsabb és rövidebb lehet a programunk  a kevés utasítást tartalmazó, de közvetlen memória hozzáférést biztosító változatnál (pl. egyesek szerint a PIC) könnyebb lehet az asm programozás

44 CISC hátrányai:  ha sok bonyolult utasítás van, nehezebb lehet az asm programozás ill. hibakeresés (debug)  uP erőforrást/helyet foglal sok olyan funkció, amit ritkán használunk CISC-et gyakran microcode architektúrával valósítják meg

45 Utasításkészlet: microcode microcode: a processzoron belül kétszintű a program végrehajtása: a gépi kódú utasításokat még alacsonyabb szintű utasítások (microinstructions) sorozatára bontja (CISC->RISC) kívülről nem látszik – még assembly szinten sem! a gépi kód így könnyebben változtatható a hardver módosítása nélkül; ill. hasonló processzortípusok gépi kódja is hasonló lehet, míg a microcode különbözik (kód hordozhatóság) akár más processzor emulációja is lehetséges könnyebb hardver (processzor) fejlesztés

46 RISC kevesebb utasítás egyszerűbb utasítások memóriából (RAM) jellemzően csak egyszerű írás-olvasás művelet van, azaz RAM-ból beolvassuk értéket uP regiszterébe, onnan férnek hozzá az utasítások (load/store architecture)

47 RISC előnyei:  az összetett utasításokra ritkábban van szükség, így kevesbé hátrányos, hogy azokat szoftverből valósítjuk meg  a uP adott méretében az egyszerűbb, kevesebb utasítás megvalósítása gyorsabb műveletvégzést eredményez, ill. maradék helyet pl regisztereknek, egyéb funkcióknak

48 RISC  igyekeznek arra, hogy utasítások hossza és végrehajtási ideje egyforma (és rövid) legyen  elősegíti a pipeline szervezést hátrányai:  jobban optimalizált fordítóra van szükség  a gépi kód hosszabb lehet,  ha sok bonyolult utasítás kell, akkor lassabb lehet

49 CISC-RISC a különbség, a definíció nem egyértelmű: lehet egy uP-ban kevés, egyszerű utasítás, de összetett memóriakezeléssel lehet egyszerű load/store memóriakezelés, de bonyolult, nagy utasításkészlettel (pl. magasabbszintű matematikai műveletek, mátrixok, hardverkezelés)

50 II.4. Alaplapok felépítése

51 CPU CPU: Központi feldolgozó egység (central processing unit) egy számítógépben a fő program futtatásáért, a gép fő vezérlési feladataiért felelős processzor ezenkívül lehetnek egyéb processzorok is a gépben (pl. periféria vezérlés) a központi egység állhat több processzorból...

52 Egyszerű buszrendszer

53 Példa előzőre: ZX Spectrum (Z80)

54

55 IBM-PC (8088) (1981)

56 IBM PC-AT (80286) (1984)

57 80386 Processzor órajele magasabb lett, mint az ISA buszé, szükségessé vált az illesztő hardver

58 Pentium Északi híd – Déli híd architektúra

59 Intel Hub Architecture (IHA) Pentium Pro -...

60 Intel PCH architektúra Core sorozat

61 BIOS Basic Input-Output System ROM-ban tárolt kisméretű program A gép indulásakor ezt olvassa be a CPU elsőnek Ez indítja el a háttértáron (pl. merevlemez) tárolt operációs rendszert Bizonyos alapszintű függvényhívásokat is biztosít a programok számára (hardverkezelés) PC-AT óta tartozik hozzá egy program, amivel a PC alapbeállításait lehet módosítani, ezeket RAM-ban tárolja (előtte kapcsolósor volt)

62 II.5. Memória RAM: random access memory, tetszőleges hozzáférésű, írható-olvasható memória, jellemzően illékony ROM: read only memory, csak olvasható (gyárilag írt), nem illékony EEPROM, Flash: olyan ROM, amit megfelelő módszerekkel felhasználó is felülírhat

63 SRAM Minden bit lényegében egy flip- flop. Egy bit általában 6 tranzisztor. Van 4 tranzisztor + 2 ellenállás változat is (többet fogyaszt, kisebb hely). Amíg van tápfesz, megtartja az értékét (nem kell frissíteni). Gyorsabb, mint a DRAM. Kisebb az adatsűrűség (bit/terület), mint DRAM, egy bit több helyet foglal, de egyszerűbb a vezérlése. Drágább. Ilyen van a cache-ben ill. mikrokontrollerekben.

64 DRAM Minden bit egy tranzisztor + egy kondenzátor. Nagy adatsűrűség. Rendszeres frissítés kell - külső vezérlő vagy a DRAM-ba beépített (kondi elveszti töltését). 64ms frissítési idő (refresh time) sor: 7,8us frissítési ciklus Felhasználás: nagy méretű RAM (számítógép)

65 Cache Sebességnövelő megoldás uP-n kívüli memória hozzáférés lassabb, mint a tokba beépítetté DRAM lassabb, mint SRAM (de nagyobb) cache: kisméretű, gyors SRAM processzoron belül

66 Cache külső RAM-ból a cache-be töltjük azokat az adatokat, amelyeket a közeljövőben gyakran kívánunk használni  futtatott program részei  szükségesebb adatok, változók külső RAM-mal szinkronizálni kell!  összetett vezérlést igénye többszintű lehet

67 Cache AMD Athlon 64

68 DMA – Direct Memory Access CPU helyett DMA controller-en megy keresztül az adat A DMA controller gyorsabban, hatékonyabban viszi át az adatokat, ill. képes nagy blokkok átvitelére (nem kell külön bájtonként utasítani CPU-t – bár a tömbátvitelt már ismerik a modern processzorok (vektorutasítások))

69 DMA Probléma: buszt egyszerre csak vagy CPU vagy DMA kezelheti. Bájtonkénti átvitel: egyes átvitelek között CPU megkaphatja a buszt (be kell olvasnia az utasításokat stb) (cycle stealing) – pl. real time rendszerekben Tömbösített átvitel (burst mode): CPU vár (hold) Ha memória órajel gyorsabb, mint CPU akkor felváltva férhetnek hozzá (interleaved) Átlátszó (transparent): DMA figyeli, mikor szabad a busz Ha van cache, CPU dolgozhat tovább, de ilyenkor különbség lehet a cache és a RAM tartalma között (cache incoherence) -> cache-t ki kell írni DMA művelet előtt

70 DMA ISA busz: van egy/két DMA vezérlő, 4/8 DMA csatorna PCI busz: nincs központi vezérlő, bármelyik PCI eszköz kérheti a busz vezérlését a PCI vezérlőtől (déli híd)

71 II.6. Példák processzor felépítésre

72 4004

73 8008 (részletesebb)

74 8080

75

76 Z80

77

78 Z80 teszt áramkör

79 8087 FPU (Floating point unit)


Letölteni ppt "Számítógépek és processzorok Elvek, felépítés, működés utolsó módosítás: 2016.VII.29."

Hasonló előadás


Google Hirdetések