Segmentovanie a stránkovanie v procesoroch Intel Pentium

Podobné dokumenty
Strojový kód, assembler, emulátor počítača

Jednoduchá správa pamäte

Operačný systém Úvodná prednáška

Úroveň strojového kódu procesor Intel Pentium. Adresovanie pamäte

Vnitřní a vnější paměti Část: vnitřní paměti

Užívateľská príručka systému CEHZ. Základné zostavy Farmy podľa druhu činnosti

Vnitřní a vnější paměti Část: vnitřní paměti

Přednáška. Správa paměti II. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Plánovanie procesov a vlákien

Přidělování paměti II Mgr. Josef Horálek

Operační systémy. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit

Adresní mody procesoru

Memory Management vjj 1

Pracovné prostredie MS EXCEL 2003.

Procesor z pohledu programátora

IP Adresa. Marián Opiela 1.E

1. Gigabajty si hneď v prvom kroku premeníme na gigabity a postupne premieňame na bity.

Memory Management vjj 1

P R O L U C. POZNÁMKY individuálnej účtovnej závierky pre rok 2014

Hromadná korešpondencia v programe Word Lektor: Ing. Jaroslav Mišovych

Struktura a architektura počítačů (BI-SAP) 11

Ako započítať daňovú licenciu

TomTom Referenčná príručka

Návrh postupu pre stanovenie počtu odborných zástupcov na prevádzkovanie verejných vodovodov a verejných kanalizácií v správe vodárenských spoločnosti

Vývoj cien energií vo vybraných krajinách V4

Program "Inventúra program.xlsm"

Operační systémy. Přednáška 8: Správa paměti II

2. PRIDANIE ZÁVEREČNEJ PRÁCE DO EVIDENCIE ZÁVEREČNÝCH PRÁC (EZP) A OZNAČENIE PRÁCE AKO FINÁLNEJ.

5.3.3 Vyhlásenie na zdanenie príjmov zo závislej činnosti

Elektronické odosielanie výplatných pások

Návod na používanie Centrálnej úradnej elektronickej tabule (CUET)

Osoba podľa 8 zákona finančné limity, pravidlá a postupy platné od

Čo ak program potrebuje pamäť, ktorej veľkosť závisí od konkrétneho vstupu?

Používateľská príručka pre autorov

Vážení používatelia programu WISP.

Návod na udelenie oprávnenia na prístup a disponovanie s elektronickou schránkou a jeho zneplatnenie

Elektronická značka je k dispozícii na stránke etax v záložke Úvod, položka menu Správa Certifikátov.

D.Viewer2 Používateľská príručka

Paměťový podsystém počítače

Modul PROLUC Podvojné účtovníctvo

Import Excel Univerzál

Postup pri aktivácii elektronickej schránky na doručovanie pre právnické osoby, ktoré nie sú zapísané do obchodného registra

Kontrola väzieb výkazu Súvaha a Výkaz ziskov a strát Príručka používateľa

Postup registrácie certifikátov do Windows

Úvod. Instrukce musí obsahovat: typ operace adresu operandu (operandů) typ operandů modifikátory adresy modifikátory operace POT POT

Textový editor WORD. Práca s obrázkami a automatickými tvarmi vo Worde

DÁTOVÉ PRVKY NA POPIS ČÍSELNÍKA

Strojový kód k d a asembler procesoru MIPS SPIM. MIPS - prostředí NMS NMS. 32 ks 32bitových registrů ( adresa registru = 5 bitů).

s.r.o. HelpLine:

Školská sieť EDU. Rozdelenie škôl. Obsah: Deleba škôl podľa času zaradenia do projektu: Delba škôl podľa rýchlosti pripojenia:

Spracovanie informácií

Metody připojování periferií BI-MPP Přednáška 2

Referenčná ponuka na prístup ku káblovodom a infraštruktúre. Príloha 7 Poplatky a ceny

Funkcia - priradenie (predpis), ktoré každému prvku z množiny D priraďuje práve jeden prvok množiny H.

ZÁKON zo 4. decembra 2003

Základy algoritmizácie a programovania

Príloha číslo 1 k Metodickému usmerneniu vo veci dohôd o prácach vykonávaných mimo pracovného pomeru zo dňa :

PODMIENKY POUŽITIA ZOZNAMU PLATOBNÝCH OPERÁCIÍ

REŽIM PRENESENIA DAŇOVEJ POVINNOSTI

Dodanie tovaru a reťazové obchody Miesto dodania tovaru - 13/1

Bezdrôtová sieť s názvom EDU po novom

Postup pri deaktivácii elektronickej schránky na doručovanie pre fyzické osoby

Štruktúra údajov pre kontajner XML údajov 1. Dátové prvky pre kontajner XML údajov

