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ÉP-ARCHITEKTÚRÁK – 21 TÖBBMAGOS PROCESSZOROK Németh Gábor és Filp András.

Hasonló előadás


Az előadások a következő témára: "SZÁMÍTÓGÉP-ARCHITEKTÚRÁK – 21 TÖBBMAGOS PROCESSZOROK Németh Gábor és Filp András."— Előadás másolata:

1 SZÁMÍTÓGÉP-ARCHITEKTÚRÁK – 21 TÖBBMAGOS PROCESSZOROK Németh Gábor és Filp András

2 2009Németh Gábor: Számítógép-architektúrák2 ELŐZMÉNYEK – 1 (8086) –16 bites regiszterek –16 (8086), illetve 8 (8088) bites külső adatsín –20 bites címsín: 1 Mbyte címezhető memória –Szegmens- regiszterek alkalmazása 8086/8088 (1978)

3 2009Németh Gábor: Számítógép-architektúrák3 ELŐZMÉNYEK - 2 (8086) Sínek: belső 16 bites, külső 16 bites Memória: 1 MByte Regiszterek (32 bites-ig):

4 2009Németh Gábor: Számítógép-architektúrák4 ELŐZMÉNYEK - 3 (8086) Szegmensregiszterek (FS, GS csak a 32 bites processzorokban): VÉDELEM: A processzor minden utasítás végrehajtása- kor ellenőrzi, hogy az utasításokat és az ope- randusokat a megfele- lő helyekről (kódszeg- mensből, illetve az adatszegmensből, de pl. PUSH esetén a stackszegmensből) vesszük-e. Hiba esetén a műveletet nem hajt- ja végre és jelzést ad. Operációs rendszer támogatására speciá- lis szegmensek vannak, pl. TSS (Task State Segment).

5 2009Németh Gábor: Számítógép-architektúrák5 ELŐZMÉNYEK - 4 (8086) Bázis- és indexregiszterek (16 és 32 bites):

6 2009Németh Gábor: Számítógép-architektúrák6 ELŐZMÉNYEK - 5 (8086) 8086-ban nem használt, de a család későbbi tagjai számára foglalt. túlcsordulás irány megszakítás nyomkövetés előjel zérus átvitel segéd-átvitel Jelzőbit (FLAG) regiszter: paritás

7 2009Németh Gábor: Számítógép-architektúrák7 ELŐZMÉNYEK - 6 (80286) (1982) –24 bites címsín (16 Mbyte címtartomány), de 16 bites szegmensregiszterek. –Szegmensregiszterek leírótáblákra mutatnak, a leírókban 24 bites szegmenscím.  Globális leírótábla (minden felhasználó – megfelelő jogosultság esetén – hozzáfér).  Lokális leírótábla (a felhasználó saját szegmenseit tartalmazza). –Szegmens csere (lehetővé teszi adaptív programok írását, de rontja a védelmi lehetőségeket). –Védelmi mechanizmus: szegmens-határ vizsgálat, olvasás/írás/végrehajtás vizsgálat, 4 privilégium szint.

8 2009Németh Gábor: Számítógép-architektúrák8 ELŐZMÉNYEK – 7 (80286)

9 2009Németh Gábor: Számítógép-architektúrák9 ELŐZMÉNYEK – 8 (80386) (1985) –Az IA32 architektúra első tagja:  32 bites regiszterek;  virtuális 86-os működési mód;  32 bites címsín (4 Gbyte memória kapacitás);  Szegmentált és lineáris memória címzés, lapszervezésű virtuális tárkezeléssel vagy anélkül (programozó választhat a 4 üzemmód közül);  Pipeline feldolgozás (lehívás, dekódolás, végrehajtás);  Max. órafrekvencia 33 MHz, kb tranzisztor.

10 2009Németh Gábor: Számítógép-architektúrák10 ELŐZMÉNYEK – 9 (80386)

