32 bites Intel mikroprocesszorok

Slides:



Advertisements
Hasonló előadás
Alaplap.
Advertisements

64 bites architektúra, csapdák és átjárók Tóth Sándor Terméktámogatási tanácsadó.
A számítógép műszaki, fizikai része
1 Számítógépek felépítése 9. előadás I/O rendszerek.
A számítógép felépítése
Memória.
ARM tanfolyam 1. előadás.
A mikroprocesszor 1. rész.
Jogában áll belépni?! Détári Gábor, rendszermérnök.
Számítógépek felépítése sínrendszer, megszakítás
Számítógépek felépítése 3. előadás CPU, utasítás ciklus, címzés
Számítógép architektúra
Az LCD kijelző programozása
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Micskei Zoltán Előadások:
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék dr. Micskei Zoltán Operációs.
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék CPU virtualizációs technológiák Micskei Zoltán, Tóth Dániel.
SZÁMÍTÓGÉP-ARCHITEKTÚRÁK – 21 TÖBBMAGOS PROCESSZOROK
Csala Péter – Sonkoly Ferenc
A hardver és a személyi számítógép konfigurációja
11. előadás (2005. május 10.) A make segédprogram Alacsony szintű műveletek és bitmezők Fájl, katalógus rendszer hívások 1.
Operációs rendszer szintje Operating System Machine (OSM)
A számítógéprendszer.
A memória.
Mikroszámítógépek I 8085 processzor.
Mikroszámítógépek I 8085 processzor.
Utasítás végrehajtás lépései
PIC processzor és környezete
Memória hierarchia Tárolókezelő egység
Egy harmadik generációs gép (az IBM 360) felépítése
Ők kerestek meg minket Tentálen – Könyvelő iroda, 15 felhasználó SBS 2003, Outlook levelezés Nincs saját fix ip cím, exchange POP3-al töltötte le a leveleket,
Programrendszer 2. Erőforrás – erőforrás elosztás 3. Indítja és ütemezi a programokat 4. kommunikáció 2 Takács Béla.
A számítógép felépítése (funkcionális)
Máté: Architektúrák12. előadás1 Operációs rendszer szintje Operating System Machine (OSM) Ezen a szinten programozóknak rendelkezésre állnak a felhasználói.
Számítógépes üzemmódok
Számítógép architektúra Címzésmódok. 2007Címzésmódok2-21 Operandusok egy operandus hossza lehet: –1 byte –2 byte (szó) –4 byte egy operandus lehet: –az.
Számítógép architektúra
x86-os védett üzemmód Windows alatt
Az operációs rendszereK
modul Szövegfeldolgozás Speciális informatikai feladatok.
A Mikroprocesszor Második rész.
Operációs rendszer.
SZÁMÍTÓGÉP ARCHITEKTÚRÁK - 4
Számítógép architektúrák
Mikrokontroller (MCU, mikroC)
1.4. Fordítás, szerkesztés, az objektumkönyvtár használata.
Bemutatkozás Név: Vespi Gábor Kelt: december 27.
PIO és DMA Zeke Éva Anita Készült a Számítógép rendszerek és perifériák tantárgyhoz.
Processzorok.
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék CPU virtualizáció Micskei Zoltán, Tóth Dániel Virtualizációs.
Egy második generációs gép (az IBM 7094) felépítése
Egy első generációs gép (az IAS) felépítése
A Mikroprocesszor Harmadik rész.
Óravázlat Készítette: Kucsera Mihály 2011.
Mikroprocesszor.
Készítette: Pandur Dániel
Készítették: Turai Krisztina és Csaja Eszter Natália 9.a
Írja fel a tizes számrendszerbeli
Bevezetés az informatikába 5. előadás
ifin811/ea1 C Programozás: Hardver alapok áttekintése
Memóriakezelés feladatok Feladat: 12 bites címtartomány. 0 ~ 2047 legyen mindig.
Számítógépek felépítése 4. előadás ALU megvalósítása, vezérlő egység
PIC mikrokontroller.
A ROM ÉS A BIOS. K ÉSZÍTETTE R ELL P ATRIK A ROM A ROM egy olyan elektrotechnikai eszköz, amely csak olvasható adatok tárolására alkalmas memória. Tartalma.
1 A számítógépek tárolói. 2 Memória Memóriaszó  A tárak olyan egységei, melyek egyetlen művelettel kezelhetők.  A legrövidebb memóriaszó a byte (bájt)
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
Számítógép architektúrák
Pipeline példák (IMSC, 2019).
Cache példák 2019 (IMSC).
Számítógépek felépítése 9. előadás I/O rendszerek
Előadás másolata:

32 bites Intel mikroprocesszorok

Ü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

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

Regiszterek

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

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

EFLAGS regiszter

Regiszterek és adatszerkezetek

Rendszerregiszterek

Vezérlőregiszterek

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

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)

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)

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

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

Lebegőpontos regiszterek

FPU - állapotregiszter

FPU – vezérlőregiszter (Control Word)

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

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

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

Memóriaszervezés

Virtuális memória kezelés

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

Logikai és lineáris címek

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

Szegmensregiszterek

Szegmens deszkriptor

Kód és adatszegmens típusok

Deszkriptortáblák

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

Lapozás

Lapcímtár bemenet (PDE)

Laptáblázat bemenet(PTE)

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

Védelem

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

Védelmi szintek

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

Ellenőrzés adatszegmensek esetén

Példa

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

Közvetlen CALL és JMP

Példa

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

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

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

Call kapuk használata

Call kapuk – példa

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

IDT

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

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

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

Task kezelés

Task állapot szegmens – TSS

TSS deszkriptor

Task kapu

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