Sei sulla pagina 1di 2

Ripasso per compito su architetture:

Famiglie di processori: sono quelle serie di processori cui successori mantengono la retrocompatibilit con i
predecessori. Il leader del mercato attuale per i pc la intel con i suoi x86 mentre altre architetture (quali arm e
tegra) spopolano su dispositivi mobili.
La famiglia x86: il capostipite fu l'8086 il primo microprocessore a 16bit prodotto nel '78 dalla intel per il primo pc
della IBM.
Seguirono 80286, 80386(32bit), 80486, pentium I/II/III/IV(64bit), core duo/quad/i3/i5/i7.
La categoria di queste architetture si dividono in base ai bit dei registri generali presenti all'interno dei processori:
IA-32 (intel architecture 32bit)
IA-32e (...extended, a 64bit) o EM64T(extended Memory 64 tecnology)
Con la miniaturizzazione dell'elettronica e l'aumento dei transistor all'interno dei processori andata aumentando
la loro prestazione
8086

Nella sua prima incarnazione ha un clock di 8mhz e la capacit di gestire max 1mb di ram (20bit addr bus).
Il processore si divide in due parti che possono svolgere i loro compiti in parallelo:
la BIU (bus interface unit) che si occupa di reperire le istruzioni in una coda di prefetch (instruction queue)
che contiene le istruzioni successive a quella attualmente in esecuzione
la EU (execution unit) che esegue le istruzioni prelevate dalla coda di prefetch riempita dalla precedente
Caratteristiche
CPU 8086 Pin 40
Arch P1 Pin Multiplex
Anno 1978 AddrBus 20bit
clock 8Mhz DataBus 16bit
Transt 29000 Reg16 14 4=8+8
Espand Com Mate SetIstr 70
I pin multiplexati del bus esterno, cio in gradi di trattare sia dati che indirizzi in modo alterno, sono stati creati
per semplificare ed economizzare il progetto della scheda madre.
sudivisione 14 registri 16bit:
EXECUTION UNIT:
1. registri generali:
AX [AH|AL]
BX [BH|BL] ad uso generico, contengono tipicamente
CX [CH|XL] gli operandi delle istruzioni.
DX [DH|DL]
2. registri puntatori(sempre generali):
SI source indx
DI destin indx indirizzano i vettori
BP base point
SP stack point indirizzano lo stack
3. flags:
bit di stato o di controllo relative all'esecuzione del programma, esempi: OF(overflow) CF(carry) SF(segno)
ZF(zero)
BUS INTERFACE UNIT:
4. registri segmento
CS code sgm istruzion queste aree contengono i
DS data sgm variabili rispett segmenti o l'indirizzo
SS stack sgm stack di memoria dove essi risiedono
Es extra sgm var extra il segment degli ind.logici
5. instruction pointer (program counter)
IP contatore che indirizza alla prossima istruzione, rappresenta l'offset degli indirizzi logici
segmentazione della memoria:
Il processore 8086 pur avendo dei registri a 16bit possiede un address bus da 20bit in grado di indirizzare 1mb di

memoria.
Per ottenere un indirizzo fisico (o lineare) da 20bit questo processore effettua delle operazioni su un indirizzo
logico composto da due parti, segment:offset (registro_segmento:ip), in questo modo:
ind fisico bin = (bit_segment*10000)+bit_offset
ind fisico esa = (hex_segment*10)+hex_offset
Il segment l'indirizzo iniziale contenuto in un registro di segmento, e l'offset lo spostamento determinato
dal'programcounter relativo a questo segmento.
IA-32 o i386

Nel '85 la intel pass all'architettura a 32bit con l'80386.


Questo passaggio ha soddisfatto la principale necessit di poter utilizzare il multitasking, cio pi di un
applicazione contemporaneamente.
suddivisione 16 registri IA-32:
Tutti i registri (generali, puntatori, stato, ip) eccetto quelli di segmento vengono estesi a 32bit aggiungendo il
prefisso E per contraddistinguere la parte intera a 32bit dalle retrocombatibili suddivisioni.
Vengono aggiunti i due registri di segmento a 16bit FG e GS (successivi afabeticamente a quello extra).
Questi registri non contengono pi l'indirizzo del segmento (del tipo relativo), ma l'indirizzo ad una tabella di
descrittori di segmento risiedente in ram e contenente tutte le informazioni del segmento tra qui il suo
indirizzo e la sua dimensione.
ambiente di esecuzione IA-32:
Oltre all'aggiornamento dei precedenti registri ne sono stati introdotti dei nuovi relativi alla FPU (float point unit),
alle nuove istruzioni multimediali (MMX, XMM, SSE) ed altri riservati alla gestione da parte del sistema operativo.
modalit operative IA-32:
In base ad un bit del registro di controllo nei flags il processore pu passare dalla modalit reale a quella protetta
(e anche in virtual-8086 mode per programmi a 16bit su modalit a 32 o in SMM, system managment mode per il
risparmio energetico):
Quella reale fa funzionare il processore come se fosse ad architettura a 16bit solo pi velocemente (maggiore
clock), garantisce la compatibilit con il software 8086
registri a 16 bit
1MB RAM indirizzabile (64KB_segment:16bit_offset)
Quella protetta fa funzionare il processore alle piene potenzialit di un architettura a 32bit introducendo
meccanismi di sicurezza al supporto del multitasking (pi progrmami avviati contemporaneamente).
registri a 32 bit
4GB RAM indirizzabile
privilegi di esecuzione (0=so, 1,2=servizi, 3=applicazioni)
modello segmentato di memoria in modalit protetta:
I registri di segmento come abbiamo visto sono rimasti a 16bit.
La parte iniziale dell'indirizzo lineare (segment:offset) questa volta non conterr direttamente l'indirizzo inziale del
segmento(come in modalit reale) ma riferir a sua volta ad un descrittore di 64bit presente in memoria ram
contentente:
1.
2.
3.
4.
5.

indirizzo iniziale segmento (32bit e non pi a 20)


dimensione del segmento (20bit)
tipo di segmento (4bit dati/codice lett/scritt/exec)
tipo di descrittore (1bit so o applicazione)
privilegio (2bit 0,1,2,3)

Sommando l'indirizzo iniziale li presente all'offset si otterr l'indirizzo fisico (sempre di 32bit???).
IA-32e o EM64T

Non si chiamano IA-64 perch questa sigla gi stata utilizzata per processori "itanium" non facenti parte della
famiglia x86. Il primo rappresentante intel di quella famiglia fu un Pentium IV nel 2004.
Questo passaggio ha soddisfatto la principale necessit di poter indirizzare pi memoria (ram).
suddivisione 24 registri:
Tutti i registri (generali, puntatori, stato, ip) eccetto quelli di segmento vengono estesi a 64bit aggiungendo il
prefisso X al posto di E per contraddistinguere la parte intera a 64bit.
aggiunge 8 nuovi registri generali (R8-R15 seguendo numericamente i primi) che consentono di usare pi
operandi contemporaneamente nel processore limitando l'accesso alla ram.
conseguenze di questi registri pi grandi sono la possibilit di gestire numeri interi a 64bit in modo nativo
Il codice eseguibile compilato a 64bit, avendo variabili e puntatori pi grandi diventa a sua volta un po' pi
grande.

Potrebbero piacerti anche