11 2009Németh Gábor: Számítógép-architektúrák11 ELŐZMÉNYEK – 10 (80386) Processzor család elv: a későbbi processzo- rok felülről teljesen hardver és szoftver kompatibilisek (lennének). A család minden tagjában közös: –címszámítás védett módban, –rendszerregiszterek, –védelmi mechanizmus, –címzési módok, –utasításkészlet csoportosítása.

12 2009Németh Gábor: Számítógép-architektúrák12 ELŐZMÉNYEK – 11 (80386) Címszámítás védett módban: négy lehetőség, amelyek bármelyikét a felhasználó vezérlőregiszterek beállításával választhatja ki. –Struktúrálatlan lineáris címzés: nincs szegmentálás, nincs virtuális tárkezelés, a felhasználó egybefüggő, 4 Gbyte-os memóriát lát. –Szegmentált címzés (a szegmens logikai egység): nincs virtuális tár, a szegmensek hossza 4 kbyte és 4 Gbyte között 4 kbyte-os lépésekben tetszőlegesen állítható. Rugalmas védelmi lehetőségek (ld. később). –Struktúrálatlan virtuális tárkezelés: kétszintű lapszervezésű virtuális tár, 4 kbyte-os lapméret. A logikai  fizikai címfordítást a lapfordító (PU) végzi. –Szegmentált virtuális tárkezelés: A logikai címet először a szegmensfordító (SU) azután a lapfordító (PU) alakítja át fizikai címmé. (SU + PU = MMU).

13 2009Németh Gábor: Számítógép-architektúrák13 ELŐZMÉNYEK – 12 (80386) Címszámítás a szegmens alapján Szegmens szelektor (16 bit )Eltolás (32 bit ) LOGIKAI CÍM 13 bit Leírótábla (memóriában) (+3 vezérlő bit) 32 bit LINEÁRIS CÍM + 32 bit Memória 32 bit Leíró Szegmens

14 2009Németh Gábor: Számítógép-architektúrák14 ELŐZMÉNYEK – 13 (80386) A gyorsabb működés érdekében lehetőleg el kell kerülni a többszöri memória-hivatkozást. –Ennek érdekében a 386-ban szegmensregiszterek vannak. –Minden memóriahivatkozáskor a hardver ellenőrzi, hogy a kívánt szelektorú leíró megtalálható-e a megfelelő szegmensregiszterben. –Ha igen, akkor onnan veszi az információt, ha nem, akkor a leírótáblából, és egyidejűleg frissíti is a szegmensregiszter tartalmát.

15 2009Németh Gábor: Számítógép-architektúrák15 ELŐZMÉNYEK – 14 (80386) Rendszerregiszterek: ESBázisLimit BázisLimit IDTR (interrupt) TR (futó taszk TSS) DSBázisLimit LDTR (lokális l.t. címe) 63 BázisLimit GDTR (globális leírótábla címe) CR1 CR1: Nem használt (486 számára fenntartva) CR2 CR3:Laphibát okozó lineáris cím CR3 CR4: Lapkönyvtár báziscíme CR0 CR0: Általános vezérlőbitek 0 31

16 2009Németh Gábor: Számítógép-architektúrák16 ELŐZMÉNYEK – 15 (80386) Gyűrűs védelem –A korszerű processzorok kettőnél (felhasználó/rend- szer) több privilégiumszintet támogatnak. –Úgy képzelhetjük, mintha az egyre magasabb védelmi szintű programokat körülvennék az alacsonyabb szintek programjai.  Ez a (képzelt) elrendezés vezetett a gyűrűs védelem (ring protection) elnevezéshez. –A processzor 4 privilégiumszintet támogat, a legmagasabb a 0, legalacsonyabb a 3-as szint.  Figyelem: ez csak lehetőség, nem biztos hogy az operációs rendszer teljes mértékben kihasználja!