8. Relácia usporiadania

NEVLASTNÁ VODIVOSŤ POLOVODIČOVÉHO MATERIÁLU TYPU P

Používateľská príručka pre autorov Prihlásenie

M R2454 SK

Total Commander. Základné nastavenia

Technická univerzita v Košiciach

2. Čo a ako sa prenesie pri opakovanom prechode do nového roka? Po zopakovaní prechodu sa v novom roku v evidencii účtovných dokladov aktualizujú inte

OPAKOVANIE ZÁKLADNÉ POJMY Z INFORMATIKY

Finančné riaditeľstvo Slovenskej republiky. Informácia k výpočtu preddavkov na daň z príjmov fyzických osôb

Informácia k odoslaniu Hlásenia DEV-MES(NBS)1-12 cez informačný systém Štatistický zberový portál

Užívateľská príručka k funkcii Zastavenie a pretočenie obrazu

SKLADOVÁ INVENTÚRA 1 VYTVORENIE INVENTÚRY. 1.1 Nastavenie skladovej inventúry

Príručka Mobility Tool + pre príjemcov grantu

Návod na aplikáciu Mobile Pay pre Orange

KEO - Register obyvateľov Prevod údajov

Návod na vkladanie záverečných prác do AIS

Uvoľnené úlohy v medzinárodných testovaniach a ich využitie vo vyučovaní

7.CVIČENIE. Základy HTML

Základné dosky. Na nej sú priamo alebo nepriamo umiestnené všetky komponenty počítača.

Multihosting Užívateľská príručka

Množiny, relácie, zobrazenia

STRUČNÝ NÁVOD NA OBSLUHU DATALOGERA KIMO KT110 / 150

Všeobecne záväzné nariadenie obce Lozorno č. 3/2012. ktorým sa určujú a menia názvy ulíc a iných verejných priestranstiev na území obce Lozorno

Externé zariadenia Používateľská príručka

UŽÍVATEĽSKÁ PRÍRUČKA. TCP Optimizátor

GIS aplikácie Príručka pre užívateľa

PODPROGRAMY. Vyčlenenie podprogramu a jeho pomenovanie robíme v deklarácii programu a aktiváciu vykonáme volaním podprogramu.

DOBROPISY. Dobropisy je potrebné rozlišovať podľa základného rozlíšenia: 1. dodavateľské 2. odberateľské

Finančné riaditeľstvo Slovenskej republiky. Informácia k výpočtu preddavkov na daň z príjmov fyzických osôb

Virtuálna Registračná Pokladnica. Modul OPD pre ios

EDA Klient (príjem výsledkov z oddelení klinickej biochémie a mikrobiológie prostredníctvom internetu)

Užívateľská príručka. Vytvorte 1 medzi stránkami v niekoľkých jednoduchých krokoch

Odpočet daňovej straty po Ing. Mgr. Martin Tužinský, PhD.

ŽIADOSŤ. o registráciu autoškoly. Meno Priezvisko Titul pred menom DIČ. Kraj. Číslo. Meno Priezvisko Titul pred menom Titul za menom Typ štatutára

Multiplexor a demultiplexor

MANUÁL K TVORBE CVIČENÍ NA ÚLOHY S POROZUMENÍM

Všeobecne záväzné nariadenie Mesta Trenčianske Teplice č. x/2016 o používaní pyrotechnických výrobkov na území mesta Trenčianske Teplice

Transkript:

Segmentovanie a stránkovanie v procesoroch Intel Pentium Adresovanie v reálnom režime Adresovanie v 32-bitovom chránenom režime segmentovanie stránkovanie Adresovanie v 64-bitovom chránenom režime Autor: Peter Tomcsányi Niektoré práva vyhradené v zmysle licencie Creative Commons http://creativecommons.org/licenses/by-nc-sa/3.0/ Použité obrázky z učebnice: Andrew. S. Tanenbaum, Structured Computer Organization http://www.cs.vu.nl/~ast/books/

Adresovanie v reálnom režime Procesor 8086 mal 20 bitovú adresu ale len 16-bitové registre. Riešením tohoto rozporu bolo zavedenie pojmu segment aj bez zavedenia virtuálnej pamäte Segment je časť pamäte maximálnej veľkosti 64KB (teda v rámci segmentu môžeme adresovať 16-bitovou adresou). Program vždy pracuje len s niekoľkými segmentami a ich počiatočné adresy má uložené v štyroch špeciálnych segmentových registroch, ktorých význam je takýto: CS (code segment) - inštrukčný segment DS (Data segment) - dátový segment SS (Stack segment) - zásobníkový segment ES (Extra segment) - voľný segmentový register pre prístup k dátam v ďalšom segmente. Aby mohli byť aj segmentové registre len 16-bitové, dovolíme segmentom začínať len na adresách deliteľných 16, teda adresy začiatkov segmentov končia vždy 4 nulami a tie si nemusíme pamätať v segmentových registroch. Používa sa dvojrozmerné adresovanie segment:offset (teda adresa segmentu a adresa v rámci segmentu).

