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

32 bites Intel mikroprocesszorok

Hasonló előadás


Az előadások a következő témára: "32 bites Intel mikroprocesszorok"— Előadás másolata:

1 32 bites Intel mikroprocesszorok

2 Üzemmódok védett üzemmód valós üzemmód virtuális 8086-os üzemmód
alap működési mód valós üzemmód 8086-os programozási környezetet biztosít, néhány kiegészítéssel virtuális 8086-os üzemmód védett, multitasking környezetben biztosít valós módra írt programok futtatásához szimulált környezetet rendszerfelügyeleti üzemmód

3 Feladatok hardver támogatás biztosítása memória kezelés
szoftver modulok védelme multitasking megszakítás és kivételkezelés multiprocesszoros rendszer cache kezelés hard erőforrások és tápegység kezelés debug hatékonyság követés

4 Regiszterek

5 Regiszterkészlet programozható regiszter
a szegmensregiszterek kivételével 32 bites regiszterek

6 Felhasználói regiszterek
8 általános regiszter: utasítás mutató: EIP 6 szegmensregiszter: CS, SS, DS, ES, FS, GS állapotregiszter: EFLAGS

7 EFLAGS regiszter

8 Regiszterek és adatszerkezetek

9 Rendszerregiszterek

10 Vezérlőregiszterek

11 CR0 (1) PE – Protect Enable – PE=1 védett üzemmód
MP – Monitor coProcessor EM – Emulate Math coprocessor TS – Task Switched – taskváltásnál TS=1 – a kopr. meghívásakor kiváltja a kopr. állapotának kimentését ET – Extension Type – 1 NE – Numeric Exception NE = 1 – lebegőpontos kivételkor INT 16h NE = 0 – DOS kompatibilis üzemmód WP – Write Protect – írásvédett lapra történő írás engedélyezése a rendszer számára

12 CR0 (2) AM – Alignment Mask – engedélyezi az automatikus illeszkedésellenőrzést, ha az EFLAGS AC bitje kéri NW – No Write-through – cache használat engedélyezése (Pentium 4-től nem használt) CD – Cache Disable – a cache töltése nem engedélyezett (olvasásnál ha nincs cache találat nem frissíti a cache-t) – cache üzemszerű működése: CD=0 és NW=0 PG – Paging Enable – lapozás engedélyezése (csak védett üzemmódban)

13 CR1-3 CR1 – fenntartott CR2 – a legutóbbi virtuális cím (lineáris cím), amely laphibát okozott CR3 – lapcímtár címe (20 bit) PWD – Page-level Writes Transparent – cache írásmód használata lapozásnál WME – Virtual-8086 Mode Extensions – engedélyezi a virtuális mód kiterjesztések használatát (pl. VIF)

14 CR4 különböző architekturális kiterjesztések engedélyezése
PVI – Protected-Mode Virtual Interrupts TSD –Time Stamp Disable DE – Debugging Extensions PSE – Page Size Extensions PAE – Physical Address Extension – 36 bites memória címzés engedélyezése lapozásnál MCE – Machine-Check Enable PGE – Page Global Enable PCE – Performance-Monitoring Counter Enable OSFXSR – Operating System Support for FXSAVE and FXRSTOR instructions OSXMMEXCPT – Operating System Support for Unmasked SIMD Floating-Point Exceptions

15 Nyomkövető regiszterek
DR0–DR3 – négy független hardware töréspontot (breakpoint) definiál – lineáris cím DR4, DR5 – fenntartott DR6 – Debug Status Register – az utolsó debug kivétel felléptekor teljesült feltételek DR7 – Debug Control Register

16 Lebegőpontos regiszterek

17 FPU - állapotregiszter

18 FPU – vezérlőregiszter (Control Word)

19 FPU – toldalékszó regiszter (Tag Word)
minden általános regiszter tartalmát két bit jellemzi

20 Mutató regiszterek az utolsó végrehajtott nem vezérlő utasításra mutatnak (lehetővé teszik a hibát generáló utasítás lokalizálását) utasítás pointer regiszter operandus pointer regiszter 48 bites regiszterek (offset 0-31, szegmens 32-47) utasítás kód – Floating Point Opcode – 10 bit

21 Mentés lebegőpontos regiszterek mentése memóriába

22 Memóriaszervezés

23 Virtuális memória kezelés

24 Címterület az a címterület, amit a processzor címezni képes
4 Gbyte – 232 kiterjeszthető 64 Gbyte-ra – 236

25 Logikai és lineáris címek

26 Szegmens szelektor Index – a deszkriptortáblához
a szegmensregiszterek tartalmazzák

27 Szegmensregiszterek

28 Szegmens deszkriptor