17 2009Németh Gábor: Számítógép-architektúrák17 ELŐZMÉNYEK – 16 (80386) A védelem szabályai: –Egy taszknak több szinten lehet kód és adat- szegmense, de minden szinten van stackszeg- mense. –Egy taszk csak a privilégium szintjével egyenlő vagy annál nagyobb privilégium szintű szeg- mensekhez férhet hozzá. –A taszk pillanatnyi privilégium szintje éppen futó kódszegmensének privilégium szintje (ez egyben a veremszegmensé is). –A szelektor és a leíró privilégiumszintje eltér- het egymástól, a tényleges privilégiumszint a nagyobb érték.

18 2009Németh Gábor: Számítógép-architektúrák18 Ha egy olyan szegmenst akarunk elérni amit a védelem tilt, akkor kapukat alkalmazunk. –A kapu (gate – illesztő szegmensleíró) egy szigorúan specifikált és ellenőrzött belépési pont az operációs rendszerbe, melyen keresztül a taszk alacsonyabb privilégium szintű szegmensekhez férhet hozzá.  CALL GATE (eljárás híváshoz hasonlóan viselkedik);  TRAP GATE (szoftver programmegszakításhoz hasonlóan viselkedik).  Ha a taszk áthalad a kapun, akkor privilégium szintje átmenetileg megváltozik. −Ezeket a kapukat az operációs rendszer alakítja ki és a globális vagy a lokális leírótáblában helyezi el. Lapszintű védelem: –Két privilégium szint: felhasználói (3) és felügyelői (0,1,2). ELŐZMÉNYEK – 17 (80386)

19 2009Németh Gábor: Számítógép-architektúrák19 ELŐZMÉNYEK – 18 (80386) −immediate (közvetlen operandus): Az utasításban nem cím, hanem maga az operandus van (8, 16, 32 bites) Címzési módok: − regiszter: két regisztert címez − regiszter indirekt (a regiszterben az operandus memóriabeli címe van): mov al, [ebx] mov al, [esi] mov al, [edi] mov al, [ebp] mov al, [esp] Alapértelmezett szegmensek: ebx, esi, edi (adat) és ebp, esp (stack); felülírhatók.

20 2009Németh Gábor: Számítógép-architektúrák20 ELŐZMÉNYEK – 19 (80386) −indexelt: mint az előző, de eltolás van az utasításban. mov al, disp[eax] mov al, [ebx+disp] mov al, disp[esi] mov al, disp[edi] Alapértelmezett szegmens, felülírható. Címzési módok (folytatás): − bázisregiszter indexelt: a második operandus első regisztere a bázis, a második az index. mov al, [eax][edi] mov al, [ebx+esi] mov al, [esp][ecx] mov al, [esi][edi] Alapértelmezett szegmens, felülírható.

21 2009Németh Gábor: Számítógép-architektúrák21 ELŐZMÉNYEK – 20 (80386) −bázisregiszter indexelt eltolással: mint az előző, de az utasításban eltolás is van. mov al, disp[ebx][esi] mov al, disp[ebx+edi] mov al, [ebp+esi+disp] mov al, [ebp][edi][disp] Alapértelmezett szegmens, felülírható. Címzési módok (folytatás):

22 2009Németh Gábor: Számítógép-architektúrák22 ELŐZMÉNYEK – 21 (80386) x: regiszter vagy memóriacím y: regiszter, memóriacím vagy állandó (x és y nem lehet egyszerre memóriacím) Utasítások : − Majdnem P-kód (népszerűségének egyik oka). − Formátuma:  két címes  regiszter-memória közötti

23 2009Németh Gábor: Számítógép-architektúrák23 ELŐZMÉNYEK – 22 (80386) Utasítás csoportok: –Felhasználói programból kiadható utasítások  Aritmetikai/Logikai Add, Subtract, AND, OR, shifts (ALU hajtja végre.)  Adatmozgató Mov (memóriából/memóriába)  Vezérlésátadó Jump, Call  Vizsgáló/Összehasonlító Cmp, Test (feltételbiteket állítják.)  Beviteli/kiviteli In, Out  Egyéb Halt, NOP

