Sezione |
Indirizzi Base
Registri Interni
|
Capitolo 1 |
Il Processore e il Debugger |
PROCESSORE 80x86 7/14 [18 di 60] |
|
|
|
La struttura interna di un processore è relativamente complessa ma la logica che lo governa rende facile la comprensione delle sue parti; nelle pagine successive analizzeremo in dettaglio lo schema funzionale (architettura) del glorioso 8086, nostro punto di riferimento per la futura fase della programmazione in Assembly. | |
Possiamo anticipare che ogni processore è costituito essenzialmente da 2 parti, rispettivamente specializzate nella gestione dei dati (interfaccia con i bus) e nella loro elaborazione (unità di esecuzione); in entrambe entrano pesantemente in gioco i suoi Registri interni, una struttura tra le più importanti e tipiche di una CPU. | |
Per questa ragione è conveniente descriverli e conoscerli dettagliatamente, al fine di rendere più agevoli le analisi proposte nelle pagine future. |
|
Un microprocessore è chiamato ad elaborare informazioni assunte dall'esterno e, per poterlo fare ha bisogno di un suo taccuino d'appunti personale: chiunque di noi memorizza sulla carta gli operandi di una addizione e poi diligentemente ne somma le cifre in colonna, fino a ricostruire il risultato, su una riga sottostante... | |
Il processore (... fatto a immagine e somiglianza del suo creatore) non è da meno: ha bisogno di memorizzare temporaneamente gli operandi dentro di se, in attesa che qualcuno li prenda in considerazione e ricostruisca il risultato dell'operazione richiesta. | |
Le locazioni di memoria personali del processore hanno il nome di Registri. |
|
I Registri sono locazioni di memoria ultraveloci (hanno la velocità del clock) in stretto contatto con tutte le altre parti della CPU a cui appartengono, con le quali interagiscono al fine di elaborare i dati pervenuti o organizzare il loro smistamento. |
|
Dunque i registri sono una risorsa di enorme valore, anche come semplice deposito dati: il programmatore assembly (... cioè noi) può disporre di punti di memorizzazione direttamente sul posto della loro elaborazione, in alternativa a quelli classici disponibili in RAM; è chiaro che il dato di un registro è disponibile subito, mentre quello della RAM deve essere da essa prelevato e portato dentro, con notevole differenza sui tempi d'esecuzione. | |
Purtroppo il loro numero è piuttosto piccolo (non ce n'è mai abbastanza, .. vecchio piagnisteo dei programmatori...) ma con una saggia amministrazione ed un corretto utilizzo la programmazione non può che trarne grande vantaggio. |
|
Il controllo dei registri si esercita attraverso le istruzioni , per esempio quelle di scambio (come MOV AL,AH ) o quelle aritmetiche (come ADD AX,BX ) o quelle logiche (come XOR DI,SI ); la conoscenza del set delle istruzioni aiuta ad usare bene i singoli registri, al fine di accoppiarli ai compiti per i quali sono meglio predisposti. |
|
I Registri sono, di norma, specializzati, cioè sono in grado di compiere al meglio certe operazioni anziché altre; usare un registro diverso da quello specializzato non vanifica l'operazione (istruzione) desiderata ma la rende meno efficiente e più costosa, nel senso che il programma finale avrà tempi d'esecuzione più elevati ed occuperà più spazio in memoria). |
|
Il numero e la dimensione dei registri si sono evoluti con la storia dei processori, come la disponibilità di nuove istruzioni; di norma la dimensione di un registro è quella del bus interno della CPU alla quale appartengono. In contrapposizione con i registri a 16 bit del patriarca 8086 (che cominceremo a conoscere tra poco...) vanno tenuti nel dovuto conto quelli a 32 bit delle ultime generazioni. | |
In ogni caso i vecchi registri a 16 bit sono ancora perfettamente riconosciuti e ampiamente utilizzati nella programmazione; nelle nuove architetture sono da ritenersi un sottoinsieme dei nuovi (più esattamente la loro parte bassa). | |
Per questa ragione lo studio e l'utilizzo dei registri a 16 bit rimane del tutto legittimo e didatticamente valido: spetterà al lettore sperimentare le nuove istruzioni a 32 bit (certamente più potenti e, forse, un po' più impegnative) al termine degli esperimenti condotti e suggeriti da questo Tutorial. | |
Nelle pagine successive spingeremo a fondo la conoscenza dei 14 gloriosi registri a 16 bit dell'8086. |
|
Capitolo 1 | PROCESSORE 80x86 7/14 | |||||||
18 di 60 |
|
|
|
|
Home |
|
|||||||
|
Motore Ricerca |
|