Adresovanie v reálnom režime (2) IP ukazuje na nasledujúcu inštrukciu. Fyzická adresa sa vypočíta ako CS:IP teda ako 16*CS+IP= 40230+103A=4126A IP: 103A MOV AX,[06C2] Pri adresovaní dát sa implicitne použije register DS. Teda táto inštrukcia prenesie do AX dva bajty z adresy 636C0+06C2=63D82 SS: ES: DS: CS: 92AB 72F3 636C 4023 MOV AX,ES:[06C2] Segmentový register môžeme určiť aj explicitne. Táto inštrukcia prenesie do AX dva bajty z adresy 72F30+06C2=735F2 JMP 5023:1756 JMP 23FA Blízky skok obsahuje len offset Ďaleký skok obsahuje adresy. Pri takomto skoku sa segment aj offset adresy. zmení len IP, CS ostane bez Pri takomto skoku sa zmení zmeny. Teda skáče v rámci IP aj CS. Skáče do iného segmentu segmentu Zásobník Extra dáta Dáta Inštrukcie Inštrukcie FFFFF 92AB0 72F30 636C0 50230 4126A 40230 0

Adresovanie v chránenom režime Chránený režim podporuje virtuálnu pamäť Podporuje segmentovanie a stránkovanie zároveň Stránkovanie sa dá vypnúť, segmentovanie ale nie Pri segmentovaní sa používajú rovnaké segmentové registre ako v reálnom režime Segmentový register už neobsahuje fyzickú adresu začiatku segmentu, ale je to selektor, ktorý určuje index (poradové číslo) segmentu vo virtuálnom adresnom priestore procesu, fyzická adresa sa musí nájsť v tabuľke Pribudli dva segmentové registre FS a GS (od procesora 386) Offset (adresa v rámci segmentu) je 32-bitový

Segmentovanie v chránenom režime Logická (virtuálna) dvojrozmerná adresa Requested Privilege Level - požadovaná úroveň oprávnenia 16-bitový selektor 32-bitový offset Index TI RPL OFFSET 15 3 2 1 0 31 0 GDTR LDTR Dva špeciálne registre obsahujú adresy začiatku GDT resp. LDT. LDTR sa musí vždy nastaviť na LDT práve bežiaceho procesu Index určuje položku v tabuľke LDT Local Descriptor Table. Lokálna tabuľka popisovačov segmentov. Každý proces má svoju LDT. Má až 2 13 =8192 prvkov TI vyberá do ktorej tabuľky je Index - 1 je LDT, 0 je GDT GDT Global Descriptor Table. Globálna tabuľka popisovačov segmentov. Spoločná pre všetky procesy. Má až 2 13 =8192 prvkov + Jednorozmerná 32-bitová Lineárna adresa Súčtom bázy segmentu z Index-tého riadku tabuľky GDT alebo LDT (podľa TI) a offsetu vznikne 32-bitová lineárna adresa. Ak je vypnuté stránkovanie, tak je to fyzická adresa, inak sa ešte ďalej prepočítava stránkovaním. Jeden riadok tabuľky má 64 bitov a obsahuje mimo iných informácií aj začiatok (bázu) a veľkosť (limit) segmentu. Detaily sú na ďalšej strane.

Popisovač segmentu Jeden riadok segmentovej tabuľky LDT resp. GDT Base (32 bitov) je počiatočná adresa segmentu v pamäti - je Prístupové práva - detaily na ďalšej strane Limit (20 bitov) Určuje veľkosť segmentu. Ak je bit G=0, tak je limit v bajtoch (0-1MB), ak je G=1, tak je limit v 4KB stránkach (0-4GB). Segment teda môže mať až 4GB, ale nemôže mať úplne ľubovoľnú veľkosť

Prístupové práva bajt určujúci typ segmentu a pôsob prístupu Extend Down - 0 je pre bežný dátový segment, 1 je pre segment zásobníka (ten zaberá adresy nad hodnotou Limit a nižšie adresy sú nepoužité) Dátový segment: obsahuje dáta alebo zásobník Present - či je v pamäti alebo na disku P DPL 1 0 EDW A Descriptor Privilege Level - úroveň oprávnenia popisovača Writable - ak je 1 tak sa smie zapisovať, ak je 0, tak sa smie len čítať Accessed - procesor ho nastaví na 1 keď použije tento popisovač pri adresovaní. Je to implementácia bitu R z teórie Inštrukčný segment: obsahuje program P DPL 1 1 C R A Conforming Readable - ak je 1 tak sa smie čítať, ak je 0, tak sa smie len vykonať Systémový segment: obsahuje systémové informácie ako napr. GDT a LDT alebo je to brána P DPL 0 TYP TYP má 4 bity, rozlišuje 16 typov systémových segmentov

