Lezione 2

Step 2/4

Passo precedenteInizio lezionePasso successivo

L'ALU ed il registro W

 

Andiamo ora ad illustrare altre due componenti fondamentali nell'architettura del PIC, la ALU ed il registro W o accumulatore.

La ALU (acronimo di Arithmetic and Logic Unit ovvero unità aritmentica e logica) è la componente più complessa del PIC in quanto contiene tutta la circuiteria delegata a svolgere le funzioni di calcolo e manipolazione dei dati durante l'esecuzione di un programma.

La ALU è una componente presente in tutti i microprocessori e da essa dipende direttamente la potenza di calcolo del micro stesso.

La ALU del PIC16F84 è in grado di operare su valori ad 8 bit, ovvero valori numerici non più grandi di 255. Esistono microprocessori con ALU a 16, 32, 64 bit e oltre. La famiglia Intel© 80386©, 486© e Pentium© ad esempio dispone di una ALU a 32 bit. Le potenze di calcolo raggiunte da questi micro sono notevolmente superiori a scapito della complessità della circuiteria interna ed accessoria e conseguentemente dello spazio occupato.

Direttamente connesso con la ALU c'è il registro W denominato anche accumulatore. Questo registro consiste di una semplice locazione di memoria in grado di contenere un solo valore a 8 bit.

La differenza sostanziale tra il registro W e le altre locazioni di memoria consiste proprio nel fatto che, per referenziare ill registro W, la ALU non deve fornire nessun indirizzo di memoria, ma può accedere direttamente.

Il registro W viene utilizzato spessissimo nei programmi per PIC.

Facciamo un esempio pratico. Supponiamo di voler inserire nella locazione di memoria 0CH del REGISTER FILE il valore 01H. Cercando tra le istruzioni del PIC ci accorgiamo subito che non esiste un'unica istruzione in grado di effettuare questa operazione ma dobbiamo necessariamente ricorrere all'accumulatore ed usare due istruzioni in sequenza.

Vediamo perché:

Come detto nei passi precedenti, l'opcode di una istruzione non può essere più grande di 14 bit mentre a noi ne servirebbero:

8 bit per specificare il valore che intendiamo inserire nella locazione di memoria,
7 bit per specificare in quale locazione di memoria vogliamo inserire il nostro valore,
6 bit per spcificare quale istruzione intendiamo utilizzare.

per un totale di 8 + 7 + 6 = 21 bit.

Dobbiamo quindi ricorrere a due istruzioni, ovvero:

	movlw	01H
	movwf	0CH

che prima inseriscono nel registro W il valore 01H con l'istruzione MOVe Literal to W e poi lo "muovono" nella locazione 0CH con l'istruzione MOVe W to F.

Nel passo successivo incontreremo il Program Counter e lo Stack che ci aiuteranno a capire come funzionano le istruzioni di salto del PIC.

 
Home page

PICPOINT, SXPOINT and ELETTROSHOP (C) 1997/98 by Andrea Galizia
For comments on this web site, write to webmaster@picpoint.com
Web design by Tiziano Galizia

Pic by example (c) 1997/98 by Sergio Tanzilli & Tiziano Galizia