19.05.2013 Views

Facoltà di Ingegneria Tesi di laurea ANALISI DELLE TECNOLOGIE ...

Facoltà di Ingegneria Tesi di laurea ANALISI DELLE TECNOLOGIE ...

Facoltà di Ingegneria Tesi di laurea ANALISI DELLE TECNOLOGIE ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

L’Intel 8086 aveva 14 registri <strong>di</strong> 16-bit: quattro <strong>di</strong> essi (AX,BX,CX,DX) sono general-<br />

purpose registers (GPRs) e vi si può accedere con 2 byte separati (BH e BL per esempio); ci<br />

sono due pointer registers, SP che punta alla sommità dello stack e BP che viene usato per<br />

puntare in un’altra zona dello stack; due registri SI e DI sono per array indexing; quattro<br />

segment registers (CS,DS,SS,ES) sono usati per formare un in<strong>di</strong>rizzo <strong>di</strong> memoria; il flags<br />

register contiene flags come il carry flag, l’overflow flag e lo zero flag; l’IP (instruction<br />

pointer) punta alla prossima istruzione che verrà presa dalla memoria per essere eseguita.<br />

Con l’arrivo del modello 80386 nel 1985, Intel estese l’architettura a 32 bit (questa<br />

architettura è detta anche IA-32) e per le due deca<strong>di</strong> successive l’architettura base a 32 bit<br />

rimase la stessa, salvo alcune aggiunte e nuove caratteristiche, come nuovi registri e nuove<br />

unità <strong>di</strong> supporto alla CPU. Nel 2003, AMD ha introdotto l’estensione a 64-bit<br />

dell’architettura x86 (AMD64), seguita nel 2004 da Intel con la IA-32e.<br />

Nella versione a 32-bit, tutti i registri, tranne i segment registers, sono estesi a 32 bit, e ciò è<br />

rappresentato con il prefisso “E” nel nome del registro (ad esempio, al registro AX a 16 bit<br />

corrisponde il registro EAX a 32 bit); vengono aggiunti due segment registers (FS e GS) e una<br />

floating-point unit (FPU).<br />

Nei processori a 64-bit, i registri sono estesi da 32 a 64 bit, e ciò si rappresenta con il prefisso<br />

“R” nel nome del registro (per esempio RAX è il registro AX esteso a 64 bit).<br />

I processori basati sull’8086 hanno due modalità operative fondamentali: real mode (user<br />

mode) e protected mode (kernel mode).<br />

Il real mode è caratterizzato da uno spazio d’in<strong>di</strong>rizzamento <strong>di</strong> memoria segmentato in 20 bit<br />

(può essere in<strong>di</strong>rizzato solo 1 MB <strong>di</strong> memoria) e dalla mancanza <strong>di</strong> protezione della memoria<br />

e <strong>di</strong> multitasking a livello hardware. Le applicazioni vengono eseguite in questa modalità e<br />

possono usare l’hardware attraverso le system calls.<br />

Il protected mode espande la memoria fisica in<strong>di</strong>rizzabile a 16 MB e quella virtuale a 1 GB,<br />

fornendo la protezione della memoria per evitare che i programmi si possano danneggiare tra<br />

loro. E’ possibile eseguire le istruzioni <strong>di</strong> CPU, incluse quelle privilegiate (interruzioni,<br />

gestione <strong>di</strong> memoria, I/O) [15].<br />

Le modalità user/kernel sono basate sul fatto che la memoria RAM è <strong>di</strong>visa in pagine: prima<br />

che un’istruzione privilegiata venga eseguita, la CPU prima controlla se la pagina da cui si<br />

origina l’istruzione abbia il giusto co<strong>di</strong>ce a 2 bit. Le istruzioni più privilegiate richiedono un<br />

28

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!