Calcolatori elettronici/Intel 8255

Wikibooks, manuali e libri di testo liberi.
Jump to navigation Jump to search
CopertinaCalcolatori elettronici/Copertina
  1. L'evoluzione dei sistemi di elaborazioneCalcolatori elettronici/L'evoluzione dei sistemi di elaborazione
  2. Il progetto di circuiti logiciCalcolatori elettronici/Il progetto di circuiti logici
  3. I processoriCalcolatori elettronici/I processori
  4. Architettura 8086Calcolatori elettronici/Architettura 8086
  5. Unità di controlloCalcolatori elettronici/Unità di controllo
  6. Introduzione alle memorieCalcolatori elettronici/Introduzione alle memorie
  7. Le memorie ad accesso casualeCalcolatori elettronici/Le memorie ad accesso casuale
  8. Le memorie cacheCalcolatori elettronici/Le memorie cache
  9. Le memorie ad accesso serialeCalcolatori elettronici/Le memorie ad accesso seriale
  10. La memoria virtualeCalcolatori elettronici/La memoria virtuale
  11. La gestione dei dispositivi input/outputCalcolatori elettronici/La gestione dei dispositivi input/output
  12. Intel 8255Calcolatori elettronici/Intel 8255
  13. Intel 8259Calcolatori elettronici/Intel 8259
  14. I busCalcolatori elettronici/I bus
  15. Le architetture a pipelineCalcolatori elettronici/Le architetture a pipeline
  16. Assembler 8086
IntroduzioneCalcolatori elettronici/Introduzione
  1. Informazioni generaliCalcolatori elettronici/Informazioni generali
  2. Istruzioni di trasferimento datiCalcolatori elettronici/Istruzioni di trasferimento dati
  3. Istruzioni aritmeticheCalcolatori elettronici/Istruzioni aritmetiche
  4. Istruzioni per il controllo del flussoCalcolatori elettronici/Istruzioni per il controllo del flusso
  5. Istruzioni per la manipolazione dei bitCalcolatori elettronici/Istruzioni per la manipolazione dei bit
  6. Le procedureCalcolatori elettronici/Le procedure
  7. Istruzioni per il controllo del processoreCalcolatori elettronici/Istruzioni per il controllo del processore
  8. Formato delle istruzioni macchina, tempi di esecuzioneCalcolatori elettronici/Formato delle istruzioni macchina, tempi di esecuzione

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à[modifica]

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

Modo 0: Basic Input/Output[modifica]

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[modifica]

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[modifica]

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[modifica]

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).