Urýchľovanie výpočtu adresy pri segmentovaní Tabuľky GDT a LDT sú v pamäti, teda pre prepočet každej adresy treba jeden prístup do pamäti navyše. Pri adresovaní je selektorom takmer vždy obsah niektorého zo segmentových registrov (výnimkou sú ďaleký JMP a CALL). Ak pri každej zmene obsahu segmentového registra prenesie procesor informáciu z príslušného riadku tabuľky do programátorovi neprístupnej časti segmentového registra, tak pri použití registra v adresovaní už netreba pristupovať do pamäti. Dôsledky: Do segmentového registra nemožno uložiť ľubovoľnú hodnotu (v reálnom režime to bolo možné) Aby bolo možné zobraziť NIL (adresu "nikam"), je povolené do segmentového registra uložiť nulu (označuje NIL), chyba vznikne až pri pokuse použiť nulový segmentový register v adresovaní. Teda 0-tý prvok segmentovej tabuľky LDT sa nepoužíva.

segmentovanie Stránkovanie 32-bitová lineárna adresa Číslo stránky (20 bitov, 10+10) Offset (12-bitov) Nižších 10 bitov indexuje do Vyšších 10 bitov indexuje stránkovej tabuľky, ktorá sa do stránkového adresára našla v stránkovom adresári Stránková tabuľka Stránkový adresár 32-bitová fyzická adresa 20-bitové číslo rámca 12-bitový offset CR3 Register CR3 obsahuje adresu rámca, v ktorom je stránkový adresár Položka stránkového adresára obsahuje číslo rámca, v ktorom je stránková tabuľka pre daný interval stránok Stránková tabuľka Položka stránkovej tabuľky obsahuje číslo rámca, v ktorom je daná stránka Zložením čísla rámca nájdeného v stránkovej tabuľke a offsetu z pôvodnej adresy vznikne 32-bitová adresa do fyzickej pamäte

Položka stránkového adresára a stránkovej tabuľky Adresa rámca v položke stránkového adresára ukazuje na rámec so stránkovou tabuľkou, adresa rámca v položke stránkovej tabuľky ukazuje na rámec, kde sa nachádza daná stránka Adresa rámca (20 bitov) Dirty - procesor nastaví na 1 keď sa do stránky zapíše. Je to implementácia bitu M z teórie 3 voľné bity Accessed - procesor ho nastaví na 1 keď použije táto položka pri výpočte adresy. Je to implementácia bitu R z teórie Page Cache Disable - ak je 1 tak sa pre prístup do tejto stránky nepoužíva cache 3 voľné bity môže použiť operačný systém na uloženie ľubovoľnej informácie P P 0 0 D A C W U W P D T Present - či je stránka v pamäti alebo na disku Writable - ak je 1 tak sa smie zapisovať, ak je 0, tak sa smie len čítať User Accessible - ak je 1 tak túto stránku môže používať aj proces s najnižšou úrovňou oprávnenia (bežnú užívateľský proces), ak je 0 tak do nej majú prístup len systémové procesy Page Write Trough - ak je 1 tak sa pri zápise do tejto stránke vždy zapíše do cache aj do pamäti

Chránený režim v 64-bitových procesoroch Intel Segmentovanie je v podstate vypnuté, je k dispozícii len lineárny virtuálny adresný priestor. Súčasné procesory používajú len najviac 48 bitov virtuálnej adresy, (teda virtuálny adresný priestor má najviac 256 terabajtov) a 52 bitov fyzickej adresy (4 petabajty). Má niekoľko režimov stránkovania 32-bitové: 32-bitová virtuálna adresa so 4KB stránkami (32-bitová fyzická adresa) alebo so 4MB stránkami (40-bitová fyzická adresa, 1 terabajt) PAE (Physical address extension): 32 bitová virtuálna adresa, 52- bitová fyzická adresa, stránky 4KB a 3 úrovne tabuliek (2,9 a 9 bitov) alebo stránky 2MB a dve úrovne tabuliek (2 a 9 bitov). IA-32e: 48-bitová virtuálna adresa, 52-bitová fyzická adresa, stránky 4KB (4 úrovne tabuliek po 9 bitov), 2MB (3 úrovne tabuliek) alebo 1GB (2 úrovne tabuliek). Detaily a obrázky nájdete napríklad tu: https://www.cs.rutgers.edu/~pxk/416/notes/10-paging.html