Tutorial → PIC18 →
Assembly → La struttura hardware

Il PIC18 è un microcontrollore a 8 bit, disponibile in molti contenitori
diversi e in qualche centinaio di varianti (quantità di memoria, tipo di
periferiche interne, tensioni alimentazione, velocità, consumo...). Per esempio la fotografia di
apertura di questa pagina mostra un PIC18F26K20 in contenitore DIP plastico,
saldato ad un circuito stampato.

Le dimensioni del componente mostrato sono quelle tipiche dei circuiti
integrati più facili da utilizzate su breadboard; la dimensione (e) è pari a
2,54 mm (0,1 in) e la dimensione E1 è pari a 7,62 mm (0,3 in).
Ogni piedino può avere svariate funzioni. Tra quelli fondamentali:
- VSS, la massa (ground oppure GND). A volte sono presenti più piedini con questa
funzione
- VDD, la tensione di alimentazione, in genere di 3,3 V (nota
1). A volte sono presenti più piedini con questa funzione
Nella figura seguente è riportato il pin-out, cioè la numerazione ed il
nome dei vari piedini. Si notino le convenzioni usate per:
- la numerazione dei piedini
- individuare visivamente il pin numero 1

Quello che più ci interessa in questo momento è la struttura interna del
PIC18, rappresentata da uno schema piuttosto complesso, qui ripreso da una
delle prima pagine dei
fogli tecnici:

Alcuni aspetti interessati da osservare:
- Sono presenti due memorie, una per i
dati ed una per le istruzioni (nota 2): non si tratta
infatti di un microcontrollore con
architettura di von Neumann (o Princeton), ma di uno con
architettura
Harvard. In particolare:
- La memoria per i dati è una RAM, quindi volatile, costituita da un numero variabile di
celle da 8 bit ciascuna; a seconda della versione del PIC la RAM
arriva ad un massimo di circa 4000 celle (4 kB).
Nella documentazione ufficiale è spesso indicata come File
Registers oppure Data Memory. Nella figura seguente è
evidenziata in giallo
- La memoria per le istruzioni è una memoria flash (non volatile), suddivisa, a seconda
della versione del PIC, in alcune decine di migliaia di celle da 16
bit ciascuna. Nella documentazione ufficiale è spesso indicata come
Program memory. In figura è evidenziata in rosso

- In verde è evidenziato il Program Counter (PC). Lasciando
perdere i dettagli della sua struttura interna, è costituito da un
registro a 20 bit, capace di indirizzare quindi fino ad un massimo di 220
celle di memoria programma da 2 byte ciscuna (quindi 2 MB)
- Nella figura seguente è evidenziato in violetto il registro W
(a volte indicato con WREG o Working Register, quello che in altre architetture è
spesso chiamato accumulatore) e in azzurro
l'Unità Aritmetico/Logica (ALU). Tutti gli elementi di questo blocco
hanno ampiezza 8 bit, il che giustifica la classificazione di questo
microcontrollore come dispositivo a 8 bit

Quesiti
- Da quanti bit è costituito il data bus? (nota: è una
domanda ambigua, prima di rispondere individuare tale ambiguità)
- Da quanti bit è costituito l'address bus? (nota: domanda
ambigua...)
Note
- La tensione di alimentazione dipende dal modello di PIC ed in genere
è compresa tra 1,8 V e 5.0 V
- In realtà sono presenti anche altri tipi di memoria, qui non
discussi
Data di creazione di questa pagina: gennaio 2017
Ultima modifica di questa pagina: 5 ottobre 2017