 | Analizzando in modo più approfondito le
informazioni di questo registro annotiamo:
 | bit0÷bit2:
sono importanti per riprendere correttamente la
trasmissione quando si verifica un errore (ripristino
dell'Host). Il problema sta nel fatto che la
porta d'uscita (Host)
è a 8 bit mentre le istruzioni di
I/O possono essere anche a 16 o 32
bit.
Se il nostro programma fa uso di queste istruzioni solo
un byte alla volta (dei 2, 4) può essere
trasmesso, così la lettura dei 2 bit meno significativi (bit0÷bit1)
può comunicargli quanti bytes devono ancora essere trasmessi (cioè
quanti sono ancora in giacenza nel buffer FIFO); numero di bytes ancora
in giacenza nel buffer FIFO.
La gestione ottimale del problema prevede inoltre la conoscenza del modo
di gestione di questi eventuali bytes in giacenza: il
bit2 ha proprio il compito di segnalare se la presenza di bytes nel
registro (FIFO) di trasmissione è tollerata (=0) oppure no (=1). |
 | bit4÷bit6:
questo dato caratterizza fortemente la scheda che implementa la ECP;
questi 3 bit indicano la larghezza interna
del bus di ricetrasmissione e, quindi, la massima
dimensione della parola da spedire sulla porta; solitamente
il bus interno è a 8 bit, ma alcuni modelli possono offrire anche
bus a 16 o a 32 bit. La lettura preventiva di questi bit assicura il
più efficiente del nostro dispositivo. |
 | bit7:
è importante per sapere in che modo vogliamo produrre l'eventuale
richiesta di interruzione, in funzione del tipo di bus che viene
coinvolto (ricordiamo la descrizione delle
tecniche
d'interruzione). |
|