171555329 controllers

Controller I/O

Un controller I/O collega dispositivi di ingresso e uscita (I/O) al sistema bus di un'unità di elaborazione centrale (CPU) e , generalmente, comunica con la CPU e con la memoria di sistema sul bus di sistema ed è in grado di controllare un gran numero di dispositivi. Il controllo è di norma inizializzato dalla CPU, che invia istruzioni al controller I/O relative al modo in cui i dispositivi periferici e i segnali collegati ad esso devono essere gestiti.
 
I controller I/O dispongono di funzionalità apposite per la gestione delle richieste di interazione e controllo dei dispositivi periferici incluse, la capacità di azionare i dispositivi con il livello di tensione corretto e con lo standard di interfaccia giusto, e la capacità di collegarsi ai dispositivi con il protocollo corretto. La comunicazione e il controllo delle periferiche possono essere una funzione temporale molto critica. Anche l'interfacciare l'ingresso e l'uscita può essere un compito così complesso da essere impossibile o impraticabile per una CPU. In molti casi, la CPU non è in grado di occuparsi delle esigenze fisiche speciali dell'interfaccia I/O. Delegare questo processo a un controller I/O consente di migliorare le prestazioni e la flessibilità della CPU.
 
I controller I/O possono elaborare semplici ingressi o uscite di livello logico, come nel caso dell'azionamento dello stato di un LED, o rilevare la presenza di un pulsante premuto. Possono essere necessari anche per misurare il tempo trascorso tra eventi logici, o per eseguire il condizionamento del segnale (come nell'esempio del debouncing di un tasto premuto su una tastiera). Possono essere utilizzati per produrre forme d'onda periodiche come PWM che possono essere usate per controllare cose come la velocità della ventola della CPU. I controller hanno anche la capacità di implementare diversi standard di interconnessione delle periferiche, come le interfacce seriali, e sono in grado di indirizzare e trasferire i dati a e da i dispositivi. Tali interfacce comprendono USB, SPI, UART e una vasta gamma di altri standard. Inoltre, possono includere interfacce di tipo USB2, USB3 e SATA con prestazioni maggiori, sebbene queste tendono ad essere dotate di controller dedicati.
 
In molti casi il controller I/O mappa le periferiche negli spazi di indirizzamento del sistema e gestisce il trasferimento dei dati attraverso la memoria ad accesso diretto (DMA) alla memoria di sistema dei processori. I controller I/O possono essere configurati allo scopo di indicare quando si verificano determinati eventi o trasferimenti utilizzando segnali speciali chiamati interruzioni. Quando una CPU riceve un'interruzione sa che un'attività è stata completata, un evento relativo all'I/O si è verificato e dei dati sono stati trasferiti e possono richiedere l'attenzione.
 
Molti microprocessori e microcontroller moderni presentano controller I/O incorporati al loro interno per ridurre i costi e le dimensioni. Questi vengono usati in applicazioni integrate e per scopi speciali (ad esempio, cellulari) in cui i requisiti I/O sono fissi, o tendono ad avere requisiti simili.
Continua a leggere Meno informazioni