24 2009Németh Gábor: Számítógép-architektúrák24 ELŐZMÉNYEK – 23 (80386) Utasítás csoportok (folytatás): –Privilegizált utasítások Csak az operációs rendszer (felügyelő [supervisor]) adhatja ki, az egész rendszer viselkedését befolyásolják. (Védelmi attributumok beállítása, rendszerregiszterek feltöltése, taszkváltás kezdeményezése.)

25 2009Németh Gábor: Számítógép-architektúrák25 ELŐZMÉNYEK – 24 (80486) (1989) –Tulajdonképpen egy univerzális processzor és egy numerikus társprocesszor egy lapkán, valamint 2-utas asszociatív cache vezérlés (a direkt leképzés helyett) és statikus jóslás az utasításlehívó pipeline-ban. –Teljesítmény-kezelés, rendszer kezelő modul (SMM): autonóm működésű, megszakítást kér (SMI), amely minden más IT-nél magasabb prioritású.

26 2009Németh Gábor: Számítógép-architektúrák26 ELŐZMÉNYEK – 25 (80486)

27 2009Németh Gábor: Számítógép-architektúrák27 PENTIUM - 1 Pentium (1993) –Nem egyetlen processzor, sok változat. –Két pipeline: u és v. –Szuperskalár utasítás-végrehajtás. –8 Kbyte adat- és 8 Kbyte utasítás cache a lapkán (L1 szint) Átírásos (write though) és visszaírásos (write back) szervezés. –Dinamikus ugrás jóslás. –Lökésszerűen működő (burst) 64 bites külső adatsín. –Többprocesszoros működés támogatása. –MMX

28 2009Németh Gábor: Számítógép-architektúrák28 PENTIUM - 2

29 2009Németh Gábor: Számítógép-architektúrák29 PENTIUM - 3 MMX : SIMD utasítások készlete –8 új címezhető regiszter: MMX0~MMX7. –Átfedés a lebegőpontos veremmel (automatikus mentés taszkváltásnál). –64 bites regiszterek, pakolt adatábrázolással és műveletvégzéssel több fixpontos operanduson: 2 darab 32 bites, 4 darab 16 bites, 8 darab 8 bites. –Telítéses aritmetika: nincs körülfordulás, az eredmény + és – max. érték közötti (DSP-hez előnyös). Megjegyzés: az intelligens grafikus vezérlők megjelenése feleslegessé tette.

30 2009Németh Gábor: Számítógép-architektúrák30 PENTIUM - 4 P6 mikroarchitektúra ( ) –Pentium Pro –Pentium II –Pentium II Xeon –Celeron –Pentium III –Pentium III Xeon

31 2009Németh Gábor: Számítógép-architektúrák31 PENTIUM - 5 Pentium Pro –3 utas szuperskalár architektúra Sorrend nélküli ( out of order) utasításvégrehajtás Újabb ugrásbecslés –Kétszintű cache a lapkán 8 Kbyte + 8 Kbyte L1 256 Kbyte L2 Pentium II − MMX – Kbyte L1 cache − 256, 512 vagy 1024 Kbyte L2 cache támogatás − Javított teljesítmény-kezelés

32 2009Németh Gábor: Számítógép-architektúrák32 PENTIUM - 6 Pentium II XEON –Javított multiprocesszor támogatás –2 Mbyte L2 cache a lapkán Celeron –Olcsóbb, műanyag tokozás –128 Kbyte L2 cache Pentium III –Streaming SIMD kiterjesztés (SSE) –128 bites regiszterek –Lebegőpontos vektor adattípus Pentium III Xeon –Javított cache

33 2009Németh Gábor: Számítógép-architektúrák33 PENTIUM - 7 Pentium 4 (2000) –NetBurst mikroarchitektúra –SSE2 és SSE3 utasításkészlet –Hiper-szál (hyper-threading) támogatás (2004-től) Pentium M (2003) –Az M a hordozható (Mobile) rövidítése –Kis fogyasztású –Vezetéknélküli kapcsolat támogatás

