vuoi
o PayPal
tutte le volte che vuoi
Collegamento dei fili e l'importanza della corrispondenza perfetta
Ogni filo viene collegato ad una diversa entrata del dispositivo delle informazioni e ad ogni apertura corrisponde un'informazione ben precisa. Porre un filo in un'entrata in modo scorretto, provocherebbe il non funzionamento della periferica. Pertanto tra registri di controllo, fili ed entrata per la ricezione dei dati ci deve essere una corrispondenza biunivoca oltre che perfetta.
Affinché il collegamento avvenga correttamente, l'impianto hardware deve avere un supporto software, solitamente fornito dai cosiddetti driver.
Il driver è un programma, che ha come obiettivo la scrittura dei registri e fornire il protocollo.
Simulazione dell'azione di un driver
Proviamo a simulare l'azione di un driver. Supponiamo di voler stampare una determinata stringa di caratteri. Affinché la stampa avvenga abbiamo bisogno che la stampante sia accesa, che non sia impegnata in un'altra operazione di stampa, che vi sia la carta... il tutto viene rilevato quando la stampante è accesa.
attraverso il registro di controllo.#7 stampante pronta
controllo
Preoccupiamoci di verificare solo se la stampante è pronta e se non è impegnata in un'operazione di stampa di un altro carattere. Se all'interno del registro 7 c'è il valore 1, allora la stampante è pronta per eseguire l'operazione altrimenti deve attendere sino a che il suo valore permane 0.
#0, CSMOVE.B
*Inizializzazione dei registri
#1, CSMOVE.B
L1
#7, CSBTST
*testa il bit del registro numero 7
L1
BEQ
*fin quando permane 0 opera il confronto.
Per verificare quando il registro assume il valore 1, viene utilizzato il codice operativo BTST.
Se per scrivere i driver si utilizzano gli stessi codici operativi della memoria, allora si dice che viene fatto uso di un sistema memory mapped, dove tutto ciò che è lecito fare sulla memoria, è possibile fare sulle periferiche. Viceversa se si adoperano dei codici operativi particolari dedicati all'I/O, allora il sistemautilizzato prende il nome di I/Omapped, la memoria è organizzata in modo più omogeneo ed è più efficiente, sebbene sia necessario rinunciare all'ortogonalità del processore. Dunque un driver è in generale un programma semplice, che ha l'onere di produrre segnali in accordo con le caratteristiche del protocollo. Domanda - Cosa è necessario sapere per poter produrre un driver? Per poter scrivere un driver funzionante, c'è la necessità di sapere dove fisicamente sono collocati i registri di dato, controllo e stato, poiché ad ogni bit memorizzato corrisponde una precisa informazione e non altre.
- stampante pronta
- stampante pronta
- controllo presenza carta
- controllo presenza carta
- stampante A
- stampante B
La stampante non sarebbe adatta per la seconda e viceversa. Inoltre è importante essere a conoscenza del protocollo, in quanto bisogna conoscere i segnali che devono essere gestiti e quali sono i bit interessati dal protocollo.