Che materia stai cercando?

Anteprima

ESTRATTO DOCUMENTO

16

%

Indirizzo virtuale

Selettore di offset

segmento Indirizzo fisico

+

Descrittore di segmento ! "# $ #

# 17

# ,('

Spazio virtuale 1 Gbyte, spazio reale 16 Mbyte

Il registro di segmento non è più la base, ma un

selettore di segmento (SeS)

..che punta ad una tabella di descrittori di

segmento (DeS) ! "# $ #

# 18

% ,('

offset

Selettore di

segmento

Indirizzo virtuale

Selettore di offset

segmento Indirizzo fisico

+

Descrittore di segmento ! "# $ #

# 19

#

63 47 39 15 0

BASE

ARB LIMITE

BASE: Indirizzo-base del segmento (24 bit, 16M)

LIMITE: estensione del segmento (16 bit, 64k)

ARB: (Access Right Byte): natura del descrittore e diritti di

accesso

Bit P (presente), A (Avvenuto riferimento. etc….)

! "# $ #

# 20

! .

15 0 31 0 19 0

BASE LIMITE

Access

BASE: 32 bit , LIMITE: 20 bit

BASE e LIMITE spezzati e sparsi per compatibilità

DPL: Livello di privilegio

S: segmento di sistema (0) o di applicazione

G: Granularità (limite espresso in byte (0) o in 4k

D: segmento a 16 bit (0) o 32 bit

P: segmento presente in memoria (1) o no

TYPE e PROTEZIONI: tipo e protezioni del segmento

! "# $ #

# 21

/

Ogni processo è suddiviso in segmenti di codice,

dati e stack, i cui descrittori sono elencati in una

Local Description Table, propria del

LDT

processi

Esiste anche una tabella che contiene i

descrittori dei segmenti globali

Description Table, unica

GDT:,Global

Le tabelle dei descrittori (locali o globale) sono al

max di 8k descrittori

Le LDT e la GDT sono trattate come segmenti

! "# $ #

# 22

15 3 2 1 0

TI

INDICE RPL

TI. Indica se il descrittore è in GDT (0) oppure in LDT (!)

INDICE: : punta al descrittore in GDT o in LDT

RPL: livello di priorità ! "# $ #

# 23

" 0!/"1

2//"1

#

!/"

In esecuzione, vi è una GDT ed una LDT attive,

memorizzate in 2 registri speciali di CPU:

ove vi è il suo descrittore

GDTR, ove vi è il selettore della LDT attiva

LDTR,

Inoltre, in esecuzione vi è un Task (Processo)

attivo, che è identificato da una sua “tabelle di

stato, trattata ancora come un segmento (TSS)

! "# $ #

# 24

" /"1 "34 ")

Ogni processo (task) è identificato da un proprio

“vettore di stato” memorizzato in una tabella

(TSS, trattata ancora

Task State Segment)

come un segmento

è un registro analogo a LDTR, che

TR

riproduce il selettore di TSS del task in

esecuzione sono registri di sistema per il

CR4,…CR0

controllo di cache, memoria virtuale e paging

! "# $ #

# 25

#

Un processo è identificato da

vettore di stato (TSS)

insieme dei segmenti privati, listati nella sua LDT

Attivazione di un processo:

Caricare registri con immagini in TSS

Caricare in TR il selettore del TSS

Caricare in LDTR il selettore di LDT del processo

Disattivazione di un processo:

Copiare in TSS i registri di cui sopra

! "# $ #

# 26

.

Per l’esecuzione di un processo, SO carica SeS in uno dei

registri di segmento (a seconda del tipo); durante l'

esecuzione

CS contiene SeS del codice

DS contiene SeS dati

….

parallelamente, il descrittore corrispondente viene copiato

dalla LDT o GDT in una cache dei segmenti, in modo da

potervi accedere velocemente in seguito

! "# $ #

# 27

15 0 63 0

selettore BASE

accesso LIMITE

CS

DS selettore BASE

accesso LIMITE

SS selettore BASE LIMITE

accesso

selettore

ES BASE LIMITE

accesso NASCOSTI

ACCESSIBILI (non accessibili

)

DA SW

+ GS, FS in Pentuum ! "# $ #

# 28

! + -

formato del selettore scelto per facilitare

l'

individuazione del descrittore

prima si seleziona o la LDT o la GDT, sulla base del

bit 2 del selettore

il selettore viene poi copiato in un registro interno di

lavoro, e i 3 bit di ordine inferiore vengono posti a 0.

infine, l'

indirizzo della LDT o della GDT viene

aggiunto al valore nel registro per ottenere un

puntatore diretto al descrittore ! "# $ #

# 29

"

Table 1: System registers in the Intel architecture

Register Description

EFLAGS Miscellaneous flags, mostly controlling the state of the current task

CR0 Flags controlling operating mode and states of the processor

CR2 Contains the most recent page fault linear address

CR3 Contains the physical address of the level 1 page table, and some flags

CR4 Flags controlling architectural extensions

DB0-7 Registers controlling debugging

GDTR Global Descriptor Table base and limit register

LDTR Local Descriptor Table base and limit register

IDTR Interrupt Descriptor Table base and limit register

TR Task State Segment selector ! "# $ #

# 30

"

Table 2: User registers in the Intel architecture

Register Description

EFLAGS Results of the last instruction

EAX, EBX, ECX, EDX General purpose registers

ESI, EDI, EBP General purpose registers

ESP Stack pointer

EIP Instruction pointer

CS Code segment selector

DS Data segment selector

ES, FS, GS Alternative data segment selectors

SS Stack segment selector

! "# $ #

# 31

" .

TR base

Selettore TSS Access Limit Base

LDTR base

Selettore Access Limit Base

GDTR base

Access Limit Base

IDTR base

Access Limit Base

! "# $ #

# 32

5 ! "# $ #

#

Protezione in Intel

Prof. B.Fadini (fadini@unina.it)

a.a. 2006/2007 34

. % 6

Protezione = attivazione MV.

In CR0 (al boot PE=PG=0):

PE=1 abilita rotezione (modo protetto vs. reale)

PG=1 abilita inoltre la paginazione

! "# $ #

# 35

!

Si ricorda in DESCRIZIONNE….

BASE: 32 bit , LIMITE: 20 bit

DPL: Livello di privilegio

S: segmento di sistema (0) o di applicazione

G: Granularità (limite espresso in byte (0) o in 4k

D: segmento a 16 bit (0) o 32 bit

P: segmento presente in memoria (1) o no

TYPE e PROTEZIONI: tipo e protezioni del segmento

! "# $ #

#


PAGINE

46

PESO

1.54 MB

AUTORE

Sara F

PUBBLICATO

+1 anno fa


DESCRIZIONE DISPENSA

Dispensa di Architetture Sistemi ElaborazioneIntel. Nello specifico gli argomenti trattati sono i seguenti: Microprocessori Intel a 16 bit , registri dato, registri indice e puntatori, registro dei flag, Organizzazione della memoria, Indirizzi di memoria in 8086, ecc.


DETTAGLI
Corso di laurea: Corso di laurea in ingegneria informatica
SSD:
A.A.: 2013-2014

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Sara F di informazioni apprese con la frequenza delle lezioni di Architetture Sistemi Elaborazione e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Napoli Federico II - Unina o del prof Fadini Bruno.

Acquista con carta o conto PayPal

Scarica il file tutte le volte che vuoi

Paga con un conto PayPal per usufruire della garanzia Soddisfatto o rimborsato

Recensioni
Ti è piaciuto questo appunto? Valutalo!

Altri appunti di Architetture sistemi elaborazione

Architetture Sistemi Elaborazione – Interruzioni
Dispensa
Architetture Sistemi Elaborazione   - Sommatori ASE
Dispensa
Architetture Sistemi Elaborazione -  Moltiplicatori sequenziali unsigned
Dispensa
Architetture Sistemi Elaborazione
Appunto