34 2009Németh Gábor: Számítógép-architektúrák34 PENTIUM - 8 Összefoglalás –A processzor volt az IA32 sorozat őse. –A Pentium Pro-val kezdődően minden IA32 processzor (beleértve a Celeront és a Xeon-okat) a P6 processzormagra épült fel. –A Pentium 4 processzor alapja a NetBurst mag. –A Pentium M, Core Solo and Core Duo processzorok a Pentium III processzormag változatai. –Az Intel 2006 közepén vezette be az új, Core 2 (Penryn) microarchitektúrát, a Pentium M processzormag továbbfejlesztett változatát.

35 2009Németh Gábor: Számítógép-architektúrák35 PENTIUM ®

36 2009Németh Gábor: Számítógép-architektúrák36 PENTIUM BTB: ugrási cél puffer (Branch Target Buffer) Trace Cache: a dekóder után elhelyezkedő L1 szintű utasítás gyorsítótár TLB : fordításgyorsító puffer (Translation Lookaside Buffer), ( I- utasítás, D-adat)  op Queues: mikroutasítás várakozási sor AGU: címgeneráló egység (Address Generation Unit) RF: regisztertömb (Register File), –FP-lebegőpontos regisztertömb Rename /Alloc: regiszter átnevező, hozzárendelő

37 2009Németh Gábor: Számítógép-architektúrák37 PENTIUM Fő különbségek a Pentium 4 és más CPU-k között: –Külső adatok mozgatása: 4 művelet egy óraciklus alatt (Quad Data Rate, QDR). –Adatút L2 és L1 D között 256 bit széles. –L1 áthelyezve a lehívó egység elől a dekódoló mögé, nyomkövető puffer (Trace Buffer) néven. –Kapacitása max. 12 K mikroutasítás. –128 belső regiszter, ezek a regiszter átnevezőben találhatók. –Öt párhuzamosan működő végrehajtó egység és két adatmozgató (load/store) egység.

38 2009Németh Gábor: Számítógép-architektúrák38 PENTIUM 4 PIPELINE - 1 Pentium 4 pipeline : –20 fokozatú ( a Prescott változatban 31 fokozat) TC Nxt IP: nyomkövető cache utasítás mutató. A BTB következő végrehajtandó mikroutasítását jelöli ki, 2 fokozatból áll. TC fetch: a TC Nxt IP által kijelölt mikroutasítást hívja le, 2 fokozatból áll. Drive: a végrehajtandó mikroutasítást továbbítja az erőforrás hozzárendelőhöz/regiszter átnevezőhöz. Alloc: ellenőrzi, hogy milyen CPU erőforrások szükségesek a mikroutasításhoz. Rename: a 8 általános célú regisztert nevezi át a 128 belső regiszter valamelyikévé, 2 fokozatból áll.

39 2009Németh Gábor: Számítógép-architektúrák39 PENTIUM 4 PIPELINE - 2 Que: mikroutasítás várakozási sor. A mikroutasítások a típusuk- nak megfelelő várakozási sorba kerülnek, és addig maradnak ott, amíg az ütemezőben egy azonos típusú üres rést találnak. Sch: ütemező, a mikroutasítások végrehajtásának típusonkénti ütemezésére. Eddig a fokozatig a mikroutasítások sorrendben vannak (ahogy a programban találhatók). Az ütemező átrendezi ezeket, a végrehajtó egységek legjobb kihasználása érdekében. Ez a sorrend nélküli végrehajtás. A funkció 3 fokozatból áll. Disp: utasítás irányító, a mikroutasításokat a megfelelő végrehajtó egységhez irányítja, 2 fokozatból áll. RF: a belső regisztertömb olvasása, 2 fokozatból áll. Ex: mikroutasítás végrehajtása. Pentium 4 pipeline (folytatás):

40 2009Németh Gábor: Számítógép-architektúrák40 PENTIUM 4 PIPELINE - 3 Flgs: jelzőbitek beállítása. Br Ck: ugrás vizsgálat. Ellenőrzi, hogy a program által ténylegesen végrehajtandó ugrás azonos-e azzal, amelyet az ugrás becslés eredményezett. Drive: az ugrásvizsgálat eredményét továbbítja az ugrási cél pufferhez. Pentium 4 pipeline (folytatás):