29 Kód és adatszegmens típusok

30 Deszkriptortáblák

31 Lapozás lineáris címet fordít fizikai címre
fix méretű fizikai blokkok, nincs felaprózódás cím – lapkeret név + offset a lapozást a CR0 regiszter PG bitje engedélyezi lapok mérete 4 KB, ha a PDE-ben PS=0 4 MB, ha a PDE-ben PS=1 4 KB-os lapok esetén két szintes táblázatok lapcímtár – laptáblázat címe laptáblázat – 1024 bemenet, mindegyik egy fizikai lap címe lapcímtár címe – CR3 regiszter

32 Lapozás

33 Lapcímtár bemenet (PDE)

34 Laptáblázat bemenet(PTE)

35 TLB – Translation Lookaside Buffer
a lapozó egység belső cache memóriája (tartalommal címezhető) Leggyakrabban használt PTE és PDT-k CR3 betöltésekor, illetve lapcímtár vagy laptáblázat módosításakor ki kell üríteni. lineáris cím fordításakor először itt keresi az információt a címek kb. 98%-ában találat

36 Védelem

37 Védelmi rendszer szegmens és lapszintű védelmet is biztosít
minden memória hivatkozásnál ellenőrzi, hogy a védelmi feltételek teljesülnek-e az ellenőrzéseket a címek fordításával egyidőben végzi, így nincs hatásfok veszteség kivétel lép fel, ha nem teljesülnek a feltételek védelmi rendszer ellenőrzései: határellenőrzés típusellenőrzés privilégiumszint ellenőrzés címezhető tartomány korlátozása eljárás belépési pontok korlátozása utasítások használatának korlátozása

38 Védelmi szintek

39 Védelmi szintek (2) CPL – Current Privilege Level – a végrehajtott task privilégiumszintje, a CS és SS regiszterek 0 és 1-es bitje DPL – Descriptor Privilege Level – egy szegmens vagy kapu privilégiumszintje – a szegmens deszkriptorban RPL – Requested Privilege Level – megkívánt privilégiumszint – szelektorban

40 Ellenőrzés adatszegmensek esetén

41 Példa

42 Közvetlen CALL és JMP szegmensen belül mindig megengedett
azonos privilégiumszinten levő szegmensek között megengedett magasabb privilégiumszinten levő „conforming” kódszegmensre megengedett – magmarad a hívó kódot tartalmazó szegmens privilégiumszintje, nem történik veremváltás

43 Közvetlen CALL és JMP

44 Példa

45 Kapuk Ellenőrzött hozzáférést biztosítanak különböző privilégiumszinten levő kódszegmensekhez lehetnek Call kapuk Trap kapuk Interrupt kapuk Task kapuk

46 Call kapuk lehetővé teszik a különböző privilégiumszinten levő szegmensek közti vezérlésátadást lehetővé teszik a 16 és 32 bites szegmensek közti kommunikációt

47 Call kapuk a kapu meghatározza az eljárás belépési pontját, a CALL utasításban levő offset nem számít amikor call kapun keresztül egy magasabb privilégiumszintű eljárást hívunk meg a CPL a meghívott szegmens privilégiumszintje lesz magasabb privilégiumszintre történő váltáskor a magasabb szintű verembe kerül: SS, ESP, (Param. Count duplaszó), CS, EIP

48 Call kapuk használata

49 Call kapuk – példa

50 Megszakításkezelés a megszakításvektor az Interrupt Descriptor Table (IDT) tartalmazhat: task-kapu deszkriptorokat, megszakítás-kapu deszkriptorokat, trap-kapu deszkriptorokat kezdőcíme az IDTR regiszterben

51 IDT

52 Megszakítás-kapu törli az EFLAGS regiszter IF bitjét (letiltja az újabb megszakításokat)

53 Trap-kapu nem törli az EFLAGS regiszter IF bitjét (nem tiltja le az újabb megszakításokat)

54 Task kezelés task váltáskor az aktuális task állapotát le kell menteni
minden taskhoz tartozik egy task állapot szegmens – TSS (Task State Segment), ahova a szükséges információkat lementi a rendszer az aktuális TSS-re a TR (Task Register) mutat

55 Task kezelés

56 Task állapot szegmens – TSS

57 TSS deszkriptor

58 Task kapu

59 Forrás IA-32 Intel® Architecture Software Developer's Manual,
Volume 3: System Programming Guide ftp://download.intel.com/design/Pentium4/manuals/ pdf Volume 1: Basic Architecture ftp://download.intel.com/design/Pentium4/manuals/ pdf


Letölteni ppt "32 bites Intel mikroprocesszorok"

Hasonló előadás


Google Hirdetések