Sartomiki.net

  • Aumenta dimensione caratteri
  • Dimensione caratteri predefinita
  • Diminuisci dimensione caratteri
Home Appunti Sistemi a microprocessori Registri di Pentium

Registri di Pentium

E-mail Stampa PDF
Valutazione attuale: / 2
ScarsoOttimo 

Generalità
Il Pentium è caratterizzato da un'architettura nativa a 32bit per quanto riguarda i registri dati e l'indirizzamento, anche se nelle ultime versioni la parte di indirizzamento è stata estesa a 64bit. Per mantenere la compatibilità con le famiglie Intel precedenti, è possibile realizzare un'architettura a 16bit.
Come già detto è in grado di operare in due modi fondamentali:
-modo reale, che emula l'hardware dell'8086 e integrando la visibilità dei registri a 32/64 bit. Questa modalità si avvia nel momento del reset ed è quindi nativo del BIOS. E' possibile attivare questa modalità anche quando si opera in modo protetto, attivando un processo specifico.
-modo protetto, che realizza l'architettura a 32/64 bit, nella quale operano i sistemi operativi.

Registri
I registri si possono dividere in 4 gruppi principali, a seconda dei dati che hanno il compito di contenere:
-registri di dato. Essi sono EAX (registro accumulator), EBX (registro base), ECX (registro count), EDX (registro data), ESI, EDI, EBP. Essi possono essere utilizzati anche solo parzialmente (AX (a 16bit), AH, AL (a 8bit)). Essi sono utilizzati per memorizzare i risultati delle operazioni e gli operandi. EBX può essere utilizzato nel calcolo degli indirizzi, mentre ECX viene utilizzato da alcune istruzioni come registro contatore. DX viene utilizzato nelle istruzioni di I/O.
-registri puntatore (di indirizzo). Essi sono:
--EIP (puntatore Instruction), contiene l'indirizzo all'istruzione che deve essere eseguita. Esso è trasparente al programmatore, in quanto non può comparire esplicitamente come operando.
--ESP (puntatore stack), contiene il puntatore alla testa dello stack.
--EBP (puntatore base), viene utilizzato per accedere ad un elemento dello stack.
--ESI (puntatore source) ed EDI (puntatore destination), vengono utilizzati come indici.
-registri di segmento. Essi sono ECS (puntatore ad un segmento di codice), EDS (puntatore ad un segmento di dato), EES (puntatore ad un altro segmento di dato), ESS (puntatore ad un segmento di stack). Questi registri servono a costruire gli indirizzi fisici, con i quali accedere alla memoria.
-registro di controllo PSW. Al suo interno sono presenti diversi flag, che si dividono in due categorie:
--di condizione, che vengono scritti al termine dell'esecuzione di un'operazione
---SF (flag sin), che coincide con il bit più significativo del risultato di un'operazione aritmetica.
---ZF (flag zero), indica se il risultato è nullo
---PF (flag parity), indica se il numero degli ultimi 8bit del risultato è pari (1) o dispari (0)
---CF (flag carry), indica se c'è stato riporto (somma), prestito (sottrazione) o altro.
---AF (flag auxiliary carry), ha funzione simile al precedente, usato nell'aritmetica BCD.
---OF (flag overflow), indica se c'è stato overflow.
--di controllo, possono essere scritti da alcune istruzioni e servono a regolare il funzionamento del processore.
--DF (direction flag), utile per la manipolazioni di stringhe. A seconda del valore indicato esse vengono manipolate dall'indirizzo minore (0) o dall'indirizzo maggiore (1).
--IF (interrupt flag), serve per fare in modo che gli interrupt mascherabili siano percepiti dal processore (1), oppure ignorati (0).
--TF (trap flag), serve a eseguire una trap al termine delle istruzioni (1), oppure no (0).

Registri dedicati
Nell'architettura 80x86 oltre ai normali registri ne sono presenti altri, inseriti in unità apposite. Queste unità sono state inserite per gestire le BitMap (MMX e SSE) e i numeri in floating point (FPU e SSE).
-FPU anche detto coprocessore matematico, esegue operazioni in virgola fissa e in floating point riguardanti funzioni trascendentali e trigonometriche. Esistono funzioni specifiche (FCOS, FSIN, FADD,…) per gestire la FPU. Questa unità è molto complicata ed è di fatto un vero e proprio processore, con una sua unità di controllo e di decodifica. Ha un'architettura di tipo stack (si accede ai registri in questo modo). La FPU è composta da una parte che gestisce la mantissa e una che gestisce l'esponente.
I registri utilizzati da questa unità sono:
--FPU Registers Stack (80b). Essi possono essere anche divisi in:
---single. 32 bit (1 di segno, 23 mantissa, 8 esponente)
---double. 32 bit (1 di segno, 52 mantissa, 11 esponente)
---extended. 80 bit (1 di segno, 64 mantissa, 15 esponente)
--FPU IP (48b)
--FPU Data Pointer (48b)
--FPU Control, Status, Tag Register (16b)
--FPU Opcode Register (11b)
-MMX (MultiMedia eXtension) è una componentistica che permette di elaborare blocchi da 64bit. E' utile quando si devono gestire applicazioni grafiche. Anche per questo apparato sono disponibili registri appositi e istruzioni dedicate. In principio i registri coincidevano con quelli dell'unità FPU. Allo stato attuale, invece, ci sono 8 registri da 64 bit, tutti trattabili in diversi modi. Ad esempio con il packet byte il registro è suddiviso in 8 elementi omogenei. In questo modo è possibile cambiare il colore di una linea in parallelo. L'MMX gestisce sequenze di bit, non numeri. E' quindi impossibile separare i bit di segno e di modulo. Questi problemi sono risolti dall'SSE
-SSE (Streaming SIMD Extension) estende la tecnologia MMX, per lavorare con valori floating point da 128b. Anche in questo caso ci sono registri e istruzioni dedicate. Permette di gestire più operandi in parallelo. I formati di numero che la SSE è in grado di gestire sono gli stessi usati dai normali elaboratori. Grazie a SSE è possibile realizzare features vettoriali, ad esempio è possibile eseguire la somma di due vettori molto velocemente.


blog comments powered by Disqus
 

http://sartomiki.net/modules/mod_fuofb/assets/it/find-us-on-facebook-1.png

Follow me

Amici

Chi è online

 17 visitatori online

Siti amici

Banner

Notizie flash

Da oggi avete la possibilità di commentare tutti gli articoli presenti sul sito!! Scrivete le vostre opinioni!

PUBBLICITA'