41 2009Németh Gábor: Számítógép-architektúrák41 PENTIUM 4 CACHE ÉS UTASÍTÁSLEHÍVÁS - 1 Utasítás gyorsítótár (Trace Cache) a dekóder után. –Nem gépi utasítást tárol, hanem a dekódolás eredményeként kapott mikroutasításokat. –Mikroutasítás mérete 100 bit, a cache max. 12 K mikroutasítást képes tárolni. –Előny: ciklus esetén a ciklusmag gépi utasításait nem kell iterációnként újra dekódolni. –Saját ugrási cél puffere (BTB) van, 512 bejegyzés tárolására. A puffer a programban azonosított ugró utasítások listáját tartalmazza. A lehívó egység BTB-je (Branch Target Buffer) 4 K méretű.

42 2009Németh Gábor: Számítógép-architektúrák42 PENTIUM 4 CACHE ÉS UTASÍTÁSLEHÍVÁS - 2 Front-end BTB (4 K tétel) Utasítás TLB/Előlehívó Utasítás Dekódoló Trace Cache BTB (512 tétel) Nyomkövető cache (12 K µut.) µutasítás sor Microkód ROM 64 bit 3 mikroutasítás óraciklusonként

43 2009Németh Gábor: Számítógép-architektúrák43 PENTIUM 4 DEKÓDER A Pentium 4 RISC és CISC elvet egyaránt alkalmaz. –Szükség van egy CISC-RISC dekóderre. –Az x86 CISC utasításai az „utasítások”, a RISC utasításai a „mikroutasítások”. –A RISC utasítások modellenként változnak. –A Pentium 4 dekódere óraciklusonként egy utasítást dekódol, ha az nem kíván 4-nél több mikroutasítást. –Ez utóbbi esetben az utasítást a mikroutasítás ROM segítségével dekódolják, a ROM tartalmazza a bonyolult utasítások listáját és dekódolásuk módját.

44 2009Németh Gábor: Számítógép-architektúrák44 PENTIUM 4 HOZZÁRENDELŐ A hozzárendelő (Allocator): –Lefoglalja a 126 újrasorrendező puffer egyikét az aktuális mikroutasítás számára. Ez szükséges a sorrenden kívüli végrehajtás után az eredeti sorrend visszaállításához. –Lefoglalja a 128 elemű regisztertömb egyik regiszterét az eredmény tárolására. –Load/store mikroutasítás esetén lefoglalja a 48 load illetve a 24 store puffer egyikét. –A mikroutasítás típusától függően lefoglal az általános regiszter vagy a memória sorban egy bejegyzést.

45 2009Németh Gábor: Számítógép-architektúrák45 PENTIUM 4 REGISZTER ÁTNEVEZŐ - 1 Az x86 CISC modellben 8 darab 32 bites általános célú regiszter van (EAX, EBX, ECX, EDX, EBP, ESI, EDI, ESP). –Kevés a végrehajtó egységek jó kihasználásához, sokszor kellene várakozni a regiszter-felülírások elkerülése érdekében. –Ezt elkerülendő az átnevező egység megváltoztatja a program által használt regiszter nevét, helyettesíti a 128 belső regiszter egyikével. –Ezután mód van két, ugyanarra a regiszterre hivatkozó utasítás egyidejű végrehajtására. –A Pentium 4-ben 256 belső regiszter található, ezek közül 128-at használnak a fixpontos műveletek, 128-at a lebegőpontos és SSE utasítások.

46 2009Németh Gábor: Számítógép-architektúrák46 PENTIUM 4 REGISZTER ÁTNEVEZŐ - 2


Letölteni ppt "SZÁMÍTÓGÉP-ARCHITEKTÚRÁK – 21 TÖBBMAGOS PROCESSZOROK Németh Gábor és Filp András."

Hasonló előadás


Google Hirdetések