Il microprocessore è il componente fondamentale di una grande quantità di dispositivi: dalla lavatrice, alle schede ad iniezione elettronica delle auto, agli antifurto, ai PLC, ai computer.
Esso è un dispositivo elettronico che presenta ingressi ed uscite che sono segnali elettrici; è però programmabile, cioè se ne può modificare il comportamento (inteso come reazione delle uscite agli ingressi) impartendogli istruzioni. Scegliendo opportunamente le realtà fisiche che, opportunamente trasformate in segnali elettrici, facciamo diventare ingressi, e le realtà fisiche che, attraverso opportune interfacce, comandiamo con i segnali di uscita del microprocessore, gli possiamo far fare praticamente di tutto: dal controllo di una centrale nucleare, alla visione di un film sul video del computer (voi siete esperti, vero!), a farci ascoltare una bellissima canzone di Nino d’Angelo comandando una cassa, alla guida di un missile, ecc.
Vediamo lo schema di principio di una scheda a microprocessore
Il blocco denominato CPU (Central Processing Unit) è il nostro microprocessore, il quale necessita di un blocco memoria in cui vanno conservati il programma (l’insieme delle istruzioni da eseguire) ed eventuali dati prodotto delle elaborazioni del microprocessore stesso. Il microprocessore deve poi interagire con l’ambiente esterno per cui necessita di oggetti che gli consentano di ricevere o fornire informazioni all’esterno: esempi sono la tastiera, il mouse, la stampante, il video, per il computer; la sirena e i sensori per una scheda a microprocessore; i motori comandati in un impianto industriale.
Si rendono allora necessari dispositivi di interfaccia con questi oggetti esterni che abbiamo indicato con il blocco IO (Input/Output). Questo schema di organizzazione prende il nome di modello di von Neumann dal nome dello scienziato che ideoò il primo modello organizzativo di un computer.
Questo modello teorico presenta, però, il lato negativo della scarsa espansibilità. Poiché abbiamo concettualmente tante interconnessioni quanti sono i blocchi da collegare alla CPU diventa complessa l’introduzione di nuovi dispositivi nella scheda.
Si preferisce invece avere una organizzazione come quella rappresentata nella figura precedente detta a bus o bus oriented. In sostanza esiste un percorso all’interno della scheda (potete immaginarvelo mentalmente come una strada) all’interno del quale possono viaggiare le informazioni sotto forma di segnali elettrici al quale vengono collegati tutti i dispositivi presenti sulla scheda.
All’interno di un computer la situazione è leggermente più complessa ma concettualmente identica
L’espansione delle schede a microprocessore diventa allora molto più semplice poiché l’introduzione di un nuovo dispositivo non necessita della realizzazione di collegamenti elettrici dedicati per la comunicazione fra CPU e nuovo dispositivo ma basta collegare quest’ultimo al bus. In pratica la scheda a microprocessore (motherboard o scheda madre per i PC) è dotata di particolari alloggiamenti detti slot che consentono di creare rapidamente collegamenti elettrici con il bus
I dispositivi che si vogliono collegare alla scheda debbono essere dotati di connessioni a pettine da incastrare negli slot creando automaticamente le connessioni elettriche richieste.
Si ha però un problema detto del conflitto sul bus. Ricordiamo che abbiamo diversi dispositivi connessi elettricamente al bus come nella figura seguente. Immaginiamo che i due dispositivi tentino contemporaneamente di inviare informazioni al microprocessore. In realtà essi tentano di impostare un valore di tensione su ogni linea elettrica del bus (tipicamente un valore di tensione prossimo allo zero per indicare il valor logico 0 e un valore di tensione [dipendente dallo standard utilizzato] per indicare il valore logico 1). E’ evidente che, di fronte a tentativi di inviare dati discordanti, vi sarà una degradazione delle informazioni: se, ad esempio, il primo dispositivo tenta di portare a massa la linea D0 per trasmettere il bit 0 al microprocessore e l’altro tenta invece di portarla a 5 volt per trasmettere il bit 1 probabilmente si istaurerà un valore di tensione intermedio sulla linea che il microprocessore non sarà in grado di interpretare in modo corretto.
Per questo motivo tutti i dispositivi pensati per poter essere collegati da una
scheda a bus devono avere le linee di uscita di tipo three-state,
che possiamo schematizzare come nella figura seguente
|
Abbiamo due interruttori ( che schematizzano i circuiti interni di interfaccia al bus) che regolano lo smistamento delle informazioni con l’esterno. Se l’interruttore superiore è chiuso le informazioni possono passare dal bus al dispositivo, se è chiuso l’interruttore inferiore le informazioni passano dall’interno all’esterno, se sono aperti entrambi gli interruttori il dispositivo è isolato elettricamente dalla linea del bus.
Mediante questo sistema un circuito master presente sulla scheda (in genere lo stesso microprocessore) decide quali dispositivi si possono collegare al bus inviando loro un segnale di abilitazione ed evitando il conflitto sul bus.