# Calcolatori elettronici/Intel 8255

Calcolatori elettronici
Copertina Tutti i moduli · Sviluppo
    CopertinaCalcolatori elettronici/Copertina
* L'evoluzione dei sistemi di elaborazioneCalcolatori elettronici/L'evoluzione dei sistemi di elaborazione
* Il progetto di circuiti logiciCalcolatori elettronici/Il progetto di circuiti logici
* I processoriCalcolatori elettronici/I processori
* Architettura 8086Calcolatori elettronici/Architettura 8086
* Unità di controlloCalcolatori elettronici/Unità di controllo
* Introduzione alle memorieCalcolatori elettronici/Introduzione alle memorie
* Le memorie ad accesso casualeCalcolatori elettronici/Le memorie ad accesso casuale
* Le memorie cacheCalcolatori elettronici/Le memorie cache
* Le memorie ad accesso serialeCalcolatori elettronici/Le memorie ad accesso seriale
* La memoria virtualeCalcolatori elettronici/La memoria virtuale
* La gestione dei dispositivi input/outputCalcolatori elettronici/La gestione dei dispositivi input/output
* Intel 8255Calcolatori elettronici/Intel 8255
* Intel 8259Calcolatori elettronici/Intel 8259
* I busCalcolatori elettronici/I bus
* Le architetture a pipelineCalcolatori elettronici/Le architetture a pipeline
* Assembler 8086
          IntroduzioneCalcolatori elettronici/Introduzione
   * Informazioni generaliCalcolatori elettronici/Informazioni generali
   * Istruzioni di trasferimento datiCalcolatori elettronici/Istruzioni di trasferimento dati
   * Istruzioni aritmeticheCalcolatori elettronici/Istruzioni aritmetiche
   * Istruzioni per il controllo del flussoCalcolatori elettronici/Istruzioni per il controllo del flusso
   * Istruzioni per la manipolazione dei bitCalcolatori elettronici/Istruzioni per la manipolazione dei bit
   * Le procedureCalcolatori elettronici/Le procedure
   * Istruzioni per il controllo del processoreCalcolatori elettronici/Istruzioni per il controllo del processore
   * Formato delle istruzioni macchina, tempi di esecuzioneCalcolatori elettronici/Formato delle istruzioni macchina, tempi di esecuzione
Modifica il sommario
L'Intel 8255 è un dispositivo, messo in commercio alla fine degli anni '70, per gestire le interfacce parallele, che permettono il trasferimento di un byte alla volta. Oggi i segnali che erano diretti a tale modulo sono supportati da un modulo inserito nel processore.
Il segnale di enable si chiama Chip Select (CS).
L'interfaccia parallela contiene 4 porte (porta A, porta B, porta C, registro di controllo CW) di parallelismo 8 bit. I primi 18 bit alti degli indirizzi forniti dal processore vengono ignorati (l'8086 ha un ABus su 20 bit), mentre i due bit bassi A0 e A1 identificano il registro su cui operare.

## Modalità

Le periferiche possono lavorare in diverse modalità, forzate da alcuni bit del registro di controllo.

### Modo 0: Basic Input/Output

Il Basic Input/Output non supporta né gli interrupt né i segnali di controllo, e ciascuna porta può essere impostata in input o in output.

#### Vantaggio

    le porte A, B e C possono così essere collegate a 3 periferiche diverse, se queste richiedono ciascuna solo una porta

### Modo 1: Strobed Input/Output

Il Strobed Input/Output supporta l'interrupt tramite la porta C → solo le porte A e B possono venire usate per il trasferimento dati.
L'Intel 8255 può inviare la richiesta di interrupt al processore tramite il segnale INTR.

#### Segnali di controllo tra periferica e Intel 8255
##### Input

* INTE: serve per ignorare temporaneamente le richieste di interrupt;
* STB (strobe): la periferica chiede all'Intel 8255 di caricare internamente il dato fornito dalla periferica;
* IBF: l'Intel 8255 comunica all'esterno che ha acquisito internamente il nuovo dato.

##### Output

* OBF: l'Intel 8255 informa che il dato è pronto per la lettura;
* ACK (acknowledge): la periferica informa che ha finito di acquisire il nuovo dato dall'Intel 8255.

### Modo 2: Bidirectional Input/Output

Il Bidirectional Input/Output supporta segnali che sono un po' in input e un po' in output.
Può essere utilizzata solo la porta A: la porta C si occupa come nel modo 1 dei segnali di input/output (STB, IBF, OBP e ACK).